레이블이 SANS인 게시물을 표시합니다. 모든 게시물 표시
레이블이 SANS인 게시물을 표시합니다. 모든 게시물 표시

2014년 10월 4일 토요일

2014년 8월 28일, "Volatility를 이용한 Memory Forensics" 강연

오늘 두번째로 공개하는 자료는 8월 28일 KISA에서 주관하는 사이버보안인력(K-Shield) 재교육 프로그램 중 하나로 멀웨어 포렌식(Memory Forensics)에서 자주 언급되는 메모리 포렌식(Memory Forensics) 관련 내용을 강의한 자료 입니다.

기본적인 자료는 2013년 가을에 완성하여 올해 1월에 원고 수준으로 완성한 "볼라틸리티(Volatility)를 이용한 메모리 분석 사례" 입니다만, 강의 요청을 받고 예전에 만든 자료를 다시 살펴보니 시기에 맞지 않는 업데이트 된 부분들이 제법 있더군요.

대표적인 부분이 2013년도에 작성 할 때는 백트랙(BackTrack)으로 실습 이미지를 만들었는데, 2014년도로 접어들면서 해당 운영체제가 칼리(Kali)로 대체되었습니다. 이 외에도 강연 자료의 핵심인 메모리 포렌식 도구인 볼라틸리티(Volatility)도 버전이 2.4 업데이트 되었습니다.

그래서 강의자료를 초반을 제외한 실습과 관련된 이미지와 내용들을 포함해서 70% 정도를 새롭게 테스트하고 작성하였습니다.

특히, 실습 이미지와 환경을 디지털 포렌식(Digital Forensics)을 위해 제작된 SANS SIFT 3.0에서 가능하도록 만들었습니다. 그리고 맨드언트(Mandiant)의 레드라인(RedLine)의 업데이트 된 버전 내용도 짧게 나마 다루고 있습니다.

결론적으로, 전체적인 큰 줄거리는 변함이 없지만, 최근에 새롭게 업데이트 된 분석 도구나 환경들을 새롭게 반영하였다는 것이 이번 강의 자료에 특징이라고 할 수 있습니다.



2014년 3월 24일 월요일

디지털 포렌식(Digital Forensics)을 위한 운영체제, SANS SIFT 3.0 공개

일반적으로 디지털 포렌식을 위해서는 분석가의 능력이나 취향에 맞는 다양한 소프트웨어들을 많이 사용합니다. 윈도우 엔지니어인 저의 경우에는 악성코드 분석이나 멀웨어 포렌식(Malware Forensics)을 위해 사용하는 소프트웨어들 대부분이 마이크로소프트(Microsoft)의 윈도우(Windows) 운영체제에서 사용 가능한 것들 입니다.

그래서 일전에 공개한 "메모리 포렌식(Memory Forensic)을 위한 메모리 분석 툴 Mandiant Redline"이나 "볼라틸리티(Volatility)를 이용한 메모리 분석 사례" 블로그 글에서와 같이 윈도우 소프트웨어들이 주를 이루고 있습니다. 물론 그 중에는 백트랙(BackTrack)을 일부 사용하기도 하였지만, 이는 개인적인 연구 작업과 리눅스(Linux)를 익히기 위한 개인적인 취향으로 인한 부분들입니다.

악성코드 분석에서도 역시 "Windows 7에서 Windows XP Mode를 VMWare에 설치 하기" 블로그 글에서와 같이 윈도우 운영체제에 VMWare를 설치하여 분석 작업과 연구를하고 있습니다.

이렇듯 대부분의 악성코드나 취약점 그리고 디지털 포렌식 등을 전문으로 연구 하시는 분들은 특정 운영체제에 제한 받기 보다는 개인적으로 사용하기 편하고 작업 효율이 높은 운영체제를 선택해 사용하고 있습니다.

하지만 특이하게도, 전문적인 보안 대응 및 분석 기술을 강연하는 SANS에서는 별도의 리눅스 기반 운영체제를 제작하여 누구나 사용할 수 있도록 배포하고 있습니다. 그 중에는 악성코드 분석을 위해 제작된 "REMux(Reversing Engineering Malware liux)"와 디지털 포렌식을 위해 제작된 "SIFT(SANS Investigate Forensic Toolkit )"이 존재합니다. 

그래서 SANS에서 교육하는 악성코드 분석 과목과 디지털 포렌식 과목에서는 해당 운영체제를 사용해 분석을 진행하는 내용이 교재에 포함되어 있습니다. 그 중에서 REMux에 대한 이야기는 다음 기회에 실제 악성코드 분석 사례를 이용해 설명하기로 하고 오늘은 SIFT에 대해 이야기 하고자 합니다.

오늘 SANS 블로그 "SANS SIFT 3.0 Virtual Machine Released"을 통해 새로운 3,0 버전의 SIFT 가상화 이미지가 공개되었다는 글을 보게 되었습니다. 우선 이번 3.0 버전의 새로운 기능들로 SANS에서는 다음을 꼽고 있습니다.

Ubuntu LTS 12.04 Base
64 bit base system
Better memory utilization
Auto-DFIR package update and customizations
Latest forensic tools and techniques
VMware Appliance ready to tackle forensics
Cross compatibility between Linux and Windows
Option to install stand-alone via (.iso) or use via VMware Player/Workstation
Expanded Filesystem Support

우선, SIFT 3.0 가상화 이미지를 다운로드 하기 위해서는 위 블로그에 존재하는 링크인 "Download SIFT Workstation VMware Appliance Now - 1.5 GB"를 통해 다운로드 할 수 있습니다. 

다운로드 전에 SANS 계정이 필요한데, 이는 누구나 간단한 정보 입력만으로 만들 수 있습니다. 그 이후에는 간단하게 SIFT 3.0 가상화 이미지를 7Zip으로 압축한 "SIFT Workstation 3.0.7z" 1.44 GB 크기의 파일을 다운로드 할 수 있습니다. 100 MB 광랜을 사용하는 집에서 다운로드하는데 대략 3시간 정도 걸렸던 것 같습니다.

다운로드 한 "SIFT Workstation 3.0.7z" 파일을 적당한 폴더에 압축을 풀고 VMWare를 실행 한 후 아래 이미지와 같이 "File"에서 "Open"을 클릭 합니다.


그리고, "SIFT Workstation 3.0.7z" 압축을 푼 폴더로 이동하여 아래 이미지와 같이 "SIFT Workstation 3.0.vmx" 을 선택 합니다.


선택이 완료되면 VMWare에서는 아래 이미지와 같이 자동으로 새로운 게스트 탭(Guest Tab)을 생성하게 됩니다.


게스트 탭 생성이 완료되었다면 VMWare의 실행(Power On)을 클릭하여 SIFT 3.0 가상화 이미지를 실행 시킵니다. 부팅 과정이 짧게 진행 된 후에는 아래 이미지와 같이 변경된 새로운 SIFT 3.0 로그인 화면이 나타나게 됩니다.


로그인 화면이 나타났다면, SANS 블로그에 공개되어 있는 것과 같이 "sansforensics"의 비밀번호인 "forensics"을 입력하고 로그인을 합니다. 

로그인이 성공하게 되면 아래 이미지와 같이 터미널 창이 생성되어 있는 메인 화면을 볼 수가 있습니다. 사용하는 노트북 화면이 16:9 크기를 지원하는 사양이라 아래 이미지 역시 조금 길어져 보입니다.


앞서 설명한 바와 같이 우분투(Ubuntu) LTS 12.04 커널을 기본으로 하여 SIFT 3.0을 제작하였음으로, 이미 우분투 리눅스에 대한 경험이 있으신 분들은 비교적 빠르게 적응 하실 수 있을 것으로 보입니다.

우선 바탕화면을 살펴보면 총 8개의 PDF 파일이 존재하는데, SANS DFIR(Digital Forensics & Incident Response) 강의 소개와 관련된 PDF 파일인 "Brochure_SANSDFIR.pdf"와 "Poster_Fall_2013_Evidence_Of.pdf"가 있으며, SIFT 3.0을 활용하기 위한 가이드 문서인 "SIFT-Cheat-Sheet.pdf"가 있습니다. 

그 외에 윈도우와 리눅스 명령어를 담은 "windows-to-unix-cheatsheet.pdf", 침해 사고 현장에서 수집해야 될 로그들과 절차에 대한 "log2timeline-cheatsheet.pdf", 네트워크 포렌식을 위한 "network-forensics-cheatsheet.pdf" 그리고 메모리 포렌식을 위한 "Memory Forensics Cheat Sheet .pdf"과 함께 악성코드를 탐지하기 위한 방법론에 대해 다룬 "Memory Forensics Cheat Sheet .pdf"이 있습니다.

간단한게 살펴본 SIFT 3.0은 외형은 이러한 형태이며, 이제는 SIFT 3.0에 포함된 볼라틸리티(Volatility)와 DFF(Digital Forensics Framework)를 간단하게 살펴 보도록 하겠습니다.

우선 화면 왼쪽 상단에 포함된 터미널 아이콘을 클릭하면 아래 이미지와 같이 프롬프트가 생성됩니다. 여기서 간단하게 볼라틸리티의 약어인 "vol"과 도움말 명령인 "-h"을 이용해 SIFT 3.0에 포함된 볼라틸리티의 버전은 2.3.1 임을 알 수가 있습니다.


SIFT 3.0에는 기본적으로 DFF(Digital Forensics Framework)라는 포렌식 프레임워크가 포함되어 있습니다. DFF는 아래 이미지와 같이 왼편 하단에 아이콘이 존재하며 해당 아이콘을 클릭하면 DFF가 실행 됩니다. 


실행 후에는 생성한 메모리 덤프(Memory Dump) 파일과 디스크 이미지(Disk Image) 파일들을 읽어들여서 분석을 진행 할 수 있습니다. 

이상으로 SIFT 3.0에 대해 기본적인 사항들에 대해 살펴 보았습니다. 기본적으로 SIFT 3.0에는 다양한 디지털 포렌식 툴들이 포함되어 있으나, 우분투 리눅스를 이용하다 보니 저와 같이 리눅스에 익숙하지 않은 분들은 사용에 어려운 부분들은 있습니다. 

그래서, 일부 디지털 포렌식 커뮤니티에서는 "WinFE(Windows Forensic Environment)"라는 윈도우 기반의 포렌식 운영체제 제작 방법들을 소개하기도 합니다. WinFE와 관련된 사항들은 다음 기회에 다루어 보기로 하겠습니다.