KR101857575B1 - 악성코드탐지시스템 및 악성코드 탐지 방법 - Google Patents

악성코드탐지시스템 및 악성코드 탐지 방법 Download PDF

Info

Publication number
KR101857575B1
KR101857575B1 KR1020160113127A KR20160113127A KR101857575B1 KR 101857575 B1 KR101857575 B1 KR 101857575B1 KR 1020160113127 A KR1020160113127 A KR 1020160113127A KR 20160113127 A KR20160113127 A KR 20160113127A KR 101857575 B1 KR101857575 B1 KR 101857575B1
Authority
KR
South Korea
Prior art keywords
file
path
malicious code
virtual
target file
Prior art date
Application number
KR1020160113127A
Other languages
English (en)
Other versions
KR20180026139A (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 KR1020160113127A priority Critical patent/KR101857575B1/ko
Priority to PCT/KR2017/006466 priority patent/WO2018043885A1/ko
Publication of KR20180026139A publication Critical patent/KR20180026139A/ko
Application granted granted Critical
Publication of KR101857575B1 publication Critical patent/KR101857575B1/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/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
    • G06F21/54Monitoring 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 by adding security routines or objects to programs
    • 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/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은, 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지하되 탐지 대상인 프로세스에게만 제한적으로 노출되는 새로운 악성코드 탐지 기법을 제안하여, 사용자나 악성코드 제작자에게 쉽게 노출되는 일 없이 악성코드를 효과적으로 탐지해낼 수 있다.

Description

악성코드탐지시스템 및 악성코드 탐지 방법{MALICIOUS CODE DETECTION SYSTEM AND MALICIOUS CODE DETECTING METHOD}
본 발명은, 악성코드로부터 파일을 보호하는 기술에 관한 것으로, 더욱 상세하게는 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지하되 탐지 대상인 프로세스에게만 제한적으로 노출되는 새로운 악성코드 탐지 기법을 제안하여, 사용자나 악성코드 제작자에게 쉽게 노출되는 일 없이 악성코드를 효과적으로 탐지해낼 수 있는 악성코드탐지시스템 및 악성코드 탐지 방법에 관한 것이다.
악성코드는, 정보(파일)을 임의로 변조시켜 사용 불가능 상태로 만드는 형태의 공격, 정보(파일)을 외부로 유출시키는 형태의 공격, 정보(파일)을 삭제하는 형태의 공격 등, 다양한 형태의 공격을 감행하는 다양한 종류가 존재한다.
예를 들어, 정보(파일)을 임의로 변조시켜 사용 불가능 상태로 만드는 형태의 공격을 감행하는 악성코드는, 정보(파일)를 암호화하거나 압축하는 등 임의로 변조시켜 사용자가 다시 보기 어려운 상태 즉 사용 불가능 상태로 만드는 형태의 공격을 감행한다.
이러한 악성코드는, 정보(파일)를 완전히 파괴하지는 않고 사용 불가능 상태로만 만든 후 정보(파일) 공격 사실을 사용자에게 알려, 정보(파일) 복원의 대가로 금전을 갈취하는 악의적 목적으로 주로 사용되고 있다.
한편, 정보(파일)을 외부로 유출시키는 형태의 공격, 정보(파일)을 삭제하는 형태의 공격 등의 기타 다른 악성코드는, 사용자 모르게 정보(파일)에 접근하여 외부로 유출하거나 삭제하는 등의 공격을 감행한다.
이러한 악성코드에 의한 공격으로 실제 피해가 발생한 이후에는 피해를 복구하는 것이 어렵기 때문에, 악성코드를 피해가 발생하기 전에 탐지하는 것이 가장 이상적일 것이다.
하지만, 기존의 악성코드 탐지 기법은, 악성코드의 직접적인 악성행위 즉 공격을 탐지하는 것이 아니라, 악성코드의 배포 방식이나 감염 방식과 같이 간접적인 동작을 토대로, 악성코드를 탐지하고 있다.
이러한 기존의 악성코드 탐지 방식은, 악성코드의 배포 방식이나 감염 방식과 같이 간접적인 동작을 토대로 탐지하기 때문에, 악성코드의 악성행위 즉 공격으로 인해 실제 피해가 발생한 후에 악성코드가 탐지되거나, 독특한 행위를 하는 경우 탐지 실패될 수 있다는 문제점을 갖는다.
이에, 악성코드에 의한 실제 피해가 발생하기 전에 탐지하는 악성코드 탐지 기법이 요구된다.
한편, 실제 피해가 발생하기 전에 악성코드를 탐지하는 악성코드 탐지 기법을 적용하게 되면, 정상적인 프로세스의 행위도 악성행위로 탐지하는 과잉 탐지할 수도 있고, 실제 피해 발생 전에 악성코드를 탐지하기 위한 핵심 요소가 쉽게 노출되어 오히려 사용자에게 악성코드로 오해되거나 악성코드 제작자에게 변종 악성코드 개발에 이용되는 상황들이 우려된다.
이에, 본 발명에서는, 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지하되, 탐지 대상인 프로세스에게만 제한적으로 노출되는 새로운 악성코드 탐지 기법을 제안하고자 한다.
본 발명은 상기한 사정을 감안하여 창출된 것으로서, 본 발명에서 도달하고자 하는 목적은 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지하되 탐지 대상인 프로세스에게만 제한적으로 노출되는 새로운 악성코드 탐지 기법을 제안하여, 사용자나 악성코드 제작자에게 쉽게 노출되는 일 없이 악성코드를 효과적으로 탐지해낼 수 있는 악성코드탐지시스템 및 악성코드 탐지 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 제 1 관점에 따른 악성코드 탐지 방법은, 악성코드 탐지를 위한 별도의 임의 파일을 생성하고, 상기 임의 파일과 연계되는 가상 파일의 경로를 정의하는 정의단계; 행위 수행을 위한 대상파일 검색을 시도하는 프로세스가 확인되면, 상기 프로세스가 정상 프로세스인지 의심 프로세스인지 구별하는 구별단계; 정상 프로세스로 구별되는 경우, 상기 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 상기 프로세스로 제공하는 제1제공단계; 의심 프로세스로 구별되는 경우, 검색결과로서 상기 대상파일의 경로를 상기 프로세스로 제공할 때 상기 가상 파일의 경로를 함께 제공하여, 의심 프로세스로 구별된 프로세스에서만 상기 가상 파일의 경로와 연계된 상기 임의 파일의 존재가 인지되도록 하는 제2제공단계를 포함한다.
상기 목적을 달성하기 위한 본 발명의 제 2 관점에 따른 악성코드탐지시스템은, 악성코드 탐지를 위한 별도의 임의 파일을 생성하고, 상기 임의 파일과 연계되는 가상 파일의 경로를 정의하는 파일생성 및 경로정의부; 행위 수행을 위한 대상파일 검색을 시도하는 프로세스가 확인되면, 상기 프로세스가 정상 프로세스인지 의심 프로세스인지 구별하는 프로세스구별부; 정상 프로세스로 구별되는 경우, 상기 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 상기 프로세스로 제공하고, 의심 프로세스로 구별되는 경우, 검색결과로서 상기 대상파일의 경로를 상기 프로세스로 제공할 때 상기 가상 파일의 경로를 함께 제공하는 제어부를 포함한다.
본 발명의 실시예들에 따르면, 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지하되 탐지 대상인 프로세스에게만 제한적으로 노출되는 새로운 악성코드 탐지 기법을 통해, 사용자나 악성코드 제작자에게 쉽게 노출되는 일 없이 악성코드를 효과적으로 탐지해내는 효과를 도출한다.
도 1은 본 발명의 바람직한 실시예에 따른 악성코드탐지시스템의 구성을 보여주는 구성도이다.
도 2는 본 발명의 바람직한 실시예에 따른 악성코드 탐지 방법을 보여주는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 설명한다.
먼저, 도 1을 참조하여 본 발명을 설명하면 다음과 같다. 여기서, 도 1은 본 발명의 바람직한 실시예에 따른 악성코드탐지시스템의 구성을 보여주고 있다.
도 1에 도시된 바와 같이, 본 발명에 따른 악성코드탐지시스템(100)은, 컴퓨터와 같이 독립된 사용자 디바이스(500)에 탑재되는 것이 바람직하다. 이러한 본 발명의 악성코드탐지시스템(100)은, 사용자 디바이스(500)에 설치되는 어플리케이션 형태일 수도 있다.
도 1에서는, 설명의 편의를 위해, 사용자 디바이스(500)에서 정보(파일)를 저장하고 있는 저장부(400)와, 저장부(400)에 저장된 정보(파일)에 대한 접근을 시도하는 프로세스(300)와, 저장부(400) 및 프로세스(300) 사이에서 정보(파일)에 대한 I/O를 제어하는 파일시스템(200)의 구성을 도시하였다.
도 1에 도시된 바와 같이 본 발명에 따른 악성코드탐지시스템(100)은, 악성코드 탐지를 위한 별도의 임의 파일을 생성하고, 상기 임의 파일과 연계되는 가상 파일의 경로를 정의하는 파일생성 및 경로정의부(110)와, 행위 수행을 위한 대상파일 검색을 시도하는 프로세스가 확인되면, 상기 프로세스가 정상 프로세스인지 의심 프로세스인지 구별하는 프로세스구별부(120)와, 정상 프로세스로 구별되는 경우, 상기 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 상기 프로세스로 제공하고, 의심 프로세스로 구별되는 경우, 검색결과로서 상기 대상파일의 경로를 상기 프로세스로 제공할 때 상기 가상 파일의 경로를 함께 제공하는 제어부(130)를 포함한다.
본 발명에서는, 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지하되 탐지 대상인 프로세스에게만 제한적으로 노출되는 새로운 악성코드 탐지 기법을 제안하고자 한다.
이때, 임의 파일은, 악성코드가 악성행위를 수행을 위해 공격 목표로 하는 파일의 형태(예: 문서, 미디어 등)와 같은 형태로 생성되어, 악성행위 즉 공격을 감행하는 악성코드로 하여금 임의 파일을 자신이 공격 목표로 하는 파일로 인식하도록 하는 것이 중요하다.
이에, 임의 파일은, 실제로는 의미 있는 데이터를 저장하고 있는 파일이 아니라, 악성코드의 실제 공격 목표인 파일 대신에 악성코드의 악성행위(공격)가 수행되기 위한 목적 만을 갖는 파일이다.
따라서, 파일생성 및 경로정의부(110)는, 악성코드가 악성행위를 수행을 위해 목표로 하는 파일의 형태(예: 문서, 미디어 등)와 같은 형태의 임의 파일을, 정보(파일)를 저장하고 있는 저장부(400) 내에서 악성코드에게 노출시키기 위한 디렉토리(경로)에 생성한다.
아울러, 파일생성 및 경로정의부(110)는, 전술과 같이 임의 파일을 생성하면, 임의 파일과 연계되는 가상 파일의 경로를 정의한다.
이때, 가상 파일은, 실제로 생성 및 존재하는 임의 파일과는 달리, 실제로는 존재하지 않는 파일이며 따라서 가상 파일의 경로 역시 임의 파일과 연계되는 정보일 뿐 실제 접근 가능한 디렉토리(경로)가 아니다.
즉, 파일생성 및 경로정의부(110)는, 전술과 같이 임의 파일을 생성하면, 임의 파일과 연계되는 정보로서 가상 파일의 경로를 정의하는 것이다.
프로세스구별부(120)는, 행위 수행을 위한 대상파일 검색을 시도하는 프로세스(300)가 확인되면, 프로세스(300)가 정상 프로세스인지 의심 프로세스인지 구별한다.
구체적으로, 프로세스구별부(120)는, 사전에 정의된 구별정책에 따라, 프로세스(300)가 정상 프로세스인지 의심 프로세스인지 구별할 수 있다.
예를 들면, 구별정책은, 누적된 악성코드 탐지 결과를 바탕으로 작성된 화이트리스트에 속해 있는 프로세스를 정상 프로세서로 구별하고, 화이트리스트에 속해 있지 않는 프로세스를 의심 프로세스로 구별하는 정책일 수 있다.
이 경우, 프로세스구별부(120)는, 구별정책 따라, 프로세스(300)가 화이트리스트에 속해 있으면 정상 프로세스로 구별하고 화이트리스트에 속해 있지 않으면 의심 프로세스로 구별할 것이다.
또는, 구별정책은, 누적된 악성코드 탐지 결과를 바탕으로 작성된 화이트리스트에 속해 있으면서 로드하는 모듈 중 언노운(Unknown)인 모듈이 없는 프로세스를 정상 프로세서로 구별하고, 화이트리스트에 속해 있지 않거나 속해 있더라도 로드하는 모듈 중 언노운(Unknown)인 모듈이 있는 프로세스를 의심 프로세스로 구별하는 정책일 수 있다.
이 경우, 프로세스구별부(120)는, 구별정책 따라, 프로세스(300)가 화이트리스트에 속해 있고 로드하는 모듈 중 언노운(Unknown)인 모듈이 없으면 정상 프로세스로 구별하고 화이트리스트에 속해 있지 않거나 속해 있더라도 로드하는 모듈 중 언노운(Unknown)인 모듈이 있으면 의심 프로세스로 구별할 것이다.
전술한 구별정책의 2가지 예시는 설명의 편의 상 언급한 실시예일 뿐이며, 본 발명에서는 전술한 2가지 예시에 한정되지 않고 이 외에도 다양하게 구별정책을 사전 정의하여 정상 프로세스/의심 프로세스를 구별할 수 있을 것이다.
제어부(130)는, 프로세스(300)가 정상 프로세스로 구별되는 경우, 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 프로세스(300)로 제공한다.
이하에서는 설명의 편의 상, 정상 프로세스로 구별된 프로세스(300)을 정상 프로세스(300)으로 지칭하고, 의심 프로세스로 구별된 프로세스(300)을 의심 프로세스(300)으로 지칭하겠다.
즉, 제어부(130)는, 행위 수행을 위한 대상파일 검색을 시도하는 정상 프로세스(300)로는, 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 제공하는 것이다.
이는, 기존에 프로세스가 행위 수행을 위한 대상파일 검색을 시도하여 대상파일의 경로(디렉토리)를 검색결과로 제공받는, 일반적인 검색결과 제공 방식이다.
한편, 제어부(130)는, 프로세스(300)가 의심 프로세스로 구별되는 경우, 검색결과로서 대상파일의 경로를 프로세스(300)로 제공할 때 앞서 정의한 가상 파일의 경로를 함께 제공한다.
즉, 제어부(130)는, 행위 수행을 위한 대상파일 검색을 시도하는 의심 프로세스(300)로는, 대상파일 검색 시도에 따라 검색된 대상파일의 경로 뿐 아니라 앞서 정의한 가상 파일의 경로도 함께 검색결과로서 제공하는 것이다.
이렇게 되면, 의심 프로세스(300)는, 대상파일 검색을 통해 대상파일의 경로(디렉토리) 만을 검색결과로서 제공받는 정상 프로세스(300)와 달리, 대상파일 검색을 통해 대상파일의 경로(디렉토리) 및 가상 파일의 경로를 검색결과로서 제공받기 때문에, 의심 프로세스(300)에서만 가상 파일의 경로와 연계된 임의 파일의 존재가 인지될 것이다.
즉, 본 발명에 따르면, 정상 프로세스(300)는, 가상 파일의 경로를 알 수 없기 때문에 가상 파일의 경로와 연계된 임의 파일의 존재를 인지하는 것이 불가능하므로, 임의 파일에 근거한 본 발명의 악성코드 탐지 기법은 정상 프로세스(300)에게는 노출되지 않는다.
반면, 본 발명에 따르면, 탐지 대상인 악성코드일 수도 있는 프로세스 즉 의심 프로세스(300)는, 가상 파일의 경로를 알 수 있기 때문에 가상 파일의 경로와 연계된 임의 파일의 존재를 인지하게 되고, 따라서 임의 파일에 근거한 본 발명의 악성코드 탐지 기법은 의심 프로세스(300)에게만 제한적으로 노출되는 것이다.
한편, 본 발명에서 탐지 대상으로 하는 악성코드는, 정보(파일)을 임의로 변조시켜 사용 불가능 상태로 만드는 형태의 공격을 감행하는 악성코드일 수 있고, 또는 정보(파일)을 외부로 유출시키는 형태의 공격을 감행하는 악성코드일 수도 있고, 또는 정보(파일)을 삭제하는 형태의 공격을 감행하는 악성코드일 수도 있다.
제어부(130)는, 의심 프로세스(300)가 가상 파일의 경로에 접근하여 임의 파일에서 수행하는 행위를 기반으로, 의심 프로세스(300)를 악성코드로 탐지한다.
즉, 본 발명에서는, 의심 프로세스(300)가 임의 파일과 연계되는 정보일 뿐 실제로 존재하지 않은 가상 파일의 경로로 접근하면, 의심 프로세스(300)를 가상 파일의 경로와 연계된 임의 파일로 접근시킨다.
이에, 제어부(130)는, 의심 프로세스(300)가 가상 파일의 경로에 접근하여 임의 파일에 접근한 후 임의 파일에서 수행하는 행위를 기반으로, 본 발명에서 탐지 대상으로 하는 악성코드의 악성행위(공격)로 판단되면 의심 프로세스(300)를 악성코드인 것으로 탐지할 수 있다.
이때, 의심 프로세스(300)가 악성행위(공격)를 수행한 임의 파일은, 실제로는 의미 있는 데이터를 저장하고 있는 파일이 아니기 때문에, 금번 임의 파일에서 수행된 의심 프로세스(300)의 악성행위(공격)로 인한 실제 피해는 발생되지 않은 것이다.
그리고, 제어부(130)는, 의심 프로세스(300)를 악성코드인 것으로 탐지하면, 의심 프로세스(300)가 더 이상 다른 파일에 접근하지 못하도록 차단할 수 있다.
이에, 본 발명에 따르면, 의심 프로세스(300)가 검색결과로서 제공된 대상파일의 경로 및 가상 파일의 경로 중 가장 먼저 가상 파일의 경로에 접근하게만 한다면, 의심 프로세스(300)가 악성코드인 경우 실제 피해가 발생하기 전에 악성코드로 탐지해낼 수 있다.
하지만, 의심 프로세스(300)가 검색결과로서 제공된 대상파일의 경로 및 가상 파일의 경로 중 가상 파일의 경로 보다 먼저 대상파일의 경로에 접근하여 대상파일 즉 실제 공격 목표인 파일에서 악성행위(공격)를 수행한다면, 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지해내지 못하는 상황이 발생할 수 있다.
이러한 상황을 미연에 방지하고자, 본 발명에서는, 의심 프로세스(300)가 검색결과로서 제공된 대상파일의 경로 및 가상 파일의 경로 중 가장 먼저 가상 파일의 경로에 우선적으로 접근하게 하는 기능을 제안한다.
구체적으로 설명하면, 제어부(130)는, 의심 프로세스(300)가 검색결과를 기반으로 파일에 접근할 때 대상파일의 경로 보다 가상 파일의 경로에 먼저 접근을 시도하게 하는 특정 인자를, 가상 파일의 경로에 반영한 후에 제공한다.
즉, 제어부(130)는, 행위 수행을 위한 대상파일 검색을 시도하는 의심 프로세스(300)로 대상파일 검색 시도에 따라 검색된 대상파일의 경로 및 가상 파일의 경로를 함께 검색결과로서 제공할 때, 특정 인자를 가상 파일의 경로에 반영한 후 제공하는 것이다.
여기서, 특정 인자는, 의심 프로세스(300)가 검색결과를 기반으로 파일에 접근할 때 대상파일의 경로 보다 가상 파일의 경로에 먼저 접근을 시도하게 하는 인자로 정의한다.
따라서, 특정 인자는, 탐지 대상인 악성코드가 여러 파일을 접근 대상으로 할 때 어떤 순서로 파일에 접근하는지 파일접근패턴을 분석한 결과에 기초하여, 정의될 수 있다.
예를 들어, 파일접근패턴을 분석한 결과, 탐지 대상인 악성코드가 여러 파일을 접근 대상으로 할 때 "!"로 시작하는 경로(디렉토리)를 갖는 파일에 가장 먼저 접근을 시도한다면, 특정 인자로서 "!"를 정의한다.
이 경우, 제어부(130)는, 행위 수행을 위한 대상파일 검색을 시도하는 의심 프로세스(300)로 대상파일 검색 시도에 따라 검색된 대상파일의 경로 및 가상 파일의 경로를 함께 검색결과로서 제공할 때, 특정 인자 "!"를 가상 파일의 경로 맨 앞에 반영한 후 제공하는 것이다.
이렇게 되면, 의심 프로세스(300)는, 검색결과로서 제공된 대상파일의 경로 및 가상 파일의 경로 중 "!"로 시작하는 가상 파일의 경로에 가장 먼저 접근을 시도할 것이기 때문에, 의심 프로세스(300)가 악성코드인 경우 실제 피해가 발생하기 전에 악성코드로 탐지해낼 수 있을 것이다.
한편, 악성코드 중에는, 여러 파일을 접근 대상으로 할 때 랜덤하게 파일에 접근하는 악성코드가 존재하며, 이러한 악성코드는 앞서 제안한 특정 인자(예: !)를 가상 파일의 경로에 반영하는 것만으로 실제 피해 발생 전에 탐지해내기 어려울 수 있다.
이에, 제어부(130)는, 대상파일 검색 시도에 따라 검색된 대상파일의 경로 단위로 각 대상파일의 경로 마다 가상 파일의 경로를 쌍으로 함께 제공하여, 의심 프로세스(300)가 검색결과를 기반으로 랜덤하게 파일에 접근하더라도 대상파일의 경로 보다 가상 파일의 경로에 먼저 접근을 시도하게 한다.
즉, 제어부(130)는, 행위 수행을 위한 대상파일 검색을 시도하는 의심 프로세스(300)로 대상파일 검색 시도에 따라 검색된 대상파일의 경로 및 가상 파일의 경로를 함께 검색결과로서 제공할 때, 각 대상파일의 경로 마다 특정 인자(예: !)를 반영한 가상 파일의 경로를 쌍으로 함께 제공하는 것이다.
예를 들어, 대상파일 검색 시도에 따라 검색된 대상파일의 경로가 5개(예: 경로1,2,3,4,5)라고 가정하면, 제어부(130)는, 대상파일의 경로 단위로 각 대상파일의 경로1,2,3,4,5 마다 특정 인자(예: !)를 반영한 가상 파일의 경로를 쌍으로 하여, 가상 파일의 경로 및 대상파일의 경로1, 가상 파일의 경로 및 대상파일의 경로2, 가상 파일의 경로 및 대상파일의 경로3, 가상 파일의 경로 및 대상파일의 경로4, 가상 파일의 경로 및 대상파일의 경로5의 형태로 검색결과를 제공하는 것이다.
이렇게 되면, 의심 프로세스(300)는, 검색결과로서 제공된 대상파일의 경로 중 랜덤하게 가장 먼저 선택한 대상파일의 경로(예: 경로2)에 접근을 시도하려 한다면, "!"로 시작하는 가상 파일의 경로가 대상파일의 경로2와 한 쌍이기 때문에 대상파일의 경로2 보다"!"로 시작하는 가상 파일의 경로에 먼저 접근을 시도할 것이다.
전술과 같이, 본 발명에서는, 가상 파일의 경로에 특정 인자(예: !)를 반영하는 방식 및/또는 가상 파일의 경로를 대상파일의 경로와 쌍으로 제공하는 방식을 통해서, 의심 프로세스(300)가 검색결과를 기반으로 파일에 접근할 때 가장 먼저 가상 파일의 경로에 접근을 시도하여 임의 파일에 우선적으로 접근하도록 함으로써, 의심 프로세스(300)가 악성코드인 경우 실제 피해가 발생하기 전에 악성코드로 탐지해낼 수 있다.
또한, 본 발명에서는, 랜덤하게 파일에 접근하여 악성행위(공격)을 수행하는 악성코드까지도, 실제 피해가 발생하기 전에 탐지해낼 수 있다.
아울러, 본 발명에서 제어부(130)는, 임의 파일의 경로에 직접 접근하여 임의 파일에서 행위 수행을 시도하는 프로세스(300)가 확인되면, 프로세스(300)가 정상 프로세스인지 의심 프로세스인지 여부와 무관하게 접근을 차단한다.
이는, 실제 피해 발생 전에 악성코드를 탐지하기 위한 핵심 요소 즉 임의 파일이 임의로 삭제되는 것을 방지하기 위함이다.
이상에서 설명한 바와 같이, 본 발명에 따른 악성코드탐지시스템(100)은, 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지하는 새로운 악성코드 탐지 기법을 실현하고 있다.
특히, 본 발명에서는, 정상 프로세스(300)에게는 가상 파일의 경로를 알 수 없게 하고 의심 프로세스(300)에게만 가상 파일의 경로를 알 수 있게 하는 방식을 통해, 본 발명의 악성코드 탐지 기법이 탐지 대상인 의심 프로세스(300)에게만 제한적으로 노출되도록 하고 있다.
따라서, 본 발명에서는, 실제 피해 발생 전에 악성코드를 탐지하기 위한 핵심 요소 즉 임의 파일이 쉽게 노출되는 상황을 억제하여, 오히려 사용자가 임의 파일을 악성코드로 오해하고 임의대로 삭제하거나 악성코드 제작자가 임의 파일을 불순한 의도로 이용하는 일이 발생되지 않도록 하는 효과까지 달성하고 있다.
이하에서는, 도 2를 참조하여 본 발명의 바람직한 실시예에 따른 악성코드 탐지 방법을 보다 구체적으로 설명하도록 한다. 여기서, 설명의 편의를 위해 전술한 도 1에 도시된 구성은 해당 참조번호를 언급하여 설명하겠다.
설명의 편의를 위해, 본 발명에 따른 악성코드 탐지 방법은, 도 1에 도시된 악성코드탐지시스템(100)에 의해 동작되는 동작 방법인 것으로 언급하여 설명하도록 하겠다.
본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 악성코드가 악성행위를 수행을 위해 목표로 하는 파일의 형태(예: 문서, 미디어 등)와 같은 형태의 임의 파일을, 정보(파일)를 저장하고 있는 저장부(400) 내에서 악성코드에게 노출시키기 위한 디렉토리(경로)에 생성한다(S100).
아울러, 파일생성 및 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 전술과 같이 임의 파일을 생성하면, 임의 파일과 연계되는 가상 파일의 경로를 정의한다(S100).
이때, 임의 파일은, 실제로는 의미 있는 데이터를 저장하고 있는 파일이 아니라, 악성코드의 실제 공격 목표인 파일 대신에 악성코드의 악성행위(공격)가 수행되기 위한 목적 만을 갖는 파일이다.
이때, 가상 파일은, 실제로 생성 및 존재하는 임의 파일과는 달리, 실제로는 존재하지 않는 파일이며 따라서 가상 파일의 경로 역시 임의 파일과 연계되는 정보일 뿐 실제 접근 가능한 디렉토리(경로)가 아니다.
즉, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 전술과 같이 임의 파일을 생성하면, 임의 파일과 연계되는 정보로서 가상 파일의 경로를 정의하는 것이다.
본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 행위 수행을 위한 대상파일 검색을 시도하는 프로세스(300)가 확인되면(S110), 프로세스(300)가 정상 프로세스인지 의심 프로세스인지 구별한다(S120).
구체적으로, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 사전에 정의된 구별정책에 따라, 프로세스(300)가 정상 프로세스인지 의심 프로세스인지 구별할 수 있다.
예를 들면, 구별정책은, 누적된 악성코드 탐지 결과를 바탕으로 작성된 화이트리스트에 속해 있는 프로세스를 정상 프로세서로 구별하고, 화이트리스트에 속해 있지 않는 프로세스를 의심 프로세스로 구별하는 정책일 수 있다.
이 경우, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 구별정책 따라, 프로세스(300)가 화이트리스트에 속해 있으면 정상 프로세스로 구별하고 화이트리스트에 속해 있지 않으면 의심 프로세스로 구별할 것이다.
또는, 구별정책은, 누적된 악성코드 탐지 결과를 바탕으로 작성된 화이트리스트에 속해 있으면서 로드하는 모듈 중 언노운(Unknown)인 모듈이 없는 프로세스를 정상 프로세서로 구별하고, 화이트리스트에 속해 있지 않거나 속해 있더라도 로드하는 모듈 중 언노운(Unknown)인 모듈이 있는 프로세스를 의심 프로세스로 구별하는 정책일 수 있다.
이 경우, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 구별정책 따라, 프로세스(300)가 화이트리스트에 속해 있고 로드하는 모듈 중 언노운(Unknown)인 모듈이 없으면 정상 프로세스로 구별하고 화이트리스트에 속해 있지 않거나 속해 있더라도 로드하는 모듈 중 언노운(Unknown)인 모듈이 있으면 의심 프로세스로 구별할 것이다.
본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 프로세스(300)가 정상 프로세스로 구별되는 경우(S120 No), 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 프로세스(300)로 제공한다(S160).
이하에서는 설명의 편의 상, 정상 프로세스로 구별된 프로세스(300)을 정상 프로세스(300)으로 지칭하고, 의심 프로세스로 구별된 프로세스(300)을 의심 프로세스(300)으로 지칭하겠다.
즉, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 행위 수행을 위한 대상파일 검색을 시도하는 정상 프로세스(300)로는, 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 제공하는 것이다.
이는, 기존에 프로세스가 행위 수행을 위한 대상파일 검색을 시도하여 대상파일의 경로(디렉토리)를 검색결과로 제공받는, 일반적인 검색결과 제공 방식이다.
한편, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 프로세스(300)가 의심 프로세스로 구별되는 경우(S120 Yes), 검색결과로서 대상파일의 경로를 프로세스(300)로 제공할 때 앞서 정의한 가상 파일의 경로를 함께 제공한다(S130).
즉, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 행위 수행을 위한 대상파일 검색을 시도하는 의심 프로세스(300)로는, 대상파일 검색 시도에 따라 검색된 대상파일의 경로 뿐 아니라 앞서 정의한 가상 파일의 경로도 함께 검색결과로서 제공하는 것이다.
이렇게 되면, 의심 프로세스(300)는, 대상파일 검색을 통해 대상파일의 경로(디렉토리) 만을 검색결과로서 제공받는 정상 프로세스(300)와 달리, 대상파일 검색을 통해 대상파일의 경로(디렉토리) 및 가상 파일의 경로를 검색결과로서 제공받기 때문에, 의심 프로세스(300)에서만 가상 파일의 경로와 연계된 임의 파일의 존재가 인지될 것이다.
즉, 본 발명에 따르면, 정상 프로세스(300)는, 가상 파일의 경로를 알 수 없기 때문에 가상 파일의 경로와 연계된 임의 파일의 존재를 인지하는 것이 불가능하므로, 임의 파일에 근거한 본 발명의 악성코드 탐지 기법은 정상 프로세스(300)에게는 노출되지 않는다.
반면, 본 발명에 따르면, 탐지 대상인 악성코드일 수도 있는 프로세스 즉 의심 프로세스(300)는, 가상 파일의 경로를 알 수 있기 때문에 가상 파일의 경로와 연계된 임의 파일의 존재를 인지하게 되고, 따라서 임의 파일에 근거한 본 발명의 악성코드 탐지 기법은 의심 프로세스(300)에게만 제한적으로 노출되는 것이다.
의심 프로세스(300)가 검색결과로서 제공된 대상파일의 경로 및 가상 파일의 경로 중 가상 파일의 경로 보다 먼저 대상파일의 경로에 접근하여 대상파일 즉 실제 공격 목표인 파일에서 악성행위(공격)를 수행한다면, 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지해내지 못하는 상황이 발생할 수 있다.
이러한 상황을 미연에 방지하고자, 본 발명에서는, 의심 프로세스(300)로 검색결과를 제공할 때, 다음의 가상 파일의 경로에 특정 인자(예: !)를 반영하는 방식 및/또는 가상 파일의 경로를 대상파일의 경로와 쌍으로 제공하는 방식을 제공한다.
구체적으로 설명하면, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 의심 프로세스(300)가 검색결과를 기반으로 파일에 접근할 때 대상파일의 경로 보다 가상 파일의 경로에 먼저 접근을 시도하게 하는 특정 인자를, 가상 파일의 경로에 반영한 후에 제공한다.
즉, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 행위 수행을 위한 대상파일 검색을 시도하는 의심 프로세스(300)로 대상파일 검색 시도에 따라 검색된 대상파일의 경로 및 가상 파일의 경로를 함께 검색결과로서 제공할 때(S130), 특정 인자를 가상 파일의 경로에 반영한 후 제공하는 것이다.
여기서, 특정 인자는, 의심 프로세스(300)가 검색결과를 기반으로 파일에 접근할 때 대상파일의 경로 보다 가상 파일의 경로에 먼저 접근을 시도하게 하는 인자로 정의한다.
따라서, 특정 인자는, 탐지 대상인 악성코드가 여러 파일을 접근 대상으로 할 때 어떤 순서로 파일에 접근하는지 파일접근패턴을 분석한 결과에 기초하여, 정의될 수 있다.
예를 들어, 파일접근패턴을 분석한 결과, 탐지 대상인 악성코드가 여러 파일을 접근 대상으로 할 때 "!"로 시작하는 경로(디렉토리)를 갖는 파일에 가장 먼저 접근을 시도한다면, 특정 인자로서 "!"를 정의한다.
이 경우, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 행위 수행을 위한 대상파일 검색을 시도하는 의심 프로세스(300)로 대상파일 검색 시도에 따라 검색된 대상파일의 경로 및 가상 파일의 경로를 함께 검색결과로서 제공할 때, 특정 인자 "!"를 가상 파일의 경로 맨 앞에 반영한 후 제공하는 것이다.
이렇게 되면, 의심 프로세스(300)는, 검색결과로서 제공된 대상파일의 경로 및 가상 파일의 경로 중 "!"로 시작하는 가상 파일의 경로에 가장 먼저 접근을 시도할 것이기 때문에, 의심 프로세스(300)가 악성코드인 경우 실제 피해가 발생하기 전에 악성코드로 탐지해낼 수 있을 것이다.
한편, 악성코드 중에는, 여러 파일을 접근 대상으로 할 때 랜덤하게 파일에 접근하는 악성코드가 존재하며, 이러한 악성코드는 앞서 제안한 특정 인자(예: !)를 가상 파일의 경로에 반영하는 것만으로 실제 피해 발생 전에 탐지해내기 어려울 수 있다.
이에, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 대상파일 검색 시도에 따라 검색된 대상파일의 경로 단위로 각 대상파일의 경로 마다 가상 파일의 경로를 쌍으로 함께 제공하여, 의심 프로세스(300)가 검색결과를 기반으로 랜덤하게 파일에 접근하더라도 대상파일의 경로 보다 가상 파일의 경로에 먼저 접근을 시도하게 한다.
즉, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 행위 수행을 위한 대상파일 검색을 시도하는 의심 프로세스(300)로 대상파일 검색 시도에 따라 검색된 대상파일의 경로 및 가상 파일의 경로를 함께 검색결과로서 제공할 때(S130), 각 대상파일의 경로 마다 특정 인자(예: !)를 반영한 가상 파일의 경로를 쌍으로 함께 제공하는 것이다.
예를 들어, 대상파일 검색 시도에 따라 검색된 대상파일의 경로가 5개(예: 경로1,2,3,4,5)라고 가정하면, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 대상파일의 경로 단위로 각 대상파일의 경로1,2,3,4,5 마다 특정 인자(예: !)를 반영한 가상 파일의 경로를 쌍으로 하여, 가상 파일의 경로 및 대상파일의 경로1, 가상 파일의 경로 및 대상파일의 경로2, 가상 파일의 경로 및 대상파일의 경로3, 가상 파일의 경로 및 대상파일의 경로4, 가상 파일의 경로 및 대상파일의 경로5의 형태로 검색결과를 제공하는 것이다.
이렇게 되면, 의심 프로세스(300)는, 검색결과로서 제공된 대상파일의 경로 중 랜덤하게 가장 먼저 선택한 대상파일의 경로(예: 경로2)에 접근을 시도하려 한다면, "!"로 시작하는 가상 파일의 경로가 대상파일의 경로2와 한 쌍이기 때문에 대상파일의 경로2 보다"!"로 시작하는 가상 파일의 경로에 먼저 접근을 시도할 것이다.
전술과 같이, 본 발명에서는, 가상 파일의 경로에 특정 인자(예: !)를 반영하는 방식 및/또는 가상 파일의 경로를 대상파일의 경로와 쌍으로 제공하는 방식을 통해서, 의심 프로세스(300)가 검색결과를 기반으로 파일에 접근할 때 가장 먼저 가상 파일의 경로에 접근을 시도하여 임의 파일에 우선적으로 접근하도록 함으로써, 의심 프로세스(300)가 악성코드인 경우 실제 피해가 발생하기 전에 악성코드로 탐지해낼 수 있다.
또한, 본 발명에서는, 랜덤하게 파일에 접근하여 악성행위(공격)을 수행하는 악성코드까지도, 실제 피해가 발생하기 전에 탐지해낼 수 있다.
이후, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 의심 프로세스(300)가 가상 파일의 경로에 접근하여 임의 파일에서 수행하는 행위를 수행하면(S140 Yes), 이 행위를 기반으로 의심 프로세스(300)를 악성코드로 탐지한다(S150).
즉, 본 발명에서는, 의심 프로세스(300)가 임의 파일과 연계되는 정보일 뿐 실제로 존재하지 않은 가상 파일의 경로로 접근하면, 의심 프로세스(300)를 가상 파일의 경로와 연계된 임의 파일로 접근시킨다.
이에, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 의심 프로세스(300)가 가상 파일의 경로에 접근하여 임의 파일에 접근한 후 임의 파일에서 수행하는 행위를 기반으로, 본 발명에서 탐지 대상으로 하는 악성코드의 악성행위(공격)로 판단되면 의심 프로세스(300)를 악성코드인 것으로 탐지할 수 있다.
이때, 의심 프로세스(300)가 악성행위(공격)를 수행한 임의 파일은, 실제로는 의미 있는 데이터를 저장하고 있는 파일이 아니기 때문에, 금번 임의 파일에서 수행된 의심 프로세스(300)의 악성행위(공격)으로 인한 실제 피해는 발생되지 않은 것이다.
그리고, 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법은, 의심 프로세스(300)를 악성코드인 것으로 탐지하면, 의심 프로세스(300)가 더 이상 다른 파일에 접근하지 못하도록 차단할 수 있다.
이상에서 설명한 바와 같이 본 발명에 따른 악성코드탐지시스템(100)의 동작 방법 즉 본 발명에 따른 악성코드 탐지 방법은, 악성코드에 의한 실제 피해가 발생하기 전에 악성코드를 탐지하되 탐지 대상인 프로세스에게만 제한적으로 노출되는 새로운 악성코드 탐지 기법을 실현하고 있으며, 이로 인해 사용자나 악성코드 제작자에게 쉽게 노출되는 일 없이 악성코드를 효과적으로 탐지해낼 수 있다.
본 발명의 일실시예에 따른 악성코드 탐지 방법은, 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 악성코드탐지시스템
110 : 파일생성 및 경로정의부 120 : 프로세스구별부
130 : 제어부
200 : 파일시스템
300 : 프로세스
400 : 저장부
500 : 사용자 디바이스

Claims (11)

  1. 악성코드 탐지를 위한 별도의 임의 파일을 생성하고, 상기 임의 파일과 연계되는 가상 파일의 경로를 정의하는 정의단계;
    행위 수행을 위한 대상파일 검색을 시도하는 프로세스가 확인되면, 상기 프로세스가 정상 프로세스인지 의심 프로세스인지 구별하는 구별단계;
    정상 프로세스로 구별되는 경우, 상기 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 상기 프로세스로 제공하는 제1제공단계;
    의심 프로세스로 구별되는 경우, 검색결과로서 상기 대상파일의 경로를 상기 프로세스로 제공할 때 상기 가상 파일의 경로를 함께 제공하여, 의심 프로세스로 구별된 프로세스에서만 상기 가상 파일의 경로와 연계된 상기 임의 파일의 존재가 인지되도록 하는 제2제공단계를 포함하며;
    제2제공단계는,
    상기 프로세스가 검색결과를 기반으로 파일에 접근할 때 상기 대상파일의 경로 보다 상기 가상 파일의 경로에 먼저 접근을 시도하게 하는 특정 인자를, 상기 가상 파일의 경로에 반영 후 제공하거나, 또는
    상기 대상파일 검색 시도에 따라 검색된 대상파일의 경로 단위로 각 대상파일의 경로 마다 상기 가상 파일의 경로를 쌍으로 함께 제공하여, 상기 프로세스가 검색결과를 기반으로 랜덤하게 파일에 접근하더라도 상기 대상파일의 경로 보다 상기 가상 파일의 경로에 먼저 접근을 시도하게 하는, 악성코드 탐지 방법.
  2. 제 1 항에 있어서,
    상기 프로세스가 상기 가상 파일의 경로에 접근하여 상기 임의 파일에서 수행하는 행위를 기반으로, 상기 프로세스를 악성코드로 탐지하는 단계를 더 포함하는 것을 특징으로 하는 악성코드 탐지 방법.
  3. 제 1 항에 있어서,
    상기 구별단계는,
    사전에 정의된 구별정책에 따라, 상기 프로세스가 정상 프로세스인지 의심 프로세스인지 구별하는 것을 특징으로 하는 악성코드 탐지 방법.
  4. 삭제
  5. 삭제
  6. 제 1 항에 있어서,
    상기 임의 파일의 경로에 직접 접근하여 상기 임의 파일에서 행위 수행을 시도하는 프로세스가 확인되면, 상기 프로세스가 정상 프로세스인지 의심 프로세스인지 여부와 무관하게 접근을 차단하는 단계를 더 포함하는 것을 특징으로 하는 악성코드 탐지 방법.
  7. 악성코드 탐지를 위한 별도의 임의 파일을 생성하고, 상기 임의 파일과 연계되는 가상 파일의 경로를 정의하는 파일생성 및 경로정의부;
    행위 수행을 위한 대상파일 검색을 시도하는 프로세스가 확인되면, 상기 프로세스가 정상 프로세스인지 의심 프로세스인지 구별하는 프로세스구별부;
    정상 프로세스로 구별되는 경우, 상기 대상파일 검색 시도에 따라 검색된 대상파일의 경로를 검색결과로서 상기 프로세스로 제공하고, 의심 프로세스로 구별되는 경우, 검색결과로서 상기 대상파일의 경로를 상기 프로세스로 제공할 때 상기 가상 파일의 경로를 함께 제공하는 제어부를 포함하며;
    상기 제어부는,
    상기 프로세스가 검색결과를 기반으로 파일에 접근할 때 상기 대상파일의 경로 보다 상기 가상 파일의 경로에 먼저 접근을 시도하게 하는 특정 인자를, 상기 가상 파일의 경로에 반영 후 제공거나, 또는
    상기 대상파일 검색 시도에 따라 검색된 대상파일의 경로 단위로 각 대상파일의 경로 마다 상기 가상 파일의 경로를 쌍으로 함께 제공하여, 상기 프로세스가 검색결과를 기반으로 랜덤하게 파일에 접근하더라도 상기 대상파일의 경로 보다 상기 가상 파일의 경로에 먼저 접근을 시도하게 하는, 악성코드탐지시스템.
  8. 제 7 항에 있어서,
    상기 제어부는,
    상기 프로세스가 상기 가상 파일의 경로에 접근하여 상기 임의 파일에서 수행하는 행위를 기반으로, 상기 프로세스를 악성코드로 탐지하는 것을 특징으로 하는 악성코드탐지시스템.
  9. 삭제
  10. 삭제
  11. 제 1 항 내지 제 3 항 및 제 6 항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020160113127A 2016-09-02 2016-09-02 악성코드탐지시스템 및 악성코드 탐지 방법 KR101857575B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160113127A KR101857575B1 (ko) 2016-09-02 2016-09-02 악성코드탐지시스템 및 악성코드 탐지 방법
PCT/KR2017/006466 WO2018043885A1 (ko) 2016-09-02 2017-06-20 악성코드탐지시스템 및 악성코드 탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160113127A KR101857575B1 (ko) 2016-09-02 2016-09-02 악성코드탐지시스템 및 악성코드 탐지 방법

Publications (2)

Publication Number Publication Date
KR20180026139A KR20180026139A (ko) 2018-03-12
KR101857575B1 true KR101857575B1 (ko) 2018-05-14

Family

ID=61301219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160113127A KR101857575B1 (ko) 2016-09-02 2016-09-02 악성코드탐지시스템 및 악성코드 탐지 방법

Country Status (2)

Country Link
KR (1) KR101857575B1 (ko)
WO (1) WO2018043885A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022211511A1 (ko) * 2021-03-31 2022-10-06 계명대학교 산학협력단 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치
KR20220135649A (ko) * 2021-03-31 2022-10-07 계명대학교 산학협력단 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110083180A1 (en) * 2009-10-01 2011-04-07 Kaspersky Lab, Zao Method and system for detection of previously unknown malware
KR101625643B1 (ko) * 2016-04-26 2016-05-30 주식회사 이노티움 휘발성 가상 파일 기반의 악성 코드 탐지 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101122650B1 (ko) * 2010-04-28 2012-03-09 한국전자통신연구원 정상 프로세스에 위장 삽입된 악성코드 탐지 장치, 시스템 및 방법
KR101188306B1 (ko) * 2010-12-24 2012-10-09 (주) 세인트 시큐리티 자식 프로세스를 생성하는 악성 코드 행위 모니터링 시스템 및 그 방법
KR101086203B1 (ko) * 2011-07-15 2011-11-23 에스지에이 주식회사 악성 프로세스의 행위를 판단하여 사전에 차단하는 악성프로세스 사전차단 시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110083180A1 (en) * 2009-10-01 2011-04-07 Kaspersky Lab, Zao Method and system for detection of previously unknown malware
KR101625643B1 (ko) * 2016-04-26 2016-05-30 주식회사 이노티움 휘발성 가상 파일 기반의 악성 코드 탐지 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022211511A1 (ko) * 2021-03-31 2022-10-06 계명대학교 산학협력단 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치
KR20220135649A (ko) * 2021-03-31 2022-10-07 계명대학교 산학협력단 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치
KR102494454B1 (ko) * 2021-03-31 2023-02-06 계명대학교 산학협력단 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치

Also Published As

Publication number Publication date
KR20180026139A (ko) 2018-03-12
WO2018043885A1 (ko) 2018-03-08

Similar Documents

Publication Publication Date Title
US11611586B2 (en) Systems and methods for detecting a suspicious process in an operating system environment using a file honeypots
EP3316166B1 (en) File-modifying malware detection
JP4828199B2 (ja) アンチウィルスソフトウェアアプリケーションの知識基盤を統合するシステムおよび方法
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
JP5265061B1 (ja) 悪意のあるファイル検査装置及び方法
US9626510B2 (en) Method, device and system for processing computer virus
JP2011501278A (ja) コンピュータにおける悪意プログラム自動保護方法及び装置
RU2584507C1 (ru) Способ обеспечения безопасного выполнения файла сценария
US9436824B1 (en) System and method for performing antivirus scans of files
CN113632432B (zh) 一种攻击行为的判定方法、装置及计算机存储介质
CN101667161A (zh) 存储设备的数据保护方法、数据保护装置及计算机系统
US11971986B2 (en) Self-protection of anti-malware tool and critical system resources protection
KR101970993B1 (ko) 랜섬웨어에 대한 데이터 손실이 없는 ssd 내부 방어 방법 및 랜섬웨어 탐지 시스템
KR101857575B1 (ko) 악성코드탐지시스템 및 악성코드 탐지 방법
WO2016122604A1 (en) Protection against database injection attacks
KR100666562B1 (ko) 커널 드라이버 및 프로세스 보호 방법
EP2874090B1 (en) Virus processing method and apparatus
KR20070019190A (ko) 파일 시스템 및 레지스트리를 보호하는 방법 및 그 장치
KR102259158B1 (ko) 블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템
KR102034678B1 (ko) 데이터파일 접근 제어 기반의 악성 차단 시스템 및 악성 차단 방법
KR101845284B1 (ko) 악성코드탐지시스템 및 악성코드 탐지 방법
KR100977179B1 (ko) 악성코드 탐지 방법 및 시스템
KR100968121B1 (ko) 이동식 디스크를 통한 악성 프로그램 차단 방법 및 그 장치
Shafiei et al. Position paper: On advancing adversarial malware generation using dynamic features
CN105224871A (zh) 一种病毒清除方法及装置

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