KR101493076B1 - 버퍼 오버플로우 관리를 통한 바이러스 코드 실행방지장치 및 그 방법 - Google Patents
버퍼 오버플로우 관리를 통한 바이러스 코드 실행방지장치 및 그 방법 Download PDFInfo
- Publication number
- KR101493076B1 KR101493076B1 KR20090029986A KR20090029986A KR101493076B1 KR 101493076 B1 KR101493076 B1 KR 101493076B1 KR 20090029986 A KR20090029986 A KR 20090029986A KR 20090029986 A KR20090029986 A KR 20090029986A KR 101493076 B1 KR101493076 B1 KR 101493076B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- buffer overflow
- execution
- virus
- interrupt
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
- G06F5/12—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
- G06F5/14—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims (10)
- 커널모듈 또는 애플리케이션 프로그램의 실행이 탐지되면, 상기 커널모듈 또는 애플리케이션 프로그램 코드 중 일부를 인터럽트 명령으로 변경하는 코드 변환부;상기 인터럽트 명령의 실행에 의해 예외(exception)가 발생하면, 버퍼 오버플로우 여부를 판단하는 코드 검사부; 및상기 판단결과 버퍼 오버플로우가 발생하면, 상기 버퍼 오버플로우에 의해 이동한 프로그램 실행영역에 대해 바이러스 검사를 수행하는 바이러스 검출엔진을 포함하는 바이러스 코드 실행 방지장치.
- 제1항에 있어서, 상기 바이러스 검출엔진은상기 커널모듈 또는 애플리케이션 프로그램이 실행되는 적어도 하나의 가상머신에 구비되는 바이러스 코드 실행 방지장치.
- 제2항에 있어서,상기 바이러스 검출엔진인 복수개인 경우, 상기 복수개의 바이러스 검출엔진을 연결하고, 상기 커널모듈 또는 애플리케이션 프로그램 코드를 전달하는 바이러스 검출엔진 연결부를 더 포함하는 바이러스 코드 실행 방지장치.
- 제1항에 있어서,상기 코드 변환부에 의해 변경된 코드와, 원 코드를 저장하는 코드 저장부를 더 포함하는 바이러스 코드 실행 방지장치.
- 제1항에 있어서,상기 바이러스 검출엔진에 의해 바이러스가 검출되지 않으면, 상기 커널모듈 또는 애플리케이션 프로그램 코드를 실행하는 코드 에뮬레이터를 더 포함하는 바이러스 코드 실행 방지장치.
- 코드 변환부가 커널모듈 또는 애플리케이션 프로그램의 실행이 탐지되면, 상기 커널모듈 또는 애플리케이션 프로그램 코드 중 일부를 인터럽트 명령으로 변경하는 단계;코드 검사부가 상기 인터럽트 명령의 실행에 의해 예외(exception)가 발생하면, 버퍼 오버플로우 여부를 판단하는 단계; 및바이러스 검출엔진이 상기 판단결과 버퍼 오버플로우가 발생하면, 상기 버퍼 오버플로우에 의해 이동한 프로그램 실행영역에 대해 바이러스 검사를 수행하는 단계를 포함하는 바이러스 코드 실행 방지방법.
- 제6항에 있어서, 상기 코드를 인터럽트 명령으로 변경하는 단계는,상기 커널모듈 또는 애플리케이션 프로그램 코드에 포함되어 있는 명령을 스캔하는 단계;상기 명령이 프로그램 카운터를 변경하는 명령이거나 프로그램 실행 흐름을 변경시키는 분기 또는 점프 명령인지의 여부를 판단하는 단계;상기 판단결과에 따라, 상기 실행위치가 변경 또는 점프된 영역이 실행만(Execute only) 또는 읽고/실행(Read/Execute)으로 설정되지 않은 메모리 영역인지의 여부를 판단하는 단계; 및상기 판단결과 상기 실행위치가 변경 또는 점프된 영역이, 실행만(Execute only) 또는 읽고/실행(Read/Execute)영역이 아닌 영역이면, 인터럽트를 발생시키는 명령으로 코드를 변경하는 단계를 포함하는 바이러스 코드 실행 방지방법.
- 제6항에 있어서, 상기 버퍼 오버플로우 여부를 판단하는 단계는인터럽트가 발생한 주소에 있던 원래의 명령을 가져와, 프로그램 카운터가 새로 가지려고 하는 주소값을 분석하는 단계;상기 프로그램 카운터가 가지려는 주소가 포함된 메모리 영역이, 실행만(Execute Only) 또는 읽고/실행(Read/Execute) 영역인지의 여부를 판단하는 단계;상기 판단결과, 프로그램 카운터가 가지려는 주소가 포함된 메모리 영역이, 실행만(Execute Only) 또는 읽고/실행(Read/Execute) 영역이 아니면 해당 페이지의 버퍼 오버플로우의 여부를 판단하는 단계;캐쉬를 검색하여, 이전에도 해당 코드가 실행되어 검사가 되었는지의 여부를 확인하는 단계; 및상기 캐쉬에 이전 검사 결과가 없으면, 상기 프로그램 카운터가 가지려는 주소의 메모리 영역의 바이러스 검사를 요청하는 단계를 포함하는 바이러스 코드 실행 방지방법.
- 제8항에 있어서,상기 버퍼 오버플로우 여부 판단결과, 버퍼 오버플로우가 발생하지 않으면, 인터럽트 명령으로 대체되었던 원래의 명령을 실행하기 위해 코드 에뮬레이터를 호출하는 단계를 더 포함하는 바이러스 코드 실행 방지방법.
- 제8항에 있어서,상기 프로그램 카운터의 이동영역에 대한 검사 결과를 캐쉬에 저장하며, 인터럽트 루틴을 종료하고 인터럽트가 발생한 다음 명령을 실행하는 단계를 더 포함하는 바이러스 코드 실행 방지방법.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20090029986A KR101493076B1 (ko) | 2009-04-07 | 2009-04-07 | 버퍼 오버플로우 관리를 통한 바이러스 코드 실행방지장치 및 그 방법 |
| US12/751,886 US8516589B2 (en) | 2009-04-07 | 2010-03-31 | Apparatus and method for preventing virus code execution |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR20090029986A KR101493076B1 (ko) | 2009-04-07 | 2009-04-07 | 버퍼 오버플로우 관리를 통한 바이러스 코드 실행방지장치 및 그 방법 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20100111518A KR20100111518A (ko) | 2010-10-15 |
| KR101493076B1 true KR101493076B1 (ko) | 2015-02-12 |
Family
ID=42827258
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR20090029986A Expired - Fee Related KR101493076B1 (ko) | 2009-04-07 | 2009-04-07 | 버퍼 오버플로우 관리를 통한 바이러스 코드 실행방지장치 및 그 방법 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8516589B2 (ko) |
| KR (1) | KR101493076B1 (ko) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2444056C1 (ru) * | 2010-11-01 | 2012-02-27 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ ускорения решения проблем за счет накопления статистической информации |
| EP2466506A1 (fr) * | 2010-12-17 | 2012-06-20 | Gemalto SA | Procédé dynamique de contrôle de l'intégrité de l'exécution d'un code exécutable |
| US8707433B1 (en) * | 2011-05-03 | 2014-04-22 | Symantec Corporation | Fake exception handler detection |
| CN102254120B (zh) | 2011-08-09 | 2014-05-21 | 华为数字技术(成都)有限公司 | 恶意代码的检测方法、系统及相关装置 |
| US9519781B2 (en) * | 2011-11-03 | 2016-12-13 | Cyphort Inc. | Systems and methods for virtualization and emulation assisted malware detection |
| US9792430B2 (en) | 2011-11-03 | 2017-10-17 | Cyphort Inc. | Systems and methods for virtualized malware detection |
| US9686293B2 (en) | 2011-11-03 | 2017-06-20 | Cyphort Inc. | Systems and methods for malware detection and mitigation |
| US9372991B2 (en) * | 2012-03-06 | 2016-06-21 | International Business Machines Corporation | Detecting malicious computer code in an executing program module |
| EP2831787B1 (en) | 2012-03-30 | 2020-07-08 | Irdeto B.V. | Method and system for preventing and detecting security threats |
| US9223962B1 (en) * | 2012-07-03 | 2015-12-29 | Bromium, Inc. | Micro-virtual machine forensics and detection |
| US10607007B2 (en) | 2012-07-03 | 2020-03-31 | Hewlett-Packard Development Company, L.P. | Micro-virtual machine forensics and detection |
| US9922192B1 (en) | 2012-12-07 | 2018-03-20 | Bromium, Inc. | Micro-virtual machine forensics and detection |
| RU2522019C1 (ru) * | 2012-12-25 | 2014-07-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ обнаружения угроз в коде, исполняемом виртуальной машиной |
| KR101432712B1 (ko) * | 2013-03-05 | 2014-08-25 | 충북대학교 산학협력단 | 소프트웨어 안전성 향상을 위한 코드 리팩토링 방법 |
| US10430614B2 (en) | 2014-01-31 | 2019-10-01 | Bromium, Inc. | Automatic initiation of execution analysis |
| US10095866B2 (en) | 2014-02-24 | 2018-10-09 | Cyphort Inc. | System and method for threat risk scoring of security threats |
| US11405410B2 (en) | 2014-02-24 | 2022-08-02 | Cyphort Inc. | System and method for detecting lateral movement and data exfiltration |
| US10326778B2 (en) | 2014-02-24 | 2019-06-18 | Cyphort Inc. | System and method for detecting lateral movement and data exfiltration |
| US10225280B2 (en) | 2014-02-24 | 2019-03-05 | Cyphort Inc. | System and method for verifying and detecting malware |
| RU2568282C2 (ru) * | 2014-04-18 | 2015-11-20 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ обеспечения отказоустойчивости антивирусной защиты, реализуемой в виртуальной среде |
| KR101649909B1 (ko) * | 2014-09-25 | 2016-08-22 | 한국전자통신연구원 | 가상 머신 취약점 점검과 복구 방법 및 장치 |
| US10083296B2 (en) * | 2015-06-27 | 2018-09-25 | Mcafee, Llc | Detection of malicious thread suspension |
| RU2622627C2 (ru) * | 2015-09-30 | 2017-06-16 | Акционерное общество "Лаборатория Касперского" | Способ обнаружения вредоносных исполняемых файлов, содержащих интерпретатор, посредством комбинирования эмуляторов |
| WO2017109128A1 (en) * | 2015-12-24 | 2017-06-29 | British Telecommunications Public Limited Company | Detecting malicious software |
| US11201876B2 (en) | 2015-12-24 | 2021-12-14 | British Telecommunications Public Limited Company | Malicious software identification |
| US10733296B2 (en) | 2015-12-24 | 2020-08-04 | British Telecommunications Public Limited Company | Software security |
| WO2018033350A1 (en) | 2016-08-16 | 2018-02-22 | British Telecommunications Public Limited Company | Reconfigured virtual machine to mitigate attack |
| WO2018033375A2 (en) | 2016-08-16 | 2018-02-22 | British Telecommunications Public Limited Company | Mitigating security attacks in virtualised computing environments |
| CN110874473A (zh) * | 2018-09-04 | 2020-03-10 | 成都华为技术有限公司 | 病毒检测方法、装置及系统、云服务系统、存储介质 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040058228A (ko) * | 2001-10-25 | 2004-07-03 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 낮은 오버헤드의 예외 체킹 |
Family Cites Families (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3634379B2 (ja) | 1996-01-24 | 2005-03-30 | サン・マイクロシステムズ・インコーポレイテッド | スタックキャッシングのための方法及び装置 |
| US7392541B2 (en) | 2001-05-17 | 2008-06-24 | Vir2Us, Inc. | Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments |
| US20030101381A1 (en) * | 2001-11-29 | 2003-05-29 | Nikolay Mateev | System and method for virus checking software |
| US7340777B1 (en) | 2003-03-31 | 2008-03-04 | Symantec Corporation | In memory heuristic system and method for detecting viruses |
| US7155741B2 (en) | 2002-05-06 | 2006-12-26 | Symantec Corporation | Alteration of module load locations |
| US7228563B2 (en) | 2003-02-06 | 2007-06-05 | Symantec Corporation | Shell code blocking system and method |
| KR100506889B1 (ko) | 2003-03-31 | 2005-08-08 | 엘지엔시스(주) | 이중버퍼 구조를 가지는 네트웍 침입탐지 시스템과 그동작방법 |
| US7287281B1 (en) | 2003-06-17 | 2007-10-23 | Symantec Corporation | Send blocking system and method |
| US7984304B1 (en) * | 2004-03-02 | 2011-07-19 | Vmware, Inc. | Dynamic verification of validity of executable code |
| US7373667B1 (en) | 2004-05-14 | 2008-05-13 | Symantec Corporation | Protecting a computer coupled to a network from malicious code infections |
| US7480761B2 (en) | 2005-01-10 | 2009-01-20 | Microsoft Corporation | System and methods for an overlay disk and cache using portable flash memory |
| EP1952240A2 (en) * | 2005-10-25 | 2008-08-06 | The Trustees of Columbia University in the City of New York | Methods, media and systems for detecting anomalous program executions |
| US20070226795A1 (en) * | 2006-02-09 | 2007-09-27 | Texas Instruments Incorporated | Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture |
| US8479174B2 (en) * | 2006-04-05 | 2013-07-02 | Prevx Limited | Method, computer program and computer for analyzing an executable computer file |
| US20080148399A1 (en) | 2006-10-18 | 2008-06-19 | Microsoft Corporation | Protection against stack buffer overrun exploitation |
| US20080222729A1 (en) | 2007-03-05 | 2008-09-11 | Songqing Chen | Containment of Unknown and Polymorphic Fast Spreading Worms |
| US8276201B2 (en) | 2007-03-22 | 2012-09-25 | International Business Machines Corporation | Integrity protection in data processing systems |
| US20080250499A1 (en) | 2007-03-30 | 2008-10-09 | Motorola, Inc. | Method and Apparatus for Reducing Buffer Overflow Exploits by Computer Viruses |
-
2009
- 2009-04-07 KR KR20090029986A patent/KR101493076B1/ko not_active Expired - Fee Related
-
2010
- 2010-03-31 US US12/751,886 patent/US8516589B2/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20040058228A (ko) * | 2001-10-25 | 2004-07-03 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 낮은 오버헤드의 예외 체킹 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100257608A1 (en) | 2010-10-07 |
| KR20100111518A (ko) | 2010-10-15 |
| US8516589B2 (en) | 2013-08-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101493076B1 (ko) | 버퍼 오버플로우 관리를 통한 바이러스 코드 실행방지장치 및 그 방법 | |
| US11893106B2 (en) | Apparatus and method for generating system call whitelist of application container and method for controlling system call of application container | |
| Baliga et al. | Automatic inference and enforcement of kernel data structure invariants | |
| US8117660B2 (en) | Secure control flows by monitoring control transfers | |
| CN101645119B (zh) | 一种基于虚拟硬件环境的恶意代码自动分析方法及系统 | |
| KR101174751B1 (ko) | 커널 콜백 매커니즘을 이용한 악성코드 자동 분석 방법 | |
| Baliga et al. | Detecting kernel-level rootkits using data structure invariants | |
| Pan et al. | Digtool: A {Virtualization-Based} Framework for Detecting Kernel Vulnerabilities | |
| US10102373B2 (en) | Method and apparatus for capturing operation in a container-based virtualization system | |
| US20080040710A1 (en) | Method, computer program and computer for analysing an executable computer file | |
| US20110258610A1 (en) | Optimizing performance of integrity monitoring | |
| CN110765464B (zh) | 漏洞检测方法、装置、设备及计算机存储介质 | |
| Rhee et al. | Kernel malware analysis with un-tampered and temporal views of dynamic kernel memory | |
| WO2007076624A1 (en) | Virtual machine to detect malicious code | |
| US9158562B2 (en) | Method and apparatus for supporting virtualization of loadable module | |
| CN101183414A (zh) | 一种程序检测的方法、装置及程序分析的方法 | |
| CN104346148A (zh) | 获取程序性能消耗信息的方法、装置及系统 | |
| KR20080099247A (ko) | 데이터 구조가 저장되어 있는 적어도 하나의 컴퓨터판독가능 매체 및 시스템 | |
| JPWO2009102006A1 (ja) | アクセス制御装置、その方法及び情報記録媒体 | |
| CN107688481B (zh) | 一种支持多节点的kvm虚拟机隐藏进程检测系统 | |
| Lanzi et al. | A smart fuzzer for x86 executables | |
| CN112231198A (zh) | 一种恶意进程调试方法、装置、电子设备及介质 | |
| US8756695B1 (en) | Analysis of binary code | |
| CN110941534A (zh) | 检测web应用第三方代码调用的方法及系统 | |
| CN113176926B (zh) | 一种基于虚拟机自省技术的api动态监控方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| A201 | Request for examination | ||
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-5-5-R10-R17-oth-X000 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20190207 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20190207 |