KR101311367B1 - 메모리 보호기능 우회 공격 진단 장치 및 방법 - Google Patents

메모리 보호기능 우회 공격 진단 장치 및 방법 Download PDF

Info

Publication number
KR101311367B1
KR101311367B1 KR1020130038639A KR20130038639A KR101311367B1 KR 101311367 B1 KR101311367 B1 KR 101311367B1 KR 1020130038639 A KR1020130038639 A KR 1020130038639A KR 20130038639 A KR20130038639 A KR 20130038639A KR 101311367 B1 KR101311367 B1 KR 101311367B1
Authority
KR
South Korea
Prior art keywords
malicious
attribute
unit
memory
memory area
Prior art date
Application number
KR1020130038639A
Other languages
English (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 KR1020130038639A priority Critical patent/KR101311367B1/ko
Application granted granted Critical
Publication of KR101311367B1 publication Critical patent/KR101311367B1/ko
Priority to PCT/KR2014/003052 priority patent/WO2014168406A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

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)
  • Storage Device Security (AREA)

Abstract

본 발명은 메모리 보호기능 우회 공격 진단 장치 및 방법에 관한 것이다. 개시된 메모리 보호기능 우회 공격 진단 장치는, 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지하는 함수 탐지부와, 함수 탐지부에 의해 특정 프로그램 함수의 호출이 탐지되면 메모리 영역의 해당 위치에 대해 속성정보가 실행 속성인지를 검사하는 속성 검사부와, 속성 검사부에 의해 실행 속성이 확인되면 메모리 영역의 해당 위치에서 액세스 위반이 발생하도록 속성정보를 변경하는 속성 변경부와, 메모리 영역에서 액세스 위반이 발생하는지를 탐지하는 이벤트 탐지부와, 이벤트 탐지부에 의해 액세스 위반이 탐지되면 액세스 위반을 발생시킨 쉘코드를 대상으로 하여 악성 여부를 판단하는 악성 판단부를 포함한다. 이에 따라, ROP 공격 등과 같이 메모리 보호기능을 우회하는 공격을 유발하는 쉘코드를 대상으로 하여 악성 여부를 판정, 즉 메모리 보호 우회 공격을 진단할 수 있으며, 악성 판정 결과를 경보하여 운용자가 인지할 수 있도록 하거나 액세스 위반을 발생시킨 쉘코드를 삭제하는 등의 대응을 수행할 수 있다.

Description

메모리 보호기능 우회 공격 진단 장치 및 방법{METHOD AND APPARATUS FOR DIAGNOSING ATTACK THAT BYPASS THE MEMORY PROTECTION}
본 발명은 메모리 보호기능 우회 공격 진단 장치 및 방법에 관한 것으로, 더욱 상세하게는 ROP(Return Oriented Programming) 공격 등과 같이 메모리 보호기능을 우회하는 공격을 유발하는 쉘코드(shell code)를 대상으로 하여 악성 여부를 판정하는 메모리 보호기능 우회 공격 진단 장치 및 방법에 관한 것이다.
근래에 들어, 광범위한 인터넷 및 무선통신 기기의 보급에 따라 악성 소프트웨어 또는 악성 코드(malicious code)의 전염경로가 다양해지고 있으며, 이로 인한 피해 정도가 매년 증가하고 있다. 악성 코드란 사용자의 의사와 이익에 반하여 시스템을 파괴하거나 정보를 유출하는 등의 악의적 활동을 수행하도록 의도적으로 제작된 소프트웨어를 말한다. 이러한 악성 코드의 종류로는 바이러스(virus), 웜(worm), 트로이얀(trojan), 백도어(backdoor), 논리폭탄(logic bomb), 트랩도어(trap door) 등의 해킹 툴, 악의적인 스파이웨어(spyware), 애드웨어(ad-ware) 등이 있다. 악성 코드는 자기복제나 자동번식 기능을 통하여, 사용자 식별정보(ID)와 암호 등의 개인정보 유출, 대상 시스템 통제, 파일 삭제/변경, 시스템 파괴, 응용프로그램 /시스템의 서비스 거부, 핵심 자료 유출, 다른 해킹 프로그램 설치 등의 문제를 일으키고 있으며, 그 피해도 매우 다양하고 심각하다.
이러한 문제를 해결하기 위하여, 악성코드를 탐지하고 치료하는 악성 코드 치료 시스템(백신 프로그램)이 개발되고 있다. 현재까지 알려진 악성 코드 치료 시스템(백신 프로그램) 대부분은 파일 기반 진단법을 사용하고 있다. 이는 대부분의 악성 코드가 특정 시스템에서 실행되기 위해서는 해당 시스템에서 실행 가능한 파일 형태로 되어 있다는 점에서 기인한 것이다. 예를 들어, 악성 코드가 윈도우 시스템에서 실행되기 위해서는 악성 코드는 실행 파일(PE: Portable Executable)의 포맷을 가지고 있는 것이 대부분이다. PE 포맷을 가지는 파일의 확장자는 exe, cpl, ocx, dll, vxd, sys, scr, drv 등이 있다. 이러한 실행 파일(PE) 형식의 악성 코드를 진단하기 위해서는 악성 코드 치료 시스템 또한 이러한 파일 형식을 인식하고 악성 코드로 판단할 수 있는 특정 형식의 시그니처(signature)를 가지고 있어야 된다. 이러한 진단법이 대부분의 악성 코드 치료 시스템이 사용하는 시그니처 기반 또는 스트링(string) 검사 방식과 같은 진단법이다. 이러한 시그니처 기반의 진단법은 악성 코드로 분류되는 파일의 특정 부분 또는 고유한 부분을 검사대상으로 하기 때문에 오탐(false positive)과 미탐(false negative)을 최소화하는 정확한 진단이 가능하다는 점과 파일 검사 시에 파일들의 특징적인 부분들만 비교함으로 빠른 스캐닝을 할 수 있다는 장점을 가진다. 그러나 이러한 시그니처 기반 진단법은 악성 코드의 파일 자체가 몇 백 바이트만 바뀌어도 진단이 되지 않는 미탐이 발생하기 때문에, 파일이 조금만 변경된 새로운 변형에 대해서는 대응을 할 수가 없게 된다. 그리고 기존에 알려진 악성 코드에 대해서만 대응을 할 수 있으므로 새로운 형태의 알려지지 않은 악성 코드에 대해서는 대응을 할 수 없다는 단점을 가지고 있다.
한편, 최근 이슈가 되고 있는 지능형 지속 위협(APT: Advanced Persistent Threat) 공격은 공격자가 특정 타깃을 정하고 목표한 정보를 빼내기 위해 고도의 공격기법을 적용하여 지속적으로 다양한 형태 악성코드를 활용한다. 특히 APT 공격은 초기 침입단계에서 탐지하지 못하는 경우가 많으며, 주로 악성 코드를 포함하는 비실행(Non-PE: Non-Portable Executable) 파일을 이용하는 경우가 많다. 이는 비실행 파일을 실행하는 프로그램(예: 문서작성 또는 이미지 프로그램)이 기본적으로 어느 정도의 보안 취약성을 가지고 있을 뿐만 아니라, 악성 코드를 비실행 파일에 포함시키면 파일 변경에 따라 손쉽게 변종 악성 코드를 만들 수 있기 때문이다. 여기서, "비실행 파일"이란 실행 파일 또는 실행 가능한 파일과 반대되는 개념으로서 자체적으로 실행되지 않는 파일을 의미한다. 예를 들어, 비실행 파일은 한글 파일, 워드 파일과 같은 문서 파일, JPG 파일과 같은 이미지 파일, 동영상 파일, 자바 스크립크 파일, HTML 파일 등이 될 수 있다.
이러한, 비실행 파일을 이용하는 악성코드에 대한 종래 대처 방법으로는 악성코드 탐지 엔진에서 비실행 파일의 수행 중 익스플로잇에 의해 이동되는 메모리상 악성 쉘코드가 위치한 영역에 대해 해당 영역이 메모리상 정상적으로 실행 영역으로 설정되어 있는지를 확인하는 것을 통해 악성코드 여부를 판단하고 차단하도록 하고 있다.
그러나, 최근 나오는 악성 파일 중에 ROP 기술 등을 이용하여 악성행위 탐지를 우회하는 샘플들이 발견되고 있다. 이러한 악성행위 탐지 우회 공격은 메모리 영역을 정상적인 메모리 영역처럼 만든 후에 악성행위를 하는 특성을 가지며, 정상 메모리를 만드는 기능을 하는 부분은 정상적인 모듈의 내부에서 ROP 체인을 이용하여 악성행위를 하기 때문에 종래의 진단 기술들로는 이러한 악성 행위를 탐지할 수 없는 문제점이 있었다.
대한민국 등록특허번호 제10-0945247호, 등록일자 2010년 02월 24일.
본 발명은 종래 기술의 문제점을 해결하기 위해 제안한 것으로서, ROP 공격 등과 같이 메모리 보호기능을 우회하는 공격을 유발하는 쉘코드를 대상으로 하여 악성 여부를 판정하는 메모리 보호기능 우회 공격 진단 장치 및 방법을 제공한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 제 1 관점으로서 메모리 보호기능 우회 공격 진단 방법은, 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지하는 함수 탐지부와, 상기 함수 탐지부에 의해 상기 특정 프로그램 함수의 호출이 탐지되면 상기 메모리 영역의 해당 위치에 대해 상기 속성정보가 실행 속성인지를 검사하는 속성 검사부와, 상기 속성 검사부에 의해 실행 속성이 확인되면 상기 메모리 영역의 해당 위치에서 액세스 위반이 발생하도록 상기 속성정보를 변경하는 속성 변경부와, 상기 메모리 영역에서 상기 액세스 위반이 발생하는지를 탐지하는 이벤트 탐지부와, 상기 이벤트 탐지부에 의해 상기 액세스 위반이 탐지되면 상기 액세스 위반을 발생시킨 쉘코드를 대상으로 하여 악성 여부를 판단하는 악성 판단부를 포함할 수 있다.
여기서, 상기 속성 변경부에 의해 상기 속성정보가 변경된 위치의 주소 정보가 저장된 메모리 맵을 생성하는 메모리 맵 생성부를 더 포함하며, 상기 악성 판단부는, 상기 액세스 위반을 발생시킨 위치의 주소 정보가 상기 메모리 맵에 저장된 주소 정보일 경우에 상기 악성 여부를 판단할 수 있다.
상기 악성 판단부는, 상기 메모리 영역의 엔트로피 값과 기 설정된 기준값을 비교하여 악성 여부를 판단할 수 있다.
상기 악성 판단부는, 상기 특정 프로그램 함수에 의해 할당된 상기 메모리 영역의 시작주소와 크기를 이용하여 상기 엔트로피 값을 산출할 대상 메모리 영역을 설정할 수 있다.
상기 악성 판단부는, 상기 엔트로피 값의 산출 시, 상기 메모리 영역에 기록된 코드 중 "0"을 제외한 코드에 대해서 엔트로피 값을 산출할 수 있다.
패턴 정보가 저장된 패턴 저장부를 더 포함하며, 상기 악성 판단부는, 상기 쉘코드와 상기 패턴 정보를 비교하여 악성 여부를 판단할 수 있다.
상기 속성 변경부는, 상기 악성 판단부에 의해 상기 쉘코드가 악성이 아닌 것으로 판정되면 이후 상기 액세스 위반이 발생하지 않도록 상기 속성정보를 변경 전의 상태로 복원할 수 있다.
상기 특정 프로그램 함수의 호출이 탐지되면 레지스터의 감염 여부를 검사하는 감염 검사부를 더 포함하며, 상기 악성 판단부는, 상기 감염 검사부에 의해 상기 레지스터의 감염이 확인되면 상기 쉘코드를 악성으로 판정할 수 있다.
상기 감염 검사부는, 상기 레지스터의 저장값과 상기 쉘코드를 비교하여 감염 여부를 검사할 수 있다.
상기 감염 검사부는, 상기 레지스터를 구성하는 범용 레지스터 중에서 적어도 하나 이상의 저장값과 상기 쉘코드의 일치율에 의거하여 감염을 확인할 수 있다.
본 발명의 제 2 관점으로서 메모리 보호기법 우회 공격 진단 방법은, 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지하는 단계와, 상기 특정 프로그램 함수의 호출이 탐지되면 상기 메모리 영역의 해당 위치에 대해 상기 속성정보가 실행 속성인지를 검사하는 단계와, 상기 속성정보가 실행 속성으로 확인되면 상기 메모리 영역의 해당 위치에서 액세스 위반이 발생하도록 상기 속성정보를 변경하는 단계와, 상기 메모리 영역에서 상기 액세스 위반이 발생하는지를 탐지하는 단계와, 상기 액세스 위반이 탐지되면 상기 액세스 위반을 발생시킨 쉘코드를 대상으로 하여 악성 여부를 판단할 수 있다.
상기 속성정보가 변경된 위치의 주소 정보가 저장된 메모리 맵을 생성하는 단계를 더 포함하며, 상기 악성 여부를 판단하는 단계는, 상기 액세스 위반을 발생시킨 위치의 주소 정보가 상기 메모리 맵에 저장된 주소 정보일 경우에 상기 악성 여부를 판단할 수 있다.
상기 악성 여부를 판단하는 단계는, 상기 메모리 영역의 엔트로피 값과 기 설정된 기준값을 비교하여 악성 여부를 판단할 수 있다.
상기 악성 여부를 판단하는 단계는, 상기 특정 프로그램 함수에 의해 할당된 상기 메모리 영역의 시작주소와 크기를 이용하여 상기 엔트로피 값을 산출할 대상 메모리 영역을 설정할 수 있다.
상기 악성 여부를 판단하는 단계는, 상기 엔트로피 값의 산출 시, 상기 메모리 영역에 기록된 코드 중 "0"을 제외한 코드에 대해서 엔트로피 값을 산출할 수 있다.
상기 악성 여부를 판단하는 단계는, 상기 쉘코드와 기 저장된 패턴 정보를 비교하여 악성 여부를 판단할 수 있다.
상기 속성정보를 변경하는 단계는, 상기 쉘코드가 악성이 아닌 것으로 판정되면 이후 상기 액세스 위반이 발생하지 않도록 상기 속성정보를 변경 전의 상태로 복원할 수 있다.
상기 특정 프로그램 함수의 호출이 탐지되면 레지스터의 감염 여부를 검사하는 단계를 더 포함하며, 상기 악성 여부를 판단하는 단계는, 상기 레지스터의 감염이 확인되면 상기 쉘코드를 악성으로 판정할 수 있다.
상기 감염 여부를 검사하는 단계는, 상기 레지스터의 저장값과 상기 쉘코드를 비교하여 감염 여부를 검사할 수 있다.
상기 감염 여부를 검사하는 단계는, 상기 레지스터를 구성하는 범용 레지스터 중에서 적어도 하나 이상의 저장값과 상기 쉘코드의 일치율에 의거하여 감염을 확인할 수 있다.
본 발명의 제 3 관점에 따르면 상기 메모리 보호기법 우회 공격 진단 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독가능 기록매체를 제공한다.
본 발명은 ROP 공격 등과 같이 메모리 보호기능을 우회하는 공격을 유발하는 쉘코드를 대상으로 하여 악성 여부를 판정, 즉 메모리 보호 우회 공격을 진단할 수 있다. 이에 따라, 악성 판정 결과를 경보하여 운용자가 인지할 수 있도록 하거나 액세스 위반을 발생시킨 쉘코드를 삭제하는 등의 대응을 수행할 수 있다.
도 1은 본 발명의 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 장치의 블록 구성도이다.
도 2는 본 발명의 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 장치의 블록 구성도이다.
도 4는 본 발명의 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 방법을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 장치의 블록 구성도이며, 도 2는 본 발명의 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 방법을 설명하기 위한 흐름도이고, 도 3은 본 발명의 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 장치의 블록 구성도이며, 도 4는 본 발명의 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 방법을 설명하기 위한 흐름도이다. 이하에서는, 도 1 및 도 2를 참조하여 본 발명의 제 1 실시예에 대해 먼저 살펴본 후에, 도 3 및 도 4를 참조하여 본 발명의 제 2 실시예에 대해 살펴보기로 한다.
<제 1 실시예>
본 발명의 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100)는 도 1에 나타낸 바와 같이, 함수 탐지부(110), 감염 검사부(120), 속성 검사부(130), 속성 변경부(140), 메모리 맵 생성부(150), 이벤트 탐지부(160), 악성 판단부(170) 등을 포함한다.
함수 탐지부(110)는 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지한다. 예컨대, 함수 탐지부(110)는 커널모드 진입 라이브러리 파일을 통해 가상 메모리 관련 API(application programming interface)가 호출되는지를 탐지할 수 있다.
감염 검사부(120)는 함수 탐지부(110)에 의해 특정 프로그램 함수의 호출이 탐지되면 레지스터의 감염 여부를 검사한다. 여기서, 감염 검사부(120)는 레지스터의 저장값과 특정 프로그램 함수를 호출한 쉘코드를 비교하여 감염 여부를 검사한다. 예컨대, 감염 검사부(120)는 레지스터를 구성하는 범용 레지스터 중에서 적어도 하나 이상의 저장값과 쉘코드의 일치율에 의거하여 감염을 확인할 수 있다. 이러한 감염 검사부(120)는 레지스터가 이미 감염된 경우라면 신속히 공격 상태로 진단하기 위해 포함되지만 제외될 수도 있다.
속성 검사부(130)는 함수 탐지부(110)에 의해 특정 프로그램 함수의 호출이 탐지되거나, 특정 프로그램 함수의 호출이 탐지된 후에 감염 검사부(120)에 의해 레지스터가 감염되지 않은 것으로 판정되면 메모리 영역의 해당 위치에 대해 속성정보가 실행 속성인지를 검사한다.
속성 변경부(140)는 속성 검사부(130)에 의해 실행 속성이 확인되면 메모리 영역의 해당 위치에서 액세스 위반이 발생하도록 속성정보를 변경한다. 예컨대, 속성 검사부(130)는 속성정보를 삭제하거나 비실행 속성으로 변경하거나 또는 저장된 속성정보를 변조하여 인식할 수 없도록 할 수 있다. 또한, 속성 변경부(140)는 악성 판단부(170)에 의해 쉘코드가 악성이 아닌 것으로 판정되면 이후 액세스 위반이 발생하지 않도록 속성정보를 변경 전의 상태로 복원할 수 있다.
메모리 맵 생성부(150)는 속성 변경부(140)에 의해 속성정보가 변경된 위치의 주소 정보가 저장된 메모리 맵을 생성한다. 이러한 메모리 맵은 이후 액세스 위반이 발생한 위치에서 실행되는 쉘코드에 대해 악성 여부를 판단할 필요가 있는지를 확인하기 위해 사용된다.
이벤트 탐지부(160)는 메모리 영역에서 액세스 위반이 발생하는지를 탐지한다.
악성 판단부(170)는 감염 검사부(120)에 의해 레지스터의 감염이 확인되면 쉘코드를 악성으로 판정한다. 또는, 이벤트 탐지부(160)에 의해 액세스 위반이 탐지되면 액세스 위반을 발생시킨 쉘코드를 대상으로 하여 악성 여부를 판단한다. 여기서, 악성 판단부(170)는 액세스 위반을 발생시킨 위치의 주소 정보가 메모리 맵 생성부(150)에 의해 생성된 메모리 맵에 저장된 주소 정보일 경우에만 선택적으로 악성 여부를 판단할 수 있다. 이러한 악성 여부의 판단을 위해 악성 판단부(170)는 메모리 영역의 엔트로피 값과 기 설정된 기준값을 비교하여 그 비교 결과에 따라 악성 여부를 판단할 수 있다. 예컨대, 엔트로피 값의 산출 시에는 특정 프로그램 함수에 의해 할당된 메모리 영역의 시작주소와 크기를 이용하여 엔트로피 값을 산출할 대상 메모리 영역을 설정할 수 있으며, 메모리 영역에 기록된 코드 중 "0"을 제외한 코드에 대해서 엔트로피 값을 산출할 수 있다.
본 발명의 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100)에 의한 메모리 보호기법 우회 공격 진단 방법은 도 2에 나타낸 바와 같이, 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지하는 단계(S201)와, 특정 프로그램 함수의 호출이 탐지되면 레지스터의 감염 여부를 검사하는 단계(S203)와, 특정 프로그램 함수의 호출이 탐지되거나 그 후 레지스터가 감염되지 않은 것으로 판정되면 메모리 영역의 해당 위치에 대해 속성정보가 실행 속성인지를 검사하는 단계(S205 및 S207)와, 속성정보가 실행 속성으로 확인되면 메모리 영역의 해당 위치에서 액세스 위반이 발생하도록 속성정보를 변경하는 단계(S209 및 S211)와, 속성정보가 변경된 위치의 주소 정보가 저장된 메모리 맵을 생성하는 단계(S213)와, 메모리 영역에서 액세스 위반이 발생하는지를 탐지하는 단계(S215)와, 액세스 위반을 발생시킨 위치의 주소 정보가 메모리 맵에 저장된 주소 정보일 경우에 액세스 위반을 발생시킨 쉘코드를 대상으로 하여 악성 여부를 판단하는 단계(S217 내지 S223)와, 레지스터의 감염이 확인되거나, 메모리 영역의 엔트로피 값과 기 설정된 기준값을 비교하여 악성 범위로 판단되면 공격 상태로 진단하는 단계(S225)와, 쉘코드가 악성이 아닌 것으로 판정되면 이후 액세스 위반이 발생하지 않도록 속성정보를 변경 전의 상태로 복원하는 단계(S227)를 포함한다.
이하, 도 1 및 도 2를 참조하여 본 발명의 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100)가 메모리 보호기법 우회 공격을 진단하는 과정에 대해 더 자세히 살펴보기로 한다.
먼저, ROP(Return Oriented Programming) 공격 등과 같이 메모리 보호기능을 우회하는 공격에 대한 진단이 시작되면 메모리 보호기법 우회 공격 진단 장치(100)의 함수 탐지부(110)가 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지한다. 예컨대, 함수 탐지부(110)는 커널모드 진입 라이브러리 파일을 통해 가상 메모리 관련 API가 호출되는지를 탐지할 수 있다. 예컨대, 함수 탐지부(110)는 가상 메모리 관련 API 중에서 VirtualAlloc, HeapCreate 등이 호출되는지를 탐지할 수 있다(S201).
이어서, 함수 탐지부(110)에 의해 특정 프로그램 함수의 호출이 탐지되면 감염 검사부(120)는 중앙 처리 유닛(CPU: Central Processing Unit)의 레지스터(register)를 대상으로 하여 감염 여부를 검사한다(S203). 여기서, 감염 검사부(120)는 레지스터의 저장값과 특정 프로그램 함수를 호출한 쉘코드를 비교하여 감염 여부를 검사한다. 예컨대, 감염 검사부(120)는 레지스터를 구성하는 범용 레지스터 중에서 적어도 하나 이상의 저장값과 쉘코드의 일치율에 의거하여 감염을 확인할 수 있다. 범용 레지스터 중에서는 EAX(Extended Accumulator Register), ECX(Extended Counter Register), EDX(Extended Data Register), EBX(Extended Base Register), ESP(Extended Stack Pointer)의 저장값과 쉘코드가 일치할 경우에 공격 상태로 진단할 수 있다(S205 및 S225).
다음으로, 속성 검사부(130)는 메모리 영역의 해당 위치에 대해 속성정보가 실행 속성인지를 검사한다. 이러한 속성 검사부(130)는 감염 검사부(120)가 메모리 보호기법 우회 공격 진단 장치(100)에서 제외된 경우에는 함수 탐지부(110)에 의해 특정 프로그램 함수의 호출이 탐지되면 곧바로 속성정보를 검사한다. 하지만 감염 검사부(120)가 메모리 보호기법 우회 공격 진단 장치(100)에 포함된 경우에는 특정 프로그램 함수의 호출이 탐지된 후에 감염 검사부(120)에 의해 레지스터가 감염되지 않은 것으로 판정된 후에 메모리 영역의 해당 위치에 대해 속성정보가 실행 속성인지를 검사한다(S207).
이어서, 속성 변경부(140)는 속성 검사부(130)에 의해 메모리 영역의 해당 위치가 실행 속성으로 확인되면 해당 위치에서 액세스 위반이 발생하도록 속성정보를 변경한다. 예컨대, 속성 검사부(130)는 속성정보를 삭제하거나 비실행 속성으로 변경하거나 또는 저장된 속성정보를 변조하여 인식할 수 없도록 할 수 있다(S209 및 S211).
아울러, 메모리 맵 생성부(150)는 속성 변경부(140)에 의해 속성정보가 변경된 위치의 주소 정보가 저장된 메모리 맵을 생성한다(S213). 이러한 메모리 맵은 이후 액세스 위반이 발생한 위치에서 실행되는 쉘코드에 대해 악성 여부를 판단할 필요가 있는지를 확인하기 위해 사용된다.
이 때, 이벤트 탐지부(160)는 메모리 영역에서 액세스 위반이 발생하는지를 탐지한다(S215).
여기서, 이벤트 탐지부(160)에 의해 액세스 위반이 탐지되면 악성 판단부(170)는 액세스 위반을 발생시킨 위치의 주소 정보가 메모리 맵 생성부(150)에 의해 생성된 메모리 맵에 저장된 주소 정보인지를 확인한다(S217 및 S219). 이는 액세스 위반이 발생하였더라도 단계 S211에서 그 속성정보를 고의로 변경하지 않은 위치에서 발생한 경우라면 우회 공격 여부를 진단할 필요가 없기 때문이다.
이어서, 악성 판단부(170)는 단계 S219에서 액세스 위반을 발생시킨 위치의 주소 정보가 메모리 맵에 기 저장된 주소 정보라고 판정되면 악성 여부의 판단을 위해 메모리 영역의 엔트로피 값을 산출한다. 예컨대, 엔트로피 값의 산출 시에는 특정 프로그램 함수에 의해 할당된 메모리 영역의 시작주소와 크기를 이용하여 엔트로피 값을 산출할 대상 메모리 영역을 설정할 수 있으며, 메모리 영역에 기록된 코드 중 "0"을 제외한 코드에 대해서 엔트로피 값을 산출할 수 있다(S221).
그리고, 악성 판단부(170)는 단계 S221에서 산출된 엔트로피 값과 기 설정된 기준값을 비교하여 그 비교 결과에 따라 산출된 엔트로피 값이 악성 범위로 판단(S223)되면 현재의 쉘코드를 악성으로 판정한다. 즉, 해당 쉘코드가 메모리 보호기법을 우회하는 ROP 공격 등에 관여하는 것으로 판정한다(S225). 이 경우에, 악성 판단부(170)는 악성 판정 결과를 경보하여 운용자가 인지할 수 있도록 하거나 액세스 위반을 발생시킨 쉘코드를 삭제하는 등의 대응을 수행할 수 있다.
한편, 악성 판단부(170)는 쉘코드가 악성이 아닌 것으로 판정되면 이후 액세스 위반이 발생하지 않도록 속성정보를 변경 전의 상태로 복원한다. 예컨대, 단계 S211에서 속성정보를 실행 속성에서 비실행 속성으로 변경한 경우라면 그 실행 속성을 원래의 상태인 실행 속성으로 복원할 수 있다(S227).
<제 2 실시예>
본 발명의 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100')는 도 3에 나타낸 바와 같이, 함수 탐지부(110), 감염 검사부(120), 속성 검사부(130), 속성 변경부(140), 메모리 맵 생성부(150), 이벤트 탐지부(160), 악성 판단부(170), 패턴 저장부(180) 등을 포함한다.
이러한 본 발명의 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100')를 도 1에 나타낸 본 발명의 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100)와 비교하면, 패턴 저장부(180)를 포함하는 것을 알 수 있다.
이러한 패턴 저장부(180)는 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수를 호출하는 쉘코드가 메모리 보호기법 우회 공격에 관여하는 악성 쉘코드에 해당하는지를 판단하기 위한 패턴 정보가 저장된다. 이러한 패턴 정보는 사전 수집 과정을 통해 획득 및 저장되거나 악성 판단 후의 학습에 의해 업데이트될 수 있다.
이러한 패턴 저장부(180)를 포함하는 메모리 보호기법 우회 공격 진단 장치(100')에서 악성 판단부(170)는 특정 프로그램 함수를 호출하는 쉘코드와 패턴 저장부(180)에 기 저장된 패턴 정보를 비교하여 일치 여부에 따라 악성 여부를 판단한다.
본 발명의 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100')에 의한 메모리 보호기법 우회 공격 진단 방법은 도 4에 나타낸 바와 같다. 여기서, 도 2와 도 4를 비교할 때에 동일한 처리 과정에 대해서는 동일한 도면부호를 명기하였다.
이에 나타낸 바와 같이 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 방법은, 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지하는 단계(S201)와, 특정 프로그램 함수의 호출이 탐지되면 레지스터의 감염 여부를 검사하는 단계(S203)와, 특정 프로그램 함수의 호출이 탐지되거나 그 후 레지스터가 감염되지 않은 것으로 판정되면 메모리 영역의 해당 위치에 대해 속성정보가 실행 속성인지를 검사하는 단계(S205 및 S207)와, 속성정보가 실행 속성으로 확인되면 메모리 영역의 해당 위치에서 액세스 위반이 발생하도록 속성정보를 변경하는 단계(S209 및 S211)와, 속성정보가 변경된 위치의 주소 정보가 저장된 메모리 맵을 생성하는 단계(S213)와, 메모리 영역에서 액세스 위반이 발생하는지를 탐지하는 단계(S215)와, 액세스 위반을 발생시킨 위치의 주소 정보가 메모리 맵에 저장된 주소 정보일 경우에 액세스 위반을 발생시킨 쉘코드를 대상으로 하여 악성 여부를 판단하는 단계(S217, S219, S321, S323)와, 레지스터의 감염이 확인되거나, 쉘코드와 기 저장된 패턴 정보를 비교하여 그 일치 여부에 따라 악성 패턴으로 판단되면 공격 상태로 진단하는 단계(S325)와, 쉘코드가 악성이 아닌 것으로 판정되면 이후 액세스 위반이 발생하지 않도록 속성정보를 변경 전의 상태로 복원하는 단계(S327)를 포함한다.
본 발명의 제 2 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100')에 의한 메모리 보호기법 우회 공격 진단 방법과 제 1 실시예에 따른 메모리 보호기법 우회 공격 진단 장치(100)에 의한 메모리 보호기법 우회 공격 진단 방법과의 차이점에 대해 자세히 살펴보면 다음과 같다.
단계 S219에서 메모리 보호기법 우회 공격 진단 장치(100')의 악성 판단부(170)는 액세스 위반을 발생시킨 위치의 주소 정보가 메모리 맵에 기 저장된 주소 정보라고 판정되면 악성 여부의 판단을 위해 해당 쉘코드가 가지고 있는 코드 패턴을 파악한다.
그리고, 악성 판단부(170)는 패턴 저장부(180)에 기 저장된 패턴 정보를 읽어 들여서 단계 S321에서 파악된 쉘코드의 패턴과 비교하며, 그 비교 결과에 따라 패턴이 서로 동일하거나 완전히 동일하지 않더라도 패턴 일치율이 높으면 악성 패턴으로 판정하여 현재의 쉘코드를 악성으로 판정한다. 즉, 해당 쉘코드가 메모리 보호기법을 우회하는 ROP 공격 등에 관여하는 것으로 판정한다(S325). 이 경우에, 악성 판단부(170)는 악성 판정 결과를 경보하여 운용자가 인지할 수 있도록 하거나 액세스 위반을 발생시킨 쉘코드를 삭제하는 등의 대응을 수행할 수 있다.
한편, 악성 판단부(170)는 쉘코드가 악성이 아닌 것으로 판정되면 이후 액세스 위반이 발생하지 않도록 속성정보를 변경 전의 상태로 복원한다. 예컨대, 단계 S211에서 속성정보를 실행 속성에서 비실행 속성으로 변경한 경우라면 그 실행 속성을 원래의 상태인 실행 속성으로 복원할 수 있다(S327).
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100, 100' : 메모리 보호기법 우회 공격 진단 장치
110 : 함수 탐지부 120 : 감염 검사부
130 : 속성 검사부 140 : 속성 변경부
150 : 메모리 맵 생성부 160 : 이벤트 탐지부
170 : 악성 판단부 180 : 패턴 저장부

Claims (21)

  1. 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지하는 함수 탐지부와,
    상기 함수 탐지부에 의해 상기 특정 프로그램 함수의 호출이 탐지되면 상기 메모리 영역의 해당 위치에 대해 상기 속성정보가 실행 속성인지를 검사하는 속성 검사부와,
    상기 속성 검사부에 의해 실행 속성이 확인되면 상기 메모리 영역의 해당 위치에서 액세스 위반이 발생하도록 상기 속성정보를 변경하는 속성 변경부와,
    상기 메모리 영역에서 상기 액세스 위반이 발생하는지를 탐지하는 이벤트 탐지부와,
    상기 이벤트 탐지부에 의해 상기 액세스 위반이 탐지되면 상기 액세스 위반을 발생시킨 쉘코드를 대상으로 하여 악성 여부를 판단하는 악성 판단부를 포함하는 메모리 보호기법 우회 공격 진단 장치.
  2. 제 1 항에 있어서,
    상기 속성 변경부에 의해 상기 속성정보가 변경된 위치의 주소 정보가 저장된 메모리 맵을 생성하는 메모리 맵 생성부를 더 포함하며,
    상기 악성 판단부는, 상기 액세스 위반을 발생시킨 위치의 주소 정보가 상기 메모리 맵에 저장된 주소 정보일 경우에 상기 악성 여부를 판단하는 메모리 보호기법 우회 공격 진단 장치.
  3. 제 1 항에 있어서,
    상기 악성 판단부는, 상기 메모리 영역의 엔트로피 값과 기 설정된 기준값을 비교하여 악성 여부를 판단하는 메모리 보호기법 우회 공격 진단 장치.
  4. 제 3 항에 있어서,
    상기 악성 판단부는, 상기 특정 프로그램 함수에 의해 할당된 상기 메모리 영역의 시작주소와 크기를 이용하여 상기 엔트로피 값을 산출할 대상 메모리 영역을 설정하는 메모리 보호기법 우회 공격 진단 장치.
  5. 제 3 항에 있어서,
    상기 악성 판단부는, 상기 엔트로피 값의 산출 시, 상기 메모리 영역에 기록된 코드 중 "0"을 제외한 코드에 대해서 엔트로피 값을 산출하는 메모리 보호기법 우회 공격 진단 장치.
  6. 제 1 항에 있어서,
    패턴 정보가 저장된 패턴 저장부를 더 포함하며,
    상기 악성 판단부는, 상기 쉘코드와 상기 패턴 정보를 비교하여 악성 여부를 판단하는 메모리 보호기법 우회 공격 진단 장치.
  7. 제 1 항에 있어서,
    상기 속성 변경부는, 상기 악성 판단부에 의해 상기 쉘코드가 악성이 아닌 것으로 판정되면 이후 상기 액세스 위반이 발생하지 않도록 상기 속성정보를 변경 전의 상태로 복원하는 메모리 보호기법 위호 공격 진단 장치.
  8. 제 1 항에 있어서,
    상기 특정 프로그램 함수의 호출이 탐지되면 레지스터의 감염 여부를 검사하는 감염 검사부를 더 포함하며,
    상기 악성 판단부는, 상기 감염 검사부에 의해 상기 레지스터의 감염이 확인되면 상기 쉘코드를 악성으로 판정하는 메모리 보호기법 우회 공격 진단 장치.
  9. 제 8 항에 있어서,
    상기 감염 검사부는, 상기 레지스터의 저장값과 상기 쉘코드를 비교하여 감염 여부를 검사하는 메모리 보호기법 우회 공격 진단 장치.
  10. 제 9 항에 있어서,
    상기 감염 검사부는, 상기 레지스터를 구성하는 범용 레지스터 중에서 적어도 하나 이상의 저장값과 상기 쉘코드의 일치율에 의거하여 감염을 확인하는 메모리 보호기법 우회 공격 진단 장치.
  11. 메모리 영역의 속성정보를 변조할 수 있는 특정 프로그램 함수가 호출되는지를 탐지하는 단계와,
    상기 특정 프로그램 함수의 호출이 탐지되면 상기 메모리 영역의 해당 위치에 대해 상기 속성정보가 실행 속성인지를 검사하는 단계와,
    상기 속성정보가 실행 속성으로 확인되면 상기 메모리 영역의 해당 위치에서 액세스 위반이 발생하도록 상기 속성정보를 변경하는 단계와,
    상기 메모리 영역에서 상기 액세스 위반이 발생하는지를 탐지하는 단계와,
    상기 액세스 위반이 탐지되면 상기 액세스 위반을 발생시킨 쉘코드를 대상으로 하여 악성 여부를 판단하는 단계를 포함하는 메모리 보호기법 우회 공격 진단 방법.
  12. 제 11 항에 있어서,
    상기 속성정보가 변경된 위치의 주소 정보가 저장된 메모리 맵을 생성하는 단계를 더 포함하며,
    상기 악성 여부를 판단하는 단계는, 상기 액세스 위반을 발생시킨 위치의 주소 정보가 상기 메모리 맵에 저장된 주소 정보일 경우에 상기 악성 여부를 판단하는 메모리 보호기법 우회 공격 진단 방법.
  13. 제 11 항에 있어서,
    상기 악성 여부를 판단하는 단계는, 상기 메모리 영역의 엔트로피 값과 기 설정된 기준값을 비교하여 악성 여부를 판단하는 메모리 보호기법 우회 공격 진단 방법.
  14. 제 13 항에 있어서,
    상기 악성 여부를 판단하는 단계는, 상기 특정 프로그램 함수에 의해 할당된 상기 메모리 영역의 시작주소와 크기를 이용하여 상기 엔트로피 값을 산출할 대상 메모리 영역을 설정하는 메모리 보호기법 우회 공격 진단 방법.
  15. 제 13 항에 있어서,
    상기 악성 여부를 판단하는 단계는, 상기 엔트로피 값의 산출 시, 상기 메모리 영역에 기록된 코드 중 "0"을 제외한 코드에 대해서 엔트로피 값을 산출하는 메모리 보호기법 우회 공격 진단 방법.
  16. 제 11 항에 있어서,
    상기 악성 여부를 판단하는 단계는, 상기 쉘코드와 기 저장된 패턴 정보를 비교하여 악성 여부를 판단하는 메모리 보호기법 우회 공격 진단 방법.
  17. 제 11 항에 있어서,
    상기 속성정보를 변경하는 단계는, 상기 쉘코드가 악성이 아닌 것으로 판정되면 이후 상기 액세스 위반이 발생하지 않도록 상기 속성정보를 변경 전의 상태로 복원하는 메모리 보호기법 위호 공격 진단 방법.
  18. 제 11 항에 있어서,
    상기 특정 프로그램 함수의 호출이 탐지되면 레지스터의 감염 여부를 검사하는 단계를 더 포함하며,
    상기 악성 여부를 판단하는 단계는, 상기 레지스터의 감염이 확인되면 상기 쉘코드를 악성으로 판정하는 메모리 보호기법 우회 공격 진단 방법.
  19. 제 18 항에 있어서,
    상기 감염 여부를 검사하는 단계는, 상기 레지스터의 저장값과 상기 쉘코드를 비교하여 감염 여부를 검사하는 메모리 보호기법 우회 공격 진단 방법.
  20. 제 19 항에 있어서,
    상기 감염 여부를 검사하는 단계는, 상기 레지스터를 구성하는 범용 레지스터 중에서 적어도 하나 이상의 저장값과 상기 쉘코드의 일치율에 의거하여 감염을 확인하는 메모리 보호기법 우회 공격 진단 방법.
  21. 제 11 항 내지 제 20 항 중 어느 한 항의 상기 메모리 보호기법 우회 공격 진단 방법에 따른 각각의 단계를 수행하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독가능 기록매체.
KR1020130038639A 2013-04-09 2013-04-09 메모리 보호기능 우회 공격 진단 장치 및 방법 KR101311367B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130038639A KR101311367B1 (ko) 2013-04-09 2013-04-09 메모리 보호기능 우회 공격 진단 장치 및 방법
PCT/KR2014/003052 WO2014168406A1 (ko) 2013-04-09 2014-04-08 메모리 보호기능 우회 공격 진단 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130038639A KR101311367B1 (ko) 2013-04-09 2013-04-09 메모리 보호기능 우회 공격 진단 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101311367B1 true KR101311367B1 (ko) 2013-09-25

Family

ID=49456680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130038639A KR101311367B1 (ko) 2013-04-09 2013-04-09 메모리 보호기능 우회 공격 진단 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101311367B1 (ko)
WO (1) WO2014168406A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016019104A1 (en) * 2014-07-31 2016-02-04 Nec Laboratories America, Inc. Transparent detection and extraction of return-oriented-programming attacks
KR20160061141A (ko) * 2014-11-21 2016-05-31 에스케이텔레콤 주식회사 웹 페이지 공격 차단 방법 및 장치
WO2016204770A1 (en) * 2015-06-18 2016-12-22 Hewlett Packard Enterprise Development Lp Protected loading of a module
KR20200110268A (ko) * 2014-11-21 2020-09-23 에스케이텔레콤 주식회사 웹 페이지 공격 차단 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100005518A (ko) * 2008-07-07 2010-01-15 주식회사 안철수연구소 확장자를 위장한 파일을 탐지하는 방법 및 그 장치
KR101228900B1 (ko) 2010-12-31 2013-02-06 주식회사 안랩 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7971255B1 (en) * 2004-07-15 2011-06-28 The Trustees Of Columbia University In The City Of New York Detecting and preventing malcode execution
KR100954355B1 (ko) * 2008-01-18 2010-04-21 주식회사 안철수연구소 악성코드 진단 및 치료 장치
KR101244731B1 (ko) * 2012-09-11 2013-03-18 주식회사 안랩 디버그 이벤트를 이용한 악성 쉘 코드 탐지 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100005518A (ko) * 2008-07-07 2010-01-15 주식회사 안철수연구소 확장자를 위장한 파일을 탐지하는 방법 및 그 장치
KR101228900B1 (ko) 2010-12-31 2013-02-06 주식회사 안랩 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016019104A1 (en) * 2014-07-31 2016-02-04 Nec Laboratories America, Inc. Transparent detection and extraction of return-oriented-programming attacks
KR20160061141A (ko) * 2014-11-21 2016-05-31 에스케이텔레콤 주식회사 웹 페이지 공격 차단 방법 및 장치
KR102156340B1 (ko) * 2014-11-21 2020-09-15 에스케이텔레콤 주식회사 웹 페이지 공격 차단 방법 및 장치
KR20200110268A (ko) * 2014-11-21 2020-09-23 에스케이텔레콤 주식회사 웹 페이지 공격 차단 방법 및 장치
KR102304332B1 (ko) * 2014-11-21 2021-09-23 에스케이텔레콤 주식회사 웹 페이지 공격 차단 방법 및 장치
WO2016204770A1 (en) * 2015-06-18 2016-12-22 Hewlett Packard Enterprise Development Lp Protected loading of a module

Also Published As

Publication number Publication date
WO2014168406A1 (ko) 2014-10-16

Similar Documents

Publication Publication Date Title
KR101265173B1 (ko) 비실행 파일 검사 장치 및 방법
KR101212553B1 (ko) 악성 파일 검사 장치 및 방법
KR102307534B1 (ko) 다수 소프트웨어 개체들에 걸쳐서 악성 행동을 트래킹하기 위한 시스템들 및 방법들
EP3039608B1 (en) Hardware and software execution profiling
US9779240B2 (en) System and method for hypervisor-based security
US9336390B2 (en) Selective assessment of maliciousness of software code executed in the address space of a trusted process
EP3462358B1 (en) System and method for detection of malicious code in the address space of processes
US20140053267A1 (en) Method for identifying malicious executables
US20130117006A1 (en) Simulated boot process to detect introduction of unauthorized information
US8782615B2 (en) System, method, and computer program product for simulating at least one of a virtual environment and a debugging environment to prevent unwanted code from executing
US10339305B2 (en) Sub-execution environment controller
KR101646096B1 (ko) 메모리 분석을 통한 비실행 파일의 악성 여부 검사 방법 및 장치
JP2013168141A (ja) マルウェアの検出方法
JP5326063B1 (ja) デバッグイベントを用いた悪意のあるシェルコードの検知装置及び方法
Joy et al. Rootkit detection mechanism: A survey
KR101311367B1 (ko) 메모리 보호기능 우회 공격 진단 장치 및 방법
KR100745639B1 (ko) 파일 시스템 및 레지스트리를 보호하는 방법 및 그 장치
KR100745640B1 (ko) 커널 메모리를 보호하는 방법 및 그 장치
KR100666562B1 (ko) 커널 드라이버 및 프로세스 보호 방법
KR101908517B1 (ko) 스트링과 코드 시그니처를 이용한 악성코드 탐지 및 패커 해제 방법
KR102393795B1 (ko) 응용프로그램의 실행 흐름 변경을 통한 비실행 파일의 악성 탐지 방법 및 장치
KR101880689B1 (ko) 악성코드 진단장치 및 방법
Chen et al. Vulnerability-based backdoors: Threats from two-step trojans
CN117235714A (zh) 无文件攻击检测方法、装置、设备及存储介质
Anjikar Detection and Analysis of Rootkits on Android Smart Phones

Legal Events

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

Payment date: 20160919

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180917

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190916

Year of fee payment: 7