Vulnerability
USB로 컴퓨터 해킹하기, 포이즌탭(Poison Tap)
2016 12 21
  • Facebook
  • Twitter
  • Copy URL

일을 하다가 혹은 잠깐의 쉬는 시간을 가질 때 일반적으로 컴퓨터를 끄지 않고 단순히 잠금만 해놓는 것이 대부분이다. 하지만, 며칠 전 한 해커가 공개한 공격에 의해 이제는 맘 놓고 자리도 비울 수 없을 것 같다. 미국의 보안 연구원이며 해커로 유명한 새미 캄카르(Samy Kamkar)는 최근 USB를 이용하여 30초만에 컴퓨터의 방어 시스템을 무력화하고 침입할 수 있는 공격 기법을 자신의 블로그에 공개했다. 그는 컴퓨터가 잠겨 있어도 자신이 만든 USB만 꽂으면 사용자의 컴퓨터와 연결할 수 있는 네트워크 통로를 만들었다. 그는 자신이 만든 PoC(proof-of-concept)장치, USB에 포이즌탭(PoisonTap)라는 이름을 붙이고 이에 대한 회로도와 코드를 공개했다. 그가 포이즌탭을 만드는데 들었던 비용은 고작 5천원 정도였다.

이미지를 불러오는데 실패했습니다.

이 포이즌탭의 가장 무서운 점은 일상생활에서도 쉽게 사용이 가능하다는 것이다. 그저 눈에 보이는 컴퓨터에 USB만 꽂고 잠깐의 시간만 기다리면 된다. 혹시나 컴퓨터가 잠겨있더라도 네트워크는 계속 연결되어 있어 포이즌탭은 네트워크를 통해 들어오는 트래픽을 넘겨 받는다. 즉, 포이즌탭 스스로 가상의 네트워크 서버를 만들어 사용자가 마치 인터넷에 접속한 것처럼 가장하고 연결된 모든 네트워크에서 인터넷 쿠키나 트래픽을 탈취한다. 쿠키에는 사용자를 인식할 수 있는 정보가 포함되어 있어 세션 쿠키를 사용하면 웹 사이트에서 사용자를 인식할 수 있다. 따라서 쿠키를 통해 사용자의 아이디나 비밀번호 없이도 그들이 사용하는 모든 웹사이트에 접근할 수 있다. 더불어 일반적으로 운영체제에 악성코드를 설치하는 대신 캄카르는 사용자의 브라우저 캐시에 악성코드를 숨겨 백도어를 설치했다. 그는 이를 통해 사용자의 온라인 계정을 해킹하거나 회사 인트라넷 사이트, 라우터 등에 접근할 수 있으며 이 같은 과정이 실행하는데 1분도 걸리지 않았다.

더불어 쿠키를 훔치는 것은 포이즌탭의 여러 기술 중 하나일 뿐이다. 포이즌 탭은 사용자 브라우저에서 사이트 주소 목록을 가져올 때 브라우저는 해당 사이트 캐시를 조작하여 저장한다. 이는 컴퓨터가 웹 사이트에 사용자 연결을 유지하는 브라우저의 기능을 이용한 것으로 그는 이를 캐시 중독이라 말했다. 더불어 포이즌탭이 지속적인 통신채널이 필요하다. 이러한 것을 웹 소켓이라 한다. 숨겨진 아이프레임을 통해 해커는 캐시된 사이트에 백도어를 설치하고 HTTP 요청을 하여 응답을 수신한다. 이를 통해 해커가 잠깐의 시간 동안만 포이즌탭을 꼿고 빼버려도 오랫동안 사용자의 브라우저를 악용할 수 있다. 결국, 포이즌탭을 통해 브라우저가 기본적으로 로컬영역을 만들어 내는 것이다.

포이즌탭은 사용자의 브라우저에서 새로운 웹 콘텐츠에 대한 요청을 기다린다. 웹 콘텐츠에 대한 요청이란 브라우저가 실행되어 있으면 컴퓨터가 잠겨 있어도 브라우저가 보여주는 웹 페이지에서 광고 또는 뉴스 업데이트와 같이 새로운 HTTP 데이터를 주기적으로 가져오는 것이다. 포이즌탭이 요청을 확인하면 응답을 가로채고 브라우저 자체 페이로드 즉, 아이프레임(IFRAME)이 포함된 페이지를 제공한다. 여기서 제공되는 페이지는 인기 있는 웹 사이트에서 가져와 세밀하게 만들어져 구성된다. 특히나 그는 웹 인기 서비스사인 알렉사에서 100만개의 사이트 명단을 빼내어 구성했다. 100만개의 주소 목록을 로드할 때 포이즌탭은 브라우저가 저장한 쿠키를 공유하여 사용자의 브라우저를 속여서 쿠키 데이터를 모두 포지즌탭의 텍스트 파일에 기록하여 탈취한다.

 

캄카르의 공격은 겉보기에는 단순히 USB를 꽂는 것이기 때문에 해가 없어 보인다. 하지만 무척이나 복잡하고 세밀한 보안 감시 소프트웨어와 결합하여 작동한다. 먼저 포이즌탭이 컴퓨터에 연결되면 캄카르의 코드가 작동된다. 포이즌탭에 연결된 라즈베리파이는 컴퓨터 USB 드라이브에 연결되면 새로운 이더넷 연결을 가장한다. 컴퓨터가 이미 무선 네트워크에 연결되어 있으면 포이즌탭은 미리 연결된 무선 네트워크를 통해 접근할 수 있는 모든 IP 주소를 알려주도록 프로그래밍 되어 있다. 이러한 것이 가능한 이유는 접근할 수 있는 IP의 주소는 네트워크에 있는 것이 아니라 사실은 로컬에 있기 때문이다. 즉, 무선 네트워크의 네트워크 연결보다 포이즌 탭의 네트워크 연결에 더 우선순위를 둔다.

이미지를 불러오는데 실패했습니다.

이러한 캄카르의 공격기법을 본 센티넬원(SentinelOne)의 보안 전략 책임자이며 웹 보안 전문가 제레미아 그로스맨(Jeremiah Grossman)은 이 같은 방법을 보고 무척이나 감지하기 어려운 공격으로 물리적인 접근을 통해 백도어를 설치하고 연결한 것은 무척이나 독창적이고 효과적인 백도어 도구라고 말했다. 또한, 보안회사 트렌드마이크로(Trend Micro)의 릭 퍼거슨(Rik Ferguson) 역시 무척이나 강력하고 매우 위협적인 해킹 도구라고 말했다.

캄카르가 포이즌탭을 만든 의도는 누구나 회사 네트워크에 백도어 쉽게 설치할 수 있도록 만든 것이 아니다. 물론 그의 포이즌탭을 사용하면 컴퓨터에 대해 아무것도 모르더라도 해킹이 가능하다. 하지만 그는 그보다도 잠겨 있는 컴퓨터 역시 보안에 여전히 취약하다는 것을 보여주고 싶다고 말했다.

포이즌탭은 소프트웨어의 일반적인 취약점이 아니라 운영체제 및 웹 브라우저에 존재하는 설계상 미묘한 문제를 이용하여 공격한다. 단순히 소프트웨어의 문제라면 소프트웨어 코드 수정을 통해 고쳐나갈 수도 있겠지만 이 취약점은 인터넷 자체의 설계상 문제여서 기술적으로 차단하거나 방어하기가 어렵다. 캄카르가 말하기로는 사람들이 점심시간에 노트북을 책상에 두고 나가가거나 스크린 세이버에 암호를 넣어 잠시 자리를 비우는 것쯤은 안전하다고 느낀다고 한다. 이러한 그들에게 완전한 보안이 없다는 것을 알려주고 싶었다고 한다. 이 같은 공격에 그가 말한 한 가지 해결책은 신뢰할 수 있는 무선 네트워크에 자동으로 연결하는 대신 포이즌탭과 같은 새로운 네트워크 장치가 연결되면 운영체제에 허가를 요청하는 것이다.

하지만 이에 대해 마이크로소프트 대변인은 컴퓨터 근처로 물리적인 접근을 막고 소프트웨어를 최신으로 유지한다는 것이 가장 좋은 해결책이라고 말했다. 더불어 다른 누군가는 컴퓨터를 최대 절전 모드로 설정하는 것이 습관화되어야 한다고 덧붙였다. 최대 절전 모드는 컴퓨터의 모든 프로세스를 일시 중지하고 컴퓨터를 천천히 깨우는 설정이다. 외에도 정기적으로 캐시를 지우고 브라우저를 닫고 다니며 USB 포트에 접착제를 채우는 것 같은 과감한 해결책도 있다. 아무튼 캄카르는 포이즌 탭과 같은 도구를 사용하면 사무실 주변에서 무인 걸어 다니는 해커가 곧 회사 네트워크를 자유롭게 이동할 수 있으므로 누군가가 자신의 컴퓨터에 USB를 들고 오는 것을 물리적으로 막으라고 말했다.

이미지를 불러오는데 실패했습니다.

 

유성경 yuopboy@grayhash.com