Dragonblood, WPA3 해킹 취약점

Dragonfly=WPA3-SAE

현재 주류를 이루고 있는 와이파이 보안 표준인 WPA2를 보강한 WPA3가 2018년에 발표됐다. WPA3는 Personal용과 Enterprise용으로 나뉘는데, 개인용 WPA3는 WPA2에서의 PSK를 대체하여 SAE라는 프로토콜을 사용한다. 이 WPA3-SAE는 Dragonfly라는 별명으로 불린다.

드래곤플라이의 특징은 암호 크랙이 거의 불가능하다는 것이다. 그런데 최근에 드래곤플라이의 암호를 깨트릴 수 있는 취약점이 발견됐다. 이를 발견한 연구팀은 Dragonblood라고 불렀다.

와이파이 암호를 알아내면 네트워크 내부로 침투할 수 있다. 공유 폴더, NAS 등에 저장된 자료에 접근할 수 있는 것이다. 추가적인 해킹을 위한 발판도 된다. 또한 암호화된 https 통신이 아닌 경우에는 그 내용도 엿볼 수 있다. 로그인 정보, 신용카드 정보 등 민감한 것들도 포함된다.

WPA3-Transition 모드에 대한 Downgrade 공격

WPA3에는 WPA2만을 지원하는 기기와 호환성을 유지하기 위해, Transition 모드가 있다. WPA3는 아직 보급 초기이기 때문에 불가피한 선택이다. 그런데 이것이 약점이 되고 있다.

트랜지션 모드에서는 하나의 암호로 WPA2 와이파이와 WPA3 와이파이에 모두 연결할 수 있다. 이 점을 이용해 해커는 악의적인 AP(라우터, 공유기)를 설치해서, WPA3 기기가 WPA2로 연결하도록 강제할 수 있다. 이 연결 시도 과정에서 발생한 트래픽을 캡쳐해서, 암호를 알아내는 brute-force 공격에 이용하는 것이다.

이와는 별개로, 기기 자체의 결함이 다운그레이드 공격의 빌미가 될 수도 있다. WPA3를 기기에 구현하는 과정에서 오류를 범한 경우이다. 예를 들어, 삼성 갤럭시 S10은 트랜지션 모드가 아니라 WPA3만을 사용하도록 설정된 경우에도, WPA2로 연결되도록 강제할 수 있다.

Security Group Downgrade Attack

이것은 드래곤플라이 프로토콜 자체에 대한 공격이다. Dragonfly handshake에는 group negotiation 과정이 있는데, 해커는 정상적인 AP를 가장하여, 기기로 하여금 약한 security group을 선택하도록 강제할 수 있다.

시간 측정을 통한 부채널 공격

Timing-based Side-channel attack도 가능했다. 공유기가 commit frame에 응당하는 데 걸린 시간이, 암호와 관련된 정보를 누출할 수 있는 취약점이 있다. 이 정보를 이용해 브루트 포스 공격을 감행해 암호를 알아낼 수 있다.

메모리 관찰을 통한 부채널 공격

Cache-based Side-channel attack의 가능성도 있다. commit frame을 구축할 때, memory access pattern을 관찰할 수 있다. 이 패턴이 암호와 관련된 정보를 누출할 수 있다. 이 정보를 이용해 브루트 포스 공격을 할 수 있다. 다만 메모리 액세스 패턴을 관찰하려면 피해자의 기기에 악성코드가 필요하다. 악성코드는 앱의 형태일 수도 있고, 브라우저 상의 자바 스크립트일 수도 있다.

서비스 거부 공격

WPA3는 DoS(Denial-of-Service) attack에 대한 방어 메커니즘이 있다. 그러나 쉽게 우회될 수 있는 것이 문제다. 이 공격을 받게 되면 기기의 자원이 소모되어 느려지거나 작동을 멈추게 된다.

EAP-PWD도 결함

드래곤블러드 취약점들은 주로 WPA3 personal에 관련된 것들이다. 그런데 WPA3 enterprise에 사용되는 인증 방법인 EAP-PWD도 취약한 부분이 있었다. EAP-PWD가 드래곤플라이를 사용하기 때문에, 위의 공격 방법들이 여기에도 유효했다.

게다가 대다수의 제조업체가 기기에 EAP-PWD를 적용하면서 오류를 범했다. 그래서 더 쉬운 공격이 가능했다. 임의의 사용자를 가장하여, 암호를 알아낼 필요도 없이, 와이파이에 접속할 수 있다.

소프트웨어 업데이트로 해결

드래곤블러드의 파장은 크지는 않을 것이다. WPA3는 보급 초창기라 영향 받는 사용자가 많지 않을 것이다. 그리고 소프트웨어 업데이트만으로 간단히 해결할 수 있다. 와이파이 연합은 기기 제조사를 통해 업데이트를 확인하고, 항상 최신 버전의 소프트웨어를 사용할 것을 권고했다.

강력한 암호는 언제나 정답

WPA3는 brute-force attack이 거의 불가능하고, 따라서 길고 복잡하지 않은 암호를 사용해도 안전하다고 선전해 왔다. 그러나 드래곤블러드 취약점을 보면 결국은 브루트 포스 공격으로 이어지는 것이다.

따라서 암호는 언제 어디서나 강력하게 설정해야 한다. PC 성능의 향상은 물론, 클라우드 서비스를 이용해 엄청난 컴퓨팅 파워를 사용할 수 있기 때문에, 암호 크래킹은 점점 쉬워지고 있다. 영문 소문자 8개로 이루어진 암호는 아마존 클라우드를 125달러에 임대해 손쉽게 깨트릴 수 있다.

취약한 프로토콜 제거

기존 제품이나 서비스와의 호환을 위해, 낡고 취약한 소프트웨어나 프로토콜을 사용하는 경우는 많다. 위의 다운그레이드 공격에서 알 수 있듯이, 이런 점이 취약점이 될 수 있다.


이 그림은 WPA2를 지원하는 공유기의 인증 설정 화면이다. WPA2와 AES가 가장 강력한 수단임에도 불구하고, 취약한 WPA와 TKIP을 동시에 지원하는 옵션이 제공된다. 취약한 프로토콜은 배제하고, 강력한 것만으로 구성하는 것이 좋다.

그런데 공유기 이외에 스마트폰 등 기기는 WPA, WPA2, TKIP, AES를 구별하지 않고, 자동으로 식별하여 연결하도록 설정된 것들이 있다. 세밀한 설정이 불가능한 것이다. 취약한 부분이라 할 수 있다.


관련 자료
  1. WPA2 와이파이 해킹을 더 쉽게 만드는 방법 발견
  2. WPA3 특징

참고 자료
  1. Dragonblood
  2. Security Update April 2019 

댓글

이 블로그의 인기 게시물

마이크로소프트 4K 무선 디스플레이 어댑터(MS WDA 3) 리뷰

와이파이(Wi-Fi) 보안 설정

엑셀 필터 상태에서 복사와 잘라내기