본문 바로가기
AhnLab 칼럼

진화하는 악성코드 기법, 트위터도 뚫었다

by 보안세상 2020. 4. 21.

2010.03.19

 

지난해에는 특히 네트워크와 관련된 악성코드 이슈가 많았다.
온 나라를 시끄럽게 했던 7.7 DDoS 인터넷 대란은 2003년 1.25 대란을 잇는 큰 사건으로 국내 인터넷 역사에 기억될 것이다. 많은 수의 좀비PC가 동원된 것을 미루어 볼 때 오래전부터 치밀하게 준비된 것으로 예상해볼 수 있다. 좀비PC들은 시간대별 스케쥴링 기능을 통해 총 3일 동안 각기 다른 공격 사이트를 다양한 공격 방식을 통해 공략하였다.

악성코드의 위험성을 다시금 일깨워주는 좋은 사례가 되었고, 이를 계기로 일반 사용자들의 보안의식이 다소 높아질 수 있는 계기가 되었다. 또한, 전세계적으로 악명을 떨친 컨피커 웜 (Win32/Conficker.worm)은 윈도우 취약점 및 관리목적의 공유폴더 등의 다양한 공격경로를 활용하여 개인 및 기업 네트워크를 전방위적으로 위협하였고, 그 위협의 잔재는 여전히 존재하고 있다.

 

운영체제 상의 취약점들은 Windows 7 를 비롯하여 다양한 운영체제상에서 보고되고 있으나, 아직까지 큰 위협이 될 악성코드로 발전할 가능성은 낮아 보인다. 이에 반해, 워드, 엑셀 등 오피스 취약점들과, Acrobat Reader(PDF), Flash Player(Flash) 등의 어도비(Adobe)사의 프로그램 취약점들이 위협적인 악성코드로 발전되기도 하였다. 특히, 악성코드 전파를 위해 최적의 환경을 제공하는 제로데이(0-day) 취약점 악용이 점점 늘어나고 있어 어느 때보다도 사용자들의 주의가 요구된다.

 

현재 활발한 봇넷 활용과 스팸봇의 활동으로 인해, 이메일을 통한 악성코드 전파도 꾸준히 발견되고 있다. 인터넷 상에는 정상적인 메일보다는 악의적인 용도로 전달되는 스팸 메일들이 불필요한 업무부하를 유발하고 있다. 신종 플루엔자, 마이클 잭슨의 죽음 등 사회적 이슈가 생길 때 마다 공격자는 어느 하나 놓치지 않고 사용자를 유인하는 미끼로 잘 활용하고 있다.

 

델파이 개발자를 노린 인덕 바이러스 (Win32/Induc)는 감염된 개발환경에서 지속적으로 악성코드를 생산하는 일을 발생시켰다. 개발자는 ‘소프트웨어 보안 개발 사이클’을 통해 개발 단계부터 소프트웨어의 보안취약성을 만들지 않아야 하고, 개발 환경의 완벽한 보안을 통해 바이러스 생산 공장이 되지 않도록 해야 한다.
 
앞으로 시리즈에 걸쳐 지난 2009년 한 해를 수 놓았던 악성코드 동향과 대표적인 악성코드 특징에 대해 살펴보고, 다양한 보안 위협들로부터 피해를 최소화하기 위해 필요한 대응방안에 대해 함께 살펴보기로 한다.

 


탐지/진단 우회방법의 발전

 

최초의 악성코드가 발견된 시점부터 지금까지 악성코드 제작자와 보안 전문가들의 쫓고 쫓기는 싸움은 계속되어 왔다. 매체가 다양해지면서 악성코드가 활용할 수 있는 전파경로도 확장되었고, 보안기술과 소프트웨어/장비 등의 진보로 이를 우회하기 위한 악성코드 제작자들의 노력도 발전되어 오고 있다.

우리는 최근의 이슈가 되고있는 악성코드들에서 다음과 같은 특징들을 쉽게 발견할 수 있다.

 

■ 가상화(vmware, virtualbox, ..)와 디버그(ollydbg, windbg,…) 환경 탐지

 

■ 각종 분석툴(pe,filemon,…), 보안 소프트웨어(windows firewall, anti-virus software..) 종료

 

■ 필요한 기능 및 정보를 가로채기 위한 Hooking 기능

 

■ C&C(Command and Control) 서버와의 통신 및 자체 업데이트를 위한 기능

 

■ 탐지와 분석을 방해하는 암호화 기능

 

특히, 이들 특징 중 탐지와 분석을 방해하거나 우회하기 위한 몇 가지 흥미로운 사례들을 살펴보도록 하자.

 

과거 일회성 감염에 초점이 맞춰진 것과는 달리 최근에는 오랜시간 지속적으로 공격자가 원하는 기능을 충실히 수행할 수 있는 좀비(Zombie) PC의 확보가 중요시 되었고, 이를 위한 악성코드 기능도 매우 중요하게 부각되었다. 공격자는 중앙의 C&C(Command and Control) 서버와 통신채널을 구성하고, 스팸, 분산서비스거부공격(DDoS), 피싱 등 다양한 목적의 명령을 전달하거나 좀비 PC 자체를 업데이트한다.

과거 대표적 통신채널로 사용되던 IRC(Internet Relay Chat) 프로토콜은 이미 잘 알려진 통신채널이기 때문에 이를 회피하기 위한 다른 대안이 필요하게 되었다. 그 대안으로, 사용하는 프로토콜을 HTTP, FTP, P2P로 확장하게 되었고, 최근에는 자체 프로토콜을 사용하는 경우와 다양한 소셜(Social) 네트워크 서비스를 이용하는 방법으로 발전하였다.

 

2009년 3월에 발견된 Mariposa 봇넷은 C&C 서버와의 통신에서 자체 암호화된 UDP 채널을 사용하는 대표적인 예이다. Mariposa 봇넷이 발생하는 UDP 트래픽은 암호화를 풀기 전에는 정확히 명령을 확인할 수 없지만, 악성코드 내부에서 사용하는 복호화 알고리즘을 통해 암호화를 해제하고 나면, USB, MSN 를 통한 악성코드 전파, UDP/TCP 플러딩 공격, 업데이트, 다운로드 및 실행과 같은 식별 가능한 명령들을 확인할 수 있게 된다.

<그림> Mariposa 봇넷 UDP 통신 트래픽

 

또한, 8월에는 국내에서도 사용자가 늘고 있는 트위터 서비스의 트윗(Tweet) 메시지를 Base64 인코딩하여 명령을 송/수신하는 악성코드도 발견되었다. 해당 메시지들은 다수의 URL로 해당 링크를 통해 다운로드되며 이렇게 다운로드된 악성코드는 금융관련 정보를 훔치는 역할을 했다.

<그림> 트위터 서비스를 이용한 통신

 

소셜 네트워크 서비스 이용 사례는 지난 9월 구글(Google)의 그룹(Group) 서비스에 특정 뉴스그룹(Newsgroup)을 생성하여 C&C 서버로 활용한 악성코드에서도 발견되었다. 공격자는 RC4 스트림으로 암호화하고 Base64로 인코딩한 게시물을 올려두고, 악성코드가 접속하여 공격자가 지정한 특정명령을 수신하여 수행하도록 구성해 놓았다.

 

앞서 언급된 내용이 네트워크 상에서 탐지를 우회하기 위한 방법이였다면, 다음으로는 사용자 시스템에 기본적으로 운용되고있는 보안 소프트웨어의 진단을 회피하기 위한 몇 가지 사례들을 살펴보자.

 

악성코드는 일반적으로 악성파일을 로컬 시스템에 드랍(Drop) 또는 다운로드(Download)하여 실행 중인 프로세스에 인젝션(Injection)시키는 방법을 사용하는데, 이때 로컬 시스템에 파일이 생성되는 시점에서 보안 소프트웨어를 통해 진단될 수 있다. 그러나, 최근에 악성코드에는 이러한 파일진단을 회피하기 위해 로컬 시스템 상에 파일을 생성하지않는 경우가 있다.

악성코드가 실행을 위해 사용되는 대표적인 기술인 DLL 인젝션은 과거에는 로컬에 생성된 파일명을 통해 악성파일을 인젝션시키는 것이었다. 그러나, 최근에는 직접 실행 중인 프로세스 공간에 충분한 메모리공간을 확보한 후 원하는 악성파일을 통째로 메모리에 직접 삽입한다. 따라서, 악성코드가 로컬 파일시스템 대신 메모리 상에만 존재하기 때문에 진단되지 않을 가능성이 높아진다.

다른 예로는, 악성코드를 파일 대신 윈도우 레지스트리에 저장하는 방법이 있다. 금융정보 갈취 악성코드로 알려진 “Clampi” 웜에서와 같이 레지스트리는 악성코드가 중요한 설정정보를 저장하기위한 공간으로 활용되어 왔다. 그러나, 최근에는 간단한 설정정보 외에도 악성코드를 통째로 바이너리 데이터형태로 레지스트리에 저장해 놓는 사례도 발견되고 있다. 저장된 데이터는 추가적으로 암호화하거나 보안속성변경 및 권한설정을 해제하는 방식으로 또 한번 진단을 무력화시키기도 한다.

<그림> 악성코드를 저장하고 있는 레지스트리 키

<출처> Windows Incident Response 블로그

 

위와 같은 방법들은 기존의 파일기반 진단에 주요 초점이 맞춰진 다수의 보안소프트웨어들을 우회할 수 있는 가능성을 높여준다.

 

최근에는 많은 보안 소프트웨어 업체들도 이러한 악성코드의 변화에 대응하여 메모리 진단 및 레지스트리 감시방안을 모색하는 방향으로 노력하고 있다.@

 

※  본 원고의 저작권은 한국인터넷진흥원(KISA)과 안철수연구소 시큐리티대응센터(ASEC)에 있습니다.

 

   김지훈 시큐리티 분석가

 

안철수연구소의 시큐리티대응센터에서 취약점, 악성코드 및 네트워크 위협 분석을 담당하고 있다. 안철수연구소의 “안랩 칼럼니스트”뿐만 아니라, 다수의 보안 강연 및 컬럼니스트로 활동하고 있다. 일반인들이 쉽게 이해할 수 있도록 보안지식을 전파하는 "전문 보안교육전문가"가 되는 것이 그의 소박한 꿈이라고 한다.

위 글은 안랩닷컴 

 페이지에서도 제공됩니다.
안랩닷컴 보안정보 中 보안포커스 / 전문가 칼럼
http://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?curPage=1&menu_dist=3&seq=15722&columnist=16&dir_group_dist=0&dir_code=
보안에 대한 더 많은 정보 안랩닷컴
에서 찾으세요 :D