Study on the API Hooking Method Based on the Windows

윈도우 API 후킹 탐지 방법에 대한 연구

  • Kim, Wan-Kyung (Department of Computer Engineering, Han-nam University) ;
  • Soh, Woo-Young (Department of Computer Engineering, Han-nam University) ;
  • Sung, Kyung (Department of Computer Engineering, Mok-won University)
  • 김완경 (한남대학교 컴퓨터공학과) ;
  • 소우영 (한남대학교 컴퓨터공학과) ;
  • 성경 (목원대학교 컴퓨터공학과)
  • Received : 2009.10.09
  • Accepted : 2009.12.30
  • Published : 2009.12.31

Abstract

Recently, malicious attacks for Windows operate through Window API hooking in the Windows Kernel. This paper presents the API hooking attack and protection techniques based on Windows kernel. Also this paper develops a detection tool for Windows API hooking that enables to detect dll files which are operated in the kernel. Proposed tool can detect behaviors that imports from dll files or exports to dll files such as kernel32.dll, snmpapi.dll, ntdll.dll and advapidll.dll, etc.. Test results show that the tool can check name, location, and behavior of API in testing system.

최근 윈도우 운영체제를 대상으로 하는 악의적인 공격은 윈도우 커널 단에서 동작하는 API를 후킹하여 이루어지고 있다. 본 논문에서는 윈도우 커널 단에서 동작하는 API 후킹 탐지를 위해 여러 후킹 기술과 방어 기술에 대해 연구, 분석한다. 이를 통해 커널 단에서 동작하는 dll파일들을 대상으로 현 시스템에서 동작하고 있는 API들을 탐지하는 윈도우 API 후킹 탐지 도구를 설계 및 개발한다. 제안하는 탐지 도구는 kernel32.dll, snmpai.dll, ntdll.dll 그리고 advapi.dll 등을 대상으로 import와 export 하는 동작을 탐지한다. 해당 도구를 이용한 탐지 결과 현 시스템의 커널 단에서 동작하고 API의 메모리상의 위치와 행위 등을 탐지 할 수 있다.

Keywords

References

  1. "2009년 운영체제별 해킹 사고 피해 분류", 한국인터넷진흥원 인터넷 침해사고 동향 및 분석.
  2. "Rootkit을 이용하는 악성코드", 사이버시큐리티, 2005. 11.
  3. 김재염, "Windows 커널 공격기법의 대응 모델 및 메커니즘에 관한 연구", 경기대학교 박사논문, 2005.
  4. 김준모, 조성제, 황병연, "악성행위 판단 기술", 한국정보처리학회지, 제10권 제2호, 2003.
  5. Bulter Jamie, "Direct Kernel Object Manipulation", 2004.
  6. Rutkowska Joanna, "Advanced Windows 2000 Rootkit Detection Execution Path Analysis", 2003.
  7. Joel Scambray, "Hacking Exposed Windows 2000", McGraw-Hill, 2001.
  8. 정덕영, "Windows 구조와 원리 그리고 Code", 가남사, 2003.
  9. 오선진, "내장형 실시간 시스템을 위한 시간결정적 특성의 테스크 스케줄링", 박사학위논문, 충남대대학원, 2007. 02.
  10. 권용휘, "루트킷, 네 정체를 밝혀라:창과 방패의 이야기", 마이크로소프트웨어 295호, 2008. 5.
  11. Greg Hoglunu, James Butter, "Rootkits:Subvering the Windows Kernel", July 2005.
  12. Jerald Lee, "SSDT Hooking", Nevember 2006.
  13. Chew Keong Tan, "Defeating Kernel Native API Hookers by Direct Service Dispatch Table Restroration", SIG${\wedge}$2 G-TEC Secure Code Study Research Paper. July 2004.
  14. James Bulter, Sherri Sparks, "Windows rootkits of 200S. part one", SecurityFocus, April 2005.
  15. Marcel Wirth, "Simple Pluggable Binary Translator Library in Userspace", Semester Thesis, Laboratory for Software Technology, ETH Zurigh, April 2008.
  16. aditya Kapoor and Admed Sallam, "Rootkits part2: A Technical Primer", McAfee, 2007.
  17. Kwak Taejin, "Attack Native API", DEVGURU, 2004.
  18. 김재명, "The Study of Response model & Mechanism Against Windows Kernel Compromises", 박사학위논문, 경기대학교 대학원, 2008. 2.
  19. Sandeep Kummar and Eugene H. Sopafford, "A Generic Vi견 Scanner in C++", Purdue Univ. Technical Report, 1992.
  20. Francisco Ferdnadez, "Heuristic Engines", 11th International Virus Bulletin Conference. 2001.
  21. Hoglund Greg, "A REAL NT Rootkit, patching the NT Kernel.", Phrack Magazine. September 1999.
  22. Rutkowska Joanna, "Detection Windows Server Compromises with Patchfinder 2". 2004.
  23. George Kurtz, "Hacking Exposed", McGraw-Hill, 2002.
  24. MicroSoft, "Description of the Windows File Protection Feature", 2003.
  25. 김준모, 조성제, 황병연, "악성행위 판단기술", 한국정보처리학회지, 제10권 제 2호, 2003.
  26. Adam Gaydosh, "Windows Rootkits", GSEC Practical Assignment Ver. 1.4. 2004.
  27. Garvey Harlan, "Data Hiding on a Live System". 2004.