USB, 스피커, VSCode까지: 개발자를 노리는 기상천외한 공격들

스피커를 통한 PC 해킹, VSCode 버그를 이용한 GitHub 토큰 탈취 등 개발 환경을 위협하는 기발한 보안 취약점과 공격 방식들이 공개됐다.

diff --summary

  • 스피커의 음파를 이용해 PC를 해킹하는 'Pwnd Blaster' 공격 방식이 공개됐다.
  • USB 장치처럼 동작하는 'Katana BadUSB'는 PC에 물리적 접근 없이도 악성 코드를 주입한다.
  • VSCode의 `github.dev` 버그를 통해 1-클릭만으로 GitHub 토큰을 탈취할 수 있는 취약점이 발견됐다.
  • 탈취된 GitHub 토큰은 특정 저장소에 국한되지 않고 사용자가 접근 가능한 모든 저장소에 대한 읽기/쓰기 권한을 갖는다.
  • 개발 도구의 작은 취약점도 심각한 보안 위협으로 이어질 수 있음을 보여준다.

요즘 보안 취약점 소식을 들으면 ‘이게 된다고?’ 싶은 것들이 많다. 특히 개발자라면 더욱 뼈아프게 다가올 만한 기상천외한 공격 방식들이 연이어 공개됐다. 스피커로 PC를 해킹하고, VSCode 버그로 GitHub 토큰을 털어가는 식이다.

소리로 PC를 해킹? Pwnd Blaster

먼저, Pwnd Blaster는 정말 영화에서나 나올 법한 이야기다. 이 공격은 PC 스피커의 음파를 이용해 PC를 해킹하는 방식이다. 스피커를 통해 특정 주파수와 패턴의 소리를 재생하면, 그 음파가 PC 내부의 전자기장을 교란시켜 물리적 접근 없이도 악성 코드를 주입할 수 있다는 원리다. 물론 실제 공격이 이뤄지려면 여러 조건이 필요하겠지만, 아이디어 자체만으로도 소름 돋는 대목이다.

같은 글에서 소개된 Katana BadUSB도 주목할 만하다. 이 장치는 일반 USB처럼 생겼지만, PC에 연결되면 키보드나 마우스처럼 동작해서 악성 코드를 자동으로 입력하고 실행시킨다. 물리적 보안이 뚫리면 얼마나 위험한지 다시 한번 상기시켜주는 사례다.

VSCode 버그로 GitHub 토큰 탈취

더욱 충격적인 것은 VSCode 버그를 통한 1-클릭 GitHub 토큰 탈취 소식이다. GeekNews에서도 다뤄진 이 취약점은 github.dev의 OAuth 토큰 처리 방식에 있었다. github.devgithub.com에서 넘겨받은 OAuth 토큰으로 브라우저 기반 VSCode에서 파일 열람, PR, 커밋 등을 수행한다.

문제는 이 토큰이 특정 저장소로 제한되지 않고, 사용자가 접근 가능한 모든 저장소에 대한 읽기/쓰기 권한을 갖는다는 점이다. 여기에 VSCode webview가 vscode-webview:// iframe으로 격리되지 않은 버그가 겹치면서, 악성 웹사이트가 사용자의 GitHub 토큰을 1-클릭만으로 탈취할 수 있게 된 것이다. 즉, 악성 링크만 클릭하면 내 모든 GitHub 저장소가 위험해질 수 있었다는 이야기다. 다행히 이 버그는 이미 패치되었지만, 우리가 매일 쓰는 개발 도구의 작은 취약점이 얼마나 큰 보안 구멍이 될 수 있는지 보여주는 무서운 사례다.

이런 소식들을 접할 때마다 개발 환경의 보안은 아무리 강조해도 지나치지 않다는 오래된 진리만 다시 확인하게 된다. 편리함 뒤에 숨은 위험을 항상 경계해야 할 때다.

$ sources

  1. [1] Pwnd Blaster: Hacking your PC using your speaker without ever touching it
  2. [2] Full Disclosure: 1-Click GitHub Token Stealing via a VSCode Bug
  3. [3] VSCode 버그를 통한 1-클릭 GitHub 토큰 탈취