해결책
2016년 11월, 보안 연구원 Samy Kamkar는 PoisonTap을 공개했다. 5달러짜리 라즈베리 파이 제로에서 구동되는 무료 소프트웨어로, 잠긴 Mac이나 PC에 약 30초간 꽂으면 해당 기기의 웹 트래픽과 인증 쿠키를 가로챈 뒤, 기기가 제거된 후에도 브라우저와 로컬 네트워크를 원격에서 조종할 수 있는 백도어를 설치한다. Kamkar는 Ars에 "주된 동기는 WPA2 와이파이로 작동하는 비밀번호 보호 컴퓨터에서도 시스템과 네트워크가 여전히 빠르고 쉽게 공격받을 수 있음을 보여주는 것"이라고 말했다.
이 공격 연쇄는 표준적인 편의 기능만을 이용한다. 파이는 이더넷 카드로 위장하고 DHCP로 주소를 할당하면서 게이트웨이가 되며, 로컬 네트워크를 전체 IPv4 주소 공간으로 정의함으로써 모든 인터넷 트래픽의 게이트웨이도 된다. 백그라운드 브라우저를 찾아내 Alexa 상위 100만 사이트를 가리키는 숨겨진 iframe을 주입하고, 각 사이트의 HTTP 서버로 위장하여 돌아오는 쿠키를 수집한다. 캐시에 심어둔 코드는 스틱을 뽑은 후에도 지속적인 WebSocket을 유지하며, DNS 리바인딩 공격으로 연결된 라우터에 대한 관리 권한을 확보한다.
이 기사가 나열한 방어책은 행동이 아니라 구조에 관한 것이다. HSTS와 적절히 보호된 쿠키는 쿠키 수집을 무력화하며 — 그래서 Google과 Facebook 페이지는 트리거될 수 없었다 — 다중 인증은 쿠키 기반 로그인으로는 재차 발동되지 않기 때문에 거의 도움이 되지 않는다. 최종 사용자는 잠그기 전에 브라우저를 닫거나, FileVault2를 활성화하고 Mac에서 잠자기 모드로 전환하거나, 캐시를 비울 수 있다. 가장 안전한 습관은 그저 기기를 들고 다니는 것이다.
PoisonTap은 Kamkar의 값싸고 공개된 해킹 계보를 이어갔다. 키보드 입력을 수집하는 10달러짜리 USB 충전기, 전자식으로 잠긴 자동차와 차고를 여는 30달러짜리 장치, Google 스트리트 뷰를 기반으로 만든 DIY 스토커 앱 등이 그것이다. 그는 소스 코드와 시연 영상을 공개했고, Ars Technica는 이 패턴을 점점 더 컴퓨터화되는 세계의 보안 트레이드오프에 관한 상시 경고로 규정했다.
달성한 것
잠긴 화면은 로그인 프롬프트를 지킬 뿐 네트워크 스택을 지키지 않는다. USB 이더넷 게이트웨이로 위장하고 전체 IPv4 인터넷을 '로컬'로 선언하면 쿠키가 스스로 찾아온다.
통한 이유
제로데이가 필요 없다. USB 네트워킹, DHCP, 관대한 '로컬' 범위, 캐시 지속성은 모두 평범한 편의 기능이며, 단지 올바른 순서로 연결되었을 뿐이다.
신뢰 경계를 옮겨놓았다. 로그인 프롬프트는 결코 진짜 공격 표면이 아니었다. 네트워크 스택과 백그라운드 브라우저가 진짜였다.
5달러라는 가격은 국가 행위자의 공상으로 읽히던 공격을 대중화했고, 방어 논의를 사용자 습관에서 프로토콜 수준의 보장으로 옮겼다.
하드웨어가 한 번 접촉되면 비밀번호 강도는 무의미하다. '화면을 잠그라' 같은 행동 규칙은 5달러짜리 기기 앞에서 실패하므로, HSTS와 Secure 쿠키 같은 프로토콜 계층에 보장을 두어야 한다.
여파
Kamkar는 전체 소스 코드와 시연 영상을 공개하여, 5달러짜리 보드만 있으면 누구나 이 연쇄를 재현할 수 있게 했다. 기사는 이 취약점이 이미 HSTS와 Secure 쿠키를 제대로 운영하는 사이트들 — Google과 Facebook 포함 — 에 대해서는 실패했다고 언급했으며, 이는 업계가 HTTPS 전면 기본값으로 전환하던 중간 시점의 단면이었다. 실용적 조언은 진정한 편집증적 선택지로 끝났다. 노트북을 들고 다니거나, 기기를 아예 꺼두라는 것이다.
근거 확인하기
출처
- Meet PoisonTap, the $5 tool that ransacks password-protected computers Ars Technica · arstechnica.com ·