2012년 11월 22일 목요일

소셜 네트워크 서비스에서의 보안 위협

거의 보름만에 다시 블로그에 글을 남기게 되는 것 같습니다. 지난 일주일간은 중국 항주에서 진행된 제 15회 AVAR(Association of anti Virus Asia Researchers) 보안 컨퍼런스에 참석하고, 거기에 따른 출장 준비 등을 하느라 2주 정도를 바삐 보낸 것 같습니다. 조만간 AVAR 컨퍼런스 참석과 중국 항주 관광과 관련된 사진들을 올려보도록 하겠습니다.

오늘 작성하는 글은 2011년 7월 "월간 안"에 기고한 소셜 네트워크(Social Network)와 관련된 보안 위협들에 정리한 "소셜 네트워크 서비스에서의 보안 위협"이라는 원고 입니다. 지난 번 원고에서는 트위터(Twitter)라는 특정 소셜 네트워크 플랫폼과 서비스에서 발생하는 보안 위협들에 대한 연구에 촛점이 맞추어진 원고라면, 이번 원고에서는 트위터 외에 페이스북(Facebook)을 포함해 소셜 네트워크 플랫폼을 악성코드 유포나 개인 정보 탈취 등에 악용하는 다양한 형태들을 연구했다는 차이점이 있습니다.


+---------------------------


보안 위협은 현재의 IT 트렌드와 사회적인 이슈에 민감하게 반응한다. 이러한 경향을 살펴봤을 때 악성코드 제작자들에게 현재 가장 매력적인 먹잇감은 단연 SNS(Social Network Service)이다. SNS에서 발생하는 보안 위협의 특징과 실제 사례를 살펴보자.

소셜 네트워크 서비스로 인한 사회적 관계의 변화

최근 한국인터넷진흥원(이하 KISA)에서는 ‘2011년 상반기 스마트폰(Smartphone) 이용 실태 조사’라는 흥미로운 보고서를 발표했다. 이 보고서는 전국 만 12세에서 29세 사이의 스마트폰 사용자 4천 명을 대상으로 스마트폰 활용 실태를 조사한 것으로 국내에 보급된지 얼마 되지 않은 스마트폰이 우리 일상 생활에 얼마나 밀접하게 활용되고 있는지를 잘 보여주고 있었다.

또한 이 보고서에는 최근 몇 년 사이 급속하게 사용자가 증가하고 있는 소셜 네트워크 서비스(Social Network Service, 이하 SNS) 관련 통계도 포함되어 있었다. 스마트폰 사용자의 87.1%가 SNS를 이용한 경험이 있으며, 이용 빈도는 커뮤니티, 마이크로 블로그, 미니홈피 순서로 그 활용 빈도가 높다는 것을 잘 알 수 있다.

[그림 1] 스마트폰을 이용한 SNS 이용 경험
(출처: KISA ‘2011년 상반기 스마트폰 이용 실태 조사)

스마트폰으로 SNS를 이용한 경험이 있는 사용자들은 일일 평균 1.9시간을 SNS 이용에 소비하고 있다. 그리고 전체의 42.3%가 하루 1시간 이상 소셜 네트워크 서비스를 이용하였으며, 그 중 24.3%는 하루 2시간 이상 소셜 네트워크 서비스를 이용하는데 보내고 있었다.

[그림 2] 스마트폰을 이용한 SNS 이용 시간
(출처: KISA ‘2011년 상반기 스마트폰 이용 실태 조사)

그리고 SNS를 이용하는 목적에 있어서도 커뮤니케이션, 정보 습득 및 교류, 그리고 친교 및 교제라는 측면이 가장 높아 오프라인의 일상 생활을 통해 형성된 인간 관계를 다시 온라인의 소셜 네트워크 서비스를 통해 연결하고 확장해가는 형태를 보이는 것을 알 수가 있다.

[그림 3] 스마트폰을 이용한 SNS 이용 목적
(출처: KISA ‘2011년 상반기 스마트폰 이용 실태 조사’)

이렇게 손안의 컴퓨터라는 스마트폰을 이용한 SNS 활용은 우리에게 많은 생활의 변화를 주었으며, 인간 관계에 있어서도 시간과 공간의 제약 없이 언제나 온라인의 네트워크를 통해 인간 관계가 항상 연결되어 있는 편리한 시대에 살고 있다.
하지만, 모든 사물들에는 밝은 면의 순기능이 존재한다면 이에 반대되는 어두운 면의 역기능이 존재하듯이 SNS 역시 이를 악용한 보안 위협들이 발생하였으며, 현재도 계속 발생하고 있는 실정이다.

소셜 네트워크 서비스에서 발생한 보안 위협들의 특징

1. SNS와 사회 공학(Social Engineering) 기법

트위터(Twitter) 및 페이스북(Facebook)과 같이 최근 몇 년 사이 사용자가 급격하게 증가하고 있는 SNS는 모두 기본적으로 오프라인에서 형성된 인간 관계를 온라인에서도 이어갈 수 있도록 도와 주고 있다. 그리고 이 모든 SNS의 핵심적인 목적과 기능들은 해당 서비스에 가입한 사용자가 오프라인에서 이미 가지고 있는 인간 관계를 바탕으로 서로 신뢰 관계의 사람들을 연결해주거나 공통의 관심사가 있는 사용자들간의 연결을 통해 새로운 인간 관계를 형성할 수 있도록 하고 있다. 이렇게 형성된 인간 관계를 바탕으로 서로간의 일상 생활 소식과 생활 중에 알게 된 다양한 흥미로운 정보 및 소식들을 공유 할 수 있도록 하고 있다. 그러므로 결국 모든 SNS에 있어 핵심적인 키워드는 사람과 인간 관계라고 볼 수 있다.

그러나 정보 보호(Information Security) 분야에서는 모든 보안 취약점들 중에서 가장 취약한 부분은 사람이며 언제라도 보안 위협에 노출될 가능성이 가장 높은 것으로 지적하고 있다. 이러한 관점에서 바라본다면 SNS 사용자들은 보안 위협에 노출될 가능성이 높다. 실제 SNS에서 발생하고 있는 보안 위협 사례들을 분석해보면 그 근간에는 모두 사람을 해킹(Hacking)한다는 사회 공학(Social Engineering) 기법이 차지하고 있다.

소셜 네트워크 서비스에서 사회 공학 기법들이 쉽게 악용하고 있는 방식은 사용자들이 쉽게 흥미를 가질 수 있는 주제들이나 이미 형성된 인간 관계 속에서 신뢰할 수 있는 사람들이 보낸 메시지들로 사칭하거나 위장하고 있다. 따라서 인간 관계가 핵심 목적인 SNS 사용자들은 상대적으로 보안 위협에 쉽게 노출될 수 밖에 없다.

2. 단축 URL(URL Shortening)의 편리성과 위험성

SNS의 발달은 이를 더욱 편리하게 사용하기 위해 파생된 다른 유용한 서비스들도 많이 제공되고 있다. 이러한 대표적인 사례로 스마트폰에 설치되는 다양한 소셜 네트워크 서비스들을 지원해주고 있는 앱(App)들을 예로 들 수 있으나, 가장 대표적인 서비스로 볼 수 있는 것은 단축 URL(URL Shortening) 서비스이다.

트위터의 경우 140자라는 제한된 메시지의 길이로 인해 인터넷에 존재하는 다양한 흥미로운 정보들을 가지고 있는 길다란 웹 페이지의 URL을 쉽게 전달하기가 어렵다. 그러나 단축 URL은 미리 정의된 짧은 형식의 URL을 이용하여 길다란 웹 페이지의 URL을 대체함으로써 제한된 길이의 메시지 내에서도 충분히 길다란 웹 페이지의 URL을 공유하거나 전달할 수 있는 편리성을 제공하고 있다.

[그림 4] 트위터 메시지에 포함된 단축 URL로 연결된 웹 페이지

그러나 이러한 편리성을 가진 단축 URL은 길다란 웹 페이지의 URL을 짧은 URL로 대체함으로써 사용자의 입장에서는 대체된 단축 URL이 실제 어떠한 웹 페이지로 연결될지 쉽게 예측하고 확인하기가 어렵게 된다.

이러한 문제로 인해 실제 소셜 네트워크 서비스에서 전달되는 메시지들에 포함된 단축 URL들 중에는 피싱(Phishing)이나 악성코드 유포를 위한 웹 사이트들로 연결하는 단축 URL들이 다수 존재하고 있다.

[그림 5] SNS 사용자를 대상으로 한 악의적인 URL (출처: 시만텍)

글로벌 보안 업체인 시만텍(Symantec)은 ‘Symantec Internet Security Threat Report Trends for 2010’를 통해 2010년 4분기 동안 SNS 사용자들을 대상으로 한 악의적인 URL 중에서 65%가 단축 URL 형태를 가지고 있는 것으로 밝히고 있다.
이로 인해 결국 단축 URL은 그 편리성과는 반대로 악의적인 목적으로 활용 시에는 SNS 사용자들로 하여금 보안 위협에 쉽게 노출되는 위험성도 동반하고 있다.

소셜 네트워크 서비스에서 발생한 보안 위협들의 특징

앞서 살펴본 것과 같이 SNS에서 발생하는 보안 위협들은 사용자들이 흥미를 가질 수 있는 주제로 위장하는 사회 공학 기법에 그 근간을 두고 악의적인 목적으로 제작된 웹 사이트로 연결하는 단축 URL을 활용하여 제작되고 있다. 실제 SNS에서 발생한 보안 위협 사례들을 분석해보면 공통적으로 4가지의 커다란 특징적인 형태를 가지고 있다는 것을 알 수 있다.

[그림 6] 소셜 네트워크 서비스에서 발생하는 보안 위협의 특징

1. 내부 시스템 환경 악용

SNS에서 발생하는 보안 위협 중 내부 시스템 환경을 악용하는 형태들은 SNS 내부에 이미 정의되어 있는 기본적인 규칙(Rule)들을 악용하는 형태들이다.

이러한 형태들은 트위터의 경우 사용자들 사이에 서로가 팔로어(Follower)와 팔로잉(Following)의 관계가 성립되어야지만 다이렉트 메시지(Direct Message)라는 다른 사용자들이 볼 수 없는 비밀 쪽지를 발송할 수 있다. 이러한 기본적인 규칙을 악용하여 피싱이나 악성코드를 유포하는 악의적인 웹 사이트들을 다른 트위터 사용자들이 인지하지 못하도록 은밀하게 전송이 가능하다.

2. 사용자 생태계 악용

현재 서비스 되고 있는 트위터 및 페이스북(Facebook)과 같은 유명 해외 소셜 네트워크 서비스의 경우에는 해당 서비스들을 이용하기 위한 가입 절차가 국내와 비교하여 비교적 간단하게 메일 주소와 암호 입력만으로도 바로 사용이 가능하다.

[그림 7] 사용자 이름과 이메일 주소만 입력하면 가입이 가능한 페이스북

이러한 간편한 가입 절차로 인해 악의적인 목적으로도 다수의 허위 사용자 계정들을 생성하여 SNS 사용자들에게 흥미로운 정보로 위장한 다양한 형태의 보안 위협들을 유포할 수가 있다. 특히 한국의 경우에는 트위터에서 ‘맞팔’이라고 하여 먼저 팔로잉을 해준 사용자에 대한 답례로 같이 팔로잉을 하는 독특한 형태의 문화로 인해 악의적인 목적으로 생성된 허위 트위터 계정들로 인해 쉽게 보안 위협에 노출될 수 있다.

3. SNS 이미지 악용

최근 몇 년 사이 SNS 사용자가 증가함으로써 각종 언론을 통해 트위터나 페이스북 사용자들이 아니더라도 많은 사람들이 해당 서비스들이 어떠한 것인지 알고 있다. 이러한 SNS의 브랜드(Brand)와 이미지 가치가 상승함에 따라 이를 악용하여 트위터나 페이스북에서 발송한 이메일 등으로 위장한 피싱 메일이나 악성코드가 첨부된 메일이 유포되었다.

4. 다른 보안 위협에서 악용

SNS 사용자들이 지속적으로 증가함으로 인해 기업의 입장에서는 마케팅이나 홍보를 위한 도구로도 소셜 네트워크 서비스가 이용되고 있다. 그리고 사용자들은 개인 프로필에서도 역시 자신이 일하는 기업을 공개하며 기업 홍보를 돕고 있다.
이러한 소셜 네트워크 서비스의 생태계로 인해 사용자의 활동이나 기업의 활동에 대한 정보 수집이나 오프라인 범죄 등을 위한 사전 정보 수집 도구로서 SNS가 악용되고 있다.

소셜 네트워크 서비스에서 발생한 보안 위협 사례들

앞서 SNS에서 발생하고 있는 보안 위협들의 분석을 통해 4가지 커다란 특징들을 살펴보았다. 현재 발생하고 있는 보안 위협들은 전세계적으로 사용자가 비교적 많은 트위터와 페이스북을 중심으로 발생하고 있다. 해당 서비스들에서 발생한 보안 위협들에 대해 구체적인 사례들을 통해 살펴보도록 하자.

1. 트위터에서 금전 거래되는 팔로어 및 악의적인 트위터 계정

2010년 3월에는 유럽에서 허위 백신을 유포하기 위한 목적으로 다수의 허위 계정들이 생성된 것이 발견되었다. 생성된 허위 계정들은 [그림 8]과 같이 다수를 이루고 있으며, 해당 허위 계정들에 의해 트위터 내부로 유포된 메시지들은 사용자들이 흥미를 가질 만한 주제와 함께 허위 백신을 설치하도록 유도하는 악의적인 웹 페이지로 연결되는 단축 URL들이 포함되어 있었다.

[그림 8] 금전 거래를 통해 트위터 팔로어를 늘려준다는 웹 사이트

그리고 2010년 7월에는 해외에서 생성된 트위터 계정을 통해 금전적인 대가를 지불하면 [그림 9]와 같이 금전적인 대가에 따라 특정 수치만큼의 트위터 팔로어를 늘려준다는 광고 웹 사이트가 발견되었다.

[그림 9] 금전 거래를 통해 트위터 팔로어를 늘려준다는 웹 사이트

2. 트위터 DM(Direct Message)으로 피싱(Phishing) 웹 사이트 링크 전달

2010년 2월에는 트위터에서 상호 팔로잉이 되어 있는 사용자들에게 피싱 웹 사이트로 연결하는 단축 URL이 포함된 다이렉트 메시지가 유포되었다. 유포된 다이렉트 메시지에는 [그림 10]과 같이 사용자로 하여금 호기심을 유발하게 하는 메시지와 함께 단축 URL이 포함되어 있었다.

[그림 10] 트위터 다이렉트 메시지로 전달된 피싱 웹 사이트

다이렉트 메시지에 포함되어 있는 단축 URL을 클릭하게 될 경우에는 [그림 11]과 같이 허위로 제작된 트위터 로그인 웹 사이트로 연결되며, 해당 웹 페이지를 통해 수집된 트위터 사용자 정보들은 모두 중국에 위치한 특정 서버로 전송되었다.

[그림 11] 허위 트위터 로그인 페이지

그리고 2010년 11월에는 다양한 피싱 웹 페이지를 간편하게 생성이 가능한 피싱 툴킷(Toolkit)에서도 페이스북과 마이스페이스(MySpace)와 같은 SNS의 로그인 웹 페이지가 생성 가능한 것이 발견되었다.

[그림 12] 다양한 피싱 웹 페이지 생성을 위한 피싱 툴킷

3. 트위터를 이용한 허위 사실 유포

2009년 6월에는 팝가수 브리트니 스피어스(Britney Spears)의 트위터 계정이 해킹되어 브리트니 스피어스가 사망하였다는 허위 사실이 유포되었다.

[그림 13] 브리트니 스피어스의 계정으로 유포된 허위 사망 소식
(출처: Sophos)

이러한 트위터를 이용한 허위 사실 유포는 국내에서도 역시 유명 영화배우를 사칭한 허위 트위터 계정을 통해 새로운 영화와 관련한 허위 내용들을 유포한 사례가 존재한다.

4. 페이스북과 트위터로 위장한 악성코드 및 성인 약품 광고 스팸 메일 발송

2009년 9월에는 트위터에서 사용자가 발송한 친구 초대 메일로 위장하여 악성코드 감염을 시도한 사례가 발견되었다. 또한 2010년 6월에는 트위터에서 발송한 사용자 계정에 대한 암호 변경 안내 메일로 위장하여 악성코드 감염을 시도한 사례가 나타났다.

그리고 2010년 5월에는 [그림 14]와 같이 트위터에서 발송한 메일로 위장하여 성인 약품 광고를 위한 웹 사이트로 연결을 유도한 스팸(Spam) 메일도 발견되었다.

[그림 14] 트위터에서 발송한 메일로 위장한 성인 약품 광고를 위한 스팸 메일

2009년 10월과 2011년 1월에는 페이스북에서 발송한 것으로 위장한 사용자 정보 업데이트 안내 메일과 사용자 암호 변경 안내 메일로 위장한 메일에 악성코드가 첨부되어 유포된 것이 발견되었다.

[그림 15] 페이스북 사용자 암호 변경 메일로 위장한 악성코드 유포

5. 트위터를 이용해 악의적인 봇넷 구성과 조정

2009년 8월과 2010년 5월, 그리고 8월에는 트위터로 조정이 가능한 악성코드인 트윗봇(TwitBot) 생성기가 발견되었으며, 국내에서도 P2P(Peer to Peer) 프로그램을 통해 유용한 유틸리티로 위장하여 공유되고 있는 트윗봇 악성코드가 발견되었다.

[그림 16] 트위터를 이용해 봇넷(Botnet) 구성 및 조정

악성코드 제작자는 [그림 16]과와 같이 트윗봇 생성기를 통해 악성코드를 생성한 후 취약한 웹 사이트 또는 P2P 프로그램 등에서 동영상 파일이나 유용한 프로그램 등으로 위장하여 유포한다. 이렇게 유포된 해당 악성코드에 감염된 시스템들은 악성코드 제작자가 악성코드 생성 당시에 지정해둔 특정 트위터 계정의 웹 페이지로 접속을 시도하여 접속이 성공하게 될 경우 악성코드 제작자에 의해 생성되어 있는 트위터 메시지들을 명령으로 수신하여 특정 시스템에 대한 DDoS(Distributed Denial-of-Service) 공격 등을 수행할 수가 있다.

6. APT(Advance Persistent Threat) 형태의 위협에서 정보 수집 수단으로 트위터 활용

2011년 3월 해외 보안 업체인 EMC/RSA에서 발생한 기업 기밀 탈취를 목적으로 한 APT 형태의 보안 사고가 발생하였다. 해당 보안 사고에서 공격자는 타깃 공격(Targeted Attack)을 위해 사전에 장시간 동안 해당 업체에 근무하는 임직원들의 트위터를 모니터링하며 공격 대상 선정과 유효하게 적용될 사회 공학 기법 개발을 위한 목적으로 관련자 개인 정보를 수집 하였다.

[그림 17] EMC/RSA에서 발생한 APT 형태의 보안 위협 (출처: EMC/RSA)

7. 페이스북 담벼락과 채팅 메시지로 악성코드 유포

2010년 11월과 12월에는 페이스북 사용자들 사이에서 사용이 가능한 채팅 창을 통해 악성코드를 다운로드하는 악의적인 웹 사이트가 유포되었다. 그리고 2011년 2월에는 페이스북 사용자들의 담벼락에 악성코드를 다운로드 하도록 유도하는 악의적인 웹 사이트가 특정 게시물에 포함되어 유포되었다.

[그림 18]  페이스북 담벼락에 게시된 악성코드를 다운로드하는 웹 사이트

2011년 5월에는 미국 정부에 의해 테러 조직인 알카에다의 지도자인 오사마 빈 라덴(Osama Bin Laden)이 사망하였다는 소식이 국내외 언론을 통해 공개된 이후, 페이스북에는 [그림 19]와 같이 빈 라덴 사망 동영상으로 위장한 허위 백신 유포 시도 사례가 발견되었다.

[그림 19] 빈 라덴 사망 소식을 이용한 허위 백신 유포 시도

8. 소셜 네트워크 서비스를 전파 경로로 악용하는 악성코드

2011년 6월에는 다양한 소셜 네트워크 서비스를 전파 경로로 악용하는 악성코드가 발견되었다. 해당 악성코드는 사용자가 많은 트위터와 페이스북 외에도 다른 소셜 네트워크 서비스들인 러시아에서 많이 이용되는 브 칸탁제(Vkontakte), 미국에서 이용되는 베보(Bebo)와 프렌드스터(Friendster)로도 동시에 악성코드 유포를 시도한 특징이 존재한다.

[그림 20] 트위터와 페이스북으로 동시에 전파되는 악성코드의 코드 중 일부


맺음말

소셜 네트워크 서비스를 통해 우리는 매일 사회적으로 좋은 관계를 유지하고 있는 많은 사람들의 좋은 이야기들을 전해 듣거나 나 자신이 겪는 다양한 세상사는 이야기들을 전하는 즐거움을 느끼고 있다.

그러나 그 이면에는 다양한 보안 위협들도 같이 포함이 되어 있어 많은 주의가 필요하다는 것을 소셜 네트워크 서비스에서 발생한 다양한 보안 위협 사례들을 통해 쉽게 알 수 있다.

특히 기업에 있어서는 소셜 네트워크 서비스의 활용이 기업 마케팅과 이미지 제고에 많은 도움을 줄 수도 있지만 사내 임직원들의 잘못된 소셜 네트워크 서비스의 이용은 기업 네트워크로 심각한 피해를 유발할 수 있는 악성코드의 유입 접점이 될 수도 있다. 이와 함께 APT 위협 형태의 기업 기밀 유출이라는 심각한 보안 사고까지 유발할 수 있는 부작용이 발생 할 수 있다는 점을 반드시 인식할 필요가 있다.

그러므로 기업에서는 기업 보안 정책에 있어 소셜 네트워크 서비스를 어떠한 방식으로 통제를 할 것인지에 대한 진지한 고민이 필요하다. 기업 임직원들의 경우에는 과도한 개인 정보와 기업 활동 정보의 공개는 자신 뿐만 아니라 기업에 있어서도 심각한 보안 사고로 직결될 수 있다는 점을 분명히 인지하여야만 한다.

2012년 11월 7일 수요일

전작에 미치지 못하는 실망스러운 통찰력....

예전 국사 시간이나 세계사 시간에 수업 했던 것을 생각해보면, 어떠한 민족의 고대 부족이던 부족장은 나이가 지긋이 있는, 영화나 드라마에서처럼 할아버지와 같이 제일 연장자가 맡는 경우가 대부분입니다.
그렇지 않다면 부족장은 젊고 힘이 센 남성이 있다면 항상 원로회라는 부족 연장자들의 모임처럼 부족을 잘 이끌 수 있는 조언들을 해주는 인물들이 항상 등장합니다.
이러한 부분에서 학창 시절 제가 가졌던 궁금함 중 하나는 왜 연장자들이 조언자나 조력자의 위치를 가지는가 입니다. 그러한 질문에 대한 해답으로 제 스스로가 나이가 들면서 깨닫게 된 것들은 다양한 경험과 다방면의 독서들로 인해 생긴 섬세하게 발달한 통찰력(Insight) 때문이라는 것 입니다.

이러한 통찰력과 관련해 개인적으로 좋아하는 작가 중 한명이 바로 말콤 글래드웰(Malcolm Gladwell) 입니다. 예전에 출판된 그의 저서 티핑포인트(Tipping point), 블링크(Blink), 아웃라이어(Outliers)에서 보여준 우리가 살고 있는 현대 사회에서 발생하는 다양한 현상들에 대한 놀라운 표현력과 통찰력은 순식간에 책에 물입하게 만들 정도 입니다.
제가 최근에 읽게된 말콤 글래드웰의 책은 2010년에 출판된 그의 네번째 저서 "그 개는 무엇을 보았나" 입니다. 최근 집 근처까지 분당선이 개통되어 1번의 환승으로 출근하게 되면서 부터는 전철안에서 책을 읽게되는 시간이 조금 늘었습니다. 그 덕분에 이 책을 읽는 대부분의 시간 역시 분당선 안에서 보내게 되었습니다.


이 번에 읽게된 그의 책은 개인적으로 실망감이 컸습니다. 이전 3권의 책에서 보여주었던 말콤 글래드웰의 깊은 통찰력들과 날카로운 비판력은 어디에서도 찾아 볼 수 없었습니다.

이러한 그의 기존 저서들에 나타나는 특징들이 사라지게 된 배경에는 여러가지가 있다고 생각됩니다. 먼저 이 번 책은 하나의 주제에 대해 깊이 있는 연구와 분석을 근간으로 쓰여진 것이 아니라 그가 10년 넘게 인터뷰와 취재를 통해 모아두었던 이야기들을 전개하는 방식으로 쓰여진 책입니다.
이러한 방식으로 쓰여진 책이다 보니, 주제 역시 하나의 방향으로 정해진 것이 아니라 다양한 주제들이 책에서 언급됩니다. 이러한 부분으로 인해 역으로 저자의 견해와 의견이 추가되기 보다는 3인칭 작가 시점에서 인터뷰한 사실들만을 기록한 사건 기록에 가까운 글들이 되어 버렸습니다.
그래서 책을 읽는 내내 저자가 말하고 싶어하는 주제가 무엇인지 방향을 잡기가 힘들었고, 예전 그의 저서들에서 나타나는 새로운 분석력과 통찰력들은 드러나지 않게 되어 버렸습니다.

그렇다고 해서 책을 읽는 내내 실망감만을 느낀 것은 아닙니다. 이 책에서 나오는 여러 주제들 중에는 우리가 익히 알고는 있었지만 실제 어떠한 문제 때문에 그러한 현상들이 생겼는지 모르는 주제들도 있었습니다. 그러한 대표적인 주제가 엔론 사건을 다룬 "공공연한 비밀"과 엔론과 맥킨지의 잘못된 채용과 인사 관리를 다룬 "인재 경영의 허울" 입니다.
"공공연한 비밀"에서는 2차 세계대전 이후 우리가 접하는 정보의 양이 늘어나게 되면서 과도한 정보들로 인해 발생하는 혼란들 그리고 그로 인한 잘못된 의사 결정과 판단을 다루고 있습니다. 그리고 "인재 경영의 허울"에서는 유능한 인재란 무엇이고 그에 대한 기준이 무엇인지를 다시 한번 생각해 볼 수 있는 기회가 되었습니다.

그러나, 책을 읽는 동안은 예전 저서들에 대해 부족한 면들이 계속 생각나게 하는 점들은 어쩔 수 없었던 것 같습니다.

벌써 이 책이 출간된지도 2년이 넘었습니다. 거의 2년 간격으로 출판되는 그의 저서가 아직도 새로운 저서가 나오지 않고 있어 조금은 걱정이 됩니다. 개인적으로 다음에 출판될 그의 저서에서는 예전 만큼의 날카로운 비판력과 깊히 있는 통찰력이 나타나기를 기대 해봅니다.

2012년 11월 5일 월요일

스파이아이(SpyEye), 온라인 뱅킹 악성코드 제우스(ZeuS)의 천적일 뿐인가?

대학 시절에는 고향 집의 가족들과 떨어져 지내다 보니 부모님으로부터 용돈을 받으려면 부모님께서 은행에 가셔서 은행 계좌로 입금 해주시곤 했던 기억들이 납니다. 하지만 지금은 온라인 뱅킹이 모바일 기기에서부터 일반 PC까지 가능하다 보니 은행을 방문해야 되는 일들이 많이 줄어들게 되었습니다.

동양의 음양 이론과 문양을 봐도 알 수 있듯이 항상 밝음을 상징하는 양과 어둠을 상징하는 음은 항상 공존합니다. 이러한 면은 현대 기술 문명에서도 동일하며, 온라인 뱅킹이라는 편리한 기술과 함께 온라인 뱅킹 관련 개인 정보를 탈취하는 악성코드도 같이 공생합니다.

당시의 이러한 온라인 뱅킹 악성코드의 주류는 제우스(Zeus) 였으나, 후에 스파이아이(Spyeye)의 등장으로 양극화 현상을 띄면서 발전하게 됩니다. 그래서 2010년 11월 작성했던  원고가 안랩닷컴에 게시된 "스파이아이(SpyEye), 온라인 뱅킹 악성코드 제우스(ZeuS)의 천적일 뿐인가?" 입니다. 초안의 제목은 "스파이아이, 뱅킹 트로이목마 제우스 킬러"였는데, 원고 감수를 해주신 분의 마케팅적인 감각이 더해져서 해당 제목으로 변경되었습니다.

+-----------------

[온라인 뱅킹 악성코드 동향]

최근 해외 언론등을 통해 제우스(ZeuS)라는 온라인 뱅킹 정보를 탈취하는 악성코드의 유포자들을 체포했다는 기사들을 볼 수 있었다. 기사에 따르면 지난 4년간 제우스 악성코드를 유포하여 총 2억 달러를 탈취한 혐의로 92명을 검거했으며, 이와 함께 영국 정부에서도 20명을 체포한 것으로 알려졌다. 해당 악성코드로 인해 탈취된 현금의 규모도 놀랍지만 사건에 관계된 인물들이 92명에 달한다는 점에서도 놀라울 따름이다. 이처럼 일반적으로 사이버 범죄(Cyber Crime)에 사용되는 악성코드들의 형태를 일부 보안 업체들에서는 크라임웨어(Crimeware)라고 부르며, 제우스 악성코드 역시 이러한 크라임웨어의 범주에 포함된다고 볼 수 있다. 
그런데 엄청난 현금을 탈취한 범죄에 이용된 제우스 악성코드를 잡는 악성코드가 등장해 관심을 끌고 있다. 과연 이 악성코드는 제우스를 잡는 천적인가, 아니면 또 다른, 더욱 엄청난 위협일 뿐인가?

전 세계 인터넷 뱅킹의 공포, 제우스(ZeuS)

제우스(Zeus) 악성코드는 웹 서버를 기반으로 한 C&C(Command and Control) 서버와 제우스 악성코드를 생성하는 제우스 빌더(Zeus Builder)로 구성 된 하나의 패키지 형태다. 

그림 1. 제우스 악성코드 생성도구인 제우스 빌더

일반적으로 제우스 유포자는 블랙 마켓(Black Market)을 통해 제우스 제작자에게 현금을 지불하고 제우스 패키지를 구매한다. 그리고는 별도의 시스템, 또는 해킹한 시스템에 제우스 악성코드를 조정할 수 있는 웹 서버를 구축한 후, 제우스 빌더를 이용해 생성한 제우스 악성코드를 메일의 첨부 파일 형태나 악의적인 웹 사이트를 통해 다운로드하는 기법 등으로 유포하는 것이다.

그림 2.  제우스 악성코드가 첨부된 메일

앞서 언급한 것처럼 제우스가 유포되면서 대량의 온라인 뱅킹 정보들을 탈취하여 현금을 가로채는 수법이 성공하자 동유럽을 중심으로 형성된 블랙 마켓에서는 제우스와 유사한 형태의 또 다른 온라인 뱅킹(Banking) 트로이목마가 등장하게 되었다. 그 중 하나가 바로 스파이아이(SpyEye) 악성코드이다.

제우스 킬러, 스파이아이(SpyEye)의 탄생

스파이아이(SpyEye) 악성코드가 러시아를 포함한 동유럽 블랙 마켓 지역에서 거래되기 시작한 시기는 대략 2010년 1월경으로 추정된다. 이 악성코드가 블랙 마켓에서 주목 받게 되었던 가장 큰 이유 중 하나는 제우스에 감염된 시스템에서 제우스를 강제로 삭제하는 기능이 있었기 때문이다.
현재 언더그라운드(Underground)에 알려진 바에 따르면 스파이아이는 2명의 러시아인으로 구성된 팀이 제작했다. 팀 내에서도 역할을 분리하여 한 명은 직접적으로 스파이아이 악성코드 패키지를 제작하는 개발자이며, 다른 한 명은 제작된 스파이아이 악성코드 패키지의 홍보와 판매를 담당하고 있다. 이들은 스파이아이 악성코드 패키지를 블랙마켓에서 약 500 달러(한화 약 60만원) 정도에 판매 하고 있으며 추가 기능에 따라 약 1,000 달러(한화 약 120만원)에 판매하고 있다.
한편 스파이아이 제작팀 멤버 중 개발자는 러시아 소재의 대학에서 컴퓨터 공학을 전공하였으며 길지는 않으나 프로그램 개발 경력도 가지고 있는 것으로 알려졌다. 그러나 이후 금전적인 문제로 인해 전문적인 악성코드 제작을 시작하였으며, 스파이아이 악성코드 패키지를 제작 할 당시에는 악성코드 제작에만 하루 12시간에서 13시간 정도 몰두한 것으로 전해진다.

그림 3. 스파이아이 판매 가격과 판매자 연락처가 작성된 게시판

웹 기반의 C&C 서버를 이용한 스파이아이 컨트롤

스파이아이 역시 제우스와 마찬가지로 스파이아이를 생성할 수 있는 ‘스파이아이 빌더(SpyEye Builder)’와 생성한 악성코드를 조정하기 위한 웹 서버 기반의 ‘C&C 서버’가 하나의 패키지로 구성되어 있다.
웹 서버로 동작하는 C&C 서버는 PHP와 MySQL 데이터베이스로 동작하도록 설계되어 있다. 웹 기반으로 C&C 서버를 동작하게 되면 최초 메인 페이지 접속 시 로그인을 위한 관리자 암호를 요구한다. 정상적으로 로그인 하게 될 경우에는 그림 4와 같이 메인 웹 페이지에 접근할 수 있게 된다. 

그림 4. 스파이아이 C&C 서버의 메인 웹 페이지

메인 웹 페이지의 설정을 클릭할 경우, 그림 5와 같이 실질적으로 스파이아이 악성코드를 조정하고 악성코드가 탈취한 금융 정보들의 데이터를 확인 할 수 있는 웹 페이지로 연결된다. 해당 웹 페이지를 통해 스파이아이 유포자는 현재 스파이아이에 감염된 시스템의 IP 정보를 토대로 지리적 위치, 운영체제 및 시스템 정보 통계 등을 실시간으로 확인 할 수 있다.

그림 5. 스파이아이 C&C 서버의 컨트롤 웹 페이지

또한 스파이아이에 감염되어 있는 시스템 전체에 실시간으로 새로운 버전의 스파이아이로 강제 업데이트하는 기능을 제공하고 있다. 즉, 현재 유포한 스파이아이가 안티 바이러스 소프트웨어(Anti-Virus Software)에 의해 탐지 될 경우 언제든지 변경 할 수 있는 것이다.

그림 6. 금전적 대가로 보안 제품 탐지 결과를 알려주는 웹 사이트

또한 비용을 지불하면 그림 6과 같이 최신 엔진이 적용된 총 40개의 안티 바이러스 소프트웨어들에서 악성코드 탐지 여부 결과를 제공해주는 웹 사이트와 연동하여 실시간으로 결과를 파악하고 탐지되었을 경우 즉시 변경 할 수 있도록 하고 있다.

빌더(Builder)를 이용한 스파이아이 생성

웹 기반의 C&C 서버와 함께 제공되는 스파이아이 빌더(Builder)는 현재 언더그라운드에 공개되어 있는 버전들은 1.0.7과 1.1.39, 그리고 1.2.50 및 1.2.60 등이 존재한다. 각 버전의 빌더 별로 조금씩 다른 기능들을 제공하고 있으며, 이러한 별도의 기능에 따라 판매되는 스파이아이 패키지의 가격은 500 달러에서 1,000 달러까지 다양하게 책정되어 있다. 또한 추가되는 플러그인(Plugin) 옵션에 따른 추가 금액도 별도로 책정되어 있다.
그림 7의 1.0.7 버전은 초기 버전에 가까운 것으로, 시스템에 감염된 스파이아이 악성코드가 역접속(Reverse Conection)으로 접속할 C&C 서버 주소와 지정한 C&C 서버로의 접속에 실패 할 경우 사용할 보조 C&C 서버 주소를 동시에 지정 할 수 있게 되어 있다. 

그림 7. 스파이아이 봇 생성 도구와 제우스 봇 삭제를 위한 옵션

스파이아이와 관련된 기능 중 하나인 암호화 기능은 사용자가 지정한 암호화 키를 이용하여 스파이아이 악성코드 전체를 암호화하여 생성함으로써 안티 바이러스 소프트웨어의 탐지를 방해함과 동시에 보안 연구원들의 분석을 지연시킬 의도도 포함되어 있다. 이와 함께 빌더에는 실행 압축(Packer)을 기본 기능으로 추가 할 수 있어 추가적으로 안티 바이러스 소프트웨어의 탐지와 분석을 지연 시킬 수 있는 2중 구조로 되어 있다. 또한 스파이아이를 널리 알리는데 가장 큰 역할을 했던 제우스 삭제 기능 역시 기본 기능으로 추가 할 수 있도록 되어 있다.

그림 8. 1.1.39 버전의 스파이아이 봇 생성 도구

상위 버전인 1.1.39 버전부터는 1.0.7 버전이 가지고 있는 기능 외에도 웹 브라우저인 인터넷 익스플로러(Internet Explorer)와 파이어폭스(FireFox)의 쿠키(Cookie) 파일들을 삭제 할 수 있는 기능이 추가 되어 있다. 또한 제우스 빌더가 이용하는 사용자 계정과 암호를 가로챌 웹 사이트의 주소를 가지고 있는 설정 파일을 스파이아이 빌더에서도 그대로 사용 할 수 있도록 되어있다. 이 외에도 플러그인 형태의 DLL 파일을 이용하여 추가 기능들을 스파이아이 생성시에 추가 할 수 있도록 설정되어 있는 특징이 있다.
한 가지 재미있는 사항은 1.1.39 버전부터는 실행 시 스파이아이 빌더에서 가지고 있는 고유 키 값 검증을 통해 스파이아이 패키지를 정식으로 구매를 한 사용자가 맞는지를 검사하도록 되어 있어 무단으로 이를 사용하지 못하도록 하고 있다는 점이다. 
가장 상위 버전인 1.2.50 버전과 1.2.60 버전은 외형적인 측면에서 UI는 동일하게 되어 있으며 기본적인 기능들도 하위 버전인 1.1.39 버전과 동일하다. 반면 새롭게 추가된 기능으로는 생성할 스파이아이의 파일명과 뮤텍스(Mutex) 명칭을 변경할 수 있는 기능이 있다. 
이러한 기능을 가지고 있는 스파이아이 빌더 중 버전 1.0.7을 이용하여 스파이아이를 추가 기능 설정 없이 생성하게 될 경우, 기본적으로 125,952 바이트의 cleansweep.exe 가 생성된다. 또한 추가 기능 중에서 실행 압축 기능을 적용하여 생성할 경우, 동일한 파일명에 사이즈만 60,928 바이트로 절반 정도로 줄어들게 된다.

그림 9. 1.2.60 버전의 스파이아이 봇 생성 도구

이와 관련해 실행 압축 기능이 적용된 파일과 그렇지 않은 파일에 대해 파일 자체적인 조밀함을 측정하기 위해 플로팅 프리퀸시(Floating Frequency)를 측정해보았다. 이를 위해 전체 파일을 64 바이트 크기의 블록으로 나누어 해당 블록 내부에서 서로 다른 바이트들이 얼마나 발견되는지를 측정하여 해당 파일의 실행 압축 및 암호화 여부를 측정하는 방식을 사용했다.

그림 10. 기본 설정으로 생성된 스파이아이 악성코드의 플로팅 프리퀸시(Floating Frequency)

먼저 실행 압축 기능이 적용하지 않고 기본 설정으로 생성한 스파이아이는 그림 10과 같이 파일 전체에서 균일하게 측정되어 있으며 파일 하위 단으로 갈수록 측정 값이 떨어지는 것을 알 수 있다. 이러한 수치는 일반적으로 실행 압축, 또는 암호화를 하지 않은 순수하게 컴파일(Compile)된 파일들과 유사한 형태를 보이고 있다.

그림 11. 실행 압축 설정이 적용된 스파이아이 봇의 플로팅 프리퀸시(Floating Frequency)

반면 실행 압축 기능이 적용하여 생성한 스파이아이는 [그림 11]과 같이 하위로 갈수록 측정 값이 떨어지는 것은 동일하지만 64 바이트 블록 내부에서 측정된 다른 문자열이 60개에 근접하는 값이 파일 전체의 약 80% 정도를 차지하는 것을 알 수 있다. 이러한 측정 결과로 미루어 보았을 때 스파이아이 빌더에서는 내장된 실행 압축 알고리즘을 이용하여 스파이아이 악성코드를 압축하여 생성하는 것으로 이해할 수 있다.

생성된 스파이아이의 감염 동작

스파이아이 빌더에 의해 생성된 파일들은 공통적으로 cleansweep.exe 라는 파일명을 갖는다. 해당 파일이 시스템에서 실행되면 먼저 실행 중인 정상 프로세스인 explorer.exe의 특정 메모리 영역에 그림 12와 같이 자신의 코드를 삽입한다. 자신의 코드가 정상적으로 삽입 되면 시스템의 루트 디스크에 “cleansweep.exe”라는 폴더를 생성하고 자신의 복사본과 “cleansweep.exe”를 함께 설정 파일인 “config.bin” 이라는 파일을 생성하게 된다. 

그림 12. 정상 explorer.exe 프로세스의 메모리 영역에 쓰여진 스파이아이 봇

또한 생성된 폴더와 파일들은 모두 윈도우 시스템의 사용자 모드(User Mode) 레벨에서 동작하는 은폐 기능을 수행하게 된다. 이러한 은폐 기능으로 인해 스파이아이가 생성한 폴더와 복사본을 모두 윈도우 탐색기 등으로는 볼 수 없게 한다.

그림 13. 은폐 기법을 사용하는 스파이아이 악성코드를 탐지한 트루파인드(TrueFind)

이 외에도 다음 윈도우 레지스트리 위치에 키 값을 생성하여 윈도우 시스템이 부팅 할 때마다 자신의 복사본이 자동 실행 되도록 설정한다.

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\
cleansweep.exe = "C:\cleansweep.exe\cleansweep.exe"

폴더와 악성코드 복사본이 생성이 완료되고 자동 실행을 위해 윈도우 레지스트리에 특정 키 값 생성이 완료 된 후에는 그림 14와 같이 최초 스파이아이 빌더에서 설정해두었던 C&C 서버의 주소로 역접속을 수행하기 위해 감염된 시스템에 설정되어 있는 DNS 서버로 해당 주소에 대한 쿼리(Query)를 발생한다.

그림 14. 스파이아이의 C&C 서버 접속을 위한 DNS 조회

또한 쿼리 발생 이후에 정상적으로 C&C 서버 주소로 접속이 이루어지지 않게 될 경우에는 빌더에서 지정하였던 보조 C&C 서버 주소로 재접속을 시도하게 된다.

그림 15. 웹 페이지 인젝션 수행 대상이 되는 은행 웹 페이지 리스트

또한 빌더를 이용해 스파이아이 악성코드를 생성할 때 사용하였던 제우스 악성코드와 유사한 형태를 자기고 있는 설정 파일들에 지정되어 있는 웹 사이트를 감염된 시스템의 사용자가 접속하게 될 경우, 해당 웹 페이지에 추가적으로 사용자 입력 폼(Form)을 생성하여 그곳에 입력되는 사용자 입력 키보드 값을 가로채는 “폼 그래빙(Form Grabbing)”, 또는 “웹 페이지 인젝션(Web Page Injection)” 기법을 통해 사용자 계정과 암호를 C&C 서버로 전송한다.

제우스를 삭제하는 스파이아이

앞서 스파이아이에는 제우스 악성코드를 삭제하는 기능이 포함되어 있는 것을 살펴 보았다. 실제 제우스에 감염되어 있는 시스템에서 스파이아이가 어떠한 방식으로 제우스를 삭제하는지 살펴보면 그림 16과 같은 순서로 수행하는 것을 알 수 있다.

그림 16. 제우스 봇을 삭제하는 스파이아이 봇

스파이아이가 실행 된 후 정상 프로세스인 explorer.exe의 메모리 영역에 자신의 코드를 삽입하고, 이후 자신의 복사본인 cleansweep.exe 파일을 생성하게 된다. 그 후 제우스가 생성한 복사본인 sdra64.exe 파일을 찾아 삭제하는 일련의 과정들이 발생한다. 그러나 이러한 일련의 과정은 제우스 악성코드가 생성한 복사본 sdra64.exe 파일만 찾아 삭제하며 정상 프로세스인 svchost.exe의 메모리 영역에 삽입되어 있는 코드를 삭제하지 않기 때문에 시스템을 재부팅하기 전까지는 제우스의 악의적인 코드는 메모리 상에 존재하며 여전히 동작하게 된다.
그림 17. 제우스 봇의 뮤텍스(Mutex)를 이용해 삭제하는 스파이아이 봇 코드 중 일부

이렇게 제우스의 파일을 찾아서 삭제하는 스파이아이의 기능을 분석해보면, 먼저 실행 중인 프로세스의 메모리 영역에서 뮤텍스를 “__SYSTEM__”, 또는 “_AVIRA_”를 사용하는 파일을 검사한 후 해당 파일의 경로를 찾아서 삭제하도록 되어 있다.

악성코드 제작으로 인한 금전적 이득 자체를 제거해야 

앞서 우리는 크라임웨어의 일종으로 사이버 범죄에 악용되는 제우스 악성코드로 인해 얼마나 많은 금전적인 피해가 발생하는지 살펴보았다. 이와 함께 제우스와 유사한 형태인 또 다른 뱅킹 트로이목마인 스파이아이가 어떻게 생성되어 C&C 서버로 가로챈 사용자 금융 정보들을 전송하는지도 살펴보았다.
이러한 온라인 뱅킹 관련 트로이목마들이 지속적으로 등장할 뿐만 아니라 추가적인 버전들이 생성된다는 점에서 금융 정보 탈취를 목적으로 하는 악성코드들을 더욱 증가할 것으로 볼 수 있다. 또한 실질적으로 이러한 악성코드를 생성하는 조직에서 금전적인 이익을 획득하고 있다는 것도 간접적으로 알 수 있다.
한편 이러한 문제는 결국 컴퓨터 사용자의 시스템을 두고 악성코드를 서로 삭제하는 이른바 권리 싸움으로까지 이어진다는 점에서 심각한 사회 문제라고 볼 수 있다. 그러므로 컴퓨터 사용자가 자신이 사용하는 시스템에 대한 보안을 철저히 함으로써 근본적으로 이러한 악성코드 제작으로 인한 금전적인 이득이 발생하지 않는 환경을 만드는 것이 이러한 사이버 범죄를 근절할 수 있는 방법의 하나가 아닐까 생각해본다.

[참고 자료]


2) Wikipedia - Crimeware







9) Using Entropy Analysis to Find Encrypted and Packed Malware - ROBERT LYDA(Sparta) & JAMES HAMROCK(McDonald Bradley)