'ccmp'에 해당되는 글 1건

  1. 2012.07.11 WPA2 Vulnerability Hole196 2

WPA2란?


기존 WEP 보안 취약점이 발견되면서 임시 보안 표준으로 WPA를 사용하였다. 그러다 WPA2가 나옴으로써 이를 보안 표준으로 대체하였다. 이는 802.11i의 주요조건을 충족하며, 802.1x를 통한 인증 부문과 AES(Advanced Encryption Standard) 암호화 부문으로 나뉘어 있다. Wi-Fi Alliance가 2004년 9월부터 인증하기 시작했으며, 2006년 3월 이후부터 Wi-Fi로고 획득을 위해 반드시 필요한 항목이 되었다.





Hole196이란, 내부자 공격에 의해 보안된 무선 네트워크를 노출시키는 WPA2 보안 프로토콜의 취약점이다. 


이 취약점은 Airtight Networks 사의 보안 연구원에 의해 발견되었으며, IEEE 802.11 표준 제 196페이지 마지막 줄에 존재하는 WPA2 프로토콜에 취약점이 존재한다고 하여, 취약점의 이름을 ‘Hole 196’으로 명명하게 되었다.






이 취약점의 핵심은 WPA2를 사용하는 네트워크에 인증된 모든 사용자끼리는 GTK를 공유한다는 것인데, 사실 정상적인 동작에선 AP가 GTK를 사용하여 모든 데이터 트래픽을 암호화하여 전송하기 때문에 수신자는 트래픽을 복호화 해야만 한다.





하지만, 이 취약점은 악의적인 내부 인가자가 다른 인가자의 Station을 스캔하여 송신된 데이터를 스니핑 또는 암호화된 데이터를 복호화 할 수 있으며 악성코드를 주입시켜 손상을 줄 수 있는 치명적인 결점이 존재한다.


또, 이는 인증 및 암호화 과정에서의 문제점이 아닌 프로토콜 자체의 취약점이기 때문에 해당 표준을 적용한 802.11 Architecture(AP 또는 컨트롤러)는 이 취약점을 지니고 있으며 표준의 문제점으로 WPA2뿐만 아니라, WPA에서도 위험하다.


한마디로 말하자면, 이 취약점은 WPA2 보안이 적용된 내부 네트워크(인가된 사용자만이 GTK를 알 수 있기 때문)에선 그 보안이 무의미하다는 뜻이다. Hole 196은 위에서도 언급했지만, 프로토콜 자체의 취약점이기 때문에 해당 표준을 적용한 무선 랜(독립 AP 또는 컨트롤러)은 해당 취약점을 지니고 있다.


이 글을 읽고 있는 당신이 만약 내부자 공격에 민감하다면, 아마 내부자 공격을 방어할 수 있는 최대한의 조치를 취해놓았을 것이다. 하지만, 이 취약점은 아직 막을 방법이 없으며, 내부자에 의해 민감한 데이터(지적 재산권, 금융 정보, 기업기밀 등)의 외부 유출을 초래할 수 있다.



Hole 196 취약점은 다음과 같은 공격으로 인해 악용될 수 있다.


1. ARP Poisoning 또는, MITM(Man-In-The-Middle)공격

2. 인가된 다른 사용자에게 악성코드 주입

3. DoS 공격


위 같은 공격을 WPA2를 사용하는 환경에선 악의적인 내부자가 조작된 패킷(AP와 송신자 MAC주소를 조작)을 다른 인가자의 GTK를 이용해, 패킷을 암호화하여 전송할 수 있다.


ARP Poisoning을 예로 들어보자.




GTK에는 ARP Request 메시지를 추가할 수 있다. 이를 이용하여, ARP Request에 공격자의 가짜 Gateway 주소를 포함시켜 브로드캐스팅 하게 되면 모든 Station은 공격자의 MAC 주소를 Gateway 주소로 ARP 테이블에 매핑하게 된다.이 공격은 유선 네트워크상에선 IDS 또는 IPS에 의해 감지가 되거나 차단될 수 있다. 


하지만, WPA2환경에서 ARP Spoofing 공격을 할 땐, 악용된 GTK 패킷 자체가 암호화되어 전송하기 때문에 이를 막을 방법이 아직까지는 존재하지 않는다. 



그리고 이러한 ARP Spoofing 공격은 단지 예시일 뿐, 실제로는 DoS, DNS Spoofing, exe Weakness 등의 취약점등을 GTK를 이용하여 더 강력하고 정밀한 공격이 가능하다.




이를 방어하기 위해선 ARP Poisoning을 탐지하는 소프트웨어를 설치하면 되지만, Station마다 일일이 설치해야 한다는 불편함이 존재하며, 모바일 운영체제(Android, IOS, Windows Mobile 등)를 사용하는 Station에서는 지원이 되지 않는 단점이 있다.


그리고, Hole196 취약점을 기반한 다른 공격기법들이 위에서 봤던 것 처럼 여러 있기 때문에 이를 모두 막는 것은 거의 불가능하다. 

또한, Hole196 취약점을 이용한 공격 자체가 무선 환경에서 이루어지기 때문에 유선 네트워크 기반의 IDS/IPS, Firewall, ARP Poisoning 감지 장치에서는 감지가 되지 않는 특징이 존재한다.


그리고 안타깝게도 이 취약점은 클라이언트를 격리시키거나, PSPF(클라이언트 간 통신 차단)를 설정해도 이를 우회할 수가 있다.


그렇다면 애초에 AP가 클라이언트를 격리하거나 Station간의 통신을 금지시키면 해결되는 것인가? 그것 역시 아니다.

앞의 위험성에 대한 페이지에서도 언급한 것처럼 클라이언트 격리 또는, PSPF도 우회할 수 있기 때문이다.

악의적인 내부 인가자가 계속해서 암호화된 Spoofed GTK 패킷을 네트워크의 다른 Station(Victim)에게 보냄으로써 공격자의 Station으로 데이터 트래픽이 포워딩 되게 할 수 있는데, 이를 이용해 유선 네트워크에 가짜 게이트웨이를 설치하고 Poisoning된 ARP Cache를 인가된 사용자(station)에게 보냄으로써 모든 데이터 트래픽을 가로채, 클라이언트 격리를 우회할 수 있기 때문이다.

현재의 WPA2 프로토콜 표준에 따르면 GTK는 각각의 클라이언트에 AP가 4 Way Handshaking을 통해 할당되는데, 무선 랜 벤더들이 이러한 GTK를 무작위로 생성하게끔 패치를 하면 방어할 수 있다.

또한, 오늘날의 컨트롤러 기반 무선 랜은 아예 GTK를 사용하지 않게 무선 컨트롤러를 ARP Proxy 대신 AP를 사용함으로써 브로드캐스트 트래픽의 전송을 해제할 수 있다.

지금으로썬, WIPS(무선 침입 방지 시스템)를 사용하여 보안 프로토콜의 취약점을 보호하는 것이 확실한 방법이다. 하지만, WIPS 장비를 도입하는 것은 금전적으로 힘든 점이 있다. 

결론적으로, WIPS가 없으면 취약점으로부터 보호받기가 어렵다는 것을 알 수 있다..
그러니 최소한의 보안을 위해, 모든 기업 및 정부 기관에선 WIPS를 도입하여 Hole196에 대응하는 것이 최선이라고 생각한다.




참고 자료

[1] http://www.airtightnetworks.com/
- WPA-Too-Hole196-Defcon18-Presentation
- WPA2-Hole196-vulnerability-FAQs
[2] http://www.airtightnetworks.com/webinars
[3] http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=62209

'공부 > Network' 카테고리의 다른 글

UNC(Universal Naming Convention)  (0) 2012.07.17
WEP 암호화 알고리즘 취약점  (1) 2012.07.14
Well Known Port  (0) 2012.07.05
CCNA  (1) 2012.07.05
[802.11] 802.11i (detailed)  (0) 2012.06.29
Posted by extr
: