KR102363182B1 - 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법 - Google Patents

저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법 Download PDF

Info

Publication number
KR102363182B1
KR102363182B1 KR1020210127969A KR20210127969A KR102363182B1 KR 102363182 B1 KR102363182 B1 KR 102363182B1 KR 1020210127969 A KR1020210127969 A KR 1020210127969A KR 20210127969 A KR20210127969 A KR 20210127969A KR 102363182 B1 KR102363182 B1 KR 102363182B1
Authority
KR
South Korea
Prior art keywords
neural network
module
storage device
content
trained neural
Prior art date
Application number
KR1020210127969A
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 플렉손 피티이. 엘티디.
Application granted granted Critical
Publication of KR102363182B1 publication Critical patent/KR102363182B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Virology (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Human Computer Interaction (AREA)

Abstract

이 문헌은 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법을 설명하며 그것에 의해 모듈은 저장 디바이스의 컨트롤러 내에 제공된다. 모듈은 트레이닝된 뉴럴 네트워크를 사용하여, 악성 액티비티들에 대한 민감 데이터 또는 정보를 포함하는 저장 디바이스의 파일 시스템의 적절한 논리 블록 어드레스들(LBAs)을 감시하도록 구성된다.

Description

저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법{MODULE AND METHOD FOR DETECTING MALICIOUS ACTIVITIES IN A STORAGE DEVICE}
본 발명은 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법에 관한 것이며 그것에 의해 모듈은 저장 디바이스의 컨트롤러 내에 제공된다. 모듈은 트레이닝된 뉴럴 네트워크를 사용하여, 악성 액티비티들에 대한 민감 데이터 또는 정보를 포함하는 저장 디바이스의 파일 시스템의 적절한 논리 블록 어드레스들(logical block addresses)(LBAs)을 감시하도록 구성된다.
저장 디바이스들은 전형적으로 고체 상태 디바이스들(solid state devices)(SSDs), 하드 디스크 드라이브들(hard disk drives)(HDDs), 광 드라이브들 또는 자기 디스크 드라이브들을 포함한다. 저장 디바이스의 타입에 관계없이, 이들 디바이스들은 전형적으로 그들의 논리 블록 어드레스들(LBAs)에 의해 연속적으로 어드레싱된다. HDD들, 광 드라이브들 또는 자기 디스크 드라이브들에 대해, LBA들은 드라이브 내에 저장된 데이터의 특정 블록들의 위치를 지정한다. 일 예로서, LBA 0은 그와 같이 디스크 드라이브 내의 제1 헤드에 의해 액세스가능한 제1 트랙 상의 제1 섹터를 지칭할 것이며, LBA 0이 호스트 디바이스에 의해 액세스될 때, LBA 0에 포함된 콘텐츠는 호스트 디바이스에 제공될 것이다.
그러나, 위에 설명된 디스크 드라이브들과 달리, SSD들은 전기적으로 소거가능하고 재프로그래밍가능한 비휘발성 메모리들을 포함하고 그와 같이, 논리 블록 어드레싱 시스템에서 지칭된 바와 같은 트랙들 또는 헤드들을 갖지 않을 것이다. 따라서, SSD들은 호스트 디바이스의 파일 시스템 논리 블록 어드레스들을 플래시 메모리의 물리 어드레스들에 매핑(논리-물리 매핑)하기 위해 SSD의 플래시 메모리 컨트롤러 내에 제공된 바와 같은 플래시 변환 계층(flash translation layer)(FTL)을 이용해야 한다. 다시 말해, 호스트 디바이스는 판독/기입/중복기입 동작들을 위한 SSD를 어드레싱하기 위해 기존 LBA 어드레싱 방법들을 여전히 이용할 것이다. 호스트 디바이스로부터의 이들 커맨드들은 FTL에 의해 차단될 것이고 FTL은 LBA들 간의 관계의 플래시 메모리의 물리 블록 어드레스들(physical block addresses)(PBAs)로의 맵을 유지할 것이다. 그 다음, PBA들은 수신된 커맨드들을 수행하도록 SSD의 컨트롤러에 의해 이용될 것이다.
최근에, SSD들은 SSD들이 종래의 기계적 하드 디스크 드라이브들에 비해 다수의 장점을 제공하므로 저장 디바이스들로서 더 광범위하게 사용되었다. 예를 들어, SSD들은 HDD들보다 훨씬 더 빠르고, HDD들의 성능을 100배까지 산출할 수 있고 이것은 더 빠른 부트 시간들 및 더 빠른 파일 전송들로 변환한다. SSD들은 또한 HDD들보다 훨씬 더 적은 전력을 소모하여 개선된 전력 및 열 효율들을 초래한다. 그 결과, SSD들은 이제 산업, 의료 또는 군사 적용들에 광범위하게 사용된다.
전형적으로, 대부분의 SSD들은 호스트 디바이스에 사용될 것이고 호스트 디바이스의 운영 시스템을 저장하기 위해 사용되며, 즉 호스트의 시스템 드라이브로서 사용될 수 있고, 그것에 의해 운영 시스템과 연관되는 코드는 SSD 내에 저장되고 호스트 디바이스가 부팅될 때 액세스될 것이다. SSD가 호스트의 시스템 드라이브로서 사용될 때, SSD는 논리 블록 어드레스(LBA) 0에 저장된 마스터 부트 레코드(master boot record)(MBR) 및 저장 디바이스의 다른 곳에 저장된 호스트 디바이스의 운영 시스템 코드를 가질 것이다. 호스트 디바이스가 제1 시간 동안 저장 디바이스에 액세스할 때, 명령어들은 LBA 0에서의 콘텐츠를 호스트 디바이스에 송신하라고 SSD에 명령하기 위해 LBA 0에 송신될 것이다. 이것은 호스트 디바이스가 LBA 0로부터 MBR을 판독하게 할 수 있으며 그것에 의해 MBR은 전형적으로 호스트 디바이스에 의해 실행될 때, 저장 디바이스로부터 운영 시스템 코드의 다른 부분들을 판독하고 호스트 디바이스를 부팅하는 능력을 호스트 디바이스에 제공하는 컴퓨터 판독가능 프로그램 코드를 포함할 것이다.
대안적으로, SSD는 또한 호스트 디바이스에 의해 액세스가능한 저장 용량을 확장하기 위해 USB 플래시 드라이브들, 메모리 카드들 또는 외부 저장 디바이스들과 같은 이차 저장 매체로서 사용될 수 있다. 그러한 SSD가 제1 시간 동안 호스트 디바이스에 의해 액세스될 때, 저장 디바이스의 LBA 0에서의 콘텐츠는 호스트 디바이스에 그것이 이차 저장 매체로서 사용되어야 하는 것을 표시할 것이다.
민감 애플리케이션들 내에 포함된 정보에 액세스하기 위해, 악성 제3자들은 그러한 저장 디바이스들의 MBR을 감염시키기 위해 다양한 수단 및 방식들로 재분류되었다. 통상적인 방법은 저장 디바이스의 MBR 또는 다른 부트 섹터들을 루팅 제거하고 절충된 운영 시스템이 그 안에 설치되게 하기 전에 저장 디바이스에 대한 악성 제3자 획득 시스템 레벨 액세스를 수반한다.
운영 시스템이 조작되지 않도록 보호하고 저장 디바이스가 잘못 배치된 경우 중요한 개인 정보에 대한 액세스를 방지하기 위해, 운영 시스템 코드(MBR을 포함함)가 저장 디바이스 내에 설치된 소프트웨어에 의해 암호화되고 인증 절차들을 받아서, MBR 및 운영 시스템 코드가 인가된 사용자들에게만 액세스가능하다는 점이 본 기술분야의 통상의 기술자들에 의해 제안되었다. 컨트롤러가 저장 디바이스의 사용자를 인증하기 전에 MBR을 판독할 수 없으므로, 저장 디바이스는 인증 정보가 저장 디바이스에서 실행되는 인증 프로그램에 의해 수집되고 검증되게 하는 "대체" 마스터 부트 레코드(MBR)을 저장할 수 있다.
저장 디바이스의 사용자를 성공적으로 인증한 후에, 저장 디바이스는 LBA 0을 원래의 MBR에 재매핑하여, 저장 디바이스는 실제 MBR을 수신하고 정상적으로 부팅할 수 있다. 이러한 접근법에 대한 단점은 사용자의 인증 크리덴셜들이 절충되면, MBR 및 운영 시스템 코드가 또한 위협되는 것을 이것이 의미한다는 것이다.
부가적으로, 본 기술분야의 통상의 기술자들에 의해 제안된 해결책들은 저장 디바이스가 이들 해결책들에 의해 적절히 보호될 수 있기 전에 감시된 저장 디바이스의 운영 시스템, 파티션 시스템 또는 부트 영역이 알려져 있고 이들 해결책들로 사전 로딩되는 것을 필요로 한다. 다시 말해, 기존 해결책들은 감시된 저장 디바이스의 운영 시스템, 파티션 시스템 또는 부트 영역을 자동적으로 식별할 수 없고 그러한 정보는 사용자에 의해 기존 감시 해결책에 제공되어야 한다. 저장 디바이스의 컨트롤러에 대해, 저장 디바이스 내에 포함된 모든 정보는 사용자의 데이터를 포함하고 그것은 이러한 데이터를 자연스럽게 구별할 수 없다. 이것은 감시된 저장 디바이스의 운영 시스템, 파티션 시스템 또는 부트 영역이 사용자에 의해 수정되거나 부정확하게 선택되고 그 결과 저장 디바이스가 우연히 절충될 수 있을 때 문제가 된다.
상기 이유들로, 본 기술분야의 통상의 기술자들은 저장 디바이스의 운영 시스템, 파티션 시스템 또는 부트 영역이 사용자에 의해 디바이스의 컨트롤러에 제공되지 않을지라도 저장 디바이스에서 악성 액티비티들을 검출할 수 있는 모듈 및 방법을 제시하려고 끊임없이 노력하고 있다.
상기 및 다른 문제들은 발명에 따른 실시예들에 의해 제공된 시스템들 및 방법들에 의해 해결되고 본 기술분야의 진보가 이루어진다.
발명에 따른 모듈들 및 방법들의 실시예들의 제1 장점은 모듈이 메모리 디바이스 내에 설치된 운영 시스템의 타입을 식별할 수 있다는 것이다.
발명에 따른 모듈들 및 방법들의 실시예들의 제2 장점은 모듈이 저장 디바이스 내의 특정 위치들 내에 발생하는 악성 액티비티들을 자동적으로 그리고 효율적으로 검출할 수 있다는 것이다.
발명에 따른 모듈들 및 방법들의 실시예들의 제3 장점은 저장 디바이스의 논리 블록 어드레스들이 펌웨어 레벨에서 감시될 것이고 악성 액티비티들이 검출되고 죄절될 수 있기 전에 운영 시스템이 부팅되는 것을 필요로 하지 않는다는 것이다.
발명에 따른 모듈들 및 방법들의 실시예들의 제4 장점은 저장 디바이스가 호스트 디바이스로부터 제거되고 이차 저장 디바이스로서 재구성될지라도 모듈과 같은 모듈이 양 구성들에서 악성 액티비티들을 검출하도록 구성되므로 저장 디바이스(호스트 디바이스의 시스템 디바이스로서의 역할을 하도록 구성됨) 내에 포함된 콘텐츠가 악성 제3자들로부터 여전히 보호된다는 것이다.
발명에 따른 모듈들 및 방법들의 실시예들의 제5 장점은 모듈이 저장 디바이스 컨트롤러의 펌웨어의 일부로서 구현되므로 모듈이 운영 시스템 레벨에서 디스에이블되지 않을 수 있다는 것이다.
상기 장점들은 이하의 방식으로 동작하는 발명에 따른 방법의 실시예들에 의해 제공된다.
발명의 제1 양태에 따르면, 저장 디바이스에서 악성 액티비티를 검출하기 위한 모듈이 개시되며, 그것에 의해 모듈은 저장 디바이스의 컨트롤러 내에 제공되고, 모듈은 호스트 디바이스로부터 컨트롤러에 송신된 제1 논리 블록 어드레스(LBA0)를 검색하고 제1 LBA0에서 콘텐츠를 검색하며 - 그것에 의해 검색된 콘텐츠는 컨트롤러 내에 제공된 데이터 모듈로부터 검색되는 트레이닝된 뉴럴 네트워크를 프라이밍하기 위해 사용됨 - ; 제1 LBA0에서의 콘텐츠 및 트레이닝된 뉴럴 네트워크를 사용하여, 감시되어야 하는 저장 디바이스의 논리 블록 어드레스들(LBAs)을 식별하고; 호스트 디바이스에 의해 식별된 LBA들에 송신된 명령어들을 컨트롤러에 미러링하고, 미러링된 LBA들의 콘텐츠를 미러링하고; 트레이닝된 뉴럴 네트워크를 사용하여, 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 저장 디바이스에서 발생하고 있는지를 결정하도록 구성되며, 뉴럴 네트워크는 상이한 타입들의 운영 시스템들 또는 이차 저장 동작들에 대해 운영 시스템들 또는 이차 저장 동작들과 연관되는 파일 시스템들의 마스터 부트 레코드들, 마스터 파일 테이블들, 부트 섹터들, 바이오스 파라미터 블록들 또는 확장된 바이오스 파라미터 블록들에 관련된 LBA들에서 콘텐츠의 평균 판독/기입/중복기입 액세스에 기초하여 트레이닝된다.
발명의 제1 양태와 관련하여, 연관된 트레이닝된 뉴럴 네트워크의 프라이밍은 모듈이 제1 LBA0에서의 콘텐츠로부터 한 세트의 매직 넘버들을 선택하고 - 그것에 의해 선택된 세트의 매직 넘버들은 저장 컨트롤러의 파일 시스템과 연관되는 일 타입의 운영 시스템 또는 일 타입의 이차 저장 동작을 결정하기 위해 매직 넘버 룩업 테이블에 사용되며, 그것에 의해 매직 넘버 룩업 테이블은 데이터 모듈로부터 획득됨 - ; 데이터 모듈로부터 결정된 타입의 운영 시스템 또는 이차 저장 동작에 관련된 악성 액티비티들을 검출하기 위해 트레이닝된 뉴럴 네트워크를 프라이밍하도록 구성되는 것을 포함한다.
발명의 제1 양태와 관련하여, 감시되어야 하는 저장 디바이스의 LBA들을 식별하는 것은 모듈이 프라이밍된 트레이닝된 뉴럴 네트워크와 연관되는 결정된 타입의 운영 시스템 또는 이차 저장 동작에 기초하여, 중대 데이터를 포함하는 LBA들을 식별하도록 구성되는 것을 포함하며 그것에 의해 중대 데이터는 적어도, 저장 디바이스와 연관되는 파일 시스템의 마스터 파일 테이블, 마스터 부트 레코드, 부트 섹터, 바이오스 파라미터 블록 또는 확장된 바이오스 파라미터 블록을 포함한다.
발명의 제1 양태와 관련하여, 모듈은 미러링된 명령어들 및 콘텐츠에 기초하여 저장 디바이스에서 발생한 것으로 결정된 악성 액티비티를 사용하여 트레이닝된 뉴럴 네트워크를 최적화하도록 추가로 구성된다.
발명의 제1 양태와 관련하여, 모듈은 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 저장 디바이스에서 발생한 것으로 결정되었다는 결정에 응답하여 저장 디바이스를 락다운(lockdown)하도록 추가로 구성된다.
발명의 제1 양태와 관련하여, 트레이닝된 뉴럴 네트워크는 인공 뉴럴 네트워크, 순환 뉴럴 네트워크(Recurrent Neural Network)(RNN) 또는 컨볼루션 뉴럴 네트워크(Convolutional Neural Network)(CNN) 중 하나를 포함한다.
발명의 제2 양태에 따르면, 저장 디바이스에서 악성 액티비티를 검출하기 위한 방법이 개시되며, 방법은 저장 디바이스의 컨트롤러 내에 제공된 모듈을 사용하여, 호스트 디바이스로부터 컨트롤러에 송신된 제1 논리 블록 어드레스(LBA0)를 검색하는 단계; 모듈을 사용하여, 제1 LBA0에서 콘텐츠를 검색하는 단계 - 그것에 의해 검색된 콘텐츠는 컨트롤러 내에 제공된 데이터 모듈로부터 검색되는 트레이닝된 뉴럴 네트워크를 프라이밍하기 위해 사용됨 - ; 제1 LBA0에서의 콘텐츠 및 트레이닝된 뉴럴 네트워크를 사용하여, 감시되어야 하는 저장 디바이스의 논리 블록 어드레스들(LBAs)을 모듈을 사용하여 식별하는 단계; 모듈을 사용하여, 호스트 디바이스에 의해 식별된 LBA들에 송신된 명령어들을 컨트롤러에 미러링하고, 미러링된 LBA들의 콘텐츠를 미러링하는 단계; 및 트레이닝된 뉴럴 네트워크를 사용하여, 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 저장 디바이스에서 발생하고 있는지를 결정하는 단계를 포함하며, 뉴럴 네트워크는 상이한 타입들의 운영 시스템들 또는 이차 저장 동작들에 대해 운영 시스템들 또는 이차 저장 동작들과 연관되는 파일 시스템들의 마스터 부트 레코드들, 마스터 파일 테이블들, 부트 섹터들, 바이오스 파라미터 블록들 또는 확장된 바이오스 파라미터 블록들에 관련된 LBA들에서 콘텐츠의 평균 판독/기입/중복기입 액세스에 기초하여 트레이닝된다.
발명의 제2 양태와 관련하여, 연관된 트레이닝된 뉴럴 네트워크의 프라이밍은 모듈을 사용하여, 제1 LBA0에서의 콘텐츠로부터 한 세트의 매직 넘버들을 선택하는 단계 - 그것에 의해 선택된 세트의 매직 넘버들은 저장 컨트롤러의 파일 시스템과 연관되는 일 타입의 운영 시스템 또는 일 타입의 이차 저장 동작을 결정하기 위해 매직 넘버 룩업 테이블에 사용되며, 그것에 의해 매직 넘버 룩업 테이블은 데이터 모듈로부터 획득됨 - ; 및 모듈을 사용하여, 데이터 모듈로부터 결정된 타입의 운영 시스템 또는 이차 저장 동작에 관련된 악성 액티비티들을 검출하기 위해 트레이닝된 뉴럴 네트워크를 프라이밍하는 단계를 포함한다.
발명의 제2 양태와 관련하여, 감시되어야 하는 저장 디바이스의 LBA들을 식별하는 단계는 모듈을 사용하여, 프라이밍된 트레이닝된 뉴럴 네트워크와 연관되는 결정된 타입의 운영 시스템 또는 이차 저장 동작에 기초하여, 중대 데이터를 포함하는 LBA들을 식별하는 단계를 포함하며 그것에 의해 중대 데이터는 적어도, 저장 디바이스와 연관되는 파일 시스템의 마스터 파일 테이블, 마스터 부트 레코드, 부트 섹터, 바이오스 파라미터 블록 또는 확장된 바이오스 파라미터 블록을 포함한다.
발명의 제2 양태와 관련하여, 방법은 모듈을 사용하여, 미러링된 명령어들 및 콘텐츠에 기초하여 저장 디바이스에서 발생한 것으로 결정된 악성 액티비티를 사용하여 트레이닝된 뉴럴 네트워크를 최적화하는 단계를 추가로 포함한다.
발명의 제2 양태와 관련하여, 방법은 모듈을 사용하여, 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 저장 디바이스에서 발생한 것으로 결정되었다는 결정에 응답하여 저장 디바이스를 락다운하는 단계를 추가로 포함한다.
발명의 제2 양태와 관련하여, 트레이닝된 뉴럴 네트워크는 인공 뉴럴 네트워크, 순환 뉴럴 네트워크(RNN) 또는 컨볼루션 뉴럴 네트워크(CNN) 중 하나를 포함한다.
상기 및 다른 문제들은 상세한 설명에 기재되고 이하의 도면들에 도시된 본 발명에 따라 시스템 및 방법의 특징들 및 장점들에 의해 해결된다.
도 1은 발명의 실시예들에 따라 저장 디바이스 내에 포함된 모듈들의 블록도를 예시한다.
도 2는 발명의 실시예들에 따라 저장 디바이스의 컨트롤러 내에 포함된 모듈들의 블록도를 예시한다.
도 3은 발명의 실시예들에 따라 저장 디바이스 내의 파일 시스템의 예시적 부트 섹터를 예시한다.
도 4는 발명의 실시예들에 따라 저장 디바이스에서 악성 액티비티를 검출하기 위한 프로세스 또는 방법의 흐름도를 예시한다.
도 5는 발명의 실시예들에 따라 트레이닝된 뉴럴 네트워크를 프라이밍하기 위한 프로세스 또는 방법의 흐름도를 예시한다.
이 발명은 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법에 관한 것이며 그것에 의해 모듈은 저장 디바이스의 컨트롤러 내에 제공된다. 모듈은 트레이닝된 뉴럴 네트워크를 사용하여, 악성 액티비티들에 대한 민감 데이터 또는 정보를 포함하는 저장 디바이스의 파일 시스템의 적절한 논리 블록 어드레스들(LBAs)을 감시하도록 구성되며 뉴럴 네트워크는 상이한 타입들의 운영 시스템들 또는 이차 저장 동작들에 대해 운영 시스템들 또는 이차 저장 동작들과 연관되는 파일 시스템들의 마스터 부트 레코드들, 마스터 파일 테이블들, 부트 섹터들, 바이오스 파라미터 블록들 또는 확장된 바이오스 파라미터 블록들에 관련된 LBA들에서 콘텐츠의 평균 판독/기입/중복기입 액세스에 기초하여 트레이닝된다.
본 발명은 이제 첨부 도면들에 예시된 바와 같이 그것의 수개의 실시예들을 참조하여 상세히 설명될 것이다. 이하의 설명에서, 다수의 특정 특징은 본 발명의 실시예들의 철저한 이해를 제공하기 위해 제시된다. 그러나, 실시예들은 특정 특징들의 일부 또는 전부 없이 실현될 수 있다는 점이 본 기술분야의 통상의 기술자에게 분명할 것이다. 그러한 실시예들은 또한 본 발명의 범위 내에 있어야 한다. 게다가, 이하에서의 특정 프로세스 단계들 및/또는 구조들은 상세히 설명되지 않을 수 있고 독자는 본 발명을 불필요하게 모호하게 하지 않도록 대응하는 인용을 참조할 것이다.
게다가, 본 기술분야의 통상의 기술자는 이러한 설명에서의 많은 기능 유닛들이 명세서 도처에서 모듈들로서 라벨링되었던 것을 인식할 것이다. 본 기술분야의 통상의 기술자는 또한 모듈이 회로들, 논리 칩들 또는 임의의 종류의 개별 구성요소로서 구현될 수 있는 것을 인식할 것이다. 더욱이, 본 기술분야의 통상의 기술자는 또한 모듈이 이때 다양한 프로세서 아키텍처들에 의해 실행될 수 있는 소프트웨어로 구현될 수 있는 것을 인식할 것이다. 발명의 실시예들에서, 모듈은 또한 수신되는 명령어들에 기초하여 일련의 이벤트들을 수행하라고 컴퓨터 프로세서에 명령할 수 있는 컴퓨터 명령어들, 펌웨어 또는 실행가능 코드를 포함할 수 있다. 모듈들의 구현의 선택은 본 기술분야의 통상의 기술자에게 디자인 선택으로서 남겨지고 이 발명의 범위를 임의의 방식으로 제한하지 않는다.
발명의 실시예들에 따라 저장 디바이스에서 악성 액티비티를 검출하기 위한 예시적 프로세스 또는 방법은 아래의 단계들에 제시된다. 저장 디바이스의 컨트롤러 내에 제공된 모듈에 의해 구현되는 바와 같은 프로세스 또는 방법의 단계들은 이하와 같다:
단계 1: 호스트 디바이스로부터 컨트롤러에 송신된 제1 논리 블록 어드레스(LBA0)를 검색하고 제1 LBA0에서 콘텐츠를 검색하며, 그것에 의해 검색된 콘텐츠는 컨트롤러 내에 제공된 데이터 모듈로부터 검색되는 트레이닝된 뉴럴 네트워크를 프라이밍하기 위해 사용되고;
단계 2: 제1 LBA0에서의 콘텐츠 및 트레이닝된 뉴럴 네트워크를 사용하여, 감시되어야 하는 저장 디바이스의 논리 블록 어드레스들(LBAs)을 식별하고;
단계 3: 호스트 디바이스에 의해 식별된 LBA들에 송신된 명령어들을 컨트롤러에 미러링하고, 미러링된 LBA들의 콘텐츠를 미러링하고;
단계 4: 트레이닝된 뉴럴 네트워크를 사용하여, 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 저장 디바이스에서 발생하고 있는지를 결정하며, 뉴럴 네트워크는 상이한 타입들의 운영 시스템들 또는 이차 저장 동작들에 대해 운영 시스템들 또는 이차 저장 동작들과 연관되는 파일 시스템들의 마스터 부트 레코드들, 마스터 파일 테이블들, 부트 섹터들, 바이오스 파라미터 블록들 또는 확장된 바이오스 파라미터 블록들에 관련된 LBA들에서 콘텐츠의 평균 판독/기입/중복기입 액세스에 기초하여 트레이닝된다.
발명의 실시예들에 따라, 위에 제시된 단계들은 도 1에 예시된 바와 같이, 저장 디바이스(100)의 컨트롤러(105) 내에 포함된 모듈들에 의해 수행되거나 실행될 수 있으며, 그것에 의해 저장 디바이스(100)는 캐시(107), 플래시 메모리들(110a 내지 h) 및 인터페이스(120)를 부가적으로 포함한다. 저장 디바이스(100)는 다양한 타입들의 고체 상태 디바이스들/드라이브들을 포함할 수 있고, 캐시(107)는 동적 랜덤 액세스 메모리(dynamic Random-Access-Memory)(DRAM)를 포함할 수 있고 사용자 데이터 및 내부 SSD 메타 데이터 둘 다를 캐싱하기 위해 사용된다. 플래시 메모리들(110a 내지 h)은 NAND 또는 NOR 플래시 메모리들와 같은 전자적으로 소거되고 재프로그래밍될 수 있는 임의의 타입의 전자 비휘발성 컴퓨터 메모리 저장 매체를 포함할 수 있다. 인터페이스(120)는 호스트 시스템과 저장 디바이스(100) 사이의 물리 인터페이스로서의 역할을 하며 그것에 의해 소형 컴퓨터 시스템 인터페이스(small computer system interface)(SCSI) 프로토콜, 직렬 고급 기술 결합(serial advanced technology attachment)(SATA) 프로토콜, 직렬 결합 SCSI(serial attached SCSI)(SAS), 비휘발성 메모리 익스프레스(Non-Volatile Memory express)(NVMe), 주변 장치 상호연결 익스프레스(Peripheral Component Interconnect express)(PCIe) 또는 임의의 유사한 인터페이스와 같지만, 이들에 제한되지 않는 기존 저장 표준들 및 인터페이스들은 저장 디바이스(100)를 컴퓨터와 같은 호스트 디바이스에 통신 연결하기 위한 링크로서 사용될 수 있다.
컨트롤러(105)는 독립 처리를 갖는 복합 임베디드 시스템이고 플래시 메모리들(110a 내지 h)에 저장된 콘텐츠를 보호하고 제어하는 것을 포함하는, 저장 디바이스(100)의 모든 양태들을 관리하기 위해 컨트롤러(105) 내에 포함된 펌웨어 및 모듈들과 협력한다. 이러한 컨트롤러는 하나 이상의 임베디드 프로세서 코어에 결합되는 다수의 하드웨어 가속 기능 블록/모듈로 구성되는 시스템 온 칩(System-On-Chip)(SoC) 디자인으로서 가장 일반적으로 구현된다.
컨트롤러(105) 내에 포함된 기능 블록들은 도 2에 예시된다. 특히, 도 2는 컨트롤러(105)가 마이크로컨트롤러(205), 버퍼(210), 플래시 인터페이스 모듈들(flash interface modules)(FIMs)(215a 내지 c), 및 위협 검출 모듈(250)을 포함할 수 있는 것을 도시한다. 마이크로컨트롤러(205)는 컨트롤러(105) 내부에 위치된 프로세서를 포함하고 착신 데이터를 수신하고 조작하기 위해 태스킹된다. 여기서, 용어 "프로세서"는 그러한 명령어들을 처리할 수 있는 임의의 디바이스 또는 구성요소를 포괄적으로 지칭하기 위해 사용되고 마이크로프로세서, 마이크로컨트롤러, 프로그램가능 논리 디바이스 또는 다른 계산 디바이스를 포함할 수 있다. 즉, 마이크로컨트롤러(205)는 입력들을 수신하고, 메모리에 저장된 명령어들에 따라 그들을 처리하고 출력들을 발생시키기 위한 임의의 적절한 논리 회로에 의해 제공될 수 있다. 이러한 실시예에서, 마이크로컨트롤러(205)는 메모리 어드레스가능 공간을 갖는 단일 코어 프로세서일 수 있다. 버퍼(210)는 컨트롤러(105)의 펌웨어를 실행하거나 모듈(250)에 액세스되어야 하는 데이터/정보를 저장하기 위한 정적 RAM(static RAM)(SRAM)을 포함할 수 있으므로 데이터 모듈로서 취급될 수 있다. 위협 검출 모듈(250)은 발명의 실시예들에 따라 컨트롤러(105)에서 입력들/출력들을 미러링하고; 저장 디바이스 및 관련된 작업들 내에 발생할 수 있는 악성 액티비티들을 검출하기 위해 적절한 트레이닝된 뉴럴 네트워크를 트레이닝하고 로딩하기 위해 사용된다. FIM들(215a 내지 c)은 컨트롤러(105)와 플래시 메모리들(110a 내지 h) 사이의 물리 및 논리 인터커텍트들로서의 역할을 하여 컨트롤러가 다수의 플래시 메모리와 동시에 통신하는 것을 허용한다. 본 기술분야의 통상의 기술자는 위에 설명된 다양한 메모리 구성요소들이 비일시적 컴퓨터 판독가능 매체들을 포함하고 일시적 전파 신호를 제외하고 모든 컴퓨터 판독가능 매체들을 포함하는 것으로 간주될 것을 인식할 것이다. 전형적으로, 명령어들은 프로그램 코드로서 메모리 구성요소들에 저장되지만 또한 하드와이어링될 수 있다. 도시되지 않지만, 컨트롤러(105)는 또한 호스트 디바이스로부터의 LBA들을 플래시 메모리들의 물리 블록 어드레스들(PBAs)로 변환하기 위한 플래시 변환 계층(FTL)을 포함한다. FTL의 상세한 작동들은 그것이 본 기술분야의 통상의 기술자들에 공지되어 있는 바와 같이 간결성을 위해 생략된다.
호스트 디바이스(도시되지 않음)가 부팅될 때 및 저장 디바이스(100)가 호스트 디바이스의 시스템 디바이스로서 사용되어야 한다는 가정 하에, 그것의 운영 시스템은 호스트 디바이스의 ROM 또는 RAM 내에 포함되지 않을 것이다. 그것은 저장 디바이스(100) 내에 저장될 것이다. 그와 같이, 운영 시스템의 로딩을 용이하게 하기 위해, 호스트 디바이스는 적절한 명령어들을 저장 디바이스(100)의 LBA '0'(LBA0)에 송신할 호스트 디바이스의 ROM에 저장된 펌웨어를 실행할 것이다. 그것의 LBA '0"에 어드레싱되는 이들 명령어들을 수신할 시에, 저장 디바이스(100)는 LBA '0'에 대응하는 물리 블록 어드레스에 저장되는 데이터를 반송할 것이다. 배후에서, 저장 디바이스(100)의 컨트롤러(105)에 의해 수신된 논리 블록 어드레스는 컨트롤러(105) 내에 제공된 FTL에 의해 적절한 물리 블록 어드레스로 변환될 것이다. 그러나, 호스트 디바이스에, 이 모든 것이 보이지 않고 명령어들이 저장 디바이스(100)의 LBA들에 어드레싱될 때, LBA들에서 PBA들로의 모든 필요한 변환들은 컨트롤러(105)에서 자동적으로 발생할 것이라는 점이 이해된다.
전형적으로 시스템 디바이스에서, LBA 방식에서의 제1 LBA, 즉 LBA '0'은 마스터 부트 레코드(MBR)를 포함할 수 있지만, 이것에만 제한되지 않으며, 이는 호스트 디바이스에 의해 실행될 때, 저장 디바이스(100)로부터 운영 시스템 코드의 다른 부분들을 판독하고 호스트 디바이스를 부팅하는 능력을 호스트 디바이스에 제공하는 컴퓨터 판독가능 프로그램 코드를 포함할 수 있다. LBA는 저장 디바이스(100) 내에 저장된 데이터의 블록들의 위치를 지정하는데 사용되는 통상적인 방식이고 호스트 디바이스가 저장 디바이스의 물리 섹터 위치들 또는 PBA들을 인식해야 하는 것 없이 호스트 디바이스가 저장 디바이스(100) 내에 저장된 콘텐츠에 액세스하기 위한 간단한 선형 어드레싱 방법을 제공한다. 그와 같이, 저장 디바이스의 다양한 파티션들, 파일 시스템들 또는 임의의 다른 특수 영역들이 호스트 디바이스에 의해 액세스될 때, 이들 영역들과 연관되는 LBA들은 컨트롤러(105)가 호스트 디바이스에 대한 관련 데이터/정보를 검색하기 위해 이러한 정보를 사용할 수 있도록 호스트 디바이스에 의해 저장 디바이스(100)의 컨트롤러(105)에 송신될 것이다.
컨트롤러(105)가 호스트 디바이스로부터 LBA들 및 그들의 관련된 명령어들을 수신하고 수신된 명령어들에 기초하여 LBA들의 콘텐츠를 호스트 디바이스에 반환하므로, 위협 검출 모듈(250)은 이 모든 것을 미러링하도록 구성되고 이것은 모든 입력들 및 출력들의 레코드가 컨트롤러(105)에서 발생하게 함으로써 행해질 수 있다. 다시 말해, 위협 검출 모듈(250)은 컨트롤러(105)에 의해 수신된 명령어들 및 명령어들이 송신되는 LBA들을 레코딩함으로써 이것을 달성할 수 있다. 그 다음, 이들 LBA들에서 제공된 데이터 및/또는 정보는 데이터 및/또는 정보가 요청 호스트 디바이스에 반송되기 전에 또한 모듈(250)에 의해 레코딩될 수 있다.
논리 블록 어드레스 '0'(LBA0)에서 제공된 바와 같은 파일 시스템의 예시적 부트 섹터는 도 3에 도시된다. 예시된 바와 같이, 부트 섹터(300)는 다수의 길이 및 그들의 개별 오프셋들을 갖는 다수의 필드를 포함하는 것으로 도시된다. 각각의 필드는 특정 의미 또는 커맨드와 연관될 그 자체 전형적인 값을 가질 것이다. 이들 값들은 각각의 타입의 운영 시스템/파일 시스템/저장 시스템에 대한 각각의 특정 의미/커맨드에 기초하여 발생되었던 헥스(hex) 넘버들 또는 매직 넘버들을 포함할 수 있지만, 그들에 제한되지 않고 그와 같이, 각각의 의미 또는 커맨드는 고유 값과 연관될 것이다. 예를 들어, "EB"의 값은 "섹터 당 바이트들"과 연관될 수 있고, "52"의 값은 "클러스터 당 섹터들"과 연관될 수 있고, "67"의 값은 "OEM ID"와 연관될 수 있고, "J9"의 값은 "BPB"와 연관될 수 있고, "34"의 값은 "확장된 BPB"와 연관될 수 있는 등등이다.
발명의 이러한 예시적 실시예에서, 특히 관심있는 것은 도 3에 도시된 바와 같이 LBA0의 데이터(305)에 포함된 키 정보일 것이며, 예를 들어 바이오스 파라미터 블록(BIOS parameter block)(BPB) 및 확장된 BPB를 포함할 수 있고, 본 기술분야의 통상의 기술자는 이것이 일 예일 뿐이고 LBA0에서의 다른 콘텐츠가 또한 사용될 수 있는 것을 인식할 것이다. 데이터(305)에 포함된 정보에 기초하여, 저장 디바이스의 파일 시스템에 관한 이하의 정보, 즉 섹터 당 바이트들의 수, 클러스터 당 섹터들의 수, 미디어 디스크립터의 타입, 섹터들의 전체 수, 마스터 파일 테이블(master file table)(MFT)의 위치 또는 그것의 등가 구조, 마스터 파일 테이블의 카피의 위치, MFT 레코드 당 클러스터들의 수, 인덱스 버퍼 당 클러스터들의 수, 파일 시스템의 타입, 운영 시스템 및 볼륨의 일련 번호가 결정될 수 있다. 그 다음, 이러한 정보는 저장 디바이스의 파일 시스템의 운영 시스템, 저장 디바이스의 파일 시스템 및/또는 저장 디바이스의 파일 시스템의 동작을 결정하기 위해 사용될 수 있다. 본 기술분야의 통상의 기술자는 다른 정보가 발명으로부터 벗어나는 것 없이 데이터(305) 내에 그리고 LBA0의 콘텐츠 내에 포함될 수 있는 것을 인식할 것이다.
발명의 실시예들에 따라, 매직 넘버 룩업 테이블은 캐시(107) 또는 버퍼(210)로 사전 로딩될 수 있다. 본 기술분야의 통상의 기술자에게 공지되어 있는 바와 같이, 매직 넘버들은 특정 정보 또는 데이터를 위행 발생된 일정한 수치 값들을 지칭한다. 그와 같이, 이들 매직 넘버들은 특정 파일 포맷 또는 프로토콜을 식별하기 위해 사용될 수 있거나 다른 의미들로 오인될 가능성이 없는 구별적 고유 값들을 지칭할 수 있다. 발명의 이러한 실시예에서, 사전 로딩된 매직 넘버 룩업 테이블 내의 매직 넘버들 각각은 특정 타입의 운영 시스템 및/또는 일 타입의 파일 시스템 예컨대 이차 저장 파일 시스템을 지칭한다. 이러한 룩업 테이블은 요구된 바와 같이 주기적으로, 또는 새로운 운영 시스템, 이차 저장 파일 시스템, 또는 다른 타입들의 파일 시스템들이 도입될 때마다 갱신될 수 있다는 점이 주목되어야 한다. 그 다음, 매직 넘버 룩업 테이블 내의 정보는 LBA0에서 발견된 콘텐츠와 매칭될 수 있고 결과적 매치에 기초하여, 모듈(250)은 이때 저장 디바이스와 연관되는 운영 시스템/파일 시스템/저장 시스템의 타입을 결정할 수 있다.
그렇게 함으로써, 위협 검출 모듈(250)은 이때 각각의 파일 시스템이 중대 콘텐츠, 정보 또는 데이터를 포함하는 LBA들의 그 자체 고유 리스트를 가질 것이므로 특정 타입의 운영 시스템 또는 이차 저장 동작에 대한 악성 액티비티들을 검출하기 위해 모듈(250) 내에 포함되는 트레이닝된 뉴럴 네트워크를 프라이밍하도록 이러한 정보를 이용할 수 있다. 발명의 실시예들에서, 중대 콘텐츠 또는 레코드들은 저장 디바이스의 사용자에 영향을 미치는 데이터, 저장 디바이스의 정상 동작에 영향을 미치는 데이터 및/또는 임의의 그러한 유사한 데이터를 포함하지만, 이들에 제한되지 않는다. 다시 말해, 이러한 정보는 트레이닝된 뉴럴 네트워크에 의해 면밀히 감시되어야 하는 저장 디바이스(100)의 파일 시스템에서 LBA들을 식별하도록 모듈(250)에 의해 사용될 수 있으며 그것에 의해 이들 LBA들은 저장 디바이스 내에 설치된 파일 시스템의 타입에 고유할 수 있다. 부가적으로, 식별된 타입의 운영 시스템 또는 파일 시스템을 위해 최적화되었던 트레이닝된 뉴럴 네트워크가 또한 선택되고 로딩될 수 있다. 위에 설명된 파라미터들이 초기화되었다면, 프라이밍된 트레이닝된 뉴럴 네트워크는 이때 악성 액티비티들에 대해 저장 디바이스(100)를 감시하도록 모듈(250)에 의해 사용될 수 있다.
발명의 실시예들에서, 뉴럴 네트워크 모델은 버퍼(210) 또는 캐시(107) 내에 제공되고 이러한 뉴럴 네트워크는 순환 뉴럴 네트워크(RNN), 재귀 뉴럴 네트워크 또는 컨볼루션 뉴럴 네트워크(CNN)와 같은 인공 뉴럴 네트워크를 포함할 수 있지만, 이들에 제한되지 않는다. 이러한 뉴럴 네트워크 모델은 저장 디바이스의 파일 시스템에서 발생하는 악성 액티비티들을 검출하기 위해 사용되기 전에 사전 트레이닝되었을 것이다.
특히, 뉴럴 네트워크 모델은 각각의 타입의 운영 시스템 또는 이차 저장 파일 시스템들(이차 저장 동작들로서 사용된 저장 디바이스들 내에 설치됨)과 연관되는 파일 시스템들의 마스터 부트 레코드들, 마스터 파일 테이블들, 부트 섹터들, 바이오스 파라미터 블록들 및/또는 확장된 바이오스 파라미터 블록들에 관련된 특정 LBA들 또는 PBA들에서 콘텐츠의 평균 판독/기입/중복기입 액세스에 기초하여 트레이닝되었을 것이다.
다시 말해, 뉴럴 네트워크 모델은 다양한 타입들의 운영 시스템들 및 그들의 대응하는 파일 시스템들의 동작 동안 또는 이차 저장 시스템으로서의 저장 디바이스의 동작 동안 통상 액세스되는 LBA들의 콘텐츠의 평균 판독/기입/중복기입 액세스와 같은 다양한 입력 벡터들에 기초하여 트레이닝되었을 것이다. 그와 같이, 이들 종래의 액션들에서 벗어나는 임의의 액티비티들은 뉴럴 네트워크가 트리거링 액티비티들을 악성 액티비티들로서 라벨링하게 할 수 있다. 라벨링된 악성 액티비티들은 이들 악성 액티비티들에 의해 액세스된 LBA들과 함께 또한 뉴럴 네트워크를 트레이닝하기 위해 사용될 수 있으며 그것에 의해 위의 데이터의 조합들은 뉴럴 네트워크의 트레이닝을 최적화하기 위해 그것의 트레이닝 위상 동안 뉴럴 네트워크에 제공될 수 있다.
발명의 추가 실시예들에서, 트레이닝된 뉴럴 네트워크는 저장 디바이스의 정상 동작 동안 검출된 악성 액티비티들을 사용하여 추가로 최적화될 수 있다. 그러한 온-더-플라이(on-the-fly) 최적화 단계는 뉴럴 네트워크의 효율 및 유효성을 크게 개선할 것이다.
발명의 실시예들에서, 다양한 운영 시스템들 및 파일 시스템들의 LBA들의 콘텐츠의 평균 판독/기입/중복기입 액세스는 일정 시간 기간에 걸쳐 다양한 운영 시스템들 및 파일 시스템들을 갖는 저장 디바이스의 컨트롤러에서 입력들/출력들을 레코딩함으로써 획득될 수 있다. 평균 판독/기입/중복기입 액세스는 또한 제3자 자원들로부터 획득될 수 있고 뉴럴 네트워크를 트레이닝하기 위해 사용될 수 있다.
부가적으로, 다양한 운영 시스템들, 파일 시스템들 및 이차 저장 시스템들 각각에 대해 액세스된 LBA들이 시스템마다 상이하므로, 이들 시스템들 각각에 대한 중대 데이터를 포함하는 LBA들의 레코드가 생성될 수 있으며 그것에 의해 중대 데이터는 파일 시스템의 마스터 파일 테이블 또는 그것의 등가 파일 구조, 마스터 부트 레코드, 부트 섹터, 사용자에 의해 정의된 중대 영역들, 보안 영역, 바이오스 파라미터 블록 또는 확장된 바이오스 파라미터 블록을 포함할 수 있지만, 이들에 제한되지 않는다. 그 다음, 이러한 레코드는 트레이닝된 뉴럴 네트워크 모델과 링크되고 캐시(107) 또는 버퍼(210)에 저장될 수 있거나 대안적으로, 위에 설명된 바와 같이 뉴럴 네트워크를 트레이닝하도록 제공된 트레이닝 데이터의 일부로서 사용될 수 있다. 따라서, 저장 디바이스의 기능이 식별되었으면, 즉 시스템 디바이스 또는 이차 저장 디바이스로서 동작하기 위해, 중대 데이터를 포함하는 저장 디바이스의 LBA들은 이때 이러한 레코드로부터 식별될 수 있다.
요약하면, 뉴럴 네트워크는 파일 시스템의 특정 영역들을 보호하기 위해 트레이닝될 것이고 트레이닝은 저장 디바이스 상에 구현되는 파일 시스템의 타입 및 중대 데이터를 포함하는 LBA들에 기초하여 행해질 것이다. 파일 시스템의 타입을 식별하기 위한 정보는 제1 LBA, 즉 LBA0에서의 콘텐츠로부터 획득될 수 있다. 그러나, 본 기술분야의 통상의 기술자는 관련 콘텐츠가 초기에 LBA0에서 발견될 수 있지만, 특정 타입들의 파일 시스템들에 대해, 그것이 너무 방대할 수 있거나 정보가 구조화되는 방식으로 인해, 그것이 다수의 LBA, 예를 들어 LBA "0" 내지 LBA "48"에 걸쳐 분산될 수 있는 것을 인식할 것이다. 발명의 실시예들에서, 각각의 뉴럴 네트워크는 중대 LBA들이 파일 시스템마다 변화되므로 각각의 타입의 파일 시스템을 위해 최적화될 수 있다. 그와 같이, 사용되어야 하는 트레이닝된 뉴럴 네트워크의 타입은 저장 디바이스의 파일 시스템에 의존할 수 있고 트레이닝된 뉴럴 네트워크의 성능은 적절히 트레이닝된 뉴럴 네트워크가 적절한 파일 시스템에 사용되도록 선택되었다면 더 효율적이고 효과적일 수 있고 이러한 액션은 트레이닝된 뉴럴 네트워크의 프라이밍으로 간주될 수 있다.
도 4는 발명의 실시예들에 따라 호스트 디바이스에 통신 연결되는 저장 디바이스에서 악성 액티비티들을 검출하기 위한 프로세스(400)를 예시하며 그것에 의해 프로세스(400)는 저장 디바이스의 컨트롤러 내에 제공된 바와 같이 위협 검출 모듈(250)로 구현될 수 있다. 프로세스(400)는 단계(405)에서 시작하며 그것에 의해 호스트 디바이스로부터 컨트롤러로 송신된 제1 논리 블록 어드레스(LBA)는 프로세스(400)에 의해 카피된다. 그 다음, 프로세스(400)는 제1 LBA에서 콘텐츠를 검색하는 것으로 진행하며, 그것에 의해 검색된 콘텐츠는 컨트롤러 내에 제공된 데이터 모듈로부터 검색되는 트레이닝된 뉴럴 네트워크를 프라이밍하기 위해 사용된다. 이것이 발생하면, 식별된 파일 시스템/운영 시스템/저장 시스템을 위해 최적화되었던 특정 뉴럴 네트워크가 로딩되고 프라이밍된다.
검색된 콘텐츠 및/또는 프라이밍된 트레이닝된 뉴럴 네트워크에 기초하여, 연관된 파일 시스템에 대한 중대 데이터를 포함하는 LBA들의 레코드는 이때 단계(410)에서 로딩된다. 그 다음, 이러한 레코드는 프로세스(400)에 의해 감시되어야 하는 저장 디바이스의 LBA들을 식별하기 위해 사용된다. 그 다음, 단계(415)에서, 프로세스(400)는 감시 하에 LBA들에 송신된 명령어들을 미러링하고 또한 호스트 디바이스에 후속 송신되는 이들 LBA들로부터 콘텐츠를 미러링한다. 그 다음, 프로세스(400)는 단계(420)에서, 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티들이 저장 디바이스에서 발생하고 있는지를 결정한다.
프로세스(400)는 단계(420)에서 악성 액티비티들이 저장 디바이스 내에 발생하고 있는 것을 결정하면, 프로세스(400)는 이때 적절한 알람 또는 경고가 발령될 것이거나 대안적으로 저장 디바이스가 락다운될 수 있는 단계(425)로 진행될 것이다. 그 다음, 프로세스(400)는 종료된다. 역으로, 어떠한 악성 액티비티들도 단계(420)에서 프로세스(400)에 의해 검출되지 않으면, 프로세스(400)는 이때 종료될 것이다. 그 다음, 프로세스(400)는 발생할 수 있는 임의의 악성 액티비티들을 검출할 수 있도록 저장 디바이스가 부팅되거나 시동될 때마다 자체로 반복될 것이다.
도 5는 연관된 호스트 디바이스의 부팅 또는 시동 동안 데이터 모듈로부터 검색되는 트레이닝된 뉴럴 네트워크를 프라이밍하기 위한 모듈(250)로 구현될 수 있는 프로세스(500)를 예시한다. 프로세스(500)는 제1 LBA(단계(405)에서 프로세스(400)에 의해 카피된 바와 같음)에서 또는 콘텐츠가 제1 LBA를 넘어 연장되면 다른 LBA들에서 발견된 콘텐츠로부터 한 세트의 값들 또는 매직 넘버들을 선택함으로써 단계(505)에서 시작한다. 그 다음, 이들 세트의 값들 또는 매직 넘버들은 저장 디바이스의 캐시 또는 버퍼로 사전 로딩된 매직 넘버 룩업 테이블과 비교된다. 세트의 값들/매직 넘버들을 매직 넘버 룩업 테이블에 포함된 것과 매칭시킴으로써, 프로세스(500)는 이때 운영 시스템 및 그것의 파일 시스템의 타입을 결정할 수 있거나 저장 디바이스의 파일 시스템과 연관되는 시스템 구성의 타입(예를 들어, 이차 저장 파일 시스템)을 결정할 수 있다. 식별된 파일 시스템에 중대한 LBA들은 또한 트레이닝된 뉴럴 네트워크가 이들 LBA들을 감시해야 하는 것을 인식하도록 이러한 단계에서 식별된다. 그 다음, 프로세스(500)는 단계(515)에서 이러한 정보에 기초하여 트레이닝된 뉴럴 네트워크를 프라이밍하는 것으로 진행하며 그것에 의해 그것이 적절한 파일 시스템에 사용되도록 프라이밍되었으므로 트레이닝된 뉴럴 네트워크의 검출 속도를 가속한다.
다수의 다른 변경, 치환, 변화 및 수정은 본 기술분야의 통상의 기술자에 의해 확인될 수 있고 본 발명은 첨부된 청구항들의 범위 내에 있는 바와 같이 모든 그러한 변경들, 치환들, 변화들 및 수정들을 망라하는 것으로 의도된다.

Claims (16)

  1. 저장 디바이스에서 악성 액티비티를 검출하기 위한 모듈로서, 그것에 의해 상기 모듈은 상기 저장 디바이스의 컨트롤러 내에 제공되며, 상기 모듈은,
    호스트 디바이스로부터 상기 컨트롤러에 송신된 제1 논리 블록 어드레스(LBA0)를 검색하고 상기 제1 LBA0에서 콘텐츠를 검색하며 - 그것에 의해 상기 검색된 콘텐츠는 상기 컨트롤러 내에 제공된 데이터 모듈로부터 검색되는 트레이닝된 뉴럴 네트워크를 프라이밍하기 위해 사용됨 - ;
    상기 제1 LBA0에서의 콘텐츠 및 상기 트레이닝된 뉴럴 네트워크를 사용하여, 감시되어야 하는 저장 디바이스의 논리 블록 어드레스들(LBAs)을 식별하고;
    상기 호스트 디바이스에 의해 상기 식별된 LBA들에 송신된 명령어들을 상기 컨트롤러에 미러링하고, 상기 미러링된 LBA들의 콘텐츠를 미러링하고;
    상기 트레이닝된 뉴럴 네트워크를 사용하여, 상기 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 상기 저장 디바이스에서 발생하고 있는지를 결정하도록 구성되며, 상기 뉴럴 네트워크는 상이한 타입들의 운영 시스템들 또는 이차 저장 동작들에 대해 상기 운영 시스템들 또는 상기 이차 저장 동작들과 연관되는 파일 시스템들의 마스터 부트 레코드들, 중대 레코드들, 마스터 파일 테이블들, 부트 섹터들, 바이오스(BIOS) 파라미터 블록들 또는 확장된 바이오스 파라미터 블록들에 관련된 LBA들에서 콘텐츠의 평균 판독/기입/중복기입 액세스에 기초하여 트레이닝되는, 모듈.
  2. 제1항에 있어서, 상기 연관된 트레이닝된 뉴럴 네트워크의 프라이밍은 상기 모듈이,
    상기 제1 LBA0에서의 콘텐츠로부터 한 세트의 매직 넘버들을 선택하고 - 그것에 의해 상기 선택된 세트의 매직 넘버들은 상기 컨트롤러의 파일 시스템과 연관되는 일 타입의 운영 시스템 또는 일 타입의 이차 저장 동작을 결정하기 위해 매직 넘버 룩업 테이블에 사용되며, 그것에 의해 상기 매직 넘버 룩업 테이블은 상기 데이터 모듈로부터 획득됨 - ;
    상기 데이터 모듈로부터 상기 결정된 타입의 운영 시스템 또는 이차 저장 동작에 관련된 악성 액티비티들을 검출하기 위해 상기 트레이닝된 뉴럴 네트워크를 프라이밍하도록 구성되는 것을 포함하는, 모듈.
  3. 제2항에 있어서, 상기 트레이닝된 뉴럴 네트워크를 프라이밍하는 것은 상기 모듈이 상기 컨트롤러의 파일 시스템과 연관되는 결정된 타입의 운영 시스템 또는 결정된 타입의 이차 저장 동작을 위해 최적화되었던 트레이닝된 뉴럴 네트워크를 선택하도록 구성되는 것을 포함하는, 모듈.
  4. 제1항에 있어서, 감시되어야 하는 저장 디바이스의 LBA들을 식별하는 것은 상기 모듈이,
    상기 프라이밍된 트레이닝된 뉴럴 네트워크와 연관되는 결정된 타입의 운영 시스템 또는 이차 저장 동작에 기초하여, 중대 데이터를 포함하는 LBA들을 식별하도록 구성되는 것을 포함하며 그것에 의해 상기 중대 데이터는 적어도, 상기 저장 디바이스와 연관되는 파일 시스템의 마스터 파일 테이블, 마스터 부트 레코드, 부트 섹터, 바이오스 파라미터 블록 또는 확장된 바이오스 파라미터 블록을 포함하는, 모듈.
  5. 제1항에 있어서, 상기 모듈은,
    상기 미러링된 명령어들 및 콘텐츠에 기초하여 상기 저장 디바이스에서 발생한 것으로 결정된 악성 액티비티를 사용하여 상기 트레이닝된 뉴럴 네트워크를 최적화하도록 추가로 구성되는, 모듈.
  6. 제1항 또는 제5항에 있어서, 상기 모듈은,
    상기 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 상기 저장 디바이스에서 발생한 것으로 결정되었다는 결정에 응답하여 상기 저장 디바이스를 락다운(lockdown)하도록 추가로 구성되는, 모듈.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 트레이닝된 뉴럴 네트워크는 인공 뉴럴 네트워크를 포함하는, 모듈.
  8. 제7항에 있어서, 상기 인공 뉴럴 네트워크는 순환 뉴럴 네트워크(RNN) 또는 컨볼루션 뉴럴 네트워크(CNN)를 포함하는, 모듈.
  9. 저장 디바이스에서 악성 액티비티를 검출하기 위한 방법으로서,
    상기 저장 디바이스의 컨트롤러 내에 제공된 모듈을 사용하여, 호스트 디바이스로부터 상기 컨트롤러에 송신된 제1 논리 블록 어드레스(LBA0)를 검색하는 단계;
    상기 모듈을 사용하여, 상기 제1 LBA0에서 콘텐츠를 검색하는 단계 - 그것에 의해 상기 검색된 콘텐츠는 상기 컨트롤러 내에 제공된 데이터 모듈로부터 검색되는 트레이닝된 뉴럴 네트워크를 프라이밍하기 위해 사용됨 - ;
    상기 모듈을 사용하여, 상기 제1 LBA0에서의 콘텐츠 및 상기 트레이닝된 뉴럴 네트워크를 사용하여, 감시되어야 하는 저장 디바이스의 논리 블록 어드레스들(LBAs)을 식별하는 단계;
    상기 모듈을 사용하여, 상기 호스트 디바이스에 의해 상기 식별된 LBA들에 송신된 명령어들을 상기 컨트롤러에 미러링하고, 상기 미러링된 LBA들의 콘텐츠를 미러링하는 단계; 및
    상기 트레이닝된 뉴럴 네트워크를 사용하여, 상기 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 상기 저장 디바이스에서 발생하고 있는지를 결정하는 단계를 포함하며, 상기 뉴럴 네트워크는 상이한 타입들의 운영 시스템들 또는 이차 저장 동작들에 대해 상기 운영 시스템들 또는 상기 이차 저장 동작들과 연관되는 파일 시스템들의 마스터 부트 레코드들, 중대 레코드들, 마스터 파일 테이블들, 부트 섹터들, 바이오스(BIOS) 파라미터 블록들 또는 확장된 바이오스 파라미터 블록들에 관련된 LBA들에서 콘텐츠의 평균 판독/기입/중복기입 액세스에 기초하여 트레이닝되는, 방법.
  10. 제9항에 있어서, 상기 연관된 트레이닝된 뉴럴 네트워크의 프라이밍은,
    상기 모듈을 사용하여, 상기 제1 LBA0에서의 콘텐츠로부터 한 세트의 매직 넘버들을 선택하는 단계 - 그것에 의해 상기 선택된 세트의 매직 넘버들은 상기 컨트롤러의 파일 시스템과 연관되는 일 타입의 운영 시스템 또는 일 타입의 이차 저장 동작을 결정하기 위해 매직 넘버 룩업 테이블에 사용되며, 그것에 의해 상기 매직 넘버 룩업 테이블은 상기 데이터 모듈로부터 획득됨 - ; 및
    상기 모듈을 사용하여, 상기 데이터 모듈로부터 상기 결정된 타입의 운영 시스템 또는 이차 저장 동작에 관련된 악성 액티비티들을 검출하기 위해 상기 트레이닝된 뉴럴 네트워크를 프라이밍하는 단계를 포함하는, 방법.
  11. 제10항에 있어서, 상기 트레이닝된 뉴럴 네트워크를 프라이밍하는 단계는 상기 컨트롤러의 파일 시스템과 연관되는 결정된 타입의 운영 시스템 또는 결정된 타입의 이차 저장 동작을 위해 최적화되었던 트레이닝된 뉴럴 네트워크를 선택하는 단계를 포함하는, 방법.
  12. 제9항에 있어서, 감시되어야 하는 저장 디바이스의 LBA들을 식별하는 단계는,
    상기 모듈을 사용하여, 상기 프라이밍된 트레이닝된 뉴럴 네트워크와 연관되는 결정된 타입의 운영 시스템 또는 이차 저장 동작에 기초하여, 중대 데이터를 포함하는 LBA들을 식별하는 단계를 포함하며 그것에 의해 상기 중대 데이터는 적어도, 상기 저장 디바이스와 연관되는 파일 시스템의 마스터 파일 테이블, 마스터 부트 레코드, 부트 섹터, 바이오스 파라미터 블록 또는 확장된 바이오스 파라미터 블록을 포함하는, 방법.
  13. 제9항에 있어서, 상기 방법은,
    상기 모듈을 사용하여, 상기 미러링된 명령어들 및 콘텐츠에 기초하여 상기 저장 디바이스에서 발생한 것으로 결정된 악성 액티비티를 사용하여 상기 트레이닝된 뉴럴 네트워크를 최적화하는 단계를 추가로 포함하는, 방법.
  14. 제9항 또는 제13항에 있어서, 상기 방법은,
    상기 모듈을 사용하여, 상기 미러링된 명령어들 및 콘텐츠에 기초하여 악성 액티비티가 상기 저장 디바이스에서 발생한 것으로 결정되었다는 결정에 응답하여 상기 저장 디바이스를 락다운하는 단계를 추가로 포함하는, 방법.
  15. 제9항 내지 제13항 중 어느 한 항에 있어서, 상기 트레이닝된 뉴럴 네트워크는 인공 뉴럴 네트워크를 포함하는, 방법.
  16. 제15항에 있어서, 상기 인공 뉴럴 네트워크는 순환 뉴럴 네트워크(RNN) 또는 컨볼루션 뉴럴 네트워크(CNN)를 포함하는, 방법.
KR1020210127969A 2020-10-01 2021-09-28 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법 KR102363182B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG10202009754QA SG10202009754QA (en) 2020-10-01 2020-10-01 Module and method for detecting malicious activities in a storage device
SG10202009754Q 2020-10-01

Publications (1)

Publication Number Publication Date
KR102363182B1 true KR102363182B1 (ko) 2022-02-14

Family

ID=73698205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210127969A KR102363182B1 (ko) 2020-10-01 2021-09-28 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법

Country Status (10)

Country Link
US (1) US11055443B1 (ko)
EP (1) EP3979118B1 (ko)
JP (1) JP7202030B2 (ko)
KR (1) KR102363182B1 (ko)
CN (1) CN114282228B (ko)
AU (1) AU2021204804B1 (ko)
CA (1) CA3126591A1 (ko)
IL (1) IL286431B2 (ko)
SG (1) SG10202009754QA (ko)
TW (1) TWI751928B (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120255010A1 (en) * 2011-03-28 2012-10-04 Mcafee, Inc. System and method for firmware based anti-malware security
US20130291110A1 (en) * 2011-12-22 2013-10-31 Paul J. Thadikaran Systems and methods for providing anti-malware protection and malware forensics on storage devices
US20130291070A1 (en) * 2011-12-22 2013-10-31 Nicholas D. Triantafillou Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure
US10198595B2 (en) * 2015-12-22 2019-02-05 Walmart Apollo, Llc Data breach detection system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8490194B2 (en) 2006-01-31 2013-07-16 Robert Moskovitch Method and system for detecting malicious behavioral patterns in a computer, using machine learning
CN103853979B (zh) 2010-12-31 2018-01-16 北京奇虎科技有限公司 基于机器学习的程序识别方法及装置
CN106021147B (zh) * 2011-09-30 2020-04-28 英特尔公司 在逻辑驱动器模型下呈现直接存取的存储设备
US9185079B2 (en) * 2011-12-22 2015-11-10 Intel Corporation Method and apparatus to tunnel messages to storage devices by overloading read/write commands
CN102737186B (zh) 2012-06-26 2015-06-17 腾讯科技(深圳)有限公司 恶意文件识别方法、装置及存储介质
US9639275B2 (en) * 2014-08-06 2017-05-02 Seagate Technology Llc Managing data within a storage device based on file system metadata
US10121010B2 (en) * 2016-05-12 2018-11-06 Endgame, Inc. System and method for preventing execution of malicious instructions stored in memory and malicious threads within an operating system of a computing device
CN107742079B (zh) 2017-10-18 2020-02-21 杭州安恒信息技术股份有限公司 恶意软件识别方法及系统
US10963394B2 (en) * 2018-04-16 2021-03-30 Samsung Electronics Co., Ltd. System and method for optimizing performance of a solid-state drive using a deep neural network
US10944789B2 (en) 2018-07-25 2021-03-09 Easy Solutions Enterprises Corp. Phishing detection enhanced through machine learning techniques
US10769018B2 (en) * 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120255010A1 (en) * 2011-03-28 2012-10-04 Mcafee, Inc. System and method for firmware based anti-malware security
US20130291110A1 (en) * 2011-12-22 2013-10-31 Paul J. Thadikaran Systems and methods for providing anti-malware protection and malware forensics on storage devices
US20130291070A1 (en) * 2011-12-22 2013-10-31 Nicholas D. Triantafillou Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure
US10198595B2 (en) * 2015-12-22 2019-02-05 Walmart Apollo, Llc Data breach detection system

Also Published As

Publication number Publication date
IL286431B2 (en) 2024-01-01
CN114282228A (zh) 2022-04-05
EP3979118B1 (en) 2023-06-07
EP3979118C0 (en) 2023-06-07
EP3979118A1 (en) 2022-04-06
TWI751928B (zh) 2022-01-01
TW202215279A (zh) 2022-04-16
CN114282228B (zh) 2022-11-01
CA3126591A1 (en) 2022-04-01
IL286431A (en) 2022-04-01
SG10202009754QA (en) 2020-11-27
JP2022059563A (ja) 2022-04-13
JP7202030B2 (ja) 2023-01-11
IL286431B1 (en) 2023-09-01
NZ778067A (en) 2021-08-27
AU2021204804B1 (en) 2021-09-09
US11055443B1 (en) 2021-07-06

Similar Documents

Publication Publication Date Title
TWI494762B (zh) 用於管理快取資料及元資料的方法、電腦儲存媒體與電腦
US8024530B2 (en) Security erase of a delete file and of sectors not currently assigned to a file
US7895394B2 (en) Storage system
US8725945B2 (en) Method and system for governing an enterprise level green storage system drive technique
US9558128B2 (en) Selective management of security data
TWI498738B (zh) 檔案保護方法與系統及其記憶體控制器與記憶體儲存裝置
CN107657185A (zh) 用于安全删除文件的主机和存储系统及主机的操作方法
TW201909018A (zh) 資料儲存設備的安全快照管理
US8776232B2 (en) Controller capable of preventing spread of computer viruses and storage system and method thereof
KR102363182B1 (ko) 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법
CN100518061C (zh) 写一次读多次磁盘存储系统和设计方法
CN112825098A (zh) 数据保护方法、装置、计算设备及存储介质
CN116089327A (zh) 数据保护方法及相关设备
US11314453B2 (en) Memory system managing map data based on risk of malware—infection of host, and operating method thereof
NZ778067B2 (en) Module and method for detecting malicious activities in a storage device
JP2014059889A (ja) メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム
NZ778588A (en) Systems and methods for processing metadata
Kuts et al. Deleted Data Recovery on Solid-State Drives by Software Based Methods
JP2006018602A (ja) 3.5インチ定形型ディスク形状を持ったデータトランスミッション装置
KR102597220B1 (ko) 데이터 완전삭제 방법 및 시스템
US9274709B2 (en) Indicators for storage cells
US20220206904A1 (en) Device and method for managing recovery information of auxiliary storage device
JP2016177822A (ja) メモリシステム
CN117056125A (zh) 管理数据备份方法、存储器存储装置及存储器控制器
MICRON Securely Erasing Micron® SATA SSDs

Legal Events

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