1. ARP Spoofing Attack ?
MAC주소를 IP로 변환하는 프로토콜로서 ARP스푸핑 공격은 통신하는 두 대상의 MAC주소를 공격자 자신의 MAC주소로 바뀌어 중간에서 패킷을 가로채는 공격입니다.
쉽게 예를 들자면, 통신중에 있는 A와 B의 정보가 궁금한 해커는 ARP스푸핑 공격을 하기로 결심합니다. 해커는 A와 B의 통신 중간에 들어가, A와 B에게 각각 자신의 MAC주소를 알려줍니다.
이렇게 되면, A와 B는 해커를 서로 통신하는 대상으로 인식하여 해커에게 통신정보를 전송하게 되며, A와 B의 통신내용을 해커가 모두 볼 수 있게 됩니다.
또한 통신내용을 보고나서 다시 그 정보를 원래 목적지로 보내거나, 패킷을 일부 변조하여 보낼수도 있습니다. 패킷을 변조해서 보내는 경우에는 보통 목적지 PC를 감염시켜 좀비PC로 만들기 위해서 입니다.
2. ARP 스푸핑 공격의 영향
기업에 심각한 영향을 미칠 수 있습니다. 가장 기본적인 애플리케이션에서 ARP 스푸핑 공격은 민감한 정보를 훔치는 데 사용됩니다. 이 외에도 ARP 스푸핑 공격은 다음과 같은 다른 공격을 용이하게 하는 데 자주 사용됩니다.
- 서비스 거부 공격 : DoS , DDOS 공격은 종종 ARP 스푸핑을 활용하여 여러 IP 주소를 단일 대상의 MAC 주소와 연결합니다. 결과적으로 다양한 IP 주소를 대상으로 하는 트래픽이 대상의 MAC 주소로 리디렉션되어 트래픽으로 대상에 과부하가 걸립니다.
- Session Hijacking : 세션 하이재킹 공격은 ARP 스푸핑을 사용하여 세션 ID를 훔쳐 공격자에게 개인 시스템 및 데이터에 대한 액세스 권한을 부여할 수 있습니다.
- Man in the Middle : MITM 중간자 공격은 ARP 스푸핑에 의존하여 피해자 간의 트래픽을 가로채고 수정할 수 있습니다.
3. ARP Cache Poisoning Attack
ARP 캐시 포이즈닝을 탐지하기 위한 다양한 상용 및 오픈 소스 소프트웨어가 있지만 아무 것도 설치하지 않고도 자신의 컴퓨터에서 ARP 테이블을 쉽게 확인할 수 있습니다.
대부분의 Windows, Mac 및 Linux 시스템에서 터미널 또는 명령줄에서 “arp -a” 명령을 실행하면 컴퓨터의 현재 IP-MAC 주소 매핑이 표시됩니다.
arpwatch 및 X-ARP와 같은 도구는 네트워크를 지속적으로 모니터링하는 데 유용하며 ARP 캐시 중독 공격의 징후가 보이면 관리자에게 알릴 수 있습니다. 그러나 가양성(False Positive)은 우려 사항이며 원치 않는 많은 경고를 생성할 수 있습니다.
4. ARP 스푸핑 탐지 & 공격 예방 방법
ARP 스푸핑 공격을 탐지 & 방지 및 보호 하기 위한 방법.
- 패킷 필터링: 패킷 필터는 네트워크를 통해 전송되는 패킷을 검사합니다. 패킷 필터는 충돌하는 소스 주소 정보(네트워크 내부의 소스 주소를 표시하는 네트워크 외부의 패킷 및 그 반대의 경우도 마찬가지)가 있는 패킷을 필터링하고 차단할 수 있기 때문에 ARP 스푸핑 방지에 유용합니다.
- 신뢰 관계 피하기: 조직은 가능한 한 신뢰 관계에 의존하는 프로토콜을 개발해야 합니다. 신뢰 관계는 인증을 위해 IP 주소에만 의존하므로 공격자가 ARP 스푸핑 공격이 있을 때 훨씬 더 쉽게 실행할 수 있습니다.
- ARP 스푸핑 탐지 소프트웨어 사용: 조직에서 ARP 스푸핑 공격을 탐지하는 데 도움이 되는 많은 프로그램이 있습니다. 이러한 프로그램은 데이터가 전송되기 전에 검사 및 인증하고 스푸핑된 것으로 보이는 데이터를 차단하는 방식으로 작동합니다.
- 암호화 네트워크 프로토콜 사용: TLS(전송 계층 보안), SSH(보안 셸), HTTP 보안(HTTPS) 및 기타 보안 통신 프로토콜은 데이터를 전송하기 전에 암호화하고 데이터를 수신할 때 데이터를 인증하여 ARP 스푸핑 공격 방지를 강화합니다.
5. ARP Cache Poisoning Attack 방지 방법
Static ARP Tables
네트워크의 모든 MAC 주소를 올바른 IP 주소에 정적으로 매핑하는 것이 가능합니다. 이것은 ARP Poisoning 공격을 방지하는 데 매우 효과적이지만 막대한 관리 부담을 가중시킵니다. 네트워크를 변경하려면 모든 호스트에서 ARP 테이블을 수동으로 업데이트해야 하므로 대부분의 대규모 조직에서는 정적 ARP 테이블을 실행할 수 없습니다. 그러나 보안이 중요한 상황에서 고정 ARP 테이블이 사용되는 별도의 네트워크 세그먼트를 조각하면 중요한 정보를 보호하는 데 도움이 될 수 있습니다.
Switch 보안 강화
대부분의 관리형 이더넷 스위치는 ARP 중독 공격을 완화하도록 설계된 기능을 자랑합니다. 일반적으로 DAI(동적 ARP 검사)라고 하는 이러한 기능은 각 ARP 메시지의 유효성을 평가하고 의심스럽거나 악의적인 것으로 보이는 패킷을 삭제합니다. DAI는 일반적으로 ARP 메시지가 스위치를 통과할 수 있는 속도를 제한하여 DoS 공격을 효과적으로 방지하도록 구성할 수도 있습니다.
DAI 및 이와 유사한 기능은 한때 고급 네트워킹 장비에 독점적이었지만 이제는 소규모 기업에서 볼 수 있는 스위치를 포함하여 거의 모든 비즈니스 등급 스위치에서 일반적입니다. 일반적으로 다른 스위치에 연결된 포트를 제외한 모든 포트에서 DAI를 활성화하는 것이 모범 사례로 간주됩니다. 이 기능은 성능에 큰 영향을 미치지 않지만 DHCP 스누핑과 같은 다른 기능과 함께 활성화해야 할 수도 있습니다.
스위치에서 포트 보안을 활성화하면 ARP 캐시 중독 공격을 완화하는 데도 도움이 됩니다. 포트 보안은 스위치 포트에서 단일 MAC 주소만 허용하도록 구성할 수 있으므로 공격자가 여러 네트워크 ID를 악의적으로 가정할 기회를 박탈할 수 있습니다.
물리 보안
사업장에 대한 물리적 액세스를 적절하게 제어하면 ARP 중독 공격을 완화하는 데 도움이 될 수 있습니다. ARP 메시지는 로컬 네트워크의 경계를 넘어 라우팅되지 않으므로 잠재적인 공격자는 피해자 네트워크에 물리적으로 근접하거나 이미 네트워크의 시스템을 제어해야 합니다. 무선 네트워크의 경우 근접성이 공격자가 직접 물리적 액세스를 필요로 한다는 것을 반드시 의미하지는 않습니다. 신호가 거리 또는 주차장으로 확장되면 충분할 수 있습니다. 유선이든 무선이든 802.1x와 같은 기술을 사용하면 신뢰할 수 있거나 관리되는 장치만 네트워크에 연결할 수 있습니다.
네트워크 격리 (Network Isolation)
이전에 언급했듯이 ARP 메시지는 로컬 서브넷을 넘어 이동하지 않습니다. 이는 한 서브넷의 공격이 다른 서브넷의 장치에 영향을 줄 수 없기 때문에 잘 분할된 네트워크가 전반적으로 ARP 캐시 중독에 덜 취약할 수 있음을 의미합니다. 보안이 강화된 전용 네트워크 세그먼트에 중요한 리소스를 집중하면 ARP 중독 공격의 잠재적 영향을 크게 줄일 수 있습니다.
암호화 (Encryption)
암호화가 실제로 ARP 공격이 발생하는 것을 방지하지는 않지만 잠재적인 손상을 완화할 수 있습니다. MiTM 공격은 한때 일반적으로 일반 텍스트로 전송되었던 로그인 자격 증명을 캡처하는 데 널리 사용되었습니다. 웹에서 SSL/TLS 암호화가 널리 사용되면서 이러한 유형의 공격이 더욱 어려워졌습니다. 위협 행위자는 여전히 트래픽을 가로챌 수 있지만 암호화된 형식에서는 트래픽으로 아무 것도 할 수 없습니다.