안철수연구소 연구원이 말한 악성코드 분석의 세계

올해 보안 관련 사건/사고 소식을 찾아보면 침해 사고의 원인 대부분이 악성코드로 시작되었다는 것을 확인할 수 있다.
 
기사 출처 : 데일리시큐 , 아시아경제

이처럼 악성코드라는 단어는 방송이나 인터넷 뉴스 등을 통해 자주 접할 수 있었다. 반면에 악성코드에 대해 깊게 다룬 내용은 찾아보기 힘들다. 그리고 관심이 있지 않은 이상 악성코드를 직접 찾아보거나 악성코드에 대한 자세한 이야기를 들어본 적은 없었을 것이다.

정보보안에 관심 있는 대학생으로서 '악성코드에 대해 어떻게 하면 좀 더 쉽게 접근할 수 있을까?' 라는 생각을 갖고 인터넷 검색을 해보았다. 검색을 하던 중 '기술적인 관점에서 본 악성코드 트렌드'라는 주제로 공개 세미나가 열린다는 소식을 들었다. 악성코드에 한 발 더 가까워질 수 있다는 생각에 공개 세미나 현장을 찾아가 보았다.

이번 공개 세미나의 강연자는 바로 '악성코드 그리고 분석가들'의 저자이자 현재 안랩 ASEC 분석1팀에서 근무하고 있는 이상철 책임연구원(이하 이책임). 
(이상철 책임 인터뷰 :  http://blogsabo.ahnlab.com/841  )

이상철 책임이 직접 쓴 책인 '악성코드 그리고 분석가들'에서 다루었던 악성코드 중심으로 세미나가 진행되었다. 이 책임이 직접 겪었던 악성코드 연대기이므로 일반적인 악성코드 트렌드와 다소 다를 수 있다고 한다. 악성코드에 대해 자세하게 이야기하면 많은 시간이 걸리지만 이번 세미나에서는 악성코드를 하나하나 이해할 수 있는 수준의 설명으로 진행이 되었다.

악성코드는 퍼즐이다!


본격적인 강연에 앞서 이상철 책임은 사람이 어떤 지식을 습득할 때 하나의 깃발 위주에서 지식이 쌓인다고 했다. 그래서 세미나에 참석한 사람들이 악성코드를 모른다고 해도 이번 세미나를 통해 '악성코드는 퍼즐이다'라는 하나의 깃발을 꽂아갔으면 한다는 말을 했다. 그 이유는 이 팀장이 8년 동안 악성코드를 분석하면서 악성코드는 직소퍼즐이나 그림퍼즐과 같다고 느꼈기 때문이라고 한다.

 이 책임이 생각하는 일반적인 남자의 뇌구조.
지금부터 악성코드는 퍼즐이라는 깃발을 꽂고 이야기를 들어보자.

악성코드 분석가들이 하는 일은?


악성코드에 대해서 이야기하기 전 이 책임은 악성코드 분석가들이 하는 일을 이야기했다.

 

살면서 걸어가는 게 제일 빠르다는 것을 느꼈다. 즉, 한 방은 없다는 것이다. 악성코드 분석 할 때도 마찬가지이다. 분석가들은 악성코드라는 퍼즐에 대해 처음부터 끝까지 분석을 하면 중간 중간에서 작은 기능들을 보게 된다. 그리고 추가기능이 없는지 전체적인 재분석을 한다. 이 과정을 반복하고 자세히 볼수록 퍼즐을 완벽하게 맞출 수 있는 것이다.

또한 분석가들은 분석을 통해 사람의 의도까지 파악을 한다. 예를 들어 '악성코드 제작자는 언제 무슨 이유로 악성코드를 만들었다' 하는 추측을 하기 시작한다. 이렇게 분석을 하다보면 가끔씩 'CSI 과학수사대' 분위기마저 들 때가 있다. 이런 분위기가 느껴질 때에는 소설은 그만 쓰고 팩트(Fact)만 이야기하라는 말을 한다. 그래야 분석가들이 필요한 것을 얻을 수 있기 때문이다. 


2003년도부터 2010년까지의 다양한 악성코드에 대한 본격적인 이야기가 시작되었다. 여러 악성코드를 다루었는데 이 중 세미나를 통해 흥미롭게 느꼈던 두 가지 악성코드를 적어보았다.

1. Bot류
 

↑  영화 '트랜스포머'에 나오는 해킹 전문 로봇 '프렌지'

봇(Bot)이라는 단어가 생소한 분들을 위해 먼저 간략한 설명을 하자면 '봇(Bot)'이란 로봇(Robot)의 준말로서 사용자나 다른 프로그램 또는 사람의 행동을 흉내 내는 대리자로 동작하는 프로그램을 의미한다. 인터넷상에서 보편적으로 존재하는 봇들은 웹사이트들에 주기적으로 방문하여 검색엔진의 색인을 위한 콘텐츠를 모아오는 일을 하는 스파이더, 크로울러라고도 불리는 프로그램들이 있다. (출처 : 텀즈 http://terms.co.kr/bot.htm) 

이 책임이 안랩에 입사했을 때 악성 봇들이 굉장히 많이 출현해서 매일매일 그 기록을 갱신했다고 한다.
 

과거 도스(DOS)시절에는 자신의 능력을 과시하려는 목적으로 악성코드를 제작했다. 그러나 지금은 악성코드를 만드는 이유는 딱 하나. 바로 돈 때문이다.

악성 봇들은 위에서 말한 스파이더, 크로울러와 같은 유용한 봇들과 달리 해커 혹은 봇 유포자가 원격지에서 봇에 감염된 PC를 로봇처럼 자신이 마음대로 제어할 수 있게 만들어 해당 PC를 자신이 쓸 수 있게 하는 것이다. 실제로 이런 PC들을 '봇화(Bot化)'했다.

원격접속으로 공격이 가능해지면서 귓속말 하듯이 몰래 특정 명령을 내려서 파일을 올리거나 다운받기도 했다. 더 나아가 악성코드 제작자들은 서버까지 관리하기 시작했다. 예를 들어 '해커Z'가 메일을 발송할 수 있는 악성 봇을 만들어서 인터넷 동영상이나 Fake AV(가짜 백신) 등에 악성코드를 심어놓았는데 PC가 3만대가 이 악성 봇에 감염되었다. 

이제 해커Z는 스팸메일 발송이 필요한 사람들(이하 스팸메일러)에게 장악한 PC 중3000대를 판매를 하는 것이다. 해커Z는 "당신들은 렌트비용(예: 3000대에 200만원)만 지불하면 된다"라고 이야기한다. 그래서 스팸메일러는 200만원을 주고 3000대를 구입하게 된다.
결과적으로 봇에 감염된 PC의 주인들은 PC를 사용하지 않는 밤에는 스팸메일러가 자신의 PC를 사용하는 것을 모르는 것이다.

2. 베이글 

악성코드를 설명하고 있는데 갑자기 웬 베이글(?)

다이어트하는 사람들이 즐겨찾는 베이글이지만 이름이 동일한 악성코드 '베이글'은 분석가들에게는 큰 고생을 가져다주었다고 한다. 위에서 봇류의 사례를 봤듯이 악성코드로 돈을 벌 수 있게 되면서 여러 악성코드 제작자들이 일종의 사업처럼 뛰어들었고, 그 결과 NetSky ,Bagle 등의 악성코드를 만드는 해커들 사이에서 전쟁(?)이 일어났다고 한다.
 
그 전쟁은 해커들 사이에서 서로를 자극하는 메시지를 넣어서 일종의 대화를 하거나 상대방 악성코드를 감염된 시스템에서 제거하는 일종의 치료기능을 넣은 변종을 만드는 방식이었다. 다시 말해 악성코드에 감염되면 해당 취약점을 보완하기 위해 바로바로 윈도우 업데이트를 하는 것과 같았다.

이 책임은 그 전쟁을 지켜보면서 여러 악성코드 중에서 '베이글'이 파일 레지스트리까지 모두 치료해주는 점을 보면서 가장 강한 팀이라는 것을 느꼈다고 한다. 
 

그렇다고 베이글이 전쟁에서 승리하는 것을 가만히 응원하고만 있을 때는 아니었다. 그 당시 베이글은 하나의 시나리오를 만들어서 전 세계를 대상으로 한 공격을 하기 시작했다. 베이글은 감염된 PC내에서 이메일 주소를 수집하는 기능을 갖고 있었다. 하지만 어떻게 필요한 사람한테만 보내는 방식으로 만들어졌는지에 대한 궁금증이 생겼다.

그러한 궁금증을 갖고 분석한 결과 하나의 쓰레드를 만들어서 확장자가 ***.txt, ***.html 인 파일들을 읽은 뒤 해당파일 내에서 이메일 주소를 찾아 자동으로 발송을 하는 방식이었다. 6년 전에 만들어 진 악성코드지만 스마트한 방식으로 잘 만들어졌다는 생각이 들었다.

계속해서 다른 방식의 베이글이 출현했다. 감염이 되면 이메일을 발송하는 것은 이전과 같았으나 여기에 암호화 된 ZIP(압축)파일과 랜덤암호를 첨부해서 발송하는 점이 달랐다. ZIP 파일에 함께 첨부된 랜덤암호를 입력하면 압축이 풀렸다. 즉, 일종의 사회 공학적 기법을 사용해서 메일에 대한 신뢰성을 높인 것이다. 그 결과 사용자들은 메일에 첨부된 ZIP파일의 압축을 풀어서 악성코드를 자연스럽게 실행시키면서 100% 베이글에 감염되었다. 그 만큼 베이글의 피해는 엄청났다.

베이글로 인한 피해를 막기 위해 안랩에서도 많은 고민을 했다. ZIP 파일에 해당 암호를 넣어서 압축을 해제한 뒤 진단하는 것이 가장 좋은 방법이었다. 그러나 진단 속도가 너무 느려지는 것이 문제였다. 예를 들어 폴더의 반을 ZIP파일로 채운 사용자의 경우에는 한 번 진단 시 거북이 같은 진단 속도에 답답함을 느꼈다. 

암호화한 부분을 어떻게 할까 고민을 하면서 아이디어를 얻기 위해 다른 백신 업체는 어떻게 대응하는지 살펴보기로 했다. S사는 이메일을 파싱(parsing)해서 첨부된 암호를 압축파일에 집어넣는 방식으로 진단을 했다. 그러나 아이디어를 얻은 것도 잠시, 어느 날 진단을 하면서 무엇인가 이상한 점을 발견했다. 랜덤 암호를 텍스트가 아닌 이미지로 첨부해서 메일을 발송하는 것이었다. 그 결과 텍스트를 파싱해서 진단하는 S사의 백신 또한 무용지물이 되었다.

현재 인터넷 사용 시 흔히 접할 수 있는 이미지 패스워드 방식(CAPTCHA)이지만 
베이글을 통해 처음으로 이 방식을 접한 분석가들은 충격이었다고 한다.

사수들도 헤매는 것을 지켜보면서 베이글이라는 악성코드에서 무림고수의 숨결을 느꼈다.

이 외에도 Detnat, Viking 등의 다양한 악성코드에 대한 설명이 이어졌다. 처음 접하기에는다소 이해하기 어려운 부분도 있었다. 하지만 혼자서 공부할 때보다 직접 눈앞에서 악성코드에 대한 이야기를 들으면서 악성코드에 대해 알 수 있는 좋은 시간이었다. Ahn

대학생기자 김재기 / 한양대 안산 컴퓨터공학과

해보지도 않고 포기하는 것은 현명하지 않은 일이라고 생각합니다.
타고난 천재가 아닌 이상 처음부터 잘하는 사람은 없겠지요.
새로운 것에 도전하고 항상 노력하는 대학생기자 김재기입니다.

댓글을 달아 주세요

  1. 너돌양 2012.02.01 09:30  Address |  Modify / Delete |  Reply

    잘 보고 갑니다. 행복한 하루 되세요

  2. 통통이21 2012.02.01 13:02  Address |  Modify / Delete |  Reply

    우와 악성코드의 세계 정말 흥미진진하게 잘 읽었습니다.
    뭔가 두뇌싸움 같기도 하고~~^^

  3. 김팬더 2012.02.01 14:13 신고  Address |  Modify / Delete |  Reply

    악성코드에대한 전문적이고 유용한포스트잘읽고갑니다~^^