KR20210084003A - Malicious diagnosis device and malicious diagnosis method using procedure call - Google Patents

Malicious diagnosis device and malicious diagnosis method using procedure call Download PDF

Info

Publication number
KR20210084003A
KR20210084003A KR1020190176869A KR20190176869A KR20210084003A KR 20210084003 A KR20210084003 A KR 20210084003A KR 1020190176869 A KR1020190176869 A KR 1020190176869A KR 20190176869 A KR20190176869 A KR 20190176869A KR 20210084003 A KR20210084003 A KR 20210084003A
Authority
KR
South Korea
Prior art keywords
call
rpc
specific
malicious
parent
Prior art date
Application number
KR1020190176869A
Other languages
Korean (ko)
Other versions
KR102355556B1 (en
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 KR1020190176869A priority Critical patent/KR102355556B1/en
Publication of KR20210084003A publication Critical patent/KR20210084003A/en
Application granted granted Critical
Publication of KR102355556B1 publication Critical patent/KR102355556B1/en

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to a new technology that allows a process relationship based on RPC calls to be continuously and accurately traced in a Windows system environment. That is, the present invention is to realize a device for diagnosing a call-based malice and a method for diagnosing the call-based malice. The method comprises: a monitoring step; an identifying step; and a relationship setting step.

Description

호출 기반의 악성 진단 장치 및 호출 기반의 악성 진단 방법{MALICIOUS DIAGNOSIS DEVICE AND MALICIOUS DIAGNOSIS METHOD USING PROCEDURE CALL}Call-based malicious diagnosis device and call-based malicious diagnosis method {MALICIOUS DIAGNOSIS DEVICE AND MALICIOUS DIAGNOSIS METHOD USING PROCEDURE CALL}

본 발명은 악성 진단/탐지 기술에 관한 것으로, 더욱 상세하게는 윈도우 시스템 환경에서 정확한 프로세스 관계를 통해 악성 진단/탐지의 신뢰도를 향상시킬 수 있는 기술에 관한 것이다.The present invention relates to malicious diagnosis/detection technology, and more particularly, to a technology capable of improving the reliability of malicious diagnosis/detection through an accurate process relationship in a Windows system environment.

일반적으로 임의의 프로세스에 의해 새로운 프로세스가 생성되면, 프로세스를 생성한 프로세스는 부모 프로세스가 되고 생성된 프로세스는 자식 프로세스가 되어 부모-자식의 직접 관계가 형성된다.In general, when a new process is created by an arbitrary process, the process that created the process becomes the parent process, and the created process becomes the child process, thereby forming a direct parent-child relationship.

그리고, 이처럼 생성된 부모-자식 관계 정보는 다양한 기술에서 활용될 수 다.And, the generated parent-child relationship information can be utilized in various technologies.

하지만, 윈도우 시스템에서 제공하는 COM, Win32 서비스 WMI 처럼 RPC(Remote Procedure Call)을 이용해서 프로세스를 생성할 경우, 생성된 프로세스가 윈도우의 서브시스템(예: svchost.exe, services.exe 등)의 하위 프로세스로 생성된다.However, when a process is created using RPC (Remote Procedure Call) like COM and Win32 service WMI provided by the Windows system, the created process is a sub-system of the Windows subsystem (eg svchost.exe, services.exe, etc.). created by the process.

따라서, COM, Win32 서비스, WMI 처럼 RPC(Remote Procedure Call)을 이용해서 프로세스를 생성하는 경우 형성된 부모-자식 관계에서 부모 프로세스는, 실제로 RPC을 요청하고 새로운 프로세스를 생성한 주체로서의 프로세스가 아닌, 서브시스템 프로세스이므로, 이 경우 프로세스 관계는 부정확할 수 밖에 없어 정확한 부모 프로세스를 추적할 수 없다.Therefore, when a process is created using RPC (Remote Procedure Call) such as COM, Win32 service, or WMI, in the parent-child relationship formed, the parent process is not the process as the subject who actually requested the RPC and created the new process, but the sub Since it is a system process, in this case, the process relationship is inevitably inaccurate, and the exact parent process cannot be traced.

이로 인해, 만약에 전술처럼 서브시스템에 의해 생성된 자식 프로세스가 의심 행위를 한다면, 프로세스 관계 즉 부모-자식 관계에 의해 확인되는 부모 프로세스는 서브시스템 프로세스 즉 운영체제의 프로세스이므로, 악성 여부를 판단하기가 매우 까다로워지는 문제가 있다.For this reason, if the child process created by the subsystem behaves suspiciously as described above, the parent process identified by the process relationship, that is, the parent-child relationship, is a subsystem process, that is, a process of the operating system, so it is difficult to determine whether it is malicious. There is a problem that becomes very tricky.

이에, 악의적 행위로 의심되는 행위를 수행하는 프로세스 및 이와 관련된 프로세스를 신뢰도 높게 탐지해내기 위해서는, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 정확하게 형성/관리할 수 있는 방안(기술)이 필수적으로 요구된다 하겠다.Accordingly, in order to reliably detect a process that performs an action suspected of a malicious act and a process related thereto, a method (technology) that can accurately form/manage the process relationship based on RPC calls in a Windows system environment is essential. I will do it.

본 발명에서는, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적할 수 있는 방안(기술)을 제안하고자 한다.In the present invention, it is intended to propose a method (technique) for continuously and accurately tracing process relationships based on RPC calls in a window system environment.

본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적할 수 있고 정확한 프로세스 관계를 통해 악성 진단/탐지의 신뢰도를 향상시킬 수 있는 새로운 기술, 즉 호출 기반의 악성 진단 장치 및 호출 기반의 악성 진단 방법을 제공하는데 있다.The present invention was created in consideration of the above circumstances, and the object of the present invention is to continuously and accurately track the process relationship based on RPC calls in the Windows system environment and to detect/detect malignancy through the accurate process relationship. An object of the present invention is to provide a new technology capable of improving reliability, that is, a call-based malicious diagnosis apparatus and a call-based malicious diagnosis method.

상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 호출 기반의 악성 진단 방법은, 특정 호출에 의해 동작하는 프로세스가 기 정의된 특정 행위를 수행하는지 감시하는 감시단계; 상기 특정 행위 수행이 확인되면, 상기 특정 호출을 요청한 주체 프로세스를 식별하는 식별단계; 상기 특정 행위 수행에 따라 생성된 대상물을, 상기 프로세스가 아닌 상기 식별한 주체 프로세스와 매핑하여 부모-자식 관계로 설정하는 관계설정단계를 포함한다.In order to achieve the above object, a call-based malicious diagnosis method according to a first aspect of the present invention includes a monitoring step of monitoring whether a process operated by a specific call performs a predetermined specific action; an identification step of identifying a subject process that has requested the specific call when it is confirmed that the specific action is performed; and a relation setting step of mapping the object created according to the performance of the specific action with the identified subject process, not the process, and setting a parent-child relationship.

상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 호출 기반의 악성 진단 장치는, 특정 호출에 의해 동작하는 프로세스가 기 정의된 특정 행위를 수행하는지 감시하는 감시부; 상기 특정 행위 수행이 확인되면, 상기 특정 호출을 요청한 주체 프로세스를 식별하는 식별부; 상기 특정 행위 수행에 따라 생성된 대상물을, 상기 프로세스가 아닌 상기 식별한 주체 프로세스와 매핑하여 부모-자식 관계로 설정하는 관계설정부를 포함한다.According to a second aspect of the present invention, there is provided a call-based malicious diagnosis apparatus comprising: a monitoring unit monitoring whether a process operated by a specific call performs a predefined specific action; an identification unit for identifying the subject process requesting the specific call when it is confirmed that the specific action is performed; and a relationship setting unit for mapping an object generated according to the performance of the specific action with the identified subject process, not the process, to set a parent-child relationship.

본 발명의 실시예들에 따르면, RPC를 실제 요청한 주체 프로세스를 부모로 서브시스템의 하위로 생성되는 (생성물)프로세스를 자식으로 하는 간접 관계를 형성하는 기술을 구현하여, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적할 수 있도록 한다.According to the embodiments of the present invention, by implementing a technique for forming an indirect relationship in which the subject process that actually requested RPC is the parent and the (product) process created as a child of the subsystem is implemented, the RPC call-based in the window system environment to continuously and accurately track the process relationships of

이로 인해, 본 발명에 따르면, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적함으로써, 정확한 프로세스 관계를 통해 악성 진단/탐지의 신뢰도를 현저히 향상시킬 수 있는 효과를 도출할 수 있다.For this reason, according to the present invention, by continuously and accurately tracking the process relationship based on the RPC call in the window system environment, it is possible to derive the effect of remarkably improving the reliability of malicious diagnosis/detection through the accurate process relationship.

도 1은 본 발명의 일 실시예에 따른 호출 기반의 악성 진단 장치의 구성을 보여주는 구성도이다.
도 2는 본 발명의 일 실시예에 따라 RPC를 요청한 주체 프로세스 식별의 개념을 보여주는 예시도이다.
도 3은 본 발명의 일 실시예에 따른 호출 기반의 악성 진단 방법이 동작하는 실시예를 보여주는 흐름 예시도이다.
1 is a block diagram showing the configuration of a call-based malicious diagnosis apparatus according to an embodiment of the present invention.
2 is an exemplary diagram illustrating the concept of identification of a subject process requesting an RPC according to an embodiment of the present invention.
3 is a flowchart illustrating an embodiment in which a call-based malicious diagnosis method according to an embodiment of the present invention operates.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

이하, 첨부된 도면을 참조하여 본 발명에 대하여 설명한다.Hereinafter, the present invention will be described with reference to the accompanying drawings.

본 발명은, 윈도우 시스템 환경에서 프로세스 관계를 활용하는 악성 진단/탐지 기술에 관한 것이다.The present invention relates to a malicious diagnosis/detection technology utilizing process relationships in a Windows system environment.

일반적으로 임의의 프로세스에 의해 새로운 프로세스가 생성되면, 프로세스를 생성한 프로세스는 부모 프로세스가 되고 생성된 프로세스는 자식 프로세스가 되어 부모-자식의 직접 관계가 형성된다.In general, when a new process is created by an arbitrary process, the process that created the process becomes the parent process, and the created process becomes the child process, thereby forming a direct parent-child relationship.

그리고, 이처럼 생성된 부모-자식 관계 정보는 다양한 기술에서 활용될 수 다.And, the generated parent-child relationship information can be utilized in various technologies.

하지만, 윈도우 시스템에서 제공하는 COM, Win32 서비스, WMI처럼 RPC(Remote Procedure Call)을 이용해서 프로세스를 생성할 경우, 생성된 프로세스가 윈도우의 서브시스템(예: svchost.exe, services.exe 등)의 하위 프로세스로 생성된다.However, when a process is created using RPC (Remote Procedure Call) like COM, Win32 service, or WMI provided by the Windows system, the created process is the Windows subsystem (eg, svchost.exe, services.exe, etc.). It is created as a subprocess.

RPC를 이용해서 프로세스를 생성하는 대표적인 예를 살펴보면, 먼저 COM(Local Server)을 이용하는 것이다. A typical example of creating a process using RPC is to use COM (Local Server) first.

예를 들어, 윈도우에서 기본 제공하는 쉘인 powershell.exe가 ComObject를 이용해서 InternetExplorer(iexplore.exe)을 실행할 경우, powershell.exe의 하위에 iexplore.exe 가 생성되지 않고 COM 요청을 대신 처리해주는 윈도우의 서브시스템 구성 요소인 svchost.exe(DComLaunch)의 하위로 iexplore.exe가 생성된다. For example, if powershell.exe, a shell provided in Windows, runs InternetExplorer (iexplore.exe) using ComObject, iexplore.exe is not created under powershell.exe, but a sub of Windows that handles COM requests instead. iexplore.exe is created as a subordinate of svchost.exe (DComLaunch), which is a system component.

즉, 부모-자식 관계로서 Powershell.exe-iexplore.exe 간 프로세스 관계가 형성되지 않는 것이 아니라, svchost.exe-iexplore.exe 간 프로세스 관계가 형성되는 것이다.In other words, as a parent-child relationship, a process relationship between Powershell.exe-iexplore.exe is not formed, but a process relationship between svchost.exe-iexplore.exe is formed.

Win32 서비스 관련하여 설명하면, Win32 서비스 명령(sc.exe)을 이용해서 Windows Installer 서비스(msiexec.exe)를 실행할 경우, sc.exe의 하위가 아닌 윈도우의 서브시스템 구성 요소인 services.exe의 하위로 msiexec.exe가 생성된다.Regarding the Win32 service, when the Windows Installer service (msiexec.exe) is executed using the Win32 service command (sc.exe), it is not under sc.exe, but as services.exe, a sub-system component of Windows. msiexec.exe is created.

또한, WMI의 콘솔 명령(wmic.exe)을 이용해서 메모장(notepad.exe)을 실행하면, 역시 wmic.exe가 아닌 WMI Provider Host(WmiPrvSE.exe)의 하위로 notepad.exe가 생성된다.Also, if notepad (notepad.exe) is executed using the WMI console command (wmic.exe), notepad.exe is created under the WMI Provider Host (WmiPrvSE.exe), not wmic.exe.

이에, COM, Win32 서비스, WMI처럼 RPC를 이용해서 프로세스를 생성하는 경우 형성된 부모-자식 관계에서 부모 프로세스는, 실제로 RPC을 요청하고 새로운 프로세스를 생성한 주체로서의 프로세스가 아닌, 서브시스템 프로세스이므로, 이 경우 프로세스 관계는 부정확할 수 밖에 없어 정확한 부모 프로세스를 추적할 수 없다.Therefore, when a process is created using RPC such as COM, Win32 service, or WMI, in the parent-child relationship formed, the parent process is a subsystem process, not the process that actually requested RPC and created a new process. In this case, the process relationship is inevitably inaccurate, and the exact parent process cannot be tracked.

이로 인해, 만약에 전술처럼 서브시스템에 의해 생성된 자식 프로세스가 의심 행위를 한다면, 프로세스 관계 즉 부모-자식 관계에 의해 확인되는 부모 프로세스는 서브시스템 프로세스 즉 운영체제의 프로세스이므로, 악성 여부를 판단하기가 매우 까다로워지는 문제가 있다.For this reason, if the child process created by the subsystem behaves suspiciously as described above, the parent process identified by the process relationship, that is, the parent-child relationship, is a subsystem process, that is, a process of the operating system, so it is difficult to determine whether it is malicious. There is a problem that becomes very tricky.

이에, 악의적 행위로 의심되는 행위를 수행하는 프로세스 및 이와 관련된 프로세스를 신뢰도 높게 탐지해내기 위해서는, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 정확하게 형성/관리할 수 있는 방안(기술)이 필수적으로 요구된다 하겠다.Accordingly, in order to reliably detect a process that performs an action suspected of a malicious act and a process related thereto, a method (technology) that can accurately form/manage the process relationship based on RPC calls in a Windows system environment is essential. I will do it.

물론, RPC를 이용해서 프로세스를 생성하는 경우 형성된 부모-자식 관계를 정확히 식별하기 위해, RPC를 요청하는 모든 프로세스의 RPC 관련 함수를 후킹(Hooking)하는 기술도 가능할 것이다.Of course, in order to accurately identify the parent-child relationship formed when a process is created using RPC, a technique of hooking RPC-related functions of all processes requesting RPC may be possible.

하지만, 사용자의 실제 환경에서 동작하는 모든 프로세스를 후킹하여 감시하는 것은, 매우 위험해서 시스템의 안정성을 크게 해친다. However, hooking and monitoring all processes running in the user's real environment is very dangerous and greatly harms the stability of the system.

또한, 후킹이 설정된 영역은 악성 코드도 동일하게 접근할 수 있는 프로세스의 유저 영역이므로, 감시를 위한 후킹을 무력화하거나 우회할 수 있는 한계점이 있다.In addition, since the area where the hooking is set is the user area of the process that can be accessed by malicious code in the same way, there is a limitation in that it can disable or bypass hooking for monitoring.

본 발명에서는, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적할 수 있으면서 시스템 안정성을 보장할 수 있는 방안(기술)을 제안하고자 한다.In the present invention, it is intended to propose a method (technique) capable of ensuring system stability while continuously and accurately tracking the process relationship based on RPC calls in a window system environment.

보다 구체적으로, 본 발명에서는 제안하는 방안을 실현할 수 있는 호출 기반의 악성 진단 장치(100)를 구현해내고자 한다.More specifically, the present invention intends to implement a call-based malicious diagnosis apparatus 100 capable of realizing the proposed method.

도 1은, 본 발명의 일 실시예에 따른 호출 기반의 악성 진단 장치(100)의 구성을 보여주고 있다.1 shows the configuration of a call-based malicious diagnosis apparatus 100 according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 호출 기반의 악성 진단 장치(100)는, 독립된 사용자 시스템(200)에 탑재되는 것이 바람직하다. As shown in FIG. 1 , the call-based malicious diagnosis apparatus 100 according to the present invention is preferably mounted on an independent user system 200 .

이러한 본 발명의 호출 기반의 악성 진단 장치(100)는, 사용자 시스템(200)에 설치되는 어플리케이션, 또는 프로그램, 또는 엔진 형태일 수 있다.The call-based malicious diagnosis apparatus 100 of the present invention may be in the form of an application, program, or engine installed in the user system 200 .

도 1에서는 설명의 편의를 위해, 프로세스의 유저 영역 및 커널 영역을 구분하였으며, 본 발명의 호출 기반의 악성 진단 장치(100)는 커널 영역에서 동작되는 것으로 한다.In FIG. 1, for convenience of explanation, a user area and a kernel area of a process are divided, and it is assumed that the call-based malicious diagnosis apparatus 100 of the present invention operates in the kernel area.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 호출 기반의 악성 진단 장치(100)는, 감시부(110), 식별부(120), 관계설정부(130)를 포함하여 구성될 수 있다. As shown in FIG. 1 , the call-based malicious diagnosis apparatus 100 according to an embodiment of the present invention may include a monitoring unit 110 , an identification unit 120 , and a relationship setting unit 130 . have.

더 나아가, 호출 기반의 악성 진단 장치(100)는, 악성탐지부(140)를 더 포함하여 구성될 수도 있다. Furthermore, the call-based malicious diagnosis apparatus 100 may further include a malicious detection unit 140 .

결국, 도 1에 도시된 본 발명의 호출 기반의 악성 진단 장치(100)는, 전술한 구성을 기반으로 본 발명에서 제안하는 방안, 즉 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적할 수 있으면서 시스템 안정성을 보장할 수 있는 새로운 방식의 기술을 실현할 수 있다. As a result, the call-based malicious diagnosis apparatus 100 of the present invention shown in FIG. 1 continuously and accurately tracks the RPC call-based process relationship in the method proposed by the present invention based on the above-described configuration, that is, in a window system environment. It is possible to realize a new type of technology that can ensure system stability while still being able to do so.

이하에서는, 본 발명에서 제안하는 기술을 실현하기 위한 호출 기반의 악성 진단 장치(100) 내 각 구성에 대해 보다 구체적으로 설명하기로 한다Hereinafter, each configuration in the call-based malicious diagnosis apparatus 100 for realizing the technology proposed by the present invention will be described in more detail.

감시부(110)는, 특정 호출에 의해 동작하는 프로세스가 기 정의된 특정 행위를 수행하는지 감시하는 기능을 담당한다.The monitoring unit 110 is responsible for monitoring whether a process operated by a specific call performs a predetermined specific action.

여기서, 특정 호출은, RPC(Remote Procedure Call)을 의미한다.Here, the specific call means a remote procedure call (RPC).

즉, 감시부(110)는, RPC에 의해 동작하는 프로세스가 기 정의된 특정 행위를 수행하는지 감시할 수 있다.That is, the monitoring unit 110 may monitor whether a process operated by the RPC performs a predetermined specific action.

이때, 본 발명에서는, 특정 호출로서 RPC를 언급하고 있으나 이는 일 예이며, 후술의 부모-자식 관계 설정(형성) 시 호출에 의해 동작하는 프로세스가 실제 호출을 요청한 주체 프로세스 대신 부모 프로세스가 되는 상황을 야기시키는 형태의 호출이라면, 본 발명에서의 특정 호출로 볼 수 있을 것이다.At this time, in the present invention, although RPC is referred to as a specific call, this is an example, and when setting (forming) a parent-child relationship described later, the process operated by the call becomes the parent process instead of the subject process that actually requested the call. If it is a calling type of causing, it may be regarded as a specific call in the present invention.

한편, 전술의 기 정의된 특정 행위란, 유저 영역의 서브시스템 프로세스가 수행하는 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O를 포함할 수 있다.Meanwhile, the above-described specific action may include process creation, thread creation, module loading, and file or registry I/O performed by a subsystem process in the user area.

즉, 감시부(110)는, RPC에 의해 동작하는 프로세스 즉 유저 영역의 서브시스템 프로세스(20)가 기 정의된 특정 행위 즉 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등을 수행하는지 여부를 지속적으로 감시하는 것이다.That is, the monitoring unit 110 monitors a process operated by RPC, that is, a specific action defined by the subsystem process 20 in the user area, that is, process creation, thread creation, module loading, file or registry I/O, and the like. It is a continuous monitoring to see if it is being performed.

이하에서는, 설명의 편의 상, 유저 영역의 프로세스(10, 예: powershell.exe)가 RPC(예: ComObject)를 요청(이용)하여 InternetExplorer(iexplore.exe)을 실행한다고 가정하겠다.Hereinafter, for convenience of explanation, it is assumed that a process (10, eg, powershell.exe) in the user area requests (uses) an RPC (eg, ComObject) to execute InternetExplorer (iexplore.exe).

이 경우, RPC(예: ComObject)에 의해 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 동작되며, 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 수행하는 제반 동작에 따라 전술의 특정 행위(예: 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등)가 발생할 것이다.In this case, the subsystem process (20, eg svchost.exe(DComLaunch)) is operated by RPC (eg ComObject), and all actions performed by the subsystem process (20, eg svchost.exe (DComLaunch)) Depending on the above specific actions (eg process creation, thread creation, module loading, file or registry I/O, etc.) will occur.

이에, 감시부(110)는, 전술의 지속적인 감시를 통해, RPC(예: ComObject)에 의해 동작하는 유저 영역의 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 특정 행위(예: 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등)를 수행하는 것을 감시해낼 수 있다.Accordingly, the monitoring unit 110, through the continuous monitoring described above, the subsystem process (20, for example, svchost.exe (DComLaunch)) of the user area operated by RPC (eg, ComObject) a specific action (eg: Process creation, thread creation, module loading, file or registry I/O, etc.) can be monitored.

식별부(120)는, 상기 특정 행위 수행이 확인되면, 상기 특정 호출을 요청한 주체 프로세스를 식별하는 기능을 담당한다.The identification unit 120 is responsible for identifying the subject process requesting the specific call when the specific action is confirmed.

즉, 식별부(120)는, 감시부(110)의 감시 결과, RPC(예: ComObject)에 의해 동작하는 유저 영역의 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 특정 행위(예: 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등)를 수행하는 것이 확인되면, 금번 RPC(예: ComObject)을 요청한 주체 프로세스를 식별하는 것이다.That is, as a result of the monitoring of the monitoring unit 110 , the identification unit 120 detects a specific action (eg, svchost.exe (DComLaunch)) of a subsystem process (20, eg, svchost.exe (DComLaunch)) of the user area operated by RPC (eg, ComObject). Example: When it is confirmed that a process is created, a thread is created, a module is loaded, a file or registry I/O, etc.) is confirmed, the subject process that requested the RPC (eg ComObject) this time is identified.

이하에서는, RPC(예: ComObject)을 요청한 주체 프로세스를 식별하는 구성에 대하여 구체적으로 설명하겠다.Hereinafter, a configuration for identifying a subject process requesting an RPC (eg, ComObject) will be described in detail.

본 발명에서는, RPC(예: ComObject)을 요청한 주체 프로세스를 식별하기 위해, 커널 영역에서 RPC 연결에 사용되는 내부정보를 활용하고자 한다.The present invention intends to utilize internal information used for RPC connection in the kernel area to identify the subject process that has requested RPC (eg, ComObject).

구체적으로 설명하면, 식별부(120)는, 상기 특정 행위 수행이 확인되면, 커널 영역에서 상기 프로세스가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 근거로 상기 특정 호출을 요청한 주체 프로세스를 식별할 수 있다.More specifically, when it is confirmed that the specific action is performed, the identification unit 120 may identify the subject process requesting the specific call based on process data and RPC data at the time the process is executed in the kernel area. .

전술의 예시를 언급하여 설명하면 식별부(120)는, 감시부(110)의 감시 결과, RPC(예: ComObject)에 의해 동작하는 유저 영역의 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 특정 행위(예: 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등)를 수행하는 것이 확인되면, 커널 영역에서 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 근거로 RPC(예: ComObject)을 요청한 주체 프로세스를 식별하는 것이다.When described with reference to the above example, the identification unit 120, the monitoring result of the monitoring unit 110, the subsystem process 20 of the user area operated by RPC (eg, ComObject) (eg, svchost.exe (DComLaunch) )) is confirmed to perform a specific action (eg process creation, thread creation, module loading, file or registry I/O, etc.), the subsystem process (20, eg svchost.exe(DComLaunch) in the kernel area) ) is to identify the subject process that requested RPC (eg ComObject) based on the process data and RPC data at the time of execution.

도 2는, 본 발명에서 RPC를 요청한 주체 프로세스 식별 시 RPC 연결에 사용되는 내부정보를 이용하는 개념을 보여주고 있다.2 shows a concept of using internal information used for RPC connection when identifying a subject process requesting RPC in the present invention.

즉, 식별부(120)에 의한 식별은, 커널 영역에서 프로세스 데이터 및 RPC 데이터 즉 스레드 데이터 내의 RPC 데이터에 근거(활용)하여, 수행된다.That is, identification by the identification unit 120 is performed based on (utilizing) process data and RPC data in the kernel area, that is, RPC data in thread data.

보다 구체적인 일 실시예를 설명하면, 식별부(120)는, 주체 프로세스를 식별하기에 앞서, 감시부(110)의 감시 결과, RPC(예: ComObject)에 의해 동작하는 유저 영역의 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 특정 행위(예: 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등)를 수행하는 것이 확인되면, 커널 영역에서 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 프로세스 데이터 및 RPC 데이터 존재 여부를 확인하여, 금번 특정 행위 수행이 부모-자식 관계 설정이 요구되는 대상인지 여부를 결정할 수 있다.To describe a more specific embodiment, the identification unit 120, prior to identifying the subject process, the monitoring result of the monitoring unit 110, the user domain subsystem process (eg, ComObject) operated by RPC (eg, ComObject) ( 20, when it is confirmed that svchost.exe(DComLaunch)) performs a specific action (eg, creating a process, creating a thread, loading a module, file or registry I/O, etc.), the subsystem process (20 , eg: svchost.exe(DComLaunch)) can be checked whether process data and RPC data exist at the point in time, to determine whether this specific action is a target for which parent-child relationship setting is required.

즉, 본 발명에서는, 주체 프로세스를 식별하기에 앞서, 금번 감시부(110)의 감시 결과에 따른 특정 행위 수행이 부모-자식 관계 설정이 요구되는 대상인지 여부를 결정함으로써, 후술의 주체 프로세스 식별이 불필요한 케이스(case)를 필터링하는 실시예를 구현할 수 있다.That is, in the present invention, prior to identifying the subject process, the subject process identification described later is performed by determining whether the performance of a specific action according to the monitoring result of the current monitoring unit 110 is a target for which the parent-child relationship setting is required. An embodiment of filtering unnecessary cases may be implemented.

도 2에 도시된 바와 같이, 부모-자식 관계 설정이 요구되는 대상인지 여부를 결정하는 과정(예: RPC 검사) 역시, 커널 영역에서 프로세스 데이터 및 RPC 데이터 즉 스레드 데이터 내의 RPC 데이터에 근거(활용)하여, 수행된다.As shown in FIG. 2 , the process of determining whether parent-child relationship establishment is a required target (eg, RPC check) is also based on (utilization) process data and RPC data in the kernel area, that is, RPC data in thread data So, it is performed

예를 들면, 식별부(120)는, 커널 영역에서 금번 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 프로세스 데이터 및 RPC 데이터 존재 여부를 확인한다.For example, the identification unit 120 checks whether the present subsystem process 20 (eg, svchost.exe (DComLaunch)) is executed in the kernel area, process data and RPC data exist.

이에 구체적으로, 식별부(120)는, 금번 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 RPC 데이터 내 RPC로 연결(Binding)되어 있는 RPC 요청 클라이언트를 확인하고, 금번 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 프로세스 데이터에서 전술이 확인한 RPC 요청 클라이언트로서의 프로세스가 존재하는지 확인할 수 있다.Specifically, the identification unit 120 checks the RPC request client that is connected to the RPC in the RPC data at the time the subsystem process 20 (eg, svchost.exe (DComLaunch)) is executed. In the process data at the time when the subsystem process 20 (eg, svchost.exe (DComLaunch)) is executed, it can be checked whether the process as the RPC request client identified above exists.

이에, 식별부(120)는, RPC 요청 클라이언트로서의 프로세스가 존재하면, 금번 특정 행위 수행이 부모-자식 관계 설정이 요구되는 대상인 것으로 결정할 수 있다.Accordingly, if a process as an RPC request client exists, the identification unit 120 may determine that the specific action is performed this time as a target for which parent-child relationship establishment is required.

일 실시예에 따르면, 식별부(120)는, 금번 특정 행위 수행이 부모-자식 관계 설정이 요구되는 대상인 것으로 결정되는 경우에만, 구체적으로 후술할 주체 프로세스 식별을 수행할 수 있다.According to an embodiment, the identification unit 120 may perform identification of a subject process, which will be described later in detail, only when it is determined that the execution of the specific action this time is a target for which parent-child relationship setting is required.

물론, 다른 실시예에 따르면, 식별부(120)는, 금번 특정 행위 수행이 부모-자식 관계 설정이 요구되는 대상인지 여부를 결정하는 과정 없이, 구체적으로 후술할 주체 프로세스 식별을 수행할 수도 있다.Of course, according to another embodiment, the identification unit 120 may perform identification of the subject process, which will be described later in detail, without a process of determining whether the specific action is performed this time as a target for which the parent-child relationship setting is required.

다시 주체 프로세스 식별을 설명하면, 식별부(120)는, 커널 영역에서 상기 프로세스가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 근거로, RPC 데이터 내 RPC로 연결(Binding)되어 있는 RPC 요청 클라이언트로 확인되는 프로세스를 주체 프로세스로서 식별할 수 있다.Referring again to the identification of the subject process, the identification unit 120 identifies the RPC request client that is connected to the RPC in the RPC data based on the process data and the RPC data at the time the process is executed in the kernel area. A process can be identified as a subject process.

전술의 예시를 언급하여 설명하면 식별부(120)는, 커널 영역에서 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 근거로, RPC 데이터 내 RPC로 연결(Binding)되어 있는 RPC 요청 클라이언트를 확인하고 프로세스 데이터에서 전술이 확인한 RPC 요청 클라이언트로서의 프로세스를 확인한다.When described with reference to the above-described example, the identification unit 120 is, based on the process data and RPC data at the time when the subsystem process 20 (eg, svchost.exe (DComLaunch)) is executed in the kernel area, within the RPC data. Check the RPC request client connected to the RPC (Binding) and check the process as the RPC request client confirmed above in the process data.

이에, 식별부(120)는, RPC 요청 클라이언트로서 확인한 프로세스(예: 10)을 금번 RPC(예: ComObject)을 요청한 주체 프로세스로서 식별할 수 있다.Accordingly, the identification unit 120 may identify the process (eg, 10) identified as the RPC request client as the subject process requesting the RPC (eg, ComObject) this time.

이와 같이, 본 발명에서는, 커널 영역에서 RPC 연결에 사용되는 내부정보를 활용하여, RPC에 의한 서브시스템(프로세스)이 실행되는 시점에 RPC로 연결(Binding) 되어 있는 RPC 요청 클라이언트를 주체 프로세스로서 식별하는 방식을 구현하고 있다.As described above, in the present invention, by utilizing internal information used for RPC connection in the kernel area, the RPC requesting client that is connected to RPC at the time when the RPC-based subsystem (process) is executed is identified as the subject process. method is implemented.

관계설정부(130)는, 상기 특정 행위 수행에 따라 생성된 대상물을, 상기 프로세스가 아닌 상기 식별한 주체 프로세스와 매핑하여 부모-자식 관계로 설정하는 기능을 담당한다.The relationship setting unit 130 is responsible for setting the parent-child relationship by mapping the object created according to the specific action execution with the identified subject process instead of the process.

즉, 전술의 예시를 언급하여 설명하면, 관계설정부(130)는, 금번 특정 행위 수행에 따라 생성된 대상물(예: iexplore.exe)을, 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 아닌 식별자(120)에서 식별한 주체 프로세스(10, 예: powershell.exe)와 매핑하여 부모-자식 관계를 설정하는 것이다.That is, referring to the above example, the relationship setting unit 130 sets the target (eg, iexplore.exe) generated according to the execution of the specific action this time, the subsystem process (20, eg, svchost.exe (DComLaunch)) ), but to establish a parent-child relationship by mapping with the subject process (10, for example, powershell.exe) identified by the identifier 120 .

이에, 본 발명에서는, 커널 영역에서 서브시스템(프로세스)이 실행되는 시점에 RPC로 연결(Binding) 되어 있는 RPC 요청 클라이언트를 주체 프로세스로서 식별하는 기술 구현을 기반으로, RPC를 실제 요청한 주체 프로세스를 부모로 서브시스템의 하위로 생성되는 (생성물)프로세스를 자식으로 하는 간접 관계를 형성함으로써, 실제적인 프로세스 관계(부모-자식)를 지속적으로 정확하게 추적할 수 있도록 한다.Therefore, in the present invention, based on the implementation of the technology that identifies the RPC requesting client that is connected to RPC as the subject process at the time the subsystem (process) is executed in the kernel area, the subject process that actually requested the RPC is set as the parent. By forming an indirect relationship with the (product) process created as a child of the subsystem as a child, the actual process relationship (parent-child) can be continuously and accurately traced.

악성탐지부(140)는, 특정 프로세스에서 악의적 행위 발생이 감지되면, 기 설정된 부모-자식 관계 정보를 근거로 상기 특정 프로세스를 포함한 부모 프로세스 및 상기 특정 프로세스를 악성 프로세스군으로 탐지하는 기능을 담당한다.The malicious detection unit 140 is responsible for detecting a parent process including the specific process and the specific process as a group of malicious processes based on preset parent-child relationship information when a malicious behavior is detected in a specific process. .

본 발명에서는, 전술과 같이 RPC를 실제 요청한 주체 프로세스를 부모로 서브시스템의 하위로 생성되는 (생성물)프로세스를 자식으로 하는 간접 관계를 형성하여 얻어지는 부모-자식 관계 정보를, 악의적인 행위 탐지 시스템에 활용하고자 한다.In the present invention, as described above, the parent-child relationship information obtained by forming an indirect relationship in which the subject process that actually requested RPC is the parent and the (product) process created as a child of the subsystem is transferred to the malicious behavior detection system. want to use

이와 같은 활용의 일 실시예를 설명하면, 악성탐지부(140)는, 특정 프로세스에서 악의적 행위 발생이 감지되는지 모니터링한다.When explaining an embodiment of such utilization, the malicious detection unit 140 monitors whether a malicious action is detected in a specific process.

이때, 악성탐지부(140)에서 악의적 행위 발생을 감지하는 방식은, 시그니처 기반 감지 또는 행위 기반 감지 등 기존 감지 방식을 다양하게 채택할 수 있으며, 감지 방식에 제한을 두지 않다.In this case, as a method for detecting the occurrence of a malicious action in the malicious detection unit 140 , various existing detection methods such as signature-based detection or action-based detection may be adopted, and the detection method is not limited.

악성탐지부(140)는, 모니터링 결과 특정 프로세스에서 악의적 행위 발생이 감지되면, 기 설정된 부모-자식 관계 정보 즉 본 발명의 간접 관계 형성에 따른 부모-자식 관계 정보를 근거로, 금번 악의적 행위를 발생시킨 특정 프로세스 뿐 아니라 금번 악의적 행위를 발생시킨 특정 프로세스를 자식으로 하는 부모 프로세스까지 모두 악성 프로세스군으로 탐지해낼 수 있다.When a malicious action is detected in a specific process as a result of monitoring, the malicious detection unit 140 generates this malicious action based on preset parent-child relationship information, that is, parent-child relationship information according to the indirect relationship formation of the present invention. Not only the specific process that caused the malicious behavior, but also the parent process of the specific process that caused this malicious behavior as a child can be detected as a group of malicious processes.

이렇게 되면, 본 발명에서는, RPC를 실제 요청한 주체 프로세스를 부모로 서브시스템의 하위로 생성되는 (생성물)프로세스를 자식으로 하는 간접 관계를 형성하여 얻은 부모-자식 관계 정보를, 악의적인 행위 탐지 시스템에 활용함으로써, 서브시스템에 의해 생성된 자식 프로세스가 악성으로 의심되는 경우 해당 자식 프로세스를 생성한 실제 주체 프로세스를 함께 의심하여 탐지하여 악성 여부를 판단할 수 있기 때문에, 프로세스 관계를 통해 악성 진단/탐지의 신뢰도를 현저히 향상시킬 수 있다.In this case, in the present invention, the parent-child relationship information obtained by forming an indirect relationship with the subject process that actually requested the RPC as the parent and the (product) process created as a child of the subsystem as the child is transferred to the malicious behavior detection system. By using this, when a child process created by a subsystem is suspected of being malicious, it is possible to determine whether the child process is malicious by suspecting and detecting the actual subject process that created the child process. Reliability can be significantly improved.

이상, 설명한 바와 같이, 본 발명의 호출 기반의 악성 진단 장치(100)는, RPC를 실제 요청한 주체 프로세스를 부모로 서브시스템의 하위로 생성되는 (생성물)프로세스를 자식으로 하는 간접 관계를 형성하는 기술을 구현하여, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적할 수 있도록 한다.As described above, the call-based malicious diagnosis apparatus 100 according to the present invention is a technology for forming an indirect relationship in which the subject process that actually requested the RPC is the parent and the (product) process created as a child of the subsystem is the child. , so that the process relationship based on RPC calls can be continuously and accurately traced in the Windows system environment.

이에, 본 발명에 따르면, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적함으로써, 정확한 프로세스 관계를 통해 악성 진단/탐지의 신뢰도를 현저히 향상시킬 수 있는 효과를 기대할 수 있다.Accordingly, according to the present invention, by continuously and accurately tracking the process relationship based on the RPC call in the window system environment, the reliability of malicious diagnosis/detection through the accurate process relationship can be expected to be significantly improved.

특히, 본 발명에 따르면, 유저 영역에서 후킹 기술을 사용하지 않고도, RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적할 수 있으면서 시스템 안정성을 보장할 수 있는 장점까지 갖는다.In particular, according to the present invention, even without using a hooking technique in the user area, it is possible to continuously and accurately track the process relationship based on the RPC call and to ensure system stability.

이하에서는, 도 3을 참조하여, 본 발명의 호출 기반의 악성 진단 방법이 동작하는 구체적인 일 실시예를 설명하겠다.Hereinafter, a specific embodiment in which the call-based malicious diagnosis method of the present invention operates will be described with reference to FIG. 3 .

설명의 편의 상, 본 발명의 호출 기반의 악성 진단 방법이 수행되는 동작 주체로서 호출 기반의 악성 진단 장치(100)을 언급하여 설명하며, 앞서 설명한 도 1을 참조하여 설명하겠다.For convenience of description, the call-based malicious diagnosis apparatus 100 will be referred to as an operating subject for performing the call-based malicious diagnosis method of the present invention, and will be described with reference to FIG. 1 described above.

본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, RPC에 의해 동작하는 프로세스가 기 정의된 특정 행위를 수행하는지 감시한다(S10).According to the call-based malicious diagnosis method of the present invention, the call-based malicious diagnosis apparatus 100 monitors whether a process operated by RPC performs a predetermined specific action (S10).

즉, 호출 기반의 악성 진단 장치(100)는, RPC에 의해 동작하는 프로세스 즉 유저 영역의 서브시스템 프로세스(20)가 기 정의된 특정 행위 즉 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등을 수행하는지 여부를 지속적으로 감시하는 것이다.That is, in the call-based malicious diagnosis apparatus 100, a process operated by RPC, that is, a specific action defined by the subsystem process 20 in the user area, that is, process creation, thread creation, module loading, file or registry I It is to continuously monitor whether /O is executed or not.

이하에서는, 설명의 편의 상, 유저 영역의 프로세스(10, 예: powershell.exe)가 RPC(예: ComObject)를 요청(이용)하여 InternetExplorer(iexplore.exe)을 실행한다고 가정하겠다.Hereinafter, for convenience of explanation, it is assumed that a process (10, eg, powershell.exe) in the user area requests (uses) an RPC (eg, ComObject) to execute InternetExplorer (iexplore.exe).

이 경우, RPC(예: ComObject)에 의해 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 동작되며, 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 수행하는 제반 동작에 따라 전술의 특정 행위(예: 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등)가 발생할 것이다.In this case, the subsystem process (20, eg svchost.exe(DComLaunch)) is operated by RPC (eg ComObject), and all actions performed by the subsystem process (20, eg svchost.exe (DComLaunch)) Depending on the above specific actions (eg process creation, thread creation, module loading, file or registry I/O, etc.) will occur.

이에, 본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, 전술의 S10단계에 따른 지속적인 감시를 통해, RPC(예: ComObject)에 의해 동작하는 유저 영역의 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 특정 행위(예: 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등)를 수행하는 것을 감시/확인할 수 있다.Accordingly, according to the call-based malignancy diagnosis method of the present invention, the call-based malignancy diagnosis apparatus 100 performs continuous monitoring according to the above-described step S10 of a sub of the user area operated by RPC (eg, ComObject). You can monitor/confirm that a system process (20, eg, svchost.exe (DComLaunch)) performs a specific action (eg, process creation, thread creation, module loading, file or registry I/O, etc.).

본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, RPC에 의해 동작하는 프로세스 즉 유저 영역의 서브시스템 프로세스(20)가 특정 행위를 수행하는 것이 확인되면, 해당 시점의 프로세스 데이터 및 RPC 데이터 즉 스레드 데이터 내의 RPC 데이터를 확인한다(S20).According to the call-based malicious diagnosis method of the present invention, the call-based malicious diagnosis apparatus 100 determines that a process operated by RPC, that is, the subsystem process 20 of the user area performs a specific action, Process data and RPC data at the time, that is, RPC data in thread data is checked (S20).

전술의 예시를 언급하여 계속 설명하면, 호출 기반의 악성 진단 장치(100)는, RPC(예: ComObject)에 의해 동작하는 유저 영역의 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 특정 행위(예: 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O 등)를 수행하는 것이 확인되면, 커널 영역에서 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 확인하는 것이다.Continuing the description by referring to the above example, in the call-based malicious diagnosis apparatus 100, a subsystem process 20 in the user area operated by RPC (eg, ComObject) (eg, svchost.exe (DComLaunch)) When a specific action (e.g., process creation, thread creation, module loading, file or registry I/O, etc.) is confirmed to be performed, a subsystem process (20, e.g. svchost.exe(DComLaunch)) is executed in the kernel area. It is to check the process data and RPC data at the point in time.

그리고, 본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, 금번 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 RPC 데이터 내 RPC로 연결(Binding)되어 있는 RPC 요청 클라이언트를 확인하고, 금번 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 프로세스 데이터에서 전술이 확인한 RPC 요청 클라이언트로서의 프로세스가 존재하는지 확인할 수 있다(S30).And, according to the call-based malicious diagnosis method of the present invention, the call-based malicious diagnosis apparatus 100 provides RPC data in RPC data at the time when the current subsystem process 20 (eg, svchost.exe (DComLaunch)) is executed. Check the RPC request client that is connected to (Binding), and check whether the process as the RPC request client checked above exists in the process data at the time the subsystem process (20, eg, svchost.exe (DComLaunch)) is executed can be (S30).

이에, 본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, RPC 요청 클라이언트로서의 프로세스가 존재하면(S30 Yes), 금번 특정 행위 수행이 부모-자식 관계 설정이 요구되는 대상인 것으로 결정할 수 있다.Accordingly, according to the call-based malicious diagnosis method of the present invention, if a process as an RPC request client exists (S30 Yes), the call-based malicious diagnosis apparatus 100 requires the establishment of a parent-child relationship to perform a specific action this time. can be determined to be the target.

본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, 금번 특정 행위 수행이 부모-자식 관계 설정이 요구되는 대상인 것으로 결정하면(S30 Yes), 커널 영역에서 상기 프로세스가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 근거로, RPC 데이터 내 RPC로 연결(Binding)되어 있는 RPC 요청 클라이언트로 확인되는 프로세스를 주체 프로세스로서 식별할 수 있다(S40).According to the call-based malignancy diagnosis method of the present invention, when the call-based malignancy diagnosis apparatus 100 determines that the execution of a specific action this time is a target for which parent-child relationship setting is required (S30 Yes), the process in the kernel area Based on the process data and RPC data at the time when is executed, a process identified as an RPC requesting client connected to RPC in the RPC data may be identified as the subject process (S40).

전술의 예시를 언급하여 설명하면, 호출 기반의 악성 진단 장치(100)는, 커널 영역에서 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 근거로, RPC 데이터 내 RPC로 연결(Binding)되어 있는 RPC 요청 클라이언트를 확인하고 프로세스 데이터에서 전술이 확인한 RPC 요청 클라이언트로서의 프로세스를 확인한다.Referring to the above example, the call-based malicious diagnosis apparatus 100 is based on the process data and RPC data at the time when the subsystem process 20 (eg, svchost.exe (DComLaunch)) is executed in the kernel area. As a result, the RPC request client connected to the RPC in the RPC data is checked, and the process as the RPC request client identified above is checked in the process data.

이에, 호출 기반의 악성 진단 장치(100)는, RPC 요청 클라이언트로서 확인한 프로세스(예: 10)을 금번 RPC(예: ComObject)을 요청한 주체 프로세스로서 식별할 수 있다(S40).Accordingly, the call-based malicious diagnosis apparatus 100 may identify the process (eg, 10) identified as the RPC request client as the subject process requesting the RPC (eg, ComObject) this time ( S40 ).

그리고, 본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, 금번 특정 행위 수행에 따라 생성된 대상물을, 금번 식별한 주체 프로세스와 매핑하여 부모-자식 관계로 설정한다(S50).And, according to the call-based malignancy diagnosis method of the present invention, the call-based malignancy diagnosis apparatus 100 maps an object created by performing a specific action this time with the identified subject process and sets a parent-child relationship do (S50).

즉, 전술의 예시를 언급하여 설명하면, 호출 기반의 악성 진단 장치(100)는, 금번 특정 행위 수행에 따라 생성된 대상물(예: iexplore.exe)을, 서브시스템 프로세스(20, 예: svchost.exe(DComLaunch))가 아닌 식별자(120)에서 식별한 주체 프로세스(10, 예: powershell.exe)와 매핑하여 부모-자식 관계를 설정하는 것이다(S50).That is, referring to the above example, the call-based malicious diagnosis apparatus 100 converts an object (eg, iexplore.exe) generated according to the execution of a specific action this time to a subsystem process (20, eg, svchost.exe). exe (DComLaunch)), but to establish a parent-child relationship by mapping with the subject process (10, eg, powershell.exe) identified by the identifier 120 (S50).

이에, 본 발명에서는, 커널 영역에서 서브시스템(프로세스)이 실행되는 시점에 RPC로 연결(Binding) 되어 있는 RPC 요청 클라이언트를 주체 프로세스로서 식별하는 기술 구현을 기반으로, RPC를 실제 요청한 주체 프로세스를 부모로 서브시스템의 하위로 생성되는 (생성물)프로세스를 자식으로 하는 간접 관계를 형성함으로써, 실제적인 프로세스 관계(부모-자식)를 지속적으로 정확하게 추적할 수 있도록 한다.Therefore, in the present invention, based on the implementation of the technology that identifies the RPC requesting client that is connected to RPC as the subject process at the time the subsystem (process) is executed in the kernel area, the subject process that actually requested the RPC is set as the parent. By forming an indirect relationship with the (product) process created as a child of the subsystem as a child, the actual process relationship (parent-child) can be continuously and accurately traced.

더 나아가, 본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, 특정 프로세스에서 악의적 행위 발생이 감지되는지 모니터링한다.Furthermore, according to the call-based malicious diagnosis method of the present invention, the call-based malicious diagnosis apparatus 100 monitors whether a malicious action is detected in a specific process.

이때, 악의적 행위 발생을 감지하는 방식은, 시그니처 기반 감지 또는 행위 기반 감지 등 기존 감지 방식을 다양하게 채택할 수 있으며, 감지 방식에 제한을 두지 않다.In this case, as a method of detecting the occurrence of a malicious action, various existing detection methods such as signature-based detection or action-based detection may be adopted, and the detection method is not limited.

본 발명의 호출 기반의 악성 진단 방법에 따르면, 호출 기반의 악성 진단 장치(100)는, 모니터링 결과 특정 프로세스에서 악의적 행위 발생이 감지되면, 기 설정된 부모-자식 관계 정보 즉 본 발명의 간접 관계 형성에 따른 부모-자식 관계 정보를 근거로, 금번 악의적 행위를 발생시킨 특정 프로세스 뿐 아니라 금번 악의적 행위를 발생시킨 특정 프로세스를 자식으로 하는 부모 프로세스까지 모두 악성 프로세스군으로 탐지해낼 수 있다(S60).According to the call-based malignancy diagnosis method of the present invention, the call-based malignancy diagnosis apparatus 100 detects the occurrence of a malicious behavior in a specific process as a result of monitoring, and applies preset parent-child relationship information, that is, to form an indirect relationship according to the present invention. Based on the parent-child relationship information, it is possible to detect not only the specific process that generated the current malicious behavior but also the parent process that has the specific process that generated the current malicious behavior as a child as a group of malicious processes (S60).

이상, 설명한 바와 같이, 본 발명의 호출 기반의 악성 진단 방법은, RPC를 실제 요청한 주체 프로세스를 부모로 서브시스템의 하위로 생성되는 (생성물)프로세스를 자식으로 하는 간접 관계를 형성하는 기술을 구현하여, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적할 수 있도록 한다.As described above, the call-based malicious diagnosis method of the present invention implements a technique of forming an indirect relationship in which the subject process that actually requested the RPC is the parent and the (product) process created as a child of the subsystem is created. , to enable continuous and accurate tracking of process relationships based on RPC calls in the Windows system environment.

이에, 본 발명에 따르면, 윈도우 시스템 환경에서 RPC 호출 기반의 프로세스 관계를 지속적으로 정확하게 추적함으로써, 정확한 프로세스 관계를 통해 악성 진단/탐지의 신뢰도를 현저히 향상시킬 수 있는 효과를 기대할 수 있다.Accordingly, according to the present invention, by continuously and accurately tracking the process relationship based on the RPC call in the window system environment, the reliability of malicious diagnosis/detection through the accurate process relationship can be expected to be significantly improved.

본 발명의 실시예에 따르는 호출 기반의 악성 진단성방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The call-based malicious diagnostic method according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with specific matters such as specific components and limited embodiments and drawings, but these are only provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations are possible from these descriptions by those of ordinary skill in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims to be described later, but also all those with equivalent or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .

100 : 호출 기반의 악성 진단 장치
110 : 감시부 120 : 식별부
130 : 관계설정부 140 : 악성탐지부
100: call-based malicious diagnosis device
110: monitoring unit 120: identification unit
130: relationship setting unit 140: malicious detection unit

Claims (12)

특정 호출에 의해 동작하는 프로세스가 기 정의된 특정 행위를 수행하는지 감시하는 감시단계;
상기 특정 행위 수행이 확인되면, 상기 특정 호출을 요청한 주체 프로세스를 식별하는 식별단계;
상기 특정 행위 수행에 따라 생성된 대상물을, 상기 프로세스가 아닌 상기 식별한 주체 프로세스와 매핑하여 부모-자식 관계로 설정하는 관계설정단계를 포함하는 것을 특징으로 하는 호출 기반의 악성 진단 방법.
a monitoring step of monitoring whether a process operated by a specific call performs a predefined specific action;
an identification step of identifying a subject process that has requested the specific call when it is confirmed that the specific action is performed;
and a relationship setting step of mapping an object created according to the performance of the specific action with the identified subject process instead of the process to establish a parent-child relationship.
제 1 항에 있어서,
상기 특정 호출은 RPC(Remote Procedure Call)이며,
상기 특정 행위는 유저 영역의 서브시스템 프로세스가 수행하는 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O를 포함하는 것을 특징으로 하는 호출 기반의 악성 진단 방법.
The method of claim 1,
The specific call is a Remote Procedure Call (RPC),
The call-based malicious diagnosis method, characterized in that the specific action includes process creation, thread creation, module loading, and file or registry I/O performed by a subsystem process in the user space.
제 1 항에 있어서,
상기 특정 행위 수행이 확인되면, 프로세스 데이터 및 RPC 데이터 존재 여부를 확인하여, 상기 특정 행위 수행이 상기 부모-자식 관계 설정이 요구되는 대상인지 여부를 결정하는 단계를 더 포함하는 것을 호출 기반의 악성 진단 방법.
The method of claim 1,
If the execution of the specific action is confirmed, determining whether the specific action is a target for which the parent-child relationship setting is required by checking the existence of process data and RPC data. Way.
제 1 항에 있어서,
상기 식별단계는,
상기 특정 행위 수행이 확인되면, 커널 영역에서 상기 프로세스가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 근거로 상기 특정 호출을 요청한 주체 프로세스를 식별하는 것을 호출 기반의 악성 진단 방법.
The method of claim 1,
The identification step is
When the execution of the specific action is confirmed, the call-based malicious diagnosis method identifies the subject process requesting the specific call based on RPC data and process data at the time the process is executed in the kernel area.
제 4 항에 있어서,
상기 식별단계는,
상기 프로세스 데이터 및 RPC 데이터를 근거로, RPC 데이터 내 RPC로 연결(Binding)되어 있는 RPC 요청 클라이언트로 확인되는 프로세스를 상기 주체 프로세스로서 식별하는 것을 호출 기반의 악성 진단 방법.
5. The method of claim 4,
The identification step is
A call-based malicious diagnosis method for identifying a process identified as an RPC requesting client connected to RPC in RPC data as the subject process based on the process data and RPC data.
제 1 항에 있어서,
특정 프로세스에서 악의적 행위 발생이 감지되면, 기 설정된 부모-자식 관계 정보를 근거로 상기 특정 프로세스를 포함한 부모 프로세스 및 상기 특정 프로세스를 악성 프로세스군으로 탐지하는 단계를 더 포함하는 것을 호출 기반의 악성 진단 방법.
The method of claim 1,
The method of diagnosing malicious behavior based on a call, further comprising the step of detecting a parent process including the specific process and the specific process as a group of malicious processes based on preset parent-child relationship information when a malicious behavior is detected in a specific process .
특정 호출에 의해 동작하는 프로세스가 기 정의된 특정 행위를 수행하는지 감시하는 감시부;
상기 특정 행위 수행이 확인되면, 상기 특정 호출을 요청한 주체 프로세스를 식별하는 식별부;
상기 특정 행위 수행에 따라 생성된 대상물을, 상기 프로세스가 아닌 상기 식별한 주체 프로세스와 매핑하여 부모-자식 관계로 설정하는 관계설정부를 포함하는 것을 특징으로 하는 호출 기반의 악성 진단 장치.
a monitoring unit for monitoring whether a process operated by a specific call performs a predefined specific action;
an identification unit for identifying the subject process requesting the specific call when the specific action is confirmed;
and a relationship setting unit configured to set a parent-child relationship by mapping the object generated according to the specific action execution with the identified subject process instead of the process.
제 7 항에 있어서,
상기 특정 호출은 RPC(Remote Procedure Call)이며,
상기 특정 행위는 유저 영역의 서브시스템 프로세스가 수행하는 프로세스 생성, 스레드 생성, 모듈의 로드, 파일 또는 레지스트리 I/O를 포함하는 것을 특징으로 하는 호출 기반의 악성 진단 장치.
8. The method of claim 7,
The specific call is a Remote Procedure Call (RPC),
The call-based malicious diagnosis apparatus, characterized in that the specific action includes process creation, thread creation, module loading, and file or registry I/O performed by a subsystem process in the user space.
제 7 항에 있어서,
상기 식별부는,
상기 특정 행위 수행이 확인되면, 커널 영역에서 상기 프로세스가 실행되는 시점의 프로세스 데이터 및 RPC 데이터를 근거로 상기 특정 호출을 요청한 주체 프로세스를 식별하는 것을 호출 기반의 악성 진단 장치.
8. The method of claim 7,
The identification unit,
When the execution of the specific action is confirmed, a call-based malicious diagnosis apparatus identifies the subject process requesting the specific call based on RPC data and process data at the time the process is executed in the kernel area.
제 9 항에 있어서,
상기 식별부는,
상기 프로세스 데이터 및 RPC 데이터를 근거로, RPC 데이터 내 RPC로 연결(Binding)되어 있는 RPC 요청 클라이언트로 확인되는 프로세스를 상기 주체 프로세스로서 식별하는 것을 호출 기반의 악성 진단 장치.
10. The method of claim 9,
The identification unit,
A call-based malicious diagnosis apparatus for identifying a process identified as an RPC requesting client connected to RPC in RPC data as the subject process based on the process data and RPC data.
제 7 항에 있어서,
특정 프로세스에서 악의적 행위 발생이 감지되면, 기 설정된 부모-자식 관계 정보를 근거로 상기 특정 프로세스를 포함한 부모 프로세스 및 상기 특정 프로세스를 악성 프로세스군으로 탐지하는 악성탐지부를 더 포함하는 것을 호출 기반의 악성 진단 장치.
8. The method of claim 7,
When the occurrence of a malicious behavior is detected in a specific process, the call-based malicious diagnosis further includes a parent process including the specific process and a malicious process group for detecting the specific process as a group of malicious processes based on preset parent-child relationship information. Device.
제 1 항 내지 제 6 항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a program for performing the method of any one of claims 1 to 6.
KR1020190176869A 2019-12-27 2019-12-27 Malicious diagnosis device and malicious diagnosis method using procedure call KR102355556B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190176869A KR102355556B1 (en) 2019-12-27 2019-12-27 Malicious diagnosis device and malicious diagnosis method using procedure call

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190176869A KR102355556B1 (en) 2019-12-27 2019-12-27 Malicious diagnosis device and malicious diagnosis method using procedure call

Publications (2)

Publication Number Publication Date
KR20210084003A true KR20210084003A (en) 2021-07-07
KR102355556B1 KR102355556B1 (en) 2022-01-26

Family

ID=76862561

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190176869A KR102355556B1 (en) 2019-12-27 2019-12-27 Malicious diagnosis device and malicious diagnosis method using procedure call

Country Status (1)

Country Link
KR (1) KR102355556B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466074A (en) * 2021-12-10 2022-05-10 奇安信科技集团股份有限公司 Attack behavior detection method and device based on WMI
CN117494117A (en) * 2023-11-17 2024-02-02 北京天融信网络安全技术有限公司 Tracking system and tracking method for remote procedure call

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200316A (en) * 1993-12-28 1995-08-04 Fujitsu Ltd Child process generating method
JP2003150393A (en) * 2001-11-09 2003-05-23 Nec Corp System, method and program for processing remote service
JP2011053893A (en) * 2009-09-01 2011-03-17 Hitachi Ltd Illicit process detection method and illicit process detection system
JP2018200641A (en) * 2017-05-29 2018-12-20 富士通株式会社 Abnormality detection program, abnormality detection method, and information processing apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200316A (en) * 1993-12-28 1995-08-04 Fujitsu Ltd Child process generating method
JP2003150393A (en) * 2001-11-09 2003-05-23 Nec Corp System, method and program for processing remote service
JP2011053893A (en) * 2009-09-01 2011-03-17 Hitachi Ltd Illicit process detection method and illicit process detection system
JP2018200641A (en) * 2017-05-29 2018-12-20 富士通株式会社 Abnormality detection program, abnormality detection method, and information processing apparatus

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Michael Gough, "Detecting WMI Exploitation"(2018.10.) *
Noora Hyvarinen, "Detecting Parent PID Spoofing"(2018.12.) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114466074A (en) * 2021-12-10 2022-05-10 奇安信科技集团股份有限公司 Attack behavior detection method and device based on WMI
CN114466074B (en) * 2021-12-10 2024-04-30 奇安信科技集团股份有限公司 WMI-based attack behavior detection method and device
CN117494117A (en) * 2023-11-17 2024-02-02 北京天融信网络安全技术有限公司 Tracking system and tracking method for remote procedure call

Also Published As

Publication number Publication date
KR102355556B1 (en) 2022-01-26

Similar Documents

Publication Publication Date Title
KR101931779B1 (en) Apparatus for monitoring file access in virtual machine and method for the same
JP5908132B2 (en) Apparatus and method for detecting attack using vulnerability of program
US8621605B2 (en) Method for reducing the time to diagnose the cause of unexpected changes to system files
KR101647487B1 (en) Analysis system and method for patch file
KR102355556B1 (en) Malicious diagnosis device and malicious diagnosis method using procedure call
RU2535506C2 (en) System and method for creating application behaviour model scripts
KR20160044484A (en) Cloud deployment infrastructure validation engine
US20180293378A1 (en) Threat defense techniques
US20170103202A1 (en) Apparatus and method for monitoring virtual machine based on hypervisor
KR20130126251A (en) System and method for web service monitoring
KR101461217B1 (en) Test system and method for cost reduction of performance test in cloud environment
JP5990646B2 (en) Forced protection control in virtual machines
Vokorokos et al. Application security through sandbox virtualization
US11262993B2 (en) Application binary rewriting to reduce binary attack surface area
CN114065196A (en) Java memory horse detection method and device, electronic equipment and storage medium
CN112445686A (en) Memory leak detection method, device and computer-readable storage medium
KR101769714B1 (en) System and method for prventing the activation of bad usb
US7784101B2 (en) Identifying dependencies of an application upon a given security context
JP5392263B2 (en) Information processing apparatus and memory protection method thereof
KR101724412B1 (en) Apparatus for analysis application using expansion code and method usnig the same
US8122203B2 (en) Serviceability level indicator processing for storage alteration
JP2008305377A (en) System and method for intrusion protection of network storage
US20160224406A1 (en) Automated remote network target computing device issue resolution
CN115396140A (en) Application access control method and device, storage medium and computer equipment
US20240095351A1 (en) Hypervisor-assisted data backup and recovery for next generation anti-virus (ngav) systems

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)