CN114282228B - 用于检测存储装置中的恶意活动的模块和方法 - Google Patents

用于检测存储装置中的恶意活动的模块和方法 Download PDF

Info

Publication number
CN114282228B
CN114282228B CN202110377934.7A CN202110377934A CN114282228B CN 114282228 B CN114282228 B CN 114282228B CN 202110377934 A CN202110377934 A CN 202110377934A CN 114282228 B CN114282228 B CN 114282228B
Authority
CN
China
Prior art keywords
module
neural network
storage device
content
logical block
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202110377934.7A
Other languages
English (en)
Other versions
CN114282228A (zh
Inventor
陈美玲
尼扎·布格拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fengli Co ltd
Original Assignee
Fengli Co ltd
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 Fengli Co ltd filed Critical Fengli Co ltd
Publication of CN114282228A publication Critical patent/CN114282228A/zh
Application granted granted Critical
Publication of CN114282228B publication Critical patent/CN114282228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Virology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Human Computer Interaction (AREA)

Abstract

本文描述了用于检测存储装置中的恶意活动的模块和方法,其中,在存储装置的控制器内提供该模块。该模块被配置为使用经训练的神经网络来监视包含敏感数据或信息的存储装置的文件***的适当逻辑块地址(LBA)的恶意活动。

Description

用于检测存储装置中的恶意活动的模块和方法
技术领域
本发明涉及一种用于检测存储装置中的恶意活动的模块和方法,其中,该模块设置在存储装置的控制器内。该模块被配置为利用经训练的神经网络来监视包含敏感数据或信息的存储装置的文件***的适当逻辑块地址(LBA)的恶意活动。
背景技术
存储装置通常包括固态装置(SSD)、硬盘驱动器(HDD)、光盘驱动器或磁盘驱动器。无论存储装置的类型如何,这些装置通常都通过其逻辑块地址(LBA)进行线性寻址。对于HDD、光盘驱动器或磁盘驱动器,LBA指定驱动器内存储的特定数据块的位置。例如,LBA 0将指磁盘驱动器中的第一磁头可访问的第一磁道上的第一扇区,如此,当主机装置访问LBA 0时,LBA 0处包含的内容将被提供给主机装置。
然而,与上述磁盘驱动器不同,SSD包括非易失性存储器,其可电擦除并且可重新编程,如此,其将不具有在逻辑块寻址***中提到的磁道或磁头。因此,SSD必须利用设置在SSD闪存控制器内的闪存转换层(FTL)来将主机装置的文件***逻辑块地址映射到闪存的物理地址(逻辑到物理映射)。换言之,主机装置仍将利用现有的LBA寻址方法来寻址SSD以进行读取/写入/重写操作。来自主机装置的这些命令将被FTL拦截,并且FTL将维护LBA与闪存的物理块地址(PBA)之间关系的映射。然后,SSD的控制器将使用PBA来执行接收到的命令。
最近,由于SSD具有比传统机械硬盘驱动器更多的优势,因此SSD已越来越广泛地用作存储装置。例如,SSD比HDD快得多,并且能够提供高达HDD的100倍的性能,这意味着更快的启动时间和更快的文件传输。与HDD相比,SSD消耗的功率也少得多,从而改善了功率和热效率。结果,SSD现在广泛地用于工业、医疗或军事应用。
通常,大多数SSD将与主机装置一起使用,并且可用于存储主机装置的操作***,即,用作主机的***驱动器,其中,与操作***关联的代码存储在SSD内,并且当主机装置启动时将对其进行访问。当SSD用作主机的***驱动器时,SSD将具有存储在逻辑块地址(LBA)0处的主引导记录(MBR),和存储在存储装置中的其他位置的主机装置的操作***代码。当主机装置首次访问存储装置时,指令将发送至LBA 0,以指示SSD将LBA 0处的内容发送至主机装置。这使主机装置能够从LBA 0读取MBR,其中,MBR通常将包含计算机可读程序代码,该代码在由主机装置执行时,使主机装置能够从存储装置读取操作***代码的其他部分,并且启动主机装置。
可替代地,SSD也可用作辅助存储介质(诸如USB闪存驱动器、存储卡或外部存储装置),以扩展主机装置可访问的存储容量。当主机装置首次访问这种SSD时,存储装置的LBA0处的内容将向主机装置指示其将用作辅助存储介质。
为了访问敏感应用程序中包含的信息,恶意第三方已采取各种手段和方式来感染此类存储装置的MBR。常见的方法涉及恶意第三方在对存储装置的MBR或其他引导扇区进行脱根(de-root)之前获得对存储装置的***级别访问,并导致在其中安装受损的操作***。
为了保护操作***免受篡改并防止在存储装置放错位置的情况下访问重要的私人信息,本领域技术人员已经提出,操作***代码(包括MBR)由安装在存储装置内的软件加密,并经受认证过程,使得MBR和操作***代码只能由授权用户访问。由于控制器在认证存储装置的用户之前将无法读取MBR,因此存储装置可以存储“替代”主引导记录(MBR),该主引导记录(MBR)导致认证信息被在存储装置中运行的认证程序收集和验证。
成功认证存储装置的用户后,存储装置将LBA 0重新映射到原始MBR,使得存储装置可以接收实际的MBR并正常启动。这种方法的缺点是,如果用户的认证凭据受到破坏,则这意味着MBR和操作***代码也将受到危害。
另外,本领域技术人员提出的解决方案要求被监视的存储装置的操作***、分区***或引导区域是已知的,并且预加载到这些解决方案中,然后可以由这些解决方案充分保护存储装置。换言之,现有解决方案无法自动识别被监视的存储装置的操作***、分区***或引导区域,并且此类信息必须由用户提供给现有的监视解决方案。对于存储装置的控制器,存储装置内包含的所有信息包括用户的数据,并且其在默认情况下无法区分该数据。当被监视的存储装置的操作***、分区***或引导区域被用户修改或错误选择时,这尤其成为问题,结果,存储装置可能会意外受损。
由于上述原因,即使没有通过用户向该装置的存储器提供存储装置的操作***、分区***或引导区域,本领域技术人员也一直在努力提出一种能够检测存储装置中的恶意活动的模块和方法。
发明内容
通过根据本发明的实施例提供的***和方法,解决了以上和其他问题,并且在本领域取得了进步。
根据本发明的模块和方法的实施例的第一优点在于,该模块能够识别安装在存储器装置内的操作***的类型。
根据本发明的模块和方法的实施例的第二优点在于,该模块能够自动且有效地检测存储装置内的特定位置内发生的恶意活动。
根据本发明的模块和方法的实施例的第三优点在于,将以固件级别监视存储装置的逻辑块地址,并且不要求在可能检测到并阻止恶意活动之前启动操作***。
根据本发明的模块和方法的实施例的第四优点在于,由于模块被配置为检测两种配置中的恶意活动,即使存储装置从主机装置移除且被重新配置为辅助存储装置,仍将保护包含在存储装置(其已被配置为用作主机装置的***装置)内的内容免受恶意第三方。
根据本发明的模块和方法的实施例的第五优点在于,当模块被实现为存储装置控制器的固件的一部分时,可以以操作***级别不禁用该模块。
由以以下方式操作的根据本发明的方法的实施例提供了以上优点。
根据本发明的第一方面,提供了用于检测存储装置中的恶意活动的模块,其中,该模块设置在存储装置的控制器内,该模块被配置为:从主机装置检索发送至控制器的第一逻辑块地址(LBA0),并且检索第一LBA0处的内容,其中,所检索的内容用于启用从设置在控制器内的数据模块检索的经训练的神经网络;利用第一LBA0处的内容和经训练的神经网络来识别要被监视的存储装置的逻辑块地址(LBA);将主机装置发送至所识别的LBA的指令镜像到控制器,并且将经镜像的LBA的内容镜像;基于经镜像的指令和内容利用经训练的神经网络来确定是否在存储装置处发生恶意活动,其中,基于与同操作***或辅助存储操作关联的文件***的主引导记录、主文件表、引导扇区、BIOS参数块或扩展的BIOS参数块有关的LBA处的内容的平均读取/写入/重写访问,针对不同类型的操作***或辅助存储操作来训练神经网络。
关于本发明的第一方面,启用关联的经训练的神经网络包括模块被配置为:从LBA0处的内容选择一组幻数,其中,所选择的一组幻数与幻数查找表一起用来确定与存储控制器的文件***关联的操作***的类型或辅助存储操作的类型,其中,从数据模块获得幻数查找表;以及启用经训练的神经网络,以从数据模块检测与操作***或辅助存储操作的经确定的类型有关的恶意活动。
关于本发明的第一方面,识别要被监视的存储装置的LBA包括模块被配置为:基于与所启用的经训练的神经网络关联的操作***或辅助存储操作的经确定的类型来识别包含关键数据的LBA,其中,关键数据至少包括与存储装置关联的文件***的主文件表、主引导记录、引导扇区、BIOS参数块或扩展的BIOS参数块。
关于本发明的第一方面,模块还被配置为:利用基于经镜像的指令和内容而被确定为已经在所述存储装置处发生的恶意活动,来优化所述经训练的神经网络。
关于本发明的第一方面,模块还被配置为:响应于基于经镜像的指令和内容而被确定在存储装置处已经发生恶意活动的确定来锁定存储装置。
关于本发明的第一方面,经训练的神经网络包括人工神经网络、循环神经网络(RNN)或卷积神经网络(CNN)中的一个。
根据本发明的第二方面,公开了用于检测存储装置中的恶意活动的方法,所述方法包括以下步骤:利用设置在存储装置的控制器内的模块从主机装置检索发送至控制器的第一逻辑块地址(LBA0);利用模块来检索第一LBA0处的内容,其中,所检索的内容用于启用从设置在控制器内的数据模块检索的经训练的神经网络;使用模块,利用第一LBA0处的内容和经训练的神经网络,来识别要被监视的存储装置的逻辑块地址(LBA);利用模块,通过主机装置将发送至所识别的LBA的指令镜像到控制器,并且镜像经镜像的LBA的内容;以及基于经镜像的指令和内容利用经训练的神经网络来确定是否在存储装置处发生恶意活动,其中,基于与同操作***或辅助存储操作关联的文件***的主引导记录、主文件表、引导扇区、BIOS参数块或扩展的BIOS参数块有关的LBA处的内容的平均读取/写入/重写访问,针对不同类型的操作***或辅助存储操作来训练神经网络。
关于本发明的第二方面,启用关联的经训练的神经网络包括以下步骤:利用模块,从第一LBA0处的内容选择一组幻数,其中,所选择的一组幻数与幻数查找表一起用来确定与存储控制器的文件***关联的操作***的类型或辅助存储操作的类型,其中,从数据模块获得幻数查找表;以及利用模块,启用经训练的神经网络,以从数据模块检测与操作***或辅助存储操作的经确定的类型有关的恶意活动。
关于本发明的第二方面,识别要被监视的存储装置的LBA包括以下步骤:利用所述模块,基于与所启用的经训练的神经网络关联的操作***或辅助存储操作的经确定的类型,来识别包含关键数据的LBA,其中,关键数据至少包括与存储装置关联的文件***的主文件表、主引导记录、引导扇区、BIOS参数块或扩展的BIOS参数块。
关于本发明的第二方面,该方法还包括以下步骤:利用所述模块,利用基于经镜像的指令和内容而被确定为已经在所述存储装置处发生的恶意活动,来优化所述经训练的神经网络。
关于本发明的第二方面,该方法还包括以下步骤:利用所述模块,响应于基于经镜像的指令和内容而被确定在所述存储装置处已经发生恶意活动的确定,来锁定所述存储装置。
关于本发明的第二方面,经训练的神经网络包括人工神经网络、循环神经网络(RNN)或卷积神经网络(CNN)中的一个。
附图说明
通过在详细描述中描述并在以下附图中示出的根据本发明的***和方法的特征和优点解决了以上和其他问题。
图1示出了根据本发明的实施例的包含在存储装置内的模块的框图;
图2示出了根据本发明的实施例的包含在存储装置的控制器内的模块的框图;
图3示出了根据本发明的实施例的存储装置中的文件***的示例性引导扇区;
图4示出了根据本发明的实施例的用于检测存储装置中的恶意活动的过程或方法的流程图;以及
图5示出了根据本发明的实施例的用于启用(prime)经训练的神经网络的过程或方法的流程图。
具体实施方式
本发明涉及一种用于检测存储装置中的恶意活动的模块和方法,其中,该模块设置在存储装置的控制器内。该模块被配置为利用经训练的神经网络来监视包含敏感数据或信息的存储装置的文件***的适当逻辑块地址(LBA)的恶意活动,其中,基于与同操作***或辅助存储操作关联的文件***的主引导记录、主文件表、引导扇区、BIOS参数块或扩展的BIOS参数块有关的LBA处的内容的平均读取/写入/重写访问,针对不同类型的操作***或辅助存储操作来训练神经网络。
现在将参照如附图中所示的本发明的若干实施例详细地描述本发明。在下面的描述中,为了提供对本发明的实施例的彻底的理解,阐述了许多特征。然而,对于本领域技术人员将显而易见,在没有这些特定特征中的一些或全部的情况下也可以实施这些实施例。这样的实施例还应落入当前的发明的范围内。另外,不会在下面详细地描述某些过程步骤和/或结构,并且读者将被引用到对应的引用,以免不必要地使本发明晦涩难懂。
另外,本领域技术人员将认识到,在整个说明书中,本描述中的许多功能单元都被标记为模块。本领域技术人员还将认识到,模块可以被实现为电路、逻辑芯片或任何种类的分立组件。更进一步地,本领域的技术人员还将认识到,模块可以以软件来实现,然后可以由各种处理器架构来执行该软件。在本发明的实施例中,模块还可以包括计算机指令、固件或可执行代码,它们可以基于接收到的指令来指示计算机处理器执行一系列事件。模块的实现方式的选择留给本领域技术人员作为设计选择,并且不以任何方式限制本发明的范围。
以下步骤阐述了根据本发明的实施例的用于检测存储装置中的恶意活动的示例性过程或方法。由设置在存储装置的控制器内的模块实现的过程或方法的步骤如下:
步骤1:从主机装置检索发送至控制器的第一逻辑块地址(LBA0),并且检索第一LBA0处的内容,其中,所检索的内容用于启用从设置在控制器内的数据模块检索的经训练的神经网络;
步骤2:利用第一LBA0处的内容和经训练的神经网络来识别要被监视的存储装置的逻辑块地址(LBA);
步骤3:将主机装置发送至所识别的LBA的指令镜像到控制器,并且镜像经镜像的LBA的内容;
步骤4:基于经镜像的指令和内容利用经训练的神经网络来确定是否在存储装置处发生恶意活动,其中,基于与同操作***或辅助存储操作关联的文件***的主引导记录、主文件表、引导扇区、BIOS参数块或扩展的BIOS参数块有关的LBA处的内容的平均读取/写入/重写访问,针对不同类型的操作***或辅助存储操作来训练神经网络。
根据本发明的实施例,如图1中所示,可以通过包含在存储装置100的控制器105内的模块来执行(carry out/execute)以上阐述的步骤,其中,存储装置100另外包括高速缓存107、闪存110a至110h和接口120。存储装置100可以包括各种类型的固态装置/驱动器,高速缓存107可以包括动态随机存取存储器(DRAM),并用于缓存用户数据和内部SSD元数据两者。闪存110a至110h可以包括可被电子擦除和重新编程的任何类型的电子非易失性计算机存储器存储介质,诸如NAND或NOR闪存。接口120用作主机***与存储装置100之间的物理接口,其中,现有的存储标准和接口(诸如但不限于小型计算机***接口(SCSI)协议、串行高级技术附件(SATA)协议、串行附件SCSI(SAS)、非易失性存储器标准(NVMe)、周边装置互连高速(PCIe)或任何类似接口)可以用作用于将存储装置100通信连接至主机装置(诸如计算机)的链接。
控制器105是具有独立处理的复杂嵌入式***,并且与包含在控制器105内的固件和模块一起用来管理存储装置100的所有方面,包括保护和控制存储在闪存110a至110h中的内容。该控制器最常见地实现为SoC(片上***)设计,该设计由多个硬件加速功能块/模块组成,这些功能块/模块耦合到一个或多个嵌入式处理器核。
图2中示出了包含在控制器105内的功能块。具体地,图2示出了控制器105可以包括微控制器205、缓冲器210、闪存接口模块(FIM)215a至215c和威胁检测模块250。微控制器205包括位于控制器105内部的处理器,并且其任务是接收和操纵输入数据。本文中,术语“处理器”通常用于指可以处理此类指令的任何装置或组件,并且可以包括:微处理器、微控制器、可编程逻辑装置或其他计算装置。即,微控制器205可以由任何适当的逻辑电路***提供,以用于接收输入,根据存储在存储器中的指令来处理输入并生成输出。在该实施例中,微控制器205可以是具有存储器可寻址空间的单核处理器。缓冲器210可以被视为数据模块,因为其可以包括用于执行控制器105的固件或存储将由模块250访问的数据/信息的SRAM(静态RAM)。威胁检测模块250用于:镜像控制器105处的输入/输出;根据本发明的实施例,训练并加载适当的经训练的神经网络以检测可能在存储装置内发生的恶意活动和相关任务。FIM 215a至215c用作控制器105与闪存110a至110h之间的物理和逻辑互连,以允许控制器同时与多个闪存通信。本领域的技术人员将认识到,上述各种存储器组件包括非暂时性计算机可读介质,并且应被视为包括除了瞬时传播信号以外的所有计算机可读介质。通常,指令作为程序代码存储在存储器组件中,但也可以是硬连线的。尽管未示出,但是控制器105还包括用于将LBA从主机装置转换为闪存的物理块地址(PBA)的闪存转换层(FTL)。为简洁起见,省略了FTL的详细工作,因为其对于本领域技术人员来说是已知的。
当启动主机装置(未示出)时并且在存储装置100用作主机装置的***装置的假设下,其操作***将不包含在主机装置的ROM或RAM中。它将存储在存储装置100中。如此,为了促进操作***的加载,主机装置将执行存储在将适当的指令发送至存储装置100的LBA'0'(LBA0)的主机装置的ROM中的固件。在接收到寻址到其LBA'0”的这些指令后,存储装置100将发回存储在对应于LBA'0'的物理块地址处的数据。在幕后(behind the scenes),由存储装置100的控制器105接收到的逻辑块地址将通过设置在控制器105内的FTL转换为合适的物理块地址。然而,对于主机装置,这一切都是看不见的,并且要理解,当指令寻址到存储装置100的LBA时,将在控制器105中自动发生LBA与PBA之间的所有必要转换。
通常,在***装置中,LBA方案中的第一LBA(即LBA'0')可以包含但不是仅限于,包括计算机可读程序代码的主引导记录(MBR),该计算机可读程序代码当由主机装置执行时,使主机装置能够从存储装置100读取操作***代码的其他部分并启动主机装置。LBA是一种常见方案,其用于指定存储在存储装置100内的数据块的位置,并为主机装置提供一种简单的线性寻址方法,以在主机装置不必知道存储装置的物理扇区位置或PBA的情况下访问存储在存储装置100内的内容。如此,当主机装置访问存储装置的各种分区、文件***或任何其他特殊区域时,与这些区域关联的LBA将由主机装置发送至存储装置100的控制器105,使得控制器105可以使用此信息来检索主机装置的相关数据/信息。
当控制器105从主机装置接收LBA及其相关指令,并基于接收到的指令将LBA的内容返回给主机装置时,威胁检测模块250被配置为镜像所有这些,这可以通过将控制器105处发生的所有输入和输出进行记录来完成。换言之,威胁检测模块250可以通过记录由控制器105接收到的指令以及该指令所针对的LBA来实现这一点。然后,在将数据和/或信息发送回请求主机装置之前,在这些LBA处提供的数据和/或信息也可以由模块250记录。
图3中示出了在逻辑块地址'0'(LBA0)处提供的文件***的示例性引导扇区。如所示出的,示出了引导扇区300包括具有多个长度和它们各自的偏移的多个字段。每个字段将具有将与特定含义或命令关联的其自身的典型值。这些值可以包括但不限于,基于每种类型的操作***/文件***/存储***的每种特定含义/命令生成的十六进制数或幻数,如此,每个含义或命令将与唯一值关联。例如,值“EB”可以与“每个扇区的字节数”关联,值“52”可以与“每个簇的扇区数”相关联,值“67”可以与“OEM ID”关联,值“J9”可以与“BPB”关联,值“34”可以与“扩展的BPB”关联等。
在本发明的该示例性实施例中,特别令人感兴趣的将是如图3中所示的包含在LBA0的数据305处的密钥信息,例如,可以包括BIOS参数块(BPB)和扩展的BPB,并且本领域技术人员将认识到这仅是示例,并且也可以使用LBA0处的其他内容。基于包含在数据305中的信息,可以确定关于存储装置的文件***的以下信息:每个扇区的字节数、每个簇的扇区数、媒体描述符的类型、扇区的总数、主文件表(MFT)或其等效结构的位置、主文件表的副本的位置、每个MFT记录的簇数、每个索引缓冲区的簇数、文件***的类型、操作***和卷的序列号。然后,该信息可以用于确定存储装置的文件***的操作***、存储装置的文件***和/或存储装置的文件***的操作。本领域技术人员将认识到,在不脱离本发明的情况下,其他信息可以包括在数据305内和LBA0的内容内。
根据本发明的实施例,可以将幻数查找表预加载到高速缓存107或缓冲器210中。如本领域技术人员所公知的,幻数指针对特定信息或数据生成的恒定数值。如此,这些幻数可以用于识别特定的文件格式或协议,或者可以指不太可能被误解为其他含义的独特唯一值。在本发明的该实施例中,预加载的幻数查找表中的每个幻数指操作***的特定类型和/或诸如辅助存储文件***之类的文件***的类型。应注意,该查找表可以根据需要定期更新,或者每当引入新的操作***、辅助存储文件***或其他类型的文件***时更新。然后,可以将幻数查找表中的信息与在LBA0处找到的内容进行匹配,并且然后基于所得匹配,模块250可以确定与存储装置关联的操作***/文件***/存储***的类型。
通过这样做,然后,威胁检测模块250可以利用该信息来启用模块250内包含的经训练的神经网络,以检测针对特定类型的操作***或辅助存储操作的恶意活动,因为每个文件***将具有包含关键内容、信息或数据的其自身的唯一LBA列表。在本发明的实施例中,关键内容或记录包括但不限于,影响存储装置的用户的数据、影响存储装置的正常操作的数据和/或任何这样的类似数据。换言之,模块250可以使用该信息来识别将由经训练的神经网络密切监视的存储装置100的文件***中的LBA,其中,这些LBA对于安装在在存储装置内的文件***的类型可能是唯一的。另外,也可以选择并加载已针对操作***或文件***的识别的类型进行了优化的经训练的神经网络。一旦上述参数已被初始化,然后,模块250可以使用所启用的经训练的神经网络来针对恶意活动监视存储装置100。
在本发明的实施例中,神经网络模型设置在缓冲器210或高速缓存107内,并且该神经网络可以包括但不限于,人工神经网络,诸如循环神经网络(RNN)、递归神经网络或卷积神经网络(CNN)。在用于检测在存储装置的文件***中发生的恶意活动之前,该神经网络模型将已经过预训练。
具体地,将已经基于与同操作***或辅助存储文件***(其安装在用作辅助存储操作的存储装置中)的每种类型关联的文件***的主引导记录、主文件表、引导扇区、BIOS参数块和/或扩展的BIOS参数块有关的特定LBA或PBA处的内容的平均读取/写入/重写访问来训练神经网络模型。
换言之,将已经基于各种输入向量(诸如在各种类型的操作***及其相应文件***的操作期间或者在存储装置作为辅助存储***的操作期间通常访问的LBA内容的平均读取/写入/重写访问)来训练神经网络模型。如此,任何偏离这些常规动作的活动可能导致神经网络将触发活动标记为恶意活动。标记的恶意活动以及由这些恶意活动访问的LBA还可用于训练神经网络,其中,可以在其训练阶段将以上数据的组合提供给神经网络,以优化神经网络的训练。
在本发明的其他实施例中,还可以使用在存储装置的正常操作期间检测到的恶意活动来优化经训练的神经网络。这样的动态优化步骤将大大改善神经网络的效率和有效性。
在本发明的实施例中,可以通过在具有各种操作***和文件***的存储装置的控制器处记录输入/输出达一段时间,来获得对各种操作***和文件***的LBA的内容的平均读取/写入/重写访问。平均读取/写入/重写访问也可以从第三方资源获得,并且可以用于训练神经网络。
另外,由于针对各种操作***、文件***和辅助存储***中的每一个访问的LBA彼此不同,因此可以创建包含这些***中的每一个的关键数据的LBA的记录,其中,关键数据可以包括但不限于,文件***的主文件表或其等效文件结构、主引导记录、引导扇区、用户定义的关键区域、安全区域、BIOS参数块或扩展的BIOS参数块。然后,该记录可以与经训练的神经网络模型链接,并存储在高速缓存107或缓冲区210中,或者可替代地,可以用作如上所述为训练神经网络提供的训练数据的一部分。因此,一旦已经识别了存储装置的功能(即,要作为***装置或辅助存储装置操作),然后就可以从该记录中识别包含关键数据的存储装置的LBA。
总之,将对神经网络进行训练以保护文件***的某些区域,并且将基于在存储装置和包含关键数据的LBA上实现的文件***的类型来进行训练。可以从第一LBA(即,LBA0)处的内容获得用于识别文件***的类型的信息。然而,本领域的技术人员将认识到,尽管相关内容最初可以在LBA0处找到,但是对于某些类型的文件***,它可能是如此庞大,或由于构建信息的方式,其可能分布在多个LBA,例如,从LBA“0”到LBA“48”。在本发明的实施例中,当关键LBA从一个文件***到另一个文件***变化时,可以针对每种类型的文件***来优化每个神经网络。如此,要使用的经训练的神经网络的类型可以取决于存储装置的文件***,并且如果要选择使用适当的经训练的神经网络以及适当的文件***,则经训练的神经网络的性能可能更加有效和高效,并且当启用经训练的神经网络时,可以采用该动作。
图4示出了根据本发明的实施例的用于检测通信连接至主机装置的存储装置中的恶意活动的过程400,其中,过程400可以在设置在存储装置的控制器中时在威胁检测模块250中实现。过程400开始于步骤405,其中,通过过程400复制从主机装置发送至控制器的第一逻辑块地址(LBA)。然后,过程400继续检索第一LBA处的内容,其中,所检索的内容用于启用从设置在控制器内的数据模块检索的经训练的神经网络。当发生这种情况时,加载并启用已经针对所识别的文件***/操作***/存储***优化的特定神经网络。
基于所检索的内容和/或所启用的经训练的神经网络,然后,在步骤410,加载包含用于关联的文件***的关键数据的LBA的记录。然后,通过过程400,使用该记录来识别要被监视的存储装置的LBA。在步骤415,然后,过程400镜像发送至监视下的LBA的指令,并且还镜像来自这些LBA的内容,这些内容随后被发送至主机装置。然后,在步骤420,过程400基于经镜像的指令和内容,来确定是否在存储装置处发生了恶意活动。
如果过程400在步骤420确定在存储装置内正在发生恶意活动,则过程400随后将处理步骤425,其中,将发出适当的警报或警告,或者可替代地,可以锁定存储装置。然后,过程400结束。相反,如果过程400在步骤420未检测到恶意活动,则过程400将结束。然后,每次启动或开启存储装置时,过程400将自身重复,使得其将能够检测到可能发生的任何恶意活动。
图5示出了可以在模块250中实现的过程500,以用于在关联的主机装置的启动或开启期间启用从数据模块检索的经训练的神经网络。过程500从步骤505开始:从在第一LBA(如在步骤405中由过程400复制的)或其他LBA(如果内容扩展到第一LBA之外)找到的内容中选择一组值或幻数。然后将这些值或幻数集与已预加载到存储装置的高速缓存或缓冲器中的幻数查找表进行比较。通过将一组值/幻数与包含在幻数查找表中的一组值/幻数进行匹配,然后,过程500能够确定操作***及其文件***的类型,或者能够确定与存储装置的文件***关联的***配置的类型(例如,辅助存储文件***)。在此步骤还识别对所识别的文件***至关重要的LBA,使得经训练的神经网络将必须监视这些LBA。然后,在步骤515,过程500基于该信息启用经训练的神经网络,从而当其将已被启用以与适当的文件***一起使用时加速经训练的神经网络的检测速度。
本领域技术人员可以确定许多其他改变、替换、变化和修改,并且旨在本发明涵盖落入所附权利要求的范围内的所有这样的改变、替换、变化和修改。

Claims (18)

1.一种用于检测存储装置中的恶意活动的模块,其中,所述模块设置在所述存储装置的控制器内,所述模块被配置为:
从主机装置检索发送至所述控制器的第一逻辑块地址,并在所述第一逻辑块地址处检索内容,其中,所检索的内容用于启用从设置在所述控制器内的数据模块检索到的经训练的神经网络;
利用所述第一逻辑块地址处的内容和所述经训练的神经网络来识别所述存储装置的要被监视的第二逻辑块地址;
将所述主机装置发送至所识别的第二逻辑块地址的指令镜像至所述控制器,并且将经镜像的第二逻辑块地址的内容进行镜像;
利用所述经训练的神经网络,基于经镜像的指令和内容,来确定是否在所述存储装置处正在发生恶意活动,其中,基于与同操作***或辅助存储操作关联的文件***的主引导记录、关键记录、主文件表、引导扇区、BIOS参数块或扩展的BIOS参数块有关的第二逻辑块地址处的内容的平均读取、写入、重写访问,针对不同类型的操作***或辅助存储操作,来训练所述神经网络。
2.根据权利要求1所述的模块,其中,启用关联的经训练的神经网络包括所述模块被配置为:
从所述第一逻辑块地址处的内容中选择一组幻数,其中,所选择的一组幻数与幻数查找表一起用来确定与所述控制器的文件***关联的操作***的类型或辅助存储操作的类型,其中,从所述数据模块获得所述幻数查找表;以及
启用所述经训练的神经网络以从所述数据模块检测与操作***或辅助存储操作的经确定的类型有关的恶意活动。
3.根据权利要求2所述的模块,其中,启用经训练的神经网络包括所述模块被配置为选择已经针对与所述控制器的文件***关联的操作***的经确定的类型或辅助存储操作的经确定的类型优化的经训练的神经网络。
4.根据权利要求2所述的模块,其中,所述识别所述存储装置的要被监视的第二逻辑块地址包括所述模块被配置为:
基于与所启用的经训练的神经网络关联的操作***或辅助存储操作的经确定的类型,来识别包含关键数据的第二逻辑块地址,其中,所述关键数据至少包括与所述存储装置关联的文件***的主文件表、主引导记录、引导扇区、BIOS参数块或扩展的BIOS参数块。
5.根据权利要求1所述的模块,其中,所述模块还被配置为:
利用基于经镜像的指令和内容而被确定为已经在所述存储装置处发生的恶意活动,来优化所述经训练的神经网络。
6.根据权利要求1所述的模块,其中,所述模块还被配置为:
响应于基于经镜像的指令和内容而被确定在所述存储装置处已经发生恶意活动的确定,来锁定所述存储装置。
7.根据权利要求5所述的模块,其中,所述模块还被配置为:
响应于基于经镜像的指令和内容而被确定在所述存储装置处已经发生恶意活动的确定,来锁定所述存储装置。
8.根据权利要求1至7中任一项所述的模块,其中,所述经训练的神经网络包括人工神经网络。
9.根据权利要求8所述的模块,其中,所述人工神经网络包括循环神经网络或卷积神经网络。
10.一种用于检测存储装置中的恶意活动的方法,包括以下步骤:
利用设置在所述存储装置的控制器内的模块,从主机装置检索发送至所述控制器的第一逻辑块地址;
利用所述模块来检索所述第一逻辑块地址处的内容,其中,所检索的内容用于启用从设置在所述控制器内的数据模块检索到的经训练的神经网络;
利用所述模块,使用所述第一逻辑块地址处的内容和所述经训练的神经网络,来识别所述存储装置的要被监视的第二逻辑块地址;
利用所述模块,将所述主机装置发送至所识别的第二逻辑块地址的指令镜像到所述控制器,并且将经镜像的第二逻辑块地址的内容进行镜像;以及
基于经镜像的指令和内容,利用所述经训练的神经网络,来确定是否在所述存储装置处发生恶意活动,其中,基于与同操作***或辅助存储操作关联的文件***的主引导记录、关键记录、主文件表、引导扇区、BIOS参数块或扩展的BIOS参数块有关的第二逻辑块地址处的内容的平均读取、写入、重写访问,针对不同类型的操作***或辅助存储操作,来训练所述神经网络。
11.根据权利要求10所述的方法,其中,启用关联的经训练的神经网络包括以下步骤:
利用所述模块,从所述第一逻辑块地址处的内容选择一组幻数,其中,所选择的一组幻数与幻数查找表一起用来确定与所述控制器的文件***关联的操作***的类型或辅助存储操作的类型,其中,从所述数据模块获得所述幻数查找表;以及
利用所述模块,启用所述经训练的神经网络,以从所述数据模块检测与操作***或辅助存储操作的经确定的类型有关的恶意活动。
12.根据权利要求11所述的方法,其中,所述启用所述经训练的神经网络包括以下步骤:选择已经针对与所述控制器的文件***关联的操作***的经确定的类型或辅助存储操作的经确定的类型优化的经训练的神经网络。
13.根据权利要求11所述的方法,其中,所述识别所述存储装置的要被监视的第二逻辑块地址包括以下步骤:
利用所述模块,基于与所启用的经训练的神经网络关联的操作***或辅助存储操作的经确定的类型,来识别包含关键数据的第二逻辑块地址,其中,所述关键数据至少包括与所述存储装置关联的文件***的主文件表、主引导记录、引导扇区、BIOS参数块或扩展的BIOS参数块。
14.根据权利要求10所述的方法,其中,所述方法还包括以下步骤:
利用所述模块,利用基于经镜像的指令和内容而被确定为已经在所述存储装置处发生的恶意活动,来优化所述经训练的神经网络。
15.根据权利要求10所述的方法,其中,所述方法还包括以下步骤:
利用所述模块,响应于基于经镜像的指令和内容而被确定在所述存储装置处已经发生恶意活动的确定,来锁定所述存储装置。
16.根据权利要求14所述的方法,其中,所述方法还包括以下步骤:
利用所述模块,响应于基于经镜像的指令和内容而被确定在所述存储装置处已经发生恶意活动的确定,来锁定所述存储装置。
17.根据权利要求10至16中任一项所述的方法,其中,所述经训练的神经网络包括人工神经网络。
18.根据权利要求17所述的方法,其中,所述人工神经网络包括循环神经网络或卷积神经网络。
CN202110377934.7A 2020-10-01 2021-04-08 用于检测存储装置中的恶意活动的模块和方法 Active CN114282228B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN114282228A CN114282228A (zh) 2022-04-05
CN114282228B true CN114282228B (zh) 2022-11-01

Family

ID=73698205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110377934.7A Active CN114282228B (zh) 2020-10-01 2021-04-08 用于检测存储装置中的恶意活动的模块和方法

Country Status (10)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737186A (zh) * 2012-06-26 2012-10-17 腾讯科技(深圳)有限公司 恶意文件识别方法、装置及存储介质
US10198595B2 (en) * 2015-12-22 2019-02-05 Walmart Apollo, Llc Data breach detection system
CN111274061A (zh) * 2018-12-04 2020-06-12 阿里巴巴集团控股有限公司 处理大容量存储器中的不可纠正的数据错误的***和方法

Family Cites Families (12)

* 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 北京奇虎科技有限公司 基于机器学习的程序识别方法及装置
US9317690B2 (en) * 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
CN106021147B (zh) * 2011-09-30 2020-04-28 英特尔公司 在逻辑驱动器模型下呈现直接存取的存储设备
WO2013095573A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure
US9185079B2 (en) * 2011-12-22 2015-11-10 Intel Corporation Method and apparatus to tunnel messages to storage devices by overloading read/write commands
US9165141B2 (en) * 2011-12-22 2015-10-20 Intel Corporation Systems and methods for providing anti-malware protection and malware forensics on storage devices
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737186A (zh) * 2012-06-26 2012-10-17 腾讯科技(深圳)有限公司 恶意文件识别方法、装置及存储介质
US10198595B2 (en) * 2015-12-22 2019-02-05 Walmart Apollo, Llc Data breach detection system
CN111274061A (zh) * 2018-12-04 2020-06-12 阿里巴巴集团控股有限公司 处理大容量存储器中的不可纠正的数据错误的***和方法

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100876084B1 (ko) 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
CN113806253A (zh) 受到损害的存储设备固件的检测
EP3633517A1 (en) Storage device and method of operating storage device
US8631200B2 (en) Method and system for governing an enterprise level green storage system drive technique
US8954692B2 (en) File protecting method and system, and memory controller and memory storage apparatus thereof
KR20180012061A (ko) 파일을 안전하게 삭제하는 호스트, 스토리지 시스템 및 호스트의 동작방법
KR20060117899A (ko) 기억 장치 및 기억 시스템
CN111984441B (zh) 瞬间断电回复处理方法及装置以及计算机可读取存储介质
US9514040B2 (en) Memory storage device and memory controller and access method thereof
US8776232B2 (en) Controller capable of preventing spread of computer viruses and storage system and method thereof
US11347860B2 (en) Randomizing firmware loaded to a processor memory
US20140281581A1 (en) Storage Device
US11210021B2 (en) Storage device and method of controlling storage device
JP2015053075A (ja) メモリシステム、情報処理装置および記憶装置
KR20240016884A (ko) 저장 시스템, 저장 장치 및 저장 시스템을 제어하는방법
CN114282228B (zh) 用于检测存储装置中的恶意活动的模块和方法
KR102425470B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US11314453B2 (en) Memory system managing map data based on risk of malware—infection of host, and operating method thereof
JP2014059889A (ja) メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム
US10884642B2 (en) Method and apparatus for performing data-accessing management in a storage server
NZ778067B2 (en) Module and method for detecting malicious activities in a storage device
NZ778588A (en) Systems and methods for processing metadata
KR20210079894A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11836033B2 (en) Information processing apparatus and control method for controlling information processing apparatus
US9274709B2 (en) Indicators for storage cells

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant