안랩 온라인 보안 매거진 - AhnLab,...

33
APT 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

Transcript of 안랩 온라인 보안 매거진 - AhnLab,...

Page 1: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

APT 공격의 현재와 대응 방안

2014. 02

안랩 온라인 보안 매거진

Page 2: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

2

3

6

1 2

1 5

1 7

2 1

2 8

3 1

월간

C O N T E N T S

C E O M E S S a g E

청마(靑馬)의 해, 안랩이 ‘점프 업’하는 해 될 것

S p E C i a l R E p O R T

APT 공격의 현재와 대응 방안

APT 공격 예방을 위한 11가지 수칙

H O T i S S u E

보안 사고는 발생이 아니라 발견이다!?

i T & l i f E

귀찮아도 꼭 지켜야 안전한 개인 보안 수칙

T E C H R E p O R T

MySQL Forensics

3부_MyISAM, 손상된 데이터에도 ‘의미’는 있다

f O C u S i N - d E p T H

볼라틸리티를 이용한 메모리 포렌식 분석

1부_메모리 포렌식의 비밀을 열다

S TaT i S T i C S

2013년 12월 보안 통계 및 이슈

a H N l a b N E w S

스미싱 탐지 전용 앱 ‘안전한 문자’ 10만 다운로드 돌파

안랩, 정규직 채용 위한 인턴사원 공개 모집

2014. 02

Page 3: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

3

C E O M E S S a g E

청마(靑馬)의 해,

안랩이 ‘점프 업’하는 해 될 것

비행기를 발명한 것은 라이트 형제로 알려져 있다. 그런데 잘 알려지지 않은 사실이지만 그 당시 비행기를 개발중인 또 다른 인물이 있었다. 사

무엘 랭리(Samuel P. Langley)라는 사람이다. 랭리는 하버드대 수학 교수이자 스미소니언협회 고위 관료로, 당시 미(美) 정부의 대규모 지원을

받아 비행기를 개발 중이었다. 그러나 시골 동네의 허름한 자전거 수리점을 운영하던 라이트 형제가 비행기 개발에 성공했다는 소식이 전해지

자 랭리는 비행기 개발 프로젝트를 중단했다. 동시대에, 똑같이 비행기 개발을 시도했음에도 불구하고 라이트 형제는 비행기 발명에 성공하고

랭리는 그렇지 못했던 이유는 무엇일까? 그것은 바로 라이트 형제는 인류를 변화시키겠다는 신념과 영감을 갖고 있었기 때문이다. 반면 비행기

를 설계하겠다는 목적은 있었지만 ‘왜’해야겠다는 뚜렷한 신념이 없던 랭리는 그렇게 역사의 그늘로 사라졌다. 어떤 계획을 세울 때 우리는 보통

결과, 즉 ‘무엇’을 할 것인가에서 시작해 어떻게 할 것인지를 고민한다. 그러나 라이트 형제는 ‘왜’에서 시작해 무엇을 할 것인지에 이르렀다. 이

것이 유명한 강연자인 사이먼 사이넥이 ‘나는 왜 이 일을 하는가(Start with WHY)’라는 저서를 통해 강조한 성공의 비밀이다.

이 글은 권치중 대표의 AhnLab Jump-up 강연을 지면으로 옮긴 것입니다.

권치중 안랩 대표

Page 4: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

4

새해가 밝은지 얼마 되지 않았지만 벌써부터 크고 작은 보안 사건들이 사회를 불안에 떨게 하고 있다. 보안이 그 어느 때 보다 중요한 시점이라

는 것에는 이견이 없다. 수년 전부터 지능형 지속 위협 APT(Advanced Persistent Threat)와 같은 보안 위협이 지속되는 양상을 보이고 있다.

2014년 역시 급격한 사회 변화와 맞물려 위협 양상은 더욱 가속화, 고도화될 전망이다.

어떻게 하면 기업을 둘러싼 대내외 위협으로부터 기업의 핵심 정보를 안전하게 보호할 수 있을 것인가. 이는 안랩이 꾸준히 고민하고 노력해오

고 있는 분야다. 컴퓨터 바이러스를 치료하는 프로그램을 플로피 디스크에 담아 ‘백신’이라고 이름 붙여 무료로 나눠주던 것이 V3의 시작이자

안랩의 시작이었다. 벤처로 시작한 안랩은 지난 몇 년간 급격한 성장을 거두며 중견 기업으로 자리를 잡았다. 이 같은 성장의 저변에는 안랩의

비전, 안랩이라는 기업이 가진 미션이 있었다. “함께 사는 사회에 기여한다”는 것이 그것이다.

2년간 안랩의 국내 사업부문을 총괄하면서 많은 고객을 만나며 공통적으로 느낀 점이 있다. 고객이 안랩을 자랑스럽게 생각한다는 것이다. 고객

이 생각하는 안랩은 대표적인 국내 보안 기업이며, 안랩만큼 기술력 있는 보안 업체는 없다는 평가였다. 이것이 고객이 바라보는 안랩의 ‘가치’

다. 고객이 바라보는 안랩은 악성코드 분석에 대한 핵심 기반 기술을 보유하고 있으며, 최신 보안 위협에 대해 전방위적으로 대응할 수 있는 조

직과 다양한 분야의 제품 라인업을 보유한 기업이다.

그러나 안랩이 여기에 안주한다면 그 가치는 금세 빛을 잃을 것이다. 최근 사회 환경, 특히 기업 환경은 과거와는 많이 달라지고 있다. 안랩 역시

더욱 집중하고 변화를 꾀해야 하는 시점이 되었다. 우리의 장점에 집중하여 고객이 기대하는 안랩의 가치를 전달한다는 것이 안랩의 핵심 전략

이다. 고객과의 소통을 통해 고객의 니즈를 이해함으로써 고객의 가치를 실현할 것이다. 이를 위해 올해 안랩은 고객 중심으로 전체 사업 구조를

재정비했다. 또한 우리가 생각하는 것이 고객이 안랩에 기대하는 수준을 충족시키는지, 우리의 기술 가치와 고객의 기대 수준 사이의 합일을 이

루기 위해 끊임없이 냉정하게 고민을 거듭하여 기술과 제품의 완성도 향상을 위해 R&D 부서의 체계와 프로세스를 개편했다.

고도화되는 위협과 안랩의 미션(mission)지금까지 보안 기업들의 주요 관심 분야는 알려진 위협에 대응하는 것이었다. 그러나 이제는 알려지지 않은(unknown) 위협으로 대응 영역이

확대되고 있다. 또한 최근의 위협은 복잡다단한 양상을 보이고 있어 과거와 같이 한 영역에 대한 단일 제품만으로는 사실상 대응하기 불가능하

다. 엔드포인트단과 네트워크단에서의 대응이 유기적으로 결합되어야 하며 위협 분석과 관제 등을 통해 다각도에서 심층적인 대응이 이루어져

야만 한다. 안랩은 이미 지난 2012년부터 알려지지 않은 고도화된 위협에 대응하기 위해 트러스와처(AhnLab TrusWatcher)를 개발하여 국내

고객에게 제공해왔다. 또한 지속적인 노력과 준비를 기울여 최근 ‘AhnLab MDS’라는 이름으로 글로벌 시장에 진출했다.

안랩은 고도화되는 위협에 대응하기 위해 관제 서비스를 중심으로 선제적인 대응 시나리오를 기획 및 개선하고 있다. 정확한 정보를 기반으로

보안 솔루션 도입에서 그치는 것이 아니라 기업의 효과적인 보안 운영이 가능하도록 지원하고 있으며 더욱 실질적인 효과를 체감할 수 있도록

다양한 편의성을 제공하기 위해 노력하고 있다. 또한 전문가들로 구성된 컨설팅 서비스를 통해 기업을 압박하고 있는 다양한 컴플라이언스에

효과적인 해결 방안을 제시하고 있다.

2014년, 집중과 변화가 필요한 순간

최근 한 외산 백신 업체가 한국 지사를 설립하겠다고 발표하는 등 올해 국내 보안 시장의 변화가 예상된다. 그러나 안랩은 지난 해 자체 개발

한 다차원 분석 플랫폼을 기반으로 더욱 강력해진 V3를 출시, 올해 더욱 강력하게 안티바이러스 시장을 주도해나갈 계획이다. 또한 트러스가드

(AhnLab TrusGuard)로 대표되는 네트워크 제품은 안정성 강화를 기본으로 애플리케이션 콘트롤 등 최신 기술을 적용해 더 강력한 네트워크

보안을 제공할 것이다. 이와 함께 트러스와처의 고도화를 통해 경쟁력을 강화하여 국내 시장을 주도하는 한편 글로벌 시장에서도 입지를 강화

할 것이다. 글로벌 진출은 상당히 시간이 소요되면서도 리스크가 존재하는 과업이다. 그 만큼 장기적인 관점을 갖고 접근해야 한다. 기술 및 제

품 측면에서도 안정성과 품질 제고를 중심으로, 제품 기획 단계부터 글로벌 수준(standard)을 목표로 기술 및 제품을 개발해나갈 것이다. 또한

지속적인 레퍼런스 확보와 함께 ‘안랩’이라는 브랜드 자체의 인지도 향상과 포지셔닝에 힘쓸 것이다. 국가별 비즈니스 영역과 방식을 고민하여

▲ 2014년 안랩 보안 위협 전망

1. APT 방식의 악성코드 고도화와 표적 확대

2. 전자금융사기와 사이버 범죄의 산업화 가속

3. 악성코드 유포 방법의 다양화 및 고도화 지속

4. 윈도XP 지원 종료에 따른 보안 위협 증가

5. 특정 표적을 노린 소규모 모바일 악성코드

6. 사이버 보안에 대한 국가적 인식 변화

7. 펌웨어 업데이트에 악성코드 포함 시도 증가

2014Threat Trend

Page 5: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

5

접근할 것이며, 해당 국가의 비즈니스에 정통한 채널을 통해 전략적인 시장 접근할 계획이다.

기업을 둘러싼 위협이 한층 고도화되면서 기업의 네트워크상에서 이동하는 수많은 데이터, 즉 파일에 대한 가시성(visibility)이 화두가 되고 있

다. 최근 몇몇 신생 기업이 파일 가시성을 내세우고 있다. 그러나 이미 안랩은 이와 관련한 기반 기술을 갖추고 있으며, 제품화에 착수했다. 지

난 해 연말부터 다른 보안 기업들이 제공할 수 없는 안랩 MDSE의 차별성을 내세워 POC를 진행하고 있으며, 올해는 가시적인 성과를 거둘 것

으로 예상된다. 또한 올해 컨설팅, 관제, 포렌식 서비스 등 다양한 서비스 상품을 더욱 고도화하여 급변하는 기업의 환경에 밀착된 서비스를 제

공할 예정이다. 아울러 자사 제품뿐만 아니라 다양한 글로벌 보안 기업과의 협업을 통해 최신 위협에 효과적으로 대응하는 ‘다계층 보안(New

Horizon of Security)’을 실현할 것이다.

안랩은 청마처럼 희망차게 내달릴 것

2014년이 시작된 지 어느새 한 달이 지났다. 음력 설까지 지났으니 그야말로 완연한 새해다. 그런데 동양 역사와 농본 사회의 전통에 따라 24절

기의 첫 절기인 입춘을 기준으로 새해가 시작된다고 보는 시각도 있다. 특히 아기들의 ‘띠’, 즉 ‘지지(地支)’는 입춘을 기준으로 따지는 경우가 대

부분이다. 그렇다면 갑오년 ‘청마(靑馬)’의 해는 입춘인 2월 4일부터 시작된다고 볼 수 있다.

안랩은 이제 청마처럼 힘차게 내달리기 위한 준비를 마쳤다. 올해는 안랩이 점프 업(jump-up) 하는 한 해가 될 것이다.

▲ 안랩의 다계층 보안 전략인 New Horizon of Security 개념도

Page 6: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

6

인터넷으로 연결된 세상은 그야말로 그물망처럼 더욱 정교하고 공고해지고 있다. 이러한 환경은 악성코드가 서식하기에 더없이 좋은

조건이기도 하다. 신년인사나 청첩장, 이력서도 이메일이나 SNS를 통해 전달하는 것이 이젠 어색하지 않다. 그러나 무심코 열어본 이

메일, 늘 사용하던 SNS에 생각지도 못한 악성코드의 위험이 도사리고 있다. 인터넷 환경이 발달할수록, 사용자가 많아질수록, 그 틈

새를 노리는 악성코드도 더욱 교묘해지기 마련이다. 더욱이 공격 타깃이 불특정 다수가 아닌 특정 기업이나 기관, 사회기반 시설 등

이 되고 있으며 그 파괴력 또한 상상을 초월한다. 이제 보안을 아는 사람이라면 더 이상이 낯설지 않게 되어 버린 APT. 2014년 현재

APT는 어느 수준이며 이에 대응하기 위한 방안은 무엇인지 다시 한번 점검해보자.

apT preventionS p E C i a l R E p O R T

APT 공격의 현재와 대응 방안

APT 공격 예방을 위한 11가지 수칙

APT의 정의

2004년 6월 우리나라 정부와 기업들을 대상으로 한 핍뷰어(PeepViewer)라는 트로이목마가 유포된 사례가 있었다. 국가정보원에 따르면, 6개

공공기관의 PC 64대와 민간 기업의 PC 52대가 감염되었다. 이 트로이목마는 이메일로 ‘워크숍 내용과 일정.MDB’라는 첨부 파일을 전송하여 악

성코드 감염을 시도한 것으로 나타났다. 이것은 정부와 일반 기업들을 대상으로 정부 기밀을 탈취하기 위한 국내 최초의 APT 공격 사례로 꼽히

고 있다.

이후 국내에서 APT 공격 사례가 대거 나타나기 시작한 것은 2011년부터였다.

2011년 4월에 농협 전산망 마비 사고가 대표적이다. 외부 공격으로 인해 농협의 전산망 시스템이 손상되어 모든 업무가 마비되었다.

이 사고는 외주 직원의 노트북 PC를 감염시킨 후 내부 시스템으로 침입하는 기법을 사용했다. 공격자는 P2P 프로그램으로 악성코드

를 유포한 후 7개월 동안 꾸준히 감시하면서 공격 시점을 엿보았던 것으로 드러났다.

같은 해 7월, 3500만 명의 고객 개인정보가 유출된 SK커뮤니케이션즈 침해 사고가 대한민국을 뒤흔들었다. 무료 소프트웨어 업데이

트 서버를 해킹하여 정상 파일을 악성코드로 변경한 후 유포하는 방식을 이용하였다. 공격자는 8일 만에 DB 관리자 권한을 획득하였

고 DB 데이터를 분할 압축하여 외부로 유출하였다.

해외에서는 2010년 이란 원자력 발전소의 시스템 파괴를 목적으로 한 스턱스넷(Stuxnet)이 발견되었다. 공격자는 MS 윈도의 알려

진 취약점 3개와 제로데이 취약점 2개를 악용하여 악성코드를 유포하였다. 2011년에 보고된 듀크(Duqu)와 2012년 발견된 플레임

(Flame) 모두 이란 원자력 발전소 관련 정보 수집을 목적으로 침투한 사건이었다.

[그림 1] 스턱스넷 악성코드의 감염과 동작 원리

Page 7: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

7

2010년 1월에는 구글의 기업 기밀 정보를 탈취하기 위한 일명 오퍼레이션 오로라(Aurora)가 발생하였다. 이 사고는 구글 외에 첨단 IT 기업 34

개도 공격하였다. 마이크로소프트 인터넷 익스플로러의 제로데이 취약점을 악용했으며, 이메일과 메신저로 악의적인 웹 사이트로 접속하는 링

크를 전달하였다.

2011년 3월에는 EMC/RSA의 OTP(One Time Password) 제품 기밀 정보를 탈취하려는 시도가 있었다. 공격 대상을 선정하기 위해 소셜 네트워

크로 내부 직원의 개인정보를 확보하였다는 점에서 본격적인 APT 침해 사고로 알려져 있다. 어도비 플래시 플레이어의 제로데이 취약점을 악용

한 첨부 파일을 이메일로 전파하였으며, 사회공학적 기법으로 내부 직원의 악성코드 감염을 유도하였다.

2012년 2월 CNN은 시리아 정부가 반정부 인사 감시를 위한 악성코드를 유포했다고 폭로하였다. 이메일 첨부 파일, 허위 유튜브(Youtube) 페

이지, 스카이프(skype)로 악성코드를 유포했으며 언더그라운드에 공개된 DarkComet RAT 악성코드 생성기로 악성코드를 제작한 것으로 알려

졌다.

시리아, 이스라엘, 사우디아라비아, 레바논 등지의 PC가 주로 감염되었다.

2013년에 APT 공격은 더욱 기승을 부렸다.

1월에는 오퍼레이션 ‘붉은 10월(Red October)’이라는 악성코드가 동유럽 및 중앙아시아 국가의 기관들을 해킹하는 사건이 발생했다. 이 악성코

드는 정부와 연구 기관 등을 타깃으로 정교한 공격을 시도한 것으로 알려졌다. 2월에는 뉴욕타임즈, 월스트리트저널 등 미국의 주요 언론사들이

이전에 해킹 시도가 있었다고 밝히면서 그 배후를 중국의 ‘APT 1’이라고 보도하여 논란이 되었다. 3월에는 인도의 해커 집단인 오퍼레이션 행오

버(hangover)가 인근 국가의 정부기관을 해킹하는 사건이 발생했고, 우리나라에서는 KBS, MBC, YTN과 농협, 신한은행, 제주은행 등 방송•금

융 6개사의 전산망이 마비되는 3•20 사이버테러가 발생했다.

4월에는 국제 해커 집단 윈티(Winnti)가 한국, 미국, 일본 등 전 세계 30여 개국의 온라인 게임 업체를 공격했다고 발표되었으며, 6월에는 악성

코드 넷트래블러(NetTraveler)가 우리나라를 포함해 40개국 350개 기관을 공격한 것으로 드러났다. 또한 9월에는 한국과 일본의 주요 정부 기

관과 기업들을 대상으로 공격을 시도한 소규모 사이버 용병 그룹인 아이스포그(Icefog), 중국에 거점을 둔 청부 해커 집단인 Hidden Lynx 등에

대한 실체가 드러났다. 이어 12월에는 중국의 해커 집단인 케상창(Ke3chang)이 G20 정상회담 직전 유럽 5개국 외교통상부 장관의 컴퓨터를

해킹한 사건이 보도되었다.

[그림 2] 첨단 IT 기업을 공격한 오퍼레이션 오로라

[그림 3] EMC/RSA에서 발생한 침해 사고 과정

Page 8: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

8

APT 공격 형태의 특징

공격 대상의 확대

인터넷과 컴퓨터의 발달로 정부 기관이나 각 기업에서 업무 자동화 시스템을 도입하고 있다. 따라서 모든 업무는 물론, 기밀 문서 역시 전자 문

서와 같은 데이터 형태로 파일 서버에 보관하는 것이 일반적이다. 이러한 환경은 APT 형태의 타깃형 공격이 증가하기 좋은 토양이 된다.

APT 공격의 목적은 더욱 다양화되고 있으며 그 공격 대상 역시 확대되고 있다.

과거에는 정부나 군사 기관만이 주요 공격 대상이었으나, 지금은 경제적 고부가가치 데이터를 보유한 첨단 기업들을 포함한 민간 기업으로까지

확대되었다.

한국과 일본은 특히 금융기관, 언론사 및 온라인 게임 업체들이 주 대상이 되고 있다.

[그림 4] 2013년 주요 APT 공격 사례

[그림 5] 타깃형 공격의 증가 추세 (출처: 시만텍)

[표 1] APT의 주요 공격 대상과 공격 목적

공격 대상 공격 목적

정부기관- 정부기관 기밀 문서 탈취

- 군사 기밀 문서 탈취

사회 기간 산업 시설- 사이버 테러리즘 활동

- 사회 기간 산업 시스템 동작 불능

정보통신 업체- 첨단 기술 자산 탈취

- 원천 기술 관련 기밀 탈취

제조 업체- 기업 지적 자산 탈취

- 기업 영업 비밀 탈취

금융 업체- 사회 금융 시스템의 동작 불능

- 기업 금융 자산 정보 탈취

Page 9: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

고도화된 공격 기법

웹과 소셜 네트워크의 발달은 공격 대상의 개인정보 수집이 용이한 상황을 만들어준다. 수집한 개인정보들로 공격 대상에게 최적화된 사회공학

적 기법을 개발하고 적용하기 쉬워진 것이다. EMC/RSA 침해 사고도 내부 직원들에게 채용 정보 관련 메일로 위장한 것이었다.

또한, 악성코드 제작 및 취약점 개발 기술들의 발전은 보안 제품 탐지 우회와 APT 공격의 성공률을 높이는 데 기여하였다. 악성코드는 셀프 업

데이트(self-update), 보안 제품 무력화 등 다수의 개별 기능을 가진 파일들을 조합하기도 한다. 취약점은 다양한 일반 소프트웨어의 알려진 취

약점이나 제로데이 취약점을 악용하고 있다.

현재까지 APT 공격의 주요 기법은 이메일의 첨부 파일을 이용하는 형태였다. 이전에는 첨부 파일이 실행 가능한 파일이었으나 최근에는 전자

문서 형태로 변하고 있다. 우리나라에서는 무료 소프트웨어의 자동 업데이트 기능과 국산 P2P 프로그램을 악용하는 사례가 늘고 있다.

APT 공격 대응 방안

APT 공격 방식

APT 공격은 먼저 공격 대상을 정의하는 데서 시작한다. 공격 대상을 정하고 나면, 대상에 맞는 악성코드를 제작하거나 구매한다. 이후 공격 대상

에 대해 연구하면서 내부 감염을 시도한다. 이때 사회공학적 기법을 이용한 타깃형 공격이 진행된다. 내부 감염이 성공하면 일단 거점이 확보된

것이다. 악성코드가 감염되었으면 공격자와 연결하기 위해 역 접속(reverse connection)으로 C&C 서버와 연결한다. 연결 후에는 C&C 서버를 통

해 원격으로 제어하건 공격 명령을 지시할 수 있다. 이렇게 해서 내부 데이터를 탈취한 후에는 잠복 흔적을 제거함으로써 대상에서 빠져나 온다.

[그림 6] 취약한 PDF 파일이 첨부된 이메일

[그림 7] 취약한 한글(HWP) 파일이 첨부된 이메일

9

Page 10: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

[그림 8] APT 공격의 라이프사이클

[그림 9] APT 공격의 타임라인

[그림 10] APT 공격에 대응하기 위한 보안 전략

APT 통합 대응 전략

보안 위협에 대응하기 위해 위기 관리 기반의 기업 보안 정책을 수립하는 것이 선행돼야 한다.

또한 공격 표면 축소와 공격 탐지의 효율을 위해 심층 대응(Defense in Depth) 전략을 수립하고, 새로운 보안 위협에 대한 신속한 대응을 위해

시큐리티 인텔리전스(Security Intelligence)를 확보해야 한다.

보안 위협의 출발점이 내부 임직원인 경우가 많으므로, 주기적인 보안 인식 교육도 매우 중요하다.

10

공격 대상 정의

악성코드 제작

또는 구매

악성코드 진단

테스트

공격 대상

내부 감염

내부 시스템

탐색

잠복 또는

흔적 제거

공격 대상 연구

거점 확보

데이터 탈취

Page 11: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

APT 공격을 사전에 예방하기 위해서는 아래 사항을 빠짐없이 준수하여야 한다.

<APT 공격 예방을 위한 시스템 강화>

1. 모든 운영체제와 웹 애플리케이션 및 관련 서버는 최신 버전을 유지하고 보안 패치를 적용한다.

2. WSUS(Windows Server Update Services)로 최신 보안 패치를 배포하고 설치한다.

3. 모든 시스템에는 안티바이러스 소프트웨어를 설치하고 안티바이러스 관리 서버에서 모니터링한다.

4. 모든 운영체제에 존재하는 사용하지 않는 사용자 계정은 비활성화하거나 삭제한다.

5. HSM(Host Security Monitoring, HIPS) 설치 후 모니터링하고 주기적으로 분석한다.

6. 터미널 서버에는 공용 계정을 삭제하고 저장된 계정 정보와 암호를 모두 삭제한다.

7. 터미널 서버에는 업무 목적별로 개별 계정을 생성한 후에 로그인 로그를 생성하고 관리한다.

8. 데이터베이스의 xp_cmdshell Procedure를 삭제하고 관련 파일 xplog70.dll을 삭제한다.

9. 데이터베이스 정보는 암호화해서 관리하되, 웹 서버에서 암호화하여 데이터베이스로 전송한다.

10. 웹 서버에는 SSL(Secure Socket Layer)를 활성화한다.

11. 윈도우 이벤트 로그 및 IIS 웹 로그는 통합하여 로그 매니지먼트 서버에서 관리한다.

<APT 공격 탐지를 위한 네트워크 제어>

1. 백본 스위치에서는 화이트리스트 및 블랙리스트를 이중 정책으로 설정해 관리한다.

2. 기업 외부 네트워크에서 기업 내부로 접속할 때 IPSec VPN 혹은 SSL VPN을 이용하도록 한다.

3. IPSec VPN 혹은 SSL VPN 연결 시마다 발생하는 모든 VPN 로그를 별도로 관리한다.

4. VPN 계정은 업무 목적별로 생성하고, 권한도 구분하여 적용한다.

5. 기업 내부 아웃바운드 패킷에 대한 필터링을 적용한다.

6. 기업 내부 HTTP 통신은 모두 웹 프록시를 거치도록 운영하고 관리한다.

7. 기업 내부에서는 파일 공유 서비스 대신 SFTP 또는 SCP(Secure Copy)만 사용하도록 한다.

8. NIDS와 같은 NSM(Network Security Monitoring) 247을 운영 및 관리한다.

9. NIDS 이벤트 및 전체 세션 데이터와 전체 패킷을 저장하고 분석한다.

10. 업무 영역별로 네트워크 분리 후 각 업무 영역마다 방화벽을 설치하고 관리한다.

11. 시스템, 네트워크 및 데이터베이스 등 IT 관리 부서는 일반 업무 영역과 별도로 구분한다.

11

Page 12: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

12

internal Control H O T i S S u E

12

최근 발생한 카드사 고객 개인 정보 유출 사건으로 어마어마한 사회•경제적 피해를 초래했다. 금융 당국은 1월 27일 현재 이번 정보

유출 사태로 카드를 해지•재발급 받는 고객은 약 540만명, 손해 비용은 최소 1000억원을 넘을 것으로 추정하고 있다. 더욱이 이번 사

건은 전문 해커 조직이 벌인 DDoS 공격이나 APT(Advanced Persistent Threat)와 같은 고도의 기술이 사용된 사이버범죄가 아니다.

어처구니 없게도 해당 카드사의 외주 업체 개발자가 고객 DB를 유출하면서 벌어진 사건이다. 이번 사건을 계기로 기업들은 외부로부

터의 공격뿐만 아니라 내부 통제와 외주 업체 관리에도 철저한 대책을 수립해야 한다는 인식을 갖는 것이 필요하다.

※ 이 글의 등장 인물과 기업 상황은 기업 보안의 이슈를 다루기 위해 가상으로 설정한 것이며 일부에 한해 사실에 근거한 것임을 밝

혀둔다.

픽션(Fiction)으로 꾸며 본 보안 업계 뒷얘기

보안 사고는 발생이 아니라 발견이다!?

# 보안컨설턴트 최수석의 고언(苦言)

‘월 1회 로그분석이요? 진짜 하는 곳이 있을까요?’

최수석은 정보보호전문업체 소속의 보안컨설턴트이다.

“이번에 카드사 정보 유출 사고가 나니까 다들 그러더군요. 이번 일은 데이터 암호화나 USB 통제 등 보안조치를 소홀히 한 일부 기업과 부도

덕한 외주직원이 일으킨 이례적인 경우가 아니냐구요. 그런 사고가 웬만해선 안 난다는 거죠. 하하하~ 그런데 그 드물게 날 법한 사고가, 지난

2011년 연이은 대형 보안사고로 사회가 온통 시끄러웠고 개인정보보호법이며 정통망법이며 각종 법령이 재개정된 이후 3년이 지나 안정화를

기대할 만도 한 시점에, 버젓이 발생했다는데 대해선 이상하다는 생각이 들지 않나 봐요.

IT 강국인 우리나라의 보안 관련 법령은 정말 잘 만들어져 있습니다. 전자금융이나 정보통신서비스, 최근 이슈가 되는 개인정보에 관한 법까

지. 문제는 법을 안 지킨다는 거에요. 안 지키는 걸 넘어서, 피해 갑니다. 안 지키는 이유요? 힘들고 비용도 많이 들어가니까 그렇죠. 피해 간다

는 의미는, 들키지 않게끔 일한다는 뜻입니다. 법을 지키지 않는 것이 드러나면 차라리 지적 받고 나서 무언가 대책을 강구할 텐데요. 그러니

모든 문제가 수뢰(水雷)처럼 물 밑에 잠겨 있을 수밖에 없어요. 언젠가 재수 없이 터질 날만 기다리면서 말이죠. 제가 보기에 우리나라 보안 사

고는 발생하는 것이 아니라 발견되는 것에 가깝습니다. 어떤 기업이든 한 꺼풀만 벗겨보면 보안 운영 상황은 비슷비슷하고 다들 언젠가는 터

질 시한폭탄을 안고 살아가고 있는 상태입니다. 언론을 통해 문제가 알려진 기업은 단지 운이 없었다는 거죠.

이렇듯 법 기준과 실행 사이의 괴리가 우리 기업 보안의 진짜 문제라고 저는 생각합니다. 예를 하나 들어 볼까요? 전자금융 감독규정 12조에

정보처리시스템 관리용 단말기와 이용자 정보를 열람할 수 있는 단말기는 전용 단말기를 지정 사용하거나 사전 지정 용도 외 사용을 금지하

고, 노트북(laptop) 등 휴대용 전산장비를 사용 금지하는 등 보안강화 대책을 적용하라고 나와 있습니다. 그렇다면 금융기관의 시스템을 유지

보수 하는 외주업체 직원들이 노트북 아닌 데스크톱 컴퓨터를 들고 와서 작업을 할까요? 아니죠. 정보통신망법과 개인정보보호법에는 개인정

보취급자가 개인정보처리 시스템에 접속할 때 수행한 작업은 로그로 남겨야 하며 그 로그는 월 1회 이상 분석해야 한다고 규정되어 있는데 로

그는 보통 남깁니다. 기계한테 시키면 되니까요. 하지만 로그 분석을 정말 할까요? 그것도 월 1회 이상? 사고가 나지 않는 한, 1년에 한 번도

로그를 들여다 보지 않는 기업이 태반입니다. 이것이 현실입니다. 담당자에게 물어 보면 분석할 사람도 방법도 판단할 기준도 없다고 합니다.

다른 예를 들자면 저희 컨설팅 업체가 종종 의뢰 받는 것이 기업 보안 실태 점검입니다. 기반시설점검이나 ISMS처럼 법 기준에 따라 점검할

때도 있고 업체 내부의 기준으로 진단해서 그 기업 보안수준을 측정하기도 합니다. 컨설팅 업체를 통해 진단받는 이유는 객관적으로 평가 받

으려는 목적이 있는 건데 보안실태 점검 후에 정작 평가점수가 낮게 나오면 어떨까요? 감점요인이 된 진단항목을 빼고 다시 진단해달라고 요

구하는 곳이 적지 않다는 겁니다. 결과를 고치면 불법행위가 되지만, 진단자체를 아예 없던 일로 하고 진단기준을 재조정해서 다시 하는 거라

Page 13: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

1313

면 안 될 일도 아니라는 거죠. 물론 법적 기준에 따른 특정 진단은 그런 요구를 절대 수용할 수 없습니다. 그런데 일부 소규모 컨설팅업체 입장

에선 그 요구를 거절하기 힘들어요. 고객이 결과를 수긍하고 검수를 해줘야 대금을 받으니까. 그래서 같은 일을 중복해서 하느라 힘이 들더라

도 조정된 기준으로 다시 진단합니다. 그렇게 하면 해당 기업의 보안 수준은 쑥 올라가죠. 즉, 잘 정리된 보고서, 적절한 보안수준 점수, 고객사

CSO도 흡족, 질책을 면하게 된 고객 보안담당자도 만족, 검수 받고 대금 받아야 할 컨설팅업체도 안도하는 것으로 훈훈하게 프로젝트가 마무

리가 된 겁니다.

그렇다면 이런 문제의 원인과 대책은 뭘까요? 원인을 콕 집어 말하긴 힘들지만 보안 인력 부족이 대표적인 이유 중 하나입니다. 보안 업무를

할 인력이 아예 없거나 부족해서 어려운 기업이 있고, 보안 인력이 있긴 하지만 현업 부서를 통제할 힘이 너무 없어서 실제로는 일이 안되는

곳도 있습니다. 매출 1조원이 넘고 전국에 수십 개 지점이 있는 대형 기업인데도 보안담당자는 단 1명인 곳이 있어요. 그 담당자가 초능력자가

아닌 이상 그 조직 전체의 보안을 어떻게 다 관리하겠습니까? 아무튼 법에는 예외가 없고 법을 어기면 자기가 덤터기를 써야 하니 컨설팅 업

체를 통해 의무화된 보고서라도 작성해서 남길 뿐이죠. 보안인력이 있지만 현업 부서를 통제할 파워가 없으면 유명무실하긴 마찬가지입니다.

저의 조언은 어떤 대책을 세우든 그 전에 기업 보안 현황을 투명하게 관리하는 것이 전제가 되어야 한다는 것입니다. 그러기 위해서 컨설팅 업

체를 통해 진단을 받을 때 계약을 하는 주무부서가 그 결과에 직접 영향을 받는 부서가 되어서는 안됩니다. 보안팀이 컨설팅업체에 보안 실태

점검 발주를 내고 진단을 받는다면 진단 결과가 나쁠 경우 그 결과를 조정하고자 하는 유혹을 벗어나기가 쉽지 않기 때문입니다.

또 한가지는 법의 테두리 안에서 업무를 하는, 주기적 보안 점검의 틀을 벗어나야 한다는 점입니다. 대부분의 법령 기준은 1년에 1회 또는 2회

의 보안 점검을 할 것을 요구하고 있습니다. 이 기준은 기업 규모와 관계없이 적용해야 할 보편적인 최소한의 기준이지 중요 정보를 대량으로

보유한 기업들에게 충분한 수준은 아닙니다. 6개월에 1회만 점검을 한다면 점검이 없는 나머지 기간은 어떤 위험에 노출되고 있는지 모르고

있는 상황이 되니까요. 중요한 시스템이나 데이터에 관련된 보안 절차는 주기적인 점검이 아니라 절차의 준수 상황을 실시간으로 수집하고 체

크하는 체계를 갖출 필요가 있습니다. 실제로 일부 기관에서는 보안 인증 심사 때가 되어서야 부랴부랴 증적을 갖추기 위해 절차에 관련된 기

록을 한꺼번에 만들어내는 웃지 못할 일이 벌어지곤 합니다.

마지막으로, 보안 관련 법령은 지금도 충분하다고 강조하고 싶습니다. 보안사고만 났다 하면 일부 전문가들은 보안 강화 대책과 법안을 언급하

는데 그건 현실과의 괴리를 더 깊어지게 할 뿐이라고 봅니다. 실제로 법이 너무 강하다 보니 법의 테두리 안에서만 움직이는 부작용도 있습니

다. 보안 현황 관리가 투명하지 않다면 그 어떤 법도 은폐의 장막 뒤에 묻힐 뿐 실효를 거두기 힘듭니다. 현재의 법 기준 아래서 그 법을 제대

로 충족할 수 있도록, 법 수준과 실행 수준의 간격을 좁히려는 노력이 지금은 더 중요합니다.”

1. 보안 법령과 지침을 강화하는 것보다 이를 준수하고 실행하는 것이 더 중요하다.

현재의 문제를 해결하기 위해서는 더 강력한 법이 필요한 것이 아니다. 법 수준과 실행 수준의 간극을 좁히려는 노력이 필요한 때다.

2. 기업의 보안진단은 평가를 받으려는 부서가 아닌 제3의 부서에서 발주를 해야 한다. 보안팀에서 보안수준진단 컨설팅을 발주한다면

그 결과에 관여할 가능성이 높다.

3. 중요한 시스템과 데이터에 관련된 보안절차는 주기적 점검이 아니라 실시간으로 절차의 준수 여부를 수집하고 확인할 수 있는 체계

를 갖출 필요가 있다.

주기적 점검이라는 것은, 일정 기간 동안은 위험을 방치시킨다는 의미와도 같다.

4. 중요한 권한을 가진 직원들의 업무에 대한 보안 모니터링을 강화해야 한다.

내부인력 중 DBA나 시스템관리자처럼 중요한 권한을 가진 직원들은 정작 보안 모니터링이나 보안 통제에서 예외대상인 경우가 많

다. 크게 보면 유지보수하는 외주인력도 그런 예외대상에 포함되는 것이다. 현재의 보안대책은 권한 없는 대상의 비정상적인 접근을

감시하고 통제하는데 집중되어 있다. 앞으로는 허가 받은 인력이 허용된 업무를 하는 과정에서 발생 가능한 보안 위험을 식별하고

통제하는 쪽으로도 주의를 기울여야 한다.

보안컨설턴트 최수석의 제안

# 외주 업체 직원 김과장의 푸념

‘외주업체 직원 못 해먹겠어요’

김과장은 소프트웨어 유지보수 업체의 시스템 엔지니어이다.

“저희가 제일 들어가기 싫어하는 고객사는 금융기관인 S사에요. S사의 유지보수담당자로 선정되면 다들 한숨부터 내쉬죠. 저희처럼 여기저기

다니면서 소프트웨어 유지보수하려면 유지보수용 툴이나 자료를 노트북에 다 넣어서 가지고 다니는 게 편합니다. 하지만 S사는 아예 노트북을

갖고 들어갈 수가 없어요. 저희 솔루션을 납품할 때 유지보수에 필요한 소프트웨어나 자료 목록을 요구해서 CD로 제출해야 했구요. 그것들을

설치한 S사의 유지보수용 장비가 외주업체 작업실에 미리 세팅되어 있어서 그걸로만 작업을 해야 하죠. 그 컴퓨터가 성능은 좋지만 USB 포트

Page 14: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

1414

나, CD 드라이브 같은 장치가 아예 없어요. 외부 네트워크가 안 되는 건 물론이고 내부망도 저희가 들여다 봐야 할 테스트장비나 개발환경에

만 접속되어 있습니다.

몇 년 전에는 사실 지금처럼 방문까지 할 필요도 없었죠. 저희 솔루션이 각 지역의 지사에도 많이 설치되어 있었지만 원격으로 처리가 가능했

습니다. 고객사에선 전화로 어디어디 시스템 문제 있으니 봐달라고 연락하고 그러면 저희는 터미널서비스나 SSH 같은 걸로 원격 접속해서 시

스템 들여다 보고 문제를 해결해 주곤 했어요. 이젠 그런 식으로 작업하는 건 꿈도 못 꾸죠. 운영시스템 접속은 저희 같은 외주업체에는 절대

허용 안 해요. 저희는 운영시스템과 비슷하게 만들어진 개발 시스템이나 테스트 서버에서만 작업을 해야 하고 거기 담긴 데이터도 형식만 비

슷할 뿐 실제 값은 변경된 가짜 데이터죠. 그래도 정말 프로그램 고치다보면 도저히 혼자서는 해결할 수가 없어서 문제가 된 코드를 좀 복사해

서 갖고 나와야 하는데 이게 정말 보통 일이 아니에요. 인간적인 모멸감까지 느끼는 감시 모드가 가동되고 있거든요.

S사 유지보수 작업실에 가서 제가 써야 할 장비를 켜고 제 아이디를 입력하고 로그온을 하면 그때부터 제 키보드 작업은 로깅이 됩니다. 제가

쓰는 컴퓨터의 화면도 동시에 녹화되어 저장되기 시작하구요. 또 컴퓨터 위에 설치된 웹캠은 제가 하는 동작들을 다 촬영하고 있어요.

그러니 화면 보면서 뭔가를 베껴 쓰는 건 꿈도 못 꾸죠. 제가 그날 작업을 끝내고 퇴근하면 S사 보안담당자인 박과장은 제 작업 녹화 화면

과 키보드 로그를 당일로 확인하고 팀장에게 결재를 받아야 한다더군요. 박과장 얘기가 예전엔 외주업체 보안관리 방식이 존디펜스(Zone-

Defense)였는데 이젠 맨투맨(Man-to-man) 방식이라네요. 무슨 얘기인가 하면 존디펜스 때는 외주업체나 방문작업자 수가 얼마가 되든 간에

보안담당자 한 두 사람이 그들 전체를 관리했는데 그러다 보니 아무래도 관리가 좀 허술했다는 거죠. 보안절차라고 해 봤자 기껏 처음에 보안

서약서나 쓰는 것이고 담당자랑 일단 안면을 트고 나면 그 다음부턴 한 식구처럼 내버려두었으니까요. 맨투맨 방식은 저희 같은 외주업체 직

원 한 명당 관련된 현업부서 한 사람이 1대1로 보안관리 책임을 맡는 거에요. 업체직원이 회사에 들어와서 일하게 되면 기본적으로 함께 다니

거나 그렇지 않으면 아까 말한 것처럼 그날 한 작업에 대한 보안 확인 조치를 전담직원이 책임져야 하는 거죠. 담당자 확인부터 책임자 결재까

지 모두 제가 퇴근 후 24시간 안에 끝나야 한다니 사실 S사 직원들도 힘들긴 하겠죠.

S사는 작업 마치고 나갈 때도 피곤합니다. 들어올 때는 X선 검색대에서 노트북컴퓨터 반입 검사하고 휴대폰을 맡기고 들어갈 뿐이지만 나갈

때는 휴대용 금속탐지기로 온 몸을 다 검색합니다. 제가 혼자 생각에 마이크로SD 같은 건 신발 밑창 쪽에 테이프로 붙이면 모를 텐데 헛수고

아니냐 여겼는데 신발까지 검사하는 걸 보고 두 손 두 발 다 들었다니까요. 이런 상황이니 정말 외주업체 직원이란 게 서럽기도 하고 일하기

너무 힘들다는 생각이 듭니다. 하지만 어쩌겠습니까? 고객사도 그만한 리스크가 있으니 그리 하는 걸 저희도 알고 있고 사실 얼마 전 발생한

카드사 유출사고의 경우엔 저 자신도 피해자니까요. 시대 상황이니 받아들일 수밖에 없다 여기고 적응 중입니다.“

1. 외주업체 노트북컴퓨터와 휴대폰은 반입이 금지되어 있다.

대신 유지보수용 전용장비와 전화기를 제공해 주는데 유지보수에 필요한 도구와 자료는 사전에 CD로 입수하여 보안 검사 후 전용장

비에 설치해 둔다.

2. 유지보수용 전용 장비에는 외부 미디어와 접속할 인터페이스가 없다.

고객이 지급하는 유지보수용 전용장비에는 USB, Serial, CD 드라이브 등 외부미디어와 접속할 인터페이스 유닛이 아예 없다. 네트워

크도 관련된 개발 장비와 테스트 서버만 연결되어 있다.

3. 외부 작업자의 모든 행동을 모니터링한다.

외부 업체의 작업자가 유지보수 전용장비에 로그인하면 모든 키 작업이 로깅되며 작업화면 역시 자동 녹화된다. 또한 컴퓨터에

설치된 웹캠이 작업자의 행동을 녹화 촬영한다.

4. 외부 작업자의 작업 사항은 결재 프로세스를 거친다.

외부 업체 작업자의 작업사항에 대한 로그 및 화면녹화는 작업 종료 후 24시간 이내에 전담 담당자에 의해 확인되고 해당 보안책임

자 결재를 받아 보관된다.

5. 외부 작업자를 맨투맨 방식으로 관리한다.

모든 외부 업체 작업자에 대해서 맨투맨(man-to-man) 방식으로 전담 직원이 지정되어 보안관리를 책임지고 있다.

6. 외부 작업자의 입출 시 철저한 검색을 실시한다.

외주업체 직원 출입시 X선 검색대와 금속탐지기 등을 이용한 정밀검색을 하며 금지물품 적발 시엔 외주사 CEO가 문책을 받는다.

외주업체 김과장을 힘들게 만든 S사의 보안 조치

Page 15: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

1515

누군가가 주민등록번호부터 휴대폰번호, 주소, 카드번호, 심지어 내가 어느 회사에 다니고 생활 수준이 어느 정도인지 파악하고 있다

면? 생각만 해도 끔찍한 일이지만 실제 일어나고 있는 일이다. 그렇다면 세상과 단절된 채 살아야 할까. 피해를 최소화하기 위한 개

인 보안 수칙을 알아 봤다.

i T & l i f E

귀찮아도 꼭 지켜야 안전한 개인 보안 수칙

“ ○○○ 고객님 되시죠?” 한 동안 가입하지 않았던 보험 회사에서 전화를 받은 기억이 떠오른다. 어떻게 알았냐고 물으면 상대방은 내가 가입

돼 있는 카드 회사와 제휴 마케팅을 통해 정보를 알게 됐다고 말한다. 일면 수긍하면서도 찝찝한 기분이란.

반갑지 않은 경험은 또 있다. 마트 혹은 인터넷에서 경품이벤트에 응모했을 때다. 경품이 당첨됐다는 반가운 소식보다는 보험 상품 판매를 위한

전화가 대부분이라는 사실. 어디 그 뿐인가. 웹사이트에서 회원 가입할 때도 동의해야 하는 항목들은 또 몇 개나 되는지 체크 하지 않으면 가입

되지 않으니 어쩌라는 건지 답답한 노릇이다.

하지만 어딘가로 새 나갈 내 정보를 보호할 사람은 오로지 나뿐이라는 것을 직시해야 한다. 귀찮더라도 몇 가지 수칙은 지키는 것이 안전하기

때문이다. 평소에 무심코 지나쳤던 정보 보안 수칙에 관심을 가져보는 것은 어떨지.

여러 사이트에서 동일한 사용자 계정과 패스워드 이용은 피할 것

똑같은 아이디를 여러 인터넷 사이트에서 사용하는 것은 피해야 한다. 같은 아이디를 사용하는 개인 정보를 추적해 사생활을 세상에 공개하는

이른바 ‘신상 털기’는 얼마 전 ‘버스 민폐남’으로 인터넷을 달궜던 사건이다. 아이디 추적만으로 내 신상이 털린다고 생각하면 끔찍하다.

비밀번호는 6개월마다 한번 씩 바꿀 것

비밀번호는 최소 6개월마다 꼭 한 번씩 바꿔줘야 한다. 귀찮다고 그냥 넘어가면 나중에 뒷감당하느라 고생한다. 비밀번호는 영문 소문자, 대문

자, 숫자, 특수문자 등을 조합해서 8자리 이상으로 설정하는 것이 바람직하다. 해킹을 막기 위한 성공요소로 ‘해커를 얼마나 짜증나게 하느냐에

달려 있다’는 말이 있을 정도이니 비밀번호 8자리 이상을 습관화하길 권한다.

웬만하면 개인정보 제공은 피할 것

한번쯤은 온라인 사이트에서 경품이벤트에 응모해본 경험이 있을 것이다. 그런데 경품 배송시 필요하다며 동의절차를 무시한 채 연락처를 입력

하라고 한다. 이 경우 불법수집에 해당하기에 경품이벤트를 포기하는 것이 현명하다. ‘법적 절차가 있는 경우’를 제외하고는 개인정보 제공은 금

물이다.

정통망법 22조는 정보통신서비스 제공자가 이용자로부터 개인정보를 수집할 때 ▲개인정보의 수집·이용 목적 ▲수집하는 개인정보의 항목 ▲

개인정보의 보유·이용 기간 등 세 가지 사항에 대해 별도의 동의를 받도록 규정하고 있다. 즉, ‘개인정보보호법’은 기존 사항에 더해 ‘이용자의 거

부권에 대한 명시’가 추가돼 있다.

개인 정보 보호

Page 16: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

1616

법적 절차가 있더라도 최소한의 개인정보만 제공할 것

정통망법 제23조는 ‘서비스 제공을 위해 필요한 최소한의 정보를 수집하여야 하며 필요한 최소한의 정보 외의 개인정보를 제공하지 아니한다는

이유로 그 서비스의 제공을 거부하여서는 아니 된다.’라고 밝히고 있다. 필수항목만 입력하고 웬만하면 선택항목은 넣지 않는 것이 현명하다. 만

약 선택항목과 필수항목의 구분을 해놓지 않았거나 선택항목을 입력하지 않았다고 서비스 제공을 거부한다면 그 업체는 법을 위반한 것이니 당

당하게 권리를 요구하자.

개인용 정보기기에도 비밀번호 걸어두기

마지막으로 집에 있는 컴퓨터나 노트북, 스마트폰 등 개인기기에 저장한 정보의 보안은 본인이 책임져야 한다. PC에 백신을 설치하고 중요한 자

료는 비밀번호를 걸어 보관하는 정도는 꼭 지켜주자. 분실할 가능성이 높은 스마트폰이라면 더욱 신경 써야 한다. 귀찮더라도 비밀번호를 설정

해 사용하고 스마트폰에 다운받아 사용한 정보(문서, 메일 등)는 가급적 빨리 삭제하는 편이 안전하다.

Page 17: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

17

T E C H R E p O R T MySQl forensics

손상된 데이터에도 ‘의미’는 있다

MySQL MyISAM Type의 데이터 파일 구조 분석과 삭제된 레코드의 복구 방안

MyISAM은 InnoDB와 더불어 MySQL의 대표적인 저장방식 중 하나이다. 모든 테이블과 데이터를 하나의 파일로 통합하여 관리하

는 InnoDB와는 달리 MyISAM은 테이블별로 파일을 생성하여 해당 테이블과 관련된 모든 데이터를 각각의 테이블별 파일에 저장한

다. 이처럼 테이블과 파일이 1:1 대응의 형태를 갖는 MyISAM은 데이터 관리가 매우 우수하며 데이터 처리 속도도 빠르다. 그러나

데이터 삭제 시, 관리 성능 및 빠른 처리 속도를 유지하기 위해 데이터가 존재했던 영역 일부에 삭제를 표시하기 위한 다른 값을 덮어

쓴다. 결국 MyISAM은 완벽한 절차를 수행하더라도 삭제된 데이터를 온전히, 또는 모두 복구하기가 어렵다.

디지털 포렌식 관점에서는 비록 일부만 복구된 데이터라 할지라도 상당한 의미가 될 수 있기 때문에 이에 대한 복구 방안 마련이 필

요하다. 이와 관련해 이번 호에서는 MyISAM 저장방식에서의 데이터 접근 방법을 살펴보고 삭제된 데이터의 복구 방안에 대해 알아

본다.

<연재 목차>

1부_MySQL의 현황 및 포렌식적 의미(2013년 12월 호)

2부_MySQL InnoDB Type의 데이터 파일 구조 분석과 삭제된 레코드의 복구 방안(2014년 1월 호)

3부_MySQL MyISAM Type의 데이터 파일 구조 분석과 삭제된 레코드의 복구 방안(이번 호)

지난 월간 안 1월호에서 살펴보았던 InnoDB 저장방식에 비해

MyISAM 저장방식은 빠른 속도로 대용량의 데이터를 처리할 수 있는

장점을 갖고 있다. MyISAM은 MySQL의 초기 버전부터 메인 저장방

식으로 사용되었으며, MySQL 5.5 버전 출시 이후 InnoDB 저장방식

으로 변경되기 전까지 MySQL의 기본 저장방식으로 사용되었다.

MyISAM은 트랜잭션 기능을 지원하지 않으며 외래 키(Foreign Key)

를 지원하지 않기 때문에 시스템이 손상되었을 경우 데이터의 복구가

어렵고 데이터의 품질을 향상시키기 어렵다는 단점이 있다. 그러나 이

같은 단점에도 불구하고 대다수의 MySQL 사용자는 MyISAM의 빠른

속도와 사용상의 편의성 때문에 여전히 이를 기본 저장방식으로 사용

하고 있다. 이 같은 MyISAM의 높은 사용률때문에라도 이에 대한 분

석 및 복구 방안 연구는 디지털 포렌식 관점에서 상당히 중요한 의미

를 갖는다.

MyISAM의 구조적 특징

MyISAM은 테이블의 구조 정보와 인덱스 정보, 테이블 내부에 저장될

데이터 등을 각각의 정해진 파일에 분할하여 저장한다. 각각의 파일은

저장된 정보를 통하여 데이터 관리의 효율을 높이기 위한 역할을 수

행한다. 일반적으로 MySQL은 [그림 1]과 같이 사용자 또는 시스템이

데이터베이스를 생성하는 경우 기 설정된 저장경로에 데이터베이스명

의 디렉터리를 생성한다.

이후 생성한 데이터베이스 내부에서 [그림 2]와 같은 쿼리를 이용해

MyISAM 저장방식의 테이블을 생성하면 데이터베이스명의 디렉터리

내부에 테이블명의 MYD 파일과 MYI, FRM 파일을 동시에 생성된다

([그림 3]).

[그림 2] MyISAM 저장방식의 테이블 생성 쿼리

[그림 1] 데이터베이스명으로 생성된 디렉터리

mysql> CREATE TABLE testable ( testColumn CHAR(5) ) ENGINE=MYISAM;Query OK, 0 rows affected (0.00 sec)

Page 18: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

18

MyISAM 구성 파일

앞서 설명한 바와 같이 MySQL은 사용자 또는 시스템이 데이터베이

스를 생성할 때 지정된 저장경로에 데이터베이스명의 디렉터리를 생

성한다. 또한 MySQL의 MyISAM 저장방식은 데이터베이스 내부에

테이블을 생성하는 경우, 데이터베이스명의 디렉터리 안에 테이블 정

보와 인덱스 정보, 테이블에 저장될 데이터를 각각 테이블명의 파일

로 저장한다. 일반적으로 테이블의 구조 정보는 FRM 파일에 저장되

고 인덱스 정보는 MYI 파일에 저장되며 실제 데이터에 해당하는 레코

드들은 MYD 파일에 저장된다. 포렌식을 위해 삭제된 데이터를 복구

하는 경우에는 테이블의 구조를 저장하고 있는 FRM 파일과 데이터를

저장하고 있는 MYD 파일을 반드시 수집해야 한다. 물론 MYI 파일까

지 모두 수집할 수 있다면 보다 효과적인 복구가 가능하다. 따라서 삭

제된 데이터를 복구할 경우, FRM 파일과 MYD 파일을 손상 없이 수

집할 수 있는 여러 가지 방안 및 대안이 필요하다.

일반적으로 대부분의 DB는 [그림 4]와 같은 구조로 이루어져 있다. 따

라서 원하는 위치의 데이터에 접근하기 위해서는 원하는 데이터베이

스와 테이블을 알아야 한다. 특히 MySQL에서는 접근하고자 하는 테

이블이 MyISAM 또는 InnoDB 중 어느 것인지를 구분하는 절차가 필

요하다.MYD 파일에 저장되는 레코드는 Fixed 포맷 또는 Dynamic 포맷의

여부에 따라 저장방식에 큰 차이가 있으며 헤더 값 또한 다르다. 따라

서 완성도 있는 복구를 위해서는 Fixed 포맷과 Dynamic 포맷에 대한

철저한 분석이 필요하다.

1) Fixed 포맷

MYD 파일은 테이블이 가변 길이 데이터 타입을 포함하지 않을 경우

데이터를 Fixed 포맷으로 저장한다.

[그림 5]는 Fixed 포맷으로 저장된 MYD 파일로, Fixed 포맷의

MYD 파일은 레코드 단위의 데이터를 순차적으로 저장한다. 또

한 데이터 저장 시, 하나의 레코드당 하나의 헤더 값을 부여한다.

헤더 값은 레코드의 속성을 표현하며, 테이블 내부의 필드 개수

가 많지 않은 경우 일반적으로 총 1 바이트의 길이다. 필드의 개

수가 많아지는 경우 헤더의 길이도 늘어난다.

헤더 값은 비트 단위로 해당 레코드의 속성을 나타내며, 해당 레

코드의 최하위 비트가 1이면 정상 레코드이다. 헤더 값의 최하위

비트가 0인 경우, 해당 레코드는 삭제된 레코드이다. [그림 5]의

경우, 현재 총 3개의 레코드가 해당 테이블에 저장되어 있음을

알 수 있으며 색깔에 따라 레코드가 구분되어 있음을 확인할 수

있다. 첫 번째 레코드와 세 번째 레코드의 헤더 값은 0xF1 (2진

수 값: 1111 0001)을 나타내고 있으며 최하위 비트가 1 이기 때

문에 정상적으로 저장되어 있는 레코드임을 알 수 있다.

두 번째 레코드는 0x00(2진수 값: 0000 0000)의 헤더 값을 가지

고 있으며 최하위 비트가 0이므로 삭제된 레코드임을 알 수 있

다. 또한 레코드 앞부분의 일정 부분은 0xFF 값의 일부가 덮어

쓰여져 있으므로 원본 데이터가 영구 삭제되었음을 알 수 있다.

[그림 3] MyISAM 방식의 데이터 구조

[그림 4] MySQL의 데이터 구조

[그림 5] Fixed 포맷으로 저장된 MyISAM의 MYD 파일

[표 1] MyISAM을 이루는 구성 파일

파일명 구분 설 명

<데이터베이스명> 디렉터리 데이터베이스 생성 시 디렉터리 생성

<테이블 명>.MYD 파일 테이블에 저장되는 데이터를 담고 있는 파일

<테이블 명>.MYI 파일 테이블의 인덱스 정보를 담고 있는 파일

<테이블 명>.FRM 파일 테이블의 구조 정보를 담고 있는 파일

1. MYD 파일

MySQL의 MyISAM 저장방식은 FRM 파일에 저장된 테이블 스키

마 정보를 참조하여 데이터를 레코드 단위로 MYD 파일에 저장한다.

MYD 파일의 저장방식은 해당 테이블의 필드가 가변 길이의 데이터

타입을 포함하고 있는지의 여부에 따라 Fixed 포맷과 Dynamic 포

맷, 두 가지로 구분된다. MySQL은 가변길이를 위한 데이터 타입으로

VARCHAR, TEXT, BLOB 등의 타입을 제공하고 있으며 테이블이 해당

데이터 타입을 포함하는 경우 Dynamic 포맷으로 분류된다.

[표 2] 저장방식에 따른 데이터 타입

구분 데이터 타입

Dynamic 포맷 VARCHAR, TEXT, BLOB 등

Fixed 포맷 DECIMAL, DOUBLE, ENUM, FLOAT, LONG 등

[그림 6] 레코드 헤더의 크기

레코드 헤더의 크기 : (int)( 1 + Null을 허용하는 필드 개수 + 7 ) / 8

Page 19: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

[그림 7] Dynamic 포맷으로 저장된 MyISAM의 MYD 파일

[그림 8] FRM 파일의 구조

19

[표 3] Fixed 포맷의 헤더 구조

이 름 위 치 설 명

X bit 최하위 비트 레코드의 삭제 유무 (0 – 삭제 레코드, 1 – 정상 레코드)

Null bits 중간 비트Null을 허용하는 필드 수 만큼 비트에 0을 채움

Null을 허용하는 필드가 많아질수록 길어질 수 있음

Filler bits 최상위 비트임시로 1을 채움 (의미 없는 값이며 바이트를 맞추기 위

해 쓰임)

[표 3]은 Fixed 포맷의 헤더 구조를 나타내는 것이다. 레코드 헤

더를 통해 해당 레코드의 삭제 여부를 판단할 수 있다. 삭제된

레코드를 복구하기 위해서는 각 레코드의 헤더 값에 어떠한 속

성이 부여 되었는지를 파악할 수 있어야 한다.

1) Dynamic 포맷

MYD 파일은 테이블이 가변 길이 데이터 타입(BLOB, VARCHAR,

TEXT 등)을 포함하는 경우, Dynamic 포맷으로 데이터를 저장한다.

[그림 7]은 Dynamic 포맷으로 저장된 MYD 파일이다. Dynamic

포맷의 MYD 파일은 Fixed 포맷과 마찬가지로 데이터를 레코드

단위로 순차적으로 저장하며 하나의 레코드 당 하나의 헤더 값

을 포함한다. 그러나 Dynamic 포맷은 Fixed 포맷과는 달리 가변

된 길이에 대한 정보를 헤더에 따로 포함하고 있고 데이터의 얼

라이먼트(alignment)를 유지하기 위해 패딩(padding)된 길이 정

보도 포함한다. 또한 Dynamic 포맷은 하나의 레코드 길이가 가

변 길이와 상관없이 최소 20 바이트를 유지하고 있다. 하나의 레

코드 길이가 20 바이트를 채우지 못하는 경우에는 나머지 공간

을 Null 값으로 채운다.

[그림 8]은 FRM 파일을 통하여 테이블이 어떠한 형태로 구성되

어 있는지를 보여준다. FRM 파일을 통하여 해당 테이블의 필드

명과 데이터 타입, 할당된 길이 정보 등을 파악할 수 있다. 데이

터 타입은 숫자형, 문자형, 날짜형 등 다양한 타입이 존재한다.

MYD 파일은 문자형의 가변 길이 데이터 타입이 테이블에 포함

되는 경우 Dynamic 포맷으로 데이터를 저장한다. FRM 파일은

InnoDB와 동일한 형태로 테이블 스키마가 저장된다. 즉, InnoDB

역시 MyISAM과 마찬가지로 FRM 파일을 통해 테이블의 정보를

확인한다. 따라서 완성도 높은 레코드 복구를 위해서는 FRM 파

일을 통해 필드명과 데이터 타입 등을 확인해야 한다.

MyISAM의 삭제된 레코드 복구

MyISAM 저장방식은 레코드가 삭제되는 경우 포맷에 따라 헤더

값의 표기가 다르다. Fixed 포맷은 해당 레코드 헤더의 최하위

비트를 0으로 표기하며, Dynamic 포맷은 헤더의 첫 번째 바이트

의 값을 0x00으로 표기한다. 따라서 삭제된 레코드를 복구하는

방법도 포맷에 따라 각기 다르다.

Fixed 포맷의 경우, FRM 파일에 저장된 테이블 스키마를 통해

하나의 레코드가 차지하는 길이를 계산하여 레코드 단위로 MYD

파일 내부의 모든 레코드들을 순차적으로 읽으면서 삭제 여부를

파악한다. 삭제된 레코드는 테이블 구조에 맞게 각 필드의 데이

터 값을 잘라서 복구한다. Dynamic 포맷의 경우에는 각 레코드

마다 가변 길이로 저장된 필드의 길이와 고정 길이로 저장된 필

드의 길이를 더하여 하나의 레코드가 차지하는 길이를 계산한다.

그후 Fixed 포맷과 같은 방식으로 순차적으로 읽으면서 복구를

진행할 수 있다.

결국 테이블의 구조를 얼만큼 정확하게 파악하느냐에 따라 데이

터 구분이 수월하며, 각 레코드의 헤더 값을 얼마나 정확하게 파

악하느냐에 따라 복구할 수 있는 데이터의 양이 많아진다. 그러

나 MyISAM 저장방식은 레코드를 삭제한 후 새로운 레코드를 저

Fixed 포맷의 파일은 최상위 비트 하나만으로 레코드의 삭제 여

부를 판단할 수 있었던 것과 달리 Dynamic 포맷의 파일은 헤더

의 첫 번째 바이트에 레코드의 속성을 부여한다. 일반적으로 헤

더의 첫 번째 바이트의 값이 0x00 인 경우 해당 레코드는 삭제된

레코드로 표현된다. 헤더의 첫 번째 바이트 값이 0x00 보다 큰

경우에는 정상 레코드로 분류된다. 따라서 Dynamic 포맷의 파일

의 삭제된 레코드를 복구하기 위해서는 첫 번째 바이트의 속성

값을 파악하는 것이 중요하다.

[표 4] Dynamic 포맷의 헤더 구조

이 름 설 명

헤더 시작 마크 레코드의 형태를 정의

Actual length 전 필드의 실제 길이

Unused length 사용되지 않은 길이

Flags + overflow pointer 레코드가 연속되지 않는 경우를 위한 포인터

2. FRM 파일

사용자나 시스템에 의해 생성된 테이블 스키마 정보는 테이블명으로

생성된 FRM 파일에 저장된다. MySQL은 FRM 파일의 테이블 스키마

를 통해 데이터를 저장 및 관리할 수 있는 정보를 제공한다.

[표 5] FRM의 구조

오프셋 길 이 설 명

0x00 2 bytes 항상 0xfe01 값을 가지고 있음(매직넘버)

0x02 1 byte FRM의 버전

0x21 1 byte MySQL 버전을 의미

0x2102 2 byte 필드의 개수

0x2168 1 byte

데이터 타입

(frm의 크기와 필드의 개수에 따라 위치 및 개수

가 변할 수 있음)

Page 20: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

20

장하면 이 새로운 레코드가 삭제된 레코드가 존재하는 위치를

덮어쓰게 된다. 데이터 저장의 공간적인 측면에서는 덮어쓰는 방

식이 유용하지만 삭제된 레코드의 복구 관점에서는 기존의 삭제

된 데이터가 다른 데이터로 덮어 쓰여지면 해당 영역에 대한 데

이터 복구는 불가능하다. 데이터베이스에서 레코드의 생성 및 삭

제는 빈번히 발생하기 때문에 레코드의 삭제 시점이 오래될수록

레코드의 복구 확률은 낮아진다고 볼 수 있다. 또한 앞서 살펴본

바와 같이 MyISAM 저장방식에서는 레코드 삭제 시 Fixed 포맷

은 4 바이트, Dynamic 포맷은 20 바이트 길이만큼 삭제 관련 정

보로 덮어쓴다. 따라서 MyISAM 저장방식에서는 데이터를 복구

하더라도 일부 데이터의 손상을 막을 수는 없다.

지금까지 3회에 걸쳐 MySQL에서의 삭제된 레코드에 대한 복구

방안에 대하여 알아보았다. 복구 방법을 파악했으니 이제 실제

로 복구하는 과정을 살펴볼 차례다. 다음 ‘월간 안’을 통해 간단

한 테스트 데이터와 함께 삭제된 레코드의 실제 복구 과정에 대

하여 소개할 예정이다.

Page 21: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

21

f O C u S i N - d E p T H Memory forensics

“메모리 포렌식의 비밀을 열다”

볼라틸리티를 이용한 메모리 포렌식 분석_1부

컴퓨터 포렌식은 최근 몇 년 사이 침해 사고 대응과 분석 과정에서 중요한 기술적 분석 및 조사 기법으로 주목을 받고 있다. 그 동안

‘월간 안’에서도 다양한 포렌식 기법을 소개해 왔으며, 앞으로 2회에 걸쳐 메모리 포렌식 기법을 집중적으로 살펴보려고 한다. 메모리

포렌식은 휘발성이 강하지만 고유의 독특한 정보가 많이 존재하는 물리적인 램(RAM)에 남아 있는 악성코드 감염과 관련된 다양한

흔적을 분석하는 기법이다.

<연재 목차>

1부_메모리 포렌식의 필요성과 공개용 메모리 분석 SW 소개(이번 호)

2부_볼라틸리티를 이용한 메모리 분석 사례(2014년 3월 호)

컴퓨터 포렌식과 침해 사고 대응

일반적으로 컴퓨터 포렌식 또는 디지털 포렌식(Digital Forensic)은

범죄 수사에서 적용되고 있는 과학적 증거 수집 및 분석기법의 일종

으로, 각종 디지털 데이터 및 통화기록, 이메일 접속기록 등의 정보를

수집, 분석하여 DNAㆍ지문ㆍ핏자국 등 범행과 관련된 증거를 확보하

는 수사기법을 의미한다.

최근 발생하는 APT(Advanced Persistent Threat)를 포함한 침해 사

고에서 악성코드(Malware, Malicious Code)는 조직 내부의 중요 기

밀 데이터를 유출하는 과정에서 핵심적인 역할을 하고 있다. 그러므

로, 피해의 시작과 범위를 조사하고 분석하기 위한 목적으로 포렌식

은 반드시 필요한 보안 기술로 인정받고 있다. 즉, 기업의 내부 네트워

크에서 발생한 침해 사고가 어떠한 경로로 이루어졌고, 어떠한 악성코

드에 의해, 어떠한 데이터가 외부로 유출하였는지를 조사 및 분석하는

과정을 타임라인(Timeline)에 기반해 파악하기 위해서는 컴퓨터 포렌

식 기법들이 가장 적합하고 효율적이기 때문이다.

이러한 특징으로 인해 침해 사고 대응과 분석에 사용되는 컴퓨터 포

렌식 기법을 멀웨어 포렌식(Malware Forensic)이라는 표현으로도 자

주 사용하고 있다.

다양한 멀웨어 포렌식(Malware Forensic) 기법

앞서 언급한 바와 컴퓨터 포렌식 기법들 중에서 멀웨어 포렌식

(Malware Forensic) 분야에서 언급되는 기법들을 관점이나 기준에

따라 여러 가지 형태로 나눌 수가 있지만, 기술적인 면을 기준으로 나

누어 본다면 크게 5가지 정도로 나눌 수 있다.

첫 번째는 메모리 포렌식(Memory Forensic)으로 휘발성이 강하지만

고유의 독특한 정보가 많이 존재하는 물리적인 램(RAM)에 남아 있는

악성코드 감염과 관련된 다양한 흔적(파일 실행, 네트워크 접속 및 프

로세스 정보 등)을 분석하는 기법이다.

두 번째로는 레지스트리 포렌식(Registry Forensic)이다. 일반적으로

대부분의 악성코드는 감염된 시스템이 재부팅을 하거나 시스템 사용

자가 특정 행위를 수행했을 때 악성코드 자신이 실행되기 위해 윈도

시스템의 레지스트리에 새로운 키(Key)를 생성 및 변경한다. 이러한

악성코드의 특징에 기반해 레지스트리를 중심으로 분석이 이루어지는

기법이 레지스트리 포렌식이다.

세 번째는 인터넷 포렌식(Internet Forensic)이다. 인터넷 사용이 보

편화 됨에 따라 이메일 클라이언트(E-Mail Client), 메신저(Instant

Page 22: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

Messenger) 그리고 웹 브라우저(Web Browser)와 같이 인터넷 활동

과 관련된 애플리케이션(Application)으로 인해 악성코드에 감염되는

사례가 다수를 차지하고 있다. 그러므로 인터넷 관련 애플리케이션의

행위와 흔적(Artifact) 분석을 통해 악성코드의 감염 경로와 감염 매개

체를 파악할 수 있다.

네 번째로는 네트워크 포렌식(Network Forensic)이다. 현재 발생하는

대부분의 악성코드는 어떠한 방식으로든 인터넷에 존재하는 시스템과

네트워크 연결이 이루어짐으로써 네트워크 패킷(Packet)에 기반한 분

석을 통해 감염 경로와 함께 감염 시스템을 추적하고 분류할 수 있다.

그리고 마지막 다섯 번째로는 파일 시스템 포렌식(File System

Forensic), 또는 디스크 포렌식(Disk Forensic)이다. 파일 시스템 포

렌식은 전통적인 컴퓨터 포렌식 분야에서 중요하게 언급하는 기법

중 하나로 악성코드 감염이 의심되는 시스템의 디스크 이미징(Disk

Imaging)을 통해 생성한 디스크 복사본을 인케이스(EnCase)나

FTK(Forensic ToolKit)와 같은 파일 시스템 분석 소프트웨어를 이용해

디스크 전체를 분석하는 기법이다.

메모리 포렌식(Memory Forensic)의 필요성

멀웨어 포렌식의 여러 가지 기술적인 분류 중에서 메모리 포렌식은

앞서 언급한 바와 같이 여러 가지 포렌식 소프트웨어를 이용하여 물

리적인 램을 분석하는 일련의 과정이다.

메모리 포렌식은 최근 몇 년 사이에 주목을 받고, 그에 따른 연구가

활발하게 이루어지고 있다. 그 이유는 컴퓨터 시스템은 구조적으로 중

앙처리장치(CPU, Central Processing Unit)에 의해 연산이 이루어지

는데, 여기서 어떠한 소프트웨어라도 메모리인 RAM에 그 데이터와

코드가 적재되어야만 중앙처리장치에서 연산이 가능하기 때문이다.

이러한 컴퓨터 시스템의 특성으로 인해 메모리에는 하드디스크와는

다른 소프트웨어 또는 파일이 실행되는 과정이나 실행되었던 특유의

정보가 존재한다.

일반적으로 메모리 포렌식 과정에서 획득할 수 있는 메모리 분석 정

보는 크게 4가지 정도로 나눌 수 있다.

1) 프로세스(Process)와 쓰레드(Threads) 정보

프로그램이나 파일이 실행 중이거나 이미 종료되었지만 메모리에 남

아 있는 정보 추출

2) 모듈(Modules)와 라이브러리(Libraries) 정보

프로그램이나 파일이 실행 중이거나 이미 종료된 프로세스 관련 모듈

과 라이브러리 정보 추출

3) 실행된 파일과 소켓(Sockets) 정보

실행 중이거나 이미 종료된 파일에 대한 정보와 네트워크 연결을 위

해 사용되었거나 사용중인 소켓 정보 추출

4) 다양한 데이터 구조 정보

메모리에만 존재하는 운영체제, 소프트웨어 및 파일과 관련된 다양한

데이터의 구조 정보 추출

이렇게 메모리 포렌식 기법을 통해 획득할 수 있는 정보의 특성으로

인해 메모리 포렌식은 침해 사고 대응과 분석 과정에서 악성코드의

감염과 관련된 여러 주요 데이터를 확인할 수가 있다.

32비트 윈도 운영체제 메모리 구조와 분석 대상

메모리 포렌식에 대해 조금 더 구체적으로 논의하기 전에 일반적인

컴퓨터 시스템 구조상에서 메모리 역할과 메모리 포렌식에서 분석 대

상이 되는 부분에 대해 살펴보자.

일반적으로 32비트 윈도 운영체제에서는 특정 파일이 실행되기 위

해 생성하는 모든 프로세스는 기본적으로 4GB의 가상 메모리(Virtual

Memory)를 할당 받게 된다. 모든 프로세스가 할당 받게 되는 4GB

가상 메모리에는 아래 [그림 1]과 같이 2GB 크기의 유저 모드(User

Mode)와 2GB 크기의 커널 모드(Kernel Mode)로 나누어 사용된다.

이렇게 윈도 운영체제로부터 4GB의 가상 메모리를 할당 받는 모든 프

로세스는 개별적인 가상 주소(Virtual Address)를 가지고 있으며, 개별

적인 가상 주소 영역에 포함된 코드들은 연산을 위해 다시 물리 메모

리에 적재된다. 그러나, 윈도우 운영체제의 메모리 관리 구조는 물리적

크기 제한이 존재하는 램으로 인해 [그림 2]와 같이 주기적으로 가상

메모리의 내용을 하드 디스크에 존재하는 페이지 파일(Page File)로 이

동하는 과정인 페이징(Paging)이 발생하는 형태를 가지고 있다.

이러한 구조를 가지고 있는 32비트 윈도 운영체제에서 메모리 포렌식

의 분석 대상이 되는 곳은 [그림 2]에 표시되어 있는 바와 같이 물리적

인 메모리 영역으로, 다양한 메모리 덤프(Memory Dump) 소프트웨어

를 이용하여 해당 영역을 분석이 가능한 파일 형태로 생성한다.

그 외에도 특정 메모리 덤프 소프트웨어의 경우에는 페이징이 발생하

[그림 1] 프로세스에 할당된 4GB 크기의 가상 메모리

[그림 2] 가상 메모리와 메모리 포렌식 분석 대상

22

Page 23: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

는 페이지 파일 자체도 분석이 가능한 파일 형태로 추출해내기도 한다.

다양한 메모리 덤프 파일 생성 및 분석 소프트웨어

현재 인터넷과 시중에는 메모리 포렌식을 위해 다양한 형태의 메모리

덤프 소프트웨어와 이를 분석하기 위한 메모리 분석 소프트웨어가 존

재한다. 각각의 소프트웨어는 공개용인지 상용으로 판매되는 소프트

웨어 인지에 따라 기능적으로 조금씩 다른 특징이 있다.

여기에서는 일반적으로 많이 사용되는 공개용으로 알려진 소프트웨어

를 중심으로 살펴보면 다음과 같다.

1) Win(32/64)dd.exe

Win(32/64)dd.exe는 메모리 덤프를 위해 2007년 마티유 시우슈

(Matthieu Siuche)가 개발한 공개용 소프트웨어이다. 하지만 32비트

와 64비트 버전이 별도로 존재하므로 메모리 포렌식의 대상이 되는

컴퓨터 시스템에 설치된 운영체제의 버전을 미리 확인해야 한다.

그리고 2008년부터 현재까지는 MoonSols(http://www.moonsols.

com)에서 MoonSols Windows Memory Toolkit(http://www.

moonsols.com/resources/)에 포함되어 무료로 배포 중이다.

[그림 3] Win(32/64)dd.exe를 이용한 메모리 덤프 파일 생성

[그림 4] DumpIt.exe를 이용한 메모리 덤프 파일 생성

[그림 5] FTK Imager Lite를 이용한 메모리 덤프 파일 생성

[그림 6] 볼라틸리티를 이용한 메모리 덤프 파일 분석

2) DumpIt.exe

DumpIt.exe는 2007년 마티유 시우슈가 개발한 Win(32/64)dd.exe

를 응용하여 제작된 공개용 소프트웨어로, 가장 큰 장점으로는 32비

트 및 64비트 운영체제 버전에 상관 없이 메모리 덤프 파일을 생성할

수 있다는 것이다. 그리고 메모리 덤프 파일 생성을 위해 특정 인자

값 입력 없이 dumpit.exe 실행만으로 해당 소프트웨어가 존재하는

동일 경로에 메모리 덤프 파일을 생성하는 것이 장점이다.

해당 소프트웨어 역시 2010년부터 MoonSols(http://www.

moonsols.com)에서 MoonSols DumpIt (http://www.moonsols.

com/resources/)으로 무료로 배포하고 있다.

3) FTK Imager Lite

FTK Imager Lite는 액세스데이터(AccessData, http://www.

accessdata.com/)라는 상용 컴퓨터 포렌식 소프트웨어개발 업체에서

개발하는 FTK(Forensic Toolkit)의 일부 기능을 제한하여 공개한 무료

버전(http://www.accessdata.com/support/product-downloads)

이다.

상용 버전에 비해 기능적인 한계는 존재하나 메모리 캡처(Capture

Memory), 디스크 이미지 생성(Create Disk Image) 및 이미지 마운팅

(Image Mounting)과 같은 기본적인 기능은 자유롭게 사용 가능하다.

액세스데이터에서는 현재 FTK Imager Lite 3.1.1.8 버전을 무료로 제공

중이며, 이 파일은 전체 약 75MB 크기로 USB에 복사하여 침해 사고가

발생한 것으로 추정되는 컴퓨터 시스템에 연결한 후 바로 사용이 가능

하다.

4) 볼라틸리티(Volatility)

볼라틸리티는 파이썬(Python) 프로그래밍 언어로 제작된 메모리 분석

에 많이 사용되는 공개용 소프트웨어이다. 현재 볼라틸리티는 볼라틸

시스템즈(https://www.volatilesystems.com/)에 의해 볼라틸리티 프

레임워크(Volatility Framework)를 오픈 소스(https://code.google.

com/p/volatility/)로 공개하고 있다.

23

Page 24: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

볼라틸리티가 공개용 소프트웨어로 배포 중이어서, 메모리 분석과 관

련된 다양한 기능을 가진 공개용 플러그인(Plugin) 파일이 개발되

고 있다. 그리고, 침투 테스트(Pentest)를 목적으로 개발된 우분투

커널(Ubuntu Kernel) 기반 운영체제인 백트랙(BackTrack, http://

www.backtrack-linux.org/downloads/) 및 칼리 리눅스(Kali Linux,

http://www.kali.org/downloads)에도 포함되어 있다.

4) 맨디언트 레드라인(Mandiant Redline)

레드라인(Redline, https://www.mandiant.com/resources/

download/redline)은 얼마 전 파이어아이(FireEye)에 인수된 침해 사

고 대응을 전문으로 하는 보안 업체인 맨디언트(Mandiant)에서 개발

해 무료로 공개한 메모리 분석 소프트웨어이다.

레드라인은 윈도 GUI(Windows GUI)를 기반으로 하는 메모리 분석

소프트웨어로 사용이 비교적 간단하며, 다른 공개용 메모리 분석 소프

트웨어에 비해 비교적 빠르게 메모리 분석을 진행할 수 있다.

이 외에 메모리 덤프 파일에 존재하는 여러 데이터를 조합하여 시간

순서로 정렬한 타임라인 기능으로 인해 악성코드로 의심되는 항목이

최초 컴퓨터 시스템에 실행되었던 시각을 역으로 추적할 수 있게 해

준다.

[그림 7] 맨디언트에서 개발한 메모리 분석 소프트웨어 레드라인

[그림 9] 레드라인에 표기된 타임라인 형태

[그림 8] 레드라인의 MRI 기능에 의해 붉은색 표기된 프로세스 영역

그리고 레드라인에는 맨디언트에서 정의한 MRI(Mandiant for

Intelligent Response) 기능으로 메모리 분석 과정에서 메모리 덤프

파일에 존재하는 악성코드로 의심되는 항목을 별도의 붉은색으로 표기

하여 메모리 분석 시에 분석 시간 단축을 위해 효율성을 높이고 있다.

그러나 테스트 과정에서는 일부 악성코드로 판단되는 항목을 붉은색으

로 표기하지 못하는 것을 발견했다. 그러므로 레드라인을 이용한 메모

리 분석시에 MRI만을 전적으로 신뢰하기는 어려우니, 참고 용도로 사

용하는 것이 좋다.

그러나, 레드라인을 이용해 메모리 덤프 파일을 생성하고 분석하기 위

해서는 설치 및 실행을 위해 닷넷 프레임워크(.NET Framework) 4.0의

설치가 필요한 단점이 있다.

5) VMWare를 이용한 메모리 덤프 파일 생성과 분석

VMWare는 악성코드 동적 분석에도 많이 사용되는 가상화 소프트웨어

로서, 2008년 브렛 셰이버(Brett Shavers)의 논문 ‘Virtual Forensics:

A Discussion of Virtual Machines Related to Forensics Analysis’을

통해 VMWare를 이용한 메모리 덤프 생성과 분석이 공개됐다.

일반적으로 VMWare 소프트웨어에는 다음의 주요 확장자 파일로 구성

된다.

.Log – 가상 머신(Virtual Machine)에 대한 일반적인 활동 기록 파일

.VMDK – 게스트 운영체제(Guest OS)에 대한 실질적인 가상 하드 드

라이브(Virtual Hard Drive)

.VMEM – 게스트 운영체제에 대한 실질적인 가상 페이징 파일(Virtual

Paging File)

.VMSN – VMWare에서 생성하는 스냅샷(Snapshot) 파일로, 게스트 운

영체제에 대한 상태 저장

.VMSD – VMWare에서 생성한 스냅샷 파일에 대한 메타데이터

(Metadata) 기록 파일

.NVRAM – 게스트 운영체제에 대한 바이오스(BIOS) 정보 기록 파일

.VMX – 게스트 운영체제에 대한 설정 기록 파일

.VMSS – 게스트 운영체제를 일시 중지(Suspend) 상태로 변경할 경우,

당시의 게스트 운영체제 상태를 저장한 파일

VMWare가 가지고 있는 위와 같은 주요 확장자 파일들 중 VMWare 소

프트웨어에서 게스트 운영체제 상태로 가동 중인 시스템의 메모리 분석

대상은 .VMEM 확장자를 가진 파일이다. 게스트 운영체제에서 .VMEM

확장자 파일을 추출하기 위해서는 실행 중인 게스트 운영체제를 일시

중지 시켜 현재 메모리 상태를 저장해야 한다.

24

Page 25: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

[그림 10] VMWare에서 운영 중인 게스트 운영체제의 일시 중지

[그림 11] 볼라틸리티를 이용한 .VMEM 파일 분석

그리고 .VMEM 확장자를 가진 파일을 별도로 복사하여 메모리 분석을

위한 소프트웨어를 이용하여 분석을 진행할 수 있다.

볼라틸리티 프로젝트와 프레임워크

현재 메모리 분석을 위해 가장 널리 사용되고 있는 볼라틸리티는 최초

2006년 아론 월터스(Aaron Walters)의 메모리 분석 관련 FATKit 프로

젝트에서 출발하여 볼라툴즈 프로젝트(Volatools Project)로 발전한 사

례이다.

그 이후 2007년 아론 월터스에 의해 볼라틸리티 프레임워크 개발팀인

볼라틸 시스템즈가 만들어지고 해당 팀에 의해 현재 볼라틸리티 프레임

워크는 공개용 소프트웨어로 자리잡았다.

현재 볼라틸 시스템즈에서는 볼라틸리티 프레임워크 개발과 함께 다양

한 기능을 가진 플러그인 사용 및 제작에 대한 전문적인 강의를 진행

중이다.

볼라틸리티는 현재 2.3.1 버전이 공개 중이나 필자는 이 글에서는 버전

2.2 (https://code.google.com/p/volatility/wiki/Release22)를 기준

으로 설명할 예정이다. 볼라틸리티 프레임워크 2.2 에서는 다음 운영체

제 버전에서 생성된 메모리 덤프 파일에 대한 분석이 가능하다.

볼라틸리티는 현재 2.3.1 버전이 공개 중이나 필자는 이 글에서는 버전

2.2 (https://code.google.com/p/volatility/wiki/Release22)를 기준

으로 설명할 예정이다. 볼라틸리티 프레임워크 2.2 에서는 다음 운영체

제 버전에서 생성된 메모리 덤프 파일에 대한 분석이 가능하다.

1) Windows (x86)

Windows XP Service Pack 2 and 3

Windows 2003 Server Service Pack 0, 1, 2

Windows Vista Service Pack 0, 1, 2

Windows 2008 Server Service Pack 1, 2

Windows 7 Service Pack 0, 1

2) Windows (x64)

Windows XP Service Pack 1 and 2

Windows 2003 Server Service Pack 1 and 2

Windows Vista Service Pack 0, 1, 2

Windows 2008 Server Service Pack 1 and 2

Windows 2008 R2 Server Service Pack 0 and 1

Windows 7 Service Pack 0 and 1

3) Linux

32-bit Linux kernels 2.6.11 to 3.5

64-bit Linux kernels 2.6.11 to 3.5

그리고 볼라틸리티 프레임워크 버전 2.2는 분석이 가능한 메모리 데이

터 영역을 5가지로 구분하고 그와 관련된 다양한 명령어들이 존재하나,

이 글에서는 아래 3가지 영역만을 다룰 예정이다.

1) Windows Core

* Image Identification - imageinfo, kdbgscan, kpcrscan

* Processes and DLLs - pslist,pstree, psscan, psdispscan, dlllist,

dlldump, handles, getsids, cmdscan, consoles, envars, verinfo,

enumfunc

* Process Memory - memmap, memdump, procmemdump,

procexedump, vadinfo, vadwalk, vadtree, vaddump, evtlogs

* Kernel Memory and Objects - modules, modscan, moddump,

ssdt, driverscan, filescan, mutantscan, symlinkscan, thrdscan

* Networking - connections, connscan, sockets, sockscan,

netscan

* Registry - hivescan, hivelist, printkey, hivedump, hashdump,

lsadump, userassist, shellbags, shimcache, getservicesids

* Crash Dumps, Hibernation, and Conversion – crashinfo, hibinfo,

imagecopy, raw2dmp

* Miscellaneous – strings, volshell, bioskbd, patcher, pagecheck

2) Windows GUI

sessions, wndscan, deskscan, atomscan, atoms, clipboard,

eventhooks, gahti, messagehooks, screenshot, userhandles,

gditimers, windows, wintree

3) Windows Malware

malfind, yarascan, svcscan, ldrmodules, impscan, apihooks, idt,

gdt, threads, callbacks, driverirp, devicetree, psxview, timers

윈도와 백트랙에서 볼라틸리티 설치

현재까지 볼라틸리티 프레임워크는 일반적으로 많이 활용되고 있는 운

영체제인 윈도 버전과 리눅스 버전 2개를 구분하여 공개 중에 있다.

이 중에서 윈도 환경에서는 다시 2가지 버전으로 구분되는데, 이 차이

는 윈도 운영체제에서 단독으로 실행되느냐 설치가 필요한 패키지 버전

이냐의 차이이다.

25

Page 26: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

1) 단독 실행 형인 volatility-2.2.standalone.exe

볼라틸리티 2.2 단독형 윈도 프로그램 (https://volatility.googlecode.

com/files/volatility-2.2.standalone.exe)

리눅스 환경에서 작업을 권장한다.

이러한 사유로 이후부터 다루는 볼라틸리티를 이용한 메모리 분석 전

과정은 백트랙 운영체제를 통해 진행되었다.

볼라틸리티를 이용한 메모리 분석 방법론

침해 사고가 발생해 악성코드 감염이 의심되는 시스템에서 생성한 메

모리 덤프 파일을 분석하기 위해서는 [그림 14]와 같은 6단계의 절차를

이용하여 메모리 분석을 진행할 수 있다.

2) 설치를 필요로 하는 volatility-2.2.win32.exe

볼라틸리티 2.2 윈도 모듈 인스톨러(https://volatility.googlecode.

com/files/volatility-2.2.win32.exe)

윈도 운영체제에 설치를 필요로 하는 패키지인 volatility-2.2.win32.

exe의 경우에는 기본적으로 제공되는 플러그인과 별도로 공개되는 플

러그인 모두를 사용하기 위해서는 파이썬 2.6 또는 2.7 버전을 추가로

설치해야 한다.

리눅스를 지원하는 볼라틸리티 프레임워크의 경우에는 앞서 언급한 바

와 같이 침투 테스트를 위한 우분투 기반 운영체제인 백트랙과 칼리 리

눅스에는 기본적으로 볼라틸리티 2.2 버전이 포함되어 있다.

볼라틸리티를 이용한 각 단계별 분석 과정과 주요 프레임워크 명령어는

다음과 같다.

1) 운영체제 분석

메모리 덤프 파일을 생성한 운영체제가 어떠한 버전의 운영체제인지 확

인하는 과정을 거치게 된다. 이 단계에서 확인한 운영체제 버전에 따라

향후 이루어지는 메모리 분석의 방향과 분석에 적용될 볼라틸리티의 명

령어가 다르게 사용될 수 있다.

imageinfo - 생성한 메모리 덤프 파일의 운영체제, 서비스 팩(Service

Pack)과 하드웨어 정보 나열

2) 프로세스 분석

윈도 시스템에서 동작하는 악성코드는 다른 일반적인 윈도우 프로그램

과 유사한 구조를 가지고 있으므로, 악성코드 역시 자신의 코드를 메모

리에 적재한 후에 자신의 프로세스와 쓰레드를 생성하여야만 실행이 가

능하다. 그러므로 확보한 메모리 덤프 파일에서 실행 중이거나 은폐된

프로세스 및 그와 관련된 정보를 분석한다.

pslist - 실행 중인 프로세스 정보 나열

psscan - 실행 중인 프로세스 정보와 함께 이미 종료된 프로세스 정보

나열

psxview – pslist 및 psscan에서 확인한 프로세스 정보를 비교하여 나

열함으로써, 은폐된 프로세스 정보 획득

pstree - pslist와 유사한 정보를 보여주나 부모(Parent) 프로세스와 자

식(Child Process) 프로세스 간의 상관 관계 나열

procexedump – 프로세스의 메모리 영역에서 빈 공간(Slack space)

을 포함하지 않고 바이너리(Binary) 형태로 추출

volshell – 메모리 덤프 파일 분석 시에 Windbg와 유사한 명령 형식으

로 분석

이 외에 SANS에 개발하여 공개 중인 SIFT(SANS Investigate

Forensic Toolkit, http://computer-forensics.sans.org/community/

downloads)라는 컴퓨터 포렌식 목적으로 제작된 우분투 기반 리눅스

운영체제에도 볼라틸리티가 기본적으로 포함되어 있다. 그러나 현재 공

개 중인 SIFT 2.14 버전에는 볼라틸리티 프레임워크 2.0 버전이다. 하지

만 2014년 상반기 중으로 SIFT 3.0 버전이 공개 예정이라고 하니, 볼라

틸리티 버전 역시 변경 될 것으로 예상된다.

이렇게 윈도 및 리눅스 운영체제 모두를 지원하는 볼라틸리티 프레임워

크는 일반적으로 윈도 운영체제에서의 사용을 권장하지 않는다.

그 이유는 마이크로소프트사에서 제공하는 보안 패치로 인해 볼라틸리

티를 이용한 메모리 분석 과정에서 실제와 다른 오류가 발생할 수 있기

때문이다. 그러므로 일반적인 메모리 분석 과정에서는 백트랙과 같은

[그림 12] 윈도 환경에서 단독형 볼라틸리티를 이용한 메모리 덤프 파일 분석

[그림 13] 백트랙 5R3에 포함된 볼라틸리티 프레임워크

[그림 14] 볼라틸리티를 이용한 메모리 분석 6단계

26

Page 27: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

3) 네트워크 정보

최근 발견되는 대부분의 악성코드는 감염된 윈도 시스템에서 외부 네트

워크와 접속을 시도한다. 특히 침해 사고에서 많이 발견되는 원격 제어

형태의 악성코드는 메모리 덤프 파일 내부에서 공격자가 접속한 원격

시스템을 확인할 수 있는 다양한 정보가 포함되어 있다.

connections – 활성화 상태의 네트워크 연결 정보 나열 (Windows

XP, Windows 2003 Server 만 사용 가능)

connscan - 활성화 상태의 네트워크 연결 정보와 함께 이미 종료된 네

트워크 연결 정보도 나열 (Windows XP, Windows 2003

Server 만 사용 가능)

netscan – 활성화 상태의 네트워크 연결 정보를 보여주나 윈도 비스타

와 7 그리고 윈도 2008 서버에서만 사용 가능

4) DLL 및 쓰레드(Thread) 분석

일부 악성코드의 경우에는 특정 프로세스에 자신이 생성한 DLL 파일을

인젝션(Injection) 하거나 특정 시스템 프로세스의 특정 메모리 쓰레드

영역에 자신의 코드를 삽입하는 경우가 있다.

dlllist - 특정 프로세스에서 로드한 DLL의 정보 분석

ldrmodules - 특정 프로세스나 DLL에 의해 은폐된 DLL 정보 분석

dlldump - 특정 프로세스에서 로드한 DLL을 바이너리 형태로 추출

Malfind – 사용자 모드 형태로 은폐되어 있거나 인젝션된 코드 또는

DLL 정보 분석

apihooks – 사용자 및 커널 모드에서 API 후킹 정보 분석

5) String 분석

악성코드에 감염된 것으로 추정되는 시스템에서 생성한 메모리 덤프 파

일에 존재하는 특정 프로세스의 메모리 영역 전체 또는 인젝션된 DLL

및 쓰레드 영역을 바이너리 형태로 추출한다. 그 이후 바이너리 형태로

추출해 낸 파일에서 악성코드와 관련된 문자열 및 관련 IP 주소 등을 검

색 할 수 있다.

yarascan - YARA를 이용하여, 사용자 및 커널 모드 메모리 영역에 포

함된 바이트(Byte) 순서, ANSI 및 유니코드(Unicode) 문자

열 검색

string – 문자열 검색을 위해 백트랙에 기본적으로 포함된 프로그램

6) 레지스트리 분석

일반적으로 악성코드는 감염된 윈도 시스템이 재부팅 되더라도 자동으

로 재시작하기 위해 윈도 레지스트리(Windows Registry) 영역에 특정

키(Key)를 생성하거나 특정 값(Value) 등을 변경한다. 그러므로 메모리

덤프 파일 내부에 남아 있는 레지스트리 관련 데이터의 분석을 통해 악

성코드로 의심되는 파일을 추출할 수 있다.

printkey - 특정 레지스트리 키에 포함되어 있는 하위 키(Subkeys) 값

과 데이터를 검색하여 나열

userassist – 메모리 덤프 파일에서 UserAssist 관련 레지스트리 키 정

보 추출

지금까지 볼라틸리티를 이용해 악성코드 감염이 의심되는 시스템에서

생성한 메모리 덤프 파일을 이용해 분석을 진행하는 방법론과 6단계에

걸친 분석 과정을 소개했다. 다음 호에서는 볼라틸리티를 이용해 실제

악성코드에 감염된 시스템에서 생성한 메모리 덤프 파일을 이용해 분석

한 사례를 살펴보자.

27

Page 28: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

보안 통계와 이슈 S T a T i S T i C S

12월, ‘트로이목마’ 여전히 높은 비중

ASEC이 집계한 바에 따르면 2013년 12월에 감염이 보고된 악성코드

는 전체 174만 5450건으로 나타났다. 이는 지난 11월의 206만 6944

건에 비해 32만 1494건이 감소한 수치다.

(DPOPPER), 트로이목마(TROJAN)는 감소세를 보였다. 애프케어

(Appcare), 클릭커(CLICKER) 계열은 전월과 동일한 수준을 유지했다.

악성코드를 유형별로 살펴보면, 트로이목마(Trojan)가 56.1%로 가장

높은 비율을 나타냈다. 웜(WORM)8.4%, 스크립트(SCRIPT) 7.6%가

뒤를 이었다. [그림 2]는 2013년 12월 한 달 동안 안랩이 탐지한 악성

코드의 유형별 집계 결과다.

[그림 3]은 악성코드 유형별 감염 비율을 전월과 비교한 것이다. 다운

로더(DOWNLOADER)와 익스플로이트(EXPLOIT), 스크립트(SCRIPT)

가 전월에 비해 증가세를 보였으며 애드웨어(ADWARE), 드롭퍼

‘트로이목마’, 여전히 ‘악성 중’의 악성코드

12월 새롭게 접수된 악성코드 중 감염 보고가 가장 많았던 20건을 살

펴본 결과, 12월의 신종 악성코드 중 최다는 트로이목마류였다. Win-

Trojan/Urelas.247969가 3440건으로 전체의 20.8%, 그 뒤를 이어

Win-Trojan/Onlinegamehack.117760.U가 2627건으로 15.8%를

차지했다.

12월의 신종 악성코드를 유형별로 살펴보면 [그림 4]와 같이 트로이

목마가 87%로 가장 많았고 드롭퍼가 9%, 기타 4%로 각각 집계됐다.

안랩 시큐리티대응센터(ASEC)는 ASEC Report Vol.48을 통해 지난 2013년 12월의 보안 통계 및 이슈를 전했다. 12월의 주요 보안

이슈를 살펴본다.

눈속임 가장한 악성코드 위장 메일 기승

ASEC, 12월 통계 및 보안이슈 발표

[그림 3] 2013년 11월과 12월 악성코드 유형별 비교

[그림 4] 신종 악성코드 유형별 분포

[그림 1] 월별 악성코드 감염 보고 건수 변화 추이

[그림 2] 2013년 12월 악성코드 유형별 감염 비율

28

Page 29: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

2013년 12월 주요 보안 이슈

■ 특정인을 대상으로 유포된 스피어 피싱 메일 발견

신뢰할만한 발신인으로 위장해 발송된 스피어 피싱 메일이 발견돼 주의

가 요구된다. 이번에 발견된 스피어 피싱 메일은 한글 취약점을 이용하

는 악성코드가 첨부되어 있으며 첨부 파일을 실행할 경우 악성코드에

감염된다.

시도하지만, 분석 시점에 연결되지 않았다.

[그림 5] 스피어 피싱 메일 원문

[그림 9] 네트워크 연결 정보

[그림 6] 첨부 파일 실행 화면

[그림 8] ] 윈도 시작 레지스트리 등록

[그림 7] ] 파일 생성 정보

한글 취약점을 통해 생성되는 악성코드는 다음과 같은 경로에 생성된다.

해당 악성코드는 윈도 시작 레지스트리(RunOnce)에 등록돼 동작한다.

악성코드는 정보를 유출하기 위한 목적으로 제작, 시스템 정보 등을 탈

취하는 데 이용될 것으로 추정된다. 특정 서버(210.XX.XXX.4)로 접근을

메일에 첨부된 한글 파일을 실행하면 사용자가 악성코드 감염 사실을

인지하지 못하도록 한글 문서가 나타난다.

■ 미인대회 우승자 이력서를 위장한 악성코드

어느 일요일 이력서를 위장한 악성코드가 첨부 파일로 가장해 집중적으

로 유포되고 있는 것으로 보고됐다. 본문 내용에는 미인대회 우승자이

고, 이력서에 사진이 포함돼 있다면서 직업을 구하는 내용과 함께 악성

코드가 첨부된 채 유포되고 있었다.

악성코드 제작자는 사회공학적 기법으로 메일 수신자의 호기심 유발을

통해 첨부 파일을 실행하도록 미인대회 우승자의 이력서를 이용한 것으

로 보인다.

메일 제목, 본문 내용, 첨부 파일명은 아래와 같이 유사한 형태로 유포

되고 있었다.

Date: Sun, Dec 22 2013 07:07 AMFrom: job0553@cos*****e.comSubject: My CVAttached File: My_CV_Please_Look_Job_ID8589.zip

-- Original Message --Good Day!I sent you my detailed CV.I hope you will like meI am the winner of different beauty contests.My photos are added as images in the document,I need this job very much.Waiting for your soonest reply,Kisses,Ava Smith

Date: Sun, Dec 22 2013 09:32 AMFrom: job3410@island*****asino.comSubject: Please look my CV. Thank youAttached File: My_CV_Please_Look_Job_ID7026.zip

-- Original Message --Hello,I sent you my detailed CV.I hope you will like meI am the winner of different beauty contests.My photos are added as images in the document,I need this job very much.Waiting for your soonest reply,Kisses,Betty Mason

Date: Sun, Dec 22 2013 11:47 AMFrom: job7066@arena*****nal.comSubject: My CVAttached File: My_CV_Please_Look_Job_ID6410.zip

-- Original Message --Hello,I sent you my detailed CV.I hope you will like meI am the winner of different beauty contests.My photos are added as images in the document,I need this job very much.Waiting for your soonest reply,Kisses,Lisa Mason

Date: Sun, Dec 22 2013 02:23 PMFrom: job1136@n****d.comS u b j e c t : m y d o c u m e n t s a n d passport scansAttached File: My_CV_Please_Look_Job_ID4805.zip

-- Original Message --Hello,I sent you my detailed CV.I hope you will like meI am the winner of different beauty contests.My photos are added as images in the document,I need this job very much.Waiting for your soonest reply,Kisses,Karen Tailor

29

Page 30: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

30

첨부된 압축 파일을 해제하면 아래 그림과 같이 MS 워드 문서 아이콘으

로 보여 무의식적으로 실행할 수 있기 때문에 주의가 요구된다. 해당 파

일에 대한 종류를 보면 “응용 프로그램”으로 확인할 수 있어 메일에 첨

부된 파일을 실행할 때는 이를 간과하지 않도록 해야한다.

cqhvoevu.exe 파일은 윈도 정상 시스템 파일인 svchost.exe 프로세

스에 인젝션돼 실행되며, 아래 C&C로 추정되는 IP에 주기적으로 접속

한다.

91.1**.2**.4*:8080

202.**.6*.**:8080

77.**.**.*5:8080

190.**4.2**.2*2:443

103.**.2**.3*:8080

5.1**.21*.**4:8080

분석 당시 추가 증상은 확인되지 않았지만, [그림 11]의 에러 메시지는

지난 12월 중에 발견된 “American Airlines 메일을 위장한 스팸 메일”

의 에러 메시지와 동일한 것으로 보아 C&C 서버에 정상 연결 시 추가

악성코드 감염이나 스팸 메일 발송 증상이 나타날 것으로 예상된다.

이 밖의 더 자세한 보안 관련 통계 및 이슈에 관한 자세한 내용은 ASEC

Report 홈페이지(http://www.ahnlab.com/kr/site/securitycenter/

asec/asecReportView.do?groupCode=VNI001)을 통해서 확인할

수 있다.

압축 해제된 파일(My_CV_document________________________

_.exe)을 실행하면 자기 복제본을 아래와 같이 랜덤한 파일명으로 생성

하고 실행한다.

[파일 생성]

C:\Documents and Settings\[사용자 이름]\Local Settings\

Application Data\cqhvoevu.exe

이번에 발견된 이력서 위장 악성코드는 국내에 잘 알려진 이력서 위장

악성코드와 달리, 정상 이력서 문서 파일은 열리지 않는다. 대신 [그림

11]과 같은 내용의 메모장이 실행돼 사용자에게 악성코드 감염을 인지

하지 못하도록 한다.

[그림 10] ] 압축 해제한 파일

[그림 11] 감염시 나타나는 에러 메시지

Page 31: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

a H N l a b N E w S

31

스미싱 탐지 전용 앱 ‘안전한 문자’ 10만 다운로드 돌파

안랩의 스미싱(Smishing, 문자메시지를 이용한 사기수법) 탐지 무료

앱 ‘안전한 문자’가 출시 3개월 만에(2014년 1월 기준) 다운로드 10만

건을 돌파했다.

안랩은 ‘안전한 문자(https://play.google.com/store/apps/

details?id=com.ahnlab.safemessage)’의 ‘실시간 URL(숫자로 이루

어진 IP 포함) 실행 감지 기능’ 등이 호응을 얻어 단기간에 10만 다운

로드를 돌파한 것으로 분석하고 있다. 또한 이와 함께 친근한 디자인과

손쉬운 사용도 인기 요인으로 보고 있다.

안전한 문자의 실시간 URL 실행감지 기능은 문자 메시지(SMS ; Short

Message Service) 뿐 아니라 페이스북, 트위터, 카카오톡, 메모장 등

스마트폰 내 다양한 앱의 URL을 실행해 웹사이트 접속 시에도 악성 앱

다운로드 여부를 탐지해 알려줘 매우 유용하다.

또한 사용자가 스마트폰 환경 설정을 ‘알 수 없는 소스(출처) 허용’ 상

태로 설정했을 경우 알림 기능도 추가돼 있어 무의식적인 사용에 따른

피해방지도 가능하다. 이는 악성 앱이 사용자의 의지와 무관하게 다운

로드 돼 설치되는 것을 막아주는 1차적인 안전 장치이다.

사용자는 ‘안전한 문자’를 이용해 실시간으로 악성 URL이 포함된 문자

메시지나 악성 앱을 다운로드 하는 URL 링크를 감지할 수 있으며, 악

성 앱이 다운로드 또는 설치된 경우는 ‘V3 모바일ʼ로 즉각 검사 후 치

료하면 된다.

안랩 제품기획실 정진교 실장은 “개인정보나 금전 탈취 목적의 스미

싱 증가로 스미싱 탐지 전용 앱이나 모바일 백신 등 스마트폰 보안

이 더욱 중요해졌다.”며 “안랩은 스마트폰 사용자를 위한 ‘안전한 문

자’ 외에 스미싱 문자 유형을 SNS(페이스북,트위터)로 신속히 알려

주는 “안랩 스미싱 알람’서비스를 제공하는 등 안전한 모바일 보안

환경을 위해 노력하고 있다”고 밝혔다.

▲‘AhnLab 안전한 문자’가 출시 3개월만에 10만 다운로드를 돌파했다.

안랩, 정규직 채용 위한 인턴사원 공개 모집

안랩이 2014년 상반기 정규직 채용을 위한 인턴 사원 모집을 20일

부터 시작했다. 안랩은 공개모집을 통해 약 20여명의 인턴사원을 선

발할 예정이며, 모집분야는 악성코드 분석 및 대응, 글로벌 기술지

원, 웹개발 등 총 3개 부문이다. 모집기간은 2월 4일(화)까지이며 이

메일([email protected])로만 접수 받는다.

이번 인턴사원 모집에 학력 및 자격, 성별 등 제한은 없으며, 2014

년 8월 졸업예정자 또는 기 졸업자도 지원 가능하다. 또한 모집분야

관련학과 전공자 외에 비전공자의 경우에도 지원 분야의 기본지식

을 갖추면 응시할 수 있다.

지원자는 홈페이지(http://www.ahnlab.com/company/site/

recruit/2014fh_intern.jsp)에서 지원서를 다운로드 받아 작성 후,

이메일로 지원(2월 4일 자정까지 이메일로만 접수)하면 된다. 서류

합격자 발표는 2월 12일(수)에 진행되며, 서류전형 합격자는 2월 17

일에서 2월 25일 사이 면접전형을 거쳐 최종 선발된다.

인턴사원 채용에 선발된 합격자는 약 6개월 간의 인턴십 과정을 거

친다. 안랩은 인턴십 과정이 끝나면 전환면접과 평가를 거친 후 정

규직으로 전환 채용할 계획이다.

안랩 안현진 인사팀장은 “이번 정규직 채용을 위한 인턴사원 선발은

이공계에서 SW분야의 일자리 창출에 작게나마 도움이 될 것으로 기

대한다. 보안에 관련한 선 경험보다 교육 및 실제 업무 수행을 중점

으로 평가할 계획이기 때문에 보안 분야에 대한 열정을 가진 지원자

를 환영한다”고 말했다.

▲ 안랩은 정규직 채용을 위한 인턴사원 모집을 시작했다.

Page 32: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

32

발행인 : 권치중

발행처 : 주식회사 안랩

경기도 성남시 분당구 판교역로 220

T. 031-722-8000 F. 031-722-8901

편집인 : 안랩 콘텐츠기획팀

디자인 : 안랩 UX디자인팀

© 2014 AhnLab, Inc. All rights reserved.

본 간행물의 어떤 부분도 안랩의 서면 동의 없이 복제, 복사, 검색 시스템

으로 저장 또는 전송될 수 없습니다. 안랩, 안랩 로고는 안랩의 등록상표입

니다. 그 외 다른 제품 또는 회사 이름은 해당 소유자의 상표 또는 등록상

표일 수 있습니다. 본 문서에 수록된 정보는 고지없이 변경될 수 있습니다.

Page 33: 안랩 온라인 보안 매거진 - AhnLab, Inc.download.ahnlab.com/kr/site/magazineAhn/ahn_201402.pdfapt 공격의 현재와 대응 방안 2014. 02 안랩 온라인 보안 매거진

경기도 성남시 분당구 판교역로 220

T. 031-722-8000 F. 031-722-8901

© 2014 AhnLab, Inc. All rights reserved.

http://www.ahnlab.com

http://blog.ahnlab.com

http://twitter.com/ahnlab_man