KR20100005518A - 확장자를 위장한 파일을 탐지하는 방법 및 그 장치 - Google Patents

확장자를 위장한 파일을 탐지하는 방법 및 그 장치 Download PDF

Info

Publication number
KR20100005518A
KR20100005518A KR1020080065590A KR20080065590A KR20100005518A KR 20100005518 A KR20100005518 A KR 20100005518A KR 1020080065590 A KR1020080065590 A KR 1020080065590A KR 20080065590 A KR20080065590 A KR 20080065590A KR 20100005518 A KR20100005518 A KR 20100005518A
Authority
KR
South Korea
Prior art keywords
file
extension
extracting
detecting
header information
Prior art date
Application number
KR1020080065590A
Other languages
English (en)
Other versions
KR100992434B1 (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 KR1020080065590A priority Critical patent/KR100992434B1/ko
Publication of KR20100005518A publication Critical patent/KR20100005518A/ko
Application granted granted Critical
Publication of KR100992434B1 publication Critical patent/KR100992434B1/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
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 실행가능한 악성 코드가 텍스트, 이미지 등의 비실행 파일의 확장자로 위장한 뒤 시스템 내부에 침투하는 것을 사전에 방지하기 위해서, 확장자를 위장한 파일을 탐지하는 방법 및 이러한 방법을 이용한 장치에 관한 것이다.
본 발명에 따른 확장자를 위장한 파일을 탐지하는 방법은 파일의 파일명으로부터 확장자를 추출하는 표시확장자 추출단계; 확장자와 이에 대응되는 헤더정보로 구성되어 있는 데이터베이스로부터 상기 표시확장자에 해당하는 헤더정보를 추출하는 단계; 상기 파일의 정적분석을 수행하여 상기 추출된 헤더정보와 실제 파일의 내용이 일치하는지 여부를 판단하는 단계 및 일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 단계를 포함한다.
확장자, 파일, 헤더, 악성코드, 위장

Description

확장자를 위장한 파일을 탐지하는 방법 및 그 장치 {Method for Detecting the file with fraud name and apparatus thereof }
본 발명은 실행가능한 악성 코드가 텍스트, 이미지 등의 비실행 파일의 확장자로 위장한 뒤 시스템 내부에 침투하는 것을 사전에 방지하기 위해서, 확장자를 위장한 파일을 탐지하는 방법 및 이러한 방법을 이용한 장치에 관한 것이다.
일반적으로 악성 코드란, 컴퓨터 시스템에 피해를 주고자 의도적으로 제작된 프로그램 코드를 통칭하며, 바이러스, 웜, 트로이 목마 또는 해킹 프로그램 등을 포함한다.
악성 코드가 생성되고 배포되어 상기 악성 코드에 시스템이 감염되면 상기 시스템 내부의 여러 자원을 파괴 또는 왜곡하여 상기 시스템을 훼손하는 피해가 발생되어 왔다. 이에 악성 코드에 의해 피해를 입은 시스템을 복구하기 위한 치료 중심의 백신 프로그램들이 끊임없이 제공되고 있다.
이러한 악성코드는 시스템 내부에 침입하여 실행되어야 하기 때문에 대부분 EXE나 COM등의 실행이 가능한 확장자를 가지고 있는것이 대부분이다. 그러나 최근 들어서는 TXT, JPG, RAR 등의 확장자로 위장하여 보안장비 및 분석가의 눈을 우회하는 기술이 이용되고 있다. 이렇게 다운로드된 악의적인 파일은 단순히 확장자 타입만 변경된 것으로 실제로는 실행이 가능하여 시스템을 감염시켜 악의적인 목적을 달성하게 된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 악성코드들이 확장자를 변형해서 배포하는 것이 많은 바, 표시되는 확장자와 실제 파일의 진짜 확장자가 서로 일치하는지 비교하여 서로 불일치하는 경우에는 악성코드의 위험성이 있는 파일로 분류하여 차단하는 방법 및 그 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 확장자를 위장한 파일을 탐지하는 방법은 파일의 파일명으로부터 확장자를 추출하는 표시확장자 추출단계; 확장자와 이에 대응되는 헤더정보로 구성되어 있는 데이터베이스로부터 상기 표시확장자에 해당하는 헤더정보를 추출하는 단계; 상기 파일의 정적분석을 수행하여 상기 추출된 헤더정보와 실제 파일의 내용이 일치하는지 여부를 판단하는 단계 및 일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 단계를 포함한다.
또한 네트워크를 통해서 파일의 전송요청을 감지하는 단계를 더 포함하고, 상기 추출단계의 파일은 상기 감지된 파일인 것이 바람직하다.
그리고 변조되지 않는 것으로 판단된 경우에는 상기 파일의 전송을 허용하고, 변조된 것으로 판단된 경우에는 상기 파일의 전송을 차단하는 단계를 더 포함하는 것이 바람직하다.
또한 파일 조작을 위한 파일IO를 감지하는 단계를 더 포함하고, 상기 추출단계의 파일은 상기 감지된 파일인 것이 바람직하다.
그리고 변조된 것으로 판단된 경우에는 상기 파일에 대한 악성코드를 검사하는 단계를 더 포함하는 것이 바람직하다.
한편 상기 목적을 달성하기 위한 본 발명에 다른 일 실시예에 따른 확장자를 위장한 파일을 탐지하는 방법은 파일의 파일명으로부터 확장자를 추출하는 표시확장자 추출단계; 상기 파일의 정적분석을 수행하여 상기 파일의 헤더정보를 추출하는 단계; 확장자와 이에 대응되는 헤더정보로 구성되어 있는 데이터베이스로부터 상기 추출된 헤더정보에 해당하는 확장자를 추출하는 실제확장자 추출단계; 상기 표시확장자와 상기 실제확장자가 일치하는지 여부를 판단하는 단계 및 일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 단계를 포함한다.
또한 사용자로부터 파일을 입력받는 단계를 더 포함하고, 상기 표시확장자 추출단계의 파일은 상기 입력받은 파일인 것이 바람직하다.
그리고 변조된 것으로 판단된 경우에는 상기 파일의 확장자를 실제확장자로 변경하는 단계를 더 포함하는 것이 바람직하다.
한편 상기 목적을 달성하기 위한 본 발명에 따른 확장자를 위장한 파일을 탐지하는 장치는 확장자와 이에 대응되는 헤더정보로 구성되어 있는 파일헤더구조 데이터베이스 및 파일의 파일명으로부터 표시확장자를 추출하고, 상기 파일헤더구조 데이터베이스로부터 상기 표시확장자에 해당하는 헤더정보를 추출한 후에 실제 파 일의 내용과 비교하여, 일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 제어모듈을 포함한다.
또한 네트워크를 통해서 파일의 전송요청을 감지하는 네트워크 필터 드라이버를 더 더 포함하고, 상기 추출단계의 파일은 상기 감지된 파일인 것이 바람직하다.
그리고 파일 조작을 위한 파일IO를 감지하는 파일필터 드라이버를 더 포함하고, 상기 추출단계의 파일은 상기 감지된 파일인 것이 바람직하다.
또한 변조된 것으로 판단된 경우에는 상기 파일에 대한 악성코드를 검사하는 악성코드 검사모듈을 더 포함하는 것이 바람직하다.
한편, 본 발명에 따른 컴퓨터로 읽을 수 있는 기록매체에는, 파일의 파일명으로부터 확장자를 추출하는 표시확장자 추출단계; 확장자와 이에 대응되는 헤더정보로 구성되어 있는 데이터베이스로부터 상기 표시확장자에 해당하는 헤더정보를 추출하는 단계; 상기 파일의 정적분석을 수행하여 상기 추출된 헤더정보와 실제 파일의 내용이 일치하는지 여부를 판단하는 단계 및 일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 단계를 포함한다.
이상 설명한 바와 같이, 본 발명에서 제공되는 방법 및 그 장치를 이용하면 네트워크상에서 전송되는 파일들의 표시되는 확장자와 실제 파일의 진짜 확장자가 서로 일치하는지 비교하여 서로 불일치하는 경우에는 악성코드의 위험성이 있는 파일로 분류하여 처리를 할 수 있게 된다.
이렇게 파일들을 분류하게 되면 이러한 파일들에 대해서 삭제,차단 및 악성코드 상세검사등의 처리를 할 수 있어서, 결과적으로 사용자가 자신의 단말기에 악성코드가 전파되는것을 차단하는데 더 효과적이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 확장자를 위장한 파일을 탐지하는 장치의 내부 블록도이다.
도 1에 도시된 바와 같이 확장자를 위장한 파일을 탐지하는 장치는 파일필터 드라이버(110), 네트워크 필터 드라이버(120), 입력모듈(130), 파일헤더 구조DB(140) 및 제어모듈(150)을 포함한다.
본 발명에서 상기 확장자를 위장한 파일을 탐지하는 장치는 사용자의 컴퓨터에 설치된다. 그러나 이에 한정되는 것은 아니며, 특히 상기 파일헤더 구조DB(140)의 경우에는 사업자의 서버에 설치되고, 제어모듈(150)이 필요할때 마다 네트워크를 통해서 데이터를 송수신하는 방법 역시도 가능하다.
우선 파일필터 드라이버(110)는 사용자의 컴퓨터에 상주하고 있으며, 정해진 시간 간격을 기준으로 또는 주기적으로 각 파일의 변경 여부를 점검하거나, 사용자 직접 수정 또는 허가되지 않은 프로세스의 접근 등으로 특정 파일의 변경이 일어나면 제어모듈(150)에게 바로 통지한다.
네트워크 필터 드라이버(120)는 네트워크를 통해서 파일을 접근 여부를 점검한다. 예를 들어 Web이나 FTP등을 이용해서 응용 프로토콜 단에서 파일의 전송 요청을 감지하면 이러한 내용을 제어모듈(150)에게 바로 통지한다.
입력모듈(130)은 사용자로부터 명령을 입력받아서 제어모듈(150)에 통지하는 역할을 수행한다.
파일헤더 구조DB(140)는 확장자와 이에 대응되는 헤더정보로 구성되어 있는 데이터베이스이다. 헤더정보는 일반적인 경우 헤더데이타의 시작위치 및 해당 데이터값의 두개의 필드로 구성되면 충분하나, 실행파일의 경우에는 헤더정보로 MZ Header와 PE Header를 찾아야 한다. 이 때에는 MZ Header의 시작위치와 MZ Header값, 그리고 PE Header의 시작위치와 PE Header값이라는 네개의 필드가 필요하다. 특히 PE Header값의 시작위치는 상수값이 아니므로, 시작위치에는 상수 대신 시작위치를 구할 수 있는 함수나 변수값이 들어갈 수도 있다.
제어모듈(150)은 상기 파일필터 드라이버(110) 또는 네트워크 필터 드라이버(120)로부터 통지를 받으면 통지받은 파일의 표시확장자를 추출하고, 다시 파일헤더 구조DB(140)로부터 헤더정보를 추출하여 표시확장자가 실제 확장자인지 여부를 판별한 후 이에 따라 조치를 취하게 된다. 이러한 내용에 대해서는 이하 도 2에 대한 설명에서 자세히 후술한다.
도 2는 본 발명의 일 실시예에 따른 확장자를 위장한 파일을 탐지하는 방법 의 설명에 제공되는 흐름도이다.
네트워크 필터 드라이버(120)는 네트워크를 통해서 파일의 전송요청을 감지한다(S210). 예를 들어 사용자가 인터넷을 접속하면서 AAA.JPG라는 파일을 웹서버에 전송요청을 하고, 이에 따라 해당파일을 수신하려고 하면, 이러한 정보는 네트워크 필터 드라이버(120)를 통해서 제어모듈(150)에 전송된다.
이에 제어모듈(150)은 상기 파일 이름에서 표시확장자(실제 파일의 내용과 관계없이 겉으로 표시되는 확장자, 이하 표시확장자라고 칭함)를 추출한다(S220). 추출방법은 여러가지가 가능할 수 있으나, 보통은 파일의 뒷부분에서 점(.)이 나올때까지를 표시확장자로 인식하는 방법이 가장 많이 쓰인다. 이럴경우 해당 파일의 표시확장자는 JPG가 될 것이다.
이후에 제어모듈(150)은 파일헤더 구조DB(140)를 이용해서 상기 표시확장자 즉 JPG에 해당하는 헤더정보를 추출한다(S230).
이후 상기 추출된 헤더정보와 실제 수신하려는 파일의 내용을 비교한다(S240). 추출한 헤더정보에서 JPG 파일의 경우 몇번째 어드레스부터 시작해서, 어떠한 데이터값으로 이루어져있는지를 알 수 있는바, 실제 파일에도 헤더정보가 이와 동일한지 여부를 비교하면 될 것이다.
이렇게 비교해서 서로 일치하다면(S250-Y), 상기 파일을 실제로도 JPG파일이며 따라서 전송을 허용한다(S280).
만약에 비교결과 일치하지 않다면(S250-N), 상기 파일은 실제로는 JPG파일이 아니고, 표시확장자명을 JPG로 변경한 것이다. 따라서 이러한 내용을 사용자에게 경고창등을 이용해서 알려주고(S260), 사용자의 컴퓨터에 수신되지 않도록 차단한다(S270).
물론 여기서 차단하는 것은 일 예이고 사용자에게 이러한 내용을 알려준후, 사용자가 이런 위험성이 있음에도 불구하고 전송허용 버튼을 클릭하면 전송을 허용하거나, 또는 사용자의 컴퓨터에 악성코드 검사 프로그램이 있다면 악성코드 검사를 한 후에 이상이 없으면 전송을 허용하는 방법등도 사용가능하다.
이러한 방법등을 통해서 네트워크에서 누군가 파일의 확장자를 변경해 놓은 파일을 사용자가 모르게 바로 컴퓨터에 전송되는 상황은 미리 차단할 수 있게 되는 것이다.
한편 본 발명은 네트워크를 통해서 전송하는 경우에만 적용되는 것은 아니다. 도 3은 이러한 경우 뿐만 아니라, 이미 사용자 컴퓨터의 저장장치에 있는 파일에 대해서도 적용하는 방법의 설명에 제공되는 흐름도이다
우선 파일필터 드라이버(110)는 특정 파일의 변경이 일어나면 제어모듈(150)에게 바로 통지한다.
예를 들어, 사용자 시스템에 AAA.JPG라는 이미지 파일이 존재한다고 하자. 만약 이러한 이미지가 진짜로 JPG파일이라면 별 문제가 없겠지만 실행기능을 가진 악성코드이고, 단지 확장자만을 JPG로 이름을 바꿔 놓은 상태라면 JPG로 위장한 실행파일은 임의의 공격자가 실행창 환경에서 해당 파일의 실행이 가능해져 사용자의 컴퓨터에 크나큰 악영향을 줄 수 있다.
따라서 JPG확장자 위장 파일로의 접근을 감지하면 접근을 허용하기 전에 우 선적으로 제어모듈(150)은 아래와 같은 과정을 수행한다.
우선 표시확장자 JPG를 추출하고, 해당 표시확장자에 대응하는 헤더정보를 추출한 후 이를 실제 파일내용과 비교한다(S320,S330,S340). 상기 내용은 도 2의 S220,S230 및 S240 단계와 유사한 바 자세한 설명은 생략한다.
이렇게 비교해서 서로 일치하다면(S350-Y), 상기 파일은 실제로도 JPG파일이며 따라서 접근을 허용한다(S395).
만약에 비교결과 일치하지 않다면(S350-N), 상기 파일은 실제로는 JPG파일이 아니고, 표시확장자명을 JPG로 변경한 것이다. 따라서 이러한 내용을 사용자에게 경고창등을 이용해서 알려준다(S360).
경고창등을 통해서 알려주는 동시에, 해당 사용자의 컴퓨터에 악성코드 검사 프로그램이 있다면 악성코드 검사를 수행한다(S370).
검사를 수행한 후, 악성코드에 해당한다면(S380-Y) 바로 삭제등의 조치를 취한다(S390). 대부분의 악성코드 검색 프로그램들은 일반검사와 정밀검사라는 구분을 두고 있는데, 평상시에 전체 하드디스크에 대해서 정밀검사를 수행하는 것은 너무 많은 시간이 소요되는바, 대부분의 사용자들을 활용하지 않는다. 그러나 이렇게 본 발명에서처럼 확장자를 변형한 파일은 위험성이 높은 파일이고 용량도 얼마 되지 않는 바, 이럴때 정밀검사를 이용해서 검사하면 보다 효율적이다.
물론 사용자의 컴퓨터에 악성코드 검색 프로그램이 없을 경우에는 상기 S370 및 S380단계 대신에, 바로 이러한 내용을 통지하고 바로 삭제할 지 여부를 사용자로부터 입력받은 후, 이에 따라 삭제등을 수행하는 것도 바람직하다.
한편 위와 같이 네트워크를 통해서 파일의 전송요청이 감지되거나, 파일의 변경된 경우에만 본 발명을 적용되는 것은 아니다.
도 4는 본 발명의 또 다른 일 실시예에 따라 사용자가 특정 파일의 확장자가 변경된 것인지 원래 확장자가 맞는 것인지를 탐지할 수 있도록 하는, 확장자를 위장한 파일을 탐지하는 방법의 설명에 제공되는 흐름도이다.
우선 사용자는 입력모듈(130)을 통해서, 검사하고 싶은 파일을 입력한다(S410). 물론 하나의 파일만 입력하는 것이 아니라, 일반 악성코드 검색 프로그램들과 같이 특정 폴더등을 통째로 입력하는 것도 가능하다. 예를 들어 사용자가 AAA.JPG라는 파일을 입력했다고 가정하자.
이렇게 입력된 파일등에서 표시확장자 즉 본 예에서는 JPG를 추출한다(S420).
그리고 다시 상기 파일의 실제확장자를 추출한다(S430). 즉 파일의 헤더부분을 분석한 후, 해당 헤더 내용을 가지고 파일헤더 구조DB(140)에 들어가서, 해당 헤더 내용은 어떤 확장자인지를 탐색하는 것이다. AAA.JPG라는 파일의 헤더구조를 분석했더니, MZ Header와 PE Header등의 내용이 검색되었고 이를 파일헤더 구조DB(140)에서 검색했더니 해당 내용이 들어간 파일의 확장자는 EXE라고 나왔다고 가정하자. 그렀다면 최초 입력한 AAA.JPG 라는 파일의 실제확장자는 EXE가 된다. 이하 이렇게 탐색된 확장자를 실제확장자라고 칭한다.
이 후에 표시확장자와 실제확장자를 비교한다(S440).
표시확장자와 실제확장자가 서로 일치한다면(S450-Y), 확장자를 위장한 것이 아니므로 특별한 조치를 취할 필요가 없다.
그러나 일치하지 않는다면(S450-N), 확장자를 위장한 파일(본 예에서는 EXE라는 실행파일을 JPG라는 데이터파일로 위장)이므로 이러한 내용을 사용자에게 경고한다(S460).
이 후에 상기 파일의 표시확장자를 실제확장자로 변경한다(S470). 즉 AAA.JPG는 AAA.EXE로 확장자의 이름을 변경해 준다. 이러한 변경을 통해서 악성코드 검색기가 차후에 실행파일만 검색할 때, AAA파일을 건너뛰는 문제도 해결된다.
상기 S410단계에서, 파일을 다수개 입력하였다면 모든 파일에 대해서 수행될 때까지 상기 S420단계 내지 S470단계를 반복수행한다.
본 실시예에서는 파일을 사용자가 입력한 경우에 실제확장자를 검색한 후, 표시확장자를 실제확장자로 변경하는 과정에 대해서 설명하였으나 이는 설명의 편의를 위한 일 실시예에 불과하다. 따라서 이러한 실제확장자를 이용하는 단계를 도 2 및 도 3에서와 같이 네트워크를 통해서 송신 요청이 있는 파일이나, 파일의 접근이 감지된 경우에 적용해도 무방하다.
또한, 본 실시예에서는 단말기의 일 예로서 컴퓨터를 들어 설명하였으나, 컴퓨터는 설명의 편의를 위한 일 실시예에 불과하다. 따라서 이동식 디스크를 연결해서 파일을 저장할 수 있는 단말기라면 그 어느 것이라도 본 발명이 적용될 수 있음은 물론이다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 확장자를 위장한 파일을 탐지하는 장치의 내부 블록도,
도 2는 본 발명의 일 실시예에 따른 확장자를 위장한 파일을 탐지하는 방법의 설명에 제공되는 흐름도, 및
도 3은 본 발명의 다른 일 실시예에 따른 확장자를 위장한 파일을 탐지하는 방법의 설명에 제공되는 흐름도, 및
도 4는 본 발명의 또 다른 일 실시예에 따른 확장자를 위장한 파일을 탐지하는 방법의 설명에 제공되는 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
110 : 파일필터 드라이버 120 : 네트워크 필터 드라이버
130 : 입력모듈 140 : 파일헤더 구조DB
150 : 제어모듈

Claims (13)

  1. 파일의 파일명으로부터 확장자를 추출하는 표시확장자 추출단계;
    확장자와 이에 대응되는 헤더정보로 구성되어 있는 데이터베이스로부터 상기 표시확장자에 해당하는 헤더정보를 추출하는 단계;
    상기 파일의 정적분석을 수행하여 상기 추출된 헤더정보와 실제 파일의 내용이 일치하는지 여부를 판단하는 단계 및
    일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 방법.
  2. 제1항에 있어서,
    네트워크를 통해서 파일의 전송요청을 감지하는 단계를 더 포함하고,
    상기 추출단계의 파일은 상기 감지된 파일인 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 방법.
  3. 제 2항에 있어서
    변조되지 않는 것으로 판단된 경우에는 상기 파일의 전송을 허용하고, 변조 된 것으로 판단된 경우에는 상기 파일의 전송을 차단하는 단계를 더 포함하는 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 방법.
  4. 제1항에 있어서,
    파일 조작을 위한 파일IO를 감지하는 단계를 더 포함하고,
    상기 추출단계의 파일은 상기 감지된 파일인 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 방법.
  5. 제 1항에 있어서
    변조된 것으로 판단된 경우에는 상기 파일에 대한 악성코드를 검사하는 단계를 더 포함하는 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 방법.
  6. 파일의 파일명으로부터 확장자를 추출하는 표시확장자 추출단계;
    상기 파일의 정적분석을 수행하여 상기 파일의 헤더정보를 추출하는 단계;
    확장자와 이에 대응되는 헤더정보로 구성되어 있는 데이터베이스로부터 상기 추출된 헤더정보에 해당하는 확장자를 추출하는 실제확장자 추출단계;
    상기 표시확장자와 상기 실제확장자가 일치하는지 여부를 판단하는 단계 및
    일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 방법.
  7. 제6항에 있어서,
    사용자로부터 파일을 입력받는 단계를 더 포함하고,
    상기 표시확장자 추출단계의 파일은 상기 입력받은 파일인 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 방법.
  8. 제 6항에 있어서
    변조된 것으로 판단된 경우에는 상기 파일의 확장자를 실제확장자로 변경하는 단계를 더 포함하는 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 방법.
  9. 확장자와 이에 대응되는 헤더정보로 구성되어 있는 파일헤더구조 데이터베이스 및
    파일의 파일명으로부터 표시확장자를 추출하고, 상기 파일헤더구조 데이터베 이스로부터 상기 표시확장자에 해당하는 헤더정보를 추출한 후에 실제 파일의 내용과 비교하여, 일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 제어모듈을 포함하는 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 장치.
  10. 제 9항에 있어서,
    네트워크를 통해서 파일의 전송요청을 감지하는 네트워크 필터 드라이버를 더 더 포함하고,
    상기 추출단계의 파일은 상기 감지된 파일인 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 장치.
  11. 제 9항에 있어서,
    파일 조작을 위한 파일IO를 감지하는 파일필터 드라이버를 더 포함하고,
    상기 추출단계의 파일은 상기 감지된 파일인 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 장치.
  12. 제 9항에 있어서
    변조된 것으로 판단된 경우에는 상기 파일에 대한 악성코드를 검사하는 악성코드 검사모듈을 더 포함하는 것을 특징으로 하는 확장자를 위장한 파일을 탐지하는 장치.
  13. 파일의 파일명으로부터 확장자를 추출하는 표시확장자 추출단계;
    확장자와 이에 대응되는 헤더정보로 구성되어 있는 데이터베이스로부터 상기 표시확장자에 해당하는 헤더정보를 추출하는 단계;
    상기 파일의 정적분석을 수행하여 상기 추출된 헤더정보와 실제 파일의 내용이 일치하는지 여부를 판단하는 단계 및
    일치하는 경우에는 상기 파일의 확장자는 변조되지 않은 것으로 판단하고, 일치하지 않는 경우에는 상기 파일의 확장자는 변조된 것으로 판단하는 단계를 수행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020080065590A 2008-07-07 2008-07-07 확장자를 위장한 파일을 탐지하는 방법 및 그 장치 KR100992434B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080065590A KR100992434B1 (ko) 2008-07-07 2008-07-07 확장자를 위장한 파일을 탐지하는 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080065590A KR100992434B1 (ko) 2008-07-07 2008-07-07 확장자를 위장한 파일을 탐지하는 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20100005518A true KR20100005518A (ko) 2010-01-15
KR100992434B1 KR100992434B1 (ko) 2010-11-05

Family

ID=41814889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080065590A KR100992434B1 (ko) 2008-07-07 2008-07-07 확장자를 위장한 파일을 탐지하는 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100992434B1 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101161493B1 (ko) * 2010-01-18 2012-06-29 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
KR101247943B1 (ko) * 2012-09-21 2013-04-02 주식회사 윈스테크넷 화이트리스트를 이용한 바이러스 검사 장치 및 방법
KR101311367B1 (ko) * 2013-04-09 2013-09-25 주식회사 안랩 메모리 보호기능 우회 공격 진단 장치 및 방법
US8627478B2 (en) 2012-05-11 2014-01-07 Ahnlab, Inc. Method and apparatus for inspecting non-portable executable files
WO2014010847A1 (ko) * 2012-07-09 2014-01-16 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
WO2014010829A1 (ko) * 2012-07-09 2014-01-16 주식회사 안랩 캐싱을 이용한 악성코드 진단장치 및 방법
US8646076B1 (en) 2012-09-11 2014-02-04 Ahnlab, Inc. Method and apparatus for detecting malicious shell codes using debugging events
WO2014035043A1 (ko) * 2012-09-03 2014-03-06 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법
US8763128B2 (en) 2012-05-11 2014-06-24 Ahnlab, Inc. Apparatus and method for detecting malicious files
KR101642222B1 (ko) * 2015-03-21 2016-07-22 홍동철 안드로이드 운영체제에서의 스파이 애플리케이션 및 시스템 변조 탐지 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685135B (zh) * 2012-08-30 2018-09-07 腾讯科技(深圳)有限公司 对下载文件进行安全监控方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101161493B1 (ko) * 2010-01-18 2012-06-29 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
US8627478B2 (en) 2012-05-11 2014-01-07 Ahnlab, Inc. Method and apparatus for inspecting non-portable executable files
US8763128B2 (en) 2012-05-11 2014-06-24 Ahnlab, Inc. Apparatus and method for detecting malicious files
WO2014010847A1 (ko) * 2012-07-09 2014-01-16 주식회사 안랩 악성 애플리케이션 진단장치 및 방법
WO2014010829A1 (ko) * 2012-07-09 2014-01-16 주식회사 안랩 캐싱을 이용한 악성코드 진단장치 및 방법
WO2014035043A1 (ko) * 2012-09-03 2014-03-06 주식회사 안랩 악성 애플리케이션 진단 장치 및 방법
US9525706B2 (en) 2012-09-03 2016-12-20 Ahnlab, Inc. Apparatus and method for diagnosing malicious applications
US8646076B1 (en) 2012-09-11 2014-02-04 Ahnlab, Inc. Method and apparatus for detecting malicious shell codes using debugging events
KR101247943B1 (ko) * 2012-09-21 2013-04-02 주식회사 윈스테크넷 화이트리스트를 이용한 바이러스 검사 장치 및 방법
KR101311367B1 (ko) * 2013-04-09 2013-09-25 주식회사 안랩 메모리 보호기능 우회 공격 진단 장치 및 방법
KR101642222B1 (ko) * 2015-03-21 2016-07-22 홍동철 안드로이드 운영체제에서의 스파이 애플리케이션 및 시스템 변조 탐지 방법

Also Published As

Publication number Publication date
KR100992434B1 (ko) 2010-11-05

Similar Documents

Publication Publication Date Title
KR100992434B1 (ko) 확장자를 위장한 파일을 탐지하는 방법 및 그 장치
US9294486B1 (en) Malware detection and analysis
US9953162B2 (en) Rapid malware inspection of mobile applications
US8677493B2 (en) Dynamic cleaning for malware using cloud technology
US8918878B2 (en) Restoration of file damage caused by malware
US8782791B2 (en) Computer virus detection systems and methods
US8805995B1 (en) Capturing data relating to a threat
JP5326062B1 (ja) 非実行ファイル検査装置及び方法
JP5265061B1 (ja) 悪意のあるファイル検査装置及び方法
US20190141075A1 (en) Method and system for a protection mechanism to improve server security
US20110041179A1 (en) Malware detection
JPWO2014112185A1 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
US8474040B2 (en) Environmental imaging
KR101132197B1 (ko) 악성 코드 자동 판별 장치 및 방법
US10873588B2 (en) System, method, and apparatus for computer security
US10747879B2 (en) System, method, and computer program product for identifying a file used to automatically launch content as unwanted
US11487868B2 (en) System, method, and apparatus for computer security
Andriatsimandefitra et al. Detection and identification of android malware based on information flow monitoring
US9959406B2 (en) System and method for zero-day privilege escalation malware detection
JP5326063B1 (ja) デバッグイベントを用いた悪意のあるシェルコードの検知装置及び方法
JP6169497B2 (ja) 接続先情報判定装置、接続先情報判定方法、及びプログラム
JP2010182020A (ja) 不正検知装置およびプログラム
CN112580038A (zh) 反病毒数据的处理方法、装置及设备
US11436326B2 (en) False alarm detection for malware scanning
JP7328635B2 (ja) セキュリティインシデント検知装置、セキュリティインシデント検知システム、セキュリティインシデント検知方法およびプログラム

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
FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141103

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161101

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171101

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181101

Year of fee payment: 9