해킹 기법, 해킹 기술에 대해서 합법/불법의 여부를 묻는 질문들이 많은 것 같아서 정리해 보았습니다.


1. SQL Injection은 불법인가요?

서비스 중인 사이트에 SQL Injection을 하면 불법이겠죠. 하지만 테스트의 목적으로 자신이 웹서버를 구동하고 자신이 공격을 하게 되면 이는 당연히 불법이 아닙니다.


2. 패킷 변조는 불법인가요?

Router, NAT 등 네트워크 장비는 모두 패킷을 변경시켜야 합니다. 대부분의 Network Proxy도 그러하구요, 패킷 변조 자체가 불법일 수는 없습니다. 다만 패킷 변조로 인해서 누군가 피해가 발생하게 되는 경우에는 불법으로 간주합니다.


3. ARP spoofing은 불법인가요?

공공장소나 사무실, PC방등에서 제 3자의 패킷을 몰래 보려거나 패킷을 조작해서 상대방의 개인 정보를 빼 내가게 되면 불법이겠죠. 하지만, 테스트나 연구의 목적으로 해당 단말기(제 3자)의 동의를 얻고 테스트하는 것은 불법이 아닙니다.


4. Reverse Engineering은 불법인가요?

프로세스의 작동 방식을 이해하기 위해서, 디버깅용으로, 혹은 해당 프로세스의 취약점을 발견하기 위해서는 Reverse Engineering은 필수입니다. 이 또한 경우에 따라 불법일 수도 있고 아닐 수도 있습니다.


흔히들 해킹 기술을 부엌칼로 비유하곤 합니다. 칼로 요리를 만들면 이로운 것이고, 사람을 죽이면 해로운 것이죠. 마찬가지입니다. 해킹 기술 그 자체만을 가지고서는 합법/불법을 구분할 수 없습니다.


결론 : 해킹 기술 그 자체로는 합법/불법을 논할 수 없다. 실제적으로 피해가 발생했느냐 발생하지 않았느냐 결과를 가지고 합법/불법을 거론해야 한다.