바로사채의 블로그입니다.

Linux Memory Analysis 본문

보안/Forensic Labs

Linux Memory Analysis

바로사채 2020. 1. 19. 23:47
반응형

메모리 분석에 있어서 가장 최고의 입문서이자 닳고 닳을 때까지 (물론 최신판이 나오면) 봐야 할 책은 바로 이거 아닌가 싶다.

메모리 분석할려면 정독요망 (난 열외)

사실 전 직장에서도 큰 형님께서 꼭 읽어보라 강추했지만, 두께의 압박으로, 현장박치기(!)로 승부하겠다는 생각에 클라우드 속에 저장? 만 하고 있는 현실이지만...

늙은 꼰대의 주책처럼 보이겠지만 파일 없는 악성코드라는 건 뭐 요즘 새로 나온 트렌드도 아니고 수년 전부터 그래 왔다. 그러다 보니 메모리 덤프 안 뜨고 분석하라고 하면, 마치 존재하지도 않는 꿈의 1군이 출전하지 않는 일본 축구 경기 같은 느낌의 침해대응이 될 것이라고 자신한다.  메모리 수집되지 않은 채로 분석을 한다는 건 꽤 많은 걸 놓고 시작하는 거라고 본다.

윈도즈 메모리 덤프라면야 아래의 똘똘한 툴을 CLI환경에서 스크립트로 돌려서 받으면 대부분의 문제는 해결되지 않나 싶다.

 

 

 

1. Winpmem http://forensic.korea.ac.kr/DFWIKI/index.php/WinPmem

 

WinPmem - Digital Forensic Wikipedia

WinPmem은 Michael Cohen의 메모리 획득 도구로써 Windows XP SP2 이상에서 실행 가능하다. 오픈소스이며 현재는 rekall이라는 포렌식 도구에 탑재 되어있다. 다운로드는 웹페이지 (https://github.com/google/rekall/releases) 에서 rekall 전체의 소스코드를 다운로드 할 수 있으며 tools/windows/winpmem에서 winpmem의 소스코드를 확인할 수 있다. tools/linux에서 li

forensic.korea.ac.kr

2. Rekall https://cpuu.postype.com/post/763901

 

Rekall Memory Forensic Framework 소개

예전부터 눈여겨오던 프로젝트가 있었다. 바로 Google 의 Rekall 프레임워크이다. 시간이 없어서 계속 포스팅을 나중으로 미루다가, 내일 모레 정보보호학회 논문 발표를 앞두고 너무나 발표준비하기가 싫어서(?) ㅋㅋ 딴짓을 하고 있다. 모두들 알다시피 메모리 포렌식 분야의 사실상의 표준(de facto standard)는 Volatility 이다. 원래...

cpuu.postype.com

3. FTK Imager Lite http://vcodispot.com/ram-acquisition-ftk-imager-volatility/

 

RAM Acquisition FTK imager and Volatility - Threat Analysis

RAM Acquisition using FTK imager and Volatility. Capture volatile data from a live Windows machine. memdump.mem pagefile.sys hiberfile.sys. Trace malware.

vcodispot.com

 건방지게 말하자면, 윈도즈 계열의 머신이라면 3번으로 뚝딱 해결할 수 있을 거라고 본다. 물론 세밀한 부분에서 완벽한 것은 아니지만 가볍고 어디서나 바로 주워서 사용할 수 있는 툴이라서 심지어는 초심자에게도 전화로 설명해가면서 덤프를 내려받을 수 있다. (물론 초심자라 함은 컴퓨터 초심자가 아니고... 정보보안 초심자쯤으로 생각해주시길...)

 

근데 원래 하고싶었던 이야긴 리눅스 메모리 분석이다...

난도가 높은 건, 단지 덤프를 내려받는 과정의 문제가 아니라, 프로파일부터 내려받아야 한다. (분석에 사용할 툴에 맞춰서 프로파일도 만들어야 하는 게 아닌가 현시점에선 판단이 어렵지만....)

이분의 블로그에서 리눅스 메모리 추출과 분석의 일련의 과정에 대한 많은 도움을 받고 있지만, 실제 현장에서는 여러 조건들이 겹쳐서 공들인 시간에 비해 성과가(!) 모자란 부분이다. 사고 현장에서 고객사 리눅스 머신... 대부분 실제 사용 중인 서버인 경우가 많아서 뭔가를 새로 설치하는 것도 어려울뿐더러 외부망에 직접 연결되어 있지 않은 경우도 있어서 프로파일이고 뭐가 대상 머신에서 만들기 어렵다. (물론 가상 머신에서 동일 버전(커널 포함)을 내려받아서 설치를 하고 프로파일을 생성하는 경우도 있지만.... 지금까지 경험상 어느 하나의 메모리 덤프 툴도 한큐(!)에 성공하는 건 참 어려운 일이었다는 점이다...

https://cpuu.postype.com/post/665132

 

Linux 메모리 분석을 위한 프로파일 생성하기

지난 번 글에서, 리눅스 운영체제 상에서 메모리를 포렌식분석할 때 프로파일이 필요하다는 점을 설명하였다. (참고 : 리눅스 메모리 분석시 프로파일 설정) 기본적으로 볼라틸리티를 설치하면 윈도우 관련 프로파일만 포함되어 있으며, 리눅스 쪽은 직접 구해야 한다. 다행히도 볼라틸리티 개발자들은 Github를 통해 많은 프로파일을 제공하고 있다. 그럼에도 불구하고...

cpuu.postype.com

 

아래 링크에 보면 다양한 리눅스 버전에 맞는 프로파일을 제공하고 있다. 이를 이용해서 분석 툴인  Volatility에서 적절한 추출이 가능해진다고 하지만, 커널 버전의 변화에 따라서 프로파일에도 변화가 오기 때문에 한계는 있다. 

https://github.com/volatilityfoundation/profiles

 

volatilityfoundation/profiles

Volatility profiles for Linux and Mac OS X. Contribute to volatilityfoundation/profiles development by creating an account on GitHub.

github.com

 

귀차니스트를 위한 (그렇다고 획기적으로 심플해지지는 못한...) GUI형태의 2.6.1 버전도 있고.. (나름 굴려보면 맥 OS용 프로파일에 제법 만들어져 있다 ㅋㅋ, 플러그인 폴더 안의 텍스트 파일을 잘 찾아볼 것... 아직 해보진 못...)

https://www.osforensics.com/tools/volatility-workbench.html

 

Volatility Workbench - A GUI for Volatility memory forensics

Volatility Workbench is a graphical user interface (GUI) for the Volatility tool. Volatility is a command line memory analysis and forensics tool for extracting artifacts from memory dumps. Volatility Workbench is free, open source and runs in Windows. It

www.osforensics.com

 

아직까지는 RHEL, Ubuntu, CentOS 정도만 해봤지만, 프로파일을 깃헙에서 받아서 성공해본 적이 없.... 다;;;

대부분 다시 대상 머신에서 내려받거나(당시에 혹은 나중에;;;) 혹은 가상 머신에서 동일 커널로 설치 삽질 후에 뽑아내거나 하는 식인데... 요즘 들어 리눅스 메모리 분석의 수요(?)가 증가 중인 마당이라 공부 좀 더 해야 하지 싶다...

 

사족을 하나 달자면, 있는 집 자제들이 애용(!)하는 Axiom이라면 이렇게 편하게 쓸수도 있다. ㅋㅋ

https://www.magnetforensics.com/blog/magnet-axiom-memory-analysis-faq/

 

Answering Some Questions about Memory Analysis in Magnet AXIOM - Magnet Forensics

The integration of Volatility into AXIOM should be familiar to anyone who has used both them before but if you haven’t used Volatility in the past, here are a few tips and tricks on the workflow to help you get started.

www.magnetforensics.com