KR100762973B1 - Method and apparatus for detecting and deleting a virus code, and information storage medium storing a program thereof - Google Patents
Method and apparatus for detecting and deleting a virus code, and information storage medium storing a program thereof Download PDFInfo
- Publication number
- KR100762973B1 KR100762973B1 KR1020070012895A KR20070012895A KR100762973B1 KR 100762973 B1 KR100762973 B1 KR 100762973B1 KR 1020070012895 A KR1020070012895 A KR 1020070012895A KR 20070012895 A KR20070012895 A KR 20070012895A KR 100762973 B1 KR100762973 B1 KR 100762973B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- program
- driver
- removal
- information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
Abstract
Description
도 1은 악성 프로그램 감염전 일반 프로그램의 실행과정과, 악성코드에 감염된 경우 일반 프로그램 실행과정을 설명하기 위한 참조도,1 is a reference diagram for explaining a process of executing a general program before a malicious program infection and a process of executing a general program when infected with a malicious code;
도 2는 본 발명의 일실시예에 따른 악성코드 탐지 및 제거 프로그램의 실행과정을 설명하기 위한 참조도,2 is a reference diagram for explaining a process of executing a malware detection and removal program according to an embodiment of the present invention;
도 3은 본 발명의 일실시예에 따른 악성코드 탐지 및 제거장치의 구성도,3 is a block diagram of an apparatus for detecting and removing malicious codes according to an embodiment of the present invention;
도 4는 본 발명의 일실시예에 따른 악성코드 탐지 및 제거방법의 흐름도이다.4 is a flowchart illustrating a method for detecting and removing malware according to an embodiment of the present invention.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
110 : 일반 프로그램 120 : DLL110: general program 120: DLL
130 : 시스템 서비스 실행 테이블 140 : 실행함수코드 저장부130: system service execution table 140: execution function code storage unit
150 : 악성코드 210 : 악성코드탐지 및 제거 프로그램150: malware 210: malware detection and removal program
220 : 악성코드탐지 및 제거 드라이버220: malware detection and removal driver
본 발명은 컴퓨터에 감염된 악성 코드의 탐지 및 제거에 관한 것으로, 보다 상세하게는 시스템 서비스 실행 테이블과 별개로 컴퓨터 시스템의 제어에 필요한 필수 실행코드에 관한 정보를 기록한 드라이버를 만들고 이를 이용하여 악성 코드를 탐지하고 제거하는 악성 코드 탐지 및 제거방법과 그 장치, 그 방법을 컴퓨터에서 실행시키기 위한 프로그램 코드를 기록한 기록매체에 관한 것이다.The present invention relates to the detection and removal of malicious code infected with a computer, and more particularly, to create a driver that records information about essential executable code necessary for control of a computer system separately from a system service execution table and to use the malware The present invention relates to a method for detecting and removing malicious code and a device thereof, and a recording medium having recorded thereon program code for executing the method on a computer.
일반적으로 악성 코드란, 불법적인 방법으로 사용자 컴퓨터에 설치되어 상업적인 용도로 활용되는 것으로, 각종 팝업광고, 키워드/URL(Uniform Resource Locator) 가로채기, 시작 페이지 강제 고정, 사용자 컴퓨터를 통한 스팸메일 발송 등 각종 불법적인 활동을 자행하여 사용자들에게 피해를 주는 프로그램을 말한다. 한편 애드웨어(adware)는, 악성코드와 달리 불법적이지는 않지만 광고 프로그램을 사용자 컴퓨터에 설치하여 각종 광고를 사용자 의사와 무관하게 전송하여 사용자 시스템에 영향을 주거나 사용자 권리를 제한하는 프로그램을 말한다.In general, malicious codes are illegally installed on a user's computer and used for commercial purposes. They include various pop-up advertisements, hijacking keyword / URL (Uniform Resource Locator), compulsory start page, and sending spam mail through the user's computer. It refers to a program that harms users by performing various illegal activities. On the other hand, adware, unlike malicious code, refers to a program that installs an advertisement program on a user's computer and transmits various advertisements irrespective of the user's intention, thereby affecting the user system or restricting user rights.
또한 루트킷(rootkit)은 시스템에 칩입한 후 백도어(backdoor)나 트로이 목마를 심거나 칩입흔적을 숨기기 위한 도구 모음이다. 따라서 본 발명에서 탐지되고 제거되는 악성 코드는 본래 의미의 악성 코드뿐만 아니라 애드웨어 및 루트킷까지도 포함된다.Rootkits are also a collection of tools for planting backdoors or Trojan horses or hiding traces of chips after they have been inserted into the system. Therefore, the malicious code detected and removed in the present invention includes not only malicious code in its original meaning, but also adware and rootkits.
한편, 컴퓨터의 부팅시 메모리에 먼저 커널(kernel)이 로딩되고 이후 여러 가지 드라이버(driver)와 애플리케이션 프로그램이 로딩된다. 커널은 운영체제의 가장 중요한 핵심으로서, 운영체제의 다른 모든 부분에 여러 가지 기본적인 서비스를 제공한다. 일반적으로, 커널에는 종료된 입출력 연산 등, 커널의 서비스를 경쟁적으로 요구하는 모든 요청들을 처리하는 인터럽트 처리기와, 어떤 프로그램들이 어떤 순서로 커널의 처리시간을 공유할 것인지를 결정하는 스케줄러, 그리고 스케줄이 끝나면 실제로 각 프로세스들에게 컴퓨터의 사용권을 부여하는 수퍼바이저 등이 포함되어 있다. Meanwhile, when a computer boots, a kernel is first loaded into memory, and then various drivers and application programs are loaded. The kernel is the most important core of the operating system, providing several basic services to all other parts of the operating system. In general, the kernel has an interrupt handler that handles all requests that competitively require the services of the kernel, such as terminated I / O operations, a scheduler that determines which programs share the kernel's processing time, and in what order. After that, it actually includes a supervisor that gives each process a license to the computer.
커널은 또한, 메모리나 저장장치 내에서 운영체제의 주소공간을 관리하고, 이들을 모든 주변장치들과 커널의 서비스들을 사용하는 다른 사용자들에게 고루 나누어주는 메모리 관리자를 가지고 있다. 커널의 서비스는 운영체제의 다른 부분이나, 흔히 시스템 호출이라고 알려진 일련의 프로그램 인터페이스들을 통해 요청된다. 커널 레벨에서 접근되고 실행되는 모드를 커널 모드(kernel mode)라고 하고 응용 프로그램과 같이 사용자 응용 프로그램이 실행되는 모드를 유저 모드(user mode)라고 한다.The kernel also has a memory manager that manages the operating system's address space in memory or storage and distributes it to all peripherals and other users of the kernel's services. Kernel services are requested through other parts of the operating system, or through a series of programmatic interfaces, commonly known as system calls. The mode accessed and executed at the kernel level is called kernel mode, and the mode in which user applications are executed, such as applications, is called user mode.
일반적인 응용 프로그램은 그 프로그램의 실행에 필요한 여러가지 DLL(Dynamic Link Library)을 불러오고, 이 DLL은 커널 모드에서 접근되는 시스템 서비스 실행 테이블(System Service Dispatcher Table, SSDT)을 참조하여 실제 실행 함수들의 코드가 기록되어 있는 위치를 알아내 원하는 기능을 수행한다. A typical application loads a number of DLLs (Dynamic Link Library) needed to execute the program. The DLL refers to the System Service Dispatcher Table (SSDT) accessed in kernel mode, and the code of the actual execution functions is loaded. Find the recorded location and perform the desired function.
따라서 전술한 악성코드가 이러한 DLL이나 시스템 서비스 실행 테이블을 감염시킨 경우에는, 악성코드 탐지 프로그램을 실행하여도 악성코드의 저장위치를 숨기거나 왜곡된 결과를 사용자에게 보여주기 때문에 일반적인 악성코드 탐지 프로그 램으로는 악성코드의 존재 유무의 확인, 실행 중지 및 제거가 매우 어렵다.Therefore, when the above-mentioned malicious code infects such DLL or system service execution table, even if the malware detection program is executed, it hides the storage location of the malicious code or shows the distorted result to the general malware detection program. As a result, it is very difficult to identify, stop, and remove the presence of malicious code.
따라서, 본 발명이 이루고자 하는 기술적 과제는 DLL이나 시스템 서비스 실행 테이블(SSDT)을 감염시키는 악성코드를 탐지하고 제거하기 위하여, 시스템 서비스 실행 테이블과 별개로 컴퓨터 시스템의 제어에 필요한 필수 실행코드에 관한 정보를 기록한 드라이버를 만들고 이를 이용하여 악성 코드를 탐지하고 제거하는 악성 코드 탐지 및 제거방법과 그 장치, 그 방법을 컴퓨터에서 실행시키기 위한 프로그램 코드를 기록한 기록매체를 제공하는 것이다.Accordingly, the technical problem to be achieved by the present invention is to provide information on the necessary execution code necessary for controlling the computer system separately from the system service execution table in order to detect and remove malicious codes infecting the DLL or the system service execution table (SSDT). It provides a method of detecting and removing malicious code that detects and removes malicious code by using a driver that records and uses the device, and a recording medium that records the device and program code for executing the method on a computer.
상기 기술적 과제는 본 발명에 따라, 악성코드 탐지 및 제거에 필요한 시스템 제어를 수행하는 코드에 관한 정보가 기록되어 있는 테이블을 가지고 있는 드라이버를 시스템 부팅시 타 드라이버보다 먼저 로딩하는 단계; 및 상기 로딩된 드라이버를 사용하는 악성코드 탐지 및 제거용 응용 프로그램을 실행시켜 악성코드를 탐지하고 치료하는 단계를 포함하는 것을 특징으로 하는 악성코드 탐지 및 제거방법에 의해서 달성된다.According to an aspect of the present invention, there is provided a method including loading a driver having a table in which information about code for performing system control for malware detection and removal is recorded before other drivers at system booting; And detecting and treating the malicious code by executing an application for detecting and removing the malware using the loaded driver.
상기 드라이버는, 윈도우즈 운영체제의 시스템 서비스 디스패치 테이블(SSDT)에서 시스템 제어를 수행하는데 필요한 코드에 관한 정보만을 선택적으로 저장하고 있는 것이 바람직하다.Preferably, the driver selectively stores only information about a code necessary to perform system control in the system service dispatch table (SSDT) of the Windows operating system.
상기 시스템 제어를 수행하는데 필요한 코드는 디스크 읽고 쓰기를 수행하는 함수, 레지스트리 읽고 쓰기를 수행하는 함수 또는 실행프로그램의 관리 및 제어를 수행하는 함수를 포함하는 것이 바람직하다.The code required to perform the system control preferably includes a function for performing disk reads and writes, a function for performing registry reads and writes, or a function for managing and controlling an executable program.
한편, 본 발명의 다른 분야에 따르면, 상기 기술적 과제는 악성코드 탐지 및 제거에 필요한 시스템 제어를 수행하는 코드에 관한 정보가 기록되어 있는 테이블을 가지고 있고, 시스템 부팅시 타 드라이버보다 먼저 로딩되는 악성코드 탐지 및 제거 드라이버; 및 상기 로딩된 악성코드 관련 드라이버를 사용하여 악성코드를 탐지하고 치료하는 악성코드 탐지 및 제거용 응용 프로그램을 실행시키는 프로그램 실행부를 포함하는 것을 특징으로 하는 악성코드 탐지 및 제거장치에 의해서도 달성된다.On the other hand, according to another field of the present invention, the technical problem has a table that records information on the code for performing the system control necessary for malicious code detection and removal, and the malicious code that is loaded before other drivers at system boot Detection and removal drivers; And a program execution unit that executes an application for detecting and removing malicious codes for detecting and treating malicious codes using the loaded malicious code-related driver.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 악성 프로그램 감염전 일반 프로그램의 실행과정과, 악성코드에 감염된 경우 일반 프로그램 실행과정을 설명하기 위한 참조도이다.1 is a reference diagram for explaining a process of executing a general program before a malicious program infection and a process of executing a general program when infected with a malicious code.
유저 모드(user mode)에서 실행되는 일반적인 응용 프로그램(110)들은 그 실행에 필요한 여러가지 기능을 구현한 프로그램 모듈인 DLL(120)들을 연결하여 실행하게 된다. 유저 모드에서 일반적으로 실행되는 악성코드 탐지 및 제거 프로그램의 경우도 마찬가지로 DLL과 같은 커널 모드의 라이브러리를 사용한다.The
이렇게 프로그램이 실행되는 과정에서 디스크 읽기 또는 쓰기, 실행중인 프로그램의 관리 또는 제어 등과 같은 시스템 서비스의 접근이 필요한 경우에는, 이러한 기능을 실행하는 실제 함수 코드가 저장되어 있는 저장부(140)에서 그 함수 코드의 저장위치를 알아야 한다. 시스템 서비스 실행 테이블(SSDT)(130)은 이러한 실제 함수 코드가 저장되어 있는 저장 위치를 기록하고 있다.If a program service is required to access a system service such as reading or writing a disk or managing or controlling a running program, the
즉, 일반 프로그램(110)의 실행과정을 보다 상세하게 설명하면, 일반 프로그램(110)이 실행되면서 그와 관련된 모듈의 DLL(120)을 연결하여 함께 실행하고, DLL(120)은 이러한 기능을 실행하는데 필요한 기본적인 실제 함수가 실행함수코드 저장부(140) 내에서 어느 위치에 기록되어 있는지 알아내기 위해 시스템 서비스 실행 테이블(SSDT)(130)을 참조한다.That is, when the
한편 악성코드(150)는 일반 프로그램(110)의 실행 도중에 여러가지 방법으로 시스템 감염을 시도한다. 예를 들어, 일반 프로그램(110)의 실행에 필요한 여러 DLL(120)로 위장하여 일반 프로그램에 붙는 경우가 있고, 여러 DLL(120) 중에서 특히 시스템 제어에 필요한 모듈인 NTDLL.DLL 내의 주요 함수들의 주소를 가로채 악성코드 자체의 코드가 실행되도록 하거나 악성 코드의 존재를 숨기는 경우가 있으며, 시스템 서비스 실행 테이블(SSDT)(130)에 저장된 값을 수정하여 본래 목적의 코드를 실행하기 전에 악성코드 자체를 실행하거나 악성코드의 존재를 숨기는 경우 등이 있다.Meanwhile, the
이와 같은 방법으로 악성코드가 감염된 경우 일반 프로그램(110)의 실행 중에 사용자도 모르게 악성 프로그램이 실행되기도 하며, 시스템 서비스 실행 테이블(SSDT)(130)과 같이 시스템 제어에 필요한 정보를 조작하여 악성코드가 현재 시행되고 있다는 사실을 숨기거나 악성코드의 저장위치를 숨기는 등의 루트킷이 행해지기도 한다. 따라서 윈도우 탐색기나 다른 프로그램을 이용하여 악성코드의 존재를 찾으려고 해서 이미 감염된 DLL(120) 이나 시스템 서비스 실행 테이 블(SSDT)(130)로 인해 악성코드의 존재가 숨겨지며 악성코드의 의도에 따라 조작된 결과가 사용자에게 제공된다.When malware is infected in this way, the malicious program may be executed without the user's knowledge during the execution of the
도 2는 본 발명의 일실시예에 따른 악성코드 탐지 및 제거 프로그램의 실행과정을 설명하기 위한 참조도이다.2 is a reference diagram for explaining a process of executing a malicious code detection and removal program according to an embodiment of the present invention.
본 발명의 악성코드탐지 및 제거 프로그램(210)은 일반 프로그램들과는 달리 시스템 서비스 실행 테이블(130)을 참조하여 실제 실행 함수의 코드가 저장되어 있는 위치를 알아내는 것이 아니라, 시스템 서비스 실행 테이블(130)과는 별도로 만들어진 악성코드탐지 및 제거 드라이버(220)를 참조하여 실제 실행 함수의 코드가 저장되어 있는 위치를 알아낸다. 따라서, 악성코드(150)가 DLL(120) 또는 시스템 서비스 실행 테이블(130)을 감염시킨다 하더라도 실행 함수의 코드(140)가 저장되어 있는 정확한 위치를 알아낼 수 있다.Unlike general programs, the malware detection and
이러한 드라이버(220)는 운영 체제의 부팅시 다른 드라이버보다 먼저 로딩되어 시스템의 주요 서비스의 실행함수 주소를 가져온다. 따라서 악성 코드에 감염된 다른 시스템 드라이버보다 먼저 로딩되어 실제 함수들의 코드가 저장되어 있는 주소를 확보했기 때문에 시스템 서비스 실행 테이블(SSDT)의 값을 참조하지 않고 직접 시스템 관련 함수들의 실행이 가능하다. 한편, 외부적인 요인에 의하여 드라이버(220)가 부팅 이후에 로딩 되는 경우에는 운영체제 및 버전 별로 미리 준비된 실행함수 주소를 이용한다. 즉, 본 발명에서는 감염된 DLL 이나 시스템 서비스 실행 테이블(SSDT)을 참조하지 않고 별도의 드라이버(220)를 참조하기 때문에 악성 코드의 직접 탐지가 가능하다.These
드라이버(220)가 시스템 주요 서비스의 실행함수 주소를 확보하는 과정을 정리하면, 운영체제의 부팅시 드라이버(220)가 타 드라이버보다 먼저 로딩되는 경우에는 타 드라이버보다 먼저 로드되어 아직 감염되지 않은 상태의 시스템 서비스 실행 테이블(SSDT)을 참조하여 확보한다. 한편 드라이브버(220)가 운영체제의 부팅 이후에 로딩되는 경우에는 시스템 운영체제 및 버전 정보에 따라 미리 알려진 실행 함수 주소를 이용한다. 다시 말하면, 실행 함수 주소는 같은 버전의 운영체제의 경우 거의 동일하다는 점을 이용하여 실행 함수 주소를 미리 확보할 수 있다.When the
도 3은 본 발명의 일실시예에 따른 악성코드 탐지 및 제거장치의 구성도이다.3 is a block diagram of an apparatus for detecting and removing malicious codes according to an embodiment of the present invention.
악성코드 탐지 및 제거장치는, 악성코드 탐지 및 제거 드라이버(220)와 프로그램 실행부(300)를 포함한다. 악성코드 탐지 및 제거 드라이버(220)는 전술한 바와 같이 악성코드 탐지 및 제거에 필요한 시스템 제어를 수행하는 코드에 관한 정보가 기록되어 있는 테이블을 가지고 있고, 시스템 부팅시 타 드라이버보다 먼저 로딩된다. 즉, 악성코드 탐지 및 제거 드라이버(220)는 윈도우즈 운영체제의 시스템 서비스 디스패치 테이블(SSDT)에서 시스템 제어를 수행하는데 필요한 코드에 관한 정보만을 선택적으로 저장하고 있다. 이러한 코드의 일예로, 디스크 읽고 쓰기를 수행하는 함수, 레지스트리 읽고 쓰기를 수행하는 함수, 또는 실행프로그램의 관리 및 제어를 수행하는 함수 등을 들 수 있다.The malware detection and removal apparatus includes a malware detection and
프로그램 실행부(300)는 이렇게 로딩된 악성코드 관련 드라이버(220)를 사용하여 악성코드를 탐지하고 치료하는 악성코드 탐지 및 제거용 응용 프로그램을 실 행시킨다.The program execution unit 300 executes an application for detecting and removing malicious codes that detects and treats malicious codes using the malware-related
프로그램 실행부(300)는 악성코드 탐지부(310), 드라이버 로딩부(320) 및 악성코드 제거부(330)를 포함한다. 악성코드 탐지부(310)는 악성코드 정보 DB(340)를 참조하여 시스템의 메모리나 저장장치에 감염되어 있는 악성코드를 찾아낸다. 이를 위하여 드라이버 로딩부(320)는 악성코드 탐지 및 제거 드라이버(220)를 다른 드라이버보다 먼저 로딩한다. 악성코드 제거부(330)는 악성코드 탐지부(310)에서 탐지한 악성코드를 제거한다. 악성코드의 제거는 악성코드 탐지 및 제거 드라이버에 의해 수행되며, 여러가지 악성 코드 제거 알고리즘이 사용될 수 있다. 한편 악성코드 정보 DB(340)는 현재까지 발견된 악성코드에 관한 데이터를 저장하고 있으며 수시로 업데이트될 수 있다.The program execution unit 300 includes a
도 4는 본 발명의 일실시예에 따른 악성코드 탐지 및 제거방법의 흐름도이다.4 is a flowchart illustrating a method for detecting and removing malware according to an embodiment of the present invention.
먼저 악성코드탐지 및 제거에 필요한 시스템 제어를 수행하는 코드에 관한 정보를 기록한 드라이버를 준비한다(S410). 그리고 이 드라이버를 시스템 부팅시 타 드라이버보다 먼저 로딩한다(S420). 한편, 이 드라이버는 윈도우즈 운영체제의 시스템 서비스 디스패치 테이블(SSDT)에서 시스템 제어를 수행하는데 필요한 코드에 관한 정보만을 선택적으로 저장하고 있다. 다음으로 이렇게 로딩된 드라이버를 사용하는 악성코드 탐지 및 제거용 응용 프로그램을 실행시켜(S430), 악성코드를 탐지하고 치료한다(S440).First, prepare a driver that records information on code for performing system control necessary for malware detection and removal (S410). The driver loads the driver before other drivers at system boot (S420). On the other hand, the driver selectively stores only the information about the code necessary to perform system control in the system service dispatch table (SSDT) of the Windows operating system. Next, by executing an application for detecting and removing malware using the loaded driver (S430), the malware is detected and cured (S440).
한편, 악성코드탐지 및 제거방법은 컴퓨터 프로그램으로 작성 가능하다. 상 기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 악성코드탐지 및 제거방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.On the other hand, malicious code detection and removal method can be written by a computer program. Codes and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the program is stored in a computer readable media, and read and executed by a computer to implement a method for detecting and removing malware. The information storage medium includes a magnetic recording medium, an optical recording medium, and a carrier wave medium.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.
전술한 바와 같이 본 발명에 따르면, DLL이나 커널 모드의 시스템 서비스 실행 테이블(SSDT)을 감염시켜 일반적인 응용 프로그램으로는 탐지할 수 없는 루트킷을 이용한 악성코드까지도 탐지하고 제거할 수 있다.As described above, according to the present invention, a DLL or a kernel mode system service execution table (SSDT) can be infected to detect and remove malicious code using a rootkit that cannot be detected by a general application program.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070012895A KR100762973B1 (en) | 2007-02-07 | 2007-02-07 | Method and apparatus for detecting and deleting a virus code, and information storage medium storing a program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070012895A KR100762973B1 (en) | 2007-02-07 | 2007-02-07 | Method and apparatus for detecting and deleting a virus code, and information storage medium storing a program thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100762973B1 true KR100762973B1 (en) | 2007-10-02 |
Family
ID=39418997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070012895A KR100762973B1 (en) | 2007-02-07 | 2007-02-07 | Method and apparatus for detecting and deleting a virus code, and information storage medium storing a program thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100762973B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011037321A2 (en) * | 2009-09-24 | 2011-03-31 | (주)잉카인터넷 | Windows kernel alteration searching method |
KR101043299B1 (en) | 2009-07-21 | 2011-06-22 | (주) 세인트 시큐리티 | Method, system and computer readable recording medium for detecting exploit code |
WO2012005565A1 (en) * | 2010-07-06 | 2012-01-12 | Mimos Berhad | A method for rootkit resistance based on a trusted chip |
KR101688632B1 (en) * | 2015-07-31 | 2016-12-22 | 한국전자통신연구원 | Method and apparatus for detecting loading of library |
CN107357667A (en) * | 2017-06-26 | 2017-11-17 | 北京金山安全管理系统技术有限公司 | Application layer and the means of communication and device of driving layer |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100613126B1 (en) | 2005-07-29 | 2006-08-17 | (주)해피바이러스 | Method and apparatus for deleting virus code, and information storage medium storing a program thereof |
-
2007
- 2007-02-07 KR KR1020070012895A patent/KR100762973B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100613126B1 (en) | 2005-07-29 | 2006-08-17 | (주)해피바이러스 | Method and apparatus for deleting virus code, and information storage medium storing a program thereof |
Non-Patent Citations (1)
Title |
---|
고흥환, "루트킷(rootkit)을 이용하는 악성코드", Monthly 사이버 시큐리티, 국가사이버안전센터, 2005년 11월호 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101043299B1 (en) | 2009-07-21 | 2011-06-22 | (주) 세인트 시큐리티 | Method, system and computer readable recording medium for detecting exploit code |
WO2011037321A2 (en) * | 2009-09-24 | 2011-03-31 | (주)잉카인터넷 | Windows kernel alteration searching method |
WO2011037321A3 (en) * | 2009-09-24 | 2011-05-12 | (주)잉카인터넷 | Windows kernel alteration searching method |
KR101042858B1 (en) | 2009-09-24 | 2011-06-20 | 주식회사 잉카인터넷 | detecting method whether Windows kernel is modulated or not |
WO2012005565A1 (en) * | 2010-07-06 | 2012-01-12 | Mimos Berhad | A method for rootkit resistance based on a trusted chip |
KR101688632B1 (en) * | 2015-07-31 | 2016-12-22 | 한국전자통신연구원 | Method and apparatus for detecting loading of library |
CN107357667A (en) * | 2017-06-26 | 2017-11-17 | 北京金山安全管理系统技术有限公司 | Application layer and the means of communication and device of driving layer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3123311B1 (en) | Malicious code protection for computer systems based on process modification | |
US8904537B2 (en) | Malware detection | |
US7418729B2 (en) | Heuristic detection of malicious computer code by page tracking | |
US11822654B2 (en) | System and method for runtime detection, analysis and signature determination of obfuscated malicious code | |
US9178900B1 (en) | Detection of advanced persistent threat having evasion technology | |
US7437759B1 (en) | Kernel mode overflow attack prevention system and method | |
US8495741B1 (en) | Remediating malware infections through obfuscation | |
US9015840B2 (en) | Portable media system with virus blocker and method of operation thereof | |
US7251735B2 (en) | Buffer overflow protection and prevention | |
US8079032B2 (en) | Method and system for rendering harmless a locked pestware executable object | |
US7284276B2 (en) | Return-to-LIBC attack detection using branch trace records system and method | |
JP2006134307A (en) | System and method for aggregating knowledge base of antivirus software applications | |
US6907524B1 (en) | Extensible firmware interface virus scan | |
KR100762973B1 (en) | Method and apparatus for detecting and deleting a virus code, and information storage medium storing a program thereof | |
US20070261117A1 (en) | Method and system for detecting a compressed pestware executable object | |
US8898591B2 (en) | Program removal | |
US7484239B1 (en) | Detecting heap and stack execution in the operating system using regions | |
US7281271B1 (en) | Exception handling validation system and method | |
EP3769247B1 (en) | System and method for preventing unwanted bundled software installation | |
US7926106B1 (en) | Utilizing early exclusive volume access and direct volume manipulation to remove protected files | |
US8572742B1 (en) | Detecting and repairing master boot record infections | |
US20060080518A1 (en) | Method for securing computers from malicious code attacks | |
KR100613126B1 (en) | Method and apparatus for deleting virus code, and information storage medium storing a program thereof | |
Erdélyi | Hide’n’seek? anatomy of stealth malware | |
US20110213809A1 (en) | Method, a system and a computer program product for protecting a data-storing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
LAPS | Lapse due to unpaid annual fee | ||
FPAY | Annual fee payment |
Payment date: 20140611 Year of fee payment: 7 |
|
R401 | Registration of restoration | ||
FPAY | Annual fee payment |
Payment date: 20150130 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150911 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160901 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180320 Year of fee payment: 11 |