KR101042858B1 - 윈도우즈 커널 변조 탐지방법 - Google Patents

윈도우즈 커널 변조 탐지방법 Download PDF

Info

Publication number
KR101042858B1
KR101042858B1 KR1020090090370A KR20090090370A KR101042858B1 KR 101042858 B1 KR101042858 B1 KR 101042858B1 KR 1020090090370 A KR1020090090370 A KR 1020090090370A KR 20090090370 A KR20090090370 A KR 20090090370A KR 101042858 B1 KR101042858 B1 KR 101042858B1
Authority
KR
South Korea
Prior art keywords
driver
function
detection
address
kernel
Prior art date
Application number
KR1020090090370A
Other languages
English (en)
Other versions
KR20110032731A (ko
Inventor
이재홍
Original Assignee
주식회사 잉카인터넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 잉카인터넷 filed Critical 주식회사 잉카인터넷
Priority to KR1020090090370A priority Critical patent/KR101042858B1/ko
Priority to MX2012003344A priority patent/MX2012003344A/es
Priority to CN2010800425779A priority patent/CN102598008A/zh
Priority to JP2012530763A priority patent/JP2013506185A/ja
Priority to CA2774802A priority patent/CA2774802A1/en
Priority to US13/498,113 priority patent/US20120246723A1/en
Priority to PCT/KR2010/005297 priority patent/WO2011037321A2/ko
Priority to BR112012006142A priority patent/BR112012006142A2/pt
Publication of KR20110032731A publication Critical patent/KR20110032731A/ko
Application granted granted Critical
Publication of KR101042858B1 publication Critical patent/KR101042858B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

이 발명은 윈도우즈 커널 중 불변 정보인 시스템모듈인포메이션을 이용하여 커널의 드라이버 및 시스템 변조를 탐지하는 방법에 관한 것이다.
이 발명에 따른 윈도우즈 커널 변조 탐지방법은, 변조탐지 드라이버가 시스템모듈인포메이션으로부터 탐지대상 드라이버의 이름과 시작주소와 끝주소 정보를 읽는 제1단계와, 상기 탐지대상 드라이버의 이름을 이용하여 상기 탐지대상 드라이버의 드라이버 객체가 사용하는 함수를 추출하는 제2단계와, 상기 함수의 인자가 상기 시작주소와 끝주소 사이값이면 상기 탐지대상 드라이버가 변조되지 않은 것으로 인식하고 상기 함수의 인자가 상기 시작주소와 끝주소 사이값이 아니면 상기 탐지대상 드라이버가 변조된 것으로 인식하는 제3단계를 포함한다.
윈도우즈, 커널, 변조, 드라이버, 드라이버객체, 시스템모듈인포메이션

Description

윈도우즈 커널 변조 탐지방법 {detecting method whether Windows kernel is modulated or not}
이 발명은 윈도우즈 커널 변조 탐지방법에 관한 것으로서, 보다 상세하게는 윈도우즈 커널 중 불변 정보인 시스템모듈인포메이션을 이용하여 커널의 드라이버 및 시스템 변조를 탐지하는 방법에 관한 것이다.
일반적으로, 메모리 상에서의 실행 이미지 코드에 대한 변조 행위는 많은 경우 후킹(Hooking)이라는 행위로 일어나게 되며, 일부 해킹 툴(Hacking Tool)에서는 실행 이미지의 원래 동작과 다른 동작을 만들어 내기 위해 임의로 특정 코드를 수정함에 따라 발생된다.
이러한 변조 행위는 실행 이미지가 실제 수행하려는 동작을 조작함으로써, 많은 보안상의 문제를 유발시키게 된다. 예컨대, 악성 프로그램의 경우 특정 실행 이미지에 대한 후킹(Hooking)을 통해 자신을 찾지 못하도록 하는 루트킷(Rootkit)을 형성시킴으로써 실행 이미지에 대한 지속적인 오동작을 유발시킬 수 있다.
윈도우즈 시스템에서의 대표적인 커널 변조 행위로는 드라이버 변조, 시스템 변조 등이 있으며, 상술한 악성 프로그램뿐만 아니라 보안 프로그램도 커널 변조를 통해 다양한 보안 기능을 수행한다.
예컨대, 국내에 서비스중인 키보드 보안 프로그램으로서, 잉카인터넷의 엔프로텍트 키크립트, 소프트캠프의 시큐어 키스트로크, 안철수연구소의 안랩 온라인 시큐리티 마이키디펜스, 킹스정보통신의 케이디펜스 등과 같은 다양한 제품들이 있는데, 이들 대부분의 키보드 보안 프로그램들은 커널을 변조하여 키보드 보안 기능을 수행한다.
즉, 키보드 보안 프로그램들은 윈도우즈 커널을 변조함으로써, 키보드 입력데이터를 후킹하여, 키보드 입력데이터가 정상적인 윈도우즈 처리절차를 따르지 않고 키보드 보안 프로그램이 설정한 처리절차를 따르도록 한다. 이렇게 함으로써, 클라이언트 컴퓨터에 키로거가 설치되어 있더라도 키보드 입력데이터가 정상적인 윈도우즈 처리절차를 따르지 않기 때문에 키로거는 키보드 입력데이터를 읽거나 가로챌 수 없게 된다.
오늘날, 인터넷을 통해 다수의 웹사이트들이 사용자 클라이언트에게 다양한 키보드 보안 프로그램들을 서비스하기 때문에, 대부분의 클라이언트 시스템에는 적어도 2개 이상의 키보드 보안 프로그램이 설치된다. 이와 같이 한 클라이언트 시스템에 다수의 키보드 보안 프로그램이 설치된 경우, 모든 키보드 보안 프로그램이 각각 윈도우즈 커널을 변조하기 때문에 키보드 보안 프로그램간 충돌이 발생함으로써 운영체제의 안정성을 보장할 수 없게 된다.
사실, 키보드 보안 프로그램은 클라이언트 시스템에 키로거가 설치된 경우에만 실행되어도 충분하다. 즉, 키로거가 키보드 처리 관련 커널을 변조한 경우에만 키보드 보안 프로그램이 실행되도록 한다면, 상술한 키보드 보안 프로그램간 충돌은 발생하지 않을 것이다. 그러나, 종래의 키보드 보안 프로그램은 키로거에 의한 커널 변조 여부를 탐지할 수 없기 때문에, 사용자 클라이언트 시스템이 특정 웹사이트에 접속하면 무조건 실행되도록 설정되어 있으며, 이로 인해 키보드 보안 프로그램간 충돌은 필연적으로 발생하게 되는 문제점이 있다.
상술한 종래기술의 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 악성 프로그램에 의한 커널 변조 여부를 탐지하여 사용자에게 보안 위협을 통지하는 방법을 제공하기 위한 것이다.
상술한 목적을 달성하기 위한 이 발명에 따른 커널 변조 탐지방법은, 변조탐지 드라이버가 시스템모듈인포메이션으로부터 탐지대상 드라이버의 이름과 시작주소와 끝주소 정보를 읽는 제1단계와,
상기 탐지대상 드라이버의 이름을 이용하여 상기 탐지대상 드라이버의 드라이버 객체가 사용하는 함수를 추출하는 제2단계와,
상기 함수의 주소가 상기 시작주소와 끝주소 사이값이면 상기 탐지대상 드라이버가 변조되지 않은 것으로 인식하고 상기 함수의 주소가 상기 시작주소와 끝주소 사이값이 아니면 상기 탐지대상 드라이버가 변조된 것으로 인식하는 제3단계를 포함한 것을 특징으로 한다.
이상과 같이 이 발명에 따르면 커널의 시스템모듈인포메이션을 이용하여 커널의 드라이버 및 시스템의 변조 여부를 탐지할 수 있기 때문에 사용자에게 보안 위협을 통지하여 대응할 수 있도록 하는 효과가 있다.
이하, 첨부된 도면을 참조하여 이 발명의 한 실시예에 따른 커널 변조 탐지방법을 상세하게 설명한다.
도 1은 일반적인 윈도우즈 커널 메모리 구조를 도시한 도면이다.
윈도우즈 커널 메모리에는 윈도우즈 운영체제 상에서 실행되는 모든 드라이버들에 관한 정보들이 다양한 형태로 저장된다. 이 윈도우즈 커널 메모리에 저장되는 정보들에는 시스템모듈인포메이션(11), 드라이버객체공간(12), 드라이버이미지공간(PE, Portable Executable 구조체)(13), IDT(Interrupt Descriptor Table)(14), SSDT(System Service Descriptor Table)(16)가 포함된다.
NT 커널(17)은 윈도우즈 커널 메모리 내부에서 일반적으로 사용되는 다양한 데이터 구조체의 관리, 드라이버 로드, 장치 입출력, 시스템 콜 제공 등을 담당한다.
시스템모듈인포메이션(11)에는 현재 로드된 드라이버들의 목록이 저장되는데, 각 드라이버 이미지의 드라이버 이름과, 그 드라이버 이미지가 로드된 장소의 시작주소 및 끝주소 정보가 저장된다.
드라이버객체공간(12)에는 각 드라이버 객체의 함수 테이블이 저장되는데, 임의의 드라이버의 드라이버 객체를 구성하는 함수들이 참조하는 주소값은 해당 드라이버의 드라이버이미지공간(PE 구조체)(13) 내의 주소값이어야 한다.
드라이버이미지공간(PE 구조체)(13)에는 드라이버 파일이 현재 메모리에 로드된 드라이버의 이미지(드라이버 파일이 메모리에 로드된 상태를 이미지라 함)가 저장된다. 드라이버 파일과 드라이버 이미지는 PE 구조체 형태로 구성이 되어 있으며, PE 구조체는 실행 파일의 기계어 위치, 외부 함수 사용 목록(Import Table), 외부 공개 함수 목록(Export Table)의 위치, 해당 파일이 실행 될 수 있는 플랫폼의 종류, 운영체제가 파일을 실행 시킬 때 첫 시작 코드의 위치 등의 정보를 저장한다.
IDT(14)는 인터럽트 핸들러 주소를 저장한다. SSDT(16)는 시스템콜 발생시 각 기능마다 호출해야 하는 루틴의 주소를 저장한다.
키로거를 비롯한 악성 프로그램들은 메모리의 드라이버객체공간(12), 드라이버이미지공간(PE구조체)(13), IDT(14), SSDT(16) 및 훅콜백 등을 변조하여 크랙(crack)을 시도한다. 그러나, 이 악성 프로그램들은 커널의 영역 중 시스템모듈인포메이션(11)은 절대 변조할 수 없다. 만약 시스템모듈인포메이션(11)이 변조되면 운영체제가 오동작하여 시스템이 재부팅된다.
도 2는 윈도우즈 커널 메모리에 로드된 악성 드라이버가 드라이버객체공간의 드라이버객체 함수테이블을 변조한 경우를 도시한 도면이다.
악성 프로그램이 메모리에 로드되면, 해당 악성 프로그램의 실행 드라이버 이미지(악성.sys)도 드라이버이미지공간(PE 구조체)(13)에 로드된다. 또한, 시스템모듈인포메이션(11)에는 해당 악성 드라이버의 이름과 실행 드라이버 이미지가 저장된 장소의 시작주소 및 끝주소가 저장된다. 또한, 해당 악성 드라이버 객체가 사용하는 함수들의 테이블이 드라이버객체공간(12)에 저장되고, 도시되지 않은 IDT와 SSDT 및 드라이버이미지공간(PE 구조체)(13) 그 자체에도 각각 해당되는 정보가 저장된다.
예컨대, 이 컴퓨터시스템에 3개의 드라이버(hello.sys, world.sys, 악성.sys)가 로드된 경우, 각 드라이버 이미지는 드라이버이미지공간(PE 구조체)(13)에 각각 로드되어 저장되고, 시스템모듈인포메이션(11)에는 메모리에 로드된 드라이버 이미지 목록이 저장되는데, 각 드라이버 이미지의 드라이버이름과 시작주소 및 끝주소가 각각 저장된다.
한편, 실제 각 드라이버가 구동되기 위해 필요한 함수들은 드라이버객체공간(12)에 정리되어 저장되는데, 악성 드라이버가 world.sys 드라이버 객체의 임의의 함수가 참조하는 주소값을 악성 드라이버 이미지 내의 주소값으로 변조할 경우, 후킹(hooking)이 발생한다. 예컨대, world.sys 드라이버 객체의 키보드값 처리 함수의 참조 주소값을 악성 드라이버 이미지 내의 주소값(예컨대, 530)으로 변조하면 world.sys 드라이버는 키보드값을 악성 드라이버에게 출력하게 되며, 악성 드라이버 입장에서는 그 키보드값을 가로챌 수 있게 된다.
이 발명은 이와 같이 악성 드라이버가 커널을 변조하였는지 여부를 탐지하는 방법을 제안한다.
이 발명의 커널 변조 탐지 방법은 변조탐지 프로그램으로서 제공되어 사용자 컴퓨터에서 실행된다. 도 3은 도 2의 윈도우즈 커널 메모리에 변조탐지 드라이버가 로드된 상태를 도시한 도면이다.
커널 변조탐지 프로그램이 실행되면, 변조탐지 드라이버 이미지가 드라이버이미지공간(PE 구조체)(13)에 로드되고, 시스템모듈인포메이션(11)에 그 변조탐지 드라이버의 이름과 이미지공간에서의 시작주소 및 끝주소가 저장된다. 아울러, 드라이버객체공간(12)에는 변조탐지 드라이버에서 사용되는 함수 테이블이 저장된다.
이 발명은 이렇게 윈도우즈 커널 메모리에 로드된 변조탐지 드라이버에 의해 구현되는 바, 커널 드라이버의 변조 여부를 탐지한다.
도 4는 이 발명의 한 실시예에 따른 변조탐지 드라이버의 윈도우즈 커널 변조 탐지방법을 도시한 동작 흐름도이다.
먼저, 변조탐지 드라이버는 시스템모듈인포메이션으로부터 드라이버 목록을 읽어오는데, 현재 시스템에서 실행중인 드라이버 이름과 시작주소 및 끝주소 정보를 추출한다(S41).
변조탐지 드라이버는 시스템모듈인포메이션으로부터 읽어온 드라이버 목록 중 탐지대상 드라이버를 설정하고, 탐지대상 드라이버의 시작주소를 변수 i로 설정하고 탐지대상 드라이버의 끝주소를 변수 j로 설정한다(S42).
다음, 변조탐지 드라이버는 탐지대상 드라이버 객체가 사용하는 함수의 인수를 추출한다(S43). 이때, 변조탐지 드라이버는 ObReferenceObject함수, ObReferenceObjectByName함수, ObReferenceObjectByHandle함수, ObReferenceObjectByPointer함수 등을 이용하면 탐지대상 드라이버의 드라이버 객체의 함수테이블이 저장된 위치를 파악할 수 있고, 그 탐지대상 드라이버 객체의 함수 테이블에서 각 함수의 주소를 추출할 수 있게 된다.
변조탐지 드라이버는 단계 S43에서 추출된 주소가 변수 i와 변수 j의 사이값인지를 판단하여(S44), 추출된 주소가 변수 i와 변수 j의 사이값이면 해당 탐지대상 드라이버에는 변조가 발생하지 않은 것으로 판단하고(S45), 모든 드라이버 목록의 변조탐지가 완료되었는지 판단한다(S46).
변조탐지를 수행할 드라이버가 남아 있으면 단계 S42로 진행하여 탐지대상드라이버를 설정하는 과정부터 반복하여 수행하고, 변조탐지를 수행할 드라이버가 남아 있지 않으면 종료한다.
한편, 단계 S44의 판단단계에서, 단계 S43에서 추출된 주소가 변수 i와 변수 j 사이값이 아니면 변조탐지 드라이버는 해당 탐지대상드라이버가 변조된 것으로 인식하고(S47), 사용자에게 해당 실행 프로그램의 변조 사실을 경고한(S48) 후 단계 S46으로 진행한다.
이 발명은 상술한 드라이버 객체의 변조 여부뿐만 아니라 IDT와 드라이버이미지공간(PE 구조체), SSDT, 훅콜백 변조 여부를 탐지할 수 있다.
IDT(14)의 경우, HalGetInterruptVector 함수를 이용하여 탐지대상 디바이스의 인터럽트를 번호를 구하고, asm sidt 명령을 이용하여 해당 탐지대상 디바이스의 IDT를 구한다. 그리고, 그 IDT주소 및 서비스루틴 주소를 검사하면 IDT 변조 여부를 탐지할 수 있다.
드라이버이미지공간(PE 구조체)(13)의 경우, 탐지대상드라이버를 열고, 탐지대상드라이버의 시작부분을 IMAGE_DOS_HEADER 구조체로 설정하고, 그 IMAGE_DOS_HEADER 구조체에서 IMAGE_OPTIONAL_HEADER 구조체 위치를 구하고, IMAGE_OPTIONAL_HEADER 구조체에서 IMAGE_IMPORT_DESCRIPTOR 구조체 위치를 구한다. 그리고, IMAGE_IMPORT_DESCRIPTOR 구조체에 포함된 함수 테이블을 조사하여, 각 함수들의 주소 변조 여부를 확인한다.
SSDT의 경우, KeServiceDescriptorTable에 포함된 함수 주소를 검사하여 변조 여부를 확인한다.
훅콜백의 경우, ObReferenceObject함수, ObReferenceObjectByName함수, ObReferenceObjectByHandle함수, ObReferenceObjectByPointer함수 등을 이용하여 탐지대상 드라이버의 드라이버 객체를 구하고, 구해진 드라이버 객체를 이용하여 디바이스 객체를 구한다. 그리고, 그 디바이스 객체에 포함된 훅콜백 주소를 검사하여 변조 여부를 확인한다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
도 1은 일반적인 윈도우즈 커널 메모리 구조를 도시한 도면,
도 2는 윈도우즈 커널 메모리에 로드된 악성 드라이버가 드라이버객체공간의 드라이버객체 함수테이블을 변조한 경우를 도시한 도면,
도 3은 도 2의 윈도우즈 커널 메모리에 변조탐지 드라이버가 로드된 상태를 도시한 도면,
도 4는 이 발명의 한 실시예에 따른 변조탐지 드라이버의 윈도우즈 커널 변조 탐지방법을 도시한 동작 흐름도이다.

Claims (4)

  1. 변조탐지 드라이버가 시스템모듈인포메이션으로부터 메모리에 로드된 드라이버의 이름과 시작주소와 끝주소 정보가 포함된 드라이버 목록을 읽는 제1단계와,
    상기 변조탐지 드라이버가 상기 시스템모듈인포메이션으로부터 읽은 상기 드라이버 목록 중 탐지대상 드라이버를 선정하는 제2단계와,
    상기 변조탐지 드라이버가 상기 탐지대상 드라이버의 함수테이블이 저장된 위치를 읽는 제3단계와,
    상기 변조탐지 드라이버가 상기 탐지대상 드라이버의 함수테이블로부터 상기 탐지대상 드라이버의 드라이버 객체가 사용하는 함수를 추출하는 제4단계와,
    상기 변조탐지 드라이버가 상기 추출된 함수의 주소가 상기 탐지대상 드라이버의 시작주소와 끝주소 사이값이면 상기 탐지대상 드라이버가 변조되지 않은 것으로 인식하고 상기 추출된 함수의 주소가 상기 시작주소와 끝주소 사이값이 아니면 상기 탐지대상 드라이버가 변조된 것으로 인식하는 제5단계를 포함한 것을 특징으로 하는 윈도우즈 커널 변조 탐지방법.
  2. 제 1 항에 있어서,
    상기 제3단계는 ObReferenceObject함수, ObReferenceObjectByName함수, ObReferenceObjectByHandle함수, ObReferenceObjectByPointer함수 중 하나를 이용한 것을 특징으로 하는 윈도우즈 커널 변조 탐지방법.
  3. 제 1 항에 있어서, 상기 변조탐지 드라이버가 상기 탐지대상 드라이버의 드라이버객체, IDT, PE구조체, SSDT, 훅콜백 변조 여부를 더 탐지하는 것을 특징으로 하는 윈도우즈 커널 변조 탐지방법.
  4. 제 1 항에 있어서, 상기 변조탐지 드라이버는 상기 탐지대상 드라이버가 변조된 것으로 인식하고 사용자에게 상기 탐지대상 드라이버의 실행 프로그램의 변조 사실을 경고하는 것을 특징으로 하는 윈도우즈 커널 변조 탐지방법.
KR1020090090370A 2009-09-24 2009-09-24 윈도우즈 커널 변조 탐지방법 KR101042858B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020090090370A KR101042858B1 (ko) 2009-09-24 2009-09-24 윈도우즈 커널 변조 탐지방법
MX2012003344A MX2012003344A (es) 2009-09-24 2010-08-12 Metodo de busqueda de alteracion de nucleo de windows.
CN2010800425779A CN102598008A (zh) 2009-09-24 2010-08-12 Windows内核改变搜索方法
JP2012530763A JP2013506185A (ja) 2009-09-24 2010-08-12 ウィンドウズ・カーネル改変探知方法
CA2774802A CA2774802A1 (en) 2009-09-24 2010-08-12 Windows kernel alteration searching method
US13/498,113 US20120246723A1 (en) 2009-09-24 2010-08-12 Windows kernel alteration searching method
PCT/KR2010/005297 WO2011037321A2 (ko) 2009-09-24 2010-08-12 윈도우즈 커널 변조 탐지방법
BR112012006142A BR112012006142A2 (pt) 2009-09-24 2010-08-12 método para detectar alteração de kernel de windows.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090090370A KR101042858B1 (ko) 2009-09-24 2009-09-24 윈도우즈 커널 변조 탐지방법

Publications (2)

Publication Number Publication Date
KR20110032731A KR20110032731A (ko) 2011-03-30
KR101042858B1 true KR101042858B1 (ko) 2011-06-20

Family

ID=43796323

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090090370A KR101042858B1 (ko) 2009-09-24 2009-09-24 윈도우즈 커널 변조 탐지방법

Country Status (8)

Country Link
US (1) US20120246723A1 (ko)
JP (1) JP2013506185A (ko)
KR (1) KR101042858B1 (ko)
CN (1) CN102598008A (ko)
BR (1) BR112012006142A2 (ko)
CA (1) CA2774802A1 (ko)
MX (1) MX2012003344A (ko)
WO (1) WO2011037321A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569618B2 (en) * 2013-08-28 2017-02-14 Korea University Research And Business Foundation Server and method for attesting application in smart device using random executable code
US10489185B2 (en) * 2017-03-17 2019-11-26 Nicira, Inc. Hypervisor-assisted approach for locating operating system data structures based on attribute matching
US20180267818A1 (en) * 2017-03-17 2018-09-20 Nicira, Inc. Hypervisor-assisted approach for locating operating system data structures based on notification data
KR102154595B1 (ko) * 2017-12-05 2020-09-10 가톨릭대학교 산학협력단 키보드 소리를 이용한 입력 변조 탐지 장치 및 그 방법
US20240143763A1 (en) * 2022-11-02 2024-05-02 Vmware, Inc. Endpoint incident response from a secure enclave through dynamic insertion of an interrupt

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020052727A1 (en) 2000-10-30 2002-05-02 Barry Bond Kernel emulator for non-native program modules
KR100666562B1 (ko) * 2005-08-11 2007-01-09 주식회사 웨어플러스 커널 드라이버 및 프로세스 보호 방법
KR100762973B1 (ko) 2007-02-07 2007-10-02 (주)노애드 컴퓨터의 악성코드 탐지 및 제거 방법과 그 장치, 그방법을 컴퓨터에서 실행시키기 위한 프로그램 코드를기록한 기록매체
US20090217377A1 (en) 2004-07-07 2009-08-27 Arbaugh William A Method and system for monitoring system memory integrity

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745640B1 (ko) * 2005-08-11 2007-08-02 주식회사 웨어플러스 커널 메모리를 보호하는 방법 및 그 장치
US7644271B1 (en) * 2005-11-07 2010-01-05 Cisco Technology, Inc. Enforcement of security policies for kernel module loading
US20080034350A1 (en) * 2006-04-05 2008-02-07 Conti Gregory R System and Method for Checking the Integrity of Computer Program Code
US7904278B2 (en) * 2006-05-02 2011-03-08 The Johns Hopkins University Methods and system for program execution integrity measurement
EP1912149A1 (en) * 2006-10-09 2008-04-16 Texas Instruments France Monitor mode integrity verification
US8281393B2 (en) * 2006-11-08 2012-10-02 Mcafee, Inc. Method and system for detecting windows rootkit that modifies the kernel mode system service dispatch table
US8364910B2 (en) * 2007-03-08 2013-01-29 Daniel Shawcross Wilkerson Hard object: hardware protection for software objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020052727A1 (en) 2000-10-30 2002-05-02 Barry Bond Kernel emulator for non-native program modules
US20090217377A1 (en) 2004-07-07 2009-08-27 Arbaugh William A Method and system for monitoring system memory integrity
KR100666562B1 (ko) * 2005-08-11 2007-01-09 주식회사 웨어플러스 커널 드라이버 및 프로세스 보호 방법
KR100762973B1 (ko) 2007-02-07 2007-10-02 (주)노애드 컴퓨터의 악성코드 탐지 및 제거 방법과 그 장치, 그방법을 컴퓨터에서 실행시키기 위한 프로그램 코드를기록한 기록매체

Also Published As

Publication number Publication date
BR112012006142A2 (pt) 2016-06-28
WO2011037321A3 (ko) 2011-05-12
KR20110032731A (ko) 2011-03-30
CN102598008A (zh) 2012-07-18
WO2011037321A2 (ko) 2011-03-31
MX2012003344A (es) 2012-07-23
CA2774802A1 (en) 2011-03-31
US20120246723A1 (en) 2012-09-27
JP2013506185A (ja) 2013-02-21

Similar Documents

Publication Publication Date Title
US9846779B2 (en) Detecting a return-oriented programming exploit
US8307435B1 (en) Software object corruption detection
US8621624B2 (en) Apparatus and method for preventing anomaly of application program
US10691800B2 (en) System and method for detection of malicious code in the address space of processes
US20140053267A1 (en) Method for identifying malicious executables
JP5265061B1 (ja) 悪意のあるファイル検査装置及び方法
US9977897B2 (en) System and method for detecting stack pivot programming exploit
US20160142437A1 (en) Method and system for preventing injection-type attacks in a web based operating system
US9659173B2 (en) Method for detecting a malware
US11593473B2 (en) Stack pivot exploit detection and mitigation
KR101042858B1 (ko) 윈도우즈 커널 변조 탐지방법
KR20070118074A (ko) 외래 코드 검출을 위한 시스템 및 방법
US11120124B2 (en) Method for detecting a deviation of a security state of a computing device from a desired security state
KR101646096B1 (ko) 메모리 분석을 통한 비실행 파일의 악성 여부 검사 방법 및 장치
CN111435391A (zh) 自动确定gui中待交互的交互式gui元素的方法和设备
US8707433B1 (en) Fake exception handler detection
US8549631B2 (en) Internet site security system and method thereto
US11263307B2 (en) Systems and methods for detecting and mitigating code injection attacks
US12001545B2 (en) Detecting stack pivots using stack artifact verification
JP2006106956A (ja) ソフトウェアの改竄検出装置及び改竄検出方法
JP5177205B2 (ja) ソフトウェアの改竄防止装置及び改竄防止方法
JP2011048851A (ja) ソフトウェアの改竄検出装置及び改竄検出方法
CN106709552B (zh) 智能卡安全防护方法及装置
KR20160017551A (ko) 어플리케이션 연동 장치 및 방법
CN113569239A (zh) 恶意软件分析方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140626

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180531

Year of fee payment: 8