KR102494454B1 - 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 - Google Patents

랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 Download PDF

Info

Publication number
KR102494454B1
KR102494454B1 KR1020210041622A KR20210041622A KR102494454B1 KR 102494454 B1 KR102494454 B1 KR 102494454B1 KR 1020210041622 A KR1020210041622 A KR 1020210041622A KR 20210041622 A KR20210041622 A KR 20210041622A KR 102494454 B1 KR102494454 B1 KR 102494454B1
Authority
KR
South Korea
Prior art keywords
file
ransomware
space
initial
computing device
Prior art date
Application number
KR1020210041622A
Other languages
English (en)
Other versions
KR20220135649A (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 KR1020210041622A priority Critical patent/KR102494454B1/ko
Priority to PCT/KR2022/004564 priority patent/WO2022211511A1/ko
Publication of KR20220135649A publication Critical patent/KR20220135649A/ko
Application granted granted Critical
Publication of KR102494454B1 publication Critical patent/KR102494454B1/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
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것으로, 본 발명의 일실시예에 따른 랜섬웨어에 대한 탐지 방법은 파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하는 단계, 상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계, 상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계를 포함할 수 있다.

Description

랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 {METHOD OF DETECTING AND RESTORATION FOR RANSOMEWARE, AND COMPUTING DEVICE FOR PERFORMING THE METHOD}
본 발명은 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치에 관한 것이다.
랜섬웨어(Ransomeware)는 몸값을 뜻하는 Ransom과 software가 합하여 만들어진 합성어로, 랜섬웨어는 사용자의 컴퓨터와 같은 시스템에 접근하여, 사용자가 보유한 문서, 사진, 데이터베이스, 영상 등을 암호화하여 사용자가 접근할 수 없도록 한다.
데이터 파일을 암호화한 자는 사용자에게 암호화한 데이터에 대하여 일종의 몸값을 요구한고, 보유한 데이터 파일에 접근하기 위해서는 요구한 돈을 지불하여야 한다.
랜섬웨어에 컴퓨터 시스템이 노출되는 경우, 데이터 파일 접근을 위하여 몸값을 지불하여야 하거나, 데이터 파일에 대한 접근이 제한되므로, 랜섬웨어를 탐지하여 피해를 예방하고, 랜섬웨어에 감염되더라도 데이터 파일이 소실되지 않도록 하기 위한 기술이 필요하다.
본 문서에 개시되는 다양한 실시예에 따르면, 랜섬웨어가 사용자 수준의 응용 프로그램이라는 점에 착안하여 시스템 수준에서 랜섬웨어를 탐지하고 복구하는 방법을 제공한다.
본 문서에 개시되는 다양한 실시예에 따르면, 프로세스의 초기 동작 및 후속 동작을 탐지하고, 프로세스가 랜섬웨어인지 여부를 판단하는 랜섬웨어에 대한 탐지 방법을 제공한다.
본 문서에 개시되는 다양한 실시예에 따르면, 프로세스가 랜섬웨어인지 여부를 판단하고, 파일의 원본이 저장되는 공간과 구분되는 공간에 랜섬웨어로 판단된 프로세스의 동작을 기록하는 랜섬웨어에 대한 복구 방법을 제공한다.
일실시예에 따른 랜섬웨어에 대한 탐지 방법은 파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하는 단계, 상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계, 상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계를 포함할 수 있다.
상기 추적 모드를 설정하는 단계는, 상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다.
상기 추적 모드를 설정하는 단계는, 상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록할 수 있다.
상기 초기 동작은, 상기 프로세스가 상기 파일에 대한 룩업 동작을 포함하고, 상기 동작 규칙은, 상기 프로세스가 상기 룩업 동작을 수행한 이후에 상기 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다.
상기 초기 동작 및 상기 후속 동작은, 상기 프로세스가 하나의 프로세스에 의해 일괄적으로 수행되거나 또는 상기 프로세스가 부모 프로세스 및 자식 프로세스로 구분되어 수행되는 것일 수 있다.
일실시예에 따른 랜섬웨어에 대한 복구 방법은, 파일에 대해 특정 동작을 수행하는 프로세스가 랜섬웨어인지 여부를 판단하는 단계, 상기 프로세스가 랜섬웨어로 판단된 경우, 상기 파일의 원본이 저장되는 제1 공간과 구분되는 제2 공간을 설정하는 단계, 상기 랜섬웨어로 판단된 프로세스가 상기 파일에 대한 변경 요청을 수행하는 경우, 상기 변경 요청에 대응하는 파일의 변형본을 상기 제2 공간에 기록하는 단계를 포함할 수 있다.
상기 프로세스가 랜섬웨어인지 여부를 판단하는 단계는, 상기 파일에 대한 상기 프로세스의 초기 동작을 탐지하는 단계, 상기 초기 동작에 기초하여 상기 프로세서가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계, 상기 초기 동작을 수행한 이후, 상기 프로세서가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계를 포함할 수 있다.
상기 추적 모드를 설정하는 단계는, 상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다.
상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계는, 상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록할 수 있다.
상기 초기 동작은, 상기 프로세스가 상기 파일에 대한 룩업 동작을 포함하고, 상기 동작 규칙은, 상기 프로세스가 상기 룩업 동작을 수행한 이후에 상기 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다.
상기 제2 공간은, 사용자 레벨의 어플리케이션이 접근할 수 있는 파일 시스템이 설치되지 않은 공간일 수 있다.
상기 변경 요청에 대응하는 파일의 변형본을 제2 공간에 기록하는 단계는, 상기 랜섬웨어로 판단된 프로세스가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 상기 파일의 원본을 상기 제1 공간에 유지하고 상기 파일의 변형본을 상기 제2 공간에 기록하며, 상기 파일의 주소 정보를 상기 제1 공간이 아닌 상기 제2 공간에 기록된 파일의 변형본에 매핑할 수 있다.
일실시예에 따른 랜섬웨어 탐지 방법을 수행하는 컴퓨팅 장치는, 프로세서를 포함하고, 상기 프로세서는, 파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하고, 상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하고, 상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하고, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단할 수 있다.
상기 프로세서는, 상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다.
상기 프로세서는, 상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록할 수 있다.
일실시예에 따른 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치는, 프로세서를 포함하고, 상기 프로세서는, 파일에 대해 특정 동작을 수행하는 프로세스가 랜섬웨어인지 여부를 판단하고, 상기 프로세스가 랜섬웨어로 판단된 경우, 상기 파일의 원본이 저장되는 제1 공간과 구분되는 제2 공간을 설정하고, 상기 랜섬웨어로 판단된 프로세스가 상기 파일에 대한 변경 요청을 수행하는 경우, 상기 변경 요청에 대응하는 파일의 변형본을 상기 제2 공간에 기록할 수 있다.
상기 프로세서는, 상기 랜섬웨어로 판단된 프로세스가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 상기 파일의 원본을 상기 제1 공간에 유지하고 상기 파일의 변형본을 상기 제2 공간에 기록하며, 상기 파일의 주소 정보를 상기 제1 공간이 아닌 상기 제2 공간에 기록된 파일의 변형본에 매핑할 수 있다.
본 문서에 개시되는 다양한 실시예에 따르면, 파일 시스템 내 I/O 요청을 확인하는 레이어(Windows의 경우 Filter Device Driver, Linux의 경우 VFS Layer 또는 System Call Layer)에서 프로세스의 동작을 탐지할 수 있고, 탐지된 프로세스의 동작(Lookup, Open, Read, Write, Rename 등)이 정해진 규칙의 조합을 만족하면 랜섬웨어로 판단하여, 랜섬웨어를 탐지할 수 있다.
본 문서에 개시되는 다양한 실시예에 따르면, 랜섬웨어의 행동(동작)은 사용자 수준의 응용이 접근할 수 없는 저장 공간(제2 공간 또는 랜섬 행동 기록 공간)에 기록되고, 원본 데이터는 원래의 저장 공간에 그대로 유지하여, 프로세스가 랜섬웨어로 탐지된 경우 원본 데이터를 복원할 수 있다.
도 1은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치의 동작을 도시한 도면이다.
도 2는 일실시예에 따른 프로세스의 초기 동작 및 후속 동작을 나타낸 도면이다.
도 3은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치의 동작을 나타낸 도면이다.
도 4는 일실시예에 따른 파일의 식별 정보 및 프로세스의 식별 정보를 나타낸 도면이다.
도 5는 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하기 위한 컴퓨팅 장치를 도시한 도면이다.
도 6는 일실시예에 따른 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치의 동작을 도시한 도면이다.
도 7은 일실시예에 따른 파일의 원본 및 파일의 변형본에 대한 매핑 정보를 나타낸 도면이다.
도 8은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 나타낸 도면이다.
도 9는 일실시예에 따른 랜섬웨어에 대한 복구 방법을 나타낸 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다.
도 1은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200)의 동작을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200)는, 파일 시스템(300)을 통해 프로세스(130)의 동작을 탐지하여 프로세스(130)가 랜섬웨어인지를 판단할 수 있다.
컴퓨팅 장치(200)는 파일 시스템(300)의 I/O 요청을 확인하는 레이어에서 프로세스(130)의 동작을 감지하여 랜섬웨어를 탐지할 수 있다. 사용자 수준 응용(User Level Application)의 랜섬웨어는 저장 공간인 제1 공간(400)에 저장된 파일에 접근하여 동작하기 위하여, 파일 시스템(300)을 통하여 파일에 접근 및 동작을 수행한다. 따라서, 컴퓨팅 장치(200)는 프로세스(130)의 초기 동작 및 후속 동작을 감지하여 프로세스(130)가 랜섬웨어인지를 판단할 수 있다.
도 1을 참조하면, 프로세스(130)는 컴퓨터 시스템에서 연속적으로 실행되는 컴퓨터 프로그램을 의미할 수 있다. 프로그램은 하드 디스크 등에 저장되어 있는 실행 코드를 의미하고, 프로세스(130)는 프로그램을 구동하여 실행되는 작업 단위를 의미할 수 있다.
프로세스(130)는 파일 시스템(300)을 통하여 저장 공간인 제1 공간(400)에 저장된 파일에 대하여 다양한 동작을 수행할 수 있다. 도 1에서는 프로세스(130)에 의한 동작으로 제1 공간(400)에 저장된 파일을 탐색하는 룩업(Lookup) 동작, 파일을 여는 열기(Open) 동작, 파일을 읽는 읽기(Read) 동작, 파일을 쓰는 쓰기(Write) 동작, 파일명 내지 파일 확장자를 변경하는 이름 변경(Rename) 동작이 도시되어 있으나, 프로세스(130)의 동작은 이에 한정되지 않는다. 예를 들어, 프로세스(130)는 파일 시스템(300)을 통하여 파일을 삭제하는 삭제(Delete) 동작, 파일 주소를 변경하는 주소 변경 동작, 파일을 암호화하는 암호화(Encrypt) 동작 등과 같은 다양한 동작을 수행할 수 있다.
도 1을 참조하면, 파일 시스템(300)은 컴퓨터에서 파일이나 자료를 발견 및 접근할 수 있도록 하는 조직 체제를 의미할 수 있다. 파일 시스템(300)내의 프로세스(130)로부터 요청된 I/O(Input/Output) 요청을 확인하는 레이어를 통해 컴퓨팅 장치(200)는 프로세스(130)의 동작을 감지할 수 있다. I/O 요청을 확인하는 레이어는 예를 들면, Windows의 경우 Filter Device Driver, Linux의 경우 VFS Layer 또는 System Call Layer 등이 I/O 요청을 확인하기 위한 파일 시스템(300)의 레이어에 해당할 수 있다.
도 1을 참조하면, 제1 공간(400)은 파일을 저장하는 저장 공간 내지 저장 장치로, 프로세스(130)의 동작 요청에 따라 파일 시스템(300)에 의하여 제1 공간(400)에 저장된 파일에 대하여 탐색, 열기, 읽기, 쓰기, 이름 변경, 삭제 등의 동작이 수행될 수 있다.
일실시예에 따른 컴퓨팅 장치(200)는, 파일 시스템(300)을 통하여 프로세스(130)의 초기 동작 및 후속 동작을 탐지할 수 있고, 탐지된 초기 동작에 따라 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우 추적 모드를 설정하고, 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)를 랜섬웨어로 판단할 수 있다. 컴퓨팅 장치(200)는, 프로세스(130)의 동작을 탐지하여 동작이 탐지된 프로세스(130)가 랜섬웨어인지 여부를 판단하므로, 알려진 랜섬웨어의 코드 내지 시그니처를 이용하여 랜섬웨어를 탐지하는 방법 또는 장치에 비하여 신종 랜섬웨어의 탐지에 효율적이다.
일실시예에 따른 컴퓨팅 장치(200)는 프로세서(210)를 포함할 수 있고, 프로세서(210)는 파일 시스템(300)을 통해 전달된 파일에 대한 프로세스(130)의 초기 동작을 탐지하고, 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하고, 초기 동작을 수행한 이후, 프로세스(130)가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하고, 적어도 하나의 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)를 랜섬웨어로 판단할 수 있다. 달리 말해, 컴퓨팅 장치(200)의 프로세스(130)는 프로세스(130)의 초기 동작 및 후속 동작을 탐지하여, 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우 추적 모드를 설정하고, 탐지된 초기 동작 및 후속 동작이 동작 규칙에 해당하는 경우 프로세스(130)를 랜섬웨어로 판단할 수 있다.
컴퓨팅 장치(200)의 프로세서(210)는 파일 시스템(300)을 통해 전달된 파일에 대한 초기 동작을 탐지할 수 있다. 앞서 설명한 바와 같이, 사용자 수준 응용의 랜섬웨어는 파일 시스템(300)을 통해 저장된 파일에 접근, 변경 등의 동작을 수행하므로, 프로세서(210)는 파일 시스템(300)으로부터 프로세스(130)의 초기 동작을 탐지할 수 있다.
컴퓨팅 장치(200)의 프로세서(210)는 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 랜섬웨어는 사용자의 컴퓨터에 저장된 문서, 사진, 데이터베이스 등의 파일들을 대량으로 암호화하여 사용자의 접근을 제한하고, 암호화된 파일에 대한 일종의 몸값을 요구하기 위한 프로그램으로, 랜섬웨어에 해당하는 프로세스(130)는 통상적으로 저장된 파일을 탐색하고, 파일을 열어서 읽은 후 덮어쓰기 동작을 수행하거나, 암호화하여 파일의 이름 또는 확장자를 변경하는 이름 변경 동작을 수행하는 절차에 따라 동작하는 경우가 많다. 따라서, 프로세스(130)의 초기 동작이 랜섬웨어의 초기 동작에 대응하는 경우, 달리 말해 프로세서(210)는 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 추적 모드를 설정할 수 있다.
컴퓨팅 장치(200)의 프로세서(210)에 의해 설정되는 추적 모드는, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 모드로, 프로세스(130)가 초기 동작을 수행한 이후의 후속 동작을 탐지할 수 있고, 후술하는 바와 같이 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수도 있다.
일실시예에 따른 컴퓨팅 장치(200)의 프로세서(210)는, 프로세스(130)가 미리 설정된 시간 내에 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 랜섬웨어는 저장 장치에 저장된 파일에 대하여 암호화 등을 수행하여 사용자의 접근을 제한하기 위하여, 파일에 대한 탐색 동작, 열기 동작 및 읽기 동작을 수행하는 횟수가 많은 경우가 통상적이다.
따라서, 프로세스(130)가 미리 설정된 시간 내에 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우로 볼 수 있고, 컴퓨팅 장치(200)의 프로세서(210)는 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 프로세스(130)의 초기 동작은 예시적으로 룩업 동작을 포함할 수 있으나, 이에 한정되지 않는다. 프로세스(130)가 추적 모드를 설정하기 위한 미리 설정된 시간 내에 초기 동작을 미리 설정한 횟수를 초과하여 수행하는 경우에 대한 자세한 설명은 후술한다.
일실시예에 따른 컴퓨팅 장치(200)의 프로세서(210)는, 프로세스(130)가 초기 동작을 수행한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다. 기록되는 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 이용하여 프로세스(130)의 초기 동작 이후 수행하는 프로세스(130)의 후속 동작이 동작 규칙에 해당하는지를 판단할 수 있다. 예시적으로, 파일의 식별 정보(110)는 Linux의 경우 inode 번호가 해당할 수 있고, 프로세스의 식별 정보(120)는 프로그램의 파일 경로, 프로세스 ID 등과 같이 프로세스(130)를 식별하기 위한 정보들이 해당할 수 있다.
프로세스(130)가 초기 동작을 수행한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록하고, 후속 동작을 수행하는 프로세스(130)가 초기 동작을 수행한 프로세스(130)와 동일한지 여부와 프로세스(130)가 수행하는 후속 동작의 대상이 되는 파일의 식별 정보(110)가 동일한지 여부를 판단할 수 있다. 기록한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 이용하여, 초기 동작 및 후속 동작을 수행한 프로세스(130)의 동작이 동작 규칙에 해당하는지 여부를 확인할 수 있고, 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
컴퓨팅 장치(200)의 프로세서(210)는, 초기 동작을 수행한 이후 프로세스(130)가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정할 수 있다. 동작 규칙은 예를 들어, 프로세스(130)가 초기 동작으로 룩업 동작을 수행하고, 후속 동작으로 쓰기 동작 또는 덮어쓰기 동작을 수행하는 경우, 프로세스(130)가 초기 동작으로 열기 동작을 수행하고, 후속 동작으로 이름 변경 동작을 수행하는 경우 등과 같이 결정될 수 있다. 동작 규칙은 상기 예시들로 한정되지 않고, 프로세스(130)가 초기 동작으로 읽기 동작을 수행하고 후속 동작으로 덮어쓰기 동작을 수행하는 경우, 프로세스(130)가 초기 동작으로 룩업 동작을 수행하고 후속 동작으로 이름 변경 동작을 수행하는 경우 등과 같이 다양하게 결정될 수 있다.
또한, 상기의 설명에서 동작 규칙은 초기 동작 이후 적어도 하나의 후속 동작에 관한 것으로 설명하였으나, 실시예의 형태에 따라 동작 규칙은 초기 동작 및 후속 동작의 조합으로 결정될 수도 있다. 예를 들어, 동작 규칙은 프로세스(130)에 의한 초기 동작이 미리 설정된 시간 이내에 룩업 동작을 미리 설정된 횟수를 초과하는 것이고, 프로세스(130)에 의한 후속 동작이 초기 동작의 대상이 되는 파일에 대한 것으로, 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나 이상의 조합인 것으로 결정될 수도 있다.
일실시예에 따른 초기 동작은 프로세스(130)가 파일에 대한 룩업 동작을 포함하고, 동작 규칙은 프로세스(130)가 룩업 동작을 수행한 이후에 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다. 앞서 설명한 바와 같이, 랜섬웨어는 대량의 파일에 접근하기 위하여 파일을 검색하는 룩업 동작을 수행하고, 이후 검색된 파일에 대해 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작 등을 수행하여 파일에 대한 사용자의 접근을 제한한다. 추적 모드를 설정하기 위하여 감지되는 초기 동작은 룩업 동작을 포함할 수 있고, 동작 규칙은 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다.
예를 들어, 초기 동작은 룩업 동작을 포함하고, 동작 규칙은 룩업 동작 이후의 후속 동작이 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작이 순차적으로 수행되는 것으로 결정될 수 있다.
다른 예로, 컴퓨팅 장치(200)는 프로세스의 초기 동작이 미리 설정한 시간 내에 룩업 동작을 미리 설정한 횟수를 초과하여 수행하는 경우 추적 모드를 설정하고, 프로세스의 식별 정보(120) 및 파일의 식별 정보(110)를 식별할 수 있다. 컴퓨팅 장치는 프로세스(130)가 초기 동작을 수행한 이후, 프로세스(130)의 후속 동작이 룩업 동작이 수행된 파일에 대하여 열기 동작을 수행하는 경우, 룩업 동작이 수행된 파일 중 열기 동작을 수행한 파일의 식별 정보(110)을 식별하여 기록할 수 있다. 컴퓨팅 장치(200)는 프로세스(130)가 열기 동작을 수행한 이후, 열기 동작을 수행한 파일 중에서 읽기 동작을 수행하는 경우 열기 동작을 수행한 파일 중 읽기 동작을 수행한 파일의 식별 정보(110)를 식별하여 기록하고, 읽기 동작을 수행한 이후 프로세스(130)가 쓰기 동작을 수행하는 경우, 읽기 동작을 수행한 파일 중 쓰기 동작을 수행한 파일의 식별 정보(110)을 식별하여 기록, 쓰기 동작을 수행한 이후 프로세스(130)가 이름 변경 동작을 수행하는 경우, 프로세스(130)가 랜섬웨어인 것으로 판단할 수 있다.
동작 규칙은 상기 예시에 제한되지 않으며, 동작 규칙은 룩업 동작 이후의 후속 동작이 쓰기 동작 내지 덮어쓰기 동작을 포함되는 경우, 후속 동작이 이름 변경 동작을 포함하는 경우, 후속 동작이 쓰기 동작 및 이름 변경 동작을 포함하는 경우 등과 같이 다양한 후속 동작의 조합으로 결정될 수 있을 뿐만 아니라, 초기 동작이 룩업 동작 및 열기 동작을 포함하고, 초기 동작 이후 파일에 대해 요청하는 후속 동작이 읽기 동작, 쓰기 동작, 이름 변경 동작 중 적어도 하나의 조합으로 결정되는 경우와 같이, 프로세스(130)가 랜섬웨어인지를 판단하기 위한 동작 규칙은 다양한 초기 동작과 후속 동작의 조합으로 결정될 수 있다.
도 2는 일실시예에 따른 프로세스(130)의 초기 동작 및 후속 동작을 나타낸 도면이다.
도 2를 참조하면, 일실시예에 따른 컴퓨팅 장치(200)는, 프로세스(130)가 미리 설정된 시간 내에 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다.
도 2에서 프로세스(130) A는 미리 설정된 시간 T 이내에 룩업 동작을 500회 수행하고, 프로세스(130) B는 룩업 동작을 5회, 프로세스(130) C는 열기 동작을 500회 수행한다. 추적 모드를 설정하기 위하여 미리 설정된 횟수가 300회이고, 초기 동작이 룩업 동작인 경우, 프로세스(130) A에 대해서 추적 모드가 설정될 수 있다. 또한, 추적 모드를 설정하기 위한 미리 설정된 횟수가 300회이고, 초기 동작이 열기 동작인 경우, 프로세스(130) C에 대해서 추적 모드가 설정될 수 있고, 프로세스(130) B의 경우 랜섬웨어로 판단될 가능성이 없는 것으로 판단되어, 추적 모드가 설정되지 않을 수 있다.
프로세스(130)의 초기 동작에 따라 추적 모드가 설정되면, 프로세스(130)의 후속 동작을 감지하고, 동작 규칙에 따라 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 초기 동작이 룩업 동작을 포함하고, 후속 동작이 열기 동작, 일기 동작 및 쓰기 동작이 순차적으로 수행되는 경우 동작 규칙에 해당할 때, 프로세스(130) A의 후속 동작이 열기 동작, 읽기 동작 및 쓰기 동작이 순차적으로 수행되는 프로세스(130) A가 랜섬웨어로 판단될 수 있다.
전술한 바와 같이, 동작 규칙은 다양하게 설정될 수 있고, 프로세스(130) A의 후속 동작이 쓰기 동작인 경우 또는 이름 변경 동작인 경우에도, 설정된 동작 규칙에 따라 프로세스(130) A가 랜섬웨어로 판단될 수 있다. 또한, 프로세스(130) C의 경우는 예시적으로 추적 모드를 설정하기 위하여 열기 동작을 미리 설정된 시간 T 이내에 미리 설정된 횟수 300회 이상 열기 동작을 수행하고, 후속 동작으로 읽기 동작 및 쓰기 동작을 순차적으로 수행한 경우로, 초기 동작이 열기 동작을 포함하고 설정된 동작 규칙이 초기 동작을 수행한 이후 프로세스(130)에 의해 수행되는 후속 동작이 읽기 동작 및 쓰기 동작의 조합으로 결정되는 경우, 프로세스(130) C를 랜섬웨어로 판단할 수 있다.
즉, 상기의 내용을 종합하면, 설정되는 동작 규칙은 다양하게 설정될 수 있고, 초기 동작은 룩업 동작, 열기 동작 등과 같이 다양한 프로세스(130)의 동작이 설정될 수 있으며, 후속 동작은 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 어느 하나의 조합으로 설정되어, 순차적으로 후속 동작이 수행되는 경우 또는 후속 동작이 특정 동작을 포함하는 경우 동작 규칙에 해당하는 것으로 판단할 수 있다.
상기의 예시에서, 후속 동작은 미리 설정된 시간 T 이후에 수행되는 것으로 예시하였으나, 초기 동작이 미리 설정된 시간 이내에 미리 설정된 횟수 이상으로 수행되어 추적 모드가 설정되고, 후속 동작이 미리 설정된 시간 이내에 수행되어 동작 규칙에 해당하는 경우에도 초기 동작 및 후속 동작을 수행한 프로세스(130)를 랜섬웨어로 판단할 수 있다. 또한, 컴퓨팅 장치는 프로세스(130)가 파일 시스템(300)에 대하여 초기 동작 및 후속 동작을 동시에 요청하는 경우에도, 초기 동작에 기초하여 추적 모드를 설정하고, 초기 동작 수행 이후 프로세스(130)의 적어도 하나의 후속 동작이 동작 규칙에 해당하는지 여부를 판단하고, 프로세스(130)이 랜섬웨어인지 여부를 판단할 수 있다.
또한, 추적 모드를 설정하기 위하여 초기 동작을 탐지하는 시간 및 횟수, 즉 상기에서 설명한 미리 설정된 시간 T 및 미리 설정된 횟수 300회는 예시적인 것으로, 이에 한정되지 않으며 미리 설정된 시간 T`, 미리 설정된 횟수 1000회 등과 같이 다양한 시간 및 횟수가 적용될 수 있다.
도 3은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200)의 동작을 나타낸 도면이다.
도 1 및 도 3을 참조하면, 컴퓨팅 장치(200)는 프로세스(130)의 읽기 동작 및 쓰기 동작을 탐지하여 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 즉, 컴퓨팅 장치(200)는 프로세스(130)의 초기 동작인 읽기 동작을 탐지하여 프로세스(130)가 랜섬웨어일 가능성이 있는 경우 추적 모드를 설정하고, 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다. 컴퓨팅 장치(200)는 프로세스(130)의 후속 동작인 쓰기 동작을 감지하고, 후속 동작이 동작 규칙에 해당하는지를 결정하여, 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
도 4는 일실시예에 따른 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 나타낸 도면이다. 도 3에 도시된 프로세스의 식별 정보(120) 및 파일의 식별 정보(110)는 도 2의 프로세스(130) A에서 기록되는 프로세스의 식별 정보(120) 및 파일의 식별 정보(110)를 나타낸다.
도 4을 참조하면, 컴퓨팅 장치(200)는 프로세스(130) A의 초기 동작을 탐지하여, 탐지된 초기 동작이 미리 설정된 시간 내에 미리 설정된 횟수 이상인 경우 추적 모드를 설정할 수 있다. 예를 들어, 미리 설정된 시간 내에 프로세스(130) A가 룩업 동작을 500회 요청하는 경우, 컴퓨팅 장치(200)는 추적 모드를 설정할 수 있다. 컴퓨팅 장치(200)는 프로세스(130) A에 대한 추적 모드를 설정하고, 프로세스(130) A가 초기 동작이 수행된 파일에 대한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다.
예를 들어, 프로세스의 식별 정보(120)는 프로세스(130) A의 파일 경로 등이 해당할 수 있고, 파일의 식별 정보(110)는 파일 식별자가 해당할 수 있다. 파일 식별자는 파일을 식별하기 위한 정보들이 해당할 수 있고, 구체적으로 Linux의 경우 inode가 해당할 수 있다. 파일의 식별 정보(110)는 파일 식별자에 한정되지 않으며, 파일 경로, 파일 주소, 파일 이름 등 다양한 정보가 해당할 수 있다.
컴퓨팅 장치(200)는 프로세스(130)의 초기 동작을 탐지하여 추적 모드를 설정하고, 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다. 컴퓨팅 장치(200)는 기록된 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 이용하여, 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작이 프로세스(130)의 초기 동작을 수행한 파일과 동일한 파일에 대하여 수행되는 것인지 확인할 수 있다.
즉, 도 4와 같이, 프로세스(130) A가 초기 동작으로 룩업 동작을 500회 수행한 이후 후속 동작으로 열기 동작, 읽기 동작 및 쓰기 동작을 순차적으로 수행하는 경우, 컴퓨팅 장치(200)는 기록된 프로세스의 식별 정보(120)와 파일의 식별 정보(110)를 이용하여 열기 동작, 읽기 동작 및 쓰기 동작의 순차적인 후속 동작이 초기 동작을 수행한 파일과 동일한지 여부 및 동일한 프로세스(130)에 의한 후속 동작인지 여부를 확인할 수 있다. 프로세스(130)의 초기 동작에 의하여 추적 모드가 설정되고, 동일한 프로세스(130)에 의하여 동일한 파일에 대한 후속 동작이 수행되며, 프로세스(130)의 초기 동작 및 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
예를 들어, 도 4와 같이 프로세스(130) A에 의하여 초기 동작으로 룩업 동작이 500회 수행되는 경우, 컴퓨팅 장치(200)는 추적 모드를 설정하고 초기 동작의 대상이 된 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다. 이후 프로세스(130) A의 후속 동작이 열기 동작, 읽기 동작 및 쓰기 동작을 순차적으로 수행할 때, 컴퓨팅 장치(200)는 후속 동작을 수행한 파일이 파일의 식별 정보(110)와 일치하는지를 확인하고, 프로세스(130) A의 동작이 동작 규칙에 해당하는지 여부를 확인하여 프로세스(130) A가 랜섬웨어인지 여부를 확인할 수 있다.
도 5는 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 수행하기 위한 컴퓨팅 장치(200)를 도시한 도면이다.
도 5를 참조하면, 일실시예에 따른 초기 동작 및 후속 동작은, 프로세스(130)가 하나의 프로세스(130)에 의해 일괄적으로 수행되거나, 또는 프로세스(130)가 부모 프로세스(140) 및 자식 프로세스로 구분되어 수행되는 것일 수 있다. 도 4에서 파일 시스템(300)으로 요청되는 룩업 동작, 열기 동작, 읽기 동작, 쓰기 동작 및 이름 변경 동작은 부모 프로세스(140)와 자식 프로세스에 의해서 요청될 수 있다. 컴퓨팅 장치(200)는 파일 시스템(300)을 통하여 초기 동작 및 후속 동작이 하나의 프로세스(130)에 의해 일괄적으로 수행되거나 또는 부모 프로세스(140) 및 자식 프로세스로 구분되어 수행되는 경우에도 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
초기 동작 및 후속 동작이 하나의 프로세스(130)에 의해 일괄적으로 수행되는 경우 전술한 바와 같이 컴퓨팅 장치(200)에 의하여 프로세스(130)의 초기 동작을 탐지하고, 초기 동작이 미리 설정된 시간 이내에 미리 설정된 횟수를 초과하여 수행되는 경우 추적 모드를 설정하고, 프로세스(130)의 적어도 하나의 후속 동작을 탐지하여 동작 규칙에 해당하는지 여부를 결정하고, 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다.
초기 동작 및 후속 동작이 부모 프로세스(140) 및 자식 프로세스로 구분되어 수행되는 경우, 컴퓨팅 장치(200)는 초기 동작을 탐지하고, 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 예를 들어, 미리 설정된 시간 T 이내에 자식 프로세스 1이 초기 동작으로 룩업 동작을 250회, 자식 프로세스 2가 초기 동작으로 룩업 동작을 250회 수행하는 경우, 미리 설정된 횟수가 300회인 경우 자식 프로세스 1 및 자식 프로세스 2의 초기 동작 각각은 미리 설정된 횟수를 초과하지 않으나, 자식 프로세스 1 및 자식 프로세스 2는 동일한 부모 프로세스(140)에 의하여 동작하는 것으로, 컴퓨팅 장치(200)는 자식 프로세스 1 및 자식 프로세스 2의 초기 동작에 기초하여 부모 프로세스(140) 및 자식 프로세스 1 내지 N이 랜섬웨어로 판단될 가능성이 있는 것으로 판단할 수 있고, 추적 모드를 설정할 수 있다.
또한, 컴퓨팅 장치(200)는 초기 동작을 수행한 이후, 부모 프로세스(140) 및 자식 프로세스가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정할 수 있다. 예를 들어, 자식 프로세스 1 및 자식 프로세스 2에 의하여 초기 동작이 수행되고 추적 모드가 설정된 경우, 초기 동작을 수행하지 않은 자식 프로세스인 자식 프로세스 3에 의하여 후속 동작이 수행되는 경우, 자식 프로세스 3의 후속 동작이 동작 규칙에 해당하는지 여부를 결정할 수 있다.
도 6는 일실시예에 따른 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)의 동작을 도시한 도면이다.
도 6에 도시된 프로세스(130), 파일의 식별 정보(110), 프로세스의 식별 정보(120), 파일 시스템(300) 및 제1 공간(400)에 대한 설명은 도 1 내지 도 5에서 설명한 내용과 동일하게 적용될 수 있다.
도 6를 참조하면, 일실시예에 따른 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)는, 프로세서(210)를 포함하고, 프로세서(210)는 파일에 대해 특정 동작을 수행하는 프로세스(130)가 랜섬웨어인지 여부를 판단하고, 프로세스(130)가 랜섬웨어로 판단된 경우, 파일의 원본이 저장되는 제1 공간(400)과 구분되는 제2 공간(410)을 설정하고, 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우, 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록할 수 있다. 달리 말해, 컴퓨팅 장치(200)는 랜섬웨어의 행동은 제2 공간(410)에 기록되고 원본 데이터는 원 위치에 그대로 유지되는 구조를 통해, 랜섬웨어에 대한 복구 방법을 수행할 수 있다. 컴퓨팅 장치(200)는 랜섬웨어에 대한 탐지 방법을 이용하여 프로세스(130)가 랜섬웨어로 탐지된 경우, 제2 공간(410)에 기록된 데이터는 삭제처리하고 원 위치에 있던 데이터를 복원할 수 있다.
컴퓨팅 장치(200)는 파일 시스템(300)을 통하여 프로세스(130)의 동작을 감지하여 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 컴퓨팅 장치(200)는, 프로세스(130)가 랜섬웨어로 판단된 경우 제1 공간(400)과 구분되는 제2 공간(410)을 설정하고, 랜섬웨어로 감지된 프로세스(130)가 제1 공간(400)에 저장된 파일 2에 대한 변경 요청을 수행하는 경우, 파일 2에 대한 변경 동작을 제1 공간(400)에 저장된 파일 2에 대하여 수행하는 대신, 블록 디바이스 드라이버 등을 통하여 파일 2에 대한 변경 동작을 제2 공간(410)에 파일 2의 변형본으로 기록할 수 있다. 따라서, 컴퓨팅 장치(200)는 프로세스(130)가 랜섬웨어로 판단된 경우, 프로세스(130)의 초기 동작은 제1 공간(400)에 저장된 파일들에 대하여 수행될 수 있으나, 제1 공간(400)에 저장된 파일들에 대한 변경 요청을 랜섬웨어로 판단된 프로세스(130)가 수행하는 경우, 제1 공간(400)에 저장된 데이터 파일에 대하여 변경 동작을 수행하는 대신, 제1 공간(400)과 구분된 제2 공간(410)에 파일의 변형본으로 기록함으로써 제1 공간(400)에 저장된 파일을 유지할 수 있고, 제1 공간(400)에 유지되는 파일을 이용하여 랜섬웨어로 인하여 손상된 파일을 복구할 수 있다.
컴퓨팅 장치(200)는 파일에 대해 특정 동작을 수행하는 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 도 1 내지 도 4에서 설명한 랜섬웨어에 대한 탐지 방법을 수행하기 위한 컴퓨팅 장치(200)에 대한 내용은, 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)에 동일하게 적용될 수 있다. 즉, 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)는 프로세스(130)가 랜섬웨어인지 여부를 판단하기 위해, 프로세스(130)의 초기 동작을 탐지하고, 탐지된 초기 동작에 기초하여 프로세스(130)가 랜섬웨어에 해당할 가능성이 있는 경우 추적 모드를 설정하고, 적어도 하나의 후속 동작이 동작 규칙에 해당하는지 여부를 결정하고, 적어도 하나의 후속 동작이 동작 규칙에 해당하는 경우 프로세스(130)를 랜섬웨어로 판단할 수 있다.
컴퓨팅 장치(200)는 프로세스(130)가 랜섬웨어로 판단된 경우, 파일의 원본이 저장되는 제1 공간(400)과 구분되는 제2 공간(410)을 설정할 수 있다. 제2 공간(410)은 프로세스(130)가 랜섬웨어인 경우, 프로세스(130)의 동작을 기록하기 위한 공간일 수 있다. 제2 공간(410)은 파일의 원본이 저장되는 제1 공간(400)과 동일한 저장매체의 다른 파티션 또는 제2 저장매체의 파티션에 해당할 수 있다.
일실시예에 따른 제2 공간(410)은 사용자 레벨의 어플리케이션(User Level Application)이 접근할 수 있는 파일 시스템(300)이 설치되지 않은 공간일 수 있다. 제2 공간(410)은 사용자 레벨의 어플리케이션, 달리 말해 사용자 수준 응용이 접근하기 위한 파일 시스템(300)이 설치되지 않은 공간으로, 시스템 커널 수준의 블록 디바이스 드라이버 등을 통해서 접근 가능한 공간에 해당할 수 있다.
컴퓨팅 장치(200)는 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우, 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록할 수 있다. 제2 공간(410)에 변경 요청에 대응하는 파일의 변형본을 기록함으로써 제1 공간(400)에 저장된 파일의 원본은 변경하지 않고 랜섬웨어에 의한 동작을 수행한 뒤, 추후 파일의 원본을 복구할 수 있다.
파일에 대한 변경 요청은 쓰기 동작 요청, 덮어쓰기 동작 요청, 삭제 요청, 파일명 또는 확장자의 변경을 포함하는 이름 변경 동작 요청 등을 포함할 수 있다. 즉, 파일에 대한 변경 요청은 제1 공간(400)에 저장된 파일의 내용, 형식, 파일명 또는 확장자 등을 변경하기 위한 요청에 해당할 수 있다.
상기의 내용을 종합하면, 랜섬웨어에 대한 복구 방법을 수행하기 위한 컴퓨팅 장치(200)는, 프로세스(130)가 랜섬웨어인지 여부를 판단하여 제1 공간(400)과 구분되는 제2 공간(410)을 설정하고, 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우, 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록함으로써 파일의 원본을 제1 공간(400)에 유지하여, 파일을 복구하도록 할 수 있다.
도 7은 일실시예에 따른 파일의 원본 및 파일의 변형본에 대한 매핑 정보(500)를 나타낸 도면이다.
도 7을 참조하면, 일실시예에 따른 컴퓨팅 장치(200)는 랜섬웨어로 판단된 프로세스(130)가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 파일의 원본을 제1 공간(400)에 유지하고 파일의 변형본을 제2 공간(410)에 기록하며, 파일의 주소 정보를 제1 공간(400)이 아닌 제2 공간(410)에 기록된 파일의 변형본에 매핑할 수 있다.
도 7의 (a)는 프로세스(130)가 랜섬웨어로 판단되기 전 매핑 정보(500)를 나타낸 도면이다. 프로세스(130)가 랜섬웨어로 판단되기 전, 제1 공간(400)에 저장된 파일의 원본에 대응하는 주소 A에 대한 요청에 따라 제1 공간(400)에 저장된 파일의 원본에 대하여 동작을 수행하게 된다.
도 7의 (b)는 프로세스(130)가 랜섬웨어로 판단된 경우, 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행한 경우를 나타낸 도면이다. 컴퓨팅 장치(200)는 제1 공간(400)과 구분되는 제2 공간(410)을 설정할 수 있다. 랜섬웨어로 판단된 프로세스(130)가 주소 A에 대응하는 파일에 대한 변경을 요청하는 경우, 제1 공간(400)에 저장된 파일의 원본에 대하여 변경 요청을 수행하는 대신, 제1 공간(400)에 파일의 원본을 유지하고, 제2 공간(410)에 파일의 변형본으로 변경 요청을 수행할 수 있다. 파일에 대한 변경 요청은, 전술한 바와 같이 파일에 대한 덮어쓰기 동작, 쓰기 동작, 삭제 동작, 이름 변경 동작 등이 해당할 수 있다.
도 7의 (b)와 같이 컴퓨팅 장치(200)는 제2 공간(410)에 기록된 파일의 변형본에 주소 A를 매핑하고, 제1 공간(400)에 유지되는 파일의 원본에 대응하는 파일 복구를 위한 주소 A'를 기록하여, 파일의 주소 정보를 제1 공간(400)이 아닌 제2 공간(410)에 기록된 파일의 변형본에 매핑할 수 있다.
도 7의 (c)는 매핑 주소를 변경한 이후 주소 A에 대한 동작을 나타낸 도면이다. 도 7의 (c)와 같이, 주소 A에 대한 매핑 주소가 제2 공간(410)에 기록된 파일의 변형본으로 변경된 이후, 주소 A에 대한 동작은 제2 공간(410)에 기록된 파일의 변형본에 대하여 수행되어, 제1 공간(400)에 유지되는 파일의 원본은 보존될 수 있다. 이후 랜섬웨어를 제거한 이후 등과 같이 파일을 복구하고자 하는 경우, 제1 공간(400)에 저장된 파일의 원본 및 파일의 원본에 대응하는 주소 A'를 이용하여 원본을 복구할 수 있다.
이하의 도 8 내지 도 9은 각각 일실시예에 따른 랜섬웨어에 대한 탐지 방법과 랜섬웨어에 대한 복구 방법을 나타낸 도면이다. 랜섬웨어에 대한 탐지 방법과 랜섬웨어에 대한 복구 방법은 각각 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200), 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)에 의하여 수행될 수 있다. 따라서, 이하 생략된 내용이라고 하더라도, 랜섬웨어에 대한 탐지 방법을 수행하는 컴퓨팅 장치(200)와 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치(200)에 대하여 설명된 내용은 랜섬웨어에 대한 탐지 방법과 랜섬웨어에 대한 복구 방법에 대한 설명에도 동일하게 적용될 수 있다.
도 8은 일실시예에 따른 랜섬웨어에 대한 탐지 방법을 나타낸 도면이다.
도 8을 참조하면, 일실시예에 다른 랜섬웨어 탐지 방법은, 파일 시스템(300)을 통해 전달된 파일에 대한 프로세스(130)의 초기 동작을 탐지하는 단계, 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계, 초기 동작을 수행한 이후 프로세스(130)가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계, 적어도 하나의 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)를 랜섬웨어로 판단하는 단계를 포함할 수 있다.
도 8을 참조하면, 단계 S810에서 컴퓨팅 장치(200)는 파일 시스템(300)을 통해 전달된 파일에 대한 프로세스(130)의 초기 동작을 탐지할 수 있다.
이후 단계 S820에서 컴퓨팅 장치(200)는 초기 동작에 기초하여 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는지를 판단할 수 있다. 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우, 단계 S830에서 프로세스(130)가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정할 수 있다. 컴퓨팅 장치(200)는 추적 모드를 설정하기 위하여 미리 설정된 시간 내에 초기 동작이 미리 설정된 횟수를 초과하여 수행하는 경우, 프로세스(130)가 랜섬웨어로 판단될 가능성이 있는 경우로 판단하여 추적 모드를 설정할 수 있다. 또한, 컴퓨팅 장치(200)는 프로세스(130)가 초기 동작을 수행한 파일의 식별 정보(110) 및 프로세스의 식별 정보(120)를 기록할 수 있다.
다음으로 단계 S840에서 컴퓨팅 장치(200)는 초기 동작을 수행한 이후 프로세스(130)가 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정할 수 있다. 초기 동작은 룩업 동작을 포함할 수 있고, 동작 규칙은 프로세스(130)가 룩업 동작을 수행한 이후에 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정될 수 있다.
다음으로 단계 S850에서 컴퓨팅 장치(200)는 적어도 하나의 후속 동작이 동작 규칙에 해당하는 경우, 프로세스(130)를 랜섬웨어로 판단할 수 있다.
도 9는 일실시예에 따른 랜섬웨어에 대한 복구 방법을 나타낸 도면이다.
도 9를 참조하면, 일실시예에 따른 랜섬웨어에 대한 복구 방법은, 파일에 대해 특정 동작을 수행하는 프로세스(130)가 랜섬웨어인지 여부를 판단하는 단계, 프로세스(130)가 랜섬웨어로 판단된 경우, 파일의 원본이 저장되는 제1 공간(400)과 구분되는 제2 공간(410)을 설정하는 단계, 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록하는 단계를 포함할 수 있다.
도 9를 참조하면, 단계 S910에서 컴퓨팅 장치(200)는 파일에 대해 특정 동작을 수행하는 프로세스(130)가 랜섬웨어인지 여부를 판단할 수 있다. 프로세스(130)가 랜섬웨어인지 여부를 판단하기 위하여, 도 8에서 설명한 프로세스(130)가 랜섬웨어인지 여부를 판단하기 위한 방법이 동일하게 적용될 수 있다.
다음으로, 단계 S920에서 컴퓨팅 장치(200)는 프로세스(130)가 랜섬웨어로 판단된 경우, 파일의 원본이 저장되는 제1 공간(400)과 구분되는 제2 공간(410)을 설정할 수 있다. 제2 공간(410)은 파일 시스템(300)이 설치되지 않은 공간일 수 있고, 블록 디바이스 드라이버 등에 의하여 동작이 수행될 수 있다.
다음으로, S930 단계에서 컴퓨팅 장치(200)는 랜섬웨어로 판단된 프로세스(130)가 파일에 대한 변경 요청을 수행하는 경우 변경 요청에 대응하는 파일의 변형본을 제2 공간(410)에 기록할 수 있다. 컴퓨팅 장치(200)는 파일에 대한 변경 요청에 대하여, 제1 공간(400)에 파일의 원본을 유지하고, 파일의 변형본을 제2 공간(410)에 기록할 수 있고, 파일의 원본의 주소 정보를 제2 공간(410)의 변형본에 매핑할 수 있다.
한편, 본 발명에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 즉 정보 캐리어, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체) 또는 전파 신호에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체 및 전송매체를 모두 포함할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
110: 파일의 식별 정보
120: 프로세스의 식별 정보
130: 프로세스
140: 부모 프로세스
200: 컴퓨팅 장치
210: 프로세서
300: 파일 시스템
400: 제1 공간
410: 제2 공간
500: 매핑 정보

Claims (18)

  1. 랜섬웨어에 대한 탐지 방법에 있어서,
    컴퓨팅 장치가 파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하는 단계;
    상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 컴퓨팅 장치가 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계;
    상기 초기 동작을 수행한 이후, 상기 컴퓨팅 장치가 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계;
    상기 적어도 하나의 후속 동작의 대상이 되는 파일 중 적어도 하나가 상기 초기 동작의 대상이 되는 파일에 포함되고, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 컴퓨팅 장치가 상기 프로세스를 랜섬웨어로 판단하는 단계
    를 포함하고,
    상기 동작 규칙은,
    상기 초기 동작이 수행된 이후, 상기 프로세스가 상기 적어도 하나의 후속 동작을 수행하는 것으로 설정되는,
    랜섬웨어에 대한 탐지 방법.
  2. 제1항에 있어서,
    상기 추적 모드를 설정하는 단계는,
    상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는, 랜섬웨어에 대한 탐지 방법.
  3. 제1항에 있어서,
    상기 추적 모드를 설정하는 단계는,
    상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록하는 랜섬웨어에 대한 탐지 방법.
  4. 제1항에 있어서,
    상기 초기 동작은,
    상기 프로세스가 상기 파일에 대한 룩업 동작을 포함하고,
    상기 동작 규칙은,
    상기 프로세스가 상기 룩업 동작을 수행한 이후에 상기 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정되는 랜섬웨어에 대한 탐지 방법.
  5. 제1항에 있어서,
    상기 초기 동작 및 상기 후속 동작은,
    상기 프로세스가 하나의 프로세스에 의해 일괄적으로 수행되거나 또는
    상기 프로세스가 부모 프로세스 및 자식 프로세스로 구분되어 수행되는, 랜섬웨어에 대한 탐지 방법.
  6. 랜섬웨어에 대한 복구 방법에 있어서,
    컴퓨팅 장치가 파일에 대해 특정 동작을 수행하는 프로세스가 랜섬웨어인지 여부를 판단하는 단계;
    상기 프로세스가 랜섬웨어로 판단된 경우, 상기 컴퓨팅 장치가 상기 파일의 원본이 저장되는 제1 공간과 구분되는 제2 공간을 설정하는 단계;
    상기 랜섬웨어로 판단된 프로세스가 상기 파일에 대한 변경 요청을 수행하는 경우, 상기 컴퓨팅 장치가 상기 변경 요청에 대응하는 파일의 변형본을 상기 제2 공간에 기록하는 단계
    를 포함하고,
    상기 프로세스가 랜섬웨어인지 여부를 판단하는 단계는,
    상기 파일에 대한 상기 프로세스의 초기 동작을 탐지하는 단계;
    상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는 단계;
    상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하는 단계; 및
    상기 적어도 하나의 후속 동작의 대상이 되는 파일 중 적어도 하나가 상기 초기 동작의 대상이 되는 파일에 포함되고, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하는 단계
    를 포함하고,
    상기 동작 규칙은,
    상기 초기 동작이 수행된 이후, 상기 프로세스가 상기 적어도 하나의 후속 동작을 수행하는 것으로 설정되는,
    랜섬웨어에 대한 복구 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 추적 모드를 설정하는 단계는,
    상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는, 랜섬웨어에 대한 복구 방법.
  9. 제6항에 있어서,
    상기 추적 모드를 설정하는 단계는,
    상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록하는 랜섬웨어에 대한 복구 방법.
  10. 제6항에 있어서,
    상기 초기 동작은,
    상기 프로세스가 상기 파일에 대한 룩업 동작을 포함하고,
    상기 동작 규칙은,
    상기 프로세스가 상기 룩업 동작을 수행한 이후에 상기 파일에 대해 요청하는 읽기 동작, 열기 동작, 쓰기 동작 및 이름 변경 동작 중 적어도 하나의 후속 동작의 조합으로 결정되는 랜섬웨어에 대한 복구 방법.
  11. 제6항에 있어서,
    상기 제2 공간은,
    사용자 레벨의 어플리케이션이 접근할 수 있는 파일 시스템이 설치되지 않은 공간인 랜섬웨어에 대한 복구 방법.
  12. 제6항에 있어서,
    상기 파일의 변형본을 제2 공간에 기록하는 단계는,
    상기 랜섬웨어로 판단된 프로세스가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 상기 파일의 원본을 상기 제1 공간에 유지하고 상기 파일의 변형본을 상기 제2 공간에 기록하며,
    상기 파일의 주소 정보를 상기 제1 공간이 아닌 상기 제2 공간에 기록된 파일의 변형본에 매핑하는, 랜섬웨어에 대한 복구 방법.
  13. 랜섬웨어 탐지 방법을 수행하는 컴퓨팅 장치에 있어서,
    프로세서를 포함하고,
    상기 프로세서는,
    파일 시스템을 통해 전달된 파일에 대한 프로세스의 초기 동작을 탐지하고, 상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하고, 상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하고, 상기 적어도 하나의 후속 동작의 대상이 되는 파일 중 적어도 하나가 상기 초기 동작의 대상이 되는 파일에 포함되고, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하고,
    상기 동작 규칙은,
    상기 초기 동작이 수행된 이후, 상기 프로세스가 상기 적어도 하나의 후속 동작을 수행하는 것으로 설정되는,
    컴퓨팅 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 프로세스가 미리 설정된 시간 내에 상기 초기 동작을 미리 설정된 횟수를 초과하여 수행하는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하는, 컴퓨팅 장치.
  15. 제13항에 있어서,
    상기 프로세서는,
    상기 프로세스가 초기 동작을 수행한 파일의 식별 정보 및 상기 프로세스의 식별 정보를 기록하는, 컴퓨팅 장치.
  16. 랜섬웨어에 대한 복구 방법을 수행하는 컴퓨팅 장치에 있어서,
    프로세서를 포함하고,
    상기 프로세서는,
    파일에 대해 특정 동작을 수행하는 프로세스가 랜섬웨어인지 여부를 판단하고, 상기 프로세스가 랜섬웨어로 판단된 경우, 상기 파일의 원본이 저장되는 제1 공간과 구분되는 제2 공간을 설정하고, 상기 랜섬웨어로 판단된 프로세스가 상기 파일에 대한 변경 요청을 수행하는 경우, 상기 변경 요청에 대응하는 파일의 변형본을 상기 제2 공간에 기록하고,
    상기 프로세서는,
    상기 파일에 대한 상기 프로세스의 초기 동작을 탐지하고;
    상기 초기 동작에 기초하여 상기 프로세스가 랜섬웨어로 판단될 가능성이 있는 경우, 상기 프로세스가 랜섬웨어인지를 탐지하기 위한 추적 모드를 설정하고;
    상기 초기 동작을 수행한 이후, 상기 프로세스가 상기 파일에 대해 요청하는 적어도 하나의 후속 동작이 랜섬웨어로 판단하기 위한 동작 규칙에 해당하는지 여부를 결정하고;
    상기 적어도 하나의 후속 동작의 대상이 되는 파일 중 적어도 하나가 상기 초기 동작의 대상이 되는 파일에 포함되고, 상기 적어도 하나의 후속 동작이 상기 동작 규칙에 해당하는 경우, 상기 프로세스를 랜섬웨어로 판단하고,
    상기 동작 규칙은,
    상기 초기 동작이 수행된 이후, 상기 프로세스가 상기 적어도 하나의 후속 동작을 수행하는 것으로 설정되는,
    컴퓨팅 장치.
  17. 제16항에 있어서,
    상기 프로세서는,
    상기 랜섬웨어로 판단된 프로세스가 파일에 대해 덮어쓰기 동작과 관련된 변경 요청을 수행하는 경우, 상기 파일의 원본을 상기 제1 공간에 유지하고 상기 파일의 변형본을 상기 제2 공간에 기록하며,
    상기 파일의 주소 정보를 상기 제1 공간이 아닌 상기 제2 공간에 기록된 파일의 변형본에 매핑하는, 컴퓨팅 장치.
  18. 제1항 내지 제6항, 제8항 내지 제12항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.

KR1020210041622A 2021-03-31 2021-03-31 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치 KR102494454B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210041622A KR102494454B1 (ko) 2021-03-31 2021-03-31 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치
PCT/KR2022/004564 WO2022211511A1 (ko) 2021-03-31 2022-03-31 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210041622A KR102494454B1 (ko) 2021-03-31 2021-03-31 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
KR20220135649A KR20220135649A (ko) 2022-10-07
KR102494454B1 true KR102494454B1 (ko) 2023-02-06

Family

ID=83595791

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210041622A KR102494454B1 (ko) 2021-03-31 2021-03-31 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102494454B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182019A (ja) * 2009-02-04 2010-08-19 Kddi Corp 異常検知装置およびプログラム
KR101828600B1 (ko) * 2017-03-08 2018-03-22 주식회사 체크멀 상황 인식 기반의 랜섬웨어 탐지
KR101857575B1 (ko) * 2016-09-02 2018-05-14 주식회사 안랩 악성코드탐지시스템 및 악성코드 탐지 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010182019A (ja) * 2009-02-04 2010-08-19 Kddi Corp 異常検知装置およびプログラム
KR101857575B1 (ko) * 2016-09-02 2018-05-14 주식회사 안랩 악성코드탐지시스템 및 악성코드 탐지 방법
KR101828600B1 (ko) * 2017-03-08 2018-03-22 주식회사 체크멀 상황 인식 기반의 랜섬웨어 탐지

Also Published As

Publication number Publication date
KR20220135649A (ko) 2022-10-07

Similar Documents

Publication Publication Date Title
EP3532935B1 (en) Snapshot metadata arrangement for cloud integration
US9892005B2 (en) System and method for object-based continuous data protection
EP2363815B1 (en) System for permanent file deletion
US10204235B2 (en) Content item encryption on mobile devices
US11249672B2 (en) Low-cost backup and edge caching using unused disk blocks
CN104360914B (zh) 增量快照方法和装置
US20070005659A1 (en) Data deletion method, storage device, and computer system
CN106886370B (zh) 一种基于ssd去重技术的数据安全删除方法及系统
US10903977B2 (en) Hidden electronic file systems
CN111868705A (zh) 记录装置、读取装置、记录方法、记录程序、读取方法、读取程序及磁带
CN111581647B (zh) 文件加密及解密方法、装置
US20150302021A1 (en) Storage system
CN111382011A (zh) 一种文件数据存取方法、装置和计算机可读存储介质
US10303556B1 (en) Modifiable volume snapshots
KR102494454B1 (ko) 랜섬웨어에 대한 탐지 방법 및 복구 방법, 및 상기 방법을 수행하는 컴퓨팅 장치
CN111382126B (zh) 删除文件及阻碍文件恢复的系统和方法
US20210357396A1 (en) Related file analysis
KR102494442B1 (ko) 랜섬웨어의 탐지 방법 및 상기 방법을 수행하는 컴퓨팅 장치
US10489600B2 (en) Access path redirection for encrypted files
US11809598B2 (en) Devices and methods for safe storage of media containing personal data and erasure of stored personal data
US9824718B2 (en) Recording and playback device
CN111913915B (zh) 文件隐藏方法和装置
JP7311905B2 (ja) マルチメディアデータ保存システム及び方法
KR102227113B1 (ko) 공유 파일 시스템 기반의 파일 처리 장치
KR20220105612A (ko) 해시 기반의 키 밸류에 관한 블록 변환 방법 및 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right