1. Overview
루벤대학교 보안 연구원 Mathy Vanhoef 말에 따르면, 발견된 “WPA2 Key Reinstallation Vulnerabilities(KRACK) Explained” 취약점은 WPA2의 강력한 암호화 기능을 무용지물로 만들 수 있다고 한다.
KRACK 취약점은, MITM(Man-in-the-Middle) 공격의 일종으로 AP에 접속하지 않은 상태에서도 AP와 Station간의 암호화된 데이터를 가로챌 수 있어,
신용카드 정보, 암호, 채팅 메시지, 전자메일 등의 네트워크를 넘나드는 모든 정보에 대한 도용이 가능하다.
2. Details
KRACK 취약점은 AP와 Station간에 상호작용하는 인증 절차의 과정에서 발생된다(KRACK 공격을 수행하기 위해서는 AP의 연결 비밀번호를 알고 있어야 함)
AP 또는 Station이 보낸 암호화 검증 메시지를 중간에 가로채어 동일하게 전달함으로써 발생되는 오류를 이용한 재 인증 공격 방법이다.
동일한 패킷을 전달 받은 대상은 기존에 받았던 패킷과 동일한 패킷을 전달 받았으므로, 검증 패킷을 보내지 않은 것으로 판단하여 암호화 검증 절차를 다시 수행한다.
이 때 암호화 및 복호화 때 사용되는 Key 값이 재 설정되고, 패킷이 0으로 초기화됨으로, 새롭게 패킷 조립이 가능해진다.
1) WPA2 암호화 유형과 KRACK 공격과의 상관관계
Encryption | Vulnerability | Decryption |
AES CCMP | 패킷 복호화 | KRACK 공격을 통해 Packet Number를 초기화하여 패킷 재조합 가능 |
WPA TKIP |
패킷 복호화 |
IV 재사용으로 발생된 WEP 취약점 보안을 위해 IV Field를 PN(Packet Number)으로 사용함. KRACK 공격을 통해 Packet Number를 초기화할 수 있으므로 암호화 시 사용된 IV*값을 획득할 수 있음 |
GCMP | Wireless Gigabit(WiGig)에 사용되는 암호화 방식. 두 가지 통신방향에서 동일한 인증키를 사용하므로 KCRACK 취약점을 통한 인증키 탈취 가능 |
*IV(initialization vector): 첫 블록을 암호화할 때 사용되는 값으로 ‘초기화 벡터’로 불리며, 반복하여 사용되는 경우,
암호화 된 데이터를 복호화 할 수 있음. 유사한 용어로 nonce(number used once)가 있음)
2) 기존 MITM(ARP Spoofing)과 KRACK 공격 비교
Attack | Common | Different |
KRACK |
AP 암호의 사전 파악이 요구됨 |
공격 수행 시, AP에 연결될 필요가 없음
MAC 스푸핑이 필요함(타겟 AP의 또는 Station으로 위장) *특정 대상에 한정된 공격 수행만 가능 (전체 타깃 선정은 불가) HTTPS 등 보호된 인터넷 통신 프로토콜을 사용하는 패킷에 대한 복호화 가능 KRACK 공격 수행 전 패킷 변조에서 공격 탐지를 못하는 경우, 사용자가 공격을 확인할 수 있는 방법은 없음 |
ARP Spoofing | 공격 수행 시, AP에 접속되어 있어야 함
MAC 스푸핑(타겟과 동일한 MAC으로 변경)은 필요 없음 특정 대상 혹은 전체 타깃을 대상으로 공격 수행 가능 HTTPS로 암호화된 데이터 복호화 불가 ARP Cache Table 확인을 통해 ARP Spoofing 공격 탐지 가능 |
3) KRACK 취약점 분류
CVE 번호 | 취약점 요약 |
CVE-2017-13077 | Reinstallation of the pairwise encryption key (PTK-TK) in the four-way handshake. |
CVE-2017-13078 | Reinstallation of the group key (GTK) in the four-way handshake |
CVE-2017-13079 | Reinstallation of the integrity group key (IGTK) in the four-way handshake |
CVE-2017-13080 | Reinstallation of the group key (GTK) in the group key handshake. |
CVE-2017-13081 | Reinstallation of the integrity group key (IGTK) in the group key handshake. |
CVE-2017-13082 | Accepting a retransmitted Fast BSS Transition (FT) Reassociation Request and reinstalling the pairwise encryption key (PTK-TK) while processing it. |
CVE-2017-13084 | Reinstallation of the STK key in the PeerKey handshake |
CVE-2017-13086 | Reinstallation of the Tunneled Direct-Link Setup (TDLS) PeerKey (TPK) key in the TDLS handshake. |
CVE-2017-13087 | Reinstallation of the group key (GTK) while processing a Wireless Network Management (WNM) Sleep Mode Response frame |
CVE-2017-13088 | Reinstallation of the integrity group key (IGTK) while processing a Wireless Network Management (WNM) Sleep Mode Response frame |
4) 해결 방법
1) AP와 Station 단에서의 취약점 별 해결 방법
Type | CVE | *Root Cause Fix | *Mitigation | *Zero-day Protection |
Station Side | CVE-2017-13077
Reinstallation of the pairwise encryption key (PTK-TK) in the four-way handshake. |
Update Station Software |
Update AP
Software |
AP MAC Spoofing Protection |
CVE-2017-13078
Reinstallation of the group key (GTK) in the four-way handshake |
||||
CVE-2017-13079
Reinstallation of the integrity group key (IGTK) in the four-way handshake |
||||
CVE-2017-13080
Reinstallation of the group key (GTK) in the group key handshake. |
||||
CVE-2017-13081
Reinstallation of the integrity group key (IGTK) in the group key handshake. |
||||
CVE-2017-13087
Reinstallation of the group key (GTK) while processing a Wireless Network Management (WNM) Sleep Mode Response frame |
||||
AP Side |
CVE-2017-13082
Accepting a retransmitted Fast BSS Transition (FT) Reassociation Request and reinstalling the pairwise encryption key (PTK-TK) while processing it. |
Update AP Software |
* Root Cause: 근본적인 원인 해결
Mitigation: 임시 방편
Zero day protection: 실시간 탐지
2) Secure Wi-Fi Module은
KRACK 공격을 탐지하여 사용자에게 안전한 무선네트워크를 제시합니다.
<그림 9> Details of Zero Day Protection, 2017-13077,13078,13079,13081,13087
Secure Wi-Fi Module의 Fake AP Detection 기능:
공격자가(Hacker)의MAC Spoofing 공격을 통해 생성한 Fake AP를 탐지함
→ 실제AP(Real AP)와 동일하게 생성된 공격자(Hacker)의 가짜 AP(Fake AP)를 탐지하여
접속 전, 사용자에게 안전한 AP를 선별할 수 있는 기준을 제시
접속 후, 접속기록기반 검증과 AP 위 변조 검증을 통해 안전한 AP로 연결함
2) 사용자 관점에서의 대책
# 무선으로 연결된 모든 기기를 업데이트하라
컴퓨터, 스마트폰, 태플릿PC 등 와이파이가 연결된 모든 기기와 라우터의 보안 패치를 가장 최신의 것으로 업데이트하라. 미래에 발생할 수 있는 보안 취약점에 대비해 보안 패치를 자동 업데이트 모드로 설정하는 것도 한 방법이다.
# 라우터를 살피라
라우터의 펌웨어 역시 업데이트가 필요하다. 인터넷 서비스 제공자(ISP)에서 라우터를 제공받았다면, 해당 회사에 알맞은 패치 키트가 무엇인지 물어보라.