2013년 8월 29일 목요일

2008년 팀 내부 세미나 발표 "Windows Vista Security"

이제 2008년도 자료까지 진행되었네요. 아무래도 2007년도에 이래 저래 바쁜 일들이 많아서 자료들을 많이 작성하고 정리하지 못 했던 것들이 큰 이유였다고 기억 되네요.

오늘 공유하는 자료는 2008년 3월에 팀 내부 세미나 용도로 제작한 자료로  "Windows Vista Security"에 대해서 다루고 있습니다.

이 당시 개인적인 용도와 회사 업무 용도로든 대부분의 시스템에서 윈도우 XP를 사용하고 있던 상황에서 윈도우 비스타의 등장은 변화되고 추가된 다양한 기능들로 인해 큰 충격이었습니다. 하지만 그 충격 만큼이나 판매 실적도 저조 했습니다.

이러한 큰 변화들이 지금이야 윈도우 7이 보편화되어 UAC(User Account Control)나 윈도우 디펜더(Windows Defender)가 어색하지 않지만, 이 당시만 하더라도 윈도우 XP에서 모든 권한으로 프로그램과 파일을 실행 하던 대부분의 사람들에게는 어색함과 불편함이 가장 컸었습니다.

그래서, 개인적인 궁금함도 있었지만 변화된 윈도우 운영체제 속에서 악성코드를 어떻게 탐지하고 방어를 하게 될 것인지에 대한 주요 기능들을 살펴봐야 된다는 생각이 세미나를 준비하게 되었습니다.

지금 다시 살펴보아도 윈도우 비스타에 포함되어 있는 기본적인 큰 골격의 보안 기능들은 윈도우 7과 8에도 이어지고 있어, 히스토리적인 면에서 아직 유용할 것 같습니다.

해당 슬라이드에서 포함하고 있는 내용은 다음과 같습니다.

1. 윈도우 비스타의 보안 개념
2. 윈도우 비스타의 새로운 보안 기능
3. 윈도우 비스타의 설계적 보안 기능
4. 사용자 계정 컨트롤
5. 윈도우 디펜더
6. 인터넷 익스플로러의 보안 기능
7. 비트락커
8. 코드 무결성와 윈도우 리소스 보호
9. 커널 패치 보호와 드라이버 서명 요구
10. 윈도우 서비스 강화와 데이터 실행 방지
11. 주소 영역 난소화
12. 윈도우 비스타의 악성코드 대응



2013년 8월 14일 수요일

메모리 포렌식(Memory Forensic)을 위한 메모리 분석 툴 Mandiant Redline

컴퓨터 포렌식 중에서도 멀웨어 포렌식(Malware Forensic) 분야를 기법적인 면을 기준으로 본다면 크게 4가지 정도로 나눌 수 있다고 보여집니다.

첫 번째가 메모리 포렌식(Memory Forensic)으로서 램(RAM)에 존재하는 악성코드 감염과 관련된 다양한 흔적(네트워크 접속 정보 및 프로세스 정보 등)들을 분석하는 것입니다. 

두번째로는 레지스트리 포렌식(Registry Forensic) 입니다. 일반적으로 거의 대부분의 악성코드들(일부 그렇지 않은 악성코드들도 존재 합니다.)은 감염된 시스템이 재부팅을 하거나 시스템 사용자가 특정 행위를 수행 하였을 때 악성코드 자신이 실행되기 위하여 윈도우 시스템의 레지스트리에 새로운 키(Key)를 생성 및 변경 하게 됩니다. 

특정 악성코드의 경우에는 윈도우 XP에 존재하는 안전모드 부팅(Safe Mode Booting) 관련 레지스트리를 삭제하여 안전모드 부팅을 방해하기도 합니다.

세번째로 인터넷 포렌식(Internet Forensic) 입니다. 이메일(E-Mail), 메신저(Instant Messenger)  그리고 웹 브라우저(Web Browser)와 같이 인터넷 활동과 관련된 어플리케이션(Applications)으로 인해 악성코드에 감염되는 사례들이 다수를 차지하고 있습니다. 이러한 경우에는 인터넷 관련 어플리케이션들의 행위를 분석하는 것만으로도 의외로 쉽게 악성코드의 감염 경로를 파악 할 수 있습니다.

최근 수행한 멀웨어 포렌식의 대상은 방송 관련 업무를 하시는 분들의 노트북들이었습니다. 분석을 하는 과정에서 1대의 노트북에서 악성코드 감염으로 인해 안랩(AhnLab)의 전용백신으로 진단, 치료 하였던 흔적을 발견 할 수가 있었습니다. 

결론적으로 그 악성코드의 감염 경로는 웹 브라우저 취약점을 악용한 중국산 웹 익스플로잇 킷(Web Exploit Kit)인 공다(GongDa)에 의해서 였으며, 이러한 감염 경로를 파악하는데 결정적인 역할을 한 것이 바로 인터넷 포렌식과 레지스트리 포렌식 기법의 복합적인 사용이었습니다.

그리고 마지막으로 디스크 포렌식(Disk Forensic) 입니다. 이는 전통적인 컴퓨터 포렌식에서 이야기하는 디스크 이미징(Disk Imaging) 이 후 엔케이스(EnCase)나 FTK와 같은 분석 툴을 이용해 디스크 전체를 분석하는 과정 입니다.

그 중 오늘 이야기 할 주제는 첫번째인 메모리 포렌식을 할 경우에 무료로 사용할 수 있도록 맨디언트(Mandiant)에서 개발한 레드라인(Redline)이라는 메모리 분석 툴입니다.

메모리 분석 관련 툴들 중에서 많이 사용되는 것으로 오픈소스(Open Source) 인 볼라틸리티(Volatility)와 커맨드라인(Command-Line) 형태로 동작하는 맨디언트의 메모라이즈(Memoryze)가 존재 합니다. 그래서 컴퓨터 포렌식이나 멀웨어 포렌식 관련 서적들에서는 위 2가지 툴에 대해 빼놓지 않고 언급 하고 있습니다.

위에서 언급한 2개의 메모리 분석 툴은 여러가지 장점들로 인해 일반적으로 많이 사용되는 툴들이며, 분석 과정에서 오류가 없다는 것을 인정을 받았습니다. 하지만 악성코드 감염으로 인해 침해사고가 발생하여 신속하게 실시간 대응(Live Response)를 진행해야 되는 상황에서 앞서 언급한 2개의 메모리 분석툴들은 모두 커맨드 라인 형태를 가지고 있어 조금 불편함이 존재합니다.

이러한 관점에서 본다면 레드라인은 맨드언트에서 언급한 문구인 "Accelerated Live Response"와 같이 신속하게 메모리 분석을 진행 할 수 있도록 도와주는 GUI 기반의 툴입니다.

레드라인을 설치하고 실행을 하기 위해서는 설치 대상이 되는 시스템에 닷넷 프레임워크(.Net Framework) 4.0 을 필요로 합니다. 그래서 이를 설치하고 맨드언트에서 무료로 제공하는 레드라인 설치 파일인 Redline-1.9.2.msi (56,139,776 바이트)을 설치합니다.

설치가 완료되고 레드라인을 실행하면 맨디언트사 특유의 붉은 색이 주를 이루는 GUI를 볼 수가 있습니다.


레드라인은 메모리 분석을 위한 툴이기도 하지만, 이와 함께 침해 사고가 의심되는 컴퓨터 시스템에서 메모리 덤프(Memory Dump)를 제작 할 수 있는 기능도 포함되어 있습니다. 하지만 닷넷 프레임워크를 필요로 한다는 점에서 이 기능이 그렇게 활용 가능성이 높다고 보기 어려울 것 같습니다.

레드라인을 테스트 해보기 위해 기존에 제작해둔 악성코드 감염 시스템에서 생성한 메모리 덤프 파일들을 레드라인으로 분석을 진행 해봤습니다.

약 130 MB의 메모리 덤프 파일을 레드라인에서 읽어들이는 과정에서 시간 소요가 조금은 필요 했습니다. 이는 기존에 사용되던 메모라이즈에 포함되어 있던 모든 기능들을 레드라인에 포함시켜 이를 활용하는 과정에서 시간 소요가 발생하는 것으로 보여집니다.

130 MB의 메모리 덤프에서 사용자가 체감할 정도의 시간 소요가 발생 했다는 점에서 최근에 사용되는 윈도우 시스템의 메모리가 대부분이 2, 3 GB가 넘는 것을 감안 할 경우, 실제 침해 사고 발생 시스템의 메모리 분석시에는 더 긴 시간 소요가 필요 할 것으로 보여집니다.

기본적으로 레드라인에서 제공하는 메모리 분석 기능은 기존 맨디언트에서 제공하는 커맨드 라인 메모리 분석 툴인 메모라이즈에서 제공하는 기능들을 모두 포함하고 있습니다. 

그리고 여기에다 MRI(Mandiant for Intelligent Response)라는 기능이 추가 되어 있습니다. 이 MRI 기능은 메모리 분석 과정에서 프로세스(Process)나 핸들(Handle) 등에서 악성코드와 관련 있는 의심스러운 아티팩트(Artifact)를 발견하게 될 경우 붉은 색으로 표기를 해줍니다.

아래 이미지는 Oficla(a.k.a Sasfis)에 감염된 윈도우 XP 시스템에서 생성한 메모리 덤프 파일들을 분석한 내용입니다. 

붉은 색으로 표기된 MRI가 존재하는 svchost.exe는 정상 윈도우 시스템 프로세스입니다만, Oficla가 자신의 코드를 임의로 svchost의 메모리 영역에 코드 인젝션(Code Injection)을 수행한 상태입니다. 


결론적으로 코드 인젝션이 발생한 svchost.exe에 MRI가 표기 되었다는 점에서 레드라인이 Oficla 악성코드 감염 흔적을 메모리에서 발견했다라고 생각 해볼 수 있습니다.

그리고 다른 메모리 분석 툴에서 제공하지 않는 타임라인(TimeLine) 분석 기능을 제공 합니다.이 타임라인 분석 기능은 아래 이미지에서와 같이 메모리에 존재하는 정보들을 조합하여 시간 순서로 정렬하여 보여줍니다.

그래서 아래 이미지와 같이 악성코드의 코드 인젝션이 발생한 svchost.exe가 실행 된 시간을 기준으로 대략 이 시점 이전에 해당 시스템으로 악성코드가 유입되어 감염이 발생하였다는 것을 판단 할 수 있습니다.


이렇게 간편하고 빠르게 메모리 분석을 수행 할 수 있도록 도와주는 장점을 가진 레드라인은 MRI라는 기능으로 인해 더 신속하게 악성코드로 의심되는 메모리 영역과 파일을 판단 할 수가 있습니다.

이 MRI라는 기능의 알고리즘이 어떻게 제작되었는지 멘디언트에서 공개하지 않아 알 수가 없어 쉽게 판단을 할 수가 없습니다만, 다른 악성코드 감염 시스템에서 제작한 메모리 덤프들로 테스트를 하는 과정에서 일부 악성코드와 관련된 메모리 정보들을 MRI가 붉은 색으로 표기 해주지는 못하는 것을 확인 하였습니다.

그러므로, MRI의 붉은 색 표기만을 전적으로 신뢰하기 보다는 이 정보는 참고용으로 사용하고, 분석가의 경험과 역량이 더 중요하게 적용된다는 점을 생각해야 됩니다.

그리고, 오픈소스와 파이선(Python)의 장점들을 모두 가진 볼라틸리티와 비교를 한다면 향후 확장성과 성능 개선이라는 면에서는 발전이 빠르지는 않을 것으로 보여집니다. 하지만 경험이 풍부한 침해 사고 대응 전문 업체에서 제작한 메모리 분석 툴임으로 오픈소스와는 또 다른 분석 기능을 보여줄 것으로 기대 됩니다.

이러한 장, 단점을 고려해두고 신속하게 메모리 분석을 수행하여야 되는 경우에 레드라인을 사용한다면 조금 더 편하고 빠르게 메모리 분석을 진행 할 수 있을 것으로 생각 됩니다.

2013년 8월 12일 월요일

2007년 6월 악성코드 최신 동향과 대응

벌써 8월도 중순을 향해서 가고 있고, 날씨는 습하면서도 더운 것이 아침 저녁으로 출퇴근 길이 편하지만은 않군요.

오늘 공개하는 강연 자료는 2007년 6월 고객사들을 대상으로 기술 지원을 담당하시는 분들을 모시고 2007년 상반기 보안 위협 동향들과 특징들을 살펴보는 자리를 가졌었습니다.

여기에서 발표된 내용은 다음과 같은 목차를 가지고 있습니다.

1) 2007년 상반기 악성코드 동향

2) 2007년 상반기 악성코드 유형별 동향

3) 2007년 상반기 주요 악성코드 기법과 대응

4) 레트로(Retro) 바이러스





2013년 8월 6일 화요일

2007년 3월 중국 IT 문화와 해커

어느 덧 8월입니다. 이 블로그를 오픈 한지도 1주년이 다 되어 가고 시간이 참 빠르게 흘러가는 것 같은데, 읽어야 될 책들과 다루어 보고 싶은 주제의 기술들은 많아서 이래 저래 아쉽다는 생각이 많이 듭니다.

작년 이 맘 때에는 지산 록 밸리 록 페스티벌에도 다녀오고 인천 펜타포트 록 페스티벌에도 다녀오느라 나름 즐거운 시간들을 보내었느데 올해는 그러지를 못 해서 조금은 아쉽네요. 그래도 저를 닮은 아기와 시간을 보내는 것도 즐거운 일들이라 이런 아쉬움을 조금이나 달랠 수가 있었습니다. 그래도 아내의 허락으로 메탈리카(Metallica)가 메인 무대를 장식하는 현대카드 슈퍼콘서트19 시티브레이크에는 하루 정도 다녀 올 수 있을 것 같아 기대가 큽니다.

오늘 공개하는 강연 자료는 2007년 3월 국가사이버안전센터(NCSC)에서 주관한 내부 세미나에서 강연한 중국 IT 문화와 해커라는 주제 입니다.

해당 강연을 진행 할 당시 중국발 악성코드가 큰 이슈들 중 하나인지라, 정부 기관에서도 이러한 악성코드를 제작하고, 취약한 국내 웹 사이트들을 해킹하는 중국 언더그라운드 해커들에 대해 관심이 많았던 시기였습니다.

그래서 몇 년에 걸쳐 연구하고 조사한 중국 언더그라운드 해커들에 대한 특징과 조직들에 대한 자료를 1시간에 걸쳐 강연할 기회가 있었습니다.

강연 자료는 다음과 같은 목차로 구성 되어 있습니다.

1. 중국의 환경과 IT 문화
2. 중국 해커의 기원과 분류
3. 주요 해커 그룹
4. 중국 동향 분석 방안