ARP 스푸핑(ARP Spoofing)이란? 정의 및 목적 그리고 위험성
1.ARP 스푸핑의 정의
ARP Spoofing은 주소 결정 프로토콜(Address Resolution Protocol, ARP)을 악용하여 네트워크상에서 가짜 ARP 응답을 생성함으로써, 공격자가 특정 네트워크 장치의 주소 매핑 정보를 조작하는 공격 기술을 의미한다.
1) 주소 매핑 조작
ARP Spoofing 공격에서 공격자는 자신의 MAC 주소를 다른 장치의 IP 주소에 대한 MAC 주소로 속여 네트워크상의 다양한 장치들의 ARP 테이블을 조작한다.
2) 가짜 ARP 응답 생성
공격자는 목표 장치의 IP 주소를 사용하여 가짜 ARP 응답을 생성하고, 해당 응답을 네트워크상에 브로드캐스트한다. 이로써 네트워크 내 다른 장치들은 공격자의 MAC 주소를 목표 장치의 MAC 주소로 오인하게 된다.
3) 중간자 공격의 가능성
ARP 스푸핑은 주로 중간자 공격을 위해 사용되며, 공격자는 가짜 ARP 응답을 통해 피해자와 서버 간의 통신을 가로채거나 조작할 수 있다.
2. ARP 스푸핑의 목적과 위험성
ARP Spoofing은 다양한 악의적인 목적을 가지고 수행될 수 있다. 주요 목적은 다음과 같다:
1) 중간자 공격 (Man-in-the-Middle, MITM)
ARP 스푸핑은 공격자가 네트워크상에서 중간자 역할을 수행하도록 하여, 피해자와 다른 장치 간의 통신을 가로채고 조작할 수 있게 한다. 이는 암호화되지 않은 데이터의 경우에는 평문으로 중간자에게 노출될 수 있다. 이렇게 중간자 공격자는 가로챈 데이터를 수정하거나 조작할 수 있다. 또한 세션 쿠키 등 중요한 정보를 탈취할 수 있다. 이를 통해 피해자의 계정으로 부정한 접근이 가능해지며, 인증 정보의 노출이 발생할 수 있고 악의적인 목적을 달성하기 위해 데이터를 변경하거나 다른 정보를 삽입할 수 있다.
2) 데이터 도청 및 탈취
ARP Spoofing을 통해 공격자는 피해자와 다른 장치들 간의 통신을 도청하거나 중요한 정보를 탈취할 수 있다. 이는 로그인 정보, 세션 쿠키, 개인 데이터 등을 포함할 수 있다. 기업 내부 네트워크에서 ARP 스푸핑이 발생하면 기업의 중요한 데이터가 유출될 위험이 있다. 이는 기업 기밀, 고객 정보 등의 민감한 정보가 공격자에 의해 탈취될 수 있다는 것을 의미한다.
3) 패킷 조작 및 변조
중간에서 데이터를 가로채고 수정하는 ARP Spoofing은 패킷 조작의 수단으로 사용될 수 있다. 공격자는 통신 데이터를 변조하여 악의적인 목적을 달성하거나, 피해자를 속이는 데 활용할 수 있다.
3. ARP 스푸핑의 공격 과정
ARP Spoofing의 공격과정은 다음의 5단계로 볼 수있다.
1) 사전 정보 수집
공격자는 먼저 대상 네트워크에 대한 정보를 수집한다. 이는 주로 IP 주소 범위, 게이트웨이 주소, 중요한 서버 및 클라이언트 장치의 IP와 MAC 주소 등을 포함한다.
2) ARP 캐시 포이즌
공격자는 자신의 장치를 목표로 하는 특정 장치의 IP 주소에 해당하는 MAC 주소를 가로채어, 해당 IP 주소에 대한 MAC 주소 매핑을 공격자의 MAC 주소로 변경한다.
3) 중간자 공격 수행
피해자의 컴퓨터가 외부 서버와 통신하려고 할 때, 그 통신은 공격자를 거쳐 가게 된다. 피해자의 ARP 테이블은 공격자의 MAC 주소를 목표 서버의 MAC 주소로 착각하게 되어 공격자는 중간에서 통신을 가로챌 수 있다.
4) 데이터 도청 및 조작
공격자는 중간에서 통신을 가로채어 데이터를 도청하거나 수정할 수 있다. 이를 통해 로그인 정보, 세션 쿠키 등을 탈취할 수 있다.
5) 공격 감지 우회
ARP 스푸핑은 공격 감지가 어려운 특성이 있다. 공격은 네트워크 내에서 물리적으로 발생하므로 일반적인 방화벽이나 인트라넷 보안 시스템으로는 감지하기 어렵다.
4. ARP 스푸핑 탐지 도구
그렇다면 ARP 스푸핑을 예방하고 방지할 수 있는 모니터링 툴이 어떤게 있을까?
1) Arpwatch
네트워크 상에서 ARP 활동을 모니터링하고 이상한 패턴을 탐지하는 도구이다. 이상한 ARP 요청이나 응답을 감지할 경우 경고(알람)를 발생시킨다.
2) Wireshark
네트워크 패킷을 캡처하고 분석하는 도구로, ARP 스푸핑 공격을 감지할 수 있다. 이상한 ARP 트래픽을 식별하고 네트워크상에서 패턴을 분석하여 공격을 확인할 수 있다.
3) Snort
IDS(침입 탐지 시스템) 및 IPS(침입 방지 시스템)으로 사용되는 도구 중 하나로, ARP Spoofing과 같은 악성 행위를 탐지하고 차단하는 기능을 제공한다.
5. 정적 ARP 설정의 활용
ARP 스푸핑은 정적인 ARP 설정을 통해서도 예방할 수 있다.
1) ARP 테이블 수동 관리 : 중요한 네트워크 장치들의 ARP 테이블을 수동으로 관리하여, 해당 장치의 IP 주소에 대한 MAC 주소가 변경되지 않도록 한다.
2) ARP 항목 갱신 주기 설정 : ARP 테이블의 유효 시간을 적절히 설정하여, 정적 ARP 항목이 자동으로 갱신되도록 한다.
3) ARP 캐시 정리 정책 : ARP 캐시의 크기를 관리하고, 더 이상 필요하지 않은 ARP 항목을 주기적으로 정리한다.
6. 네트워크 세분화의 중요성
또한 네트워크 세분화를 통해 ARP 스푸핑을 방지할 수있다. 네트워크 세분화는 네트워크를 여러 부분으로 나누어 각 부분을 격리시키는 것인데 ARP Spoofing을 방지하는 데 세분화가 중요한 이유는 다음과 같다.
1) 전파 방지 : ARP 스푸핑이 발생하면 해당 네트워크 구분 내에서 통신이 감염될 수 있다. 세분화를 통해 공격의 전파를 막을 수 있다.
2) 공격 표적 제한 : 공격자는 특정 구분에서만 ARP 스푸핑을 수행하므로, 다른 구분에 위치한 장치들은 이에 영향을 받지 않는다.
3) 보안 강화 : 세분화는 네트워크 내의 서브넷을 격리시키므로, 각 구분에 대한 보안 정책을 구현하고 유지하기 쉽다.
4) 데이터 흐름 제어 : 세분화를 통해 트래픽을 제어하고 특정 부분에 집중된 트래픽을 분산시킴으로써, 네트워크 성능을 최적화할 수 있다.
ARP 스푸핑 대응과 예방을 위해서는 다양한 보안 조치를 종합적으로 사용하여 네트워크의 안전성을 확보하는 것이 중요하다.