IP Spoofing

IP Spoofing패킷의 출발지 IP 주소를 위조해, 다른 시스템인 것처럼 속이는 공격 기법이다. 핵심은 “누가 보냈는지”를 속여 신뢰 관계를 악용하거나 공격 흔적을 숨기는 것이다.

IP 프로토콜은 기본적으로 출발지 주소의 진위를 검증하지 않는다. 그래서 공격자는 패킷을 만들 때 출발지 IP를 마음대로 설정할 수 있다. 이로 인해 서버나 네트워크 장비는 해당 패킷이 신뢰된 호스트에서 온 것처럼 오인할 수 있고, 공격자는 이를 이용해 접근 통제 우회, 서비스 거부, 증폭 공격을 수행한다.

IP Spoofing의 활용 목적은 크게 세 가지다. 첫째, 신뢰 관계 악용이다. 내부 서버나 관리 서버처럼 신뢰된 IP에서만 접근을 허용하는 시스템을 속여 접근한다. 둘째, 공격자 은닉이다. 실제 공격자의 IP를 숨겨 추적을 어렵게 만든다. 셋째, 증폭·반사 공격의 기반이다. Smurf 공격처럼 출발지 IP를 피해자의 IP로 위조해, 제3자의 응답이 피해자에게 몰리게 만든다.

보안 공격과의 연관성도 중요하다. SYN Flooding에서는 출발지 IP를 위조해 서버가 응답(SYN/ACK)을 엉뚱한 곳으로 보내도록 만들고 연결 자원을 고갈시킨다. Smurf 공격은 ICMP 요청의 출발지를 피해자로 위조해 대량의 응답을 피해자에게 집중시킨다. 또한 TCP 세션 하이재킹에서는 시퀀스 번호 예측과 함께 IP Spoofing이 사용될 수 있다.

대응 방법은 네트워크 계층에서의 차단이 핵심이다. 라우터와 방화벽에서 Ingress/Egress Filtering을 적용해, 내부에서 외부 IP를 출발지로 하는 패킷이나 외부에서 내부 IP를 출발지로 하는 패킷을 차단한다. BCP 38은 이러한 스푸핑 방지의 표준 권고안이다. 또한 인증이 필요한 서비스에서는 IP 기반 신뢰에만 의존하지 않고, 암호화와 상호 인증(TLS 등)을 사용해야 한다.

IP Spoofing은 출발지 IP 위조 공격이다.
신뢰 관계 우회, 공격 은닉, 증폭 공격에 사용된다.
Smurf, SYN Flood와 밀접하다.
대응은 Ingress/Egress Filtering과 인증 강화다.