KR20220038106A - 랜섬웨어 검출 및 완화를 위한 시스템 및 방법 - Google Patents

랜섬웨어 검출 및 완화를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20220038106A
KR20220038106A KR1020227005440A KR20227005440A KR20220038106A KR 20220038106 A KR20220038106 A KR 20220038106A KR 1020227005440 A KR1020227005440 A KR 1020227005440A KR 20227005440 A KR20227005440 A KR 20227005440A KR 20220038106 A KR20220038106 A KR 20220038106A
Authority
KR
South Korea
Prior art keywords
file
trap
ransomware
files
access
Prior art date
Application number
KR1020227005440A
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 사이버 크루시블 인크.
Publication of KR20220038106A publication Critical patent/KR20220038106A/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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Debugging And Monitoring (AREA)

Abstract

랜섬웨어 공격에 대해 타겟 시스템의 컴퓨팅 디바이스를 보호하기 위한 시스템 및 방법은 파일을 관리하기 위해 컴퓨팅 디바이스의 운영 체제에 의해 사용되는 데이터 구조를 갖는 파일 시스템을 이용한다. 컴퓨팅 디바이스 내의 소프트웨어 또는 하드웨어 설치된 에이전트는 타겟 시스템을 대신하여 자율적으로 하나 이상의 조치를 수행한다. 에이전트는 파일링 시스템의 데이터 구조에 하나 이상의 트랩 파일을 자동으로 생성한다. 트랩 파일은 랜섬웨어 공격 개연성을 나타내는 파일 액세스이다. 에이전트는 하나 이상의 트랩 파일에 대한 액세스를 모니터링한다. 트랩 파일에 대한 액세스를 검출할 시, 타겟 시스템에 의해 랜섬웨어 공격 개연성에 대한 교정 조치가 수행된다.

Description

랜섬웨어 검출 및 완화를 위한 시스템 및 방법
배경
기술분야
본 개시내용은 일반적으로 사이버보안 기술에 관한 것이다. 보다 구체적으로, 본 개시내용은 랜섬웨어 검출 및 완화를 위한 시스템 및 방법에 관한 것이다.
사이버보안 분야에서, 랜섬웨어는 공격자가 액세스를 다시 가능하게 해줄 때까지 데이터 또는 장비에 대한 피해자의 액세스를 거부하는 멀웨어이다. 통상적으로, 액세스는 공격자가 피해자의 데이터를 암호화하기 때문에 거부되고, 복호화 능력은 피해자가 몸값을 지불한 후 제공된다. 방어 및 공격자 랜섬웨어에 초점을 맞춘 능력은 암호화 능력의 능력 및 복잡성, 거부된 리소스 범위, 지불 방법 면에서 발전하였다.
암호화 능력과 관련하여, 암호화 알고리즘의 품질은, 통제되고 안전한 정부, 군사 및 상업적 용도를 위해 오늘날 사용되는 것에서 보여지는 표준화된 암호화 알고리즘 및 구현으로 향상되었다. 암호화 알고리즘의 품질은 의도되거나 승인된 복호화기가 아닌, 최신 컴퓨팅 하드웨어를 갖는 파티가 복호화할 수 없는 것에 기반하여 평가된다. 미국 표준 기술 연구소("NIST")에 의해 인증된 현재의 강력한 암호화인 256-비트 AES 암호화는 의도하지 않은 파티가 복호화하는 데에 9.63x1052년이 걸릴 것으로 추정된다.
암호화 알고리즘 취약성은 의도하지 않은 파티에 의해 노출되는 것에 대한 암호화된 자료(암호문)의 견고성에 영향을 미친다. 이러한 취약성은 암호화 자체의 논리의 취약성, 및 컴퓨팅 파워의 개선에 의해 도입된 취약성으로 분류될 수 있다. 대개, 각 카테고리는 다른 카테고리에 영향을 미친다. 나이브한 복호화(naive decryption)를 (예를 들어) 여전히 일평생이 넘게 소요되는 시간프레임으로 감소시킬 수 있는 발견된 논리 오류는 시간이 지남에 따라 위협이 되고, 그 결과 컴퓨팅 파워의 개선으로 인해 훨씬 더 짧은 시간 안에 복호화가 초래된다.
랜섬웨어 연루의 경우, 몇몇 랜섬웨어 멀웨어는 암호 공격에 취약한 암호화 알고리즘을 활용한다. 이는 보안 연구원이 공격자에게 몸값을 지불하지 않으면서, 랜섬웨어에 대한 몇몇 초기 성공을 거둘 수 있게 하는 한 가지 방법이다. 취약한 랜섬웨어가 여전히 사용 중일 수 있지만, 피해자가 자신의 몸값 지불을 피하지 못하도록 강제하려는 공격자의 금전적 동기는 이러한 역학을 변화시켰다. 최신 랜섬웨어 멀웨어는 공격자에 의해 제공되는 복호화 프로그램 없이도 사후 암호화를 복호화하기에 견고한 암호화 알고리즘을 점점 더 많이 활용하고 있다.
암호화 동작 동안, 암호변수(cryptovariable)는 자료를 암호화하고 복호화하는 데 필요한 설정 및 변수이다. 이들 변수는 암호화 알고리즘 또는 암호화 키를 넘어선다. 이들은 암호화 키 크기, 패딩 알고리즘, 논스(nonce), 초기화 벡터(iv) 또는 암호화 알고리즘 변형과 같은 요소를 포함한다. 이들 암호변수의 생성, 분산 및 구현은 임의의 암호화 동작에 필요하고, 그 중 랜섬웨어는 확실히 암호화-기반 동작이다.
암호화 동작은 의도하지 않은 수신자의 복호화를 가능하게 하는 취약성을 도입하지 않는 방식으로 계획되고 수행되어야 한다. 랜섬웨어 입안자에게 있어서는, 이는 부적절하게 수행된 암호화 동작이, 사용된 암호화 알고리즘이 강력하더라도 고급 사이버보안 방어자가 몸값을 지불하지 않고 그러한 취약성을 악용하여 복호화할 기회를 초래할 수 있음을 의미한다.
역사적으로, 랜섬웨어 입안자는 사이버보안 방어자가 액세스하는 것을 이네이블하는 방식으로 암호변수를 생성하고 분산시켰다. 이는 적절한 랜덤화(예를 들어, 모두 0인 암호화 키)를 통해 생성되지 않는 암호화 키, 부적절한 암호변수 재사용 및 암호화 알고리즘의 부적절한 구현과 같은 예측 가능한 암호변수를 포함하였다.
최신 랜섬웨어는 암호 연산(cryptographic operation)에 대한 지식의 증가를 입증한다. 암호변수는 랜덤이고, 고유하게 생성되고, 안전하게 분산되고, 안전하게 저장 및 구현된다. 몇몇 감염에서는 이전 운영 취약성으로 인한 손쉬운 승리가 여전히 존재할 수 있지만, 자신의 몸값 지불을 강제하도록 금전적으로 인센티브를 받는 랜섬웨어 공격자는 대부분 또는 모든 운영상의 취약성을 수정하였다.
랜섬웨어의 동작 범위와 관련하여, 피해자가 이용할 수 없게 된 데이터 및 디바이스가 많을수록, 랜섬웨어 공격자에게 있어 공격의 금전적 가치는 커진다. 또한, 디바이스에서 디바이스로 랜섬웨어 멀웨어가 자동으로 확산되면, 원래 타겟과 관련이 없는 연결된 피해자가 추가로 발생할 수 있다. 이의 예는 비즈니스 네트워크를 순회하는 고객 또는 계약자, 또는 공격자의 원래 타겟에 연결된 공급망 회사일 수 있다.
이는 또한 피해자가 연결된 네트워크 리소스를 포함하는, 멀웨어의 능력 증가로 이어졌다. 이는 피해자가 연결된 파일 서버와 같은 아이템도 때로는 자동으로 암호화될 수 있음을 의미한다.
랜섬웨어 공격자는 일반적으로 데이터 파괴를 위해 예약된 전술을 랜섬웨어 공격과 조합하기 시작하였다. 이는 피해자의 비용, 및 후속하는 몸값을 최대화하는 것 둘 모두와 관련이 있다. 이는 2개의 방식, 즉 백업 제거, 및 가치가 높은 데이터 타겟팅으로 수행된다. 이제 공격자들은 피해자 백업의 자동 발견 및 수동 발견을 활용하여, 암호화 또는 삭제를 통해 피해자가 백업을 이용할 수 없게 한다. 이는 또한 그들이 기타 공격 활동(예컨대, 관리자 방어가 백업을 보호하지 못하도록 하는 권한 상승)의 도입을 통해 액세스하게 하는 것을 포함할 수 있다.
추가적으로, 랜섬웨어를 즉시 실행하는 것과는 대조적으로 피해자의 네트워크 내부에서 작업하는 동안, 공격자들은 또한 자신들이 반드시 비즈니스 또는 개인에게 가장 가치가 높은 데이터에 먼저 액세스하게 한다. 클라이언트에 대한 최대 비용은 네트워크에서 적절한 기계 및 허가에 대한 조작 없이, 공격자가 반드시 즉시 이용 가능한 것은 아닌 서버에서 발견된 지적 재산 및 운영 데이터에 관한 것이다.
랜섬웨어는 다중 파일 액세스 및 순회 알고리즘을 사용하여, 가장 가치 있는 사용자 및 기업 데이터가 반드시 암호화되게 한다. 랜섬웨어에 대한 파일 액세스 알고리즘은 이진 탐색 트리 알고리즘과 같은 트리 순회 알고리즘과, 검출 및 중지되지 않고 대부분의 데이터를 암호화할 개연성이 보다 높은 방식으로 이러한 트리 순회 알고리즘을 실행하는 것의 조합으로 구성된다.
데이터에 대한 랜섬웨어 프로그램 탐색, 및 후속하는 데이터 암호화는 통상적으로 자동화되어야 한다. 이는 예를 들어, 사람이 수동으로 관리하기에는 매우 빠른 속도로 공격자가 다수의 기계 및 다수의 피해자에 걸친 암호화 공격을 실행할 수 있어야 하기 때문이다. 그러므로, 공격자는 피해자가 많은 양의 귀중한 데이터를 가질 개연성에 기반하여 알고리즘을 사전-설정해야 한다. 이러한 알고리즘은 예측 가능하고 개수가 한정되어 있다.
가장 많은 데이터 및 가장 가치 있는 데이터를 암호화하는 것은, 암호화 동작의 순서가 네트워크에서 가치 있는 데이터를 가질 가능성이 가장 높은 위치로 편향된다는 것을 의미한다. 예를 들어, 랜섬웨어 프로그램은 사용자와 폴더를 공유하는 네트워크 서버를 암호화하도록 구성될 수 있는데, 그 이유는 서버가 개인이 데스크톱 상에 갖고 있을 파일보다 비즈니스에 더 중요한 파일을 가질 가능성이 높지만, 모든 비즈니스 워크스테이션에 걸쳐 저장된 모든 파일도 포함할 것이기 때문이다.
검출되지 않고 암호화된 후 피해자에 의해 중지된다는 것은, 피해자에게 가치 있는 파일을 먼저 암호화하면서, 사용자 또는 관리자가 최대한 오랫동안 알아차리지 못할, 암호화 파일에 우선순위를 두는 것 등의 조치를 수행하는 것을 의미한다. 예를 들어, 데스크톱에서 사용자의 파일을 암호화하는 것은 서버에 비해 파일이 적을 것이 거의 확실하므로, 이는 피해자에게 잠재적인 가치가 적고, 암호화 동작을 사용자가 즉시 알아차릴 수 있다는 것을 의미한다. 다른 예는 서버 또는 데스크톱의 적절한 동작에 필요한 파일을 암호화하는 것일 것이다. 운영 체제 파일이 암호화됨으로써 사용자의 데스크톱이 고장나는 경우, 랜섬웨어는 고장난 시스템으로 인해 계속 동작할 수 없을 뿐만 아니라, 피해자가 이를 즉시 알아차리고, 즉시 조치를 취하여 추가 암호화를 중지하려 할 것이다.
이와 같이, 랜섬웨어 공격을 검출하고 완화할 수 있는 능력을 사용자에게 제공하는 것이 바람직하다. 따라서, 본원에 개시된 시스템 및 방법은 이러한 요구 및 다른 요구를 해결한다.
간략하게, 본 발명에 따르면, 랜섬웨어 공격에 대해 타겟 시스템의 컴퓨팅 디바이스를 보호하기 위한 시스템 및 방법은 파일을 관리하기 위해 컴퓨팅 디바이스의 운영 체제에 의해 사용되는 데이터 구조를 갖는 파일 시스템을 이용한다. 컴퓨팅 디바이스 내의 소프트웨어 또는 하드웨어 설치된 에이전트는 타겟 시스템을 대신하여 자율적으로 하나 이상의 조치를 수행한다. 에이전트는 파일링 시스템의 데이터 구조에 하나 이상의 트랩 파일을 자동으로 생성한다. 트랩 파일은 랜섬웨어 공격 개연성을 나타내는 파일 액세스이다. 에이전트는 하나 이상의 트랩 파일에 대한 액세스를 모니터링한다. 트랩 파일에 대한 액세스를 검출할 시, 타겟 시스템에 의해 랜섬웨어 공격 개연성에 대한 교정 조치가 수행된다.
본 발명의 다른 특징에 따르면, 파일 시스템의 데이터 구조는 트리 구조이고 트랩 파일의 파일 경로는 트리 구조의 최상위 지점에 지정된다. 트랩 파일에 대한 파일 경로는 이진 탐색 트리 알고리즘 또는 트리 순회 알고리즘과 같은 탐색 트리 알고리즘을 사용하여 지정될 수 있다. 트리 순회 알고리즘은 깊이-우선 순회, 너비-우선 순회, 몬테 카를로 트리 탐색 또는 랜덤 샘플링 알고리즘 중 하나일 수 있다. 깊이-우선 순회 알고리즘은 프리-오더(Pre-Order), 인-오더(In-Order), 리버스 인-오더(Reverse In-Order) 또는 포스트-오더(Post-order) 알고리즘 중 하나일 수 있다.
본 발명의 다른 세부사항에 따르면, 교정 조치는 타겟 시스템의 사용자에게 통지하거나, 액세스된 트랩 파일을 자동으로 업로드하는 것을 포함한다. 교정 조치는 또한 식별된 프로세스가 격리, 킬(kill) 또는 일시 중단되도록 하나 이상의 트랩 파일에 액세스하는 프로세스를 식별하는 것을 포함할 수 있다.
본 발명의 전술한 특징은 첨부 도면과 관련하여 취해진 하기 발명을 실시하기 위한 구체적인 내용으로부터 명백할 것이다.
도 1은 본 개시내용의 시스템을 예시하는 도면이다.
도 2는 본 개시내용의 소프트웨어 에이전트 및 하드웨어 에이전트의 가능한 동작을 예시하는 도면이다.
도 3은 본 개시내용의 하드웨어 에이전트의 구성요소를 예시하는 도면이다.
도 4는 사용자 디바이스에 대한 본 개시내용의 하드웨어 에이전트의 예시적인 연결 옵션을 예시하는 도면이다.
도 5는 본 개시내용의 아티팩트 데이터베이스(artifacts database)에 데이터를 송신하는 다수의 사용자 디바이스의 예를 예시하는 도면이다.
도 6은 본 개시내용의 에이전트에 의해 수행되는 예시적인 분석을 예시하는 도면이다.
도 7은 랜섬웨어 공격을 검출하고 복호화기 솔루션을 생성/배포하기 위한 단계를 예시하는 도면이다.
도 8은 본 개시내용의 에이전트에 대한 사용자 라이센스를 획득하기 위한 단계를 예시하는 도면이다.
본 발명은 도 1 내지 도 8과 관련하여 아래에서 상세히 설명되는 바와 같이, 랜섬웨어 검출 및 보호를 위한 시스템 및 방법에 관한 것이다.
랜섬웨어 거동 검출 전략의 일부는 시스템에 배치된 모니터링된 아티팩트의 사용이다. 하나의 그러한 아티팩트는 프로세싱 노드 또는 기계, 클라이언트, 서버 또는 독립형 워크스테이션을 포함하는 컴퓨팅 디바이스의 운영 체제에 의해 사용되는 파일링 시스템 내에 배치된 트랩 파일이다. 트랩 파일에 대한 액세스는 랜섬웨어 공격의 개연성을 나타낸다. 이러한 아티팩트는 포지션, 콘텐츠 및 품질별로 배치되어 랜섬웨어 활동 및 랜섬웨어 활동의 거동 둘 모두를 검출할 개연성을 크게 높이고 사용자가 아티팩트와 마주칠 개연성을 크게 낮추는 것을 가능하게 한다.
일 구현예에서, 본 발명은 트랩 파일에 대한 액세스에 기반하여 랜섬웨어 공격의 시작을 자동으로 발견하고 공격자의 암호화를 물리치기 위한 시스템 및 방법에 관한 것이다. 다른 구현예에서, 본 발명은 하드웨어 및 소프트웨어 솔루션 둘 모두를 제공하는데, 그 이유는 공격받은 컴퓨팅 디바이스가 복호화할 파일을 제출할 수 없도록 하거나, 사용자가 감염된 시스템과 수동으로 상호작용하는 것을 금지하는 능력을 공격자가 얻을 수 있기 때문이다.
다른 구현예에서, 본 발명은 공격이 발생하기 직전 및 공격 중에 암호분석 기법을 사용하여 사용자의 컴퓨팅 디바이스로부터 수집된 타겟 데이터의 조합을 사용하고, 수집된 데이터에 대한 머신 러닝 기법을 사용하는 암호 분석과 조합하고, 랜섬웨어 공격의 타겟에 랜섬웨어 공격을 자동으로 발견하고 그로부터 복구될 수 있는 능력을 제공한다. 본 발명의 시스템은 기계에 설치된 에이전트, 및 암호학적으로-정렬된 분석을 수행하는 원격 서버를 사용한다. 에이전트는 소프트웨어-기반 또는 하드웨어-기반 모니터링 능력을 가질 수 있다. 일 구현예에서, 에이전트는 랜섬웨어 공격의 타겟 대신 자율적으로 다양한 조치를 수행하는 소프트웨어 컴퓨터 프로그램 또는 하드웨어이다.
도 1은 일반적으로 10으로 표시된, 본 개시내용의 시스템을 예시하는 도면이다. 시스템(10)은 사용자 디바이스(12), 네트워크(20), 아티팩트 데이터베이스(22), 암호-분석 발견 서버(26), 및 복호화기 구축 서버(28)를 포함한다. 사용자 디바이스(12)는 개인용 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 휴대폰, 스마트폰, 패블릿, 임베디드 디바이스, 웨어러블 디바이스, "FPGA(field-programmable gate array)", 주문형 집적 회로("ASIC") 등과 같은 임의의 전자 디바이스일 수 있다. 사용자 디바이스(12)는 소프트웨어 에이전트(14) 및/또는 하드웨어 에이전트(16)를 포함할 수 있다. 사용자 디바이스(12)는 에이전트 웹 애플리케이션 또는 에이전트 API에 추가로 연결될 수 있고, 이는 아래에서 더 상세히 논의될 것이다.
아티팩트 데이터베이스(22)는 사용자 디바이스(12)로부터 아티팩트를 수신할 수 있다. 일 구현예에서, 아티팩트는 사용자 디바이스(12)에 존재하는 랜섬웨어에 의해 생성된 데이터 및/또는 원격 측정을 포함한다. 암호-분석 발견 서버(26)는 랜섬웨어 거동에 초점을 맞춘 분석으로 아티팩트 데이터베이스(22)에 질의하는 하나 이상의 서버를 포함할 수 있고, 암호학적으로-정렬된 분석을 수행하는 분석 엔진(24)을 실행할 수 있다. 복호화기 구축 서버(28)는 랜섬웨어 소프트웨어를 퇴치하기 위한 복호화기 솔루션을 생성할 수 있다. 이들은 아래에서 더 상세히 논의될 것이다. 아티팩트 데이터베이스(22), 암호-분석 발견 서버(26), 및 복호화기 구축 서버(28)가 단일 하드웨어 유닛 또는 다중 하드웨어 유닛으로 구현될 수 있음이 주목된다.
사용자 디바이스(12), 아티팩트 데이터베이스(22), 암호-분석 발견 서버(26) 및 암호 복호화기 구축 서버(28)는 각각이 서로 데이터를 송수신할 수 있도록 네트워크(20)에 연결될 수 있다. 네트워크(20)는 레거시 무선 접속망("RAN"), "LTE-RAN"(Long Term Evolution radio access network), 무선 근거리 통신망("WLAN"), 예컨대 WiFi 네트워크, 이더넷 연결, 또는 통신을 지원하는 데 사용되는 임의의 다른 유형의 네트워크를 포함하지만 이에 제한되지 않는 임의의 유형의 유선 또는 무선 네트워크일 수 있다. 예를 들어, 사용자 디바이스(12)는 무선 네트워크 연결(예를 들어, 블루투스, WiFi, LTE-RAN 등)을 통해 아티팩트 데이터베이스(22)에 연결될 수 있다. 암호-분석 발견 서버(26)는 분석 엔진(24)을 실행하는 데 사용되는 임의의 유형의 서버/데이터베이스/하드웨어 구성요소일 수 있다. 대안적으로, 분석 엔진(24)은 클라우드 상에 있을 수 있다.
소프트웨어(예를 들어, 소프트웨어 에이전트(14)) 또는 하드웨어(예를 들어, 하드웨어 에이전트(16))로 구현되는 에이전트는 데스크톱/랩톱이든, 서버이든, IoT/임베디드 디바이스든, 모바일 디바이스든, 컴퓨팅 디바이스 등이든 사용자 디바이스(12) 상에서의 활동에 초점을 맞춘 데이터를 수집한다. 본 발명의 일 구현예에서, 사용자 디바이스는 하드 드라이브 또는 디렉토리에 구현된 파일링 시스템을 사용하는 운영 체제를 실행하는 컴퓨팅 디바이스이다. 디렉토리는 파일 이름 리스트, 및 파일 경로를 포함하는, 파일과 관련된 다른 정보를 포함한다. 에이전트는 소프트웨어 애플리케이션 또는 하드웨어-기반 모니터링 능력으로 존재할 수 있다.
도 2는 소프트웨어 에이전트(14) 및 하드웨어 에이전트(16)의 동작을 도시하는 도면이다. 구체적으로, 소프트웨어 에이전트(14) 및 하드웨어 에이전트(16)는 에이전트를 실행하고/동작시키는 것(32), 데이터베이스/서버(예를 들어, 아티팩트 데이터베이스(22), 암호-분석 발견 서버(26), 복호화기 구축 서버(28) 및 클라우드)에 액세스하는 것(34), 및 업로드/다운로드를 위한 파일에 액세스하는 것(36)을 포함하는 동작을 수행할 수 있다.
도 3은 사용자 디바이스(12)의 내부 또는 외부에 설치 및/또는 부착될 수 있는 하드웨어 에이전트(16)의 구성요소를 도시하는 도면이다. 구체적으로, 도 3은 유선 또는 무선 네트워크 능력 구성요소(42), 시스템 메모리 액세스 능력 구성요소(44), 및 업로드/업그레이드 구성요소(46)를 도시한다.
도 4는 사용자 디바이스(12)(도시되지 않음)에 대한 하드웨어 에이전트(16)의 예시적인 연결 옵션을 도시하는 도면이다. 구체적으로, 하드웨어 구성요소(16)(폼 팩터(52)를 가짐)는 내부 주변기기(54)(예를 들어, PCI-E 카드), 외부 주변기기(예를 들어, 파이어와이어)(56), 또는 집적 회로(58)(예를 들어, 기존 메인보드에 내장된 집적 회로)를 통해 사용자 디바이스(12)에 연결될 수 있다. 통상의 기술자는 다른 연결 옵션이 사용될 수 있음을 이해할 것이다.
사용자 디바이스(12)에 설치된 에이전트는 랜섬웨어 공격을 검출하기 위한 파일 액세스 활동을 모니터링하고 분석을 수행하여, 가능성이 높은 데이터만을 제출하는 것에 비하여 랜섬웨어 활동에 관련될 미지의 가능성을 갖는 데이터를 제출하는 것에 크게 편향되어, 데이터를 아티팩트 데이터베이스(22)에 제출할지 여부를 결정한다. 그 근거는 모니터링되는 디바이스에서 랜섬웨어 공격이 발생하면, 공격 발견 및 복호화 알고리즘 발견 둘 모두에 필요한 아티팩트가 이미 수집되어 있어 사용 가능하기 때문이다.
일 구현예에서, 에이전트는 원격 아티팩트 데이터베이스(22)에 제출하기 위해 실시간으로 잠재적 암호변수의 포렌식 증거에 대해 사용자 디바이스(12) 메모리 및 파일을 모니터링한다. 이는 암호화 키, 복호화 키, 초기화 벡터, 또는 사용자 디바이스(12)의 암호 연산과 연관된 다른 데이터 부분일 수 있는 암호변수를 포함한다. 에이전트는 운영 체제 암호 API 호출의 사용을 위해 사용자 디바이스(12) 운영 체제를 추가로 모니터링한다. 구체적으로, 에이전트는 암호화-연관 기능 및 방법을 모니터링하고 이를 사용하여 생성된 정보는 아티팩트 데이터베이스(22)로 송신된다. 에이전트는 또한 트랩 파일에 대한 액세스를 포함하는 파일 액세스 이벤트를 모니터링하여, 분석, 예컨대 다수의 파일을 작성하거나, 파일 이름을 변경하기 위해 프로그램이 반복적으로 액세스하는 것을 포함한다. 프로그램이 읽기 및 쓰기를 위해 파일에 액세스하는 순서는 중요하고, 데이터가 아티팩트 데이터베이스(22)로 전송되는 동안에도 보존된다.
도 5는 암호-분석 발견 서버(26)와 통신하는 아티팩트 데이터베이스(22)로 데이터를 송신하는 다수의 사용자 디바이스(예를 들어, 데스크톱, 모바일 디바이스, 서버 및 IoT 디바이스)의 예를 도시하는 도면이다. 랜섬웨어 공격자가 자신의 공격을 방해하는 방어 제품을 공격할 수 있고, 공격자는 사용자 디바이스에 대한 액세스 권한을 얻어 시스템 자체가 동작할 수 없게 할 것이다. 이는 소프트웨어 솔루션에 의해 랜섬웨어 암호화 및 랜섬웨어 암호화 파일의 자동 검출, 제출 및 복호화가 적절하게 이네이블될 수 없음을 의미한다.
또한, 하드웨어로부터 엄격하게 수행될 수 없는 잠재적 포렌식 아티팩트의 몇몇 분석 및 모니터링이 있다. 이로 인해, 시스템(10)은 하드웨어-전용 버전(하드웨어 에이전트(16)만 사용) 및 하이브리드 하드웨어-소프트웨어 버전(소프트웨어 에이전트(14) 및 하드웨어 에이전트(16) 둘 모두를 사용)일 수 있다. 하드웨어 에이전트(16)는, 1) 운영 체제와는 독립적으로 동작하고 운영 체제 파일의 암호화 여부와 상관없이 기능할 수 있고; 2) 시스템 메모리 및 CPU 동작에 대한 가시성을 가질 수 있고; 3) 온-보드 프로그램 가능 칩, 내부 주변기기(예컨대, PCI-E 카드), 또는 외부 주변기기로 존재할 수 있고; 4) 유선 또는 무선 네트워크 통신을 수행할 수 있고; 5) 아티팩트 데이터베이스(22)에 아티팩트를 제출할 수 있고; 6) 분석을 위해 분석 엔진(24)에 잠재적으로 암호화된 파일을 제출할 수 있고; 7) 복호화 솔루션을 수신하고 실행할 수 있고; 8) 소프트웨어 에이전트(14)를 수신 및 실행/로드할 수 있다.
에이전트(소프트웨어 에이전트(14), 하드웨어 에이전트(16), 또는 둘 모두를 통해)는 잠재적으로 유용한 정보를 원격 아티팩트 데이터베이스(22)에 지속적으로 제출한다. 암호-분석 발견 서버(26)는 기계에서 나타날 랜섬웨어 소프트웨어 거동에 초점을 맞춘 분석으로 아티팩트 데이터베이스(22)에 계속 질의한다.
도 6은 에이전트에 의해 수행되는 예시적인 분석을 도시하는 다이어그램이다. 구체적으로, 분석은 메모리 동작 분석(62), 파일 동작 분석(64) 및 암호 API 동작 분석(66)을 포함할 수 있다. 메모리 동작 분석(62)은 메모리에 대한 사전-프로세싱 로드/언로드 동작 및 메모리에 대한 엔트로피 분석을 포함한다. 파일 동작 분석(64)은 트랩 파일에 적용된 것을 포함하여 파일 액세스 거동, 파일 열기 및 닫기 거동, 및 파일 이름 변경 거동을 포함한다. 암호 API 동작 분석(66)은 운영 체제 키 생성 거동, 운영 체제 키 사용 거동, 및 운영 체제 암호화 기능 거동을 포함한다. 이들은 본 개시내용 전체에 걸쳐 더 상세히 논의될 것이다.
의심되는 랜섬웨어 공격 발견 동안, 시스템(10)은 발견 프로세스를 수행할 수 있다. 예를 들어, 발견 프로세스는 시스템(10)이 예를 들어 다음을 결정하는 것을 포함할 수 있다: 1) 프로그램이 디렉토리 내의 몇몇 파일에 ".encrypted" 확장자를 연속적으로 빠르게 추가하는 것; 2) 프로그램이 메모리에서 관찰되는 짧은 기간 안에 많은 수의 암호변수를 생성하는 것; 및/또는 3) 프로그램이 짧은 시간 안에 많은 수의 파일 읽기 및 쓰기로, 암호 기법에 초점을 맞춘 운영 체제 기능에 짧은 기간 안에 여러 번 액세스하는 것.
추가적으로, 시스템(10)은, 1) 정당한 동작에 대해 예상되는 파일 이름 변경에 통계적 개연성을 적용하고/하거나; 2) 아티팩트 데이터베이스(22)에서 관찰된 파일 시스템 변화에 관한 엔트로피 계산을 수행하고/하거나; 3) 암호 자료를 생성하거나 암호 연산을 사용하여 관찰된 프로그램에 관해 통계적 개연성을 적용하기 위해 머신 러닝 분석을 적용할 수 있다.
잠재적 랜섬웨어 공격을 식별하는 머신 러닝 또는 다른 분석의 성공적인 적용 시, 시스템(10)은 교정 조치를 수행할 수 있다. 제1 예에서, 교정 조치는 에이전트에 의해 생성된 트랩 파일을 포함하여 선택된 사전-배치된 파일 또는 클라이언트 암호화 파일을 에이전트 웹 애플리케이션 또는 에이전트 API를 통해 암호화된 파일 서버에 수동으로 제출하도록 사용자에게 통지하는 것을 포함할 수 있다. 제2 예에서, 교정 조치는 트랩 파일과 같은 선택된 사전-배치된 파일 또는 트랩 파일을 포함하는 클라이언트 암호화 파일을 암호화된 파일 서버에 에이전트가 자동으로 업로드하는 것, 및 에이전트 웹 애플리케이션 또는 에이전트 API에 업로드를 등록하는 것을 포함할 수 있다.
제출 수신 시, 시스템(10)은, 분석 엔진(24)을 통해, 올바르게 복호화된 파일을 가능한 효율적으로 식별하는 것을 목표로, 성공 가능성을 증가시키는 방식으로 암호변수, 암호 연산 및 파일 구성의 조합을 수행할 수 있다. 다양한 분석 서버는 병렬 분산 프로세싱 모델에서 동작하여, 의심되는 암호 활동의 아티팩트와 조합된 암호화된 파일로부터의 입력에 대한 암호 분석을 수행할 수 있고, 출력은 구현할 올바른 암호학적 변수를 결정하기 위해 검사된다.
예를 들어, 랜섬웨어 변형은 AES 암호화 알고리즘의 "AES CTR" 효율적인 파일 암호화 변형을 사용하여 시스템 상의 모든 파일을 암호화하기 위해 AES 256 바이트 암호화 키를 랜덤으로 생성할 수 있고, PKCS7 패딩을 구현한다. 이들 및 다양한 다른 암호변수를 활용하여, 아티팩트 데이터베이스(22)는, 메모리로부터 관찰되거나 시스템 상의 가능한 암호 활동에 사용된 모든 가능한 키 또는 부분적인 키 자료를 포함한다. 가장 최근에 생성된 키부터 시작하여, 분석 엔진(24)은 AES CTR 카운터 값 암호변수에서 특정 제출된 파일의 포지션을 검사하고, 수집된 가능한 암호화 키와 함께 적용될 가능성이 가장 큰 카운터 암호변수를 결정한다. 이러한 변수를 사용하여 복호화를 시도하는 동안, 머신 러닝 알고리즘이 가장 높은 성공 개연성을 갖는 것으로 결정한 변수부터 시작하여, 시스템(10)은 복호화된 파일의 출력을 검사함으로써 암호변수의 성공적인 조합을 찾을 수 있다.
암호변수의 성공적인 조합의 발견은 에이전트 웹 애플리케이션 및/또는 에이전트 API에 등록된다. 다른 복호화-중심 암호-분석 서버는 이에 대한 통지를 받고, 트랩 파일일 수 있는 이 특정 파일을 검사하는 것을 중지한다. 추가로, 시스템(10)은 사용자를 위한 복호화기 솔루션을 생성하면서, 복호화기 구축 서버(28)에 태스킹(task)할 수 있다. 시스템(10)이, 암호화된 트랩 파일을 포함하여 클라이언트-제출 암호화된 파일의 성공적인 복호화를 초래하는 암호변수의 조합을 발견하고 복호화기 솔루션을 생성하면, 시스템(10)은 사용자 디바이스(12)에서 실행될 복호화기 솔루션을 자동으로 배포할 수 있다.
복호화기 솔루션은 소프트웨어 에이전트(14) 또는 하드웨어 에이전트(16)를 통해 동적으로 로드된 소프트웨어 모듈로서, 개별적인 독립형 소프트웨어로서 실행될 수 있다. 복호화기 구축 서버(28)는 파일이 복호화되고 원래 이름으로 다시 변경되어야 하는 순서와 같은 변수 외에, 삽입된 올바른 암호학적 변수로 커스텀 메이드(custom made)될 수 있는 복호화기 솔루션을 구축하기 위한 태스크를 청취할 수 있다.
복호화기 구축 서버(28)가 복호화기 솔루션을 생성하면, 이는 파일 서버에 업로드하고, 에이전트 웹 애플리케이션 및/또는 에이전트 API에 복호화기 솔루션을 등록한다. 그로부터, 에이전트 웹 애플리케이션/에이전트 API를 통한 사용자 구성에 따라, 사용자는 에이전트 웹 애플리케이션/에이전트 API에 지정된 기계로 다운로드하기 위해, 이들이 이용 가능한 복호화 능력(예를 들어, 복호화기 솔루션)이 있음을 통지받을 수 있다. 이어서, 사용자는 복호화기 솔루션을 다운로드할 수 있다. 사용자가 이용 가능한 복호화 솔루션이 있고, 사용자 디바이스(12)에 자동으로 배포되었고, 현재 복호화 중이라는 것을 통지받으면, 복호화기 솔루션의 상태는 사용자에 의한 원격 모니터링을 위해 에이전트 웹 애플리케이션/에이전트 API를 통해 이용 가능하다.
도 7은 일반적으로 70으로 표시된, 랜섬웨어 공격을 검출하고, 복호화기 솔루션을 생성/배포하기 위한, 위에서 논의된 단계를 도시하는 도면이다. 단계(72)에서, 시스템(10)은 복호화기 솔루션을 생성하기 위해 복호화기 구축 서버(28)에 태스킹한다. 단계(74)에서, 시스템(10)은 복호화기 솔루션을 파일 서버에 저장/업로드한다. 단계(76)에서, 시스템(10)은 에이전트 웹 애플리케이션 및/또는 에이전트 API에 복호화기 솔루션을 등록한다. 단계(78)에서, 시스템(10)은 복호화기 솔루션을 사용자 디바이스(12)에 배포한다. 단계(80)에서, 시스템(10)은 복호화기 솔루션의 배포를 사용자에게 통지한다.
도 8은 일반적으로 90으로 표시된, 에이전트에 대한 사용자 라이센스를 획득하기 위한 단계를 도시하는 도면이다. 단계(92)에서, 사용자는 에이전트를 사용하기 위한 라이센스(들)를 구매한다. 단계(94)에서, 사용자는 에이전트에게 할당하기 위해 이용 가능한 라이센스 리스트를 수신한다. 단계(96)에서, 사용자는 하나 이상의 에이전트에 하나 이상의 라이센스를 할당하고, 라이센스 구성을 선택한다. 단계(98)에서, 사용자는 에이전트를 사용자 디바이스(들)에 다운로드한다. 본원에서 사용된 바와 같이, 에이전트는 사용자 또는 조직을 대신하여 지속적으로 그리고 자율적으로 다양한 조치를 수행하는 소프트웨어 프로그램 또는 하드웨어이다. 예를 들어, 에이전트는 노드 또는 기계에서 운영 체제에 의해 사용되는 파일링 시스템 내의 위치에 다양한 트랩 파일을 배치할 수 있다. 파일 시스템은 파일을 관리하기 위해 컴퓨팅 디바이스의 운영 체제에 의해 사용되는 데이터 구조를 갖는다. 에이전트는 랜섬웨어 공격의 경우 교정 조치를 수행하기 전에 트랩 파일에 대한 액세스를 모니터링한다. 트랩 파일은 랜섬웨어 공격 개연성을 나타내는 파일 액세스이다.
도 9는 도 1에 도시된 암호-분석 발견 서버(26) 및 복호화기 구축 서버(28)를 포함하는 서버와 함께 SaaS(Software-as-a-Service) 플랫폼을 구현하는 시스템의 블록도를 도시한다. 시스템은 랜섬웨어 활동을 검출함으로써 랜섬 멀웨어로부터 보호하기 위해 본 애플리케이션의 양수인인 Cyber Crucible Inc.에서 개발 및 구현한 랜섬웨어 리와인드(Ransomware Rewind)라고 불리는 소프트웨어 시스템을 실행한다. 랜섬웨어 리와인드 소프트웨어는 일단 설치되면 서버, 클라이언트, 사용자 디바이스 또는 워크스테이션을 포함하는 시스템의 임의의 노드에서 에이전트로서 실행될 수 있다. 랜섬웨어 리와인드 에이전트가 실행되면 노드의 파일 시스템 내에 트랩 파일을 생성한다. 파일 시스템은 운영 체제가 디스크 또는 파티션 상의 파일을 계속 추적하는 데 사용하는 방법 및 데이터 구조이고; 즉, 디스크에서 파일이 구성되는 방식이다. 트랩 파일은 잠재적 랜섬웨어 공격을 검출하기 위해 생성된다. 트랩 파일에 대한 액세스는 랜섬웨어 공격을 나타낸다. 랜섬웨어 리와인드 에이전트는 트랩 파일 액세스에 대한 액세스를 모니터링하고 본 발명에 따라 암호학적으로-정렬된 분석에 기반하여 랜섬웨어 공격에 대한 교정 조치를 수행한다.
SaaS의 일 구현예에서, 랜섬웨어 리와인드 소프트웨어 시스템은 아마존 웹 서비스(Amazon Web Services)를 사용하여 구현되고, 여기서 통신은 아마존 메시징 서비스(SNS/SQS) 또는 HTTPS REST API를 통해 발생한다. SaaS는 또한 가입에 기반하여 가입자 1, 2, 3에 대한 라이센싱 및 에이전트 전달 서비스를 구현하고 중앙에서 호스팅되거나 분산된다.
통상적으로, 본 발명이 구현되는 네트워크는 하나 이상의 링크를 통한 정보의 교환을 이네이블하는 하나 이상의 프로세서 노드, 기계, 서버 또는 서버 및/또는 노드의 클러스터를 포함하는 복수의 사설 또는 공용으로 연결된 노드를 포함한다. 예시적인 네트워크는 WAN, LAN, PAN, 인터넷(120), 뿐만 아니라 블루투스 또는 엑스트라넷과 같은 애드혹 네트워크 중 임의의 하나 이상을 포함한다. 노드는 하나 이상의 프로세서 유닛(소프트웨어 또는 하드웨어, 또는 가상 노드), 및/또는 정보를 프로세싱하고/하거나 암호 분석과 같은 귀속된 기능(attributed function)을 수행하는 네트워크의 어느 곳에든 위치된 디바이스를 포함한다. 임의의 노드 또는 노드를 갖는 임의의 구성 요소는 위에서 설명한 분석 엔진 또는 에이전트를 구현하기 위해 하드웨어 또는 소프트웨어로 가상화될 수 있다. 상이한 유형의 노드는 정보를 수신하는 수신기 노드, 정보를 프로세싱하는 프로세서 노드, 및 프로세싱된 정보를 송신하는 송신기 노드를 포함할 수 있다. 노드의 예는 서버 노드, 클라이언트 노드, 컴퓨터 노드, 프로세서 노드, 통신 노드, 워크 스테이션, PDA, 모바일 디바이스, 센서 등을 포함한다.
예를 들어, 메모리 분석은 암호 연산을 검출하고 키를 추출하기 위해 시스템의 노드 또는 기계 상에서의 프로세스에 의해 수행되고, 여기서 랜섬웨어 리와인드 소프트웨어는 디바이스 활동을 모니터링하기 위해 사용자 및 커널 공간 라이브러리를 둘 모두를 사용한다. 사용자 디바이스는 개별적으로 또는 그룹 또는 서브-그룹으로 동작하는 디바이스일 수 있다. 시스템의 노드는 클라이언트 서버 모델뿐만 아니라 위계 또는 분산 모델을 포함하지만 이에 제한되지 않는 임의의 적합한 네트워크 모델에 따라 서로 연결될 수 있다. 링크는 2개의 노드가 서로 정보를 전달할 수 있는 임의의 매체를 포함한다. 예시적인 링크는 유선, 광섬유, 케이블 또는 무선 링크(예를 들어, 블루투스, UWB, USB 등)를 포함하지만 이에 제한되지 않는다. 통신 채널은 노드, 노드 또는 디바이스에서 실행되는 애플리케이션 또는 에이전트로부터 획득된 데이터를 포함할 수 있는 콘텐츠 전달을 위한 링크와 함께 사용되는 임의의 채널을 포함한다.
도 10은 그룹 또는 서브-그룹의 서비스 가입자에 대해 본 발명을 구현하는 도 1의 시스템의 동작 계층의 예시적인 블록도를 도시한다. 이 구현예에 따르면, 시스템은 백-엔드 시스템(530) 및 프론트-엔드 시스템(560)을 포함한다. 프론트-엔드 시스템(560)은 가입된 서비스 사용자 및 참가자에게 사용자 인터페이스를 제공한다. 백-엔드 시스템(530)은 시스템 관리, 과금 등에 사용된다. 프론트-엔드 시스템(560)은 도 1에 도시된 아티팩트 데이터베이스(22)와 같은 백-엔드 데이터베이스(542A 및 540A)에 액세스하는 애플리케이션 센터(562)에 대한 사용자 액세스를 가능하게 한다. 프론트-엔드 시스템(560)은 사용자 디바이스(550 및 552)를 통해 사용자 및 사용자 그룹 세션에 대한 상호작용 액세스를 매니저에게 제공한다. 사용자는 인터넷(120)을 통해, 또는 유선 네트워크(524) 및/또는 무선 네트워크(526)를 통해, 프론트-엔드 및 백-엔드 시스템(560 및 530)과 인터페이스한다. 예시적인 구현예에서, 사용자 디바이스는 다수의 액세스 제어 레벨 하에서 다수의 관리 권한 레벨의 영향을 받을 수 있는 정의된 액세스 권한에 따라 백-엔드 시스템(530) 또는 프론트-엔드(560)에 액세스하기 위해, 비제한적인 예로, 브라우저 또는 임의의 다른 적합한 애플리케이션 또는 애플릿으로 네트워크 액세스 애플리케이션을 실행한다. 사용자(510, 552 또는 550)는 시스템에 진입하기 전에 로그인 세션 및 다수의 인증 레벨을 거칠 필요가 있을 수 있다.
도 10에 도시된 예시적인 구현예에서, 백-엔드 시스템(530)은 하나 이상의 로드 밸런서(534A, 534B)에 결합된 방화벽(532)을 포함한다. 로드 밸런서(534A 내지 B)는 결과적으로 하나 이상의 웹 서버(536A 내지 B)에 결합된다. 웹 서버(536A 내지 B)는 하나 이상의 애플리케이션 서버(538A 내지 C)에 결합되고, 이들 각각은 하나 이상의 데이터베이스(540, 542)를 포함하고/하거나 그에 액세스하고, 이는 암호 자료 및 아티팩트를 저장하는 중앙 또는 분산 데이터베이스일 수 있다.
로드 밸런서(534A 내지 B)와 결합된 웹 서버(536A 내지 B)는 가입자, 참가자, 사용자, 매니저 또는 관리자 요청을 애플리케이션 서버(538A 내지 C) 중 하나 이상으로 전송함으로써 최적의 온라인 세션 성능을 제공하기 위한 로드 밸런싱 기능을 수행한다. 애플리케이션 서버(538A 내지 C)는 하나 이상의 데이터베이스(540, 542)에 대한 액세스를 관리하는 데이터베이스 관리 시스템(DBMS)(546) 및/또는 파일 서버(548)를 포함할 수 있다. 도 10에 도시된 예시적인 구현예에서, 전자 인터페이스, 애플리케이션 자료, 참가자 프로파일 등을 포함하는 애플리케이션 서버(538A 및/또는 538B)는 애플리케이션을 참가자(506, 510, 552)에게 제공한다.
중앙 또는 분산 데이터베이스(540, 542)는 특히 사용자 디바이스에 전달할 수 있는 아티팩트 데이터 및 애플리케이션 자료를 저장한다. 데이터베이스(540, 542)는 또한 다양한 유형의 참가자, 관리자, 매니저, 사용자 그룹, 사용자 프로파일, 과금 정보, 스케줄, 통계 데이터, 진행 데이터, 사용자 속성, 참가자 속성과 관련되거나 이와 연관된 검색 가능 정보를 저장한다. 임의의 또는 모든 전술한 데이터, 예를 들어 조건, 태스크, 스케줄 등과 관련된 데이터는 본 발명의 시스템 운영과 연관된 원하는 목적을 달성하기 위해 필요에 따라 프로세싱 및 연관될 수 있다.
하나 이상의 운영 체제의 제어 하에 있는 하나 이상의 노드에서 실행되는 랜섬웨어 리와인드는 다수의 방법을 사용하여 디렉토리 및 드라이브에서 트랩 파일에 대한 경로를 결정한다. 랜섬웨어 리와인드는 이진 탐색 트리 및 트리 순회와 같은 탐색 트리 알고리즘을 사용하여 트랩 파일의 파일 경로를 제 위치에 지정한다. 트리 순회는 트리 데이터 구조에서 각 노드를 방문하는 프로세스이다. 이러한 순회는 공격을 위해 노드에 액세스하는 순서에 의해 분류된다. 디렉토리 및 드라이브는 선택되고 정상적인 운영 체제 동작 중에 사용자 및 프로그램에 의한 사용을 위해 노드에 로컬일 수 있다. 노드가 다수의 사용자를 갖는 경우, 트랩 파일 위치는 관리, 매니지먼트 및 시스템 사용자를 포함하는, 시스템 상의 가능한 모든 사용자를 포함한다. 파일 시스템이 운영 체제 내부에서 다수의 트리 위계로서 조직된다는 점을 고려하면, 식별된 위치는 파일 시스템에서 가장 높은 레벨의 트리 지점에 있다.
각 트리에 대해 가장 높은 레벨의 트리 지점이 선택된 후, "트랩 파일"에 대한 파일 경로가 결정된다. 트랩 파일은 파일 경로에 기반하여 저장되고, 이는 트랩 파일의 랜섬웨어 공격자를 트랩하기 위해 결정된다. 일 구현예에서, 트랩 파일 경로를 결정하기 위한 알고리즘은 깊이-우선 순회(프리-오더, 인-오더, 리버스 인-오더, 및 포스트-오더), 너비-우선 순회 둘 모두를 포함하는 트리 순회 알고리즘, 몬테 카를로 트리 탐색, 및 랜덤 샘플링 알고리즘을 사용한다. 알고리즘은 분류 방법과 조합되고, 자동화된 파일 및 디렉토리 탐색 알고리즘은 그러한 트리 순회 거동 내에서 트랩 파일에 대한 액세스 순서를 결정한다. 예를 들어 파일 크기, 파일 이름, 파일 유형, 파일 생성 날짜 또는 마지막 편집 날짜가 모두 사용될 수 있다.
예를 들어, 시스템에 걸쳐 트랩 파일로의 경로는 액세스 알고리즘의 트리 순회 및 분류/순서를 사용하여 결정된다. 트랩 파일 이름 및 속성 테이블은 분류 알고리즘, 탐색/순회 알고리즘, 파일 유형 또는 파일 속성 우선순위 알고리즘 중 어느 것이든 사용될 개연성을 최대화하기 위해 생성되고, 랜섬웨어 리와인드-설치된-트랩 파일이 랜섬웨어 공격에 포함될 뿐만 아니라, 공격을 위해 액세스될 제1 트랩 파일들 중 첫번째 또는 하나일 개연성이 매우 높다.
트랩 파일들의 이름 설정, 이들의 경로, 이들의 콘텐츠 및 이들의 속성은 의사-랜덤 알고리즘을 사용하여 조정된다. 이 의사-랜덤 알고리즘은 트랩 파일과 연관된 모든 변수가 공격자에 의해 자동으로 검출 및 무시될 수 없지만, 그를 생성한 소프트웨어 설치에 관계없이 모든 랜섬웨어 리와인드 소프트웨어에 의해 식별될 수 있도록 설계된다.
트랩 파일 아티팩트는 사용자가 볼 수 없도록 숨겨져 있고, 대부분은 사용자가 개의치 않고 프로그램을 정상적으로 사용하는 동안에는 액세스하지 않는 위치에 있다. 관리자는 권한 있는 계정 액세스를 사용하는 동안 시스템 및 서버 유지 관리 활동 중에 트랩 파일 아티팩트를 관찰할 수 있다. 모든 트랩 파일 아티팩트는 랜섬웨어 리와인드 데이터베이스에서 분류되어 있고, 랜섬웨어 리와인드 관리 포털을 통한 식별을 위해 이용 가능하다.
새로운 가능한 디바이스 또는 디렉토리가 생성되거나 랜섬웨어 리와인드가 설치된 시스템에서 이용 가능해질 때, 랜섬웨어 리와인드 소프트웨어는 보호 모니터링이 가동 중인 것을 보장하기 위해 필요에 따라 해당 드라이브 또는 디렉토리에 대한 추가 트랩 파일 아티팩트를 자동으로 생성한다. 랜섬웨어 리와인드 소프트웨어는 로컬 또는 원격 여부에 관계없이, 그리고 구동 장치 표시 글자 또는 장착 지점이 이용 가능한 리소스와 연관되는지의 여부와 관계없이 설치 및 동작 중에 시스템에서 이용 가능한 파일 리소스를 모니터링한다.
네트워크 리소스는 대개 중앙집중식 비즈니스 위치에 저장된 데이터의 양으로 인해 공격자와 피해자 둘 모두에게 보다 가치가 있지만, 다수의 직원 또는 프로그램에 의해 비즈니스에 사용되는 각 데이터 부분도 보다 중요할 가능성이 매우 높다. 네트워크 리소스의 모니터링은 랜섬웨어 리와인드가 설치되어 있는 모든 클라이언트 및 서버에 의해 수행된다. 이는 액세스가 네트워크 리소스 자체를 감염시키는 공격자에 의해서든, 또는 네트워크 서버에 액세스하는 연결된 클라이언트를 통한 것이든 무관하게, 네트워크 리소스의 액세스가 모니터링되는 것을 보장할 것이다. 또한 임의의 개별 클라이언트가 리소스에 있거나 리소스에 연결되어 있다고 가정될 수 없으므로, 공유 리소스에 액세스하는 모든 소프트웨어 설치가 모두 동시에 모니터링된다.
주어진 시간에 공유 리소스를 모니터링하는 모든 가능한 클라이언트와 함께, 보안 매니저는 공유 리소스 트랩 파일 아티팩트 상호작용 시에 온라인으로 연결된 모든 랜섬웨어 리와인드 소프트웨어 설치로부터 경고를 수신할 것이다. 이로 인해 보안 매니저는 수천 개 이상의 사건에 관한 경고를 받을 가능성이 있다. 공격자 조치 또는 다른 이유로 인해 공유 리소스에 대한 랜섬웨어 리와인드 모니터링이 이네이블되지 않는 경우, 또는 트랩 파일에 액세스 중인 클라이언트에 랜섬웨어 리와인드 소프트웨어가 설치되어 있지 않은 경우, 다수의 클라이언트가 감염되고 공유 리소스 상의 트랩 파일 아티팩트에 액세스하려는 시나리오에도 불구하고, 알고리즘은 보안 매니저에게 최소한의 수의 경고가 전송되는 것을 보장하는 데 사용된다.
바람직하게는, 공유 네트워크 리소스에 대한 경고 보고 알고리즘은 최신 랜섬웨어가 파일을 암호화하는 속도로 인해 밀리초에 이르는 낮은 지연 속도를 갖는다. 이는 예를 들어 트랩 파일을 설치한 클라이언트와 같은 현재 오프라인인 클라이언트가 미래의 어느 시점에 공유 리소스에 다시 연결되거나 다른 모니터링 클라이언트에 의해 통지를 받기 위해 대기하는 지연이 있을 수 없음을 의미한다. 경고 보고 알고리즘은 임의의 주어진 순간에 몇 퍼센트의 모니터링 클라이언트가 현재 로컬 및 공유 트랩 파일 아티팩트를 모니터링하고 있는지에 관계없이 기능한다.
또한, 경고 보고 알고리즘은 공유 리소스 트랩 파일에 능동적으로 관여하는 랜섬웨어 리와인드 소프트웨어가 설치되어 있는 클라이언트에게만 경고를 보내, 보안 매니저가 어느 노드가 감염되었는지 알고 감염된 노드에 대해서만 자동으로 또는 수동으로 대응하는 것을 이네이블하도록 기능해야한다.
경고 보고 알고리즘은 또한 공유 리소스 트랩 파일에 액세스하는 클라이언트에 설치 또는 이네이블되어 있는 랜섬웨어 리와인드 소프트웨어가 없는 경우, 액세스하는 클라이언트를 식별하는 경고가 경고에 포함되도록 기능해야 한다.
공유 리소스 트랩 파일의 모니터링이 랜섬웨어 리와인드 소프트웨어를 사용하여 모든 클라이언트에 의해 유지되지만, 트랩 파일 경고에 직접 액세스 중이고 자동 또는 수동 교정 옵션을 제공하는 노드만 경고를 보내는 중이도록 보장하기 위해, 알고리즘은 운영 체제 API, 예를 들어 윈도우즈 파일 액세스 드라이버(Windows File Access Driver) API, 공유 리소스 또는 원격 트랩 파일과의 상호작용을 나타내는 활동을 사용한다.
랜섬웨어 리와인드 소프트웨어를 이네이블하지 않은 클라이언트가 현재 액세스 중인 공유 리소스 트랩 파일 아티팩트를 모니터링하는 것을 보장하기 위해, 또는 트랩 파일 아티팩트가 공유 리소스 서버 자체로부터 로컬로 설치되는 경우, 랜섬웨어 리와인드 소프트웨어는 공유 리소스 서버에 설치되고, 경고는 원격으로 공유 트랩 파일에 액세스 중인 클라이언트로부터 생성된 경고 외에 서버에서 로컬로 액세스된 트랩 파일에 대해 생성된다. 생성된 경고에 기반하여, 보안 매니저는 랜섬웨어 리와인드 소프트웨어가 설치되어 있지 않은 클라이언트가 파일 서버에 액세스 중인지 관찰할 능력을 갖는다. 트랩 파일 액세스의 원래 소스를 자세히 설명하는 이 정보는 서버에서 트랩 파일 액세스 동작의 운영 체제 API 호출 모니터링을 사용하여 수집된다.
트랩 파일 아티팩트 액세스 시 공유 리소스 클라이언트의 몇 퍼센트가 온라인인지에 관계없이 경고가 생성된다. 클라이언트 및 서버와 함께 모든 랜섬웨어 리와인드 설치 모두가 피해자에게 경고를 보내거나, 모두 반응하지 않도록 보장하는 알고리즘이 사용된다. 대신, 운영 체제가 공격을 검출한 노드 또는 워크스테이션만 경고를 전송한다. 잠재적 트랩 파일 활동에 관해 최대 2개의 경고가 있을 수 있다: 2개의 기계만 관련된 경우, 랜섬웨어 리와인드가 설치된 공유 리소스 디바이스, 및 현재 공유 네트워크 리소스 상의 트랩 파일에 액세스 중인 클라이언트.
공유 리소스 기계의 경우, 트랩 파일은 해당 기계에 로컬이다. 서버 상의 랜섬웨어 리와인드 소프트웨어는 트랩 파일 액세스, 및 어느 원격 클라이언트가 현재 파일 트랩에 액세스 중인지를 보고한다. 이는 원격 클라이언트가 현재 랜섬웨어 리와인드 소프트웨어를 설치하지 않았거나 실행시키고 있지 않은 경우에 해당한다.
클라이언트의 경우, 모든 클라이언트는 윈도우즈 파일 액세스 드라이버 API를 통해 어느 트랩 파일이 액세스되고 있는지를 모니터링한다. 액세스를 관찰할 수 있는 모든 가능한 클라이언트 대신, 트랩 파일에 직접 액세스하는 클라이언트(들)만 잠재적 랜섬웨어 활동에 관한 경고를 발행한다.
서버 모니터링과 클라이언트 모니터링 둘 모두를 조합함으로써, 직접 암호화 또는 암호화된 제휴 클라이언트 및 서버에 대한 경고만 표시되지만, 적어도 하나의 기계에 랜섬웨어 리와인드가 설치된 경우 적어도 하나의 경고가 표시된다.
일 구현예에서, 스테가노그래피(steganography)는 의사-랜덤으로 생성된 트랩 파일 내부에 사용된다. 트랩 파일 콘텐츠는 랜섬웨어 리와인드 소프트웨어에서 볼 수 있는 트랩 파일 간에 동일할 수 없고, 시스템 상의 상이한 랜섬웨어 리와인드 설치 간에 동일할 수 없다. 이는 사이버 공격 중에 트랩 파일이 탈취된 것으로 발견된 경우 고유성을 제공하는 것, 공격자가 트랩 파일을 특히 자동으로 인식하고 트랩 파일의 상호작용(예컨대 암호화)과 관련하여 회피하거나 상이하게 거동하는 것을 방지하기 위한 것이다.
트랩 파일 콘텐츠는 또한 트랩 파일 콘텐츠 사이에서 전후로 전달될 필요 없이 랜섬웨어 리와인드 서버에 의해 알려질 필요가 있다. 이는 알려진 일반 텍스트 트랩 파일이, 고객의 조치 또는 공격자의 도용으로 인해 트랩 파일이 발견된 경우에도 부당 변경을 추적하는 것, 및 트랩 파일이 암호화된 경우 랜섬웨어 리와인드 서버 복호화 능력에 의한 성공적인 복호화를 입증하는 것 둘 모두에 필요하기 때문이다.
랜섬웨어 리와인드 서버 및 모든 소프트웨어가 고유한 트랩 파일 콘텐츠를 추적하도록 보장하기 위해, 각각에 대해 공유된 협상 시드를 사용할 수 있는 알고리즘에 기반하여, 공격자 조치 이전에 트랩 파일을 송신할 필요 없이 랜섬웨어 리와인드 서버 상에서 재구성될 파일 콘텐츠를 이네이블하는 의사-랜덤 트랩 파일 콘텐츠 생성 알고리즘이 사용된다. 이 자동 생성은 실제 텍스트 및 이미지 콘텐츠를 갖는 PDF와 같은, 적절한 콘텐츠를 갖는 정당한 파일을 생성하고, 이는 해당 애플리케이션에서 볼 경우 적절한 도구(예컨대 Adobe PDF Reader)를 통해 적절하게 렌더링될 것이다.
추가로 트랩 파일에는 노드 또는 클라이언트 또는 기계, 파일 위치, 및 랜섬웨어 리와인드 소프트웨어 설치 고유 식별자에 관한 세부사항이 추가되어, 데이터 도용의 경우 개별 트랩 파일을 그의 소스까지 역추적한다. 또한 세부사항은 이후의 포렌식 분석에 유용한 환경 정보를 캡처한다. 이는 이용 가능한 최신 스테가노그래피 기법의 선택을 사용하여 암호화되고 트랩 파일로 인코딩된다. 특정 기법 및 암호화 키는 트랩 파일과 랜섬웨어 리와인드 데이터베이스 간에 공유된다.
본 발명은 정당한 트랩 파일 액세스와 랜섬웨어를 구별한다. 정당한 파일 액세스가 발생하는 것은 항상 가능하다. 비-랜섬웨어 상호작용을 자동으로 제외하는 단계, 및 사용자가 경고 중에 수집된 정보에 기반하여 자동화 예외 또는 공격 확인을 생성하는 것을 가능하게 하는 단계 둘 모두가 취해진다. 파일 트랩과의 상호작용에 관한 관찰의 조합은 무시, 경고 또는 자동 대응에 대한 신뢰도 점수를 제공하는 데 사용된다. 개별적인 관찰은 공격에 대한 낮은 신뢰도를 제공한다. 자동 대응에 대한 관찰은 다음을 포함한다:
Figure pct00001
숨겨져 있거나, 액세스를 위한 관리 권한을 요구하거나, 정상적인 비즈니스 운영과 연관되지 않은 위치에 있는 파일의 읽기, 쓰기 또는 복사 액세스;
Figure pct00002
트랩 파일의 콘텐츠를 변경하는 것;
Figure pct00003
알려진 콘텐츠가 콘텐츠 엔트로피에서 극적으로 증가하는 트랩 파일의 콘텐츠를 경고하는 것. 높은 엔트로피는 랜섬웨어에 사용되는 것과 같은 견고한 암호화를 나타낸다. 엔트로피를 낮추는 것은 공격자에 의해 사용되는 랜섬웨어 추적 식별자로 암호화된 콘텐츠를 프리펜딩(prepend)하기 위한 파일 콘텐츠의 변화를 나타낼 수 있고, 이는 때때로 랜섬웨어 프로토콜에서 관찰된다.
Figure pct00004
크기, 액세스 날짜, 생성 날짜, 허가, 소유 사용자 또는 파일 이름을 포함하는 파일 속성의 경고
Figure pct00005
적절하게 서명되고 운영 체제에서 검증된 실행파일(executable), 시스템 권한과 같은 매우 높은 허가를 갖는 프로그램, 랜섬웨어 리와인드가 운영 체제의 보호된 부분에 액세스하는 것을 관찰한 프로그램, 또는 랜섬웨어 리와인드가 공격자에 의해 잠재적으로 공격을 받고 하이재킹(프로세스 할로잉(hollowing), 프로세스 인젝션(injection))되는 것을 관찰한 프로그램과 같은 액세싱 프로그램 특성
Figure pct00006
동시에 많은 파일에 액세스하려는 프로그램
랜섬웨어 리와인드 소프트웨어는 항상 또는 시각과 같은 설정 파라미터별로 사전-결정된 방식으로 자동으로 반응하거나, 사용자에게 원하는 대응을 통지하고 프롬프트하도록 구성할 수 있다. 또한, 이는 통지 동안, 기계가 경고하는 기계 정보를 포함하여, 특정 아티팩트와 상호작용하고 있는 프로그램에 대한 프로세스 경로에 관한 세부사항, 속성, 허가 및 관련 분석 세부사항을 사용자에게 제공한다. 랜섬웨어 리와인드 소프트웨어는 사용자 상호작용 없이 자동화된 다수의 반응, 또는 사용자가 가능한 랜섬웨어 활동을 확인한 후 수동으로 다수의 대응을 제공하도록 구성 가능하다.
사용자 에이전트에 의해 생성된 잠재적 보안 사건에 대응하기 위해, 사용자는 몸값 공격의 개연성에 대한 교정 조치를 포함하는 특정 조치를 취하도록 에이전트를 태스킹할 수 있다. 태스크는 어느 프로세스에 조치를 수행할지를 알기 위한 PID 및/또는 실행 가능 경로를 포함한다. 태스크는 특정 시간 프레임에, 또는 에이전트 환경 이벤트에 대한 대응으로 자동으로 발생하도록 스케줄링될 수 있다. 이러한 태스크 조치는 시스템이 잠재적 랜섬웨어 공격으로 플래깅된 특정 프로세스를 어떻게 처리하거나 교정할지 결정하는 방식이다. 잠재적 랜섬웨어 공격을 교정하기 위해, 에이전트는 프로세스 식별자(PID) 또는 실행 가능 경로를 통해 주어진 프로세스를 무시, 격리, 킬(안전 및 안전하지 않음) 또는 일시 중단(안전 및 안전하지 않음)하도록 태스킹될 수 있다.
격리될 프로세스에 대한 메시지가 서비스로부터 수신되면, 그의 ID는 드라이버만 볼 수 있는 내부 테이블에 추가되고 해당 프로세스에 대한 핸들(handle)이 획득된다. 파일시스템 리소스 핸들을 획득하는 동안 격리된 프로세스가 체크되면, 드라이버는 격리된 프로세스에 대한 그의 핸들을 사용하여, 격리될 프로세스 ID가 차단되어야 하는 동일한 프로세스인지 체크한다. 격리된 프로세스가 제거되면, 격리된 프로세스의 리스트로부터 그의 예전 프로세스 ID가 해제되고, 그에 따라 새로운 프로세스는 격리에 대한 예전 요청에 영향을 받지 않을 것이다.
보안 매니저는 공유 리소스 상의 모든 가능한 파일의 자동 백업 등을 통해 랜섬웨어 리와인드 소프트웨어-설치된-트랩 파일 아티팩트에 대한 정당한 액세스를 관찰할 수 있다. 보안 매니저는 소정 프로그램이 소정 기계 상의 트랩 파일 아티팩트에 액세스할 때 경고를 수신하는 것을 원하지 않을 수 있거나, 보안 매니저는 경고를 수신하기를 원하지만 자동 대응을 취하지 않을 수 있다. 경고는 보안 매니저에게 현재 사건과 연관된 프로그램의 파일 경로 및 시스템 위치를 알린다. 보안 매니저는 일회성 또는 영구 태스크를 기록하여 미래 경고에 대한 경고를 무시하거나 프로그램을 일회성 또는 영구 화이트리스트 엔트리로 지칭함으로써 자동화된 교정으로부터 제외할 수 있다. 보안 매니저 사용자는 클라이언트 조직에서 미래 감사를 위해 기록된다.
랜섬웨어 리와인드 클라이언트 보안 매니저에 의해 수행되는 것과 같은 화이트리스트에 부분적으로 대응하여, 공격자는 또한 신뢰할 수 있는 애플리케이션이 공격자를 대신하여 태스크를 수행하게 하기 위해, 정당한 비즈니스 애플리케이션을 공격한다. 다수의 공격이 알려져 있고 공격자 및 방어자에게 확립되어 있으며, 이는 공격자가 원하는 기존 실행 중인 애플리케이션에 추가 능력을 추가한다. 예를 들어, 이 무료 프로그램은 추가 능력을 추가하고 기존 실행 중인 프로그램을 제어하는 4가지 유형의 소스 코드를 포함하고, 공격자가 다운로드 및 커스터마이즈할 수 있다: https://github.com/3xpl01tc0d3r/ProcessInjection.
공격자에 의해 하이재킹된 정당한 프로그램의 경우 랜섬웨어 리와인드 검출 및 대응 경고는 사건에서 알려진 프로그램을 보고한다. 랜섬웨어 리와인드는 이와 같은 프로그램 공격을 모니터링하고, 프로그램이 트랩 파일 아티팩트에 액세스하기 전에 이러한 유형의 공격을 경험한 경우 경고 중에 보안 매니저에게 이를 보고한다.
보안 매니저가 프로그램을 화이트리스트에 등록하는 경우, 경고는 여전히 랜섬웨어 리와인드 사건 데이터베이스에 기록되고, 프로그램을 신뢰할 수 있더라도, 보안 매니저가 차후에 관찰할 수 있도록 이용 가능하다. 이 경우, 보안 매니저는 자신의 비즈니스 지식을 사용하여, 랜섬웨어 리와인드에 의해서도 수행된 자신의 평가를, 이 애플리케이션이 사건 당시에 파일 트랩 아티팩트에 액세스해야 했는지 여부에 관해 알려야 한다.
태스크는 임의의 통합 애플리케이션, 웹 애플리케이션 또는 모바일 애플리케이션으로부터 생성될 수 있고, 에이전트는 새로운 태스크에 대해 주기적으로, 예를 들어 1분에 1회 REST API로 구성 가능하게 "체크인"할 것이다. 에이전트는 프로세스 정보 및 취해야 할 조치를 포함하는 임의의 계류 중인 태스크에 관한 정보를 수신할 것이다. 태스크 완료 후, 에이전트는 REST API를 호출하여, 특정 태스크의 완료를 표시하고, 의심스러운 프로세스에 관해 얻은 임의의 새로운 정보를 보고할 것이다. 태스크는 에이전트에게 수동으로 제출되거나 자동으로 스케줄링될 수 있다. 스케줄링된 태스크 대응에는 시간 및 반복 간격이 주어질 수 있다. 주어진 사용자 또는 그룹에 대해 스케줄링된 간격 동안, 의심스러운 것으로 결정된, 화이트리스트에 없는 임의의 적용 가능한 프로세스는 스케줄에 기반하여 자동으로 처리된다. 이는 근무 시간 이후, 휴일 동안, 또는 누군가가 즉시 자신의 관리 패널에 체크인하고 프로세스에 대한 조치를 취하기로 정할 수 없을 때마다, 자동 조치가 취해지는 것을 가능하게 한다. 태스크는 보안 사건에 대한 대응으로서 웹 앱 또는 모바일 앱으로부터 REST API로 전송된다. 태스크는 특정 사례에서 무엇을 할지 에이전트 소프트웨어에 알리는 역할을 한다. 태스크는 현재 다음 조치를 행할 수 있고, 다음의 것들이 더 이어진다: 격리, 안전 중단(동결), 안전 킬, 안전하지 않은 일시 중단(동결) 또는 안전하지 않은 킬. 에이전트는 빈번하게, 예를 들어 1분마다 태스킹하기 위해 API로 체크인할 것이다.
사용자는 선택된 그룹과 연관된 에이전트에게 자신의 디바이스(들)에 대한 잠재적 위협이 발생할 때 대응하는 방식을 자동으로 알리기 위해 스케줄을 생성할 수 있다. 스케줄을 생성할 때, 사용자는 임의의 유연한 스케줄링 배열 시 시작 및 종료 시간에 대한 시작 및 종료 날짜를 선택한다. 반복 옵션은 이 자동화를 매일, 매주, 매월 반복하거나, 절대 반복하지 않도록 설정하는 능력을 사용자에게 제공한다. 사용자는 이 자동화된 스케줄을 연관시키기 위해 자신이 구성원으로 속해 있는 그룹 중 하나로부터 그룹을 선택한다. 사용자는 격리, 안전한 일시 중단, 안전한 킬, 안전하지 않은 일시 중단 및 안전하지 않은 킬 프로세스 옵션을 포함하는, 스케줄과 연관될 태스크를 선택할 수 있다. 사용자는 현재 사용자가 구성원으로 속해 있는 임의의 그룹과 연관된 모든 기존 스케줄을 포함하는 그리드를 볼 수 있다. 그리드는 스케줄에 관한 유용한 정보를 사용자에게 보여준다. 일 구현예에서, 사용자는 주어진 스케줄이 어떤 그룹의 일부인지 알아내기 위해 시스템에 액세스할 수 있다. 다른 구현예에서, 사용자는 선택된 반복 패턴, 스케줄을 시작 및 종료할 날짜, 및 스케줄 자동화를 위해 선택된 태스크에 액세스할 수 있다. 사용자는 자동화된 스케줄을 삭제하거나 스케줄을 편집하는 옵션도 갖는다. 에이전트는 의심스러운 프로세스에 대응하는 방식을 자동으로 정하기 위해, 이러한 스케줄을 사용할 것이다.
또 다른 구현예에서, 역할 기반 보안은 SaaS 플랫폼에 걸쳐 적용된다. 도 11은 관리자, 매니저 및 참가자라고 불리는 사용자에게 할당된 역할의 위계를 도시하고, 여기서 관리 사용자 및 매니저 사용자는 읽기 또는 쓰기 권한을 갖고, 참가 사용자는 읽기 권한만 갖는다. 사용자는 자신의 그룹 내에서 다른 사용자를 관리하기 위해 하나 이상의 그룹에서 역할을 할당받을 수 있다. 그룹의 구성원인, 충분한 권한을 갖는 사용자는 역할의 이름을 지정하여 그룹의 역할을 식별할 수 있다. 충분한 권한이 있는 사용자는 해당 역할을 선택하거나, 권한에 액세스할 수 있다. 예를 들어, 사용자에게는 "그룹 매니저" 역할이 할당될 수 있으며, 이는 사용자가 그룹에서 사용자를 추가 및 제거하고, 해당 그룹 내의 사용자에게 역할을 할당하는 것을 가능하게 한다. 일 구현예에서, 시스템은 "그룹 매니저" 체크박스를 선택하는 옵션을 제공하고, 이는 그룹 매니저 역할 하의 나열된 모든 허가 및 권한을 식별한다.
그룹 또는 서브-그룹 내에서 사용자에게 할당된 다른 역할은 "대응 자동화 매니저" 또는 "사건 매니저"일 수 있다. 대응 자동화 매니저 역할은 역할에 할당된 사용자가 자동화된 스케줄을 생성하거나, 스케줄을 편집하거나, 스케줄을 삭제하는 것을 가능하게 한다. 사건 매니저 역할은 사용자가 사건을 관리하고자 하는 방식(예컨대 사건을 무시하거나 킬하는 것)을 결정하는 것을 가능하게 한다. 태스킹 및 자동 대응 및 교정 기능을 수행할 권한은 그룹 매니저에 의해 승인된다.
그룹 매니저는 그룹을 선택하고 커스텀 역할을 생성할 수 있다. 그룹 매니저에 의해 허가된 경우, 그룹에 대한 액세스 권한이 있는 사용자에 의해 이러한 커스텀 역할이 생성될 수 있다. 이러한 사용자는 또한 각각의 역할, 및 자신이 구성원으로 속해 있는 그룹과의 연관을 볼 수 있는 능력을 갖는다. 이러한 역할은 권한이 있는 사용자가 역할을 편집하거나 삭제할 수 있는 그리드 인터페이스 내부에 디스플레이된다. 또 다시, 승인 허가를 받은 사용자만 역할을 편집하거나 삭제할 수 있다.
그룹 관리를 위해, 허가를 받은 권한이 있는 사용자는 자신이 속한 그룹에 다른 사용자를 추가할 수 있다. 예를 들어, 그룹 매니저는, 이러한 그룹 매니저가 선택된 그룹 내에서 해당 그룹에 사용자를 추가할 수 있는 허가를 받은 경우, 사용자를 추가할 그룹을 선택할 수 있다. 권한이 있는 사용자는 그룹에 추가할 때 다른 사용자를 등록할 수 있고, 이러한 새로운 사용자는 선택된 그룹에 자동으로 추가될 것이다. 그룹 관리 웹 페이지는 그룹 및 그의 구성원 각각을 도시한다. 사용자는 또한 자신이 속한 동일한 그룹에 있는 다른 사용자가 어떤 멤버쉽인지 볼 수 있다. 또한, 그룹 매니저는 소정 그룹으로부터 사용자를 제거하거나 해당 그룹에 대해 만들어진 소정 역할을 사용자에게 할당하는 옵션을 갖는다. 보안 체크는 보통의 사용자가 그룹 내에서 역할을 제거하거나 할당할 수 없도록 이루어진다. 사용자는 해당 그룹과 연관된 역할 리스트에 그룹을 나열하는 맵을 갖는다. 사용자는 동일한 그룹에 대해 다수의 역할을 할당받을 수 있고, 사용자가 구성원으로 속해 있는 임의의 그룹에 걸쳐 다수의 역할을 할당받을 수 있다. 역할이 삭제되면, 이 역할을 할당받은 모든 사용자의 맵으로부터 삭제된다.
프로그램이 암호화되는 것을 중지하는 것을 포함도록 파일의 암호화를 방해하는 것은, 통상적으로 손상된 파일을 초래한다. 랜섬웨어를 포함하는 최신 프로그램이 흔히 그러하듯, 프로그램이 다수의 파일을 동시에 암호화하면, 암호화 중에 있는(mid-encryption) 모든 파일은 손상된다. 랜섬웨어 샘플은 암호화를 위해 한 번에 최대 50개의 파일을 여는 것으로 관찰되었고, 이는 암호화 중에 있는 랜섬웨어를 취소하는 것이, 그러한 예에서, 50개의 손상된 파일을 초래할 것임을 의미한다.
랜섬웨어 리와인드 소프트웨어는 자동으로 또는 사용자 개입을 통해 운영 체제 보안 토큰을 조정함으로써, 실행 중인 프로세스가 쓰기를 위해 추가 파일에 액세스할 수 있는 허가를 제거한다. 프로세스에 대한 운영 체제 보안 토큰은 운영 체제가 프로세스에 대한 조치를 가능하게 하거나 가능하게 하지 않는 수단이다. 이 격리 대응은, 운영 체제가 운영 체제 허가의 컨텍스트 내부에서 파일 액세스 동작이 작동하는 운영 체제 API 호출을 수행하기 전에 프로세스의 보안 토큰을 체크하기 때문에 거의 즉각적이다.
프로세스에 대한 랜섬웨어 리와인드 소프트웨어 일시 중단 대응은 운영 체제 메모리 및 프로세스 관리 커널 API 호출을 활용하여 프로세스를 일시 중단하고, 이는 프로세스에 대한 모든 동작 및 메모리를 동결시킨다. 이는 프로세스가 수행하는 모든 활동을 중지하지만, 랜섬웨어 리와인드 대응 당시의 프로세스의 상태를 유지한다.
랜섬웨어 리와인드 소프트웨어 일시 중지가 발생하면, 모든 프로세스 기능의 열거, 메모리 상태 캡처, 악성 활동의 거동 지표 또는 침해 지표(indicators of compromise, IOC)에 대한 프로세스 검사, 및 암호화 거동 및 암호변수를 찾기 위해 메모리에 대한 암호 거동 분석의 실행을 포함하도록, 일시 중지 프로세스에 대해 신규 및 비-신규 포렌식 메모리 및 프로세스 분석이 실행된다.
원하는 경우, 사용자는 동일한 운영 체제 일시 중단/일시 중단 해제 API 호출에 의해, 랜섬웨어 리와인드 소프트웨어를 통해 일시 중단된 프로세스의 동작을 재개할 수 있다. 이는 시스템 및 네트워크가 보호된 후에 요망될 수 있고, 사건 대응 또는 포렌식 활동 중에 추가 악성 거동 또는 분석이 요망된다. 이는 정당한 프로세스가 경고를 받는 경우에도 유용할 수 있다.
사용자는 또한 자동으로 또는 사용자 명령을 통해, 랜섬웨어 리와인드 소프트웨어를 통해 프로세스를 킬할 수 있다. 이는 운영 체제 프로세스 실행 및 종료 API 호출을 사용한다.
랜섬웨어 리와인드 소프트웨어는 격리, 일시 중단 또는 킬의 실행을 가능하게 한다. "안전 일시 중단" 및 "안전 킬" 기능은 격리, 일시 중단 또는 킬, 및 암호화 중에 있는 파일에 대한 파일 손상을 제거하는 하나의 추가 기능 부분을 조합한다. 공격자가 파일을 암호화하기 전에 통상적으로 백업을 삭제하거나 암호화하기 때문에, 그리고 백업이 통상적으로 불완전하기 때문에, 복호화를 가능하게 하도록 불필요하게 파일을 손상시키는 것이 방지되어야 한다. 랜섬웨어 리와인드 소프트웨어는, 격리 또는 격리를 활용하는 임의의 조합 명령 실행 시, 운영 체제 파일 액세스 API를 사용하여 현재 쓰이고 있는 파일을 모니터링한다. 해당 프로세스의 모든 파일이 완전히 암호화된 후, 사용자 데이터 암호화가 방지되지 않은 시나리오의 경우, 랜섬웨어 리와인드는 상태를 보안 매니저에게 보고하고, 필요에 따라 프로그램을 계속 자동으로 일시 중단하거나 킬한다. 격리를 사용하고, 진행 중인 암호화가 필요에 따라 완료될 때까지 대기하면, 임의의 암호화된 파일의 복호화가 가능하다.
랜섬웨어 리와인드 소프트웨어를 이용하여 안전하지 않은 일시 중단 또는 킬이 가능하고, 여기서 격리도, 기존 파일 암호화 활동이 발생할 때까지 대기하는 것도, 프로세스를 일시 중단하거나 킬하기 전에는 완료되지 않는다.
랜섬웨어 리와인드 소프트웨어 시스템에 의해 생성된 웹 페이지를 관리함으로써 본 발명의 구현은 다음을 포함한다:
Figure pct00007
에이전트 관리 페이지
Figure pct00008
이 페이지는 현재 사용자가 일부분으로 속해 있는 그룹 ID와 연관된 모든 에이젠트를 나열하는 그리드를 포함한다. 그리드 상의 열은 각 에이전트에 관한 정보를 도시한다. 그리드에는, 에이전트의 스캔 속도를 낮음으로부터 극한까지 바뀌도록 변화시키는 옵션이 있고, 에이전트가 커널을 참 또는 거짓으로 모니터링하도록 설정하는 옵션이 있다. 이용 가능한 경우 트랩 파일의 경로를 나타낼 에이전트 그리드의 서브 그리드가 있다. 또한 이 페이지에는, 사용자에게 에이전트를 다운로드하는 옵션을 제공하는 다운로더 버튼이 있다.
Figure pct00009
복호화기 관리 페이지
Figure pct00010
이 페이지는 현재 사용자가 일부분으로 속해 있는 각 그룹에 대해 구매된 복호화기를 사용자가 보는 것을 가능하게 한다. 각 복호화기에 대한 정보는 페이지의 그리드에 디스플레이되고, 사용자는 각 복호화기를 다운로드하는 옵션도 갖는다.
Figure pct00011
암호화된 파일 제출 및 솔루션 다운로드 페이지
Figure pct00012
암호화된 파일 제출 페이지는 암호화된 파일을 제출하고 이 파일을 복호화할 에이전트를 선택하는 기능을 사용자에게 제공한다.
Figure pct00013
사용자는 솔루션 다운로드 페이지에서 이 업로드된 파일에 대한 솔루션을 볼 수 있다. 이 페이지에는 업로드된 파일에 대한 솔루션을 나타내는 그리드가 있다. 사용자는 암호화된 파일을 다운로드하거나, 복호화된 샘플을 다운로드하거나, 업로드된 파일에 대한 솔루션을 다운로드할 수 있다.
Figure pct00014
보안 사건 페이지
Figure pct00015
이 페이지는 특정 사건의 상태를 포함하는, 현재 사용자가 구성원으로 속해 있는 임의의 그룹 Id와 연관된 임의의 보안 사건에 대한 그리드를 사용자가 보는 것을 가능하게 한다.
Figure pct00016
사용자는 그리드의 세부사항뿐만 아니라 사건에 관한 더 많은 정보를 볼 수 있다. 사용자는 또한 사건에 대한 태스크, 예컨대 사건을 묵살, 격리, 일시 중단 또는 킬하는 것을 할당하는 옵션을 갖는다. 원하는 경우, 사용자는 사건을 무시하는 옵션도 갖는다.
Figure pct00017
사건 관리에 관한 더 많은 사항은 태스킹 및 자동 대응 및 교정 섹션에서 본다.
이와 같이 시스템 및 방법을 상세하게 설명했지만, 전술한 설명은 그 사상 또는 범위를 제한하고자 하는 것은 아님이 이해되어야 한다. 본원에 설명된 본 개시내용의 구현예는 단지 예시적이며, 당업자는 본 개시내용의 사상 및 범위를 벗어나지 않고 임의의 변형 및 수정을 할 수 있다는 것이 이해될 것이다. 위에서 논의된 것을 포함하여 이러한 모든 변형 및 수정은 본 개시내용의 범위 내에 포함되도록 하고자 한다.

Claims (20)

  1. 랜섬웨어 공격에 대해 타겟 시스템의 컴퓨팅 디바이스를 보호하기 위한 방법으로서, 상기 컴퓨팅 디바이스는 파일 경로에 기반하여 파일에 액세스하기 위해 상기 컴퓨팅 디바이스의 운영 체제에 의해 사용되는 데이터 구조를 갖는 파일 시스템을 이용하고; 상기 방법은,
    a. 상기 컴퓨팅 디바이스에 에이전트를 설치하는 단계로서, 상기 에이전트는 하나 이상의 트랩 파일에 대한 하나 이상의 파일 경로를 지정하는 것을 포함하여, 상기 타겟 시스템을 대신하여 하나 이상의 조치를 자율적으로 수행하는 소프트웨어 또는 하드웨어이고, 트랩 파일은 랜섬웨어 공격 개연성을 나타내는 파일 액세스인, 단계;
    b. 상기 랜섬웨어 공격 개연성을 검출하기 위해 상기 하나 이상의 트랩 파일에 대한 액세스를 모니터링하는 단계;
    c. 트랩 파일에 대한 액세스를 검출할 시, 상기 랜섬웨어 공격 개연성에 대한 교정 조치를 수행하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 파일 시스템의 데이터 구조는 트리 구조인, 방법
  3. 제2항에 있어서, 트랩 파일에 대한 파일 경로는 상기 트리 구조의 최상위 지점에 지정되는, 방법.
  4. 제1항에 있어서, 상기 트랩 파일에 대한 하나 이상의 파일 경로는 탐색 트리 알고리즘을 사용하여 지정되는, 방법.
  5. 제4항에 있어서, 상기 탐색 트리 알고리즘은 이진 탐색 트리 알고리즘을 포함하는, 방법.
  6. 제4항에 있어서, 상기 탐색 트리 알고리즘은 트리 순회 알고리즘을 포함하는, 방법.
  7. 제6항에 있어서, 상기 트리 순회 알고리즘은 깊이-우선 순회, 너비-우선 순회, 몬테 카를로 트리 탐색 또는 랜덤 샘플링 알고리즘 중 하나인, 방법.
  8. 제7항에 있어서, 상기 깊이-우선 순회 알고리즘은 프리-오더(Pre-Order), 인-오더(In-Order), 리버스 인-오더(Reverse In-Order) 또는 포스트-오더(Post-order) 알고리즘 중 하나인, 방법.
  9. 제7항에 있어서, 이름을 포함하는 트랩 파일 속성은 트리 순회 동작 동안 트랩 파일과 가장 먼저 마주치도록 설정되는, 방법.
  10. 제1항에 있어서, 상기 교정 조치는 사용자에게 상기 타겟 시스템을 통지하는 것을 포함하는, 방법.
  11. 제1항에 있어서, 상기 교정 조치는 분석 또는 복호화를 위해 트랩 파일을 자동으로 업로드하는 것을 포함하는, 방법.
  12. 제1항에 있어서, 상기 교정 조치는 상기 하나 이상의 트랩 파일에 액세스하는 프로세스를 식별하는 것을 포함하는, 방법.
  13. 제11항에 있어서, 상기 식별된 프로세스는 격리, 킬(kill) 또는 일시 중단되는, 방법.
  14. 제1항에 있어서, 상기 교정 조치는 암호변수(cryptovariable)를 추출하기 위해 메모리 분석을 수행하는 것을 포함하는, 방법.
  15. 제1항에 있어서, 상기 랜섬웨어 공격 개연성은 상기 하나 이상의 파일 트랩에 대한 액세스율, 허가 레벨, 파일 콘텐츠 또는 속성 변화, 암호 활동, 및 소스 프로세스에 기반한 것을 포함하여 결정되는, 방법.
  16. 제1항에 있어서, 상기 시스템은 암호변수 활동에 대해 모니터링되는, 방법.
  17. 제1항에 있어서, 잠재적 암호변수는 캡처되고 저장되는, 방법.
  18. 제1항에 있어서, 프로세스는 새로운 파일이 열리는 것을 가능하게 하지 않으면서, 예컨대 진행 중인 파일 암호화가 완료되도록 하기 위해 모니터링되는, 방법.
  19. 제1항에 있어서, 스테가노그래피 자료(steganographic material)를 포함하는, 의사랜덤 파일 경로 및 트랩 파일의 콘텐츠가 알려지는, 방법.
  20. 제1항에 있어서, 공유 리소스 상의 트랩 파일에 직접 액세스하는 클라이언트만 경고를 받는, 방법.
KR1020227005440A 2019-07-23 2020-07-21 랜섬웨어 검출 및 완화를 위한 시스템 및 방법 KR20220038106A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962877748P 2019-07-23 2019-07-23
US62/877,748 2019-07-23
US16/934,997 2020-07-21
US16/934,997 US11720678B2 (en) 2019-07-23 2020-07-21 Systems and methods for ransomware detection and mitigation
PCT/US2020/042924 WO2021016270A1 (en) 2019-07-23 2020-07-21 Systems and methods for ransomware detection and mitigation

Publications (1)

Publication Number Publication Date
KR20220038106A true KR20220038106A (ko) 2022-03-25

Family

ID=74191389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227005440A KR20220038106A (ko) 2019-07-23 2020-07-21 랜섬웨어 검출 및 완화를 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US11720678B2 (ko)
EP (1) EP3999984A4 (ko)
JP (1) JP7393517B2 (ko)
KR (1) KR20220038106A (ko)
AU (1) AU2020315905A1 (ko)
CA (1) CA3148437C (ko)
WO (1) WO2021016270A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US11711310B2 (en) 2019-09-18 2023-07-25 Tweenznet Ltd. System and method for determining a network performance property in at least one network
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11716338B2 (en) * 2019-11-26 2023-08-01 Tweenznet Ltd. System and method for determining a file-access pattern and detecting ransomware attacks in at least one computer network
US20220179964A1 (en) * 2020-12-07 2022-06-09 International Business Machines Corporation Machine learning based vulnerable target identification in ransomware attack
US11588849B2 (en) 2021-01-27 2023-02-21 Bank Of America Corporation System for providing enhanced cryptography based response mechanism for malicious attacks
US11336685B1 (en) * 2021-12-22 2022-05-17 Nasuni Corporation Cloud-native global file system with rapid ransomware recovery
CN117725630A (zh) * 2024-02-08 2024-03-19 深信服科技股份有限公司 安全防护方法、设备、存储介质和计算机程序产品

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840696B2 (en) 2003-07-25 2010-11-23 Broadcom Corporation Apparatus and method for classifier identification
US7447698B2 (en) 2005-12-13 2008-11-04 International Business Machines Corporation Method for balancing binary search trees
US8775402B2 (en) * 2006-08-15 2014-07-08 Georgia State University Research Foundation, Inc. Trusted query network systems and methods
US8769685B1 (en) * 2010-02-03 2014-07-01 Symantec Corporation Systems and methods for using file paths to identify potentially malicious computer files
US8112521B2 (en) 2010-02-25 2012-02-07 General Electric Company Method and system for security maintenance in a network
EP2609537A1 (en) 2010-08-26 2013-07-03 Verisign, Inc. Method and system for automatic detection and analysis of malware
WO2013130867A1 (en) * 2012-02-29 2013-09-06 Sourcefire, Inc. Method and apparatus for retroactively detecting malicious or otherwise undesirable software
US9832213B2 (en) 2014-10-31 2017-11-28 Cyber Crucible Inc. System and method for network intrusion detection of covert channels based on off-line network traffic
CN105491001B (zh) 2015-05-14 2017-02-22 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
US20170366563A1 (en) * 2016-06-21 2017-12-21 Guardicore Ltd. Agentless ransomware detection and recovery
US10262138B2 (en) 2016-09-15 2019-04-16 Paypal, Inc. Techniques for ransomware detection and mitigation
US10609066B1 (en) * 2016-11-23 2020-03-31 EMC IP Holding Company LLC Automated detection and remediation of ransomware attacks involving a storage device of a computer network
US10169586B2 (en) 2016-12-31 2019-01-01 Fortinet, Inc. Ransomware detection and damage mitigation
US10607009B2 (en) 2017-04-05 2020-03-31 Block Ransomware, Llc System and method for blocking ransomware infections
US10528733B2 (en) 2017-08-31 2020-01-07 International Business Machines Corporation Integrity, theft protection and cyber deception using a deception-based filesystem
US20190109870A1 (en) 2017-09-14 2019-04-11 Commvault Systems, Inc. Ransomware detection and intelligent restore
US20190108340A1 (en) * 2017-09-14 2019-04-11 Commvault Systems, Inc. Ransomware detection
US20190158512A1 (en) 2017-11-20 2019-05-23 Fortinet, Inc. Lightweight anti-ransomware system
US10810304B2 (en) * 2018-04-16 2020-10-20 International Business Machines Corporation Injecting trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code
US11093625B2 (en) * 2019-05-09 2021-08-17 Vmware, Inc. Adaptive file access authorization using process access patterns
US11681804B2 (en) * 2020-03-09 2023-06-20 Commvault Systems, Inc. System and method for automatic generation of malware detection traps

Also Published As

Publication number Publication date
EP3999984A4 (en) 2023-08-02
JP7393517B2 (ja) 2023-12-06
US20210026961A1 (en) 2021-01-28
EP3999984A1 (en) 2022-05-25
CA3148437C (en) 2023-10-24
AU2020315905A1 (en) 2022-03-03
CA3148437A1 (en) 2021-01-28
JP2022542061A (ja) 2022-09-29
WO2021016270A1 (en) 2021-01-28
US11720678B2 (en) 2023-08-08

Similar Documents

Publication Publication Date Title
US11720678B2 (en) Systems and methods for ransomware detection and mitigation
US11722521B2 (en) Application firewall
US20240070297A1 (en) Secure firewall configurations
US20210334359A1 (en) Mobile device policy enforcement
JP6224173B2 (ja) マルウェアに対処するための方法及び装置
US9984248B2 (en) Behavioral-based control of access to encrypted content by a process
US10650154B2 (en) Process-level control of encrypted content
Genç et al. No random, no ransom: a key to stop cryptographic ransomware
US20210058412A1 (en) Computer investigation method and system
US11929992B2 (en) Encrypted cache protection
US20200106787A1 (en) Data management operating system (dmos) analysis server for detecting and remediating cybersecurity threats
Lee et al. Rcryptect: Real-time detection of cryptographic function in the user-space filesystem
Gupta et al. A secure and lightweight approach for critical data security in cloud
WO2022208045A1 (en) Encrypted cache protection
GB2572471A (en) Detecting lateral movement by malicious applications
Kihiu Comparative analysis of disiinctive features of Ransomware tactics in relation to other Malware

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application