KRACK 공격 로고 | |
| CVE 식별자 | CVE-2017-13077, CVE-2017-13078, |
|---|---|
| 발견일 | 2016년 |
| 발견자 | Mathy Vanhoef and Frank Piessens |
| 영향을 받는 하드웨어 | 와이파이 보호 접속 (WPA)을 사용하는 모든 장치 |
| 영향을 받는 소프트웨어 | WPA를 사용하는 모든 운영체제 |
KRACK(Key Reinstallation Attack, "키 재설치 공격")은 와이파이 연결을 보호하는 와이파이 보호 접속 프로토콜에 대한 재전송 공격 (악용 가능한 결함 유형)이다. 이 공격은 2016년 벨기에 연구원 마티 반호프와 프랭크 피슨스가 뢰번 가톨릭 대학교에서 발견했다. 반호프의 연구 그룹은 2017년 10월에 이 공격에 대한 세부 정보를 발표했다. 공격자는 WPA2 핸드셰이크의 세 번째 단계에서 전송되는 논스를 반복적으로 재설정함으로써 이전에 확인된 암호화된 패킷을 점진적으로 일치시켜 트래픽을 암호화하는 데 사용된 전체 키체인을 학습할 수 있다.
이 취약점은 와이파이 표준 자체에 존재하며, 개별 제품이나 구현에서 건전한 표준을 구현하는 과정에서의 오류로 인한 것이 아니다. 따라서 WPA2의 모든 올바른 구현은 취약할 가능성이 높다. 이 취약점은 마이크로소프트 윈도우, macOS, iOS, 안드로이드, 리눅스, OpenBSD 및 기타를 포함한 모든 주요 소프트웨어 플랫폼에 영향을 미친다.
리눅스와 안드로이드에서 널리 사용되는 오픈 소스 구현인 wpa_supplicant는 중간자 공격에서 WPA2 보호를 효과적으로 무력화시키는 올-제로(all-zeros) 암호화 키를 설치하도록 조작될 수 있어 특히 취약했다. 버전 2.7은 이 취약점을 수정했다.
많은 와이파이 장치를 보호하는 보안 프로토콜은 본질적으로 우회될 수 있으며, 이는 공격자가 송수신 데이터를 가로챌 수 있도록 한다.
이 공격은 WPA2 프로토콜에서 논스 (일종의 "공유 비밀")를 설정하는 데 사용되는 4방향 핸드셰이크를 대상으로 한다. WPA2 표준은 가끔 와이파이 연결이 끊어지는 것을 예상하고, 세 번째 핸드셰이크에 동일한 값을 사용하여 재연결을 허용한다 (빠른 재연결 및 연속성을 위해). 표준은 이러한 유형의 재연결에서 다른 키를 사용하도록 요구하지 않으므로, 이는 언제든지 필요할 수 있으며, 재전송 공격이 가능하다.
공격자는 다른 장치의 통신에 대한 세 번째 핸드셰이크를 반복적으로 다시 보내 WPA2 암호화 키를 조작하거나 재설정할 수 있다. 각 재설정은 데이터가 동일한 값을 사용하여 암호화되도록 하므로, 동일한 내용을 가진 블록을 보고 일치시킬 수 있으며, 해당 데이터 블록을 암호화하는 데 사용된 키체인의 일부를 역으로 식별할 수 있다. 반복적인 재설정은 키체인의 더 많은 부분을 점진적으로 노출시키며, 결국 전체 키가 알려지게 되고, 공격자는 해당 연결에서 대상의 전체 트래픽을 읽을 수 있다.
US-CERT에 따르면:
"US-CERT는 Wi-Fi Protected Access II (WPA2) 보안 프로토콜의 4방향 핸드셰이크에서 여러 키 관리 취약점을 인지했다. 이 취약점을 악용할 경우 암호 해독, 패킷 재전송, TCP 연결 하이재킹, HTTP 콘텐츠 주입 등이 발생할 수 있다. 프로토콜 수준의 문제이므로 표준의 대부분 또는 모든 올바른 구현이 영향을 받을 것이다. CERT/CC와 보고 연구원인 KU Leuven은 2017년 10월 16일에 이 취약점을 공개할 것이다."
취약점을 설명하는 문서는 온라인에서 이용 가능하며, 2017년 11월 1일 ACM 컴퓨터 및 통신 보안 회의에서 공식적으로 발표되었다. US-CERT는 여러 플랫폼에서 VU#228519로 등록된 이 취약점을 추적하고 있다. 다음 CVE 식별자는 KRACK 취약점과 관련이 있다: CVE-2017-13077, CVE-2017-13078, CVE-2017-13079, CVE-2017-13080, CVE-2017-13081, CVE-2017-13082, CVE-2017-13084, CVE-2017-13086, CVE-2017-13087 및 CVE-2017-13088.
일부 WPA2 사용자는 벤더 패치가 제공되는 장치가 있는 경우, 와이파이 클라이언트 및 액세스 포인트 장치 소프트웨어를 업데이트하여 공격에 대응할 수 있다. 그러나 벤더는 패치 제공을 지연하거나, 많은 오래된 장치의 경우 아예 패치를 제공하지 않을 수 있다.
KRACK에 대한 보호를 위해 다양한 장치에 대한 패치가 다음 버전부터 제공된다.
| 시스템 | 버전 | 패치 적용 |
|---|---|---|
| 안드로이드 | 안드로이드 5.0 및 이후 | 안드로이드 2017-11-06 보안 패치 레벨 |
| 크롬OS | 전체 | Stable channel 62.0.3202.74 |
| iOS | iOS 11 | 아이폰 7, 아이패드 프로 9.7인치 및 이후 장치용 iOS 11.1; 기타 모든 지원 장치용 iOS 11.2 |
| 리니지OS | 14.1 (안드로이드 7.1) 및 이후 | 14.1-20171016 |
| macOS 하이 시에라 | 10.13 | macOS 10.13.1 |
| macOS 시에라 | 10.12 | 보안 업데이트 2017-001 Sierra |
| OS X 엘 카피탠 | 10.11 | 보안 업데이트 2017-004 El Capitan |
| tvOS | 11 | tvOS 11.1 |
| watchOS | 4 | watchOS 4.1 |
| 윈도우 | 7 | KB4041681 또는 KB4041678 |
| 윈도우 | 8.1 | KB4041693 또는 KB4041687 |
| 윈도우 | 10 | KB4042895 (초기 버전) KB4041689 (버전 1511) KB4041691 (버전 1607) KB4041676 (버전 1703) 윈도우 10 버전 1709 및 이후 버전에는 릴리스에 패치가 포함되어 있다 |
| 윈도우 서버 | 2008 | KB4042723 |
| 윈도우 서버 | 2012 | KB4041690 또는 KB4041679 |
| 윈도우 서버 | 2016 | KB4041691 |
| 우분투 리눅스 | 14.04 LTS, 16.04 LTS, 17.04 | 2017년 10월 업데이트 |
| 블랙베리 10 | 10.3.3 | 10.3.3.3049 |
취약한 클라이언트의 위험을 완화하기 위해 일부 WPA2 지원 와이파이 액세스 포인트에는 키 설치 중 EAPOL-Key 프레임 재전송을 비활성화할 수 있는 구성 옵션이 있다. TDLS가 활성화되지 않은 경우, 공격자는 지연된 프레임 전송으로 인해 재전송을 유발할 수 없어 네트워크 액세스가 거부된다. 이 방법의 한 가지 단점은 연결 불량이 발생할 경우 키 재설치 실패로 와이파이 링크가 끊길 수 있다는 점이다.
2018년 10월, 벤더가 원래 공격을 차단하는 데 사용한 기술에 대한 다양한 해결 방법을 통해 벤더 패치에도 불구하고 KRACK 취약점이 여전히 악용될 수 있다는 보고서가 나왔다.