보안 이슈

AhnLab 보안 전문가의 심층분석! 보안 이슈 정보를 전해드립니다.

[Special Report] 5부 : 침해사고 / 안티포렌식 기반의 지능형 공격을 경계하라

  • Facebook에 공유하실 수
    있습니다.

  • Twitter에 공유하실 수
    있습니다.

  • Linked in

    Linked in에 공유하실 수
    있습니다.

  • 붙여넣기

    블로그나 게시판에 붙여넣기 하실
    수 있습니다.

  • 안철수연구소
  • 2012-01-03

1부 : 보안 위협 / 2011년 보안 사고 APT가 장악하다  

2부 : 보안 위협 / 2012년 ‘더욱 교활하고 정교해진다’

3부 : 네트워크 보안 / 다각화된 보안 이슈에 물 샐 틈 없이 대비하라
4부 : 보안 컨설팅 / 패러다임 변화의 중심에 서다

5 : 침해사고 / 안티포렌식 기반의 지능형 공격을 경계하라

 

2011년 화두로 떠오른 공격 유형은 정밀한 지능형 타깃 위협(Advanced Persistent Threat, 이하 APT)이었다. 이란의 핵 시설을 위협했던 스턱스넷(Stuxnet)이 그랬고, EMC/RSA, Operation Shady RAT과 같은 사례가 이에 해당된다. 우리나라에서 2011년 발생했던 굵직굵직한 사건의 핵심에도 APT가 있었다. 농협, SK 커뮤니케이션즈, 넥슨 해킹 사건이 모두 APT 기법을 이용한 공격이었다. 이러한 공격 유형은 대개 네트워크 기반의 접근 제어나 필터 기반의 침입탐지시스템(IDS)/침입방지시스템(IPS) 등으로 탐지할 수 없다는 점에서 문제의 심각성이 더하다.
2011년에 발생했던 침해 사고 사례의 주요 특징을 돌아보면서 2012년 대응책을 준비해본다.

 

>>2011년 동향 분석


 

1) 공격 기능의 은폐


안철수연구소의 침해 사고 분석 조직인 A-FIRST(AhnLab-Forensics & Incident Response Service Team)가 분석한 결과에 따르면, 2011년 발생했던 침해 사고의 상당수가 APT와 관련이 있었고 대부분 안티포렌식(Anti-Forensics) 기반의 추적과 사고 흔적을 숨기려는 공격자의 의도가 명확했다.
[그림 1]은 실제 공격 사고 분석 과정에서 추출된 코드이다. 예를 들어, 키보드의 왼쪽 Shift 키를 연속해서 다섯 번 누르면 고정 키와 관련된 설정 사항을 확인할 수 있다.


 
[그림 1] 실제 공격 사례에서 추출한 코드

 

분석 초기에는, 공격자가 해당 기능에 단순히 cmd.exe를 등록해 실행시키는 것이라고 판단했었다. 그러나 공격자의 행위는 교활해서, 고정키 실행 프로그램을 통해 실행된 메뉴의 특정 위치나 특정 클릭을 해야만 아래와 같은 공격 기능이 나타나기도 했다.

 


[그림 2] 숨겨진 공격자 메뉴창

 

중국에서 만들어진 것으로 보이는 이러한 악성코드는 악의적 기능을 찾아내더라도 정작 내부 명령어를 수행하는 기능을 파악하기 어려웠다. 공격자가 의도한 명령어 실행 방법을 알아낸 후에야 숨겨진 악의적 행위를 탐지할 수 있었다.

 

2) 공격 기록의 삭제


[그림 3]과 같이, 공격자들은 대개 공격에 성공한 흔적을 제거한다. 분석가는 일반적인 방법으로 공격자의 공격 유입 경로/방법/취약점, 또는 추가적인 공격자 IP 추적을 통해 접근 시스템 기록을 파악할 수 있다. 하지만 공격자가 자신의 흔적을 지워버리면, 분석가는 오로지 공격자가 설치한 악의적 프로그램 경로인 /var/tmp 디렉터리 이하의 정보만 열람할 수 있다.

 


[그림 3] 주요 로그 파일과 공격 툴 설치 디렉터리 삭제

 

공격자 중에는 과감하게 자신의 IP 추적이 가능한 형태의 공격을 하는 경우도 간혹 있지만, 대부분은 Live IR(Incident Response)로는 분석 자체가 불가능하다. 그러므로 향후 사고 분석과 관련된 모든 행위는 포렌식 차원에서의 접근이 필요하다.

 


[그림 4] 루트 권한 획득에 이용된 공격 코드의 삭제

 

[그림 4]에서 볼 수 있듯이, 공격자는 다른 시스템에 공격을 전파하기 위해 현재의 노바디(nobody) 권한에서 루트(root) 권한으로의 상승을 시도하고 있다. 이와 같은 포렌식 기반의 분석이 없었다면, 공격자가 어떻게 루트 권한을 획득했는지 확인할 수 없었을 것이다.

 

3) 공격 코드 이동 은닉


공격자는 단순히 로그 파일이나 공격에 성공한 악성코드를 지우기만 하는 것이 아니다. 개별 공격 코드를 실제 이용되는 파일 네임 형태와 동일한 실행 압축 파일 형태로 만들어, 보안 시스템이 공격자의 행위를 의심하지 않도록 한다.

 


[그림 5]실행 압축된 공격 파일

 

실제로 [그림 5]의 vbs 파일 형태는 [그림 6]과 같았으며, 악의적인 vbs 파일의 영향으로 공격 대상 시스템의 msrtc 서비스를 조작하게 된다.

 


[그림 6] vbs 파일 공격 형태

 

또한, 공격자는 이후의 행위가 안티바이러스 소프트웨어에 탐지되지 않도록 악성코드 비탐지 영역 또는 Exclusive Area를 설정하여, 악성코드를 마음껏 업로드하거나 악의적으로 이용하도록 설정하기도 했다.


 
[그림 7] 안티바이러스 탐지 회피 설정

 

APT 공격은 단지 악성코드의 전달과 실행에 그치는 것이 아니라 핵심 시스템 운영자, 관리자의 시스템, 정상적인 내부 임직원의 PC에 침투하여 이루어진다. 따라서 지금까지의 방어가 인터넷을 이용한 서버의 침투에 집중했다면, 앞으로는 내부 통제 관점으로 확장해야 할 것이다.

 

4) 악성코드 대량 배포 방법 변화


서버 기반의 공격도 그다지 다르지 않다. 내부 PC에서 공격 행위가 진행되거나 매주 금요일 오후마다 반복되는 경우도 흔히 발견된다. [그림 8]과 같이, js 파일이 변조되어 본사의 서비스는 물론 고객사의 440개 개별 서비스에 영향을 주었던 사상 초유의 공격이 성공하는 일도 있었다.

 


[그림 8] 악성코드 배포지로 유도되는 Script Tag 삽입

 

매주 주말마다 반복되는 사고는 서버 자체에 숨겨진 웹쉘이나 리버스 쉘 기반의 악의적 공격 코드에 의해 많이 발생하기도 하지만, 최근에는 정상적인 관리자 대역에서 정상적인 관리자 ID를 통해 발생하는 경우도 많다. 이는 APT에 의한 공격이라고 해석될 수도 있는 대목이다.

 


[그림 9] 일반적인 악성코드 삽입 원인

 

[그림 9]와 같이 일반적인 공격 방식을 취하더라도, 언론사나 취업 정보 사이트처럼 다수가 접속하는 서비스라면 그 파급력이 훨씬 클 수 있다.

 


[그림 10] 알려진 취약점을 이용한 공격 방식

 

[그림 10]의 사례는 게시판의 알려진 취약점을 이용한 것이다. 대개 취약점 공격 방식이 대단히 높은 수준일 것이라고 생각하지만, 정작 공격자들은 대단히 쉽고 잘 알려진 공격 방식을 이용해 공격에 성공하고, 악성코드를 배포한다. [그림 10]의 spellchecker.asp라는 당연히 존재할 것 같은 asp 프로그램이 사실은 공격자가 생성한 백도어 역할을 하는 웹쉘 계열의 프로그램이었다.
 


[그림 11] 실제 침해 사고가 발생한 내부 프로세스 상태

 

[그림 11]은 이미 다수의 루트킷에 오염된 시스템의 메모리에서 확보한 내역이다. Volatility 환경에서 분석하지 않으면, 대부분의 프로세스는 Hidden 상태로 존재하기 때문에 결코 눈에 보이지 않는다. 따라서, 이러한 악의적 백도어는 TCP/IP 패킷부터 분석해야 할 정도로 심각한 경우도 상당수 있었다. 심지어 [그림 11]의 사례에서 /lib/.ld 파일은 공격자가 실행 후 즉시 제거한 것처럼 공격자 자신의 공격 경로를 제거하는 경우가 대부분이었다.

 

2012년에도 이러한 공격 유형이 꾸준히 증가할 것이며, 누구나 쓸 수밖에 없는 범용 서비스나 애플리케이션, 유명 웹 서비스를 노리는 악의적 행위가 지속될 것으로 보인다. 누구나 사용하고 있고 안전할 것이라고 믿는 서비스일수록 더욱 조심해야 한다.

 

5) 공격 툴의 자동화


웹 서비스와 업무 공간의 PC 중 어느 것을 공격하기 쉬울까? 다양한 정보보호 시스템에 의해 보호되는 업무용 PC보다는 웹 서비스가 공격하기 쉬울 것이라고 생각하는가? 그러나 2011년 사례를 보면, APT 공격 대상의 대부분은 업무용 PC였다.

 


[그림 12] 자동화 SQL 인젝션 공격 툴의 접속 기록 흔적

 

[그림 12]는 SQL 인젝션(Injection) 공격에 의해 관리자 페이지의 접근 권한이 도용당한 사례다. 공격자가 엄청난 양의 공격 패턴을 발생시키고 있는 것을 확인할 수 있다. 하지만 타임라인을 분석해보니, 초당 3~5건의 로그를 발생시키기 위해 자동화 공격을 이용했다는 것을 알 수 있었다. 이 공격은 [그림 13]과 같은 SQL 인젝션 취약점 자동화 공격 툴을 이용한 것이다.

 


[그림 13] 자동화 SQL 인젝션 공격 툴

 

이와 같은 툴에 의한 공격 방식은 Standard SQL 인젝션 계열뿐만 아니라 Blind, Massive 계열을 자동으로 찾아내 공격하거나 SQL 인젝션 계열 취약점을 이용해 DB 정보를 빼내는 등의 기능을 지원한다.

 

이론상 SQL 인젝션, XSS 취약점 탐지 패턴을 우회하는 방식이 무한대로 가능하기 때문에 IDS/IPS 또는 웹 방화벽이 이러한 신규 패턴을 탐지할 수 있는지를 지속적으로 검토해야 한다. SQL 인젝션과 같은 신규 취약점을 탐지하는 데 소모해야 할 에너지를 차라리 Source Code Auditing에 쏟는 것이 더 바람직할 수도 있다.

 


[그림 14] 일반적 APT 공격의 흐름

 

APT 공격에 이용되는 악성코드도 마찬가지다. 최근에는 전문가가 아니더라도 악성코드를 만들 수 있는 자동화 공격 생성 툴이 많아 문제가 더 심각하다.

 


[그림 15] 범용적 악성코드 생성기

 

기업의 APT 대응 관련 모의 훈련 결과, 공격 성공률은 대략 6% 미만이었으며, 이중 실제 EXE 파일 링크까지 클릭한 사용자의 비율은 2%에도 미치지 못했다. 공격 성공률이 80%인 A기업과 성공률이 6%인 B기업이 있을 때, APT 공격 특성상 B기업이 A기업에 비해 안전하다고 말할 수 없다. APT와 같은 공격은 한두 대의 PC만으로도 대단히 효과적인 공격을 할 수 있기 때문이다. APT 공격이 대단히 위협적인 이유는 단순한 내부 통신조차 의심할 수밖에 없도록 만든다는 점이다.

 

 

>>2012년 전망


2012년, 디지털 포렌식 도입이 필수


2012년에는 범용적인 미디어 파일, 각종 업무에 이용하는 문서, 스프레드 시트뿐만 아니라, 인터넷 뉴스, 뉴스 옆에 노출된 배너 광고, 영화와 같은 동영상, 회사 동료와 자료 교환을 위해 열어 놓은 SMB(Server Message Block) 설정조차 위협이 되는 상황으로 악화될 가능성이 대단히 높아 보인다.

 

더욱이 최근 발견되는 마스터 C&C 서버는 원격 제어를 위한 RAT(Remote Administration Tool)의 기능이 악성코드 에이젠트를 제어하는 차원을 넘어, 원격 제어를 위한 터미널과 해상도를 별도로 설정할 수 있을 정도로 세분화되고, 공격 툴도 기존 VNC, RDP와 같은 관리 용도의 원격 접속 툴 이상의 기능을 제공하고 있다.

 

APT 공격자들은 악의적으로 조작된 악성코드가 기존 안티바이러스 솔루션에서 탐지되는지를 Virustotal.com과 같은 서비스를 통해 충분히 검토한 후 전송하기 때문에 사전 탐지가 거의 불가능하다. 즉 어떤 기관이나 기업도 APT 공격으로부터 안전할 수 없다.
 
공격이 발생하였을 때에도 APT는 대부분의 로그 조작과 공격 툴의 삭제를 통해 공격 유입 경로 분석이나 IP 추적을 회피하기 때문에, 기존의 Live Incident Response 관점으로는 분석할 수 없는 경우가 많다. 따라서, 향후 거의 모든 수준의 사고 분석은 타임라인 기반의 디지털 포렌식 기술의 도입과 적용이 필수적일 것으로 예상된다.@ 

  • 안철수연구소 로고
  • A-FIRST 한승훈 책임
  • Facebook에 공유하실 수
    있습니다.

  • Twitter에 공유하실 수
    있습니다.

  • Linked in

    Linked in에 공유하실 수
    있습니다.

  • 붙여넣기

    블로그나 게시판에 붙여넣기 하실
    수 있습니다.