해커들은 항상 자신의 IP 주소를 숨길 새로운 방법을 찾고 있습니다. 익명성을 유지하는 것만이 목적은 아닙니다. 악성 활동의 출처로 의심되는 IP 주소는 차단될 수 있기 때문입니다.
IP 주소를 숨기는 방법 중 하나가 바로 IP 스푸핑(IP Spoofing)입니다. 이 기법을 활용하면 수천 개의 IP 주소를 위장하고, 피해자로 하여금 공격이 어디에서든 시작된 것처럼 믿게 만들 수 있습니다.
그렇다면 IP 스푸핑은 정확히 무엇이며, 어떻게 방어할 수 있을까요?
IP 스푸핑이란?
IP 스푸핑은 공격자가 IP 패킷의 출발지를 감추는 공격 기법입니다. 이를 통해 공격 대상은 트래픽이 전혀 다른 곳에서 온 것으로 인식하게 됩니다.
IP 스푸핑은 단순히 공격자의 신원을 숨기는 데만 유용한 것이 아닙니다. 많은 보안 기술이 IP 주소에 기반하고 있기 때문에, IP 스푸핑은 그러한 보안 장치를 무력화하는 강력한 도구로도 활용됩니다.
IP 스푸핑의 작동 원리
인터넷상의 모든 트래픽은 패킷 단위로 전송됩니다. 각 패킷에는 발신지 IP 주소와 수신지 IP 주소가 포함된 IP 헤더가 붙어 있습니다.
IP 스푸핑 공격이 진행되면, 공격자는 패킷이 전송되기 전에 발신지 IP 주소를 변경합니다. 패킷을 받은 쪽에서는 해당 IP 주소가 합법적인 것처럼 보이지만, 실제로는 공격자와 아무런 관련이 없는 주소입니다.
위조된 발신지 IP 주소는 무작위로 생성될 수도 있고, 다른 곳에서 복사해 올 수도 있습니다.
특히 복사한 IP 주소는 공격자가 특정인인 척 위장할 수 있게 해주기 때문에 유용합니다. 예를 들어, 피해자가 이미 신뢰하는 장치와 통신하고 있다고 믿도록 속이는 데 IP 스푸핑이 사용될 수 있습니다.
IP 스푸핑은 어디에 사용될까?
IP 스푸핑은 접근이 제한된 서버에 침입하거나, DDoS 공격 및 중간자(Man-in-the-Middle) 공격을 수행하는 데 활용됩니다.
IP 인증 우회
IP 주소는 인증 목적으로 자주 사용됩니다. 예를 들어 특정 사용자가 특정 서버나 네트워크에 접근할 수 있는지 판단하는 기준이 되곤 합니다.
공격자가 신뢰된 IP 주소 정보를 확보했다면, IP 스푸핑을 통해 해당 사용자로 가장할 수 있습니다. 이 경우 IP 인증만으로 보호되는 서버라면 누구든 침입이 가능해집니다.
이러한 기법은 멀웨어 설치, 데이터 탈취, 랜섬웨어 공격 등으로 이어질 수 있습니다.
DDoS 공격
DDoS 공격은 서버가 처리할 수 있는 트래픽 양에는 한계가 있다는 점에 기반합니다. 공격자는 그 한계를 초과하는 트래픽을 몰아붙여 서버를 마비시키려 합니다.
DDoS 방어 기술은 정상 트래픽과 악성 트래픽을 구분하는 데서 출발합니다. 하지만 IP 스푸핑은 이러한 구분 자체를 불가능하게 만들 수 있습니다.
DDoS 공격이 성공하면 서버는 사용 불가능한 상태가 되고, 웹사이트 하나뿐 아니라 전체 네트워크까지 오프라인 상태로 전락할 수 있습니다.
중간자(Man-in-the-Middle) 공격
중간자(MITM) 공격에서는 공격자가 두 당사자 간의 통신을 가로챕니다. 통신하는 양쪽 모두 상대방과 직접 대화하고 있다고 믿지만, 실제로는 모든 통신이 공격자를 경유하고 있는 것입니다.
MITM 공격이 성공하려면 공격자가 반드시 자신의 존재를 숨겨야 합니다. IP 스푸핑은 상대방의 IP 주소를 복제함으로써 이를 가능하게 해줍니다.
MITM 공격에 성공한 공격자는 정보를 탈취하거나, 수신자에게 전달되기 전에 내용을 변조할 수도 있습니다.
IP 스푸핑은 해커만 사용할까?
IP 스푸핑은 주로 해커들에 의해 사용되지만, 정당한 목적으로 활용되는 경우도 있습니다. 예를 들어 웹사이트 운영자는 이 기법을 이용해 자신의 사이트가 부하 상황에서 어떻게 동작하는지 테스트할 수 있습니다.
IP 스푸핑으로 실제 방문자를 시뮬레이션하면, 개발자는 대량의 트래픽이 유입될 때 웹사이트가 어떻게 반응하는지 미리 파악할 수 있습니다.
IP 스푸핑으로부터 보호하는 방법
IP 스푸핑이 효과적인 이유는 공격이 진행 중이라는 사실 자체를 알아차리기 어렵기 때문입니다. 다음은 IP 스푸핑을 더욱 어렵게 만드는 몇 가지 방법입니다.
네트워크 이상 활동 모니터링
IP 스푸핑은 반드시 어떤 목적을 두고 수행됩니다. 특정 IP 주소가 위조되었는지 직접 확인하기 어렵더라도, 네트워크를 세심하게 관찰하면 악성 행위의 다른 징후를 통해 IP 스푸핑 공격을 탐지할 수 있습니다.
대체 인증 방식 사용
IP 스푸핑은 공격자가 IP 인증을 우회하도록 돕습니다. 따라서 모든 원격 접속에는 IP 외의 인증 및 검증 방법을 요구해야 합니다. 한 가지 예로, 네트워크상의 모든 장치에 키 교환(key exchange) 기반 인증을 의무화하는 방식이 있습니다.
웹사이트에 IPv6 적용
IPv6는 최신 인터넷 프로토콜입니다. IPv4에 비해 갖는 장점 중 하나는 추가적인 암호화 및 인증 절차를 포함한다는 점입니다. 덕분에 IPv6 기반 웹사이트는 IP 스푸핑 공격의 표적이 되기가 훨씬 어렵습니다.
방화벽 구축
방화벽은 인그레스(Ingress) 필터링과 이그레스(Egress) 필터링을 통해 일부 유형의 IP 스푸핑을 탐지하도록 설정할 수 있습니다.
인그레스 필터링은 들어오는 패킷을 검사하여 신뢰할 수 없는 IP 주소를 가진 패킷을 거부합니다.
이그레스 필터링은 나가는 패킷을 검사하여 네트워크 내부에 존재하지 않는 발신지 IP를 가진 패킷을 차단합니다. 이를 통해 외부로 향하는 IP 스푸핑 공격을 예방할 수 있습니다.
해커들이 사용하는 다른 스푸핑 유형
스푸핑(Spoofing)은 대략적으로 '다른 무언가로 가장하는 행위'로 정의할 수 있습니다. 피해자의 신뢰를 얻을 수 있기 때문에 해커에게 매우 유용한 개념입니다. 대표적인 스푸핑 유형은 다음과 같습니다.
- 이메일 스푸핑: 공격자가 이메일의 메시지 헤더를 조작하여 다른 사람이 보낸 것처럼 보이게 만듭니다.
- ARP 스푸핑: 위조된 ARP 메시지를 이용해 공격자의 MAC 주소를 합법적인 IP 주소와 연결합니다.
- DNS 스푸핑: 공격자가 요청된 웹사이트로 향하는 트래픽을 자신이 소유한 사이트로 리디렉션할 수 있게 합니다.
모든 네트워크를 IP 스푸핑으로부터 지키세요
IP 스푸핑은 해커들이 자신의 흔적을 숨기기 위해 얼마나 다양한 수단을 동원하는지 보여주는 대표적인 사례입니다. 동시에 IP 기반 탐지에만 의존하는 보안 조치는 언제든 뚫릴 수 있음을 시사합니다.
IP 스푸핑을 완전히 막는 것은 어렵지만, 그 효과를 크게 줄이는 것은 가능합니다. 해커의 침입을 막고자 하는 모든 네트워크 관리자라면 반드시 챙겨야 할 중요한 과제입니다.