보안의 필요를 알기 위해서는 해킹에 대한 이해가 필요하다. 해킹은 컴퓨터 시스템 또는 네트워크에 불법적으로 접근하거나 제어하기 위해 사용되는 기술 또는 활동을 의미한다. 해커는 개인 정보를 탈취하거나 변조하고, 시스템을 마비시키는 등의 행위를 할 수 있다. 이러한 해킹을 하기 위해 해커는 시스템이나 프로그램의 취약점을 이용하거나, 시스템이나 프로그램을 이용하는 사용자의 심리를 이용한다. 우리는 이 두 방법 중 사회공학적 해킹 방법인 후자를 제외하고, 기술적 해킹에 관해 이야기를 해보도록 하겠다.