DOI QR코드

DOI QR Code

Research on Mac OS X Physical Memory Analysis

Mac OS X 물리 메모리 분석에 관한 연구

  • Lee, Kyeong-Sik (Graduate School of Information Management and Security, Korea University) ;
  • Lee, Sang-Jin (Graduate School of Information Management and Security, Korea University)
  • 이경식 (고려대학교 정보경영공학전문대학원) ;
  • 이상진 (고려대학교 정보경영공학전문대학원)
  • Received : 2010.09.29
  • Accepted : 2010.11.05
  • Published : 2011.08.31

Abstract

Physical memory analysis has been an issue on a field of live forensic analysis in digital forensics until now. It is very useful to make the result of analysis more reliable, because record of user behavior and data can be founded on physical memory although process is hided. But most memory analysis focuses on windows based system. Because the diversity of target system to be analyzed rises up, it is very important to analyze physical memory based on other OS, not Windows. Mac OS X, has second market share in Operating System, is operated by loading kernel image to physical memory area. In this paper, We propose a methodology for physical memory analysis on Mac OS X using symbol information in kernel image, and acquire a process information, mounted device information, kernel information, kernel extensions(eg. KEXT) and system call entry for detecting system call hooking. In additional to the methodology, we prove that physical memory analysis is very useful though experimental study.

그간 디지털 포렌식의 활성 시스템 분석 분야의 한 화두는 물리 메모리 이미지 분석이었다. 물리 메모리 분석은 프로세스를 은닉을 하더라도 그 데이터를 물리 메모리에서 확인할 수 있고 메모리에 존재하는 사용자의 행위를 발견할 수 있어 분석 결과의 신뢰성을 높이는 등 디지털 포렌식 분석에 큰 도움이 되고 있다. 하지만 메모리 분석 기술 대부분이 윈도우 운영체제 환경에 초점이 맞추어져 있다. 이는 분석 대상의 다양성을 고려하였을 때 타 운영체제에 대한 메모리 분석이 필요하게 되었음을 의미한다. Mac OS X는 윈도우에 이어 두 번째로 높은 점유율을 가진 운영체제로 부팅 시 커널 이미지를 물리 메모리에 로딩하면서 운영체제가 구동하고 주요 정보를 커널이 관리한다. 본 논문은 Mac OS X의 커널 이미지가 저장하고 있는 심볼 정보를 이용한 물리 메모리 분석 방법을 제안하고, 제안한 내용을 토대로 물리 메모리 이미지에서 프로세스 정보와 마운트된 장치 정보, 커널 버전 정보, 외부 커널 모듈정보(KEXT)와 시스템 콜 목록 정보의 추출 방법을 보인다. 추가적으로 사례 분석을 통해 물리 메모리 분석의 효용성을 입증한다.

Keywords

Acknowledgement

Supported by : 한국연구재단

References

  1. Becher, M, Dornsief, M., and Klein, C.N., "Firewire: all your memory are belong to us," CansetWest 2005, 2005, (cansecwest.com/core05/2005-firewire-cansecwest.pdf).
  2. Amit Singh, "Accessing Kernel Memory on the x86 Version of Mac OS X, 2006", Mac OS X Internals, 2006, (bonus chapter: http://www.osxbook.com/book/ bonus/chapter8/kma/).
  3. Apple, Apple Computer, "Mac OS X Security," pp.13, 2009.
  4. Apple, Apple Computer, "Mac OS X ABI Mach-O File Format Reference," Mac OS X Reference Library, pp.7-10, Feb. 2009.
  5. Intel, Intel, "System Programming Guide, Part1," Intel 64 and IA-32 Architectures Software Developer Manual Volume 3A, pp116-131, Aug. 2007.
  6. Apple Computer, Apple Open Source, http://www.opensource.apple.com/
  7. Python, Python Package: macholib, http://pypi.python.org/pypi/macholib/
  8. Walters, A, Petroni Jr and N. L, "Volatools: Integrating Volatile Memory Forensics into the Digital Inverstigation Process" Black Hat DC, 2007, (www. blackhat.com/presentations/bh-dc-07/Walters/Paper/bh-dc-07-Walters-WP.pdf)
  9. Miller, C. and Dino Dai Zovi, D.A. Mac hacker's handbook, Wiley, pp.342-345, 2009.
  10. Erikson, B., "Runtime Kernel Patching on Mac OS X," Defcon 17, 2009, (http: //defcon.org/images/defcon-17/dc-17-presentations/defcon-17-bosse_eriksson-kernel_patching_on_osx.pdf).
  11. wowie, "Developing MacOSX Kernel Rootkits," Phrack 66, 2009, (www.phrack. org/issues.html?issue=66&id=16).