KR102111556B1 - 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법 - Google Patents

랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법 Download PDF

Info

Publication number
KR102111556B1
KR102111556B1 KR1020180014852A KR20180014852A KR102111556B1 KR 102111556 B1 KR102111556 B1 KR 102111556B1 KR 1020180014852 A KR1020180014852 A KR 1020180014852A KR 20180014852 A KR20180014852 A KR 20180014852A KR 102111556 B1 KR102111556 B1 KR 102111556B1
Authority
KR
South Korea
Prior art keywords
ransomware
api
file
module
backed
Prior art date
Application number
KR1020180014852A
Other languages
English (en)
Other versions
KR20190095056A (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 KR1020180014852A priority Critical patent/KR102111556B1/ko
Publication of KR20190095056A publication Critical patent/KR20190095056A/ko
Application granted granted Critical
Publication of KR102111556B1 publication Critical patent/KR102111556B1/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
    • 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/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files

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)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

본 발명은 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법에 관한 것으로서, 랜섬웨어에서 파일 암호화 시 사용되는 관련 API를 후킹하여 해당 API들의 호출 횟수가 일정 횟수 이상이라면, 파일명 및 확장자 변경 유무를 확인하고 변경 되었을 경우 해시값을 대조해 랜섬웨어를 탐지하며, 파일 암호화 시 사용되는 관련 API가 호출될 경우, 해당 API의 대상이 되는 파일을 백업하는 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법이다.

Description

랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법{Systems and methods for detection and prevention of Ransomware}
본 발명의 실시예들은 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법에 관한 것으로서, 랜섬웨어에서 파일 암호화 시 사용되는 관련 API를 후킹하여 해당 API들의 호출 횟수가 일정 횟수 이상이라면, 파일명 및 확장자 변경 유무를 확인하고 변경 되었을 경우 해시값을 대조해 랜섬웨어를 탐지하며, 파일 암호화 시 사용되는 관련 API가 호출될 경우, 해당 API의 대상이 되는 파일을 백업하는 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법이다.
랜섬웨어는 사용자의 컴퓨터에 접근하여 사용자가 보유한 사진, 문서, 음악 및 영상 그리고 컴퓨터 데이터베이스 등을 암호화 하여 비트코인을 요구하는 악성코드로서, 2016년 기준 약 13만 명의 피해자가 발생하였고, 피해액이 3000억 원 이상인 것으로 추정된다.
초기의 랜섬웨어는 윈도우 운영체제를 중심으로 배포되었으나 오늘날 랜섬웨어는 리눅스 웹서버 및 안드로이드 모바일 기기의 데이터까지 감염할 수 있다. 특히 최근 등장한 랜섬웨어는 개인의 민감한 정보를 암호화 시킨 후 주소록상의 지인에게 배포하겠다는 협박을 통해 비용을 지불하도록 유도하고 있다.
이러한 랜섬웨어들은 비트코인이 가진 추적 불가한 은닉성과 익명성, 환전의 신속성, 변종 개발의 용이성에 유혹당한 공격자들에 의해 지금 현재도 계속 진화 중에 있다.
랜섬웨어는 기본적으로 데이터를 암호화 하는 Encryption Ransomware, 사용자 화면을 장악하는 Lock Screen Ransomware, 부트영역을 훼손하는 Master Boot Record (MBR) Ransomware, 안드로이드 기기를 대상으로 하는 Mobile device ransomware (Android)로 크게 나눌 수 있으며, 2017년 현재 국내에 보고된 랜섬웨어는 약 275종에 이른다.
이중 국내에 최초 발견 되었던 CrytoLocker 랜섬웨어는 이메일 본문 안의 링크를 걸거나 첨부파일, 웹브라우저의 플래쉬 파일 또는 자바스크립트의 취약점, 토렌트 등을 통한 불법 소프트웨어를 통해 사용자의 PC에 침투한다. 잠복 또는 즉각적으로 암호화 작업을 진행하여 네트워크에 공유된 드라이브와 PC에 연결된 외장 저장장치를 포함하여 사용자가 가지고 있는 문서, 사진, 음악, 영상, D/B 등의 파일을 암호화 하여 사용할 수 없는 상태를 만든다.
이와 관련하여 랜섬웨어의 탐지를 위한 종래의 기술이 한국등록특허 제10-1685014호로 개시된 바 있다.
종래의 기술은 공격대상을 찾기 위한 검색의 시작 경로가 될 수 있는 위치에 운영체제 메커니즘 상 가장 먼저 접근하게 되는 파일명을 이용한 함정파일(들)을 생성하고, 이 함정파일을 모니터링 하는 동안 함정파일에 접근하여 암호화 등의 변경을 시도하는 프로세스가 있을 경우 이를 랜섬웨어 행위로 판단하는 방식이었다.
이러한 방식은 미끼 기반 탐지 기법(Decoy Based Detection)으로 랜섬웨어의 타겟이 되는 지정된 위치의 폴더와 지정된 확장자를 가진 파일을 더미로 생성한 후 이것을 대상으로 한 비정상적 이벤트를 감시하여 랜섬웨어임을 보다 명확하게 정의 할 수 있는 기법이었다.
그러나 더미 파일이나 폴더의 생성 시 파일명과 폴더명을 랜덤으로 발생한다 하여도 규칙성을 가질 수밖에 없고 공격자는 역공격을 통해 충분히 더미 파일과 폴더를 식별하여 우회 공격이 가능하며, 비정상적인 이벤트 규정 또한 충분히 파악 가능하여 탐지할 수 없는 문제가 있었다.
또한 랜섬웨어가 실행되고 나서 최초 탐지가 되기 전까지 암호화 된 파일의 복구가 불가능하다는 문제점을 가지고 있었다.
한국등록특허 제10-1685014호(2016.12.05)
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법은,
랜섬웨어에서 파일 암호화 시 사용되는 관련 API를 후킹하여 해당 API들의 호출 횟수가 일정 횟수 이상이라면, 파일명 및 확장자 변경 유무를 확인하고 변경 되었을 경우 해시값을 대조해 랜섬웨어를 탐지하며, 파일 암호화 시 사용되는 관련 API가 호출될 경우, 해당 API의 대상이 되는 파일을 백업하는 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법은,
실행되는 프로세스(200)를 후킹하는 후킹 모듈(110),
상기 프로세스(200)에서 호출되는 API를 감시하는 API 모니터링 모듈(120),
상기 API 모니터링 모듈(120)에서 미리 선택된 API가 호출될 경우, 실행대상 파일을 백업하는 파일 백업 모듈(130),
상기 파일 백업 모듈(130)에서 백업된 파일 및 백업 대상이 된 파일을 비교하여 무결성을 확인하는 무결성 확인 모듈(140),
상기 무결성 확인 모듈(140)에서 무결성에 문제가 있다고 판단될 경우 해당 프로세스를 차단하는 프로세스 차단 모듈(150)을 포함할 수 있다.
이때 상기 후킹 모듈(110)은 자식프로세스(220)를 생성하는 부모프로세스(210)에 DLL 삽입을 수행할 수 있다.
또한 상기 부모프로세스(210)는 상기 자식프로세스(220)를 생성할 때 삽입된 DLL을 포함하여 생성할 수 있다.
더불어, 상기 API 모니터링 모듈(120)은 패턴룰DB(121) 및 특이성DB(122)를 더 포함할 수 있다.
본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법은, 프로세스가 실행되는 프로세스실행단계(S01),
상기 프로세스실행단계(S01)에서 실행된 프로세스에 DLL을 삽입하는 인젝션단계(S02),
상기 인젝션단계(S02)에서 삽입된 DLL을 통해 프로세스에서 호출되는 API를 모니터링 하는 프로세스모니터링단계(S03),
상기 프로세스모니터링단계(S03)에서 호출되는 API가 미리 선택된 API인지 판단하는 호출API판단단계(S04),
상기 호출API판단단계(S04)에서 미리 선택된 API로 판단될 경우, 해당 API 의 대상 파일을 미리 지정되어 있는 위치에 백업하는 파일백업단계(S05),
상기 호출API판단단계(S04)에서 미리 선택된 API로 판단될 경우 API의 호출 횟수 및 상기 파일백업단계(S05)에서 백업한 파일과 API에 의한 작업이 수행된 파일 파일명 변경 여부를 통하여 랜섬웨어인지 판단하는 1차랜섬웨어판단단계(S06),
상기 1차랜섬웨어판단단계(S06)에서 랜섬웨어로 판단될 경우, 상기 파일백업단계(S05)에서 백업한 파일과 API에 의한 작업이 수행된 파일을 비교하여 랜섬웨어를 판단하는 2차랜섬웨어판단단계(S07),
상기 2차랜섬웨어판단단계(S07)에서 랜섬웨어로 판단될 경우 해당 프로세스의 파일 접근을 차단하는 랜섬웨어차단단계(S08)로 구성될 수 있다.
이때 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법은 상기 1차랜섬웨어판단단계(S06)를 수행한 이후 API의 호출 횟수가 미리 정해진 횟수 이하 이거나 파일명이 변경되지 않았을 경우 상기 프로세스모니터링단계(S03)부터 다시 수행할 수 있다.
본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법은,
종래의 랜섬웨어 탐지방법들에서 랜섬웨어가 탐지되는 순간부터 파일을 백업하여 암호화된 파일 중 일부의 백업이 실행되지 않아 복구가 되지 않았던 문제점을, API를 후킹을 통하여 모니터링 하여 암호화 관련 API가 호출되었을 경우 대상 파일을 백업하여 미리 보호할 수 있어 복구효율을 극대화 시킬 수 있다.
본 발명은 랜섬웨어에서 파일 암호화 시 사용되는 관련 API를 후킹하여 해당 API들의 호출 횟수가 일정 횟수 이상이라면, 파일명 및 확장자 변경 유무를 확인하고 변경되었을 경우 해시값을 대조해 랜섬웨어를 탐지하며, 파일 암호화 시 사용되는 관련 API가 호출될 경우, 해당 API의 대상이 되는 파일을 백업함으로써 랜섬웨어의 탐지와 예방이 가능하다.
또한 단일 기준만을 사용하는 것이 아닌, 랜섬웨어가 사용하는 암호화 관련 API 호출 횟수 및 백업파일과 암호화 관련 API를 수행한 파일의 해시값을 비교하여 보다 정확한 랜섬웨어 탐지가 가능하다.
도 1은 본 발명의 일 실시예에 따른 랜섬웨어 탐지와 예방을 위한 시스템 실시예
도 2는 본 발명의 API 모니터링 모듈 실시예
도 3은 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법 흐름도
도 4는 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법 실시예
이하, 첨부된 도면을 참조하여 본 발명을 더욱 상세하게 설명한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정하여 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 또한, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다.
도 1은 본 발명의 일 실시예에 따른 랜섬웨어 탐지와 예방을 위한 시스템 실시예이고, 도 2는 본 발명의 API 모니터링 모듈 실시예이며, 도 3은 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법 흐름도, 그리고 도 4는 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법 실시예이다.
본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법은, 도 1에서 도시하고 있는 바와 같이, 실행되는 프로세스(200)를 후킹하는 후킹 모듈(110),
상기 프로세스(200)에서 호출되는 API를 감시하는 API 모니터링 모듈(120),
상기 API 모니터링 모듈(120)에서 미리 선택된 API가 호출될 경우, 실행대상 파일을 백업하는 파일 백업 모듈(130),
상기 파일 백업 모듈(130)에서 백업된 파일 및 백업 대상이 된 파일을 비교하여 무결성을 확인하는 무결성 확인 모듈(140),
상기 무결성 확인 모듈(140)에서 무결성에 문제가 있다고 판단될 경우 해당 프로세스를 차단하는 프로세스 차단 모듈(150)을 포함할 수 있다.
즉, 상기 후킹 모듈(110)에서 DLL 삽입을 수행한다. 이를 통하여 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템은 프로세스에서 호출하는 API에 대한 정보가 후킹되어, 상기 API 모니터링 모듈(120)로 해당 정보를 전송하고, 상기 API 모니터링 모듈(120)에서 해당 정보를 통하여 랜섬웨어 여부를 1차로 판단하게 된다.
이때 상기 후킹 모듈(110)은 자식프로세스(220)를 생성하는 부모프로세스(210)에 DLL 삽입을 수행할 수 있으며, 이를 통하여 상기 부모프로세스(210)는 상기 자식프로세스(220)를 생성할 때 삽입된 DLL을 포함하여 생성할 수 있다.
즉, 상기 후킹 모듈(110)에서 상기 부모프로세스(210)에 DLL 삽입을 수행하여 상기 부모프로세스(210)에서 호출하는 API정보를 후킹하여 상기 API 모니터링 모듈(120)로 해당 정보를 전송하여 현재 프로세스에서 호출하는 API를 확인할 수 있으며, 상기 부모프로세스(210)에 의하여 생성되는 상기 자식프로세스(220) 또한 상기 부모프로세스(210)에 삽입된 DLL이 삽입되어 후킹을 수행한다.
이를 통하여 상기 부모프로세스(210) 및 상기 자식프로세스(220) 모두의 API 호출정보를 상기 API 모니터링 모듈(120)에 전송하여 프로세스 전체에 대한 모니터링이 가능하다.
또한 상기 파일 백업 모듈(130)은, 상기 API 모니터링 모듈(120)이 모니터링 중 프로세스(200)에서 미리 선택된 API를 호출할 경우, 실행대상 파일을 백업한다. 종래의 랜섬웨어 탐지시스템의 경우 랜섬웨어를 탐지한 이후에 공격대상 파일에 대한 복원 또는 백업을 시도하므로, 랜섬웨어 탐지 이전에 랜섬웨어를 통하여 암호화가 된 파일의 경우, 백업된 파일이 없어 사실상 복구가 불가능하다는 문제점을 가지고 있었다.
그러나 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템은, 미리 선택된 API가 호출될 경우 해당 API의 실행대상 파일을 백업하여 랜섬웨어의 암호화에 대비할 수 있어, 실행대상 원본 파일이 암호화 되더라도 백업파일을 불러옴으로써 해당 파일을 복원할 수 있어 실행대상 파일을 보다 효과적으로 보호할 수 있다.
이때 상기 파일 백업 모듈(130)은 상기 API 모니터링 모듈(120) 및 상기 무결성 확인 모듈(140)에서 해당 프로세스가 랜섬웨어가 아니라고 확인하였을 때, 상기 파일 백업 모듈(130)이 백업한 해당 프로세스의 실행대상 파일을 삭제할 수 있다. 이를 통하여 백업된 파일이 누적되어 스토리지의 저장 공간을 점유하는 문제를 미연에 방지할 수 있다.
더불어, 도 2에서 도시한 바와 같이, 상기 API 모니터링 모듈(120)은 패턴룰DB(121) 및 특이성DB(122)를 더 포함할 수 있다. 이를 통하여, 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템은 랜섬웨어의 프로세스 동작 패턴이 갖는 룰에 대한 정보 및 파일명 또는 파일구성과 같은 특이성 정보에 기반하는 모니터링을 실시하여 보다 효율적인 랜섬웨어 탐지를 수행할 수 있다.
또한 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템은, 상기 API 모니터링 모듈(120) 및 상기 무결성 확인 모듈(140)에서 해당 프로세스가 랜섬웨어라고 판단하였을 때, 상기 프로세스 차단 모듈(150)을 통하여 해당 프로세스를 차단하고 해당 프로세스와 연관된 파일들을 미리 지정한 스토리지 공간에 격리시키는 샌드박스모듈(미도시)을 더 포함할 수 있다. 이를 통하여, 상기 API 모니터링 모듈(120) 및 상기 무결성 확인 모듈(140)에서 해당 프로세스가 랜섬웨어라고 판단하여 상기 프로세스 차단 모듈(150)을 통하여 차단한 프로세스와 관련된 파일을 즉시 삭제하지 않고 미리 지정한 스토리지 공간에 격리시켜 사용자가 다시 확인하였을 때, 해당 프로세스 및 관련 파일에 이상이 없고 랜섬웨어와 유사한 동작만을 수행하였다고 판단될 경우 프로세스 및 관련 파일을 이동하여 격리를 해제하고 다시 사용할 수 있어 오진으로 인한 삭제를 방지할 수 있다.
더불어, 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템은, 상기 API 모니터링 모듈(120)이 익스플로잇 취약점에 대한 모니터링을 수행할 수 있다.
즉, 침투 후 파일 생성이나 코드 이식을 하지 않고 메모리상에서 바로 동작하여 파일을 암호화하는 방식의 랜섬웨어의 경우가 진행되는데, 침투와 파일접근이 거의 동시에 진행되기 때문에 랜섬웨어를 포함한 랜섬웨어의 유입이 발생되는 웹사이트에 대한 정보인 웹사이트DB(미도시)를 기반으로 웹브라우저의 익스플로잇 취약점을 모니터링하여 랜섬웨어를 탐지한다.
더불어, 상기 무결성 확인 모듈(140)은 백업된 파일과 프로세스의 작업을 수행한 파일의 해시값을 비교하여 무결성을 확인할 수 있다. 이때 해시값의 비교를 위해 퍼지 해싱(fuzzy hashing) 기법을 이용할 수 있다. 퍼지 해싱 기법 또는 CPTH(Context Triggered Piecewise Hashing) 기법은 입력 값의 문맥을 구분할 수 있는 구분자를 식별하고, 구분자로 조각난 조각에 대하여 해시를 사용하는 기법으로서, 일반적인 해싱 기법과 비교하여 문서 등의 유사도를 비교하기에 적합하다. 예를 들어 문서 파일의 특정 페이지에 새로운 내용이 삽입 또는 삭제된 경우, 일반적인 해싱 기법을 이용하게 되면 수정 전후의 해시값이 완전히 달라진다. 그러나 이를 퍼지 해싱 기법을 이용하여 계산할 경우에는 수정된 부분을 제외한 나머지 영역은 동일한 해시값을 가지게 되는 바, 양 파일의 유사도는 매우 높게 나타난다.
이를 통하여 단순이 이름을 변경한 것이 아니라 내용의 변화가 있는지 여부를 확인할 수 있어 보다 정확한 랜섬웨어 탐지를 수행할 수 있다.
본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법은, 도 3에서 도시한 바와 같이, 프로세스가 실행되는 프로세스실행단계(S01),
상기 프로세스실행단계(S01)에서 실행된 프로세스에 DLL을 삽입하는 인젝션단계(S02),
상기 인젝션단계(S02)에서 삽입된 DLL을 통해 프로세스에서 호출되는 API를 모니터링 하는 프로세스모니터링단계(S03),
상기 프로세스모니터링단계(S03)에서 호출되는 API가 미리 선택된 API인지 판단하는 호출API판단단계(S04),
상기 호출API판단단계(S04)에서 미리 선택된 API로 판단될 경우, 해당 API 의 대상 파일을 미리 지정되어 있는 위치에 백업하는 파일백업단계(S05),
상기 호출API판단단계(S04)에서 미리 선택된 API로 판단될 경우, API의 호출 횟수 및 상기 파일백업단계(S05)에서 백업한 파일과 API에 의한 작업이 수행된 파일의 파일명 변경 여부를 통하여 랜섬웨어인지 판단하는 1차랜섬웨어판단단계(S06),
상기 1차랜섬웨어판단단계(S06)에서 랜섬웨어로 판단될 경우, 상기 파일백업단계(S05)에서 백업한 파일과 API에 의한 작업이 수행된 파일을 비교하여 랜섬웨어를 판단하는 2차랜섬웨어판단단계(S07),
상기 2차랜섬웨어판단단계(S07)에서 랜섬웨어로 판단될 경우 해당 프로세스의 파일 접근을 차단하는 랜섬웨어차단단계(S08)로 구성될 수 있다.
즉, 상기 인젝션단계(S02)를 통하여 프로세스실행단계(S01)에서 실행된 프로세스에 대하여 DLL 삽입이 이루어진다.
상기 프로세스모니터링단계(S03)에서 상기 인젝션단계(S02)에서 삽입된 DLL을 통하여 상기 프로세스실행단계(S01)에서 실행된 프로세스의 API 호출정보를 후킹하여 확인하고 모니터링한다.
이후, 상기 요청API판단단계(S04)는 상기 프로세스모니터링단계(S03)에서 호출되는 API가 미리 선택된 랜섬웨어에서 파일의 암호화 및 삭제에 사용되는 API인지 판단하고, 상기 호출API판단단계(S04)에서 랜섬웨어에서 파일의 암호화 및 삭제에 사용되는 API로 판단될 경우, 해당 API의 대상 파일을 상기 파일백업단계(S05)를 통하여 미리 지정되어 있는 위치에 백업하게 된다.
상기 1차랜섬웨어판단단계(S06)는 상기 호출API판단단계(S04)에서 미리 선택된 API로 판단될 경우, API의 호출 횟수 및 상기 파일백업단계(S05)에서 백업한 파일과 API에 의한 작업이 수행된 파일의 파일명 변경 여부를 통하여 1차적으로 랜섬웨어인지 판단한다.
상기 1차랜섬웨어판단단계(S06)에서 랜섬웨어로 판단될 경우, 상기 2차랜섬웨어판단단계(S07)에서 상기 파일백업단계(S05)에서 백업한 파일과 API에 의한 작업이 수행된 파일의 해시값을 대조하여 변조 유무를 판단하여 변조되었다고 판단될 경우 최종적으로 랜섬웨어로 판단한다.
이때 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법은 상기 1차랜섬웨어판단단계(S06)를 수행한 이후 API의 호출 횟수가 미리 정해진 횟수 이하 이거나 파일명이 변경되지 않았을 경우 상기 프로세스모니터링단계(S03)부터 다시 수행할 수 있다.
도 4에서 도시한 바와 같이, 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템 이용 방법의 일 실시예는 아래와 같다.
① RansomWare.exe가 실행된다.(S01)
② RansomWare.exe의 ParentProcess에 의해 RDet.dll이 자동으로 삽입된다.(S02)
③ RansomWare.exe가 암호화 관련 Hooking된 API를 호출시 이를 RDetector에 전달한다.(S03)
④ RansomWare.exe에서 파일의 핸들을 구하는 CreateFile API를 호출한 경우(S04), RDetector에서는 CopyFile API를 호출해 백업파일을 만든다.(S05)
⑤ RDetector는 Hooking된 암호화 관련 API 호출 횟수를 세고 일정 횟수 이상의 호출 발생 시 파일명 및 확장자가 변했는지 확인한다(S06).
⑥ 변경된 경우 미리 백업한 원본의 해시값과 변경된 파일의 해시값을 대조하여 값이 다르면 랜섬웨어로 판단한다.(S07)
⑦ 랜섬웨어로 판단된 RansomWare.exe의 파일 접근을 차단한다.(S08)
이와 같은 실시예에서 RDetector는 본 발명의 랜섬웨어 탐지와 예방을 위한 시스템이며, RansomWare.exe는 ParentProcess를 실행하여 생성되는 자식프로세스이다.
110: 후킹모듈
120: API 모니터링 모듈
121: 패턴룰DB 122: 특이성DB
130: 파일 백업 모듈
140: 무결성 확인 모듈
150: 프로세스 차단 모듈
200: 프로세스
210: 부모프로세스
220: 자식프로세스
S01: 프로세스실행단계
S02: 인젝션단계
S03: 프로세스모니터링단계
S04: 요청API판단단계
S05: 파일백업단계
S06: 1차랜섬웨어판단단계
S07: 2차랜섬웨어판단단계
S08: 랜섬웨어차단단계

Claims (6)

  1. 실행되는 프로세스(200)를 후킹하는 후킹 모듈(110);
    상기 프로세스(200)에서 호출되는 API를 감시하는 API 모니터링 모듈(120);
    상기 API 모니터링 모듈(120)에서 미리 선택된 API가 호출될 경우, 실행대상 파일을 백업하는 파일 백업 모듈(130);
    상기 파일 백업 모듈(130)에서 백업된 파일 및 백업 대상이 된 파일을 비교하여 무결성을 확인하는 무결성 확인 모듈(140); 및
    상기 무결성 확인 모듈(140)에서 무결성에 문제가 있다고 판단될 경우 해당 프로세스를 차단하는 프로세스 차단 모듈(150);
    을 포함하는 것을 특징으로 하는 랜섬웨어 탐지와 예방을 위한 시스템에 있어서,
    상기 후킹 모듈(110)은
    자식프로세스(220)를 생성하는 부모프로세스(210)에 DLL 삽입을 수행하고,
    상기 부모프로세스(210)는
    상기 자식프로세스(220)를 생성할 때 삽입된 DLL을 포함하여 생성하며,
    상기 부모프로세스(210) 및 상기 자식프로세스(220) 모두의 API 호출정보를 상기 API 모니터링 모듈(120)에 전송하여 프로세스 전체에 대한 모니터링을 수행하고,
    상기 API 모니터링 모듈(120)은 패턴룰DB(121) 및 특이성DB(122)를 포함하여, 랜섬웨어의 프로세스 동작 패턴이 갖는 룰에 대한 정보 및 파일에 대한 특이성 정보에 기반하는 모니터링을 실시하여 랜섬웨어 탐지를 수행하며,
    상기 API 모니터링 모듈(120)은 웹사이트DB를 기반으로 웹브라우저의 익스플로잇 취약점을 모니터링하여 랜섬웨어를 탐지하며,
    상기 파일 백업 모듈(130)은
    상기 API 모니터링 모듈(120) 및 상기 무결성 확인 모듈(140)에서 해당 프로세스가 랜섬웨어가 아니라고 확인하였을 때, 상기 파일 백업 모듈(130)이 백업한 해당 프로세스의 실행대상 파일을 삭제함으로써 백업된 파일이 누적되어 스토리지의 저장 공간을 점유하는 문제를 방지하고,
    상기 무결성 확인 모듈(140)은 파일의 이름 변경 여부 및 내용 변화 여부를 확인하여 랜섬웨어 탐지를 수행하며,
    상기 무결성 확인 모듈(140)은 백업된 파일 및 백업 대상이 된 파일의 해시값의 비교를 위해 퍼지 해싱 기법을 이용하고,
    상기 랜섬웨어 탐지와 예방을 위한 시스템은
    상기 API 모니터링 모듈(120) 및 상기 무결성 확인 모듈(140)에서 해당 프로세스가 랜섬웨어라고 판단하였을 때, 해당 프로세스와 연관된 파일들을 미리 지정한 스토리지 공간에 격리시키는 샌드박스모듈을 더 포함하며,
    상기 샌드박스모듈은 해당 프로세스와 관련된 파일을 삭제하지 않고 미리 지정한 스토리지 공간에 격리시켜 사용자가 다시 확인하였을 때, 해당 프로세스 및 관련 파일에 이상이 없다고 판단될 경우 해당 프로세스 및 관련 파일을 이동하여 격리를 해제하고 다시 사용할 수 있어 오진으로 인한 삭제를 방지할 수 있으며,
    실행되는 프로세스의 API 호출정보를 확인하고, 호출되는 API가 미리 선택된 API 이면 해당 API의 대상 파일을 백업하며, API의 호출 횟수 및 백업한 파일과 API에 의한 작업이 수행된 파일의 파일명 변경 여부를 통하여 1차적으로 랜섬웨어인지 판단하여 랜섬웨어로 판단될 경우, 백업한 파일과 API에 의한 작업이 수행된 파일의 해시값을 대조하여 변조되었다고 판단될 경우 최종적으로 랜섬웨어로 판단하는 것을 특징으로 하는 랜섬웨어 탐지와 예방을 위한 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
KR1020180014852A 2018-02-06 2018-02-06 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법 KR102111556B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180014852A KR102111556B1 (ko) 2018-02-06 2018-02-06 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180014852A KR102111556B1 (ko) 2018-02-06 2018-02-06 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법

Publications (2)

Publication Number Publication Date
KR20190095056A KR20190095056A (ko) 2019-08-14
KR102111556B1 true KR102111556B1 (ko) 2020-05-15

Family

ID=67622043

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180014852A KR102111556B1 (ko) 2018-02-06 2018-02-06 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법

Country Status (1)

Country Link
KR (1) KR102111556B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102345016B1 (ko) * 2020-02-26 2021-12-29 아주대학교 산학협력단 랜섬웨어 감지 방법 및 장치
CN113672925B (zh) * 2021-08-26 2024-01-26 安天科技集团股份有限公司 阻止勒索软件攻击的方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017125935A1 (en) * 2016-01-24 2017-07-27 Minerva Labs Ltd. Ransomware attack remediation
KR101772129B1 (ko) 2016-06-01 2017-08-29 (주)엑스소프트 콘텐츠 무결성을 검증하는 지능형 스토리지 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101685014B1 (ko) 2016-02-19 2016-12-12 주식회사 블랙포트시큐리티 컴퓨터 시스템의 랜섬웨어 행위에 대한 선제적인 탐지 차단 방법 및 그 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017125935A1 (en) * 2016-01-24 2017-07-27 Minerva Labs Ltd. Ransomware attack remediation
US20180211038A1 (en) 2016-01-24 2018-07-26 Minerva Labs Ltd. Ransomware attack remediation
KR101772129B1 (ko) 2016-06-01 2017-08-29 (주)엑스소프트 콘텐츠 무결성을 검증하는 지능형 스토리지 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
황상엽, ‘파일 암호화 기반 랜섬웨어 탐지에 대한 연구’, 숭실대 석사학위논문, 2017.02.28.*

Also Published As

Publication number Publication date
KR20190095056A (ko) 2019-08-14

Similar Documents

Publication Publication Date Title
US10789361B2 (en) Ransomware attack remediation
US10346258B2 (en) Intelligent backup system
US9503473B1 (en) Apparatus, system, and method for protecting against keylogging malware
US7779062B2 (en) System for preventing keystroke logging software from accessing or identifying keystrokes
US8195953B1 (en) Computer program with built-in malware protection
US20130061323A1 (en) System and method for protecting against malware utilizing key loggers
KR101828600B1 (ko) 상황 인식 기반의 랜섬웨어 탐지
Lee et al. Ransomware prevention technique using key backup
JP4023654B2 (ja) アプリケーションの監視方法およびプログラム
Patyal et al. Multi-layered defense architecture against ransomware
AU2021319159B2 (en) Advanced ransomware detection
CN109784055B (zh) 一种快速检测和防范恶意软件的方法和系统
US20200089884A1 (en) Method and apparatus for ransomware detection
Yun et al. CLDSafe: an efficient file backup system in cloud storage against ransomware
US10339307B2 (en) Intrusion detection system in a device comprising a first operating system and a second operating system
KR102111556B1 (ko) 랜섬웨어 탐지와 예방을 위한 시스템 및 이용 방법
US11349855B1 (en) System and method for detecting encrypted ransom-type attacks
KR20180060819A (ko) 랜섬웨어 공격 차단 장치 및 방법
CN109145602B (zh) 一种勒索软件攻击的防护方法及装置
KR20180054389A (ko) 클라우드 기반의 클라이언트 장치 및 백업 방법, 이를 수행하기 위한 기록매체
KR101614809B1 (ko) 엔드포인트 응용프로그램 실행 제어 시스템 및 그 제어 방법
Aziz Ransomware in High-Risk Environments
JP6950304B2 (ja) セキュアエレメント、コンピュータプログラム、デバイス、サーバ及びファイル情報の照合方法
Wolf Ransomware detection
KR102211846B1 (ko) 랜섬웨어 탐지 시스템 및 그의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant