WO2010035957A2 - 은폐된 시스템 개체 진단 시스템 및 진단 방법 - Google Patents

은폐된 시스템 개체 진단 시스템 및 진단 방법 Download PDF

Info

Publication number
WO2010035957A2
WO2010035957A2 PCT/KR2009/004547 KR2009004547W WO2010035957A2 WO 2010035957 A2 WO2010035957 A2 WO 2010035957A2 KR 2009004547 W KR2009004547 W KR 2009004547W WO 2010035957 A2 WO2010035957 A2 WO 2010035957A2
Authority
WO
WIPO (PCT)
Prior art keywords
file
enumeration
filter
registry
system object
Prior art date
Application number
PCT/KR2009/004547
Other languages
English (en)
French (fr)
Other versions
WO2010035957A3 (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 주식회사 안철수연구소
Publication of WO2010035957A2 publication Critical patent/WO2010035957A2/ko
Publication of WO2010035957A3 publication Critical patent/WO2010035957A3/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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks

Definitions

  • the present invention relates to a concealed system object diagnosis system and a diagnostic method for finding a concealed system object in order to prevent the concealed malicious code from being detected by an antivirus or the like.
  • Concealed malware has the characteristic of concealing files, folders and registry keys that it uses so that it cannot be diagnosed by anti virus programs.
  • the files and folders to be concealed include their own process files, configuration files necessary to operate the malware, and folders containing these files.
  • a concealed registry key corresponds to a registry key in which a file name is recorded or a registry key in which a driver name is used.
  • Anti-virus programs use the file enumeration API to obtain a list of files that exist on the system and scan them, so if a malicious code conceals a file, it cannot appear in the file list and cannot be scanned for malware. do.
  • registry keys use the Registry Enumeration API, concealed registry keys cannot be scanned by antivirus programs.
  • a stealth technique used by concealed malware is API hooking. If a program uses the file enumeration API, malware can manipulate the results of this API if it is hooked. The actual result of the file enumeration API shows that a malicious file exists, but only the malware file name is removed from the API hooking function of the malware to return a manipulated result. Programs that view the manipulated results will not be able to verify the existence of malware files.
  • the concealment technique includes a variety of techniques such as kernel code hooking, SSDT (System Service Descriptor Table) hooking, Driver Object Dispatch Table (hooking), and kernel function IoCallDriver hooking.
  • This concealment technique is evolving into an area that is difficult to find using the internal structure of the operating system.
  • Most antivirus programs respond to concealed malware by analyzing concealment techniques and repairing the manipulated parts. For example, if API hooking is found, it deletes the address of the hooking function in the hooked memory area and writes the address of the original function so that the malware hooking function is not called. If the malicious code hooking function is not called, the original file list existing in the system is outputted normally. Therefore, the malicious code can be detected.
  • the present invention has been made to solve the above problems, and an object of the present invention is to provide a method for recognizing a concealed system entity without using a concealment recovery technique in diagnosing the concealed system entity. This provides a more effective method of detecting hidden system objects.
  • the system object is a file
  • the enumeration module is a filesystem enumeration module that calls a file enumeration API
  • the filter is a filesystem filter that monitors the I / O of the file.
  • the file system filter is preferably installed in the file system device using any one or more of IoAttachDeviceByPointer (), IoAttachDeviceToDeviceStack (), IoAttachDevice (), and FltRegisterFilter ().
  • the file system filter may be implemented by hooking a file manipulation related function in a system service descriptor table (SSDT).
  • SSDT system service descriptor table
  • file enumeration API is preferably any one of FindFirstFile () and FindNextFile ().
  • the system object is a registry
  • the enumeration module is a registry enumeration module that calls a registry enumeration API
  • the filter is a registry filter that monitors the I / O of the registry.
  • the registry filter is preferably installed using any one or more of the CmRegisterCallback () and CmRegisterCallbackEx ().
  • the registry filter may be implemented by hooking a function related to registry manipulation in a system service descriptor table (SSDT).
  • SSDT system service descriptor table
  • the registry enumeration API is preferably any one of RegEnumKeyEx () and RegEnumValue ().
  • the system object is a network session
  • the enumeration module is a network enumeration module that calls a network enumeration API
  • the filter is a network filter for monitoring I / O of a network session.
  • the network filter is preferably installed on the TCP / UDP device using any one or more of IoAttachDeviceByPointer (), IoAttachDeviceToDeviceStack (), IoAttachDevice () and NDISRegisterProtocol ().
  • the network enumeration API is preferably any one of GetTcpTable () and GetUdpTable ().
  • a method for diagnosing a concealed system entity for achieving the above object includes: monitoring an I / O of a system object by a filter installed in a kernel region of an operating system; Providing I / O information to the enumeration module when the I / O of the system object is detected as a result of the monitoring step; Searching for the system object by the enumeration module and determining that the system object is concealed if the system object is not found as a result of the searching step.
  • system object is any one of a file, a register and a network session.
  • a computer-readable recording medium installed in the kernel region of the operating system for monitoring the I / O of the system object; Providing I / O information to the enumeration module when the I / O of the system object is detected as a result of the monitoring step;
  • the enumeration module searches for the system object and as a result of the searching step, if the system object is not searched, a program for performing the step of determining that the system object is concealed is recorded.
  • the methods and apparatus provided by the present invention enable the recognition of a concealed system entity without the use of concealment recovery techniques.
  • the method and the method provided in the present invention enables real-time diagnostics of hidden system objects as they are used, minimizing user damage.
  • FIG. 1 is a block diagram of a concealed system entity diagnosis system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart provided to explain a method of diagnosing a concealed file according to an embodiment of the present invention
  • FIG. 3 is a flowchart provided to explain a method of diagnosing a concealed register according to another embodiment of the present invention.
  • FIG. 4 is a flowchart provided to explain a method of diagnosing a concealed network session according to another embodiment of the present invention.
  • FIG. 1 is a block diagram of a concealed system entity diagnosis system according to an embodiment of the present invention.
  • the concealed system entity diagnosis system includes a file system enumeration module 110, a registry enumeration module 120, a network enumeration module 130, and a file system filter 140. ), A registry filter 150, a network filter 160, a protection list storage unit 170, and a control module 180.
  • the file system enumeration module 110, the registry enumeration module 120, and the network enumeration module 130 each perform a function of calling each enumeration API to check whether there is a file, a registry, and a network session.
  • the file system filter 140, the registry filter 150, and the network filter 160 each perform a function of monitoring the use of the file, the registry, and the network session in real time in kernel mode.
  • system entities the file, registry, and network will be collectively referred to as system entities.
  • the protection list storage unit 170 stores a list of system objects to be protected in particular.
  • control module 180 controls the enumeration modules 110 to 130 to determine whether a corresponding system entity is enumerated, and then, based on whether the enumerated system entity is enumerated. The function to check whether the concealment is performed, which will be described later in detail with reference to FIGS. 2 to 4.
  • the hidden system object real-time diagnostic system installs a file system filter on the system to check the access status of all files. Even hidden files can only be monitored by filesystem filters. If you check the file enumeration API by passing the file and folder paths of the file I / O passed to the file system filter in the user mode, it is confirmed that the normal files exist but the hidden files do not exist. Obviously, even though the actual file object where the file I / O occurred is not found by the user mode file enumeration API, this means that the file object is hidden.
  • FIG. 2 is a flowchart provided to explain a method of diagnosing a concealed file according to an embodiment of the present invention.
  • the file system filter 140 is installed in the system (S210).
  • the installation method usually installs the file system filter 140 on the file system device by using the IoAttachDeviceByPointer () function, the IoAttachDeviceToDeviceStack () function, the IoAttachDevice () function, or the FltRegisterFilter () function for the file system device object.
  • SSDT system service descriptor table
  • I / O of a specific file is detected by the file system filter 140 (S220-Y)
  • the file information (file path, file attribute, etc.) is transmitted to the file system enumeration module 110 (S240).
  • the file system enumeration module 110 receives the file information and calls a file enumeration API provided by the operating system to enumerate the file corresponding to the file information (S250).
  • APIs examples include the FindFirstFile () and FindNextFile () functions.
  • FindFirstFile and FindNextFile () functions.
  • the present invention is not limited thereto, and other APIs may be called.
  • APIs that perform these functions may be directly programmed.
  • the present invention can also check the hidden registry in addition to the file.
  • the files and principles are similar.
  • this hidden system object real-time diagnostic system installs a registry filter on the system to check the access status of all registries. Even hidden registry keys can only be monitored by registry filters. When checking the registry enumeration API by passing the key and value path of the registry access passed to the registry filter in user mode, it is confirmed that normal registries exist but hidden registries do not exist. Obviously, even though the actual registry I / O is a file object that can't be found, the registry enumeration API in user mode means that this registry object is hidden.
  • FIG. 3 is a flowchart provided to explain a method of diagnosing a concealed register according to another embodiment of the present invention.
  • the registry filter 150 is installed in the system (S310).
  • CmRegisterCallback () function or CmRegisterCallbackEx () function provided by the kernel of the operating system for registry filtering, or it can be implemented by hooking file manipulation functions in SSDT (System Service Descriptor Table).
  • I / O of a specific registry is detected by the registry filter 150 (S320-Y)
  • the step S230 may be omitted, and the following steps may be performed whenever I / O of all registers occurs, but in consideration of resources or system speed, important or particularly necessary registers may be previously stored in the protected list storage unit 170. After storing, it is advantageous to perform only for the corresponding register.
  • the registry enumeration module 120 receives the registry information and calls a registry enumeration API provided by the OS to enumerate the registry corresponding to the registry information (S350).
  • Examples of enumeration APIs include the FindFirstFile () and FindNextFile () functions. Of course, the present invention is not limited thereto, and other APIs may be called. Alternatively, APIs that perform these functions may be directly programmed.
  • the present invention can be applied to a session of a network in addition to the above-described file and registry.
  • FIG. 4 is a flowchart provided to explain a method of diagnosing a concealed network session according to another embodiment of the present invention.
  • the network filter is installed in the system (S410).
  • the installation method usually uses the IoAttachDeviceByPointer () function, the IoAttachDeviceToDeviceStack () function, the IoAttachDevice () function, or the NDISRegisterProtocol () function on a filesystem TCP / UDP device object to install the network filter 160 on the TCP / UDP device.
  • I / O of a specific network session is detected in the network filter 160 (S420-Y)
  • the network enumeration module 130 receives network information and calls a network enumeration API provided by an operating system to enumerate networks corresponding to the network information (S450).
  • Examples of enumeration APIs include the GetTcpTable () and GetUdpTable () functions. Of course, the present invention is not limited thereto, and other APIs may be called. Alternatively, APIs that perform these functions may be directly programmed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 은폐형 악성코드가 안티 바이러스 등에서 검색되지 않도록 하기 위해서 은폐한 시스템 개체를 찾아내기 위한 은폐된 시스템 개체 진단 시스템 및 진단 방법에 관한 것이다. 본 발명에 따른 은폐된 시스템 개체 진단 시스템은 운영체제가 제공하는 열거 API를 호출하는 기능을 수행하는 열거모듈; 운영체제의 커널영역에 설치되며, 커널영역에서 시스템개체의 I/O를 감시하는 필터 및 상기 필터에서 시스템개체의 I/O 가 발생한 경우, 상기 시스템개체의 정보를 열거모듈에 제공하고, 상기 시스템개체가 열거모듈에서 검색이 되는지 여부를 기초로 시스템개체의 은폐여부를 판단하는 제어모듈을 포함한다.

Description

은폐된 시스템 개체 진단 시스템 및 진단 방법
본 발명은 은폐형 악성코드가 안티 바이러스 등에서 검색되지 않도록 하기 위해서 은폐한 시스템 개체를 찾아내기 위한 은폐된 시스템 개체 진단 시스템 및 진단 방법에 관한 것이다.
은폐형 악성코드는 안티 바이러스(Anti virus) 프로그램에서 진단할 수 없도록 자신이 사용하는 파일, 폴더 및 레지스트리 키등을 은폐하는 특성을 가지고 있다. 은폐하는 파일, 폴더로는 자신의 프로세스 파일, 악성코드 동작에 필요한 구성파일, 이 파일들을 포함하는 폴더 등이 이에 해당한다. 은폐하는 레지스트리 키로는 자신의 파일이름이 기록되는 레지스트리 키, 또는 자신이 사용하는 드라이버 이름이 기록되는 레지스트리 키 등이 이에 해당한다.
안티 바이러스(Anti virus) 프로그램들은 파일 열거 API 를 이용하여 시스템에 존재하는 파일 리스트를 얻어내고 이것을 검사하는 방법을 사용하기 때문에 악성코드가 파일을 은폐하면 파일 리스트에 나타나지 않아서 악성코드를 검사할 수 없게 된다. 레지스트리 키도 마찬가지로 레지스트리 열거 API 를 사용하기 때문에 파일의 경우와 마찬가지로 은폐된 레지스트리 키는 안티 바이러스 프로그램에서 검사할 수 없게 된다.
은폐형 악성코드가 사용하는 은폐기법으로는 대표적으로 API 후킹을 들 수 있다. 어떤 프로그램에서 파일 열거 API 를 사용할 경우 API 후킹이 되어 있으면 악성코드가 이 API 의 결과를 조작할 수 있다. 파일 열거 API의 실제 결과는 악성코드 파일이 존재하는 것으로 나왔지만 악성코드의 API 후킹 함수에서 악성코드 파일 이름만 제거하여 조작된 결과를 돌려준다. 조작된 결과를 보는 프로그램은 악성코드 파일의 존재를 확인할 수 없게 된다.
은폐기법은 API 후킹뿐만 아니라 커널코드 후킹, SSDT(System Service Descriptor Table) 후킹, 드라이버 옵젝트 디스패치 테이블(Driver Object Dispatch Table) 후킹, 커널함수 IoCallDriver 후킹 등으로 다양한 기법이 있다. 이런 은폐기법은 운영체제(Operationg System) 의 내부구조를 이용하여 쉽게 찾아내기 어려운 영역으로 진화하고 있는 것이다.
대부분의 Anti virus 프로그램들은 은폐기법을 분석하여 조작된 부분을 복구하는 방법으로 은폐형 악성코드를 대응하고 있다. 예를 들어 API 후킹이 발견되면 후킹된 메모리 영역에 후킹 함수의 주소를 삭제하고 원본 함수의 주소를 써줘서 악성코드 후킹 함수가 호출되지 않도록 수정해 주는 것이다. 악성코드 후킹 함수가 호출되지 않으면 시스템에 존재하는 원래의 파일 리스트가 정상적으로 출력되기 때문에 악성코드를 찾아낼 수 있게 된다.
하지만 후킹을 복구하는 방법은 점차 어려움이 더해지고 있는 추세이다. API 후킹을 복구하는 경우만 보더라도 악성코드가 자신이 후킹한 부분이 복구된 것을 감지하면 재후킹을 시도하여 다시 은폐를 시도하기 때문이다. 또한 원본 함수의 주소를 알아내야만 복구가 가능한데 원본함수의 주소를 알아낼 수 없는 경우도 존재하기 때문에 복구에 대한 어려움이 존재한다. 또한 은폐기법이 다양화되고 고도화되고 있어서 은폐기법마다 새로운 분석과 대응을 해야 하기 때문에 안전한 복구기법을 개발하기도 점점 어려워지고 있는 실정이다.
게다가 대부분의 안티 바이러스 제품들의 경우 시스템에 이상징후가 발생한 후에야 은폐형 악성코드가 침입했음을 인지하고 진단/치료하고 있는 실정이므로 시스템에 피해가 발생한 이후에 복구해야 하는 사후처리라는 한계도 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 은폐된 시스템 개체를 진단함에 있어서 은폐 복구 기술을 사용하지 않고 은폐된 시스템 개체를 인지할 수 있는 방법을 제공하며 이를 통해서 보다 효과적인 은폐된 시스템 개체의 탐지방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 은폐된 시스템 개체 진단 시스템은 운영체제가 제공하는 열거 API를 호출하는 기능을 수행하는 열거모듈; 운영체제의 커널영역에 설치되며, 커널영역에서 시스템개체의 I/O를 감시하는 필터 및 상기 필터에서 시스템개체의 I/O 가 발생한 경우, 상기 시스템개체의 정보를 열거모듈에 제공하고, 상기 시스템개체가 열거모듈에서 검색이 되는지 여부를 기초로 시스템개체의 은폐여부를 판단하는 제어모듈을 포함한다.
그리고 상기 시스템개체는 파일이고, 상기 열거모듈은 파일열거 API를 호출하는 파일시스템 열거모듈이고, 상기 필터는 파일의 I/O를 감시하는 파일시스템 필터인 것이 바람직하다.
또한 상기 파일시스템 필터는 IoAttachDeviceByPointer(), IoAttachDeviceToDeviceStack(), IoAttachDevice() 및 FltRegisterFilter() 중 어느 하나 이상을 사용하여서 파일시스템 디바이스에 설치되는 것이 바람직하다.
그리고 상기 파일시스템 필터는 SSDT(System Service Descriptor Table) 에서 파일조작관련 함수를 후킹하여 구현되는 것이 바람직하다.
또한 상기 파일 열거 API는 FindFirstFile() 및 FindNextFile() 중 어느 하나인 것이 바람직하다.
그리고 상기 시스템개체는 레지스트리이고, 상기 열거모듈은 레지스트리 열거 API를 호출하는 레지스트리 열거모듈이고, 상기 필터는 레지스트리의 I/O를 감시하는 레지스트리 필터인 것이 바람직하다.
또한 상기 레지스트리 필터는 CmRegisterCallback() 및 CmRegisterCallbackEx() 중 어느 하나 이상을 사용하여서 설치되는 것이 바람직하다.
그리고 상기 레지스트리 필터는 SSDT(System Service Descriptor Table) 에서 레지스트리 조작관련 함수를 후킹하여 구현되는 것이 바람직하다.
또한 상기 레지스트리 열거 API는 RegEnumKeyEx() 및 RegEnumValue() 중 어느하나인 것이 바람직하다.
그리고 상기 시스템개체는 네트워크 세션이고, 상기 열거모듈은 네트워크열거 API를 호출하는 네트워크 열거모듈이고, 상기 필터는 네트워크 세션의 I/O를 감시하는 네트워크 필터인 것이 바람직하다.
또한 상기 네트워크 필터는 IoAttachDeviceByPointer(), IoAttachDeviceToDeviceStack(), IoAttachDevice() 및 NDISRegisterProtocol() 중 어느 하나 이상을 사용하여서 TCP/UDP 디바이스 위에 설치되는 것이 바람직하다.
그리고 상기 네트워크 열거 API는 GetTcpTable() 및 GetUdpTable() 중 어느 하나인 것이 바람직하다.
또한 상기 시스템개체가 보호목록 저장부에 포함된 경우에 한하여, 상기 열거모듈에서 검색이 되는지를 검색하는 것이 바람직하다.
한편 상기 목적을 달성하기 위한 본 발명에 따른 은폐된 시스템 개체 진단 방법은 운영체제의 커널영역에 설치된 필터가 시스템개체의 I/O를 감시하는 단계; 상기 감시단계 결과 시스템개체의 I/O가 감지된 경우, 상기 시스템개체의 정보를 열거모듈에 제공하는 단계; 상기 열거모듈이 상기 시스템개체를 검색하는 단계 및 상기 검색단계 결과, 상기 시스템개체가 검색되지 않는 경우에는 상기 시스템개체가 은폐된 것으로 판단하는 단계를 포함한다.
그리고 상기 시스템개체는 파일,레지스터 및 네트워크 세션 중 어느 하나인 것이 바람직하다.
한편, 본 발명에 따른 컴퓨터로 읽을 수 있는 기록매체에는, 운영체제의 커널영역에 설치된 필터가 시스템개체의 I/O를 감시하는 단계; 상기 감시단계 결과 시스템개체의 I/O가 감지된 경우, 상기 시스템개체의 정보를 열거모듈에 제공하는 단계; 상기 열거모듈이 상기 시스템개체를 검색하는 단계 및 상기 검색단계 결과, 상기 시스템개체가 검색되지 않는 경우에는 상기 시스템개체가 은폐된 것으로 판단하는 단계를 수행할 수 있는 프로그램이 기록된다.
이상 설명한 바와 같이, 본 발명에서 제공되는 방법 및 그 장치를 이용하면 은폐 복구 기술을 사용하지 않고도 은폐된 시스템 개체를 인지할 수 있게 된다.
또한 기존의 방법에 의할 경우 은폐 행위가 발생하고 사용자는 은폐형 악성코드에 의하여 피해를 입은 후에야 시스템의 이상을 감지하고 은폐 진단 프로그램을 사용하여야 하는 불편함이 있었지만, 본 발명에서 제공되는 방법 및 그 장치를 이용하면 은폐된 시스템 개체가 사용되는 순간 실시간으로 진단이 가능하므로 사용자의 피해를 최소화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 은폐된 시스템 개체 진단 시스템의 블럭도를 도시한 도면,
도 2는 본 발명의 일 실시예에 따른 은폐된 파일의 진단 방법의 설명에 제공되는 흐름도,
도 3은 본 발명의 다른 일 실시예에 따른 은폐된 레지스터의 진단 방법의 설명에 제공되는 흐름도, 및
도 4는 본 발명의 또 다른 일 실시예에 따른 은폐된 네트워크 세션의 진단 방법의 설명에 제공되는 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 은폐된 시스템 개체 진단 시스템의 블럭도를 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 은폐된 시스템 개체 진단 시스템은 파일시스템 열거모듈(110), 레지스트리 열거모듈(120), 네트워크 열거모듈(130), 파일시스템 필터(140), 레지스트리 필터(150), 네트워크 필터(160), 보호목록 저장부(170) 및 제어 모듈(180)을 포함한다.
상기 파일시스템 열거모듈(110), 레지스트리 열거모듈(120), 네트워크 열거모듈(130)은 각각 파일, 레지스트리 및 네트워크 세션이 있는지를 확인하기 위해서 각각의 열거 API를 호출하는 기능을 수행한다.
그리고 파일시스템 필터(140), 레지스트리 필터(150), 네트워크 필터(160)는 각각 커널모드에서 실시간으로 파일, 레지스트리 및 네트워크 세션의 사용을 감시하는 기능을 수행한다.
이하에서는 상기 파일, 레지스트리 및 네트워크를 통칭해서 시스템 개체로 호칭하기로 한다.
보호목록 저장부(170)는 특별히 보호하고자 하는 시스템 개체의 목록을 저장하고 있다.
그리고 제어 모듈(180)은 상기 필터들(140 내지 160)에서 시스템 개체의 사용이 감지되면, 해당 시스템 개체가 열거되는지 열거모듈들(110 내지 130)을 제어한 후 열거 여부를 기준으로 시스템 개체의 은폐여부를 검사하는 기능을 수행하는데 이에 대해서는 이하 도2 내지 도4에 대한 설명에서 자세히 후술한다.
우선 시스템개체 중에서 은폐된 파일을 검사하는 방법을 예로 들어보자.
상술한 은폐형 악성코드의 경우 자신의 존재를 은폐할 수 있어서, 파일 탐색기등을 이용해서는 볼 수 없으나 그 파일을 실행하기 위해서는 운영체제를 이용하여 동작해야 하는 바, 그 기본적인 실행방법에는 변함이 없다. 따라서 은폐형 악성코드가 자신의 파일을 은폐한 상태이더라도 자신이 은폐해 놓은 파일에 접근할 때는 파일시스템에 파일접근 요청을 해야만 한다.
이런 특성을 이용하여 본 은폐된 시스템 개체 실시간 진단 시스템은 파일시스템 필터를 시스템에 설치하여 모든 파일들의 접근 상태를 확인한다. 은폐된 파일이라 할지라도 파일시스템 필터에는 모니터링 될 수 밖에 없다. 파일시스템 필터에 전달된 파일 I/O 의 파일, 폴더 경로를 유저모드로 전달하여 파일 열거 API 로 확인해 보면 일반 파일들은 존재하는 것으로 확인되지만 은폐된 파일들은 존재하지 않는 것으로 확인된다. 분명히 실제적인 파일 I/O 가 발생한 파일 개체인데도 불구하고 유저모드의 파일열거 API 로 찾을 수 없다는 것은 이 파일 개체가 은폐된 것이라는 의미를 가지는 것이다.
상술한 원리에 대해서 도2를 참조하여 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 은폐된 파일의 진단 방법의 설명에 제공되는 흐름도이다.
우선 파일시스템 필터(140)를 시스템에 설치한다(S210).
설치 방법은 보통 파일시스템 디바이스 오브젝트에 대하여IoAttachDeviceByPointer() 함수, IoAttachDeviceToDeviceStack() 함수, IoAttachDevice() 함수 또는 FltRegisterFilter() 함수 등을 사용하여 파일시스템 필터(140)를 파일시스템 디바이스위에 설치한다.
또는 SSDT(System Service Descriptor Table)에서 파일조작관련 함수를 후킹하여 구현할 수도 있다.
물론 상술한 방법은 설명의 편의를 위한 일 실시예에 불과하며, 이러한 방법 이외에도 파일시스템 디바이스위에 파일시스템 필터(140)를 설치하는 다른 방법들도 적용될 수 있음은 물론이다.
이렇게 파일시스템 필터(140)가 설치되면 이후 시스템에서 발생하는 모든 파일 I/O 는 파일시스템 필터를 경유하게 된다. 정상파일은 물론이고 은폐된 파일이라고 하더라도 파일시스템 필터(140)에서 이들이 사용되는 것을 확인할 수 있다(S220).
파일시스템 필터(140)에 특정 파일의 I/O가 감지된 경우(S220-Y), 해당 파일이 보호대상 파일인지를 판단한다(S230). 즉 상기 특정 파일이 보호목록 저장부(170)에 저장된 파일인 경우에만 검색을 실행하는 것이다. 물론 S230단계를 생략하고 모든 파일의 I/O가 발생할 때마다 이하 단계를 수행하는 것도 무방하나, 리소스나 시스템 속도등을 고려할 때 중요하거다 특히 보호가 필요한 파일들을 미리 보호목록 저장부(170)에 기 저장한 후, 이에 해당하는 파일만 수행하는 것이 유리하다.
이렇게 I/O가 일어나 파일이 보호대상 파일이라면(S230-Y), 상기 파일의 정보(파일경로, 파일속성 등)를 파일시스템 열거모듈(110)에 전달한다(S240).
이 후 파일시스템 열거모듈(110)은 파일정보를 전달받아 운영체제가 제공하는 파일 열거 API 를 호출하여 상기 파일정보에 해당하는 파일을 열거한다(S250).
이러한 열거 API 의 예로써는 FindFirstFile(), FindNextFile() 함수 등을 들 수 있다. 물론 이에 한정되는 것은 아니며 이 이외에도 이와 같은 기능을 하는 API를 호출하는 것도 무방하며 또는 이런 기능을 수행하는 API를 직접 프로그래밍하여 사용하여도 무방하다.
이 후 열거 결과 상기 파일을 찾을 수 없는 경우(S260-N), 이를 은폐된 파일이라고 판단한다(S270).
실제로 시스템상에 존재하기 때문에 어떤 동작이 발생한 파일인데 운영체제의 API로 찾아지지 않는다는 것은 이 파일에 대하여 은폐행위가 동작하고 있다는 증거이기 때문이다.
만약 파일 열거 API 에서 전송된 파일정보와 일치하는 파일을 찾는다면(S260-Y), 이것은 정상파일로 판단하고 아무 처리도 하지 않고 다시 S220 내지 S260단계를 반복수행한다.
한편 본 발명은 파일 이외에 은폐된 레지스트리의 검사도 가능하다. 레지스트리의 경우도 파일과 원리는 마찬가지로 볼 수 있다.
즉 은폐형 악성코드가 은폐된 상태이더라도 자신이 은폐해 놓은 레지스트리에 접근할 때는 운영체제에 레지스트리 접근 요청을 해야만 한다. 이런 특성을 이용하여 본 은폐된 시스템 개체 실시간 진단 시스템은 레지스트리 필터를 시스템에 설치하여 모든 레지스트리들의 접근 상태를 확인한다. 은폐된 레지스트리 키라 할지라도 레지스트리 필터에는 모니터링 될 수 밖에 없다. 레지스트리 필터에 전달된 레지스트리 접근의 키,값 경로를 유저모드로 전달하여 레지스트리 열거 API 로 확인해 보면 일반 레지스트리들은 존재하는 것으로 확인되지만 은폐된 레지스트리들은 존재하지 않는 것으로 확인된다. 분명히 실제적인 레지스트리 I/O 가 발생한 파일 개체인데도 불구하고 유저모드의 레지스트리 열거 API 로 찾을 수 없다는 것은 이 레지스트리 개체가 은폐된 것이라는 의미를 가지는 것이다.
상술한 원리에 대해서 도3을 참조하여 보다 구체적으로 설명한다.
도 3은 본 발명의 다른 일 실시예에 따른 은폐된 레지스터의 진단 방법의 설명에 제공되는 흐름도이다.
우선 레지스트리 필터(150)를 시스템에 설치한다(S310).
설치시에는 운영체제의 커널에서 레지스트리 필터링을 위하여 제공하는 CmRegisterCallback() 함수나 CmRegisterCallbackEx() 함수 등을 사용하여 설치할 수도 있으며, 또는 SSDT(System Service Descriptor Table)에서 파일조작관련 함수를 후킹하여 구현할 수도 있다.
물론 상술한 방법은 설명의 편의를 위한 일 실시예에 불과하며, 이러한 방법 이외에도 적용될 수 있음은 물론이다.
이렇게 레지스트리 필터(150)가 설치되면, 이후 시스템에서 발생하는 모든 레지스트리 I/O 는 레지스트리 필터(150)를 경유하게 된다. 정상 레지스트리는 물론이고 은폐된 레지스트리라고 하더라도 레지스트리 필터(150)에서 이들이 사용되는 것을 확인할 수 있다(S320).
레지스트리 필터(150)에 특정 레지스트리의 I/O가 감지된 경우(S320-Y), 해당 레지스트리가 보호대상 레지스트리인지를 판단한다(S330). 즉 상기 특정 레지스터가 보호목록 저장부(170)에 저장된 레지스터인 경우에만 검색을 실행하는 것이다. 물론 S230단계를 생략하고 모든 레지스터의 I/O가 발생할 때마다 이하 단계를 수행하는 것도 무방하나, 리소스나 시스템 속도등을 고려할 때 중요하거나 특히 보호가 필요한 레지스터들을 미리 보호목록 저장부(170)에 기 저장한 후, 이에 해당하는 레지스터에 대해서만 수행하는 것이 유리하다.
이렇게 I/O가 일어나 레지스터가 보호대상 레지스터라면(S330-Y), 상기 레지스트리에 대한 정보(레지스트리 경로,레지스트리 속성 등)를 유저모드의 레지스트리 열거모듈(120)로 전송한다(S340).
레지스트리 열거모듈(120)은 레지스트리 정보를 전달받아 OS 가 제공하는 레지스트리 열거 API 를 호출하여 상기 레지스트리 정보에 해당하는 레지스트리를 열거한다(S350).
열거 API 의 예로써는 FindFirstFile(), FindNextFile() 함수 등을 들 수 있다. 물론 이에 한정되는 것은 아니며 이 이외에도 이와 같은 기능을 하는 API를 호출하는 것도 무방하며 또는 이런 기능을 수행하는 API를 직접 프로그래밍하여 사용하여도 무방하다.
이 후 열거 결과 상기 레지스트리를 찾을 수 없는 경우(S360-N), 이를 은폐된 레지스트리라고 판단한다(S370).
실제로 시스템상에 존재하기 때문에 어떤 동작이 발생한 레지스트리인데 운영체제의 API 로 찾아지지 않는다는 것은 이 레지스트리에 대하여 은폐행위가 동작하고 있다는 증거이기 때문이다.
만약 레지스트리 열거 API 에서 전송된 레지스트리 정보와 일치하는 레지스트리를 찾는다면(S360-Y), 이것은 정상 레지스트리로 판단하고 아무 처리도 하지 않고 다시 S320 내지 S360단계를 반복수행한다.
한편 본 발명은 상술한 파일 및 레지스트리 이외에도 네트워크의 세션에 대해서도 적용이 가능하다.
도 4는 본 발명의 또 다른 일 실시예에 따른 은폐된 네트워크 세션의 진단 방법의 설명에 제공되는 흐름도이다.
우선 네트워크 필터를 시스템에 설치한다(S410).
설치 방법은 보통 파일시스템 TCP/UDP 디바이스 오브젝트에 IoAttachDeviceByPointer() 함수나 IoAttachDeviceToDeviceStack() 함수나 IoAttachDevice() 함수나 NDISRegisterProtocol() 함수 등을 사용하여 네트워크 필터(160)를 TCP/UDP 디바이스 위에 설치할 수 있다.
물론 상술한 방법은 설명의 편의를 위한 일 실시예에 불과하며, 이러한 방법 이외에도 네트워크 필터(160)를 설치하는 다른 방법들도 적용될 수 있음은 물론이다.
이렇게 네트워크 필터(160)가 설치되면, 이후 시스템에서 발생하는 모든 네트워크 I/O 는 네트워크 필터를 경유하게 된다. 정상 네트워크 세션은 물론이고 은폐된 네트워크 세션이라고 하더라도 네트워크 필터(160)에서 이들이 사용되는 것을 확인할 수 있다(S420).
네트워크 필터(160)에 특정 네트워크 세션의 I/O가 감지된 경우(S420-Y), 해당 네트워크 세션이 보호대상인지를 판단하고(S430), 보호대상에 해당하면(S430-Y), 네트워크에 대한 정보(IP주소, 포트번호 등)를 유저모드의 네트워크 열거모듈(130)로 전송한다(S440).
네트워크 열거모듈(130)은 네트워크 정보를 전달받아 운영체제가 제공하는 네트워크 열거 API 를 호출하여 상기 네트워크 정보에 해당하는 네트워크를 열거한다(S450).
열거 API 의 예로써는 GetTcpTable(), GetUdpTable() 함수 등을 들 수 있다. 물론 이에 한정되는 것은 아니며 이 이외에도 이와 같은 기능을 하는 API를 호출하는 것도 무방하며 또는 이런 기능을 수행하는 API를 직접 프로그래밍하여 사용하여도 무방하다.
이 후 열거 결과 상기네트워크 정보를 찾을 수 없는 경우(S460-N), 이를 은폐된 레지스트리라고 판단한다(S470).
지금까지, 은폐된 시스템 개체를 진단하는 방법에 대해, 바람직한 실시예를 들어 상세히 설명하였다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (16)

  1. 운영체제가 제공하는 열거 API를 호출하는 기능을 수행하는 열거모듈;
    운영체제의 커널영역에 설치되며, 커널영역에서 시스템개체의 I/O를 감시하는 필터 및
    상기 필터에서 시스템개체의 I/O 가 발생한 경우, 상기 시스템개체의 정보를 열거모듈에 제공하고, 상기 시스템개체가 열거모듈에서 검색이 되는지 여부를 기초로 시스템개체의 은폐여부를 판단하는 제어모듈을 포함하는 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  2. 제1항에 있어서,
    상기 시스템개체는 파일이고,
    상기 열거모듈은 파일열거 API를 호출하는 파일시스템 열거모듈이고,
    상기 필터는 파일의 I/O를 감시하는 파일시스템 필터인 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  3. 제2항에 있어서,
    상기 파일시스템 필터는 IoAttachDeviceByPointer(), IoAttachDeviceToDeviceStack(), IoAttachDevice() 및 FltRegisterFilter() 중 어느 하나 이상을 사용하여서 파일시스템 디바이스에 설치되는 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  4. 제2항에 있어서,
    상기 파일시스템 필터는 SSDT(System Service Descriptor Table) 에서 파일조작관련 함수를 후킹하여 구현되는 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  5. 제2항에 있어서,
    상기 파일 열거 API는 FindFirstFile() 및 FindNextFile() 중 어느 하나인 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  6. 제1항에 있어서,
    상기 시스템개체는 레지스트리이고,
    상기 열거모듈은 레지스트리 열거 API를 호출하는 레지스트리 열거모듈이고,
    상기 필터는 레지스트리의 I/O를 감시하는 레지스트리 필터인 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  7. 제6항에 있어서,
    상기 레지스트리 필터는 CmRegisterCallback() 및 CmRegisterCallbackEx() 중 어느 하나 이상을 사용하여서 설치되는 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  8. 제6항에 있어서,
    상기 레지스트리 필터는 SSDT(System Service Descriptor Table) 에서 레지스트리 조작관련 함수를 후킹하여 구현되는 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  9. 제6항에 있어서,
    상기 레지스트리 열거 API는 RegEnumKeyEx() 및 RegEnumValue() 중 어느하나인 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  10. 제1항에 있어서,
    상기 시스템개체는 네트워크 세션이고,
    상기 열거모듈은 네트워크열거 API를 호출하는 네트워크 열거모듈이고,
    상기 필터는 네트워크 세션의 I/O를 감시하는 네트워크 필터인 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  11. 제10항에 있어서,
    상기 네트워크 필터는
    IoAttachDeviceByPointer(),IoAttachDeviceToDeviceStack(), IoAttachDevice() 및 NDISRegisterProtocol() 중 어느 하나 이상을 사용하여서 TCP/UDP 디바이스 위에 설치되는 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  12. 제10항에 있어서,
    상기 네트워크 열거 API는 GetTcpTable() 및 GetUdpTable() 중 어느 하나인 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  13. 제1항에 있어서,
    상기 제어모듈은
    상기 시스템개체가 보호목록 저장부에 포함된 경우에 한하여, 상기 열거모듈에서 검색이 되는지를 검색하는 것을 특징으로 하는 은폐된 시스템 개체 진단 시스템.
  14. 운영체제의 커널영역에 설치된 필터가 시스템개체의 I/O를 감시하는 단계;
    상기 감시단계 결과 시스템개체의 I/O가 감지된 경우, 상기 시스템개체의 정보를 열거모듈에 제공하는 단계;
    상기 열거모듈이 상기 시스템개체를 검색하는 단계 및
    상기 검색단계 결과, 상기 시스템개체가 검색되지 않는 경우에는 상기 시스템개체가 은폐된 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 은폐된 시스템 개체 진단 방법.
  15. 제 14항에 있어서,
    상기 시스템개체는 파일,레지스터 및 네트워크 세션 중 어느 하나인 것을 특징으로 하는 은폐된 시스템 개체 진단 방법.
  16. 운영체제의 커널영역에 설치된 필터가 시스템개체의 I/O를 감시하는 단계;
    상기 감시단계 결과 시스템개체의 I/O가 감지된 경우, 상기 시스템개체의 정보를 열거모듈에 제공하는 단계;
    상기 열거모듈이 상기 시스템개체를 검색하는 단계 및
    상기 검색단계 결과, 상기 시스템개체가 검색되지 않는 경우에는 상기 시스템개체가 은폐된 것으로 판단하는 단계를 수행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2009/004547 2008-09-25 2009-08-14 은폐된 시스템 개체 진단 시스템 및 진단 방법 WO2010035957A2 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2008-0094345 2008-09-25
KR1020080094345A KR101001899B1 (ko) 2008-09-25 2008-09-25 은폐된 시스템 개체 진단 시스템 및 진단 방법

Publications (2)

Publication Number Publication Date
WO2010035957A2 true WO2010035957A2 (ko) 2010-04-01
WO2010035957A3 WO2010035957A3 (ko) 2010-07-01

Family

ID=42060222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2009/004547 WO2010035957A2 (ko) 2008-09-25 2009-08-14 은폐된 시스템 개체 진단 시스템 및 진단 방법

Country Status (2)

Country Link
KR (1) KR101001899B1 (ko)
WO (1) WO2010035957A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11762812B2 (en) 2021-12-10 2023-09-19 Microsoft Technology Licensing, Llc Detecting changes in a namespace using namespace enumeration endpoint response payloads

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102174393B1 (ko) * 2020-08-13 2020-11-04 최원강 악성 코드 탐지 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040025015A1 (en) * 2002-01-04 2004-02-05 Internet Security Systems System and method for the managed security control of processes on a computer system
KR100666562B1 (ko) * 2005-08-11 2007-01-09 주식회사 웨어플러스 커널 드라이버 및 프로세스 보호 방법
US20070022287A1 (en) * 2005-07-15 2007-01-25 Microsoft Corporation Detecting user-mode rootkits
KR20070076935A (ko) * 2006-01-20 2007-07-25 엔에이치엔(주) 은닉 프로세스 모니터링 방법 및 모니터링 시스템
KR20070121195A (ko) * 2006-06-21 2007-12-27 한국전자통신연구원 시스템 이벤트 정보를 이용한 은닉 프로세스 탐지 시스템및 방법
US20080016571A1 (en) * 2006-07-11 2008-01-17 Larry Chung Yao Chang Rootkit detection system and method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028301B2 (en) 2005-03-14 2011-09-27 Symantec Corporation Restricting recordal of user activity in a processing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040025015A1 (en) * 2002-01-04 2004-02-05 Internet Security Systems System and method for the managed security control of processes on a computer system
US20070022287A1 (en) * 2005-07-15 2007-01-25 Microsoft Corporation Detecting user-mode rootkits
KR100666562B1 (ko) * 2005-08-11 2007-01-09 주식회사 웨어플러스 커널 드라이버 및 프로세스 보호 방법
KR20070076935A (ko) * 2006-01-20 2007-07-25 엔에이치엔(주) 은닉 프로세스 모니터링 방법 및 모니터링 시스템
KR20070121195A (ko) * 2006-06-21 2007-12-27 한국전자통신연구원 시스템 이벤트 정보를 이용한 은닉 프로세스 탐지 시스템및 방법
US20080016571A1 (en) * 2006-07-11 2008-01-17 Larry Chung Yao Chang Rootkit detection system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11762812B2 (en) 2021-12-10 2023-09-19 Microsoft Technology Licensing, Llc Detecting changes in a namespace using namespace enumeration endpoint response payloads

Also Published As

Publication number Publication date
KR101001899B1 (ko) 2010-12-17
WO2010035957A3 (ko) 2010-07-01
KR20100035045A (ko) 2010-04-02

Similar Documents

Publication Publication Date Title
KR100942795B1 (ko) 악성프로그램 탐지장치 및 그 방법
WO2013168913A1 (ko) 비실행 파일 검사 장치 및 방법
WO2013168951A1 (ko) 악성 파일 검사 장치 및 방법
US7665138B2 (en) Detecting method and architecture thereof for malicious codes
WO2016088937A1 (en) Apparatus, system and method for detecting and preventing malicious scripts using code pattern-based static analysis and api flow-based dynamic analysis
WO2015178578A1 (ko) 패치파일 분석시스템과 분석방법
WO2012015171A2 (ko) 해커 바이러스 보안통합관리기
WO2011105659A1 (ko) 프로세스의 행위 분석을 통한 유해 프로그램을 실시간으로 탐지하고 차단하는 시스템, 방법, 프로그램 및 기록매체
US10810308B2 (en) System and method of creating antivirus records
JP2012014320A (ja) 感染検査システム及び感染検査方法及び記録媒体及びプログラム
WO2019160195A1 (ko) 파일 내 포함된 악성 위협 탐지 장치 및 방법, 그 기록매체
WO2012023657A1 (ko) 가상 머신을 이용한 네트워크 기반 유해 프로그램 검출 방법 및 그 시스템
WO2010024606A2 (ko) 정상 파일 데이터베이스 제공 시스템 및 방법
WO2018016671A2 (ko) 보안 취약점 점검을 위한 위험성 코드 검출 시스템 및 그 방법
WO2024071451A1 (ko) Ocr 기술을 이용하여 비실행 파일의 악성 매크로를 탐지하기 위한 방법 및 이를 위한 장치
WO2012091341A1 (en) Method and apparatus for detecting a malware in files
WO2022124720A1 (ko) 운영체제 커널 메모리의 실시간 오류 검출 방법
WO2014042344A1 (ko) 디버그 이벤트를 이용한 악성 쉘 코드 탐지 장치 및 방법
WO2014119869A1 (ko) 악성실행코드의 숙주 파일 탐지 시스템 및 방법
WO2011002146A2 (ko) 악성코드 탐지시스템 및 방법
WO2014077614A1 (en) Anti-malware system, method of processing data in the same, and computing device
WO2010035957A2 (ko) 은폐된 시스템 개체 진단 시스템 및 진단 방법
WO2016200045A1 (ko) 하드웨어 기반의 커널 코드 삽입 공격 탐지 장치 및 그 방법
WO2014168406A1 (ko) 메모리 보호기능 우회 공격 진단 장치 및 방법
WO2013125867A1 (ko) 컴퓨터 시스템과, 파일 및 행위 기반 복합룰 작성 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09816350

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09816350

Country of ref document: EP

Kind code of ref document: A2