KR100954357B1 - Pe 파일 진단 시스템 및 그 방법 그리고 이에 적용되는모듈 - Google Patents

Pe 파일 진단 시스템 및 그 방법 그리고 이에 적용되는모듈 Download PDF

Info

Publication number
KR100954357B1
KR100954357B1 KR1020080055862A KR20080055862A KR100954357B1 KR 100954357 B1 KR100954357 B1 KR 100954357B1 KR 1020080055862 A KR1020080055862 A KR 1020080055862A KR 20080055862 A KR20080055862 A KR 20080055862A KR 100954357 B1 KR100954357 B1 KR 100954357B1
Authority
KR
South Korea
Prior art keywords
detection data
file
header information
diagnostic
header
Prior art date
Application number
KR1020080055862A
Other languages
English (en)
Other versions
KR20090129776A (ko
Inventor
이승원
Original Assignee
주식회사 안철수연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 안철수연구소 filed Critical 주식회사 안철수연구소
Priority to KR1020080055862A priority Critical patent/KR100954357B1/ko
Publication of KR20090129776A publication Critical patent/KR20090129776A/ko
Application granted granted Critical
Publication of KR100954357B1 publication Critical patent/KR100954357B1/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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하기 위한 PE 파일 진단 시스템을 개시한다. 즉, 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 한정하며, 상기 스캔 영역에 대한 스캔 동작을 통해 추출되는 다수의 PE 헤더 정보를 토대로 검출 데이터를 생성하는 검출 데이터 생성 모듈; 상기 생성된 검출 데이터와 기 저장된 진단 데이터를 비교하여 상기 진단 대상 PE 파일의 악성 여부를 확인하는 진단 모듈; 및 악성 PE 파일에 대한 헤더 정보를 토대로 생성된 상기 진단 데이터를 기 저장하고 있는 진단 데이터 저장 모듈을 포함함으로써, PE 헤더 정보의 전체 또는 일부를 진단 데이터로 활용하여 진단 정확도를 향상시킴과 아울러 변종 악성 코드에 대한 대처 능력이 뛰어나며 빠른 진단 속도를 가질 수 있다.
PE 헤더(Header), 진단

Description

PE 파일 진단 시스템 및 그 방법 그리고 이에 적용되는 모듈{DIAGNOSTIC SYSTEM AND METH0D FOR PE FILE, AND MODULE APPLIED TO THE SAME}
본 발명은 악의적인 PE 파일을 진단하기 위한 방안에 관한 것으로서, 더욱 상세하게는, 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 분석하여 추출되는 다수의 PE 헤더 정보를 토대로 진단 데이터를 생성하고 이를 통해 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하는 PE 파일 진단 시스템 및 그 방법 그리고 이에 적용되는 모듈에 관한 것이다.
일반적으로 MS Windows 운영체제 하의 컴퓨터 악성코드의 대부분은 PE(Portable Executable) 파일 형태로 되어있다. 이에 보안 소프트웨어 업체에서는 이러한 악성 PE 파일을 정상 PE 파일과 구별하여 정확히 진단하려는 기법들을 발전시켜 왔다.
이와 관련하여, 기존의 악성 PE 파일을 진단 기법의 일례로는 PE 파일 전체를 해시 데이터(Hash data)로 만들고 이를 통해 악성 PE 파일을 진단하는 기법, PE 파일 일부를 해시 데이터로 만들어 이를 통해 악성 PE 파일을 진단하는 기법, 및 PE 파일 경로와 파일 크기만으로 악성 PE 파일을 진단하는 기법 등이 존재한다.
그러나, 상기 PE 파일 전체를 해시 데이터로 만들어 진단하는 기법의 경우 악성 PE 파일에 대한 정확한 진단이 가능하다는 장점이 있는 반면, 파일 전체를 스캔하여 해시 데이터로 만드는 과정에서 파일 크기에 비례하여 속도 저하가 발생하며, 또한 내부 파일이 1bit 만 변경되어도 진단 불가능하기 때문에 변종 악성 코드에 대한 대처 능력이 현저히 떨어지는 문제가 있다. 또한, 상기 PE 파일 일부를 해시 데이터로 만들어 진단하는 기법의 경우 파일 전체 해시 데이터와 비교하여 진단 속도가 빠른데 반해, 파일의 일부에 대하여 해시 데이트를 생성하기 때문의 오진(False Positive) 가능성이 크며, 더욱이 변종 악성 코드에 대한 대처 능력이 좋지 못한 문제가 있다. 아울러, PE 파일 경로와 파일 크기를 통한 진단 기법의 경우 구현이 간단하고 진단 속도가 빠르며, 시스템 자원 사용률이 적은 반면, 해당 파일에 대한 파일 경로와 크기가 변경되면 진단이 불가능함과 아울러 상술한 진단 기법의 경우와 마찬가지로 변종 악성 코드에 대한 대처 능력이 떨어지는 문제가 있다.
따라서, 현재 상술한 바와 같은 기존 진단 기법들이 갖는 문제점을 해결하기 위해 진단 정확도가 높음과 아울러 변종 악성 코드에 대한 대처 능력이 뛰어나며, 또한 작은 크기의 진단 데이터를 토대로 빠른 진단 속도를 갖는 악성 PE 파일 진단 기법이 필요한 실정이다.
본 발명은 상기한 바와 같이 선행 기술에 내재되었던 문제점을 해결하기 위해 창작된 것으로, 본 발명의 목적은, 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 분석하여 추출되는 다수의 PE 헤더 정보를 토대로 진단 데이터를 생성하고 이를 통해 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하기 위한 PE 파일 진단 시스템 및 그 방법 그리고 이에 적용되는 모듈을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따라, 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하기 위한 PE 파일 진단 시스템이 제공되며: 이 시스템은 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 한정하며, 상기 스캔 영역에 대한 스캔 동작을 통해 추출되는 다수의 PE 헤더 정보를 토대로 검출 데이터를 생성하는 검출 데이터 생성 모듈; 상기 생성된 검출 데이터와 기 저장된 진단 데이터를 비교하여 상기 진단 대상 PE 파일의 악성 여부를 확인하는 진단 모듈; 및 악성 PE 파일에 대한 헤더 정보를 토대로 생성된 상기 진단 데이터를 기 저장하고 있는 진단 데이터 저장 모듈을 포함하며, 상기 검출 데이터 생성 모듈은, 상기 추출된 다수의 PE 헤더 정보에서 중복되지 않은 PE 헤더 정보를 이용하여 각각 생성되는 제 1 검출 데이터 및 제 2 검출 데이터를 포함하는 상기 검출 데이터를 생성하는 것을 특징으로 한다.
삭제
바람직하게는, 상기 검출 데이터 생성 모듈은, 상기 PE 헤더 영역에 명시된 PE 헤더 정보 및 기 설정 방식에 따라 상기 명시된 PE 헤더 정보를 변환한 변환 정보를 토대로 상기 제 1 검출 데이터 및 제 2 검출 데이터를 생성하는 것을 특징으로 한다.
바람직하게는, 상기 검출 데이터 생성 모듈은, 상기 생성된 제 1 검출 데이터 및 제 2 검출 데이터 각각을 해시(Hash) 값으로 변환하여 상기 진단 모듈에 제공하는 것을 특징으로 한다.
바람직하게는, 상기 진단 모듈은, 상기 제 1 검출 데이터 또는 제 2 검출 데이터 중 어느 하나를 상기 기 저장된 진단 데이터와 비교하며, 상기 비교 결과 상호 일치할 경우에만 나머지 하나를 상기 기 저장된 진단 데이터와 비교하는 것을 특징으로 한다.
본 발명의 다른 일면에 따라, 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하기 위한 검출 데이터를 생성하는 검출 데이터 생성 모듈이 제공되며: 이 모듈은, 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 한정하고, 상기 스캔 영역에 대한 스캔 동작을 통해 다수의 PE 헤더 정보를 추출하고, 상기 추출된 다수의 PE 헤더 정보에서 중복되지 않은 PE 헤더 정보를 이용하여 제 1 검출 데이터 및 제 2 검출 데이터를 포함하는 검출 데이터를 생성하는 것을 특징으로 한다.
바람직하게는, 상기 검출 데이터 생성 모듈은, 상기 PE 헤더 영역에 명시된 PE 헤더 정보 및 기 설정 방식에 따라 상기 명시된 PE 헤더 정보를 변환한 변환 정보를 토대로 상기 제 1 검출 데이터 및 제 2 검출 데이터를 생성하는 것을 특징으로 한다.
바람직하게는, 상기 검출 데이터 생성 모듈은, 상기 생성된 제 1 검출 데이터 및 제 2 검출 데이터 각각을 해시(Hash) 값으로 변환하는 것을 특징으로 한다.
본 발명의 또 다른 일면에 따라 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하기 위한 PE 파일 진단 방법이 제공되며: 이 방법은, a) 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 설정하여 상기 진단 대상 PE 파일을 스캔하는 단계; b) 상기 스캔 동작을 통해 추출되는 다수의 PE 헤더 정보를 토대로 검출 데이터를 생성하는 단계; c) 상기 생성된 검출 데이터를 해시(Hash) 값으로 변환하는 단계; 및 d) 상기 해시 값으로 변환된 검출 데이터와 악성 PE 파일에 대한 헤더 정보를 토대로 생성되어 기 저장된 진단 데이터를 비교하여 상기 진단 대상 PE 파일의 악성 여부를 확인하는 단계를 포함하며, 상기 b) 단계는, 상기 추출된 다수의 PE 헤더 정보에서 중복되지 않은 PE 헤더 정보를 이용하여 각각 생성되는 제 1 검출 데이터 및 제 2 검출 데이터를 포함하는 상기 검출 데이터를 생성하는 것을 특징으로 한다.
삭제
삭제
삭제
삭제
바람직하게는, 상기 b) 단계는, 상기 PE 헤더 영역에 명시된 PE 헤더 정보 및 기 설정 방식에 따라 상기 명시된 PE 헤더 정보를 변환한 변환 정보를 토대로 상기 제 1 검출 데이터 및 제 2 검출 데이터를 생성하는 것을 특징으로 한다.
삭제
바람직하게는, 상기 d) 단계는, d-1) 상기 제 1 검출 데이터 또는 제 2 검출 데이터 중 어느 하나를 상기 기 저장된 진단 데이터와 비교하는 단계; 및 d-2) 상기 비교 결과 상호 일치할 경우에만 나머지 하나를 상기 기 저장된 진단 데이터와 비교하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 PE 파일 진단 시스템 및 그 방법 그리고 이에 적용되는 모듈은 진단 대상 PE 파일에 대한 코드 추가 및 변경에 대한 정보를 모두 포함하고 있는 PE 헤더 정보의 전체 또는 일부를 진단 데이터로 활용함에 따라 진단 정확도가 높음과 아울러 변종 악성 코드에 대한 대처 능력이 뛰어나다.
또한, 본 발명에 따른 PE 파일 진단 시스템 및 그 방법 그리고 이에 적용되는 모듈은 진단을 위한 스캔 범위를 PE 헤더(Header) 영역으로 한정함에 따라 진단 데이터를 생성을 위한 분석시간을 단축시키며, 아울러 해시 값으로 변환된 작은 크기의 진단 데이터를 적용함에 따라 빠른 진단 속도를 갖을 수 있다.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상술하기 로 한다.
도 1에는 본 발명의 실시예에 따른 PE 파일 진단 시스템의 개략적인 구성도를 도시한다.
도 1에 도시한 바와 같이, 상기 시스템은 사용자 시스템에 존재하는 PE 파일에 대한 악성 여부를 확인하기 위해 진단 대상 PE 파일의 헤더(Header) 영역을 분석하여 검출 데이터를 생성하는 검출 데이터 생성 모듈(100); 상기 검출 데이터와 기 저장된 진단 데이터를 비교하여 진단 대상 PE 파일의 악성 여부를 확인하는 진단 모듈(200); 및 상기 진단 데이터를 기 저장하는 진단 데이터 저장 모듈(300)을 포함하는 구성을 갖는다.
상기 검출 데이터 생성 모듈(100)은 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 설정한다. 이를 통해, 검출 데이터 생성 모듈(100)은 진단 대상 PE 파일에 포함된 PE 헤더 영역을 분석하여 다수의 PE 헤더 정보를 추출하고, 추출된 다수의 PE 헤더 정보를 토대로 검출 데이터를 생성한다.
보다 구체적으로, 검출 데이터 생성 모듈(100)은 PE 헤더 영역의 분석을 통해 추출되는 다수의 PE 헤더 정보에서 중복되지 않은 PE 헤더 정보를 이용하여 제 1 검출 데이터 및 제 2 검출 데이터를 생성한다. 예컨대, 검출 데이터 생성 모듈(100)은 도 2에 도시한 바와 같이 상기 제 1 검출 데이터를 생성하기 위한 제 1 구조체(PEHDR1)와 제 2 검출 데이터를 생성하기 위한 제 2 구조체(PEHDR2)를 정의하고, 진단 대상 PE 파일에 포함된 PE 헤더 영역의 분석을 통해 추출되는 다수의 PE 헤더 정보를 읽어 들여 상기 제 1 구조체(PEHDR1)와 제 2 구조체(PEHDR2) 에 대입한다. 이때, 검출 데이터 생성 모듈(100)은 상기 PE 헤더 영역에 명시된 변환되지 않은 PE 헤더 정보뿐만 아니라 기 설정 방식에 따라 상기 명시된 PE 헤더 정보를 변환한 변환 정보를 상기 제 1 구조체(PEHDR1)와 제 2 구조체(PEHDR2)에 대입한다. 이때, 상기 제 1 구조체(PEHDR1)와 제 2 구조체(PEHDR2)는 사용자 정의에 따라 다양한 방식을 통해 정의될 수 있다.
보다 구체적으로, 도 2 및 도 3을 참조하여 상기 제 1 구조체(PEHDR1)와 제 2 구조체(PEHDR2)를 상세하게 설명하면 다음과 같다.
- 제 1 구조체( PEHDR1 )
제 1 구조체(PEHDR1) 멤버들은 "dwRealFileSize" 항목을 제외하면 PE 헤더에서 직접 읽어 들이는 값이다. 즉, "dwRealFileSize"는 실제 파일 크기를 나타내는 정보로서 운영체제 차원에서 기본적으로 제공되는 값이며, 도 3의 (A) + (B) + (C)의 크기로 나타낼 수 있다. 또한, "dwDefFileSize"는 PE 헤더에 정의된 파일 크기로서 파일이 생성될 때 컴파일러/링커에 의해 설정되는 값이며, 또한 이값을 계산하기 위해서는 PE 헤더의 Section Header Array 정보를 전부 얻어서 각 section의 시작 위치 정보와 크기 정보를 구해야 하며 도 3의 (A) + (B)로 정의될 수 있다. 아울러, "dwDosStubSize"는 도 3에서 "DOS Stub"의 크기이고, "dwRealHeaderSize"는 도 3에서 (A')의 크기를 나타내며 파일에 따라서 그 크기가 가변적이다. 또한, "dwSumOfVirtualSize"는 파일이 실행될 때 파일 전체는 메모리에 매핑될 때 각 Section의 크기를 나타내는 값으로서 도 3의 (B)와 같이 정의된다. 또한, "dwSumOfRawDataSize"는 도 3의 (B)에 보이는 3개의 section들의 파일 내에서 물리적 실제 크기의 합을 나타낸다. 또한, "dwTimeDateStamp"는 파일 생성 날짜 및 시간 정보로서, 컴파일러/링커가 PE 파일을 생성할 때 시스템 날짜/시간을 기준으로 PE 헤더에 찍어주는 값입니다. 또한, "dwEntryPoint"는 파일의 실행될 때 코드 상의 시작위치로서 컴파일러/링커가 PE 파일을 생성할 때 명시해주는 값이며, 일반적으로 파일마다 값이 달라진다.
- 제 2 구조체( PEHDR2 )
제 2 구조체(PEHDR2) 멤버 중에서 "stIDH"와 "stINH"는 PE 헤더에서 쉽게 구할 수 있는 반면, "dwDosStubCrc"와 "dwISHArrCrc"멤버는 각각 "DOS stub"와 "Section header array"의 crc32(해시) 값이므로 별도의 연산과정을 통해 구해진다. 즉, "stIDH"는 도 3의 "DOS header" 부분이며, IMAGE_DOS_HEADER 구조체로 정의된다. 또한, stINH는 도 3의 "NT header" 부분이며, IMAGE_NT_HEADER32 구조체(32bit PE 파일의 경우)로 정의된다. 또한, "dwDosStubCrc"는 도 3의 "DOS Stub"의 내용을 32 비트(bit) 해시(hash) 값으로 변환시킨 값이다. 아울러, "dwISHArrCrc"는 도 3의 3개의 "Section header" 즉, section header array의 전체 크기를 32비트 해시 값으로 변환한 값이다.
또한, 검출 데이터 생성 모듈(100)은 상술한 바와 같이 제 1 구조체(PEHDR1)와 제 2 구조체(PEHDR2) 상에 PE 헤더 정보를 대입하여 생성된 제 1 검출 데이터 및 제 2 검출 데이터를 각각 해시(Hash) 값으로 변환하여 상기 진단 모듈(200)에 제공한다. 즉, 검출 데이터 생성 모듈(100)은 해시 변환을 통해 진단을 위한 데이 터의 크기를 최소화함으로써 진단 속도를 향상시킬 수 있다.
상기 진단 모듈(200)은 검출 데이터 생성 모듈(100)로부터 제공되는 검출 데이터 바람직하게는 제 1 검출 데이터 및 제 2 검출 데이터를 수신하고, 상기 진단 데이터 저장 모듈(300)에 저장된 진단 데이터를 비교하여 일치할 경우 상기 진단 대상 PE 파일을 악성 PE 파일로 간주한다. 보다 구체적으로, 진단 모듈(200)은 상기 제 1 검출 데이터 또는 제 2 검출 데이터 중 어느 하나를 상기 기 저장된 진단 데이터와 우선 비교하며, 상기 비교 결과 상호 일치할 경우에만 나머지 하나를 상기 기 저장된 진단 데이터와 비교하는 방식을 적용함으로써 불필요한 비교 동작을 방지한다. 즉, 진단 모듈(200)은 제 1 검출 데이터 및 제 2 검출 데이터가 모두 일치할 경우에만 상기 진단 대상 PE 파일을 악성 PE 파일로 간주한다.
상기 진단 데이터 생성 모듈(300)은 악성 PE 파일에 대한 헤더 정보를 토대로 생성된 상기 진단 데이터를 기 저장한다. 이때, 상기 기 저장된 진단 데이터는 상술한 검출 데이터 생성 모듈(100)과 동일한 방식으로 악성 PE 파일에 대한 헤더 정보를 분석함으로써 생성된다.
이하, 도 4를 참조하여 본 발명의 실시예에 따른 PE 파일 진단 방법을 설명하기로 한다. 여기서, 도 4는 본 발명의 실시예에 따른 PE 파일 진단 방법을 설명하기 위한 개략적인 순서도이다.
먼저, 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 설정하여 상기 진단 대상 PE 파일을 스캔한다(S110). 바람직하 게는, 검출 데이터 생성 모듈(100)이 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 설정하고 이를 토대로 PE 헤더 영역을 분석하여 다수의 PE 헤더 정보를 추출한다.
다음으로, 상기 스캔 동작을 통해 추출되는 다수의 PE 헤더 정보를 토대로 검출 데이터를 생성한다(S120). 바람직하게는, 검출 데이터 생성 모듈(100)이 PE 헤더 영역의 분석을 통해 추출되는 다수의 PE 헤더 정보에서 중복되지 않은 PE 헤더 정보를 이용하여 제 1 검출 데이터 및 제 2 검출 데이터를 생성한다. 예컨대, 검출 데이터 생성 모듈(100)은 도 2에 도시한 바와 같이 상기 제 1 검출 데이터를 생성하기 위한 제 1 구조체(PEHDR1)와 제 2 검출 데이터를 생성하기 위한 제 2 구조체(PEHDR2)를 정의하고, 진단 대상 PE 파일에 포함된 PE 헤더 영역의 분석을 통해 추출되는 다수의 PE 헤더 정보를 읽어 들여 상기 제 1 구조체(PEHDR1)와 제 2 구조체(PEHDR2) 에 대입한다. 이때, 검출 데이터 생성 모듈(100)은 상기 PE 헤더 영역에 명시된 변환되지 않은 PE 헤더 정보뿐만 아니라 기 설정 방식에 따라 상기 명시된 PE 헤더 정보를 변환한 변환 정보를 상기 제 1 구조체(PEHDR1)와 제 2 구조체(PEHDR2)에 대입함으로써 검출 데이터를 생성한다.
그런 다음, 상기 생성된 검출 데이터를 해시(Hash) 값으로 변환한다(S130-S140). 바람직하게는, 검출 데이터 생성 모듈(100)이 상술한 바와 같이 제 1 구조체(PEHDR1)와 제 2 구조체(PEHDR2)에 PE 헤더 정보를 대입하여 생성된 제 1 검출 데이터 및 제 2 검출 데이터를 각각 해시(Hash) 값으로 변환하여 상기 진단 모듈(200)에 제공함으로써 파일 크기를 최소화한다.
이후, 해시 값으로 변환된 검출 데이터와 기 저장된 진단 데이터를 비교하여 상기 진단 대상 PE 파일의 악성 여부를 확인한다(S150-S170). 바람직하게는, 상기 진단 모듈(200)이 검출 데이터 생성 모듈(100)로부터 제공되는 검출 데이터 즉, 제 1 검출 데이터 및 제 2 검출 데이터를 수신하고, 상기 진단 데이터 저장 모듈(300)에 저장된 진단 데이터를 비교하여 일치할 경우 상기 진단 대상 PE 파일을 악성 PE 파일로 간주한다. 보다 구체적으로, 진단 모듈(200)은 상기 제 1 검출 데이터 또는 제 2 검출 데이터 중 어느 하나를 상기 기 저장된 진단 데이터와 우선 비교하며, 상기 비교 결과 상호 일치할 경우에만 나머지 하나를 상기 기 저장된 진단 데이터와 비교하는 방식을 적용함으로써 불필요한 비교 동작을 방지한다. 즉, 진단 모듈(200)은 제 1 검출 데이터 및 제 2 검출 데이터가 모두 일치할 경우에만 상기 진단 대상 PE 파일을 악성 PE 파일로 간주한다.
지금까지 본 발명을 바람직한 실시예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
본 발명에 따른 PE 파일 진단 시스템 및 그 방법 그리고 이에 적용되는 모듈 은 진단 대상 PE 파일에 대한 코드 추가 및 변경에 대한 정보를 모두 포함하고 있는 PE 헤더 정보의 전체 또는 일부를 진단 데이터로 활용한다는 점에서 기존 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 장치의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.
본 명세서에서 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 본 발명의 실시예에 따른 PE 파일 진단 시스템의 개략적인 구성도.
도 2 및 도 3은 본 발명의 실시예에 제 1 구조체 및 제 2 구조체를 설명하기 위한 도면.
도 4는 본 발명의 실시예에 따른 PE 파일 진단 방법을 설명하기 위한 개략적인 순서도.
*도면의 주요 부분에 대한 부호의 설명*
100: 검출 데이터 생성 모듈
200: 진단 모듈
300: 진단 데이터 저장 모듈

Claims (13)

  1. 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하기 위한 PE 파일 진단 시스템에 있어서,
    진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 한정하며, 상기 스캔 영역에 대한 스캔 동작을 통해 추출되는 다수의 PE 헤더 정보를 토대로 검출 데이터를 생성하는 검출 데이터 생성 모듈;
    상기 생성된 검출 데이터와 기 저장된 진단 데이터를 비교하여 상기 진단 대상 PE 파일의 악성 여부를 확인하는 진단 모듈; 및
    악성 PE 파일에 대한 헤더 정보를 토대로 생성된 상기 진단 데이터를 기 저장하고 있는 진단 데이터 저장 모듈을 포함하며,
    상기 검출 데이터 생성 모듈은, 상기 추출된 다수의 PE 헤더 정보에서 중복되지 않은 PE 헤더 정보를 이용하여 각각 생성되는 제 1 검출 데이터 및 제 2 검출 데이터를 포함하는 상기 검출 데이터를 생성하는 것을 특징으로 하는 PE 파일 진단 시스템.
  2. 삭제
  3. 제 1 항에 있어서, 상기 검출 데이터 생성 모듈은,
    상기 PE 헤더 영역에 명시된 PE 헤더 정보 및 기 설정 방식에 따라 상기 명시된 PE 헤더 정보를 변환한 변환 정보를 토대로 상기 제 1 검출 데이터 및 제 2 검출 데이터를 생성하는 것을 특징으로 하는 PE 파일 진단 시스템.
  4. 제 3 항에 있어서, 상기 검출 데이터 생성 모듈은,
    상기 생성된 제 1 검출 데이터 및 제 2 검출 데이터 각각을 해시(Hash) 값으로 변환하여 상기 진단 모듈에 제공하는 것을 특징으로 하는 PE 파일 진단 시스템.
  5. 제 4 항에 있어서, 상기 진단 모듈은,
    상기 제 1 검출 데이터 또는 제 2 검출 데이터 중 어느 하나를 상기 기 저장된 진단 데이터와 비교하며, 상기 비교 결과 상호 일치할 경우에만 나머지 하나를 상기 기 저장된 진단 데이터와 비교하는 것을 특징으로 하는 PE 파일 진단 시스템.
  6. 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하기 위한 검출 데이터를 생성하는 검출 데이터 생성 모듈에 있어서,
    진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 한정하며, 상기 스캔 영역에 대한 스캔 동작을 통해 다수의 PE 헤더 정보를 추출하고, 상기 추출된 다수의 PE 헤더 정보에서 중복되지 않은 PE 헤더 정보를 이용하여 제 1 검출 데이터 및 제 2 검출 데이터를 포함하는 검출 데이터를 생성하는 것을 특징으로 하는 검출 데이터 생성 모듈.
  7. 삭제
  8. 제 6 항에 있어서, 상기 검출 데이터 생성 모듈은,
    상기 PE 헤더 영역에 명시된 PE 헤더 정보 및 기 설정 방식에 따라 상기 명시된 PE 헤더 정보를 변환한 변환 정보를 토대로 상기 제 1 검출 데이터 및 제 2 검출 데이터를 생성하는 것을 특징으로 하는 검출 데이터 생성 모듈.
  9. 제 8 항에 있어서, 상기 검출 데이터 생성 모듈은,
    상기 생성된 제 1 검출 데이터 및 제 2 검출 데이터 각각을 해시(Hash) 값으로 변환하는 것을 특징으로 하는 검출 데이터 생성 모듈.
  10. 사용자 시스템에 침입한 악의적인 PE 파일을 탐지하기 위한 PE 파일 진단 방법에 있어서,
    a) 진단 대상 PE 파일에 포함된 PE 헤더(Header) 영역을 진단을 위한 스캔(Scan) 영역으로 설정하여 상기 진단 대상 PE 파일을 스캔하는 단계;
    b) 상기 스캔 동작을 통해 추출되는 다수의 PE 헤더 정보를 토대로 검출 데이터를 생성하는 단계;
    c) 상기 생성된 검출 데이터를 해시(Hash) 값으로 변환하는 단계; 및
    d) 상기 해시 값으로 변환된 검출 데이터와 악성 PE 파일에 대한 헤더 정보를 토대로 생성되어 기 저장된 진단 데이터를 비교하여 상기 진단 대상 PE 파일의 악성 여부를 확인하는 단계를 포함하며,
    상기 b) 단계는, 상기 추출된 다수의 PE 헤더 정보에서 중복되지 않은 PE 헤더 정보를 이용하여 각각 생성되는 제 1 검출 데이터 및 제 2 검출 데이터를 포함하는 상기 검출 데이터를 생성하는 것을 특징으로 하는 PE 파일 진단 방법.
  11. 삭제
  12. 제 10 항에 있어서, 상기 b) 단계는,
    상기 PE 헤더 영역에 명시된 PE 헤더 정보 및 기 설정 방식에 따라 상기 명시된 PE 헤더 정보를 변환한 변환 정보를 토대로 상기 제 1 검출 데이터 및 제 2 검출 데이터를 생성하는 것을 특징으로 하는 PE 파일 진단 방법.
  13. 제 12 항에 있어서, 상기 d) 단계는,
    d-1) 상기 제 1 검출 데이터 또는 제 2 검출 데이터 중 어느 하나를 상기 기 저장된 진단 데이터와 비교하는 단계; 및
    d-2) 상기 비교 결과 상호 일치할 경우에만 나머지 하나를 상기 기 저장된 진단 데이터와 비교하는 단계를 포함하는 것을 특징으로 하는 PE 파일 진단 방법.
KR1020080055862A 2008-06-13 2008-06-13 Pe 파일 진단 시스템 및 그 방법 그리고 이에 적용되는모듈 KR100954357B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080055862A KR100954357B1 (ko) 2008-06-13 2008-06-13 Pe 파일 진단 시스템 및 그 방법 그리고 이에 적용되는모듈

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080055862A KR100954357B1 (ko) 2008-06-13 2008-06-13 Pe 파일 진단 시스템 및 그 방법 그리고 이에 적용되는모듈

Publications (2)

Publication Number Publication Date
KR20090129776A KR20090129776A (ko) 2009-12-17
KR100954357B1 true KR100954357B1 (ko) 2010-04-26

Family

ID=41689666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080055862A KR100954357B1 (ko) 2008-06-13 2008-06-13 Pe 파일 진단 시스템 및 그 방법 그리고 이에 적용되는모듈

Country Status (1)

Country Link
KR (1) KR100954357B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012091488A1 (en) * 2010-12-31 2012-07-05 Ahnlab., Inc. System and method for detecting malicious content in non-pe file

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100620313B1 (ko) * 2005-06-15 2006-09-06 (주)이월리서치 마이크로소프트 실행파일의 구조적 특성을 이용한 악성프로그램 검출 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100620313B1 (ko) * 2005-06-15 2006-09-06 (주)이월리서치 마이크로소프트 실행파일의 구조적 특성을 이용한 악성프로그램 검출 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"악성코드 분석가 입장에서 본 PE 구조", ASEC(AhnLab Security Emergency response Center Report)5월, pp.28-39, 2007.6*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012091488A1 (en) * 2010-12-31 2012-07-05 Ahnlab., Inc. System and method for detecting malicious content in non-pe file

Also Published As

Publication number Publication date
KR20090129776A (ko) 2009-12-17

Similar Documents

Publication Publication Date Title
JP6106340B2 (ja) ログ分析装置、攻撃検知装置、攻撃検知方法およびプログラム
Carmony et al. Extract Me If You Can: Abusing PDF Parsers in Malware Detectors.
TWI720932B (zh) 用於藉由分析已知及/或未知網路安全威脅的形態來偵測資料異常的系統和方法
KR101720686B1 (ko) 시각화 유사도 기반 악성 어플리케이션 감지 장치 및 감지 방법
US9141796B2 (en) System and method for detecting malware in file based on genetic map of file
JP2017034696A (ja) 機器にセキュリティを提供する方法および装置
US11048798B2 (en) Method for detecting libraries in program binaries
US11797668B2 (en) Sample data generation apparatus, sample data generation method, and computer readable medium
US9830452B2 (en) Scanning device, cloud management device, method and system for checking and killing malicious programs
CN109670318B (zh) 一种基于核控制流图循环验证的漏洞检测方法
EP3566166A1 (en) Management of security vulnerabilities
CN111709026B (zh) 静态安全检测方法、装置、计算机设备和存储介质
Nguyen et al. Detecting repackaged android applications using perceptual hashing
Darus et al. Android malware classification using XGBoost on data image pattern
Dietrich et al. Exploiting visual appearance to cluster and detect rogue software
US20240160779A1 (en) Privacy preserving application and device error detection
Kang et al. Scaling javascript abstract interpretation to detect and exploit node. js taint-style vulnerability
JP5441043B2 (ja) プログラム、情報処理装置、及び情報処理方法
CN112817877B (zh) 异常脚本检测方法、装置、计算机设备和存储介质
Lee et al. Robust IoT malware detection and classification using opcode category features on machine learning
KR100954357B1 (ko) Pe 파일 진단 시스템 및 그 방법 그리고 이에 적용되는모듈
KR20110129020A (ko) 코드 분석기법을 이용한 악성코드 차단 시스템 및 방법
CN107844702B (zh) 基于云防护环境下网站木马后门检测方法及装置
JP6069685B1 (ja) アイコン表示装置、アイコン表示方法およびプログラム
KR102435497B1 (ko) 멀티미디어 신호 인식을 위한 전자 장치 및 그의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20130415

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140415

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170417

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 10