'컴퓨팅/후킹'에 해당되는 글 2건

  1. 2008/05/25 후킹관련서적 (도서관일련번호) (2)
  2. 2008/05/25 API 후킹 간략한 정리

후킹관련서적 (도서관일련번호)

컴퓨팅/후킹 2008/05/25 15:21
MICROSOFT WINDOWS INTERNALS 제4판 상세보기
MARK E. RUSSINOVICH 지음 | 정보문화사 펴냄
WINDOWS 내부 안내 전문번역서. 이 책은 마이크로소프트 WINDOWS 제품 개발팀과 공동으로 개발한 안내서로 64비트 확장을 포함하여 WINDOWS Server 2003, WINDOWS XP, 그리고 WINDOWS 2000의 운영체제 아키텍처와 내부를 설명한다. 또한 WINDOWS를 구성하고 제어하는 핵심 메커니즘 이해액세스, WINDOWS 보안 모델 탐구커널 디버거와 알고리즘검사Windo ws 가상 메모리와 물리 메모리 관리 방법NTFS의 동작 및 포맷의 이해와 파일

651.26 R969mKg


루트킷: 윈도우 커널 조작의 미학(에이콘 해킹 보안 시리즈 15) 상세보기
그렉 호글런드 지음 | 에이콘출판 펴냄
윈도우 커널 조작의 미학! '에이콘 해킹ㆍ보안' 시리즈, 제15권 『루트킷』. 해커들이 공격하고자 하는 시스템에 지속적이면서도 탐색되지 않은 채로 교묘히 접근할 수 있는 최고의 백도어인 '루트킷(ROOTKITS)'에 대한 전문서다. 이 책은 '루트킷'에 대해 세세하게 설명하면서, 그것을 제작하는 방법, 작동하는 방법 등에 대해 가르쳐준다. '루트킷'에 관한 최고의 전문가라고 할 수 있는 두 저자가 현재까지 쌓아온 기술을

  006 H716rKy


WDF: 윈도우를 위한 차세대 통합 드라이버 개발 모델 상세보기
PENNY ORWICK 지음 | 에이콘출판 펴냄
윈도우를 위한 차세대 통합 드라이버 개발 모델! 윈도우를 위한 차세대 통합 드라이버 개발 모델인 윈도우 드라이버 파운데이션(WDF) 안내서. WDF를 개발자들이 직접 저술한 것이다. 짧은 시간 안에 고품질의 드라이버를 개발할 수 있도록 도와준다. 이 책은 WDF를 사용한 커널 모드나 유저 모드 드라이버를 개발할 수 있도록 구성되어 있다. 최소의 코드로 플러그 앤 플레이 등이 가능한 드라이버를 만들고, I/O 핸들링 코드

 651.26 C229wKb
크리에이티브 커먼즈 라이선스
Creative Commons License

'컴퓨팅 > 후킹' 카테고리의 다른 글

후킹관련서적 (도서관일련번호)  (2) 2008/05/25
API 후킹 간략한 정리  (0) 2008/05/25
Trackback 0 : Comments 2

API 후킹 간략한 정리

컴퓨팅/후킹 2008/05/25 01:16

API Hooking은 크게 유저모드와 커널모드 두가지로 나뉜다.

User-Mode Hooking

  • IAT(Import Address Table) Hooking: IAT 에 적혀있는 API 의 주소를 자신의 함수주소로 바꾸고 자신의 함수 끝에 다시 원래 API 주소로 돌려주는 방식. 가장 일반적으로 바이러스에서 사용하는 기법.

  • Inline Function Hooking (Detour Hooking): 사용할 API 의 첫 5바이트를 자신의 함수주소로 Jmp 하는 코드로 바꾸고 자신의 코드에서 다시 원래 API 의 바뀐 코드를 수정해주고 API 시작위치로 돌려주는 방식. IAT 후킹보다 지능적이여서 찾아내기가 쉽지 않다. 요새 많이 등장한다.


Kernel-Mode Hooking (루트킷)

  • SSDT(System Service Descriptor Table Modification): SSDT 가 가리키는 주소를 후킹 함수의 주소로 바꾸고 그 함수 호출후 다시 원래 커널 API 의 주소로 돌려주는 기법. 50% 이상의 루트킷이 사용하는 기법. 이런 기법은 프로세스, 파일의 은폐에 많이 사용됨.

  • DKOM(Direct Kernel Object Modification): 커널 Object 를 직접 조작해서 실행되는 프로세스, 스레드, 서비스, 포트, 드라이버 및 핸들의 Entry 를 실행리스트(PsActiveProcessHead, PsActiveModuleHead....)에서 감추는 기법.

  • SYSENTER: 유저모드에서 시스템 호출로 넘어갈때 INT 2E(for Windows 2000)/ SYSENTER 를 사용하게 되는데 호출후 시스템 서비스의 핸들러는 IA32_SYSENTER_EIP 라는 레지스터리에 저장된다. 커널 드라이버를 설치하여 해당 값을 수정하여 루트킷을 호출하고 다시 원래 값으로 돌려주는 기법.

  • Filter Device Drivers: 시큐리티 제품의 하단에 filter device driver 로 등록하는 기법이다. 부트 타임에 로드됨으로써 다른 어떤 안티바이러스 제품보다 먼저 실행된다.

  • Runtime Detour Patching: 커널 메모리를 직접 조작함으로써 그 메모리의 포인터가 루트킷을 가르키게 함으로써 커널 함수들을 후킹하는 기법. 예를 들면 Exception 을 일으키고 Exception Handle 을 컨트롤하는 IDT 레지스터를 자신을 가리키는 주소로 써줌으로써 후킹목적을 달성한다.

  • IRP table Modification: 디바이스 드라이버가 네트웍 패킷을 처리하거나 파일을 쓸때 사용하는 I/O Request Packets 을 제어하는 Dispatch Routine 은 DEVICE_OBJECT 구조체에 저장된다. 바이러스에서 사용하는 루트킷은 IoGetDeviceObjectPointer 란 API를 사용하여 DEVICE_OBJECT 구조체에서 DRIVER_OBJECT 의 위치를 선정해줄수 있다.
    즉 다른 Original Driver Call 이 일어나기 전에 자신의 루트킷을 먼저 실행하여 Call 결과를 조작한다.

     

크리에이티브 커먼즈 라이선스
Creative Commons License

'컴퓨팅 > 후킹' 카테고리의 다른 글

후킹관련서적 (도서관일련번호)  (2) 2008/05/25
API 후킹 간략한 정리  (0) 2008/05/25
tags : 후킹
Trackback 0 : Comment 0