KR102022168B1 - Apparatus and methods for detecting of stealth task using hardware task switching - Google Patents

Apparatus and methods for detecting of stealth task using hardware task switching Download PDF

Info

Publication number
KR102022168B1
KR102022168B1 KR1020170173683A KR20170173683A KR102022168B1 KR 102022168 B1 KR102022168 B1 KR 102022168B1 KR 1020170173683 A KR1020170173683 A KR 1020170173683A KR 20170173683 A KR20170173683 A KR 20170173683A KR 102022168 B1 KR102022168 B1 KR 102022168B1
Authority
KR
South Korea
Prior art keywords
task
changed
tss
hardware
switching
Prior art date
Application number
KR1020170173683A
Other languages
Korean (ko)
Other versions
KR20190072375A (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 KR1020170173683A priority Critical patent/KR102022168B1/en
Publication of KR20190072375A publication Critical patent/KR20190072375A/en
Application granted granted Critical
Publication of KR102022168B1 publication Critical patent/KR102022168B1/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
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Landscapes

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

Abstract

본 명세서에 개시된 하드웨어 태스크 스위칭이 가능한 컴퓨팅 장치에서 수행되는 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법은 하드웨어 태스크 스위칭의 제어와 관련된 테이블을 저장장치로부터 읽는 단계, 테이블의 복사본을 저장장치로 저장하는 단계, 테이블의 복사본과 테이블을 비교하여, 테이블의 변경 여부를 판단하는 단계 및 테이블이 변경된 것으로 판단될 경우, 미리 정해진 처리 방법을 수행하는 단계를 포함한다.A hidden task monitoring and treatment method for a computing device performed in a hardware task switchable computing device disclosed herein may include reading a table from storage related to control of hardware task switching, storing a copy of the table into storage, Comparing the table with a copy of the table, determining whether the table has changed, and if it is determined that the table has changed, performing a predetermined processing method.

Description

하드웨어 태스크 스위칭을 이용한 은닉 태스크의 감지 방법 및 장치 {APPARATUS AND METHODS FOR DETECTING OF STEALTH TASK USING HARDWARE TASK SWITCHING}{APPARATUS AND METHODS FOR DETECTING OF STEALTH TASK USING HARDWARE TASK SWITCHING}

본 명세서는 공격자의 악의적인 공격으로 컴퓨팅 장치에서 하드웨어 태스크 스위칭을 이용해 수행되는 은닉 태스크를 감지하고 이를 치료하는 방법 및 그 장치에 관한 것이다.The present disclosure relates to a method and apparatus for detecting and treating a hidden task performed using hardware task switching in a computing device by a malicious attack by an attacker.

인터넷 등의 공중망(Public Network) 및 기업 내부의 사설망(Private Network)은 다수의 클라이언트 단말이 연결되어 있고, 어느 클라이언트 단말이 악성 코드에 감염된 경우 다른 클라이언트 단말들도 같은 악성 코드에 감염될 우려가 있으므로, 클라이언트 단말에 설치 또는 실행되는 프로그램을 감시할 필요가 있다. 보통의 악성 코드들은 클라이언트 단말의 관리자 권한을 얻어서 클라이언트 단말의 중요한 파일을 훼손 또는 암호화 하거나, 단말의 외부로 전송하기도 한다. In public networks such as the Internet and private networks inside an enterprise, a plurality of client terminals are connected, and when one client terminal is infected with malicious code, other client terminals may be infected with the same malicious code. In addition, it is necessary to monitor a program installed or executed on a client terminal. Common malicious codes gain the authority of the client terminal to damage or encrypt important files of the client terminal or transmit them to the outside of the terminal.

네트워크로부터 바이러스, 랜섬웨어, 웜 등의 클라이언트 단말에 대한 악성 코드의 침입을 감시하는 기존 백신은 미리 알려진 루트킷(Rootkit)을 감지하고 이를 삭제하는 방식을 주로 사용한다.Existing vaccines that monitor malicious code intrusions into client terminals such as viruses, ransomware, and worms from the network mainly use a method of detecting and deleting known rootkits.

하지만, 루트킷을 통해서 관리자 권한을 얻은 공격자가 운영체제(Operating System)에서 감지할 수 없는 은닉 태스크를 실행한다면, 기존 백신은 루트킷을 삭제할 뿐 해당 은닉 태스크를 감지하거나 이를 종료시킬 수 없는 문제점이 있다. However, if an attacker who has gained administrator privileges through a rootkit executes a hidden task that cannot be detected by an operating system, the existing vaccine deletes the rootkit and cannot detect or terminate the hidden task.

이러한 방식으로 공격자가 은닉 태스크를 실행하는 경우, 종래의 일반적인 백신에 감지되지 않은 채로 사용자의 단말 장치에 대한 파일 변경, 훼손을 수행할 수 있고 또한 클라우딩 서버에서 수행되는 경우 클라우딩 서버의 연산장치의 자원을 공격자가 마음대로 이용할 수 있는 문제점이 있다.In this way, when an attacker executes a concealment task, a file change or damage to a user's terminal device can be performed without being detected by a conventional general vaccine. There is a problem in that the attacker can use the resources of his own.

등록특허공보 제10-1366554호, 2014.2.18Patent Application Publication No. 10-1366554, 2014.2.18

종래 기술로서 운영체제에서 감지할 수 없는 은닉 태스크를 생성하는 공격 방식은 알려진 적 없으나 실험을 통해 그러한 은닉 태스크를 생성하는 방법이 있음을 발견하여, 본 발명은 하드웨어 태스크 스위칭(Hardware Task Switching)을 이용하여 운영체제에서 감지할 수 없는 은닉 태스크의 생성 여부를 감지하고 이를 치료 가능한 방법 및 장치를 제안한다. As a prior art, an attack method for generating a hidden task that cannot be detected by an operating system has not been known, but through experiments, there is a method of generating such a hidden task. Thus, the present invention uses hardware task switching. The present invention proposes a method and apparatus for detecting whether a hidden task is generated that cannot be detected by an operating system and treating the same.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Problems to be solved by the present invention are not limited to the above-mentioned problems, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 명세서는 하드웨어 태스크 스위칭이 가능한 컴퓨팅 장치에서 수행되는 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법 방법을 제시한다. 상기 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법은 하드웨어 태스크 스위칭의 제어와 관련된 테이블을 저장장치로부터 읽는 단계; 상기 테이블의 복사본을 저장장치로 저장하는 단계; 상기 테이블의 복사본과 상기 테이블을 비교하여, 상기 테이블의 변경 여부를 판단하는 단계; 및 상기 테이블이 변경된 것으로 판단될 경우, 미리 정해진 처리 방법을 수행하는 단계를 포함할 수 있다.The present disclosure provides a method for concealment task monitoring and treatment of a computing device performed in a computing device capable of hardware task switching. The method for monitoring and treating hidden tasks of the computing device includes reading a table from storage related to control of hardware task switching; Storing a copy of the table on storage; Comparing the table with a copy of the table to determine whether the table has been changed; And if it is determined that the table has been changed, performing a predetermined processing method.

상기 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.The method and other embodiments may include the following features.

상기 컴퓨팅 장치는 IA-32(Intel Architecture-32) 기반이고, 상기 하드웨어 태스크 스위칭의 제어와 관련된 테이블은 GDT(Global Descriptor Table) 또는 TSS(Task State Segment)일 수 있다. 상기 테이블의 변경 여부를 판단하는 단계는 TSS(Task State Segment) 서술자(Descriptor) 가 변경되거나 추가된 경우 또는 TSS의 EIP 값이 변경된 경우에 상기 테이블이 변경된 것으로 판단할 수 있다. 상기 테이블이 변경된 것으로 판단한 경우, 은닉 태스크의 실행코드를 검색하고 이를 패치(Patch)하는 단계 및 상기 테이블의 복사본을 이용하여 상기 변경된 테이블을 복원하는 단계를 더 포함할 수 있다.The computing device is based on Intel Architecture-32 (IA-32), and the table related to the control of the hardware task switching may be a Global Descriptor Table (GDT) or a Task State Segment (TSS). The determining of whether or not the table is changed may determine that the table is changed when a Task State Segment (TSS) descriptor is changed or added or when an EIP value of the TSS is changed. If it is determined that the table has been changed, the method may further include retrieving and patching execution code of a concealment task and restoring the changed table by using a copy of the table.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 명세서에 개시된 실시 예들에 의하면, 공격자가 하드웨어 태스크 스위칭을 통해 은닉된 태스크를 실행시키는 경우 이를 감지하고 치료할 수 있다.According to embodiments disclosed herein, when an attacker executes a hidden task through hardware task switching, it can detect and treat it.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 은닉 태스크 감시 및 치료 시스템의 구성을 나타내는 도면이다.
도 2는 하드웨어 태스크 스위칭을 통한 은닉 태스크의 실행 가능성에 대한 실험 결과를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 은닉 태스크 감시 및 치료 방법을 설명하기 위한 흐름도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 GDT, IDT, LDT 및 TSS의 관계를 설명하는 도면이다.
도 6은 IA-32 기반의 TSS 구조를 설명하는 도면이다.
1 is a view showing the configuration of the hidden task monitoring and treatment system according to an embodiment of the present invention.
2 is a diagram showing an experimental result of the feasibility of concealment task through hardware task switching.
3 is a flowchart illustrating a hidden task monitoring and treatment method according to an embodiment of the present invention.
4 and 5 are diagrams illustrating a relationship between a GDT, an IDT, an LDT, and a TSS according to an embodiment of the present invention.
6 is a diagram illustrating an IA-32 based TSS structure.

본 명세서에 개시된 기술은 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.The techniques disclosed herein may be applied to methods of concealment task monitoring and treatment of computing devices. However, the technology disclosed herein is not limited thereto, and may be applied to all electronic devices and methods to which the technical spirit of the technology may be applied.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is to be noted that the technical terms used herein are merely used to describe particular embodiments and are not intended to limit the spirit of the technology disclosed herein. In addition, the technical terms used herein should be construed as meanings generally understood by those skilled in the art to which the technology disclosed herein belongs, unless defined otherwise in this specification. It should not be interpreted in a comprehensive sense, or in an overly reduced sense. In addition, when the technical terms used herein are incorrect technical terms that do not accurately express the spirit of the technology disclosed herein, technical terms that can be properly understood by those skilled in the art to which the technology disclosed herein belongs. It should be replaced by. In addition, the general terms used herein should be interpreted as defined in the dictionary, or according to the context before and after, and should not be interpreted in an excessively reduced sense.

본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.As used herein, terms including ordinal numbers such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments disclosed herein will be described in detail with reference to the accompanying drawings, and the same or similar components will be given the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted.

또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, in describing the technology disclosed herein, if it is determined that the detailed description of the related known technology may obscure the gist of the technology disclosed herein, the detailed description thereof will be omitted. In addition, it is to be noted that the accompanying drawings are only for easily understanding the spirit of the technology disclosed in this specification, and the spirit of the technology should not be construed as being limited by the accompanying drawings.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 은닉 태스크 감시 및 치료 장치의 예시적인 블록 다이어그램이다. 본 명세서에 개시된 은닉 태스크 감시 및 치료 장치는 제어부(110), 감시부(120), 저장부(130) 및 통신부(140)로 구성될 수 있다.1 is an exemplary block diagram of a hidden task monitoring and treatment apparatus. The hidden task monitoring and treatment apparatus disclosed herein may be configured of a control unit 110, a monitoring unit 120, a storage unit 130, and a communication unit 140.

제어부(110) 및 감시부(120)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로서, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The controller 110 and the monitor 120 may include all kinds of devices capable of processing data, such as a processor. Here, the 'processor' may refer to a data processing apparatus embedded in hardware having, for example, a circuit physically structured to perform a function represented by code or instructions included in a program. As an example of a data processing device embedded in hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific integrated ASIC may be used. It may include a processing device such as a circuit, a field programmable gate array (FPGA), but the scope of the present invention is not limited thereto.

은닉 태스크 감시 및 치료 장치는 하드웨어 태스크 스위칭(Hardware Task Switching)이 가능한 컴퓨팅 장치에서 구현될 수 있다.The hidden task monitoring and treatment apparatus may be implemented in a computing device capable of hardware task switching.

태스크(Task)는 프로세서가 디스패치(Dispatch, 작업을 처리하기 위해 시스템 자원을 할당하는 것), 실행, 서스펜드(Suspend, 중지, 연기)를 할 수 있는 작업의 한 단위이고, 예를 들어, IA-32(Intel Architecture- 32) 기반 프로세서는 태스크의 상태 저장, 실행을 위한 태스크 디스패치, 태스크 스위칭을 위한 메커니즘을 제공한다. A task is a unit of work that allows a processor to dispatch, allocate, suspend, suspend, or execute, for example, IA-. The 32 (Intel Architecture- 32) based processor provides a mechanism for task storage, task dispatch for execution, and task switching.

프로세서가 보호 모드에서 작동될 경우, 태스크 내에서 프로세스의 실행이 이루어지는데, 태스크는 태스크 실행 공간과 TSS(태스크 상태 세그먼트, Task State Segment)의 두 구성요소로 구성된다. 태스크 실행 공간은 코드 세그먼트, 스택 세그먼트, 하나 혹은 하나 이상의 데이터 세그먼트들로 이루어진다. 복잡한 시스템은 프로세서의 태스크 관리 기능들을 이용하여 멀티 태스킹(Multi-Tasking)을 수행할 수 있고, 이 경우 TSS는 태스크 링킹 (Task-Linking) 메커니즘을 제공할 수 있다.When the processor is operating in protected mode, the execution of the process occurs within the task, which consists of two components: the task execution space and the task state segment (TSS). The task execution space consists of code segments, stack segments, one or more data segments. Complex systems can perform multi-tasking using the processor's task management functions, in which case the TSS can provide a task-linking mechanism.

멀티 태스킹을 지원하는 운영체제는 시스템의 자원이 허락하는 한 다수 개의 태스크를 디스패치하여 수행할 수 있고, 이를 위해 각 태스크를 스위칭하는 방식을 이용할 수 있다.An operating system that supports multitasking may dispatch and perform a plurality of tasks as long as the resources of the system allow, and for this purpose, a method of switching each task may be used.

태스크 스위칭 방법의 일예로서 선점형 방식의 태스크 스위칭은 수행중인 태스크의 작업이 완료되지 않아도 다른 태스크가 중앙처리장치를 선점 할 수 있다. 즉, 태스크가 수행되는 동안 어떤 상황에 있든지 해당 태스크를 일단 정지시키고 다른 태스크가 이전에 수행되던 곳부터 다시 시작하는 방식을 취한다.As an example of a task switching method, a preemptive type of task switching may allow another task to preempt the central processing unit even if the task of the task being performed is not completed. That is, no matter what the situation while the task is running, you can stop the task once and start again from where other tasks were previously performed.

자세히 설명하면, 중앙처리장치(CPU)에서 수행되는 태스크의 모든 레지스터 값을 저장하고, 이전에 수행하다가 저장되었던 태스크의 레지스터 값들을 중앙처리장치에 옮겨 멈추었던 부분부터 재개하는 방식이다.In detail, all register values of a task performed in the CPU are stored, and the register values of the previously executed task are stored in the CPU and resumed from the point where they stopped.

특정 중앙처리장치는 태스크 스위칭을 위한 하드웨어적인 메커니즘(Hardware Task Switching)을 제공하는데, 이 경우 TSS를 이용하기도 한다. TSS는 특정 태스크와 관련된 중앙처리장치의 상태를 설명하는 데이터 세그먼트이다. 즉, 하드웨어적인 LTR 명령으로 현재 수행할 태스크가 저장되어 있는 TSS의 TSS 셀렉터(Selector)를 TR 레지스터에 지정하고 중앙처리장치는 GDTR과 TR레지스터를 참조하여 GDT(Global Discriptor Table)내에 존재하는 TSS 디스크립터(Descriptor)를 이용하여 실제 TSS 영역을 참조한다. TSS 영역은 중앙처리장치의 수행에 필요한 모든 레지스터들을 기록할 수 있는 구조로 구성될 수 있고, 이 구조에 이전 태스크 정보를 저장하고 다시 로딩하는 방법으로 태스크 스위칭을 수행할 수 있다. 다시 말하면, 일예로서 단순한 JMP 명령을 통해 TSS 셀렉터를 지정하여 자동으로 태스크 스위칭이 수행되도록 할 수 있고, 그 외에 CALL을 이용한 태스크 스위칭 등의 방식도 존재할 수 있다.Certain central processing units provide a hardware task switching mechanism for task switching, in which case they also use TSS. TSS is a data segment that describes the state of the CPU associated with a particular task. That is, the TSS selector of TSS, which stores the task to be performed by the hardware LTR instruction, is stored in the TR register, and the central processing unit refers to the GDTR and TR register, and the TSS descriptor existing in the GDT (Global Descriptor Table). (Descriptor) is used to refer to the actual TSS region. The TSS region may be configured in a structure capable of recording all registers required for the execution of the CPU, and task switching may be performed by storing and reloading previous task information in the structure. In other words, as an example, a TSS selector may be designated through a simple JMP command to automatically perform task switching. In addition, a task switching using a CALL may be present.

이에 비해 태스크 스위칭을 위한 소프트웨어적인 메커니즘(Software Task Switching)은 변화가 필요한 상태만을 저장 및 리로드(Reload)하는 방식으로, 현재의 스택 포인터(Stack Pointer)를 저장하고 새로운 스택 포인터를 리로드하는 기능을 통해 수행될 수 있다.Software Task Switching, on the other hand, saves and reloads only the state that needs to be changed, and saves the current stack pointer and reloads the new stack pointer. Can be performed.

하드웨어 태스크 스위칭(Hardware Task Switching)이 가능한 컴퓨팅 장치에서 구현될 경우 제어부(110)는 하드웨어 태스크 스위칭의 제어와 관련된 테이블을 저장부(130)에서 읽고 그 복사본을 저장부(130)에 저장할 수 있다.When implemented in a computing device capable of hardware task switching, the controller 110 may read a table related to control of hardware task switching from the storage 130 and store a copy thereof in the storage 130.

저장부(130)는 제어부(110) 또는 감시부(120)가 처리하는 데이터를 일시적 또는 영구적으로 저장하고, 은닉 태스크 감시 및 치료 장치의 중앙처리장치의 상태 데이터 및 태스크 스위칭에 필요한 데이터를 저장하는 기능을 포함한다. 저장부(130)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 또한, 저장부(130)는 활성 메모리이거나 비활성 메모리로 구현될 수도 있다.The storage unit 130 temporarily or permanently stores data processed by the control unit 110 or the monitoring unit 120, and stores state data of the central processing unit of the hidden task monitoring and treatment unit and data necessary for task switching. Includes features The storage unit 130 may include a magnetic storage media or a flash storage media, but the scope of the present invention is not limited thereto. In addition, the storage unit 130 may be implemented as an active memory or an inactive memory.

일 실시 예에서, 상기 저장부(130)는 일반저장소와 상기 일반저장소와 비교하여 보안 레벨이 높은 보안 저장소로 구분되어 구성될 수 있다. 보안 저장소는 은닉 태스크 감시 및 치료 태스크가 수행되기 위해 필요한 데이터들이 저장될 수 있다. 이와 같은 보안 저장소는 저장부뿐 아니라 제어부와 더불어 보안 환경의 형태로 구현될 수 있다. 예를 들어, 일반 태스크의 실행 환경은 낮은 보안 레벨을 가진 실행 환경으로, 예를 들어, REE(rich execution environment)이라고 불릴 수 있다. 또한, 일반 실행 환경과 구분되는 보안 실행 환경은 높은 보안 레벨을 가진 실행환경으로, 예를 들어, TEE(trusted execution environment)이라고 불릴 수 있다. 상기 보안 실행 환경은, 예를 들면, 상대적으로 높은 보안 레벨이 요구되는 데이터를 안전한 환경 내에서 저장하고 관련 동작을 수행할 수 있다.In one embodiment, the storage unit 130 may be divided into a general storage and a secure storage having a higher security level than the general storage. The secure store may store data needed for the concealment task monitoring and treatment task to be performed. Such a secure storage may be implemented in the form of a secure environment with a control unit as well as a storage unit. For example, the execution environment of a general task is an execution environment having a low security level, and may be called, for example, a rich execution environment (REE). In addition, a secure execution environment that is distinguished from a general execution environment is an execution environment having a high security level, for example, may be referred to as a trusted execution environment (TEE). The secure execution environment may, for example, store data requiring a relatively high security level in a secure environment and perform related operations.

감시부(120)는 메모리에 상주하여 주기적으로 태스크 스위칭의 제어와 관련된 테이블을 읽어 제어부(110)로 하여금 테이블의 변경 여부를 판단하도록 할 수 있다. 제어부(110)는 미리 저장된 상기 테이블의 복사본과 비교하여 변경된 경우 은닉 태스크의 실행코드를 검색하여 이를 패치하고 상기 변경된 테이블을 복원할 수 있다.The monitor 120 may read the table related to the control of the task switching periodically in the memory and allow the controller 110 to determine whether the table has been changed. The controller 110 may retrieve the execution code of the concealment task and restore the changed table when the changed code is compared with the previously stored copy of the table.

특정 아키텍쳐에 기반한 경우, 하드웨어 태스크 스위칭 메커니즘은 하위버젼과 호환성을 위해서 존재하지만 실질적으로 태스크 스위칭 메커니즘은 소프트웨어 태스크 스위칭 메커니즘만 적용할 수 있다. 이 경우, 공격자가 관리자 권한(Ring 0)을 획득하여 하드웨어 태스크 스위칭 메커니즘을 동작시켜 새로운 태스크를 실행시키는 경우 운영체제에서는 중앙처리장치의 사용량 측정으로도 해당 태스크(은닉 태스크)의 실행을 감지할 수 없는 문제점이 있다.Based on a specific architecture, hardware task switching mechanisms exist for backwards compatibility but in practice task switching mechanisms can only apply software task switching mechanisms. In this case, if an attacker gains administrator rights (Ring 0) and runs a hardware task switching mechanism to execute a new task, the operating system cannot detect the execution of the task (hidden task) even by the usage of the central processing unit. There is a problem.

예를 들어, IA-32 기반의 마이크로 소프트 윈도우즈 운영체제에서 TSS 구조체 포함된 공격자의 코드가 삽입된 드라이버를 로드하여 Ring 0 권한을 얻고 도 2(a)처럼 소프트웨어 태스크 스위칭과 하드웨어 태스크 스위칭에 타이머 값을 적용하여 동시에 해당 방식의 태스크들을 수행시켰을 경우, 도 2(b)의 오른쪽 화면처럼 윈도우즈의 중앙처리장치의 사용량 측정으로도 하드웨어 태스크 스위칭을 통한 태스크가 측정되지 않았음을 확인할 수 있다.For example, in an IA-32-based Microsoft Windows operating system, a driver loaded with an attacker's code containing a TSS structure is loaded to obtain Ring 0 permission, and the timer value is set for software task switching and hardware task switching as shown in FIG. When the tasks of the corresponding method are performed simultaneously, it can be confirmed that the task through the hardware task switching is not measured even by the usage measurement of the central processing unit of Windows as shown in the right screen of FIG.

본 명세서의 은닉 태스크 감시 및 치료 장치는 통신부를 포함할 수 있고, 통신부는 네트워크를 통해 외부의 장치들과 통신을 수행할 수 있다. 네트워크는 예를 들어, 무선 네트워크, 유선 네트워크, 인터넷과 같은 공용 네트워크, 사설 네트워크, 모바일 통신 네트워크용 광역 시스템(global system for mobile communication network; GSM) 네트워크, 범용 패킷 무선 네트워크(general packet radio network; GPRS), 근거리 네트워크(local area network; LAN), 광역 네트워크(wide area network; WAN), 거대도시 네트워크(metropolitan area network; MAN), 셀룰러 네트워크, 공중 전화 교환 네트워크(public switched telephone network; PSTN), 개인 네트워크(personal area network), 블루투스, Wi-Fi 다이렉트(Wi-Fi Direct), 근거리장 통신(Near Field communication), 초 광 대역(UltraWide band), 이들의 조합, 또는 임의의 다른 네트워크일 수 있지만 이들로 한정되는 것은 아니다.The hidden task monitoring and treatment apparatus of the present specification may include a communication unit, and the communication unit may perform communication with external devices through a network. The network may be, for example, a wireless network, a wired network, a public network such as the Internet, a private network, a global system for mobile communication network (GSM) network, a general packet radio network (GPRS). ), Local area network (LAN), wide area network (WAN), metropolitan area network (MAN), cellular network, public switched telephone network (PSTN), private Network, personal area network, Bluetooth, Wi-Fi Direct, Near Field communication, UltraWide band, combinations thereof, or any other network, but It is not limited to.

통신부(140)는 유선 및/또는 무선 통신 모듈로 구성될 수 있다. 예를 들어, 통신부(140)는, 와이파이(Wireless Fidelity, Wi-Fi), 블루투스(Bluetooth), 지그비(Zigbee), 엔에프씨(near field communication: NFC), 와이브로(Wireless Broadband Internet: Wibro) 등의 무선 통신모듈과 이더넷(Ethernet) 등의 유선 랜(LAN)과 같은 유선 통신 모듈 등을 포함할 수 있다. 상기 통신부(140)는 네트워크를 통해 외부 장치와 유무선 통신을 수행할 수 있다.The communication unit 140 may be configured as a wired and / or wireless communication module. For example, the communication unit 140 may include Wi-Fi (Wireless Fidelity, Wi-Fi), Bluetooth, Zigbee, near field communication (NFC), and Wi-Fi (Wireless Broadband Internet: Wibro). It may include a wireless communication module and a wired communication module such as a wired LAN such as Ethernet. The communication unit 140 may perform wired or wireless communication with an external device through a network.

도 3은 은닉 태스크 감시 및 치료 장치의 동작을 나타내는 흐름도이다. 3 is a flowchart illustrating the operation of the hidden task monitoring and treatment apparatus.

도 3을 참조하면, 은닉 태스크 감시 및 치료 장치는 하드웨어 태스크 스위칭의 제어와 관련된 테이블을 저장장치로부터 읽고(S301), 상기 테이블의 복사본을 저장장치로 저장(S302)할 수 있다.Referring to FIG. 3, the hidden task monitoring and treatment apparatus may read a table related to control of hardware task switching from a storage device (S301) and store a copy of the table to the storage device (S302).

앞서 기술한 것처럼, 하드웨어 태스크 스위칭에 특정 태스크과 관련된 중앙처리장치의 상태를 설명하는 데이터 세그먼트인 TSS를 이용할 수 있으며, 이 경우 TSS 영역은 중앙처리장치의 수행에 필요한 모든 레지스터들을 기록할 수 있는 구조로 구성될 수 있고, 이 구조에 이전 태스크 정보를 저장하고 다시 로딩하는 방법으로 태스크 스위칭을 수행할 수 있다.As described above, TSS, which is a data segment describing the state of the CPU related to a specific task, can be used for switching hardware tasks. In this case, the TSS area is a structure that can record all the registers required to perform the CPU. It can be configured, and task switching can be performed by storing and reloading previous task information in this structure.

따라서, IA-32 기반의 중앙처리장치는 GDT내에 존재하는 TSS 디스크립터(Descriptor)를 이용하여 실제 TSS 영역을 참조 및 이용하여 하드웨어 태스크 스위칭의 제어를 수행할 수 있으므로, 본 발명의 일 실시예로서 은닉 태스크 감시 및 치료 장치는 GDT(Global Descriptor Table)을 저장장치로부터 읽어 그 복사본을 저장장치로 저장할 수 있다.Therefore, the IA-32 based central processing unit can perform hardware task switching control by referring to and using the actual TSS region using the TSS descriptor present in the GDT, thus concealing it as an embodiment of the present invention. The task monitoring and treatment device may read a Global Descriptor Table (GDT) from the storage device and store a copy thereof.

다른 실시예로서, 은닉 태스크 감시 및 치료 장치는 하드웨어 태스크 스위칭의 제어와 관련된 직접적인 테이블로서 TSS 데이터를 저장장치로부터 읽어 그 복사본을 저장할 수도 있다.  In another embodiment, the hidden task monitoring and treatment apparatus may read TSS data from storage and store a copy thereof as a direct table associated with control of hardware task switching.

은닉 태스크 감시 및 치료 장치는 주기적 또는 비주기적으로 하드웨어 태스크 스위칭의 제어와 관련된 테이블을 읽고(S303) 미리 저장된 테이블의 복사본과 비교하여, 공격자의 악의적인 하드웨어 태스크 스위칭을 통한 은닉 태스크 실행을 위해 테이블의 변경이 이루어 졌는지 판단(S304)할 수 있다.The stealth task monitoring and treatment apparatus reads a table related to control of hardware task switching periodically or aperiodically (S303) and compares it with a copy of a prestored table, and compares the table for execution of the stealth task through malicious hardware task switching of an attacker. It may be determined whether the change has been made (S304).

예를 들어, IA-32 기반의 중앙처리 장치의 경우 공격자가 'Jump 0x50'명령어를 이용해 하드웨어 태스크 스위칭을 한 경우, 중앙처리장치는 태스크 스위칭을 위해 현재 상태의 레지스터 값을 저장하고 GDT의 0x50의 TSS 서술자(Descriptor)의 베이스(Base) 주소 값을 참조해 다른 태스크로 스위칭할 수 있다. 이 경우, 공격자가 'Jump 0x50'의 명령을 실행시키기 전에 TSS의 EIP값을 공격자가 원하는 다른 태스크의 주소로 변경해 놓았을 경우 중앙처리장치는 공격자가 원하는 태스크를 실행하게 되고 이 태스크는 은닉되어 운영체제에서 감지를 할 수 없다.For example, in the case of an IA-32-based central processing unit, if an attacker switches hardware tasks using the 'Jump 0x50' command, the central processing unit stores the current state register value for task switching and the 0x50 value of the GDT. You can switch to another task by referring to the base address value of the TSS descriptor. In this case, if the attacker changes the ESS value of TSS to the address of another task that the attacker wants before executing the command of 'Jump 0x50', the central processing unit executes the task that the attacker wants and the task is hidden and the operating system Can not be detected.

따라서, 은닉 태스크 감시 및 치료 장치는 미리 저장된 GDT 또는 TSS의 값과 비교하여 해당 값이 미리 저장된 값이 변경된 경우 은닉 태스크가 동작하는 것으로 판단할 수 있다. Therefore, the concealment task monitoring and treatment apparatus may compare the value of the prestored GDT or TSS and determine that the concealment task is operated when the value is previously stored.

일 실시예로서, IA-32 기반의 중앙처리 장치의 경우 은닉 태스크 감시 및 치료 장치는 미리 저장된 테이블을 참조하여 TSS 서술자(Descriptor) 값이 변경된 경우, TSS 서술자가 추가된 경우, TSS의 EIP값이 변경된 경우에 은닉 태스크가 동작하는 것으로 판단할 수 있다.In one embodiment, in the case of the IA-32-based CPU, the hidden task monitoring and treatment apparatus may refer to a pre-stored table, and if the TSS descriptor value is changed, if the TSS descriptor is added, the EIP value of the TSS may be changed. If it is changed, it may be determined that the concealment task operates.

다른 실시예로서, 중앙처리장치가 하드웨어 디버깅을 이용하여 TSS 서술자가 변경되거나 추가되는 경우 예외(Exception)를 트리거링(Triggering) 하고, 이에 대한 변경 여부를 판단할 수도 있다.As another example, when the TSS descriptor is changed or added using hardware debugging, the CPU may trigger an exception and determine whether to change the TSS descriptor.

은닉 태스크 감시 및 치료 장치는 은닉 태스크가 존재하는 것으로 판단한 경우 미리 정해진 처리 방법을 수행할 수 있다. 일 실시예로서, 은닉 태스크 감시 및 치료 장치는 은닉 태스크를 종료시키거나 또는 은닉 태스크의 실행코드를 검색하여 이에 대한 패치(Patch)를 수행(S305)할 수 있다.The hidden task monitoring and treatment apparatus may perform a predetermined processing method when it is determined that the hidden task exists. In one embodiment, the hidden task monitoring and treatment device may terminate the hidden task or retrieve the execution code of the hidden task (Patch) for it (S305).

예를 들어, 앞서 설명한 공격자가 하드웨어 태스크 스위칭을 위한 'Jump 0x50'명령 코드를 검색한 경우 이를 삭제할 수 있다.For example, if the above-mentioned attacker detects 'Jump 0x50' command code for switching hardware tasks, it can be deleted.

또한, 은닉 태스크 감시 및 치료 장치는 상기 은닉 태스크의 실행코드와 관련된 디바이스 드라이버를 언로드(unload)하여 추후 발생할 수 있는 동일한 은닉 태스크에 의한 위험을 차단할 수 있다.In addition, the hidden task monitoring and treatment apparatus may unload the device driver associated with the execution code of the concealment task to block a risk caused by the same concealment task that may occur later.

은닉 태스크 감시 및 치료 장치는 미리 저장된 테이블의 복사본을 기초로 변경된 테이블을 복원(S306)할 수 있다.The hidden task monitoring and treatment apparatus may restore the changed table based on the copy of the previously stored table (S306).

예를 들어, TSS 서술자(Descriptor) 값 또는 TSS의 EIP값이 변경된 경우 이를 원래의 값으로 재 변경하거나, TSS 서술자가 추가된 경우 이를 삭제할 수 있다. 실시 예에 따라, 은기 태스크 감시 및 치료 장치는 실행 코드의 패치 동작(S305) 수행 전 또는 후 테이블 복원하는 동작을 수행할 수 있다.For example, if the TSS descriptor value or the EIP value of the TSS is changed, it can be changed back to the original value, or deleted if the TSS descriptor is added. According to an embodiment, the stealth task monitoring and treatment apparatus may perform an operation of restoring a table before or after performing the patch operation S305 of the execution code.

본 명세서에 개시된 실시예들에 따른 은닉 태스크 감시 및 치료 방법은 컴퓨터로 읽을 수 있는 기록 매체에서 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 명세서의 기술이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The hidden task monitoring and treatment method according to the embodiments disclosed herein may be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the art to which the techniques of this specification pertain.

이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.Preferred embodiments of the technology of the present disclosure have been described with reference to the accompanying drawings. Here, the terms or words used in the present specification and claims should not be construed as being limited to ordinary or dictionary meanings, but should be construed as meanings and concepts corresponding to the technical spirit of the present invention.

본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.The scope of the present invention is not limited to the embodiments disclosed herein, and the present invention may be modified, changed, or improved in various forms within the scope of the spirit and claims of the present invention.

110: 제어부
120: 감시부
130: 저장부
140: 통신부
110: control unit
120: monitoring unit
130: storage unit
140: communication unit

Claims (6)

하드웨어 태스크 스위칭이 가능한 컴퓨팅 장치에서 수행되는 방법으로,
하드웨어 태스크 스위칭의 제어와 관련된 테이블을 저장장치로부터 읽는 단계;
저장장치로부터 읽은 상기 테이블을 복사하여 저장장치에 복사 테이블로 저장하는 단계;
상기 복사 테이블을 저장한 이후에 수행되는 단계로서, 저장장치로부터 상기 테이블을 읽고 상기 복사 테이블과 상기 테이블을 비교하여, 상기 테이블의 변경 여부를 판단하는 단계; 및
상기 복사 테이블을 저장한 이후에 수행되는 단계로서, 상기 테이블이 변경된 것으로 판단한 경우, 미리 정해진 처리 방법을 수행하는 단계;
를 포함하는 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법.
A method performed in a computing device capable of switching hardware tasks,
Reading a table from storage related to control of hardware task switching;
Copying the table read from the storage device and storing the table in the storage device as a copy table;
A step performed after storing the copy table, reading the table from a storage device and comparing the copy table with the table to determine whether the table has been changed; And
Performing a predetermined processing method when the copy table is determined to be changed after the copy table is stored;
Hidden task monitoring and treatment method of a computing device comprising a.
제1 항에 있어서,
상기 컴퓨팅 장치는 IA-32(Intel Architecture-32) 기반이고, 상기 하드웨어 태스크 스위칭의 제어와 관련된 테이블은 GDT(Global Descriptor Table) 또는 TSS(Task State Segment)인 것을 특징으로 하는 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법.
According to claim 1,
The computing device is based on Intel Architecture-32 (IA-32), and a table related to the control of the hardware task switching is a global descriptor table (GDT) or a task state segment (TSS). And methods of treatment.
제2 항에 있어서,
TSS(Task State Segment) 서술자(Descriptor) 가 변경되거나 추가된 경우 또는 TSS의 EIP 값이 변경된 경우에 상기 테이블이 변경된 것으로 판단하는 것을 특징으로 하는 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법.
The method of claim 2,
And determining that the table is changed when a task state segment (TSS) descriptor is changed or added, or when an EIP value of the TSS is changed.
제3 항에 있어서,
상기 테이블이 변경된 것으로 판단한 경우, 은닉 태스크의 실행코드를 검색하고 이를 패치(Patch)하는 단계를 더 포함하는 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법.
The method of claim 3, wherein
If it is determined that the table has been changed, searching for and patching the execution code of the concealment task.
제4 항에 있어서,
상기 복사 테이블을 저장한 이후에 수행되는 단계로서, 상기 테이블이 변경된 것으로 판단한 경우, 상기 복사 테이블을 이용하여 변경된 상기 테이블을 복원하는 단계를 더 포함하는 컴퓨팅 장치의 은닉 태스크 감시 및 치료 방법.
The method of claim 4, wherein
And after the copying table is stored, if it is determined that the copying table has been changed, restoring the changed table using the copying table.
제1 항 내지 제 5항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for implementing the method of any one of claims 1 to 5.
KR1020170173683A 2017-12-15 2017-12-15 Apparatus and methods for detecting of stealth task using hardware task switching KR102022168B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170173683A KR102022168B1 (en) 2017-12-15 2017-12-15 Apparatus and methods for detecting of stealth task using hardware task switching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170173683A KR102022168B1 (en) 2017-12-15 2017-12-15 Apparatus and methods for detecting of stealth task using hardware task switching

Publications (2)

Publication Number Publication Date
KR20190072375A KR20190072375A (en) 2019-06-25
KR102022168B1 true KR102022168B1 (en) 2019-09-18

Family

ID=67065615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170173683A KR102022168B1 (en) 2017-12-15 2017-12-15 Apparatus and methods for detecting of stealth task using hardware task switching

Country Status (1)

Country Link
KR (1) KR102022168B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090327688A1 (en) 2008-06-28 2009-12-31 Chengdu Huawei Symantec Technologies Co., Ltd. Method and system for detecting a malicious code
US20130124917A1 (en) 2011-11-16 2013-05-16 GM Global Technology Operations LLC Recovering from stack corruption faults in embedded software systems
US20140331231A1 (en) 2001-03-22 2014-11-06 Sviral, Inc. Hardware task manager

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765374B2 (en) * 2007-01-25 2010-07-27 Microsoft Corporation Protecting operating-system resources
KR101366554B1 (en) 2012-09-20 2014-02-26 주식회사 동부하이텍 A semiconductor device and a method of manufacturing the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140331231A1 (en) 2001-03-22 2014-11-06 Sviral, Inc. Hardware task manager
US20090327688A1 (en) 2008-06-28 2009-12-31 Chengdu Huawei Symantec Technologies Co., Ltd. Method and system for detecting a malicious code
US20130124917A1 (en) 2011-11-16 2013-05-16 GM Global Technology Operations LLC Recovering from stack corruption faults in embedded software systems

Also Published As

Publication number Publication date
KR20190072375A (en) 2019-06-25

Similar Documents

Publication Publication Date Title
US11269996B2 (en) System and method for protecting memory pages
US9280664B2 (en) Apparatus and method for blocking activity of malware
KR101759008B1 (en) Profiling code execution
JP6455738B2 (en) Patch file analysis system
US9953164B2 (en) Confirming a malware infection on a client device using a remote access connection tool, to identify a malicious file based on fuzz hashes
US20190087572A1 (en) Ransomware attack monitoring
US7707454B2 (en) Method for protecting backup data of a computer system from damage
US8443354B1 (en) Detecting new or modified portions of code
US10963558B2 (en) Malware detection method and malware detection apparatus
KR20180097527A (en) Dual Memory Introspection to Protect Multiple Network Endpoints
US11403180B2 (en) Auxiliary storage device having independent recovery area, and device applied with same
EP3270318B1 (en) Dynamic security module terminal device and method for operating same
JP2014071796A (en) Malware detection device, malware detection system, malware detection method, and program
US11170077B2 (en) Validating the integrity of application data using secure hardware enclaves
JP2009238153A (en) Malware handling system, method, and program
KR101563059B1 (en) Anti-malware system and data processing method in same
KR20210001057A (en) Method for detecting and blocking ransomware
KR102022168B1 (en) Apparatus and methods for detecting of stealth task using hardware task switching
US10754931B2 (en) Methods for configuring security restrictions of a data processing system
KR20140139752A (en) Method and apparatus for detecting rooting
JP2017204173A (en) Data protection program, data protection method, and data protection system
US10339313B2 (en) System and method for bypassing a malware infected driver
US20190080090A1 (en) Method and apparatus for detecting dynamically-loaded malware with run time predictive analysis
JP2018036695A (en) Information processing monitoring device, information processing monitoring method, monitoring program, recording medium, and information processing apparatus
CN103914656A (en) Method and device for preventing monitoring of malware

Legal Events

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