KRACK 취약점이란?

key reinstallation attacks (KRACKs)”의 약어다. 와이파이의 암호화 통신인 WPA2에 있는 취약점이고, 디바이스가 와이파이에 접속할 때 키를 바꿔치기해서 엉뚱한 와이파이에 접속하도록 만드는 공격 방식이다. 공격자가 미리 준비한 와이파이로 해당 디바이스를 속여서 접속하게 한 뒤 인터넷 트래픽을 조작한다. 가장 간편한 공격은, SSL 접속을 일반 접속으로 바꿔치기해서 아이디와 비밀번호를 얻는 것이다. 구글처럼 잘 설정된 웹사이트는 이 방식이 통하지 않는다고 하는데, 그렇지 않은 사이트는 이 방식이 통한다고 한다.

이 취약점을 발견한 Mathy Vanhoef는 https://www.krackattacks.com/을 열고 자세한 내용을 공개했다. 아래는 Mathy Vanhoef가 공개한 동영상이다. 위에서 말한 내용을 동영상으로 확인할 수 있다.

안드로이드 6.0 이상이 특히 위험하다

안드로이드 6.0 이상에서는 가짜 웹사이트를 주입하는 것이 가능하다고 한다. 6.0 이상의 안드로이드 기기는 전체 안드로이드 기기의 41퍼센트다.

패치 상황

  • MS는 10월 10일에 윈도우 업데이트를 통해 패치를 적용했다. (링크)
  • iOS 11과 맥OS High Sierra에서는 해당 공격이 매우 어렵다고 한다.
  • 애플은 취약점을 패치한 iOS 버전을 몇 주 안에 출시할 것이라고 애플 분석가(?)인 Rene Ritchie에게 확인해 줬다. (즉, 아직 완전히 해결되지는 않았다.)
  • 구글은 몇 주 안에 안드로이드 패치를 발표할 것이라고 했다.
  • 우분투는 10월 16일에 패치를 적용했다. 대상은 14.04, 16.04, 17.04다. wpa_supplicant 패키지의 버전을 확인하라. (링크)
  • 라우터(공유기)의 버그가 아니기 때문에 라우터 펌웨어를 업데이트하는 것은 도움이 안 된다. 공유기가 다른 공유기에 접속하는 경우(중계 모드) 패치가 필요하다. 또한 802.11r(패스트 로밍) 기능을 비활성화하는 것은 문제 완화에 도움이 된다. (링크)

더 많은 업체에 대한 정보는 “Here’s every patch for KRACK Wi-Fi vulnerability available right now”에서 확인할 수 있다.

대응 방법

KRACK은 와이파이 스팟에 접근해서 공격을 해야 하므로, 공격 기기가 타겟에 물리적으로 가까이에 있어야 한다. 미리 노리는 타겟이 있어야 하는 것이며, 무차별적 공격을 하기엔 비용 대비 효과가 너무 적은 공격 방식이다. 따라서 모두가 두려워할 필요는 없다. 그러나 해커의 타겟이 될 만한 사람들은 조심할 필요가 있다.

안드로이드 6.0 이상 사용자라면…

  • 자신의 디바이스에 패치를 적용하기 전까지는 믿을 만한 VPN이 있다면 상시 접속해 둔다. 단, VPN의 보안이 충실해야 한다. 인터넷에 검색해서 나오는 출처불명의 무료 VPN들은 보안이 취약할 가망이 높다.
  • 믿을 만한 VPN이 없다면 오페라 VPN을 사용하는 것도 방법이다.
  • VPN을 사용하지 않는다면, 안드로이드 사용자는 패치가 적용되기 전까지는 와이파이에 접속하지 않는다.
  • 안드로이드 커스텀롬인 리니지OS는 10월 16일 버전에서 문제를 해결했다. 대부분에겐 가능하지 않겠지만, 커스텀롬으로 옮기는 것도 방법이다. (루팅 없이 커스텀롬만 설치하는 것도 가능하다.)

나머지

  • iOS 11 사용자는 크게 두려워할 필요까진 없어 보인다. iOS 11 사용자가 아니라면 업데이트 하라고 공지한다.
  • 아이폰5 이하는 iOS 11을 설치할 수 없으니 VPN밖에 답이 없다. 오페라 VPN을 사용해 볼 수도 있을 테고, 5년 된 폰이니 아예 폰을 변경하는 것도 고려해 볼 만하다.
  • 윈도우는 모두 업데이트를 적용한다.
  • 리눅스는 모두 업데이트를 적용한다.
  • 라우터를 중계 모드(Repeater Mode)로 이용하는 경우(즉, 라우터가 클라이언트 디바이스가 되는 경우) 해당 라우터의 제조사에 문의하고, 패치가 되기 전까지는 중계 모드를 이용하지 않는다.

혹시 암호화 방식을 WPA2에서 다른 것으로 변경하면 되지 않을까 생각하고 있다면 접자. 다른 방식들은 이미 취약점이 발견돼 있으므로 WPA2가 가장 안전하다. 취약점 발견자인 보안 전문가 Mathy Vanhoef도 절대 다른 암호화 방식을 사용하지 말라고 말하고 있다.

제한 사항

나는 보안 전문가가 아니다. Mathy Vanhoef의 사이트와 여러 IT 매체들에서 본 것을 바탕으로 정리한 것이긴 하지만, 기술적 내용을 충분히 숙지하고 작성한 것은 아니므로 오류가 있을 수 있다. 특히 대응 부분은 내 이야기만을 전적으로 믿어서는 안 된다.

기타 이야기

Mathy Vanhoef는 7월에 처음 이 취약점을 발견하고, 각 IT 조직과 업체에 알렸다고 한다. 첫 엠바고는 8월 말 즈음이었다고(아마 이후에 10월로 미뤄져 최근 보도된 모양이다). 그런데 OpenBSD는 엠바고를 참지 않고 패치를 발표하겠다고 성화를 부린 듯하고, 8월 말 첫 엠바고 데드라인 즈음에 “조용한 패치(silent patch)”를 하는 것으로 타협을 봤다고 한다. 패치를 역분석하면 취약점을 알 수 있는 노릇이니, 이 타협은 부적절한 것이었고, 앞으로 Mathy Vanhoef는 OpenBSD에는 취약점을 엠바고 즈음해서 알려 줄 생각이라고 적고 있다.