보안 / AI / 프로그래밍

ARP 기반의 공격을 무력화하기 위한 ARP 불능 네트워크 시스템 본문

Paper Review

ARP 기반의 공격을 무력화하기 위한 ARP 불능 네트워크 시스템

DevKTW 2021. 6. 25. 21:49

[ 논문 저작권 관련 정보 ]

  • 논문 제목 : ARP-disabled network system for neutralizing ARP-based attacks
  • 인하대학교 대학원 2017년 2월 공학석사학위 청구 논문
  • 원저작자 : 컴퓨터정보공학과(컴퓨터정보공학전공) Davaadorj Battulga
  • 다바도치. "ARP 기반의 공격을 무력화하기 위한 ARP 불능 네트워크 시스템." 국내석사학위논문 인하대학교 컴퓨터정보공학과, 2017. 인천

[논문 요약]

해당 논문은 제목에서 알 수 있듯, ARP 기반의 공격을 무력화하기 위한 하나의 모델을 제공한다. 이 모델은 거의 아무런 비용을 지불하지 않고 ARP 기반의 공격을 효과적으로 방어할 수 있다. 또한 이 모델은 추가적인 하드웨어 장비를 요구하지 않는다.

 

먼저 이 모델은 Gateway 서버를 비롯한 모든 네트워크 구성 요소들의 ARP 기능을 해제한다. 즉, ARP 기능을 해제한다는 의미는 ARP-Request, ARP-reply 와 같은 메세지들은 기능을 하지 않음을 의미한다. 다만 ARP Table은 ARP 기능을 해제해도 사용할 수 있다.

 

이러한 상태에서는 네트워크의 각 구성원들은 원활한 네트워크 활동을 할 수 없다. Gateway는 네트워크 구성원들의 MAC 주소를 모를 뿐더러, 각 네트워크 구성원도 Gateway의 MAC 주소를 모르기 때문이다.

이런 문제를 해결하기 위해, 이 모델은 "a seed based MAC address derive function" 을 사용한다. 이 함수에 Seed값과 IP 값을 넘겨주면, 함수는 넘겨준 IP에 대응하는 MAC 주소를 반환한다.

 

이 함수를 통해서 네트워크의 각 구성원들은 IP 와 Seed 값만 알면 MAC 주소를 도출할 수 있기 때문에, ARP Message 교환없이 스스로의 ARP Table을 Update 할 수 있게 되기에, ARP 기반의 공격을 방어할 수 있다. 덧붙여서, Seed 값은 Network 관리자에 의해서 생성되며 네트워크 구성원들에게 주어진다.

 

이 모델은 ARP Message를 사용하지 않기 때문에, ARP Message를 사용할 때의 Network Traffic 소모를 상당히 감소할 수 있다.

 


[논문 속 등장한 지식 정리]

- ARP 기반 Denial of Service 공격

   network Router IP와 가짜의 MAC 주소를 Target PC에 지속적으로 ARP Reply 를 전송해서 오염

   Target PC 는 network Router와 통신 할 수 없게 되어서 인터넷 연결이 불가능해진다.

 

- MAC Flooding 공격

    많은 Switch 장치들은 과부하될 경우 hub 처럼 network에 유입되는 packet들을 broadcast 해버리는 특성을 이용

    공격자는 swtich를 대상으로 위조된 ARP Reply를 전송하여 공격한다. 이렇게 되면 ARP Table 뿐만 아니라

    MAC Table 또한 오염된다. 만약 같은 IP 에 대해서 다른 MAC 주소의 ARP Reply를 받으면 ARP Table에서

    IP 에 대한 MAC 주소를 수정하는 ART Table 과 다르게, MAC 주소는 같은 물리적 포트 에 대해서 다른 MAC 주소를

    받으면 Stack 마냥 쌓이는 특성을 가진다. 이 말은 즉, ARP Reply 를 과다하게 보내면 MAC Table 은 꽉 차게 되고

    새로운 MAC 주소를 받을 수 없게 된다. 이런 상황에서 switch 는 hub 처럼 행동하게 된다.

    참고) MAC Table vs ARP Table : https://serverfault.com/questions/503121/arp-mac-address-table

    참고) MAC Flooding : https://netvel.sk/en/mac-flooding-attack/ (사진자료를 보면 이해가 잘된다.)

 

- Firmware

    펌웨어(firmware)는 컴퓨팅 공학 분야에서 특정 하드웨어 장치에 포함된 소프트웨어로, 소프트웨어를 읽어 실행하거나, 수정하는 것도 가능한 장치를 뜻한다.[1] 하드웨어의 제어(low-level control)와 구동을 담당하는 일종의 운영체제이다. 펌웨어는 ROM이나 PROM에 저장되며, 하드웨어보다는 교환하기가 쉽지만, 소프트웨어보다는 어렵다. (출처 : https://ko.wikipedia.org/wiki/%ED%8E%8C%EC%9B%A8%EC%96%B4)

 

- OpenWrt

    OpenWrt는 무선랜 라우터를 위한 비실시간 리눅스 기반의 오픈소스 운영체제이다. OpenWrt는 무선렌라우터에 필요한 리눅스의 기능들을 패키지 형태로 제공함으로써 사용자들에게 편리를 제공한다. 즉 라우터를 내맛대로 가꾸기 위한 오픈소스.

 


[논문 후기]

 ARP 기반의 공격에 대한 방어법이 없을까라는 생각을 자주 하는 상황에서 해당 본문을 접했다. ARP 기능을 애초에 사용하지 않는다는 생각은 나에게 정말 참신하게 다가왔다. 더 인상깊었던건, Seed와 IP를 통해서 MAC 주소를 자체적으로 도출할 수 있도록 하는 Function을 이용해서, 네트워크가 정상적인 작동을 하도록 한다는 아이디어가 매우 참신했다.

 그러나 한편으로는, 수동적인 MAC 주소 할당의 매크로 역할인 함수를 사용한다는 것을 제외하고는, 수동 MAC 주소를 사용하는 일반적인 생각과는 크게 다르지 않다라는 생각이 스치게 되었다. 그러나 나의 첫 논문으로써, OpenWrt 라던지, Gateway 와 Router의 차이라던지, 다양한 개념을 준 이 논문은 나에게 정말로 유익한 논문이 아닌가 싶다.

Comments