본문 바로가기

[+] Forensic

[Forensic Case] 기업 문서 유출 사건

이번 글에서 다룰 내용은 기업 문서 유출 사건에 대한 가상 시나리오 포렌식 문제이다. 허니넷이나 SANS의 포렌식 챌린지 또한 시나리오 기반이긴 하지만 그 시나리오는 조금은 현실성이 떨어지는 시나리오인데 이번에 다룰 문제는 실제 일어날 법한 이야기를 문제로 만들어 조금은 흥미있게 문제풀이를 진행하였다. 해당 문제는 2008년에 어떤 교육기관에서 교육생들의 교육을 목적으로 제작된 것으로 보이며(출처가 정확하지 않고 문제 제작 사이트가 현재는 운영되지 않고 있다.) 그리고 문제에서 제공되었다는 몇개의 파일들이 존재하지 않는다. 하지만 문제를 풀이하는데에는 크게 영향을 미치지 않는다. 문제로는 다른 포렌식 챌린지보다 문제의 가상 환경에 대한 설명과 여러 정보들을 제공하는데 이는 문서 파일로 제공되었다.


M57-Jean.ppt


해당 파일이 제공된 문제 설명 파일인데 원래는 영어로 되어 있었지만 필자가 임의대로 번역하여 두었다. 영어로 읽고 싶다면 다음 파일을 참조하기 바란다.


M57-Jean.pdf


문제 파일로는 하드디스크 복사본이 주어진다. 총 2개의 파일이며 하나의 디스크를 분할하여 이미징 한 파일이다. 파일의 시그니처(EVF)로 보아 EnCase 파일 포맷인 것을 알 수 있다.


일단 우리가 중요하게 봐야 할 부분부터 짚고 넘어가 보도록 하겠다. 문제의 가상 환경 파일을 보게 되면 여러가지 정보들이 수록되어 있는데 우리가 중요하게 봐야 할 부분은 다음과 같다.


[문제의 목적]

 - Jean이 언제 엑셀 문서를 작성하였는가?

 - 경쟁 업체의 웹사이트에 엑셀 문서가 어떻게 게시 되었는가?

 - 누가 또 회사 일에 관여되어 있는가?


[문제의 요점]

 - 대부분의 작업 문서들은 이메일로 교환되는 점

 - 대표이사와 CFO 인터뷰 내용


문제의 요점을 보면 대부분의 작업 문서들은 이메일로 교환된다고 적혀있다. 서로 맡은 할당량의 작업을 마치고 이에 관한 문서를 교환하는데 이메일을 사용한다는 것이다. 그렇다면 업무에 관한 대화나 다른 것들은 어떨까? 이메일을 주로 사용할 가능성이 농후하다. 즉 우리는 제공 된 하드디스크 복사본에서 이메일과 관련된 파일을 찾아야 한다. 또 대표이사와 CFO의 인터뷰 내용을 보면 서로 상반된 이야기를 하고 있다. 인터뷰의 내용을 보면 누군가는 거짓말을 하거나 또는 둘다 진실만을 이야기 할수도 있다는 것을 생각 했을 것이다. 인터뷰 내용 추측에 따라 해당 시나리오의 결과는 내부 유출이나 외부 유출로 결정 될 가능성이 많다. 정확하게 판단을 하기 위해서는 이메일 내용을 봐야 하겠지만 말이다.


요점만을 가지고 모든 설명을 하기에는 부족함이 없지 않아 있고 또 모든 것을 풀어버리면 문제풀이의 흥미가 반감될 수 있으니 바로 문제의 목적들을 하나씩 풀어보도록 하겠다.


[Jean이 언제 엑셀 문서를 작성하였는가?]

엑셀 문서의 작성일을 찾는 것이 이번 질문에 대한 답이 될 것이다. 하드디스크 복사본을 FTK 또는 Autopsy, EnCase등으로 열어보면 NTFS 파일시스템의 디스크 구조가 눈에 보일 것이다. 해당 파일시스템에는 몇개의 파일이 존재하지 않아 쉽게 엑셀 파일의 원본을 찾을 수 있다. 


[그림 1 - 원본 엑셀 문서]


하지만 원본 파일이 생성 된 시간이 아닌 데이터 수정 시간이 표시 된다. 이는 정확한 답변이 될 수 없음을 직감적으로 알고 있을 것이다. 원본 파일에 대한 시간 데이터, 경로 등의 정보를 가지고 있는 것은 윈도우에서 바로가기 파일이다. 해당 엑셀 문서의 바로가기 파일을 찾아 구조를 파악하면 해당 엑셀 문서의 생성 시간을 알아 낼 수 있다. 바로가기 파일의 분석은 현재 여러 도구가 나와 있어 자신이 원하는 도구를 사용하면 된다. 대표적으로 WFA(Windows File Anaylzer)도구와 LinkParser 등이 있다.


[그림 2 - 바로가기 파일 분석 결과]


분석 결과를 보면 생성 시간이 2008-07-20 오전 10:28:03 으로 되어 있다. 


[경쟁 업체의 웹사이트에 엑셀 문서가 어떻게 게시 되었는가?]

이 질문은 엑셀 문서가 어떤 경로로 유출되었는가를 우회적으로 묻는 질문이라 할 수 있다. 다시 한번 문제의 요점 부분을 살펴 보자. 대부분의 업무는 이메일로 이루어진다고 하였다. 과연 하드디스크 어느 부분에 이메일 내용들이 남겨져 있을까? 대표적으로 인터넷 브라우저가 있을 것이다. 이메일을 사용하려면 어찌됐든 인터넷 브라우저를 거치게 되어 있기 때문에 이메일을 읽는 행위등을 할 때 그 페이지는 인터넷 브라우저의 캐쉬로 남게 된다. 여기서는 인터넷 브라우저의 캐쉬 데이터를 분석하지는 않을 것이다. 필자가 미리 분석을 시도 하였으나 이메일과 관련된 데이터는 존재하지 않았다.

제일 쉽게 생각 할 수 있던 인터넷 브라우저에서 이메일 관련 데이터를 찾지 못하였다면 과연 어디서 찾을 수 있을까? 혹시 Windows에서 기본적으로 제공하는 Outlook이라는 프로그램을 알고 있는가? 의외로 기업에서는 해당 프로그램을 많이 사용한다. 개인은 이메일을 사용하는 일이 많지 않지만 기업의 경우 기업의 인트라넷등을 이용 할 때 Outlook을 연동하여 사용하는 경우가 많다. Outlook 프로그램의 경우 사용자의 메일함을 따로 파일로 저장해두어 어디서든지 사용자의 메일함을 열어 볼 수 있도록 제공한다. 해당 파일의 경로는 다음과 같다.


 - %SystemRoot%\Documents and Settings\%UserName%\Local Settings\Application Data\Microsoft\Outlook\Outlook.pst


파일의 확장자는 .pst 이며 다음과 같은 과정으로 파일을 열면 메일함을 정상적으로 불러올 수 있다. 


 - Outlook 메인 화면에서 [파일] -> [데이터 파일 관리] -> [데이터 파일 탭] -> [추가] -> [Office Outlook 개인 폴더 파일] -> 파일 선택 -> 열기


[그림 3 - Outlook 메일함]


메일함의 데이터들을 날짜별로 정렬하여 가장 오래된 메일부터 열어 확인을 하다보면 Jean이 Alison과 자신에게 보낸 CNN과 관련된 메일이 보인다. 이 메일 내용에서 다음과 같은 문장을 발견 할 수 있다.


 - Please note, the sender's email address has not been verified.


발신인의 메일 주소가 불분명하니 조심하라는 메시지이다. 발신인은 Jean이며 현재 보고 있는 메일함의 주인도 Jean이다. 뭔가 수상한 부분이 아닐 수 없다. 그 후로는 Gmail 가입에 관련된 메일과 CNN 뉴스피드 메일이 주를 이룬다. 그 다음 메일에선 Alison에게서 다음과 같은 메일이 온 것을 볼 수 있다.


Jean,

 

Please do not send me links like this. I have no way of knowing if they are from you or from some hacker.

 

Thanks.

 

Alison.

 

-----Original Message-----
From: jean@m57.biz [mailto:jean@m57.biz]
Sent: Sunday, July 06, 2008 8:56 AM
To: alison@m57.biz; jean@m57.biz
Subject: this is what I was talking about

 

CNN.com

 

Powered by

 

 * Please note, the sender's email address has not been verified.

 

 

 

this is what I was talking about today!!!

 

 

 

 

 

 

Click the following to access the sent link:

 

 

 

How much skin is too much at the office? - CNN.com*

 

 

 

 

 

 

SAVE THIS link

FORWARD THIS link

 

 

 

 

 

Get your EMAIL THIS Browser Button and use it to email content from any Web site. Click here for more information.

 

 

 

 

 

 

*This article can also be accessed if you copy and paste the entire address below into your web browser.
http://www.cnn.com/2008/LIVING/worklife/07/04/too.much.skin.office.ap/index.html


Jean에게 다음과 같은 메일을 보내지 말라는 내용의 메일인데 더 이상한 것은 이 메일의 다음 메일이다. Jean이 Alison에게 보낸 메일이다.


I thought you told me not to send links.

-----Original Message-----
From: AlisonM57 [mailto:alison@m57.biz]
Sent: Sunday, July 06, 2008 8:25 PM
To: jean@m57.biz
Subject: By the way...

http://www.cnn.com/2008/LIVING/worklife/06/19/too.tattooed.to.work/
[AlisonM57] 

Check this one out:

 

 Sarah Champion's former employer told her that she had to conceal her tattoos while at work.

 

Looks like the woman we turned down for the job...

 

분명 Alison은 링크가 포함되어 있는 메일이 싫다고 하였는데 Jean에게 링크가 포함된 메일을 보내 Jean이 의아하게 생각 해 이에 대해 물어본 메일이다. 이 메일 이후에는 구글 알림 메일이 주를 이루고 2008-07-20일부터는 alex@m57.biz라는 계정의 메일이 보이기 시작한다. Jean은 처음에 해당 메일에 대해 아무런 반응을 보이지 않았지만 alex 계정이 보내는 링크가 포함된 메일을 보고 Alison 계정과 alex 계정이 모두 Alison의 계정이라는 혼동을 하게 된다. 메일 내용은 CNN 뉴스레터 내용이었는데 마지막에 다음과 같은 문장이 들어있었기 때문이다.


 - This message was sent to you at alison@M57.BIZ


Jean은 업무에 관해서 Alison과 소통 할 때 어떤 메일을 써야하는지 혼동이 생겨 alison 계정으로 어떤 메일이 진짜 업무 메일 계정인지 물어본다.


From: Jean User [mailto:jean@m57.biz]

Sent: Sunday, July 20, 2008 12:32 AM

To: alison@m57.biz

Subject: which email address are you using?

 

Are you going to use alex@m57.biz or alison@m57.biz?


메일 내용을 모두 첨부할 수는 없어 첨부하지 않았지만 메일의 내용은 결국 alison@m57.biz 계정이 업무 계정이라는 쪽으로 결론이 난다. 그 후 alison 메일 계정으로 다음과 같은 부탁을 받는다.


Jean,

 

One of the potential investors that I've been dealing with has asked me to get a background

check of our current employees. Apparently they recently had some problems at some other

company they funded.

 

Could you please put together for me a spreadsheet specifying each of our employees, their

current salary, and their SSN?

 

Please do not mention this to anybody.

 

Thanks.

 

(ps: because of the sensitive nature of this, please do not include the text of this email

in your message to me. Thanks.)


내용을 요약하면 투자자가 직원들의 배경에 대해서 알고 싶어하고 그 내용을 엑셀 문서로 작성하여 보내달라는 것이다. Jean은 해당 메일의 답변으로 다음과 같은 답변을 보내는데 이에 대한 Alison의 답변이 조금 이상하다.


-----Original Message-----

From: Jean User [mailto:jean@m57.biz]

Sent: Sunday, July 20, 2008 12:46 AM

To: alison@m57.biz

Subject: RE: background checks

 

Sure thing.


다음은 Alison의 위 메일에 대한 답변이다.


What's a "sure thing." ?


마치 어떤 말의 대답인지 모르는 사람처럼 답변에 대해 묻는 모습을 볼 수 있다. 이쯤되면 어느정도 짐작이 올 것이다. 현재까지의 정황으로 봐서는 Alison의 메일 계정이 악의적인 사용자에 의해 해킹되었다고 생각이 들 수 있다. 하지만 아직 정확한 것이 아니니 조금 더 메일 내용을 살펴보도록 하자. 위 메일 다음으로는 몇개의 업무 메일이 위치하고 있다. 그 다음에는 다음과 같은 엑셀 파일 요구 내용의 메일이 보인다.


Hi, Jean.

 

I'm sorry to bother you, but I really need that information now --- this VC guy is being very insistent.

Can you please reply to this email with the information I requested --- the names, salaries, and social security numbers (SSNs) of all our current employees and intended hires?

 

Thanks.

 

Alison


파일을 보냈는지 확인하기 위해 메일함에서 보낸메일함으로 가보게 되면 다음과 같이 메일을 보낸 것을 확인 할 수 있다.


[그림 4 - 보낸 메일함에서 확인한 문서 유출 메일]


해당 메일을 받은 Alison 계정은 고맙다는 메일을 보내고, 그 다음날 주고 받은 메일이 다음에 보인다. 그 다음날 Alison은 Jean에게 안부 메일을 보내고 그 다음으로 다음과 같은 메일을 보냈다.


Jean,

 

Something very strange is going on. Do you know anything about it?


Alison은 무언가 이상한 일이 있어났다고 한다. 이에 대해 Jean은 다음과 같은 말을 한다.


Like what? Network's running kind of slow. Did we have a breakin or something?


Jean은 이메일 시스템을 이용하면서 네트워크가 느려졌다는 것을 느끼고 있었다. 그 후 몇 분 후에 프로그래머인 bob에게서 다음과 같은 메일을 수신한다.


Hi, Jean.

 

This is Bob. I'm one of the programmers working on the project.

 

Do you know anything about my social security number being posted on the Internet? Somebody just sent me email saying that my name and SSN had been posted. I don't really know what this is about.


자신의 개인정보가 인터넷 어딘가에 게시되었다는 메일을 받았다고 Jean에게 이러한 일에 대해서 아는 것이 없냐고 물어보는 메일이다. 그 후 웹 마스터인 Carole에게서 메일의 안전에 관한 내용에 메일을 받는다.


Hi, Jean. This is Carol. I'm the webmaster.

 

Is this email good for you?


이에 대해 Jean은 다음과 같은 내용을 웹 마스터인 Carole에서 전송한다.


Sure. What's going on? A lot of people are saying weird things about potential problems with site.


또 bob는 다음과 같은 내용을 Jean에게 보내는데 메일 내용은 자신이 얻은 개인정보가 Jean것이 정말 맞는지 확인하는 메일이다.


Jean,

 

Thanks for the follow-up.

 

By the way, is your SSN 432-34-6432 and are you really making $120,000/year?


이에 대해 Jean은 다음과 같은 내용의 메일을 보낸다. 어디서 해당 정보를 구했냐는 내용의 메일이다.


It is, and I do. What's up with that? Where'd you find that information? On the same web site where you found yours?


Jean의 메일을 받은 bob는 메일 계정 안전에 대해 의구심을 품고 상대방이 진짜 자신이 아는 사람인지 확인하는 메일을 보낸다.

 

Jean, it is very difficult for me to tell the difference between what I'm sending to you and what you are sending back to me.

 

Since this email might be used as evidence in a court of law, could you please just answer the question:

 

1. Is your SSN 432-34-6432?

 

2. Are you really making $120,000/year?

 

Thank you.

 

그 후 Jean은 맞다는 내용의 메일을 bob에게 보내고 메일의 데이터는 여기서 끝이 난다. 어떠한가? 해당 내용이 조금 이해가 가는가? 현재 메일 내용에서 알 수 있는 것은 Alison과 주고 받는 메일 내용이 두서 없이 변한다는 것이며, Jean은 메일 시스템을 이용하는 동안 네트워크가 느린 것을 느끼고 있었고, 파일을 보내고 난 다음 날 웹사이트에 문제와 메일 해킹 의심이 생겼다는 것이다. 이 모든 것을 종합하여 보았을 때 해당 가상 기업인 M57.biz의 대표이사인 Alison은 어떠한 사용자로부터 MITM 공격을 당했을 가능성이 제일 많다. 메일 계정이 해킹 당했을 가능성도 상당히 높다. 하지만 네트워크가 느렸었다는 Jean의 말을 생각 했을 때 MITM 공격을 당했을 가능성이 조금 더 많다. 인터뷰를 보면 Alison은 엑셀 문서를 이메일로 받은적이 없다고 하였다. 이는 MITM 공격을 하는 악의적 사용자가 중간에서 파일이 포함된 메일을 가로채 파일을 탈취한 뒤 Drop하여 생긴 현상일 가능성이 높다. 또 제일 처음에 CNN 관련 메일에서 발신인이 정확하지 않다는 문장 또한 메일이 수정되었다는 것을 뒷받침 해주는 역할을 하는 것으로 볼 수 있다. 즉, MITM 공격을 한 사용자에 의해 Jean은 공격자를 Alison으로 착각하고 공격자의 부탁대로 엑셀 문서를 작성해 전송하였고 그 문서는 공격자에게 탈취 당해 인터넷에 노출되게 되었다고 볼 수 있다.


[누가 또 회사일에 관여되어 있는가?]

이 부분은 사실 질문 자체가 애매모호하다. 개인정보가 유출 된 직원들 전체가 관련되어 있을 수도 있고 메일 데이터에서 언급 된 Carole과 bob만 관여되어 있을 수도 있기 때문이다. 하지만 법적 증거자료를 언급한 bob가 제일 이번일에 많이 관여 되어있지 않을까 한다.


해당 문제는 포렌식의 여러가지 기술 보다는 포렌식 아티팩트와 타임라인 분석에 충실해야 할 문제라고 볼 수 있다. 원래는 유출 과정에 대해서 타임라인 분석을 시도하려 했으나 현재 한국어버전 Outlook을 사용하고 있다보니 메일 데이터의 시간 데이터를 한국 표준시로 표현하여 해당 메일 내용의 헤더를 일일이 보고 타임라인을 작성하여야 해서 더위도 있고 해 타임라인 분석은 시도하다 그만두게 되었다. 하지만 꼭 타임라인 분석이 아니더라도 문제의 중점은 모두 파악을 할 수 있어 문제 풀이하는데에 어려움은 없었다. 이 시나리오 말고도 다른 시나리오도 존재한다. 언젠가 시간이 충분히 생긴다면 다른 시나리오도 풀어봐야 할 듯 싶다.



'[+] Forensic' 카테고리의 다른 글

iOS Forensic - (1)  (0) 2012.08.13
Skype Forensic  (0) 2012.08.07
디스크 암호화와 디지털 포렌식  (0) 2012.07.25
Anti Forensics  (4) 2012.07.20