KR102259158B1 - 블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템 - Google Patents

블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템 Download PDF

Info

Publication number
KR102259158B1
KR102259158B1 KR1020190121777A KR20190121777A KR102259158B1 KR 102259158 B1 KR102259158 B1 KR 102259158B1 KR 1020190121777 A KR1020190121777 A KR 1020190121777A KR 20190121777 A KR20190121777 A KR 20190121777A KR 102259158 B1 KR102259158 B1 KR 102259158B1
Authority
KR
South Korea
Prior art keywords
ransomware
logical block
block address
read request
bloom filter
Prior art date
Application number
KR1020190121777A
Other languages
English (en)
Other versions
KR20210039212A (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 KR1020190121777A priority Critical patent/KR102259158B1/ko
Priority to PCT/KR2019/018794 priority patent/WO2021066257A1/ko
Publication of KR20210039212A publication Critical patent/KR20210039212A/ko
Application granted granted Critical
Publication of KR102259158B1 publication Critical patent/KR102259158B1/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

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)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템이 개시된다. 일 실시예에 따른 랜섬웨어 탐지 시스템에 의해 수행되는 랜섬웨어 탐지 방법은, 낸드 플래시 메모리에서 발생된 읽기 요청에 대한 논리 블록 주소를 블룸 필터(Bloom-filter)에 저장하는 단계; 상기 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 상기 읽기 요청에 대한 논리 블록 주소가 저장된 블룸 필터를 대상으로 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 단계; 및 상기 블룸 필터에 상기 덮어쓰기가 발생한 것으로 판단함에 따라 랜섬웨어 탐지에 사용되는 특징값을 이용하여 랜섬웨어의 활동 여부를 탐지하는 단계를 포함할 수 있다.

Description

블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템{EFFICIENT RANSOMWARE DETECTION METHOD AND SYSTEM USING BLOOM-FILTER}
아래의 설명은 지속적으로 문제가 되고 있는 랜섬웨어를 효율적으로 탐지하기 위한 기술에 관한 것이다.
랜섬웨어란 사용자의 데스크톱에 존재하는 사진, 프로그램, 업무 자료 등의 가치 있는 파일들을 암호화하여 사용할 수 없게 만든 다음, 복호화 비용을 요구하는 악성 프로그램이다. 1989년에 처음으로 등장하고, 2005년부터 다시 등장하기 시작하였으며 최근에는 시간이 지날수록 랜섬웨어의 종류가 증가하며 공격 방식도 다양화되어 피해자와 피해금액이 계속해서 증가하는 추세이다. 개인이나 기업뿐만 아니라 공공기관이나 국가를 대상으로도 공격할 수 있으며, 사회의 큰 혼란을 야기할 수 있기 때문에 철저한 관리를 통한 랜섬웨어 예방과 신속한 탐지 및 복구 시스템이 필요하다.
이러한 문제를 해결하기 위하여 블록 계층에서 논리 블록 주소(LBA)에 대한 읽기, 쓰기 요청 정보를 수집하여, 특정 LBA를 읽은 후 동일한 LBA에 쓰는 덮어쓰기의 발생 빈도 등을 이용하여 랜섬웨어를 탐지하는 랜섬웨어 탐지 기술이 제안되었다. 이때, 덮어쓰기를 판단하기 위해 1초당 1개의 해시테이블을 사용하여 읽기 LBA를 모두 저장하고 쓰기 LBA 요청이 오면 n 개의 해시테이블을 모두 검사한다. 그리고 매초마다 덮어쓰기 발생 빈도, 쓰기 횟수의 평균 등의 6가지 특징값을 수집하고, 이진 의사 결정 트리를 기반으로 해당 초의 랜섬웨어 의심 여부를 판단한다. 의심 여부가 누적되어 특정 임계값을 넘을 경우 최종적으로 랜섬웨어가 동작중인 것이라고 판단한다. 그러나, 종래의 기술은 랜선웨어의 공격으로부터 안전하도록 보장되기는 하지만 메모리 사용량이 크고 수행시간이 길다는 단점이 있다.
블룸 필터를 이용하여 효율적으로 랜섬웨어를 탐지하는 방법 및 시스템을 제공할 수 있다.
랜섬웨어 탐지 시스템에 의해 수행되는 랜섬웨어 탐지 방법은, 낸드 플래시 메모리에서 발생된 읽기 요청에 대한 논리 블록 주소를 블룸 필터(Bloom-filter)에 저장하는 단계; 상기 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 상기 읽기 요청에 대한 논리 블록 주소가 저장된 블룸 필터를 대상으로 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 단계; 및 상기 블룸 필터에 상기 덮어쓰기가 발생한 것으로 판단함에 따라 랜섬웨어 탐지에 사용되는 특징값을 이용하여 랜섬웨어의 활동 여부를 탐지하는 단계를 포함할 수 있다.
상기 저장하는 단계는, 비트 배열을 가지고 있는 복수 개의 블룸 필터를 생성하는 단계를 포함하고, 상기 복수 개의 블룸 필터는, 상기 읽기 요청에 대한 논리 블록 주소와 관련된 원소를 추가하기 위하여 상기 복수 개의 블룸 필터 각각에서 동일한 k개의 해시 함수를 사용하여 k개의 해시값을 계산하고, 계산된 각 해시값에 대응하는 비트를 모두 1로 설정하고, 상기 쓰기 요청에 대한 논리 블록 주소와 관련된 원소를 검사하기 위하여 k개의 해시 함수를 사용하여 k개의 해시값을 계산하고, 계산된 각 해시값에 대응하는 비트가 모두 1인지 상기 복수 개의 블룸 필터의 각각에서 검사될 수 있다.
상기 랜섬웨어 탐지 방법은, 상기 블룸 필터에 상기 읽기 요청에 대한 논리 블록 주소를 저장하고, 상기 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 수행 속도를 조절하기 위하여 상기 블룸 필터에 특정 처리를 수행하는 단계를 더 포함하고, 상기 수행하는 단계는, 복수 개의 블룸 필터 각각의 동일한 k개의 비트 위치에서 원소 검사를 수행하고, k * 블록 길이(block length) 크기의 정수형 2차원 배열에 논리 블록 주소를 k개의 해시 함수로 블록 길이만큼 계산한 해시값을 저장하는 단계를 포함할 수 있다.
상기 수행하는 단계는, 블룸 필터에 원소 추가와 원소 검사를 수행할 때, k개의 해시 함수로 비암호학적 해시 함수를 이용하여 k개의 해시 함수를 획득하도록 하는 비암호학적 해싱(Non-Cryptographic Hashing)을 수행하는 단계를 포함할 수 있다.
상기 저장하는 단계는, 상기 낸드 플래시 메모리에서 읽기 요청이 발생함에 따라 상기 읽기 요청이 발생한 시간 정보, 시작 주소, 크기 정보를 수집하고, 상기 수집된 시간 정보에 기초하여 상기 읽기 요청에 대한 논리 블록 주소(LBA)를 상기 블룸 필터에 저장하는 단계를 포함할 수 있다.
상기 저장하는 단계는, 기 설정된 시간 범위에 기초하여 상기 읽기 요청에 대한 논리 블록 주소를 상기 블룸 필터에 저장하고, 상기 읽기 요청이 상기 기 설정된 시간 범위를 초과할 경우, 상기 읽기 요청에 대한 논리 블록 주소를 상기 블록 필터 다음의 블록 필터에 저장하는 단계를 포함할 수 있다.
상기 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 단계는, 상기 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 상기 쓰기 요청이 발생한 시작 주소, 크기 정보를 수집하여 복수 개의 블룸 필터로부터 상기 읽기 요청에 대한 논리 블록 주소를 포함하는 블룸 필터를 검사하는 단계를 포함할 수 있다.
상기 랜섬웨어의 활동 여부를 탐지하는 단계는, 상기 읽기 요청에 대한 논리 블록 주소를 포함하는 블룸 필터가 존재할 경우, 상기 읽기 요청에 대한 논리 블록 주소를 포함하는 블룸 필터에 덮어쓰기가 발생한 것으로 판단하는 단계를 포함할 수 있다.
상기 특징값은, 미리 정의된 타임 슬라이스(times slice) 동안 발생한 덮어 쓰기(overwrite)의 횟수를 나타내는 OWIO, 상기 타임 슬라이스를 기반으로 하는 타임 윈도우(time window) 동안 발생한 쓰기 요청(write request)의 총 수 대비 덮어 쓰기(overwrite)가 발생한 블록의 비율을 나타내는 OWST, 타임 윈도우 동안 발생한 덮어 쓰기(overwrite)의 수를 나타내는 PWIO, 현재 타임 윈도우에서 연속적으로 덮어 쓰기가 발생한 블록 (continuously overwritten block)의 평균 길이(length)를 나타내는 AVGWIO, 이전 타임 윈도우에서의 평균 덮어 쓰기(overwrite)의 개수 대 현재 타임 슬라이스(time slice)에서의 덮어쓰기(overwrite)의 개수 간의 비율을 나타내는 OWSLOPE, 이전 타임 슬라이스에서의 평균 쓰기 횟수 대 현재 타임 슬라이스에서의 덮어 쓰기 횟수 의 비율을 나타내는 IO로부터 계산된 값을 포함하고, 상기 랜섬웨어의 활동 여부를 탐지하는 단계는, 상기 랜섬웨어의 탐지에 사용되는 특징값을 계산하기 위한 덮어쓰기 횟수로부터 계산된 특징값을 이진 의사 결정 트리에 기반하여 랜섬웨어의 활동 여부를 판단하는 단계를 포함할 수 있다.
랜섬웨어 탐지 시스템은, 낸드 플래시 메모리에서 발생된 읽기 요청에 대한 논리 블록 주소를 블룸 필터(Bloom-filter)에 저장하는 논리 블록 주소 저장부; 상기 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 상기 읽기 요청에 대한 논리 블록 주소가 저장된 블룸 필터에 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 덮어쓰기 검사부; 및 상기 블룸 필터에 상기 덮어쓰기가 발생한 것으로 판단함에 따라 랜섬웨어 탐지에 사용되는 특징값을 이용하여 랜섬웨어의 활동 여부를 탐지하는 랜섬웨어 탐지부를 포함할 수 있다.
본 발명은 랜섬웨어 탐지 알고리즘이 SSD 펌웨어 내부에 탑재 가능한 환경이거나 SSD에 탑재하기 힘든 환경이라면 일반 응용 프로그램으로도 제작하여 동작시킬 수 있기 때문에 사용자는 랜섬웨어를 방어하기 위해 별도의 프로그램을 설치할 필요가 없다.
본 발명은 메모리를 적게 소모하면서 수행 시간이 매우 빠르기 때문에 SSD의 성능에 영향을 거의 주지 않아서 제조사와 사용자는 탐지 알고리즘을 탑재한 SSD에 기존의 SSD와 동일한 성능을 기대할 수 있다.
본 발명은 메모리를 적게 소모하는 만큼, 기존과 동일한 크기의 메모리를 이용하면 n개보다 더 큰 p개의 블룸 필터를 사용하여 더 긴 시간을 관찰할 수 있는데, 이를 통해 기존에 탐지하기 어려웠던 랜섬웨어도 정상적으로 탐지할 수 있다.
도 1은 일 실시예에 있어서, 환형으로 사용하는 복수 개의 블룸 필터를 나타낸 예이다.
도 2는 일 실시예에 따른 랜섬웨어 탐지 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 랜섬웨어 탐지 시스템에서 랜섬웨어를 탐지하는 방법을 설명하기 위한 흐름도이다.
도 4는 랜섬웨어 탐지 시스템에서 최적화를 수행하는 방법을 설명하기 위한 흐름도이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
도 1은 일 실시예에 있어서, 환형으로 사용하는 복수 개의 블룸 필터를 나타낸 예이다.
블룸 필터는 원소가 집합에 존재하는지 여부를 판단하기 위해 1970년 Burton Howard Bloom에 의해 고안된 확률적 자료 구조이다. 블룸 필터는 원소가 집합에 존재한다고 판단하였지만 실제로는 원소가 집합에 속하지 않는 false-positive가 발생할 수 있고, 그 반대인 false-negative는 절대로 발생하지 않는다는 특징이 있다. 블룸 필터의 파라미터로는 들어오는 원소의 개수 n, 충돌이 일어날 확률 p, 블룸 필터의 비트 수 m, 사용되는 해시 함수의 개수 k로 4개가 존재한다. 원소의 개수 n과 충돌 확률 p를 정하면 남은 파라미터 m과 k의 최적 값은 수학식 1을 이용하여 계산할 수 있다.
수학식 1:
Figure 112019100634413-pat00001
블룸 필터는 m개의 비트 배열을 모두 0으로 초기화한 뒤 사용할 수 있다. 블룸 필터에 원소를 추가할 때에 추가하려는 원소의 값에 대해 k개의 해시 함수로 k개의 해시 값을 계산한 다음, 각각의 k개의 해시 값에 대응하는 비트를 모두 1로 설정하는 것으로 수행될 수 있다. 원소를 검사할 때에 k개의 원소의 값에 대해 k개의 해시 함수를 이용하여 k개의 해시 값을 계산하고, 계산된 각 k개의 해시 값에 대응하는 비트를 확인할 수 있다. 이때, k개의 해시 함수를 이용하여 계산한 k개의 해시값에 대응하는 비트가 모두 1인지 확인될 수 있다. 모든 비트가 1인 경우에만 원소가 집합에 속한다고 판단하고 하나라도 1이 아닐 경우 블룸 필터에 추가되지 않은 원소라고 판단할 수 있다. 비트를 이용하고 복수 개의 해시 함수를 사용하기 때문에 메모리를 절약하면서 충돌 가능성을 조절하여 최소화할 수 있다.
랜섬웨어 탐지 시스템은 블룸 필터를 사용하기 위한 공간을 할당받을 수 있다. 이때, 1개의 블룸 필터는 1초 동안의 읽기 요청 주소를 저장할 수 있으며, m MB의 메모리가 요구될 수 있다. 기본적으로 n(n은 자연수)개의 블룸 필터를 사용하여 n초를 관찰하여 랜섬웨어를 탐지할 수 있다. 또한, 랜섬웨어의 탐지 정확도를 향상시키기 위하여 n개보다 더 많은 p개의 블룸 필터를 사용하여 p초를 관찰하여 랜섬웨어를 탐지할 수 있다.
랜섬웨어 탐지 시스템은 낸드 플레시 메모리에서 동작할 수 있다. 이때, 낸드 플래시 메모리는 SSD(Solid State Drive)를 나타낼 수 있다. SSD에서 읽기 요청이 발생함에 따라 읽기 요청이 발생한 시간 정보, 시작 주소, 크기 정보를 수집하여 읽기 요청이 발생한 시간 정보에 기초하여 블룸 필터에 읽기 요청에 대한 논리 블록 주소를 저장할 수 있다. 랜섬웨어 탐지 시스템은 블룸 필터에 설정된 시간 범위에 기초하여 블룸 필터에 읽기 요청에 대한 논리 블록 주소를 저장할 수 있다. 랜섬웨어 탐지 시스템은 블록 필터에 논리 블록 주소를 저장하기 위한 시간 범위가 설정되어 있을 수 있다. 예를 들면, 현재 사용하는 블룸 필터(제N 블룸 필터)가 3 초 이상 4초 미만에 발생한 읽기 요청에 대한 주소를 저장하고 있고, 다음 읽기 요청이 4초 이상에서 발생한다면, 블룸 필터(제N 블룸 필터)와 관련하여 설정된 순서 정보에 기초하여 블룸 필터(제N 블룸 피터) 다음의 블룸 필터(제N+1)로 넘어가서 읽기 요청에 대한 논리 블록 주소를 저장할 수 있다.
도 1과 같이 n개의 블룸 필터를 사용한다고 가정하면, n개의 블룸 필터를 환형으로 돌며 읽기 요청에 대한 논리 블록 주소를 저장하고, n초가 지난 블룸 필터의 비트는 모두 0으로 만든 뒤, 새로 들어온 읽기 요청에 대한 논리 블록 주소를 저장할 수 있다. 다시 말해서, 일정 시간이 지난 블룸 필터의 비트가 모두 0으로 리셋된 후, 블룸 필터에서 새로 요청된 읽기 요청에 대한 논리 블록 주소를 저장할 수 있다.
랜섬웨어 탐지 시스템은 쓰기 요청이 발생함에 따라 쓰기 요청의 시작 주소, 크기 정보를 수집하여 n개의 블룸 필터에 대하여 읽기 요청에 대한 논리 블록 주소가 존재하는지 검사할 수 있다. 랜섬웨어 탐지 시스템은 어느 하나 이상의 블룸 필터에 읽기 요청에 대한 블록 주소가 존재한다면, 최근 n초 이내에 읽기 요청에 대한 논리 블록 주소에 대하여 쓰기를 수행하여 덮어쓰기가 발생한 것으로 판단할 수 있다. 랜섬웨어 탐지 시스템은 랜섬웨어 탐지에 사용되는 6가지의 특징값을 계산할 수 있도록 덮어쓰기 발생 횟수 등을 증가시킬 수 있다.
랜섬웨어 탐지 시스템은 블룸 필터에 대한 최적화를 수행할 수 있다. 블룸 필터에 주소를 저장할 때와 주소를 검사할 때 복수 개의 해시 함수가 사용될 수 있다. 이에, 수행속도를 최적화하기 위하여 n개의 블룸 필터는 모두 동일한 k개의 해시 함수를 사용하도록 하고, 이를 통하여 쓰기 요청 시 블룸 필터를 검사할 때 중복된 해시 계산을 하지 않도록 한다. 또한, 주소에 대하여 해시 연산을 할 때, SHA-256 이나 MD5 와 같은 암호학적 해시를 사용할 필요가 없기 때문에, 상대적으로 수행시간이 짧은 비-암호학적 해시 함수를 사용하였다. 마지막으로 메모리에 쓰는 속도보다 읽는 속도가 빠른 것을 이용하여, 블룸 필터에 주소를 저장할 때 k 개의 해시 값으로 얻은 위치의 비트가 0인지 확인하고 0일 때에만 비트를 1로 쓰도록 한다.
랜섬웨어 탐지 시스템은 덮어쓰기 횟수, 쓰기 횟수 등으로부터 계산된 복수 개의 특성별 특징값을 이진 의사 결정 트리의 입력 파라미터로 설정하여, 랜섬웨어의 활동 여부를 나타내는 결과값을 획득할 수 있다. 랜섬웨어 탐지 시스템은 복수 개의 특성 각각에 해당하는 특징값을 카운팅 테이블에 계삼함에 따라 각각의 특징값을 획득할 수 있다. 예를 들면, 랜섬웨어 탐지 시스템은 6개의 특징값을 획득할 수 있다. 이때, 예를 들면, 6개의 특징값은 카운팅 테이블에 기초하여 계산될 수 있다. 카운팅 테이블은 각각의 특징에 따라 특징값을 획득하기 위한 정보가 저장되어 있을 수 있다. 랜섬웨어 탐지 시스템은 6개의 특징값을 이진 의사 트리에 전달하여 해당하는 시간(예를 들면, 초)에서의 랜섬웨어의 판단 여부를 획득할 수 있다. 다시 말해서, 의진 의사 결정 트리의 출력이 랜섬웨어의 활동 여부를 나타내는 결과값에 해당할 수 있다. 랜섬웨어 탐지 시스템은 판단 여부가 0이면, 해당하는 시간에 랜섬웨어에 공격을 받았을 가능성이 낮고, 1이면 랜섬웨어에 공격을 받았을 가능성이 높은 것으로 판단할 수 있다. 다시 말해서, 예컨대, 랜섬웨어가 활동하는 상태(즉, 활성 상태)인 경우, 1의 값이 결과값으로 출력되고, 랜섬웨어가 활동하지 않는 상태인 경우, 0의 값이 트리의 결과값으로 출력될 수 있다. 랜섬웨어 탐지 시스템은 기 설정된 시간 동안 관찰한 결과 1로 출력된 합산 값이 임계값(예를 들면, 3)보다 크면 랜섬웨어가 활동하는 것으로 판정할 수 있다.
도 2는 일 실시예에 따른 랜섬웨어 탐지 시스템의 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 랜섬웨어 탐지 시스템에서 랜섬웨어를 탐지하는 방법을 설명하기 위한 흐름도이다.
랜섬웨어 탐지 시스템(100)의 프로세서는 논리 블록 주소 저장부(210), 덮어쓰기 검사부(220), 랜섬웨어 탐지부(230) 및 블룸 필터 최적화부(240)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 랜섬웨어 탐지 시스템(100)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 3의 랜섬웨어 탐지 방법이 포함하는 단계들(310 내지 330)을 수행하도록 랜섬웨어 탐지 시스템(100)을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
프로세서는 랜섬웨어 탐지 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 랜섬웨어 탐지 시스템(100)에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 랜섬웨어 탐지 시스템(100)을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 프로세서는 논리 블록 주소 저장부(210), 덮어쓰기 검사부(220), 랜섬웨어 탐지부(230) 및 블룸 필터 최적화부(240) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(310 내지 330)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다. 블룸 필터 최적화부(240)에 대한 동작은 도 4에서 설명하기로 한다.
단계(310)에서 논리 블록 주소 저장부(210)는 낸드 플래시 메모리에서 발생된 읽기 요청에 대한 논리 블록 주소를 블룸 필터(Bloom-filter)에 저장할 수 있다. 논리 블록 주소 저장부(210)는 비트 배열을 가지고 있는 복수 개의 블룸 필터를 생성할 수 있다. 이때, 복수 개의 블룸 필터는, 읽기 요청에 대한 논리 블록 주소와 관련된 원소를 추가하기 위하여 복수 개의 블룸 필터 각각에서 동일한 k개의 해시 함수를 사용하여 k개의 해시값을 계산하고, 계산된 각 해시값에 대응하는 비트를 모두 1로 설정하고, 쓰기 요청에 대한 논리 블록 주소와 관련된 원소를 검사하기 위하여 k개의 해시 함수를 사용하여 k개의 해시값을 계산하고, 계산된 각 해시값에 대응하는 비트가 모두 1인지 상기 복수 개의 블룸 필터의 각각에서 검사될 수 있다. 논리 블록 주소 저장부(210)는 낸드 플래시 메모리에서 읽기 요청이 발생함에 따라 읽기 요청이 발생한 시간 정보, 시작 주소, 크기 정보를 수집하고, 수집된 시간 정보에 기초하여 읽기 요청에 대한 논리 블록 주소(LBA)를 블룸 필터에 저장할 수 있다. 논리 블록 주소 저장부(210)는 기 설정된 시간 범위에 기초하여 읽기 요청에 대한 논리 블록 주소를 블룸 필터에 저장되고, 읽기 요청이 기 설정된 시간 범위를 초과할 경우, 읽기 요청에 대한 논리 블록 주소를 블록 필터 다음의 블록 필터에 저장할 수 있다.
단계(320)에서 덮어쓰기 검사부(220)는 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 읽기 요청에 대한 논리 블록 주소가 저장된 블룸 필터를 대상으로 덮어쓰기(overwrite)가 발생하였는지 여부를 검사할 수 있다. 덮어쓰기 검사부(220)는 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 쓰기 요청이 발생한 시작 주소, 크기 정보를 수집하여 복수 개의 블룸 필터로부터 읽기 요청 주소에 대한 논리 블록 주소를 포함하는 블룸 필터를 검사할 수 있다. 덮어쓰기 검사부(220)는 읽기 요청 주소에 대한 논리 블록 주소를 포함하는 블룸 필터가 존재할 경우, 읽기 요청 주소에 대한 논리 블록 주소를 포함하는 블룸 필터에 덮어쓰기가 발생한 것으로 판단할 수 있다. 이때, 쓰기 요청에 따라 쓰기 요청에 대한 논리 블록 주소에 대해 복수 개의 블룸 필터의 각각에서 동일한 k개의 해시 함수를 사용하여 복수 개의 블록 필터의 각각으로부터 k개의 비트 위치에 대한 원소 검사를 수행함에 따라 덮어쓰기(overwrite)가 검사될 수 있다.
단계(330)에서 랜섬웨어 탐지부(230)는 블룸 필터에 덮어쓰기가 발생한 것으로 판단함에 따라 랜섬웨어 탐지에 사용되는 특징값을 이용하여 랜섬웨어의 활동 여부를 탐지할 수 있다. 랜섬웨어 탐지부(230)는 랜섬웨어의 탐지에 사용되는 특징값을 계산하기 위한 덮어쓰기 횟수로부터 계산된 특징값을 이진 의사 결정 트리에 기반하여 랜섬웨어의 활동 여부를 판단할 수 있다. 이때, 특징값은 사용자의 원래 파일을 삭제하고, 삭제된 위치에 새로운 데이터(예컨대, 임의의 랜덤 데이터 또는 해커에 의해 암호화된 원본 데이터)를 기록하여 사용자가 원본 데이터를 복구하지 못하도록 덮어 쓰기(overwrite)하는 랜섬웨어의 특성들을 나타내는 값으로써, 미리 정의된 타임 슬라이스(times slice) 동안 발생한 덮어 쓰기(overwrite)의 횟수를 나타내는 OWIO, 상기 타임 슬라이스를 기반으로 하는 타임 윈도우(time window) 동안 발생한 쓰기 요청(write request)의 총 수 대비 덮어 쓰기(overwrite)가 발생한 블록의 비율을 나타내는 OWST, 타임 윈도우 동안 발생한 덮어 쓰기(overwrite)의 수를 나타내는 PWIO, 현재 타임 윈도우에서 연속적으로 덮어 쓰기가 발생한 블록 (continuously overwritten block)의 평균 길이(length)를 나타내는 AVGWIO, 이전 타임 윈도우에서의 평균 덮어 쓰기(overwrite)의 개수 대 현재 타임 슬라이스(time slice)에서의 덮어쓰기(overwrite)의 개수 간의 비율을 나타내는 OWSLOPE, 이전 타임 슬라이스에서의 평균 쓰기 횟수 대 현재 타임 슬라이스에서의 덮어 쓰기 횟수 의 비율을 나타내는 IO로부터 계산된 값을 포함할 수 있다. 예를 들면, 랜섬웨어 탐지부(230)는 특정 시간의 랜섬웨어의 판단 여부를 획득할 수 있다. 랜섬웨어 탐지부(230)는 판단 여부가 0 이면 현재 시간(예를 들면, 판단된 시점)에 랜섬웨어에 공격을 받았을 가능성이 낮은 것으로, 1 이면 랜섬웨어에 공격을 받았을 가능성이 높은 것으로 판단할 수 있다. 랜섬웨어 탐지부(230)는 n 초 동안의 관찰 결과, 1로 출력된 합산 값이 임계값(현재 프로그램에는 3으로 설정)보다 크면 랜섬웨어가 활동하는 것으로 최종 판정할 수 있다.
도 4는 랜섬웨어 탐지 시스템에서 최적화를 수행하는 방법을 설명하기 위한 흐름도이다.
단계(410)에서 블룸 필터 최적화부(240)는 블룸 필터에 대한 제1 최적화를 수행할 수 있다. 제1 최적화는 동일한 해시 연산을 방지하기 위한 메모(memorization) 최적화를 의미한다. 쓰기 요청이 발생하였을 때 10개의 블룸 필터에 대해 원소 검사를 하는 상황, 다시 말해서 덮어쓰기 검사를 수행하는 상황에서 동일한 해시 연산이 발생할 수 있다. 만약, 10개의 블룸 필터가 각각 서로 다른 k개의 해시 함수를 사용한다면, 쓰기 요청이 발생하였을 때 10개의 블룸 필터에 대해 요청된 LBA의 block length 만큼 k번의 해싱을 수행해야 한다. 해시 연산 수행 횟수를 수식으로 표현하면 수학식 2와 같다.
수학식 2:
Figure 112019100634413-pat00002
각 블룸 필터에 추가되는 논리 블록 주소는 다른 블룸 필터에 추가된 논리 블록 주소와 연관이 없으므로 모든 블룸 필터가 동일한 k개의 해시 함수를 사용하여도 문제가 없다. 예를 들면, 복수 개의 블룸 필터가 모두 동일한 k개의 해시 함수를 사용하여, 덮어쓰기 검사 시 논리 블록 주소에 대해 복수 개의 블룸 필터 모두 동일한 k개의 비트 위치에 원소 검사를 수행하도록 할 수 있다. 그리고 (k×block length) 크기의 정수형 2차원 배열에 논리 블록 주소를 k개의 해시 함수로 블록 길이(block length) 만큼 계산한 해시 값을 저장할 수 있다. 이를 이용하여 하나의 블룸 필터를 검사하기 위해 계산된 특정 논리 블록 주소의 해시 값을 다른 블룸 필터를 검사하기 위해 중복 계산하지 않도록 한다. 실시예에서 제1 최적화를 적용한 이후의 해시 연산 수행 횟수는 수학식 3과 같으며, 최적화 전과 비교하여 쓰기 요청 시 발생하는 덮어쓰기 검사에 필요한 해시 연산 횟수를 1/10으로 감소시킬 수 있다.
수학식 3:
Figure 112019100634413-pat00003
단계(420)에서 블룸 필터 최적화부(240)는 블룸 필터에 대한 제2 최적화를 수행할 수 있다. 제2 최적화는 비 암호학적 해싱(Non-Cryptographic Hashing)을 의미할 수 있다. 블룸 필터 최적화부(240)는 블룸 필터에 원소 추가와 원소 검사를 할 때 k개의 해시 함수로 암호학적 해시 함수보다 상대적으로 빠른 비 암호학적 해시 함수만을 이용하여 해시 값을 얻도록 하는 비암호학적 해싱을 수행할 수 있다.
일 실시예에 따른 랜섬웨어 탐지 시스템은 SSD 펌웨어에 탑재되어 운영 체제(OS)와는 독립적으로 랜섬웨어를 탐지할 수 있다. 랜섬웨어 탐지 시스템은 블룸 필터를 이용하여 SSD 성능이 거의 영향을 주지 않으면서 SSD 펌웨어의 내부에 탑재가 가능하다. 이를 통해 제조사의 입장에서는 탐지 알고리즘의 탑재에 따른 성능 유지를 위한 단가 상승의 우려를 덜 수 있고, 사용자의 입장에서는 별도의 프로그램을 설치하지 않아도 탐지 알고리즘이 탑재된 동일한 성능의 SSD를 사용함으로써 랜섬웨어의 공격으로부터 보호받을 수 있다. 이에, 랜섬웨어의 위협으로부터 안전하게 SSD를 사용할 수 있도록 제공할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 랜섬웨어 탐지 시스템에 의해 수행되는 랜섬웨어 탐지 방법에 있어서,
    낸드 플래시 메모리에서 발생된 읽기 요청에 대한 논리 블록 주소를 블룸 필터(Bloom-filter)에 저장하는 단계;
    상기 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 상기 읽기 요청에 대한 논리 블록 주소가 저장된 블룸 필터를 대상으로 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 단계; 및
    상기 블룸 필터에 상기 덮어쓰기가 발생한 것으로 판단함에 따라 랜섬웨어 탐지에 사용되는 특징값을 이용하여 랜섬웨어의 활동 여부를 탐지하는 단계
    를 포함하고,
    상기 저장하는 단계는,
    상기 블룸 필터에 상기 읽기 요청에 대한 논리 블록 주소를 저장하고, 상기 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 수행 속도를 조절하기 위하여 동일한 해시 함수 또는 비암호학적 해시 함수를 사용하여 상기 블룸 필터에 특정 처리를 수행하는 단계
    를 포함하는 랜섬웨어 탐지 방법.
  2. 제1항에 있어서,
    상기 저장하는 단계는,
    비트 배열을 가지고 있는 복수 개의 블룸 필터를 생성하는 단계
    를 포함하고,
    상기 복수 개의 블룸 필터는,
    상기 읽기 요청에 대한 논리 블록 주소와 관련된 원소를 추가하기 위하여 상기 복수 개의 블룸 필터 각각에서 동일한 k개의 해시 함수를 사용하여 k개의 해시값을 계산하고, 계산된 각 해시값에 대응하는 비트를 모두 1로 설정하고, 상기 쓰기 요청에 대한 논리 블록 주소와 관련된 원소를 검사하기 위하여 k개의 해시 함수를 사용하여 k개의 해시값을 계산하고, 계산된 각 해시값에 대응하는 비트가 모두 1인지 상기 복수 개의 블룸 필터의 각각에서 검사되는
    것을 특징으로 하는 랜섬웨어 탐지 방법.
  3. 제1항에 있어서,
    상기 수행하는 단계는,
    복수 개의 블룸 필터 각각의 동일한 k개의 비트 위치에서 원소 검사를 수행하고, k * 블록 길이(block length) 크기의 정수형 2차원 배열에 논리 블록 주소를 k개의 해시 함수로 블록 길이만큼 계산한 해시값을 저장하는 단계
    를 포함하는 랜섬웨어 탐지 방법.
  4. 제3항에 있어서,
    상기 수행하는 단계는,
    블룸 필터에 원소 추가와 원소 검사를 수행할 때, k개의 해시 함수로 비암호학적 해시 함수를 이용하여 k개의 해시 함수를 획득하도록 하는 비암호학적 해싱(Non-Cryptographic Hashing)을 수행하는 단계
    를 포함하는 랜섬웨어 탐지 방법.
  5. 제1항에 있어서,
    상기 저장하는 단계는,
    상기 낸드 플래시 메모리에서 읽기 요청이 발생함에 따라 상기 읽기 요청이 발생한 시간 정보, 시작 주소, 크기 정보를 수집하고, 상기 수집된 시간 정보에 기초하여 상기 읽기 요청에 대한 논리 블록 주소(LBA)를 상기 블룸 필터에 저장하는 단계
    를 포함하는 랜섬웨어 탐지 방법.
  6. 제5항에 있어서,
    상기 저장하는 단계는,
    기 설정된 시간 범위에 기초하여 상기 읽기 요청에 대한 논리 블록 주소를 상기 블룸 필터에 저장하고, 상기 읽기 요청이 상기 기 설정된 시간 범위를 초과할 경우, 상기 읽기 요청에 대한 논리 블록 주소를 상기 블룸 필터의 다음의 블록 필터에 저장하는 단계
    를 포함하는 랜섬웨어 탐지 방법.
  7. 제1항에 있어서,
    상기 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 단계는,
    상기 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 상기 쓰기 요청이 발생한 시작 주소, 크기 정보를 수집하여 복수 개의 블룸 필터로부터 상기 읽기 요청에 대한 논리 블록 주소를 포함하는 블룸 필터를 검사하는 단계
    를 포함하는 랜섬웨어 탐지 방법.
  8. 제1항에 있어서,
    상기 랜섬웨어의 활동 여부를 탐지하는 단계는,
    상기 읽기 요청에 대한 논리 블록 주소를 포함하는 블룸 필터가 존재할 경우, 상기 읽기 요청에 대한 논리 블록 주소를 포함하는 블룸 필터에 덮어쓰기가 발생한 것으로 판단하는 단계
    를 포함하는 랜섬웨어 탐지 방법.
  9. 제1항에 있어서,
    상기 특징값은, 미리 정의된 타임 슬라이스(times slice) 동안 발생한 덮어 쓰기(overwrite)의 횟수를 나타내는 OWIO, 상기 타임 슬라이스를 기반으로 하는 타임 윈도우(time window) 동안 발생한 쓰기 요청(write request)의 총 수 대비 덮어 쓰기(overwrite)가 발생한 블록의 비율을 나타내는 OWST, 타임 윈도우 동안 발생한 덮어 쓰기(overwrite)의 수를 나타내는 PWIO, 현재 타임 윈도우에서 연속적으로 덮어 쓰기가 발생한 블록 (continuously overwritten block)의 평균 길이(length)를 나타내는 AVGWIO, 이전 타임 윈도우에서의 평균 덮어 쓰기(overwrite)의 개수 대 현재 타임 슬라이스(time slice)에서의 덮어쓰기(overwrite)의 개수 간의 비율 을 나타내는 OWSLOPE, 이전 타임 슬라이스에서의 평균 쓰기 횟수 대 현재 타임 슬라이스에서의 덮어 쓰기 횟수 의 비율을 나타내는 IO로부터 계산된 값을 포함하고,
    상기 랜섬웨어의 활동 여부를 탐지하는 단계는,
    상기 랜섬웨어의 탐지에 사용되는 특징값을 계산하기 위한 덮어쓰기 횟수로부터 계산된 특징값을 이진 의사 결정 트리에 기반하여 랜섬웨어의 활동 여부를 판단하는 단계
    를 포함하는 랜섬웨어 탐지 방법.
  10. 랜섬웨어 탐지 시스템에 있어서,
    낸드 플래시 메모리에서 발생된 읽기 요청에 대한 논리 블록 주소를 블룸 필터(Bloom-filter)에 저장하는 논리 블록 주소 저장부;
    상기 낸드 플래시 메모리에서 쓰기 요청이 발생함에 따라 상기 읽기 요청에 대한 논리 블록 주소가 저장된 블룸 필터를 대상으로 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 덮어쓰기 검사부; 및
    상기 블룸 필터에 상기 덮어쓰기가 발생한 것으로 판단함에 따라 랜섬웨어 탐지에 사용되는 특징값을 이용하여 랜섬웨어의 활동 여부를 탐지하는 랜섬웨어 탐지부
    를 포함하고,
    상기 논리 블록 주소 저장부는,
    상기 블룸 필터에 상기 읽기 요청에 대한 논리 블록 주소를 저장하고, 상기 덮어쓰기(overwrite)가 발생하였는지 여부를 검사하는 수행 속도를 조절하기 위하여 동일한 해시 함수 또는 비암호학적 해시 함수를 사용하여 상기 블룸 필터에 특정 처리를 수행하는
    랜섬웨어 탐지 시스템.
KR1020190121777A 2019-10-01 2019-10-01 블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템 KR102259158B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190121777A KR102259158B1 (ko) 2019-10-01 2019-10-01 블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템
PCT/KR2019/018794 WO2021066257A1 (ko) 2019-10-01 2019-12-31 블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190121777A KR102259158B1 (ko) 2019-10-01 2019-10-01 블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20210039212A KR20210039212A (ko) 2021-04-09
KR102259158B1 true KR102259158B1 (ko) 2021-06-02

Family

ID=75336579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190121777A KR102259158B1 (ko) 2019-10-01 2019-10-01 블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR102259158B1 (ko)
WO (1) WO2021066257A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535719A (zh) * 2021-07-07 2021-10-22 锐掣(杭州)科技有限公司 数据过滤方法、数据过滤装置、存储介质及产品
CN117370624A (zh) * 2023-12-04 2024-01-09 北京四方启点科技有限公司 一种电子单据处理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101476039B1 (ko) * 2013-06-19 2014-12-23 세명대학교 산학협력단 데이터베이스 암호화 방법 및 이의 실시간 검색 방법
US20150347585A1 (en) * 2014-05-27 2015-12-03 Quixey, Inc. Personalized Search Results
KR101850650B1 (ko) * 2017-05-11 2018-05-30 한양대학교 산학협력단 랜섬웨어탐지를 수행하는 이동식저장장치 및 이를 위한 방법
KR101970993B1 (ko) * 2017-11-29 2019-04-23 주식회사 더볼터 랜섬웨어에 대한 데이터 손실이 없는 ssd 내부 방어 방법 및 랜섬웨어 탐지 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101499666B1 (ko) * 2013-08-08 2015-03-06 주식회사 시큐아이 네트워크 스캔 탐지 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101476039B1 (ko) * 2013-06-19 2014-12-23 세명대학교 산학협력단 데이터베이스 암호화 방법 및 이의 실시간 검색 방법
US20150347585A1 (en) * 2014-05-27 2015-12-03 Quixey, Inc. Personalized Search Results
KR101850650B1 (ko) * 2017-05-11 2018-05-30 한양대학교 산학협력단 랜섬웨어탐지를 수행하는 이동식저장장치 및 이를 위한 방법
KR101970993B1 (ko) * 2017-11-29 2019-04-23 주식회사 더볼터 랜섬웨어에 대한 데이터 손실이 없는 ssd 내부 방어 방법 및 랜섬웨어 탐지 시스템

Also Published As

Publication number Publication date
WO2021066257A1 (ko) 2021-04-08
KR20210039212A (ko) 2021-04-09

Similar Documents

Publication Publication Date Title
CN109711158B (zh) 基于设备的反恶意软件
Baek et al. SSD-insider: Internal defense of solid-state drive against ransomware with perfect data recovery
US10025931B1 (en) Method and system for malware detection
Min et al. Amoeba: An autonomous backup and recovery SSD for ransomware attack defense
CN107977573B (zh) 用于安全的盘访问控制的方法和系统
JP5881859B2 (ja) ストレージ装置
JP7144642B2 (ja) フォレンジクスのための動作ベースのvmリソースキャプチャ
US20060185016A1 (en) System, computer program product and method of selecting sectors of a hard disk on which to perform a virus scan
KR102259158B1 (ko) 블룸 필터를 이용한 효율적인 랜섬웨어 탐지 방법 및 시스템
KR101970993B1 (ko) 랜섬웨어에 대한 데이터 손실이 없는 ssd 내부 방어 방법 및 랜섬웨어 탐지 시스템
US11681799B2 (en) Using trap cache segments to detect malicious processes
JP6098301B2 (ja) ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
US9202053B1 (en) MBR infection detection using emulation
KR102105885B1 (ko) 랜섬웨어 탐지 방법 및 랜섬웨어 탐지 시스템
US9378151B2 (en) System and method of hinted cache data removal
US20210319104A1 (en) Decoy memory allocation
US10664595B2 (en) Managing reads and writes to data entities experiencing a security breach from a suspicious process
KR101857575B1 (ko) 악성코드탐지시스템 및 악성코드 탐지 방법
KR102543101B1 (ko) 매직넘버를 이용한 랜섬웨어 탐지 방법
KR102474874B1 (ko) 랜섬웨어 공격을 식별하는 버퍼 관리 시스템 및 방법
JP7436567B2 (ja) ストレージシステム及び不正アクセス検知方法
KR102572770B1 (ko) 랜섬웨어의 패턴인식과 매직넘버를 이용한 랜섬웨어 감지 시스템
US20230229773A1 (en) Method and Apparatus for Detecting the Occurrence of a Ransomware Attack on a Storage Volume
KR102289407B1 (ko) 회피형 랜섬웨어 탐지를 위한 피처 가공 장치 및 방법
US20240143761A1 (en) Detection of ransomware attack using entropy values

Legal Events

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