KR101710918B1 - 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법 - Google Patents

사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법 Download PDF

Info

Publication number
KR101710918B1
KR101710918B1 KR1020160022397A KR20160022397A KR101710918B1 KR 101710918 B1 KR101710918 B1 KR 101710918B1 KR 1020160022397 A KR1020160022397 A KR 1020160022397A KR 20160022397 A KR20160022397 A KR 20160022397A KR 101710918 B1 KR101710918 B1 KR 101710918B1
Authority
KR
South Korea
Prior art keywords
malicious code
file
folder
target file
monitoring
Prior art date
Application number
KR1020160022397A
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 PCT/KR2016/006650 priority Critical patent/WO2017094990A1/ko
Application granted granted Critical
Publication of KR101710918B1 publication Critical patent/KR101710918B1/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
    • 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
    • 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
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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)
  • 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

본 발명에 따른 악성코드 모니터링 장치는, 사용자파일이 저장된 저장장치에 악성코드의 감시를 위한 대상파일을 생성하는 대상파일 생성모듈; 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 해당 요청을 보낸 스레드를 확인하는 모니터링모듈; 및 상기 모니터링모듈에 의해 확인된 상기 스레드를 강제 종료하는 실행프로그램 중단모듈;을 포함한다.

Description

사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법{METHOD FOR MONITORING MALWARES WHICH ENCRYPT USER FILES}
본 발명은 컴퓨터 바이러스 또는 악성코드를 탐지하는 기술에 관한 것이다.
잘 알려진 바와 같이, 메모리 및 통신 기술이 발달함에 따라 컴퓨터의 성능이 과거에 비해 대폭 향상되었으며, 특히 네트워크 기반 시설의 발달에 의해 인터넷의 보급이 확장되고 있는 실정이다. 이러한 인터넷 등의 통신기술의 발달에 의해, 수많은 컴퓨터들이 서로 연결되어 정보를 공유하고 있으며, 그 사용자 수는 날로 늘어나고 있다.
이렇게 수많은 컴퓨터들이 네트워킹에 의해 서로 연결된 환경은 악성코드, 혹은 컴퓨터 바이러스 등에 의한 피해를 더욱 가속시킨다. 다른 인터넷 사용자의 정보를 허가 없이 해킹하여 불법으로 유용하거나, 다른 인터넷 사용자의 컴퓨터 단말기, 서버 등을 잠식하는 악성코드(또는 바이러스)는 심각한 사회문제로 대두되고 있다. 특히, 악성코드는 인터넷을 사용하는 사용자가 다른 사람의 컴퓨터에 데이터를 전송하거나, 사용자가 의도하지 않은 엉뚱한 사이트가 인터넷 사이트로 설정되도록 사용자 컴퓨터의 내부 시스템 레지스트리를 변경하는 등 다양한 형태로 문제를 일으킨다. 이러한 악성코드는 대체로 인터넷에서 쉽게 구하는 파일 프로그램을 통해서, 혹은 임의의 사이트에 인터넷 접속하는 것만으로도 사용자 컴퓨터에 설치된다.
한편, 최근에는 사용자 시스템에 감염되어 문서파일 등의 사용자파일을 암호화한 후, 이를 사용자에게 경고함과 아울러 암호화된 문서 복구를 위해 비트코인 등으로 사용자에게 금전을 요구하는 악성코드가 기승이다. 이러한 종류의 악성코드는 백신 프로그램 등으로 탐지하여 해당 악성코드 파일을 삭제할 수는 있으나, 이미 암호화된 사용자의 문서파일을 다시 복구하는 것이 곤란하다. 즉, 현재까지 사용되고 있는 백신 프로그램에 의해서는 악성코드를 감지한 후 해당 파일을 삭제할 수는 있으나, 백신의 특성상 복호화 키를 알 수 없으므로, 이미 암호화된 사용자의 문서파일의 복구는 불가능하다.
사용자파일을 암호화하는 악성코드에 따른 피해를 방지하기 위해서는 해당 악성코드가 사용자파일을 암호화하기 전에 미리 탐지하여 차단할 필요가 있다. 이를 위해, 본 발명은 사용자파일을 암호화하는 악성코드가 최초로 실행되는 것을 탐지하여 사용자 컴퓨터에 저장된 중요한 파일이 암호화되는 것을 미리 방지할 수 있는, 악성코드 모니터링 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 악성코드 모니터링 장치는, 사용자파일을 암호화하는 악성코드를 모니터링하기 위한 것으로서, 사용자파일이 저장된 저장장치에 악성코드의 감시를 위한 대상파일을 생성하는 대상파일 생성모듈; 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 해당 요청을 보낸 스레드를 확인하는 모니터링모듈; 및 상기 모니터링모듈에 의해 확인된 상기 스레드를 강제 종료하는 실행프로그램 중단모듈;을 포함하여 달성될 수 있다.
여기서, 상기 대상파일 생성모듈은, 상기 저장장치의 최상위 경로에 트랩폴더를 생성하고, 상기 트랩폴더 내에 상기 대상파일을 생성하는 것이 바람직하다. 이때, 상기 트랩폴더는 상기 악성코드에 의해 최초로 검색되는 폴더명을 갖는 것이 더욱 바람직하다. 그리고, 상기 트랩폴더는 숨김속성으로 생성되는 것이 바람직하다.
아울러, 본 발명에 따른 장치는, 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 악성코드 감염 메세지를 출력하는 알람모듈을 더 포함할 수 있다. 나아가, 상기 모니터링모듈은 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 해당 요청을 차단하는 것이 바람직하다.
본 발명에 따른 사용자파일을 암호화하는 악성코드의 모니터링 방법은, 대상파일 생성모듈이 사용자파일이 저장된 저장장치에 상기 악성코드의 감시를 위한 대상파일을 생성하는 제1 단계; 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 모니터링모듈이 해당 요청을 보낸 스레드를 확인하는 제2 단계; 및 실행프로그램 중단모듈이 상기 모니터링모듈에 의해 확인된 상기 스레드를 강제 종료하는 제3 단계;를 포함하여 수행될 수 있다.
상기 제1 단계에서, 상기 대상파일 생성모듈이, 상기 저장장치의 최상위 경로에 트랩폴더를 생성하고, 상기 트랩폴더 내에 상기 대상파일을 생성하는 것이 바람직하다. 그리고, 상기 대상파일 생성모듈은 상기 악성코드에 의해 최초로 검색되는 폴더명을 갖는 상기 트랩폴더를 생성하는 것이 바람직하다. 특히, 상기 대상파일 생성모듈은 상기 트랩폴더를 숨김속성으로 생성하는 것이 더욱 바람직하다.
아울러, 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우, 알람모듈에 의해 악성코드 감염 메세지를 출력하는 단계를 더 포함할 수 있다.
그리고, 제 2 단계에서, 상기 모니터링모듈은 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 해당 요청을 차단하는 것이 바람직하다.
본 발명의 과제를 해결하기 위하여, 상기 악성코드 모니터링 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
본 발명에 따른 악성코드 모니터링 장치 및 방법에 의하면, 사용자의 중요한 파일이 악성코드에 의해 암호화되는 것을 효과적으로 방지할 수 있다. 종래의 백신프로그램에 의해서는 악성코드를 감지한 후 이를 삭제할 수는 있으나, 이미 암호화된 사용자파일을 복구하는 것이 불가능하였다. 그러나, 본 발명에 따르면, 악성코드에 의해 최초로 암호화될 가상의 대상개체를 생성하고, 이 대상개체가 프로세싱되는 것을 모니터링하면서, 악성코드가 실행되거나 혹은 악성코드가 부수하여 실행되는 응용프로그램의 실행을 중단시킴으로써, 사용자의 중요한 파일이 암호화되는 것을 미리 예방할 수 있다.
도 1은 본 발명에 따른 악성코드 모니터링 장치에 대한 개략적인 블록 구성도이다.
도 2는 본 발명에 따른 악성코드 모니터링 방법을 수행하는 과정을 예시한 흐름도이다.
도 3은 본 발명에 따른 악성코드 모니터링 장치 및 방법에 따라 사용자 시스템 내에 트랩폴더가 생성된 예를 도시한다.
도 4는 본 발명에 따른 악성코드 모니터링 장치 및 방법에 따라 사용자 시스템에 생성된 트랩폴더 내에 대상파일이 생성된 예를 도시한다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
아울러, 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하에서는, 본 발명에 따른 악성코드 모니터링 방법에 대한 바람직한 실시예를 상세히 설명할 것이다. 다만, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
먼저, 도 1은 본 발명의 일 실시예에 따른 악성코드 모니터링 장치(100)에 대한 개략적인 블록 구성도로서, 대상파일 생성모듈(110), 모니터링모듈(120), 실행프로그램 중단모듈(130), 알람모듈(140)을 포함할 수 있다.
여기서, 사용자 시스템에 감염되어 사용자의 임의의 파일(이하, '사용자파일'이라고 함)을 암호화하는 악성코드는, 일반적인 컴퓨터 시스템 파일은 암호화하지 않고 사용자파일로 예상되는 파일만을 선택적으로 암호화한다. 이를 위해, 악성코드는, (1) 사용자 저장장치 내의 복수의 파일들을 검색하여, (2) 사용자파일로 예상되는 암호화 대상을 검출한 후에, (3) 대상이 되는 사용자파일을 암호화하고, (4) 해당 사용자파일의 확장자를 변경하는 방식으로 실행된다.
여기서, 상기 악성코드는 사용자 시스템의 임의의 사용자 문서파일을 암호화하는 실행파일일 수 있다. 아울러, 상기 악성코드가 암호화하는 사용자파일은 사용자가 작성한 문서파일, 사진 등의 이미지 파일, 동영상 파일 등 사용자가 자신의 시스템에 저장 및 관리하는 다양한 종류의 파일일 수 있다.
이러한 악성코드는 독립적인 실행파일로서 실행될 수도 있으나, 암호화하고자 하는 사용자 파일을 프로세싱할 수 있는 임의의 실행프로그램에 기생하여 실행될 수도 있다.
이러한 악성코드의 실행 방식을 감안하여, 본 발명에서는, 먼저 악성코드에 의해 암호화될 임의의 대상개체를 생성하고, 상기 대상개체가 프로세싱되는지 여부를 모니터링하면서, 만약 상기 대상개체가 프로세싱되는 것이 감지되면 상기 대상개체를 프로세싱하는 실행프로그램을 종료하는 과정을 통해, 악성코드에 의해 사용자파일이 암호화되는 것을 방지하게 된다.
아울러, 본 발명에 따른 악성코드 모니터링 장치 및 방법은, 사용자 시스템에 설치되어 실행되는 보안프로그램(백신)과 함께 혹은 별도의 실행프로그램으로서 실행될 수 있다.
도 1 및 도 2를 참조하여, 본 발명에 따른 악성코드 모니터링 장치 및 방법의 구체적인 수행과정을 설명하면 다음과 같다.
[대상개체의 생성]
본 발명에 따른 악성코드 모니터링 방법을 실행하는 악성코드 모니터링 장치(100)가 사용자 시스템에 설치되어 실행되면, 먼저 대상파일 생성모듈(110)이 사용자 시스템에 대상개체를 생성한다(S110). 이때, 상기 대상개체는 악성코드에 의해 암호화될 수 있는 파일로서 생성되는데, 악성코드가 사용자파일로 인식할 수 있도록 사용자가 일반적으로 생성하는 유형의 파일 확장자(예컨대, "hwp", "doc", "jpg", "txt" 등)를 갖는다. 이러한 대상파일은 악성코드에 의해 사용자파일로 인식되는 트랩파일로서 기능한다.
한편, 일반적으로 윈도우 운영체제 환경에서 실행되는 악성코드는 FindFirstFile, FindNextFile 등과 같은 API(Application Program Interface)를 이용하여 드라이브의 루트부터 검색한다. 사용자파일을 암호화하는 악성코드는, 사용자 시스템의 메인 드라이브(통상 "C" 드라이브)부터 이동식 디스크에 걸쳐 사용자파일을 검색하게 된다. 즉, 악성코드는 메인드라이브의 "루트"(root)부터 검색하여 암호화할 대상을 찾고, 만약 루트에 암호화할 대상 파일이 없으면 하위 폴더를 차례대로 검색하게 된다.
이러한 점에 착안하여, 사용자 시스템 내에서 사용자파일이 저장된 저장장치(고정형 드라이브, 이동식 드라이브 등)에서 최상위 경로에 대상파일을 형성한다. 즉, 상기 대상파일은 악성코드에 의한 파일 검색에서 사용자파일보다 먼저 검색될 수 있는 파일명을 갖도록 생성되거나, 혹은 악성코드에 의해 먼저 검색될 수 있는 폴더 내에 생성되는 것이 바람직하다. 이때, 대상파일은 악성코드의 감시를 위하여 생성하는 것이기 때문에, 사용자가 임의로 접근하여 억세스하지 못하도록 해야 한다. 이를 위해, 대상파일을 "숨김속성"으로 설정할 수 있으나, 이 경우 악성코드가 대상파일을 사용자파일로 인식하지 않을 수 있다. 따라서, 대상파일이 사용자 저장장치의 최상위 경로(루트)에 직접 생성되는 것보다, 최상위 경로에 생성된 트랩폴더 내에 생성되는 것이 바람직하다.
도 3에는 사용자 저장장치의 최상위 경로(C 드라이브의 루트)에 트랩폴더가 생성된 상태를 예시하였다. 여기서, 트랩폴더(210)는 악성코드에 의해 최초로 검색될 수 있는 폴더명을 갖도록 생성된다. 예컨대, 사용자 시스템이 WINDOW OS에 의해 운영되는 경우, WINDOW OS에서 경로명(즉, 폴더명)으로 허용가능한 문자 중 아스키코드(ASCII Code)의 순위가 낮은 문자로 시작하는 폴더명을 갖도록 생성된다. 즉, 경로명(혹은 파일명)으로 사용하지 못하는 문자를 제외하면, "!", "@", "#", "$" 등의 순서로 파일 또는 폴더가 검색되므로, 악성코드는 사용자 시스템 내에서 "!" 등과 같이 아스키코드의 순위가 낮은 문자로 시작하는 명칭을 가진 폴더 내의 파일에 대해 암호화할 대상을 검출하게 된다.
일례로, 도 3 및 도 4에는, 악성코드에 의해 최초로 검색되는 "@$HbgVF"라는 폴더명을 갖는 트랩폴더(210) 내에 다양한 종류의 확장자를 갖는 대상파일(211)이 생성된 예를 도시하였다. 이러한 방식으로 대상파일을 생성하면, 악성코드는 트랩폴더(210) 내에 생성된 대상파일(211)에 대해 최초로 암호화를 시도하게 된다. 이때, 트랩폴더(210)의 폴더 속성은 "숨김 속성"으로 설정되며, 그에 의해 사용자가 임의로 트랩폴더(210) 및 그 내부의 대상파일(210)을 억세스하지 못하도록 하는 것이 바람직하다.
[대상파일의 프로세싱 모니터링]
다음으로, 모니터링모듈(120)은 생성된 대상파일이 프로세싱되는지 여부를 상시적으로 감시한다(S120). 예컨대, 윈도우 운영체제 환경에서 실행되는 악성코드는 암호화 작업을 수행할 때, 대상에 대한 쓰기 접근 권한(Write Access Right)의 확보를 위하여, 파일의 접근(CreateFile 또는 ZwCreateFile), 파일의 수정(WriteFile 또는 ZwWriteFile), 핸들의 종료(CloseHandle 또는 ZwClose)의 API 실행 순서를 거치게 된다. 결과적으로, 악성코드가 파일을 암호화하기 위해서는 파일에 대한 쓰기 접근 권한을 필연적으로 요청하게 된다. 따라서, 모니터링모듈(120)은 생성된 대상파일들에 대하여 쓰기 접근 권한의 획득 요청이 들어오는지 여부를 계속하여 감시한다(S121).
한편, 사용자가 자신의 시스템을 사용하는 중에, 임의의 실행프로그램에 의해 대상파일에 대한 쓰기 접근 권한 요청이 감지되면, 해당 요청을 차단함과 동시에 대상파일에 대한 쓰기 접근 권한을 요청한 스레드(Thread)를 확인한다(S122). 여기서, "스레드"는 컴퓨터 프로그램을 수행할 때 프로세스 내에서 실행되는 흐름의 단위로, 즉 일련의 실행 코드를 말하며, 일반적으로 자신만의 고유 ID(Identificatio)를 가진다. 따라서, 모니터링모듈(120)은 대상파일들에 대해 쓰기 접근 권한을 요청한 스레드를 확인하고, 해당 스레드의 고유 ID를 저장한다.
[실행프로그램의 중단]
모니터링모듈(120)에 의해 대상파일에 대하 억세스하려고 시도하는 스레드가 확인되면, 해당 스레드의 고유 ID를 실행프로그램 중단모듈(130)에 제공한다. 그리고, 실행프로그램 중단모듈(130)은 고유 ID에 대응하는 스레드를 강제로 종료한다(S130).
모니터링모듈(120)이 대상파일에 대한 쓰기 접근 권한 요청을 차단하더라도, 악성코드는 다른 사용자파일들에 대해 지속적으로 암호화를 시도할 수 있다. 따라서, 모니터링모듈(120)에 의해 쓰기 접근 권한을 요청한 스레드를 확인한 후에, 해당 요청을 한 스레드를 강제로 종료시켜야 악성코드의 실행에 따른 사용자파일의 암화화를 막을 수 있다.
한편, 사용자 시스템이 악성코드에 감염된 경우, 상기 악성코드는 사용자 시스템의 파일들 중에서 대상파일에 대해 최초로 암호화한다. 이때, 상기 악성코드는 상기 대상파일을 암화화하기 위해 다양한 방법으로 구동될 수 있는데, 악성코드 스스로 직접 대상파일을 프로세싱하여 암호화할 수도 있고, 임의의 실행프로그램에 기생하여 해당 실행프로그램에 의해 상기 대상파일을 프로세싱하면서 암호화할 수도 있다. 악성코드 스스로 직접 대상파일을 프로세싱하여 암호화하는 경우, 실행프로그램 중단모듈(130)에 의해 악성코드의 실행이 강제 종료될 수 있다. 그러나, 만약 악성코드가 불특정한 정상 시스템 프로세스에 인젝션되어 구동되는 경우에는, 정상적인 시스템 프로세스를 종료시키기 보다는 해당 스레드만 선택적으로 종료시키는 것이 바람직하다. 악성코드가 인젝션된 정상 프로세스 내부에는 스레드가 1개만 존재할 수 있도 있으나, 2 이상의 스레드가 생성될 수 있다. 그러므로, 대상파일에 대한 쓰기 접근 권한을 요청한 스레드만을 종료시키는 방법을 통해 정상 프로세스 내부에서 악성코드가 인젝션된 스레드만을 선택적으로 찾아서 강제 종료시키는 것이 바람직하다.
[악성코드 감염 사실에 대한 경고]
사용자 시스템에 악성코드가 감염되었음이 확인되면, 즉 모니터링모듈(120)에 의해 대상파일에 대한 쓰기 접근 권한의 요청이 있으면, 알람모듈(140)이 사용자에게 시스템이 악성코드에 감염되었음을 알리는 메세지를 표시할 수 있다(S140). 이를 통해, 사용자는 자신이 보유한 중요한 문서파일을 다른 저장장치에 백업할 수 있으므로, 악성코드에 의해 자신의 중요한 사용자파일이 암호화되는 것을 효과적으로 방지할 수 있다.
종래의 백신프로그램에 의해서는 악성코드를 감지한 후 이를 삭제할 수는 있으나, 이미 암호화된 사용자파일을 복구하는 것이 불가능하였다. 그러나, 이상에서 설명한 바와 같이, 본 발명에 따른 악성코드 모니터링 장치 및 방법에 의하면, 사용자의 중요한 파일이 악성코드에 의해 암호화되는 것을 효과적으로 방지할 수 있다.
아울러 본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는, ROM, RAM, CD-ROM, 자기테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
지금까지 본 발명의 바람직한 실시예에 대해 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 변형된 형태로 구현할 수 있을 것이다. 그러므로 여기서 설명한 본 발명의 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 상술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함되는 것으로 해석되어야 한다.

Claims (13)

  1. 사용자파일이 저장된 저장장치에 트랩폴더를 생성하고, 상기 트랩폴더 내에 악성코드의 감시를 위한 대상파일을 생성하는 대상파일 생성모듈;
    상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 해당 요청을 보낸 스레드를 확인하는 모니터링모듈; 및
    상기 모니터링모듈에 의해 확인된 상기 스레드를 강제 종료하는 실행프로그램 중단모듈;을 포함하고,
    상기 트랩폴더는 상기 악성코드에 의해 최초로 검색되는 폴더명을 갖는 것을 특징으로 하는, 악성코드 모니터링 장치.
  2. 제 1 항에 있어서,
    상기 트랩폴더는 상기 저장장치의 최상위 경로에 생성되는 것을 특징으로 하는, 악성코드 모니터링 장치.
  3. 삭제
  4. 제 2 항에 있어서,
    상기 트랩폴더는 숨김속성으로 생성되는 것을 특징으로 하는, 악성코드 모니터링 장치.
  5. 제 1 항에 있어서,
    상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 악성코드 감염 메세지를 출력하는 알람모듈을 더 포함하는 것을 특징으로 하는, 악성코드 모니터링 장치.
  6. 제 1 항에 있어서,
    상기 모니터링모듈은 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 해당 요청을 차단하는 것을 특징으로 하는, 악성코드 모니터링 장치.
  7. 사용자파일을 암화화하는 악성코드의 모니터링 방법으로서,
    대상파일 생성모듈이, 사용자파일이 저장된 저장장치에 트랩폴더를 생성하고, 상기 트랩폴더 내에 상기 악성코드의 감시를 위한 대상파일을 생성하는 제1 단계;
    상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 모니터링모듈이 해당 요청을 보낸 스레드를 확인하는 제2 단계; 및
    실행프로그램 중단모듈이 상기 모니터링모듈에 의해 확인된 상기 스레드를 강제 종료하는 제3 단계;를 포함하고,
    상기 트랩폴더는 상기 악성코드에 의해 최초로 검색되는 폴더명을 갖는 것을 특징으로 하는, 악성코드 모니터링 방법.
  8. 제 7 항에 있어서,
    상기 제1 단계에서, 상기 대상파일 생성모듈이 상기 저장장치의 최상위 경로에 상기 트랩폴더를 생성하는 것을 특징으로 하는, 악성코드 모니터링 방법.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 대상파일 생성모듈은 상기 트랩폴더를 숨김속성으로 생성하는 것을 특징으로 하는, 악성코드 모니터링 방법.
  11. 제 7 항에 있어서,
    상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우, 알람모듈에 의해 악성코드 감염 메세지를 출력하는 단계를 더 포함하는 것을 특징으로 하는, 악성코드 모니터링 방법.
  12. 제 7 항에 있어서,
    제 2 단계에서, 상기 모니터링모듈은 상기 대상파일에 대하여 쓰기 접근 권한의 요청이 있는 경우 해당 요청을 차단하는 것을 특징으로 하는, 악성코드 모니터링 방법.
  13. 제 7 항, 제 8 항, 제 10 항 내지 제 12 항 중 어느 한 항에 따른 악성코드 모니터링 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된, 컴퓨터로 읽을 수 있는 기록매체.
KR1020160022397A 2015-11-30 2016-02-25 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법 KR101710918B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/006650 WO2017094990A1 (ko) 2015-11-30 2016-06-23 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150169017 2015-11-30
KR1020150169017 2015-11-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160121477A Division KR101737794B1 (ko) 2015-11-30 2016-09-22 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101710918B1 true KR101710918B1 (ko) 2017-02-28

Family

ID=58543080

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160022397A KR101710918B1 (ko) 2015-11-30 2016-02-25 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법
KR1020160121477A KR101737794B1 (ko) 2015-11-30 2016-09-22 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020160121477A KR101737794B1 (ko) 2015-11-30 2016-09-22 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법

Country Status (2)

Country Link
KR (2) KR101710918B1 (ko)
WO (1) WO2017094990A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018164503A1 (ko) * 2017-03-08 2018-09-13 주식회사 체크멀 상황 인식 기반의 랜섬웨어 탐지
WO2021137354A1 (ko) * 2019-12-31 2021-07-08 주식회사 디에스알브이랩스 분산원장에서의 의심 거래 방지 시스템 및 방법
KR20210086378A (ko) * 2019-12-31 2021-07-08 주식회사 디에스알브이랩스 분산원장에서의 의심 거래 방지 시스템 및 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116305291B (zh) * 2023-05-16 2023-07-21 北京安天网络安全技术有限公司 一种office文档安全存储方法及装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100078081A (ko) * 2008-12-30 2010-07-08 (주) 세인트 시큐리티 커널 기반 시스템 행위 분석을 통한 알려지지 않은 악성코드 탐지 시스템 및 방법
KR20130074224A (ko) * 2011-12-26 2013-07-04 ㈜ 와이에이치 데이타베이스 악성코드의 행동 패턴 수집장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100945247B1 (ko) * 2007-10-04 2010-03-03 한국전자통신연구원 가상 환경을 이용한 비실행 파일 내의 악성 코드 분석 방법및 장치
KR100942795B1 (ko) * 2007-11-21 2010-02-18 한국전자통신연구원 악성프로그램 탐지장치 및 그 방법
KR101375656B1 (ko) * 2012-08-13 2014-03-18 주식회사 안랩 프로그램 보호 장치 및 프로그램 보호 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100078081A (ko) * 2008-12-30 2010-07-08 (주) 세인트 시큐리티 커널 기반 시스템 행위 분석을 통한 알려지지 않은 악성코드 탐지 시스템 및 방법
KR20130074224A (ko) * 2011-12-26 2013-07-04 ㈜ 와이에이치 데이타베이스 악성코드의 행동 패턴 수집장치 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018164503A1 (ko) * 2017-03-08 2018-09-13 주식회사 체크멀 상황 인식 기반의 랜섬웨어 탐지
WO2021137354A1 (ko) * 2019-12-31 2021-07-08 주식회사 디에스알브이랩스 분산원장에서의 의심 거래 방지 시스템 및 방법
KR20210086378A (ko) * 2019-12-31 2021-07-08 주식회사 디에스알브이랩스 분산원장에서의 의심 거래 방지 시스템 및 방법
KR102358800B1 (ko) * 2019-12-31 2022-02-07 주식회사 디에스알브이랩스 분산원장에서의 의심 거래 방지 시스템

Also Published As

Publication number Publication date
KR101737794B1 (ko) 2017-05-23
WO2017094990A1 (ko) 2017-06-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
US10032025B1 (en) Behavior-based ransomware detection
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
US9852289B1 (en) Systems and methods for protecting files from malicious encryption attempts
JP6670907B2 (ja) スクリプトの実行をブロックするシステム及び方法
EP3365828B1 (en) Methods for data loss prevention from malicious applications and targeted persistent threats
US9003531B2 (en) Comprehensive password management arrangment facilitating security
US10193918B1 (en) Behavior-based ransomware detection using decoy files
CN109074452B (zh) 用于生成绊网文件的系统和方法
US10079835B1 (en) Systems and methods for data loss prevention of unidentifiable and unsupported object types
KR101522445B1 (ko) 기밀 파일을 보호하기 위한 클라이언트 컴퓨터, 및 그 서버 컴퓨터, 및 그 방법 및 컴퓨터 프로그램
US20170034189A1 (en) Remediating ransomware
EP3756121B1 (en) Anti-ransomware systems and methods using a sinkhole at an electronic device
KR101737794B1 (ko) 사용자파일을 암호화하는 악성코드의 모니터링 장치 및 방법
US11295029B1 (en) Computer file security using extended metadata
US20180026986A1 (en) Data loss prevention system and data loss prevention method
JP2023534502A (ja) 高度なランサムウェア検出
CN111800405A (zh) 检测方法及检测设备、存储介质
TWI607338B (zh) 儲存裝置及其資料保護方法與資料保護系統
Netto et al. An integrated approach for detecting ransomware using static and dynamic analysis
RU2622630C2 (ru) Система и способ восстановления модифицированных данных
WO2023124041A1 (zh) 一种勒索病毒检测方法以及相关系统
US9202065B2 (en) Detecting sensitive data access by reporting presence of benign pseudo virus signatures
KR102538694B1 (ko) 랜섬웨어로부터 데이터를 보호하기 위한 데이터 보호 시스템
KR101544750B1 (ko) 더미 인증키를 이용한 클라우드 시스템의 보안 장치 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 6