KRACK
| 파일:KRACK-logo-small.png KRACK 공격 로고 | |
| CVE 식별자 | CVE-2017-13077, CVE-2017-13078, |
|---|---|
| 발견일 | 2016년 |
| 발견자 | Mathy Vanhoef and Frank Piessens |
| 영향을 받는 하드웨어 | 와이파이 보호 접속 (WPA)을 사용하는 모든 장치 |
| 영향을 받는 소프트웨어 | WPA를 사용하는 모든 운영체제 |
KRACK(Key Reinstallation Attack, "키 재설치 공격")은 와이파이 연결을 보호하는 와이파이 보호 접속 프로토콜에 대한 재전송 공격 (악용 가능한 결함 유형)이다. 이 공격은 2016년[1] 벨기에 연구원 마티 반호프와 프랭크 피슨스가 뢰번 가톨릭 대학교에서 발견했다.[2] 반호프의 연구 그룹은 2017년 10월에 이 공격에 대한 세부 정보를 발표했다.[3] 공격자는 WPA2 핸드셰이크의 세 번째 단계에서 전송되는 논스를 반복적으로 재설정함으로써 이전에 확인된 암호화된 패킷을 점진적으로 일치시켜 트래픽을 암호화하는 데 사용된 전체 키체인을 학습할 수 있다.
이 취약점은 와이파이 표준 자체에 존재하며, 개별 제품이나 구현에서 건전한 표준을 구현하는 과정에서의 오류로 인한 것이 아니다. 따라서 WPA2의 모든 올바른 구현은 취약할 가능성이 높다.[4] 이 취약점은 마이크로소프트 윈도우, macOS, iOS, 안드로이드, 리눅스, OpenBSD 및 기타를 포함한 모든 주요 소프트웨어 플랫폼에 영향을 미친다.[3]
리눅스와 안드로이드에서 널리 사용되는 오픈 소스 구현인 wpa_supplicant는 중간자 공격에서 WPA2 보호를 효과적으로 무력화시키는 올-제로(all-zeros) 암호화 키를 설치하도록 조작될 수 있어 특히 취약했다.[5][6] 버전 2.7은 이 취약점을 수정했다.[7]
많은 와이파이 장치를 보호하는 보안 프로토콜은 본질적으로 우회될 수 있으며, 이는 공격자가 송수신 데이터를 가로챌 수 있도록 한다.[8]
상세
이 공격은 WPA2 프로토콜에서 논스 (일종의 "공유 비밀")를 설정하는 데 사용되는 4방향 핸드셰이크를 대상으로 한다. WPA2 표준은 가끔 와이파이 연결이 끊어지는 것을 예상하고, 세 번째 핸드셰이크에 동일한 값을 사용하여 재연결을 허용한다 (빠른 재연결 및 연속성을 위해). 표준은 이러한 유형의 재연결에서 다른 키를 사용하도록 요구하지 않으므로, 이는 언제든지 필요할 수 있으며, 재전송 공격이 가능하다.
공격자는 다른 장치의 통신에 대한 세 번째 핸드셰이크를 반복적으로 다시 보내 WPA2 암호화 키를 조작하거나 재설정할 수 있다.[9] 각 재설정은 데이터가 동일한 값을 사용하여 암호화되도록 하므로, 동일한 내용을 가진 블록을 보고 일치시킬 수 있으며, 해당 데이터 블록을 암호화하는 데 사용된 키체인의 일부를 역으로 식별할 수 있다. 반복적인 재설정은 키체인의 더 많은 부분을 점진적으로 노출시키며, 결국 전체 키가 알려지게 되고, 공격자는 해당 연결에서 대상의 전체 트래픽을 읽을 수 있다.
US-CERT에 따르면:
"US-CERT는 Wi-Fi Protected Access II (WPA2) 보안 프로토콜의 4방향 핸드셰이크에서 여러 키 관리 취약점을 인지했다. 이 취약점을 악용할 경우 암호 해독, 패킷 재전송, TCP 연결 하이재킹, HTTP 콘텐츠 주입 등이 발생할 수 있다. 프로토콜 수준의 문제이므로 표준의 대부분 또는 모든 올바른 구현이 영향을 받을 것이다. CERT/CC와 보고 연구원인 KU Leuven은 2017년 10월 16일에 이 취약점을 공개할 것이다."[10]
취약점을 설명하는 문서는 온라인에서 이용 가능하며,[11] 2017년 11월 1일 ACM 컴퓨터 및 통신 보안 회의에서 공식적으로 발표되었다.[5] US-CERT는 여러 플랫폼에서 VU#228519로 등록된 이 취약점을 추적하고 있다.[12] 다음 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.[5]
일부 WPA2 사용자는 벤더 패치가 제공되는 장치가 있는 경우, 와이파이 클라이언트 및 액세스 포인트 장치 소프트웨어를 업데이트하여 공격에 대응할 수 있다.[13] 그러나 벤더는 패치 제공을 지연하거나, 많은 오래된 장치의 경우 아예 패치를 제공하지 않을 수 있다.[13][1]
패치
KRACK에 대한 보호를 위해 다양한 장치에 대한 패치가 다음 버전부터 제공된다.
| 시스템 | 버전 | 패치 적용 |
|---|---|---|
| 안드로이드 | 안드로이드 5.0 및 이후 | 안드로이드 2017-11-06 보안 패치 레벨[14] |
| 크롬OS | 전체 | Stable channel 62.0.3202.74[15] |
| iOS | iOS 11 | 아이폰 7, 아이패드 프로 9.7인치 및 이후 장치용 iOS 11.1;[16] 기타 모든 지원 장치용 iOS 11.2[17] |
| 리니지OS | 14.1 (안드로이드 7.1) 및 이후 | 14.1-20171016[18] |
| macOS 하이 시에라 | 10.13 | macOS 10.13.1[19] |
| macOS 시에라 | 10.12 | 보안 업데이트 2017-001 Sierra[19] |
| OS X 엘 카피탠 | 10.11 | 보안 업데이트 2017-004 El Capitan[19] |
| TvOS | 11 | tvOS 11.1[20] |
| WatchOS | 4 | watchOS 4.1[21] |
| 윈도우 | 7 | KB4041681 또는 KB4041678[22] |
| 윈도우 | 8.1 | KB4041693 또는 KB4041687[22] |
| 윈도우 | 10 | KB4042895 (초기 버전) KB4041689 (버전 1511) KB4041691 (버전 1607) KB4041676 (버전 1703) 윈도우 10 버전 1709 및 이후 버전에는 릴리스에 패치가 포함되어 있다[22] |
| 윈도우 서버 | 2008 | KB4042723[22] |
| 윈도우 서버 | 2012 | KB4041690 또는 KB4041679[22] |
| 윈도우 서버 | 2016 | KB4041691[22] |
| 우분투 리눅스 | 14.04 LTS, 16.04 LTS, 17.04 | 2017년 10월 업데이트[23] |
| 블랙베리 10 | 10.3.3 | 10.3.3.3049 |
해결 방법
취약한 클라이언트의 위험을 완화하기 위해 일부 WPA2 지원 와이파이 액세스 포인트에는 키 설치 중 EAPOL-Key 프레임 재전송을 비활성화할 수 있는 구성 옵션이 있다. TDLS가 활성화되지 않은 경우, 공격자는 지연된 프레임 전송으로 인해 재전송을 유발할 수 없어 네트워크 액세스가 거부된다.[24] 이 방법의 한 가지 단점은 연결 불량이 발생할 경우 키 재설치 실패로 와이파이 링크가 끊길 수 있다는 점이다.
지속적인 취약성
2018년 10월, 벤더가 원래 공격을 차단하는 데 사용한 기술에 대한 다양한 해결 방법을 통해 벤더 패치에도 불구하고 KRACK 취약점이 여전히 악용될 수 있다는 보고서가 나왔다.[25]
같이 보기
- KrØØk
- IEEE 802.11r-2008 – 802.11r 빠른 BSS 전환 (FT) 문제
- 무선 보안
- WPA3
각주
- ↑ 가 나 Cimpanu, Catalin (2017년 10월 16일). “New KRACK Attack Breaks WPA2 WiFi Protocol”. 《Bleeping Computer》. 2017년 10월 16일에 확인함.
- ↑ Gallagher, Sean (2017년 10월 16일). “How the KRACK attack destroys nearly all Wi-Fi security”. 《아르스 테크니카》. 2017년 10월 16일에 확인함.
- ↑ 가 나 Hern, Alex (2017년 10월 16일). “'All Wifi Networks' Are Vulnerable to Hacking, Security Expert Discovers”. 《가디언》. ISSN 0261-3077. 2017년 10월 16일에 확인함.
- ↑ Vanhoef, Mathy (2017). “Key Reinstallation Attacks”.
- ↑ 가 나 다 Goodin, Dan (2017년 10월 16일). “Severe flaw in WPA2 protocol leaves Wi-Fi traffic open to eavesdropping”. 《아르스 테크니카》. 2017년 10월 16일에 확인함.
- ↑ “41 percent of Android phones are vulnerable to 'devastating' Wi-Fi attack”. 《더 버지》. 2017년 10월 16일에 확인함.
- ↑ https://w1.fi/cgit/hostap/plain/wpa_supplicant/ChangeLog 틀:Bare URL plain text
- ↑ “What the KRACK Wi-Fi vulnerability means for you and your devices”. 2017년 10월 16일. 2017년 10월 16일에 원본 문서에서 보존된 문서.
- ↑ “Wi-Fi Security Flaw: Billions of devices are affected by Eavesdropping Attacks”. 《LookGadgets》. 2020년 2월 27일에 확인함.
- ↑ Merriman, Chris (2017년 10월 16일). “World WiFi at Risk from KRACK”. 《V3》. 2017년 10월 16일에 확인함.
- ↑ Vanhoef, Mathy; Piessens, Frank (2017). “Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2” (PDF). 2017년 10월 16일에 확인함.
- ↑ “Vendor Information for VU#228519”. 《www.kb.cert.org》. 2017년 10월 16일에 원본 문서에서 보존된 문서. 2017년 10월 16일에 확인함.
- ↑ 가 나 Wagenseil, Paul (2017년 10월 16일). “KRACK Attack Threatens All Wi-Fi Networks: What to Do”. 《Tom's Guide》. 2017년 10월 17일에 확인함.
- ↑ “Android Security Bulletin – November 2017”. 《android.com》. 2017년 11월 7일에 확인함.
- ↑ “Stable Channel Update for Chrome OS”. 《chromereleases.googleblog.com》. 2017년 11월 7일에 확인함.
- ↑ “About the security content of iOS 11.1 – Apple Support”. 《support.apple.com》. 2017년 11월 1일에 확인함.
- ↑ “About the security content of iOS 11.2 – Apple Support”. 《support.apple.com》. 2017년 12월 7일에 확인함.
- ↑ The LineageOS Project (2017년 10월 16일). “All official 14.1 builds built after this tweet have been patched for KRACK.”. 트위터. 2018년 12월 15일에 확인함.
- ↑ 가 나 다 “About the security content of macOS High Sierra 10.13.1, Security Update 2017-001 Sierra, and Security Update 2017-004 El Capitan – Apple Support”. 《support.apple.com》. 2017년 11월 1일에 확인함.
- ↑ “About the security content of tvOS 11.1” (미국 영어). 《Apple Support》. 2017년 11월 7일에 확인함.
- ↑ “About the security content of watchOS 4.1” (미국 영어). 《Apple Support》. 2017년 11월 7일에 확인함.
- ↑ 가 나 다 라 마 바 “CVE-2017-13080 Windows Wireless WPA Group Key Reinstallation Vulnerability”. 《microsoft.com》. 2017년 11월 1일에 확인함.
- ↑ “Has Ubuntu been patched against the KRACK attack?”. 2019년 4월 17일에 확인함.
- ↑ “OpenWrt Project: docs:user-guide:wifi_configuration”. 《openwrt.org》.
- ↑ Chirgwin, Richard (2018년 10월 5일). “Man the harpoons: The KRACK-en reawakens in updated WPA2 attack” (영어). 《The Register》. 2018년 10월 5일에 확인함.
외부 링크
- CS1 - 미국 영어 인용 (en)
- CS1 - 영어 인용 (en)
- 잘못된 파일 링크가 포함된 문서
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- 와이파이
- 취약점 공격