노트북을 이용한 도청?

오늘자 (1월 7일, 목요일) 동아일보에 “노트북으로도 도청 당한다”는 기사가 보도되었습니다. 제보자인 시큐어연구회가 동아일보에만 단독 공개했다고 해서 그런지 1,2,3면을 채울만큼 크게 보도됐습니다. 네이버 뉴스에서도 IT/과학 분야의 가장 많이 본 뉴스에 올라 있네요.

간단하게 요약하면 이렇습니다. 공격자가 공격 대상자에게 메일을 보내고 첨부 파일을 열게 합니다. 파일을 여는 순간 공격자가 만든 코드가 실행되는데 이 코드는 노트북의 마이크를 이용해 음성을 녹음합니다. 1분 단위로 저장한 녹음 파일을 FTP 등의 방법으로 공격자에게 전송합니다.

기존에 없었던 새로운 도청 방식이며 아직 이를 탐지하는 백신 등의 방법도 알려져 있지 않다고 해서 이렇게 크게 보도한 듯 합니다. 그리고 대책으로 ‘노트북 도청방지 백신’을 시급히 만들어 보급해야 한다는 주장이네요. 그리고 마이크를 켜고 끌 수 있는 하드웨어 적인 똑딱이 스위치를 달아야 한다는 대안도 제시됐습니다.

기사를 꼼꼼히 읽고 첫번째 생각은 몇 년 전 이른바 메모리 해킹처럼 또 한바탕 불필요한 소란이 일겠다는 것이고 두번째 생각은 쓸데없는 솔루션이 만들어져 강제로 보급될까 걱정이었습니다.

음성을 녹음해 외부로 전송되는 것이 그렇게 큰 문제가 아니고, 그 훨씬 전 단계인 사회공학적 공격 방법이 문제라고 봅니다. 기사에서는 최초 공격에 사용한 첨부 파일이 일반적인 문서 파일이라고 헀습니다. 보낸 사람이 믿을 만한 사람이건 아니건 .exe 등의 실행 파일이었다면 무조건 실행해서는 안 됩니다. 문서 파일을 통한 공격이라면 해당 문서를 여는 프로그램의 취약점을 이용했을 수 있는데 대개 최신의 제품을 사용하며 보안 패치를 모두 적용해 두었다면 안전합니다.

이런 방식으로 악성 코드에 감염되었다면 그 뒤로는 정말 무슨 일이든 일어날 수 있습니다. 대개 악성 코드를 통해 시스템의 관리자 권한을 통째 내주는 경우가 많으니 그 때 일어날 수 있는 수많은 일 중 음성 녹음이나 전송은 작은 하나일 뿐입니다. 그런데 이를 막기 위해 노트북 도청방지 솔루션을 만들어야 한다구요? 좀 더 근본적인 문제인 악성 코드를 실행하지 않아야 한다는 관점에서, 사용자 교육이나 캠페인을 통해 패치와 백신 제품에 대한 관심을 갖게 만드는 것이 우선적이어야 합니다. 사회공학적 공격에 속지 않기 위해서 컴퓨터 보안에 대해 마음의 무장을 다지는 것도 중요합니다.

키보드 입력 값을 훔쳐 가는 것을 막기 위해 키보드 보안 제품이 나와 있습니다. 악성 코드가 외부로 데이터를 송신하는 것을 막기 위해 개인 방화벽 제품이 나와 있습니다. 메모리 해킹이라는 말이 나오자 가상화 솔루션 등 또 수십가지 아이디어가 나왔습니다 (정확히는 메모리 조작, memory manipulation이라고 해야 의미가 맞다고 생각합니다). 전부 이미 악성 코드가 PC를 장악했다는 가정 하에 그 행동을 막아보자는 취지의 제품들입니다. 시스템 권한을 가진 코드의 악의적 행위를 막으려고 노력하는 것도 무의미하지는 않겠지만 그보다 훨씬 중요한 것은 악성 코드에게 PC를 빼앗기지 말아야 한다는 점입니다. 이미 모든 일을 할 수 있는 악성 코드의 행동 하나하나를 막으려고 포인트 솔루션을 끝도 없이 만드는 것이 과연 옳은 방향일까요?

마이크로소프트가 권장하는 예방 방법은 다음 세 가지입니다.

  1. 패치 설치를 꾸준히 해야 합니다. 운영 체제와 웹 브라우저는 물론이고, 문서 작성 애플리케이션(오피스 류), 문서 보기 애플리케이션(Word Viewer, PowerPoint Viewer, Adobe Acrobat Reader 등), RIA 관련 웹 기반 애플리케이션 (Adobe Flash Player, Silverlight 등)의 보안 패치도 신속히 설치해야 합니다.
  2. 안티바이러스, 안티스파이웨어 제품이 이미 알려진 (신고가 된) 코드에 대응하는 방식이라 100% 완벽하게 사전 차단을 하지는 못하지만 그래도 반드시 사용해야 합니다. 패턴을 항상 최신으로 유지하고 실시간 감시 기능을 켜 놓아야 합니다.
  3. 개인 방화벽을 켜 놓아야 합니다. 인터넷 뱅킹을 사용할 때만 한시적으로 반짝 동작하는 것 말고, 상시적으로 인바운드, 아웃바운드 트래픽을 제어할 수 있는 방화벽을 사용하는 것이 좋습니다.

파일을 실행할 때 이것이 악의적인 행동을 할 지 미리 알기는 사실상 불가능하며 이를 조금이라도 알기 쉽게 만들고자 소프트웨어 업체 들에서는 많은 노력을 하고 있습니다. 코드 서명도 그래서 중요하고 IE에서 파일의 출처를 NTFS 스트림에 넣는 것도 그런 의미가 있습니다. Office 2010에서도 이런 방향으로 큰 노력을 하고 있습니다.

드러내 놓고 말하지는 않지만 보안 패치 설치나 최신 서비스 팩 적용을 꺼리는 이유 중의 하나가 소프트웨어 정품을 사용하지 않기 때문이기도 합니다. 또 각종 유료 애플리케이션을 어둠의 경로에서 구하다 보면 제품키를 가짜로 만들기 위한 키 제너레이터가 트로이 목마를 심기도 하지요. 이제 시스템을 지켜내기 위해서라도 정품을 써야하는 시대입니다.