CN117909966A - 计算存储装置以及在计算存储装置中检测攻击者的方法 - Google Patents
计算存储装置以及在计算存储装置中检测攻击者的方法 Download PDFInfo
- Publication number
- CN117909966A CN117909966A CN202311240445.2A CN202311240445A CN117909966A CN 117909966 A CN117909966 A CN 117909966A CN 202311240445 A CN202311240445 A CN 202311240445A CN 117909966 A CN117909966 A CN 117909966A
- Authority
- CN
- China
- Prior art keywords
- user device
- attacker
- user
- request
- processor
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims description 39
- 238000013507 mapping Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 14
- 230000000903 blocking effect Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000013475 authorization Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 30
- 238000012545 processing Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 17
- 238000001914 filtration Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000002265 prevention Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000012174 carbonated soft drink Nutrition 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
提供了计算存储装置(CSD)以及在CSD中检测攻击者的方法。所述方法包括:从用户装置接收计算存储(CS)请求;将CS请求识别为攻击:将用户装置的总攻击值与阈值进行比较,其中,总攻击值基于从用户装置接收到的攻击的数量;以及基于所述比较将用户装置识别为攻击者。
Description
本申请基于并且要求于2022年10月19日提交的第63/417,536号美国申请和于2022年12月14日提交的第18/081,317号美国申请的优先权,所述美国申请的公开通过引用全部包含于此。
技术领域
本公开总体涉及计算存储(CS)攻击阻止,更具体地,涉及一种能够识别攻击者、将攻击者注册到CS装置(CSD)系统、阻止来自攻击者的CS操作、停止攻击者的CS应用和/或从攻击者回收CS资源的方法和系统。
背景技术
CSD提供计算功能和数据存储,允许将主机中央处理器(CPU)开销卸载到CSD。更具体地,主机装置可将数据存储在CSD并将计算卸载到CSD。在一些实施方式中,可在CSD处执行各种程序。但是,将可执行程序引入CSD可能会增加CSD组件的安全风险。
在本背景部分公开的以上信息仅用于增强对公开的背景技术的理解,因此它可包含不构成现有技术的信息。
发明内容
公开的实施例提供用于设置可用于确定恶意攻击的攻击阻止阈值(APT)的操作。
公开的实施例提供用于使用APT值来识别攻击的操作。
公开的实施例提供用于设置黑名单以及使用黑名单过滤攻击者的操作。
公开的实施例提供用于基于用户跟踪攻击的操作。
公开的实施例提供用于在早期阶段过滤来自攻击者的CS请求的操作。
公开的实施例提供用于停止/杀死属于攻击者的CS应用的操作。
公开的实施例提供用于回收属于攻击者的资源的操作。
根据实施例,提供一种CSD的方法,所述方法包括:从用户装置接收CS请求;将用户装置的总攻击值与阈值进行比较,其中,总攻击值基于从用户装置接收到的攻击数量;以及基于比较将用户装置识别为攻击者。
根据实施例,提供了一种CSD,所述CSD包括:存储器和处理器,处理器被配置为:为从用户装置接收CS请求;将用户装置的总攻击值与阈值进行比较,其中,总攻击值基于从用户装置接收到的攻击数量;以及基于比较将用户装置识别为攻击者。
附图说明
从下面结合附图的具体描述,本公开的特定实施例的以上和其他方面、特征和优点将更加清楚,其中:
图1示出根据实施例的CS系统;
图2示出根据实施例的即使在CSD提供攻击保护机制的情况下由于攻击而导致的性能劣化;
图3A示出根据实施例的用于设置攻击阻止阈值和黑名单的接口;
图3B示出根据实施例的用于记录用户的攻击的用户数据结构的示例;
图4示出根据实施例的攻击记录和检测攻击者的过程;
图5是示出根据实施例的用于在CSD中记录攻击和检测攻击者的过程的流程图;
图6示出的根据实施例的过滤攻击者的过程;
图7是示出根据实施例的用于过滤攻击者的过程的流程图;
图8示出根据实施例的停止攻击者的CS应用并从攻击者回收CS资源的过程;
图9示出根据实施例的利用黑名单阻止攻击的CSD架构的示例;以及
图10示出根据实施例的网络环境中的电子装置的框图。
具体实施方式
在下文中,参照附图详细描述公开的各种实施例。尽管相同的元件在不同的附图中被示出,但是它们可由相同或相似的参考标号来表示。
在以下描述中,提供特定细节(诸如,详细的配置和组件)仅用于帮助全面理解本公开的实施例。因此,本领域技术人员应当清楚,在不脱离本公开的范围的情况下,可对在此描述的实施例进行各种改变和修改。
此外,为了清楚和简洁,省略了对公知的功能和构造的描述。
以下描述的术语是考虑到本公开中的功能而定义的术语,并且可根据用户、用户的意图或习惯而不同。因此,术语的定义应基于贯穿本说明书的内容来确定。
本公开可具有各种修改和各种实施例,其中,以下参照附图详细描述实施例。然而,应当理解,本公开不限于实施例,而是包括在本公开的范围内的所有修改、等同方案和替代方案。
尽管可使用包括序号的术语(诸如,第一、第二等)描述各种元件,但是结构元件不受这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离本公开的范围的情况下,第一结构元件可被称为第二结构元件。类似地,第二结构元件也可被称为第一结构元件。如在此所使用的,术语“和/或”包括一个或多个相关项的任何组合和所有组合。此外,除非上下文另有明确指示,否则单数形式旨在包括复数形式。
如在此所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C”、“A、B和C中的至少一个”和“A、B或C中的至少一个”的短语中的每个可包括在相应的短语中被一起列举的项目的所有可能的组合。如在此所使用的,诸如“第一”和“第二”的术语可用于将对应的组件与另一个组件区分开,但并不意图在其他方面(例如,重要性或顺序)对组件进行限制。
如果一个元件(例如,第一元件)在具有或者不具有术语“可操作地”或“可通信地”的情况被称为“与”另一元件(例如,第二元件)“结合”、“结合到”另一元件(例如,第二元件)、“与”另一元件(例如,第二元件)“连接”、或者“连接到”另一元件(例如,第二元件),则指示该元件可直接(例如,有线地)、无线地或经由第三元件与另一元件结合。
在此使用的术语仅用于描述本公开的各种实施例,而不旨在限制本公开。在本公开中,术语“包括”或“具有”指示存在特征、数量、步骤、操作、结构元件、部件或它们组合,并且不排除存在或添加一个或多个其他特征、数量、步骤、操作、结构元件、部件或它们的组合的可能性。
除非另有定义,否则在此使用的所有术语具有与本公开所属领域的的技术人员理解的含义相同的含义。除非在本公开中明确定义,否则术语(诸如在通用词典中定义的术语)应被解释为具有与相关领域中的上下文含义相同的含义,并且不应被解释成具有理想化或过于形式化的含义。
根据实施例的电子装置可以是利用存储装置的各种类型的电子装置之一。电子装置可使用任何合适的存储标准(诸如,外围组件互连快速(PCIe)、非易失性存储器快速(NVMe)、网络架构上的NVMe(NVMeoF)、高级可扩展接口(AXI)、超路径互连(UPI)、以太网、传输控制协议/互联网协议(TCP/IP)、远程直接存储器访问(RDMA)、聚合以太网上的RDMA(ROCE),光纤通道(FC)、无限带宽(IB)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行附接SCSI(SAS)、互联网广域RDMA协议(iWARP)等,或它们的任何组合)。在一些实施例中,互连接口可用一个或多个存储器语义和/或存储器一致性接口和/或协议来实现,协议包括一个或多个计算快速链路(CXL)协议(诸如,CXL.mem、CXL.io和/或CXL.cache、Gen-Z、一致性加速器处理器接口(CAPI)、用于加速器的高速缓存一致性互连(CCIX)等)或者它们的任何组合。任何存储器装置可用一个或多个任意类型的存储器装置接口来实现,存储器装置接口包括双倍数据速率(DDR)、DDR2、DDR3、DDR4、DDR5、低功率DDR(LPDDRX)、开放存储器接口(OMI)、NVlink高带宽存储器(HBM)、HBM2、HBM3等。电子装置可包括例如便携式通信装置(例如,智能电话)、计算机、便携式多媒体装置、便携式医疗装置、相机、可穿戴装置或家用电器。然而,电子装置不限于以上描述的那些。
如在此所使用的,术语“模块”可包括以硬件、软件、固件或它们的组合实现的单元,并且可与其他术语(例如,“逻辑”、“逻辑块”、“部件”和“电路”)互换使用。模块可以是适于执行一个或多个功能的单个集成组件或单个集成组件的最小单元或部分。例如,根据一个实施例,模块可以以专用集成电路(ASIC)、协处理器或现场可编程门阵列(FPGA)的形式来实现。
如在此所使用的,CSD是指支持计算任务的存储装置。例如,CSD可包括存储元件(例如,非易失性存储器(诸如,闪存、硬盘驱动器等))和计算元件(例如,CPU、图形处理器(GPU)、FPGA、ASIC(诸如,张量处理器)、处理器核等),并且被配置为支持在存储元件处的数据存储以及在计算元件处的计算任务执行。因此,CSD可向CS客户端(例如,计算装置)提供存储能力,并且可支持将计算任务从CS客户端卸载到CSD。
恶意攻击者可通过连续发出CS请求以攻击系统来折磨CSD。
为解决这类问题,公开的各个实施例提供了用于识别攻击者、将攻击者注册到CSD、尽可能早地阻止来自攻击者的CS操作、停止攻击者的CS应用以及从攻击者回收CS资源的操作。
图1示出根据实施例的CS系统。
参照图1,CS系统100包括主机102和CSD 104。尽管在图1中示出了一个主机和一个CSD,但是CS系统100可包括多个主机和/或多个CSD。
CSD 104包括控制器106、处理装置108、存储器105和存储介质124。控制器106可包括ASIC、FPGA、CPU或被配置为处理与存储介质124相关的输入和输出操作的其他处理单元。例如,响应于来自主机102的写入命令,控制器106可从主机102读取数据并将数据写入存储介质124。作为另一示例,响应于来自主机102的读取命令,控制器106可从存储介质124读取数据并将数据写入主机102。除了处理输入和输出操作,控制器106还可处理与计算任务相关的命令。这些与计算任务相关的命令可包括用于将程序加载到处理装置108中的命令、用于设置与这样的程序相关的一个或多个许可(permission)的命令、或者它们的组合。
存储介质124可包括非易失性计算机可读存储介质、易失性计算机可读存储介质、或者它们的组合。在图1的示例中,存储介质124存储第一数据126和第二数据128。第一数据126和第二数据128可对应于命名空间、文件、页、逻辑块地址范围、其他数据单元或它们的组合。虽然存储介质124被示出为具有两个数据单元,但是应当注意,存储介质124还可包括不同数量的数据单元。
存储器105可包括易失性计算机可读存储介质、非易失性计算机可读存储介质、或它们的组合。存储器105可被配置为用作操作存储器并且存储在处理装置108处执行的程序的程序数据。在一些实施方式中,存储器105和存储介质124可通过如何在各个装置中寻址数据单元来区分。例如,存储器105可以是字节可寻址的,而存储介质124可以是块可寻址的。在一些实施方式中,计算存储装置104可包括用于长期存储和用作操作存储器的单个计算机可读存储介质。
处理装置108可包括ASIC、FPGA、CPU、GPU、其他类型的处理器单元、或它们的组合。处理装置108可被配置为执行从程序槽(program slot)加载的应用,程序槽是被配置为存储程序的空间。尽管图1中的处理装置108被示出为具有第一程序槽110、第二程序槽120和第三程序槽130,但是其他数量的程序槽也是可行的。包括在处理装置108中的程序槽的数量可以是可配置的,或者可基于处理装置108的一些底层硬件特征。例如,程序槽的数量可基于包括在处理装置108中的核的数量或另外的硬件特征。在一些实施方式中,每个程序槽对应于存储器(诸如,存储器105)中的存储器地址或范围,并且将应用加载到程序槽中包括将应用(或对应用的引用(诸如,指针))存储在对应的地址或范围中以由处理装置108执行。
程序槽110、120和130可对应于处理装置108的容量的逻辑表示,并且处理装置108可执行多达程序槽的数量的多个程序。这些逻辑表示可由控制器106来维护。与每个程序槽110、120和130对应的元数据可由控制器106存储在存储器105、存储介质124或它们的组合中。与程序槽110、120和130对应的元数据可指示槽标识符、保留给槽的程序、与槽相关联的一个或多个许可、或者它们的组合。与槽相关联的一个或多个许可可以标识被授权将程序加载到槽中的实体(例如,主机、程序等)、在槽中执行程序的实体(例如,主机、程序等)、或者它们的组合。
CSD 104可包括各种附加组件(诸如,主机接口层、闪存转换层等)。例如,主机接口层可被配置为将从主机102接收的命令转换为控制器106识别的格式。这种转换可包括将主机102使用的寻址方案转换为控制器106使用的寻址方案。闪存转换层可将来自控制器106的命令转换为存储介质124识别的格式。这种转换可包括将主机102使用的寻址方案转换为存储介质124使用的寻址方案。
此外,示出的组件中一个以上的组件可被包括在CSD 104中。例如,CSD 104可包括一个以上的存储器105、一个以上的存储介质124、一个以上的处理装置108、一个以上的控制器106等。
此外,CSD 104可包括组件之间的各种连接。例如,CSD 104的组件可通过总线、通过一个或多个直接连接、或它们的组合来连接。
此外,图1中所示的一些组件可被组合。例如,控制器106和处理装置108可用相同的处理装置(或多个处理装置)来实现。
在操作中,控制器106管理与程序槽110、120和130相关的权限(right)以及与程序相关的权限。例如,控制器106可强制向应用保留程序槽,并且可阻止未经授权的程序被加载到程序槽中。作为另一示例,控制器106可管理程序对存储介质124、存储器105或它们的组合的访问权限。作为另一示例,控制器106可管理各种实体(例如,用户、主机、程序等)在程序槽110、120和130之一中加载和/或执行程序的访问权限。因此,控制器106可防止对计算存储装置104的各种资源的未经授权的使用。防止这种未经授权的使用在各种环境(例如,来自不同供应商的程序被加载到程序槽110、120和130中的多租户环境)下可能是有用的。此外,控制器106可管理与将程序加载到程序槽110、120和130之一并启动执行的一个程序相关的权限。因此,CSD 104可支持相对复杂的工作流,同时保持安全性。一个这样的复杂工作流的示例是校验和(checksum)程序选择性地加载并执行修复程序的工作流。在一些实施方式中,控制器106根据NVMe协议进行操作。
尽管CSD 104被描述为物理装置,但是CSD 104和/或它的一个或多个组件可对应于由一个或更多底层物理装置提供的虚拟装置。例如,在计算系统中执行的管理程序可向主机102提供CSD 104。主机102同样可对应于物理计算装置或虚拟计算装置。
图2示出根据实施例的即使在CSD提供攻击保护机制的情况下由于攻击而导致的性能劣化的示例。
参照图2,恶意攻击者通过连续发出CS请求以攻击系统来折磨CSD。
为了解决这类问题,公开的各个实施例提供了用于识别攻击者、将攻击者注册到CSD、尽可能早地阻止来自攻击者的CS操作、停止攻击者的CS应用以及从攻击者回收CS资源的操作。
攻击阻止阈值和黑名单
图3A示出根据实施例的用于APT和映射表的接口。
参照图3A,APT定义了用于确定攻击者的值(例如,16)。
CSD可保持对CS资源攻击的跟踪,并在用户数据结构中记录攻击的计数。例如,用户数据结构可是利用用户标识符(UID)针对每个用户(用户装置)生成的全局结构。
图3B示出根据实施例的用于记录用户的攻击的用户数据结构的示例。
参照图3B,CSD可对存储器上溢/下溢、存储器无效资源、存储器无效销毁(invaliddestroy)、程序槽(PS)无效访问和PS无效销毁的实例进行计数。然而,这些类型的攻击仅仅是示例,并且公开不限于此。
当用户的攻击(例如,总攻击)的数量达到APT时,CSD可将用户确定为攻击者并且还在服务级别协议(SLA)-用户映射表中将用户的条目301标记为攻击者。也即,可通过将“阻止(block)”列添加到SLA-用户映射表来创建“黑名单”,SLA-用户映射表可用于将黑名单上的用户指定为攻击者。
尽管图3A和3B示出了基于攻击的总数的APT值,但是公开不限于此。例如,APT可以是总分数,其中每种类型的攻击可具有不同的权重,使得对于每个实例问题更大的攻击类型可具有更高的分数,和/或对于每个实例问题更小的攻击类型具有更低的分数。
根据公开的实施例,根(root)用户(或管理员)可通过SLA-用户映射表更新来直接设置黑名单。在这种情况下,CSD将使用UID搜索用户数据结构,并且还将它标记为攻击者。例如,CSD可从授权的用户装置接收与正被授权的用户装置识别为攻击者的另一用户装置相关联的SLA-用户映射表的更新,并且基于所述更新,在与所述另一用户装置相关联的SLA-用户映射表中将所述另一用户装置指定为攻击者。
为了保护无特权用户对APT和SLA-用户映射表的访问,CSD检查进程上下文是否属于根(管理),并且只允许根(管理)访问。
攻击记录和检测攻击者
图4示出根据实施例的攻击记录和检测攻击者的过程。
参照图4,响应于CS请求,CSD执行一系列检查以保护CS资源。首先,CSD检查CS资源授权。也即,CSD确定被请求的CS资源是否由CS应用拥有。
接下来,CSD检查资源有效性以验证请求具有CS资源的有效范围(例如,以检测上溢/下溢攻击)。当CSD检测到攻击时,它通过发送攻击报告来更新用户数据结构中的攻击日志。
此后,CSD检查总攻击计数是否达到APT。如果是,则在用户数据结构和SLA-用户映射表中将用户标记为攻击者。
图5是示出根据实施例的用于在CSD中记录攻击和检测攻击者的过程的流程图。
参照图5,在步骤501中,CSD接收来自用户的CS请求。
在步骤503中,CSD检查CS资源授权。例如,CSD可确定被请求的CS资源是否由CS应用拥有。
在步骤505中,响应于在步骤503中CS资源被授权,CSD执行资源有效性检查。例如,CSD可执行资源有效性检查,以便验证CS请求具有CS资源的有效范围(例如,以检测上溢/下溢攻击)。
在步骤507中,响应于在步骤505中确定CS请求具有CS资源的有效范围,CSD处理CS请求。
然而,如果在步骤503中CS资源未被授权,或者如果在步骤505中确定CS请求不具有CS资源的有效范围,则在步骤509中,CSD将CS请求识别为攻击并且报告攻击。如上所述,CSD可保持对CS资源攻击的跟踪,并且将攻击的计数记录在用户数据结构中。
在步骤511中,CSD确定用户的攻击计数是否大于或等于APT。
当在步骤511中确定用户的攻击计数大于或等于APT时,在步骤513中,CSD将用户识别为攻击者。如上所述,当CSD将用户标识为攻击者时,它可将SLA-用户映射表中用户的条目标记为攻击者。例如,如图3A中所示,CSD可将SLA-用户映射表中用户的条目301标记为“真(TRUE)”,以便将用户指定为攻击者。
当在步骤511中确定用户的攻击计数不大于或等于APT时,过程返回到步骤501,CSD可接收新的CS请求。
过滤攻击者
图6示出根据实施例的过滤攻击者的过程。
参照图6,对于来自攻击者的CS请求,CSD可尽可能早地过滤攻击者。
例如,当攻击者发起启动会话(open session)以使用CSD服务时,CSD可从进程上下文(Task_struct)提取UID,并且检查它是否为攻击者。例如,CSD可将提取的UID与SLA-用户映射表中的用户的条目进行比较。
当UID被识别为攻击者时,CSD然后可阻止用户并返回CS请求失败指示。
此外,当CSD在处理CS请求的同时将用户识别为攻击者后,在该点之后接收到的任何CS请求都可被阻止,并且失败指示可快速被返回。
图7是示出根据实施例的用于过滤攻击者的过程的流程图。
参照图7,在步骤701中,CSD从用户接收用于使用CSD服务的启动会话请求。
在步骤703中,CSD从进程上下文(Task_struct)提取UID,并将提取的UID与SLA-用户映射表中的用户的条目进行比较。
在步骤705中,基于SLA-用户映射表中的用户的条目,CSD确定UID是否被识别为攻击者。
在步骤707中,响应于在步骤705中确定UID未被识别为攻击者,CSD处理启动会话请求。
然而,响应于在步骤705中确定UID被识别为攻击者,在步骤709中,CSD阻止用户并返回请求失败指示。
在步骤711中,CSD确定是否从被阻止的用户(即,攻击者)接收到CS请求。
当在步骤711中确定从被阻止的用户接收到CS请求时,在步骤713中,CSD阻止接收到的CS请求并返回失败指示。
停止攻击者的CS应用并回收资源
如上所述,根据公开的CSD可非常迅速地阻止来自攻击者的CS请求。然而,CSD仍然使用系统资源,并且必须处理从攻击者连续发出的CS请求。为了解决这些类型的问题,根据公开的实施例,CSD还可执行操作以停止攻击者的CS应用并从攻击者回收资源。
图8示出根据实施例的用于停止攻击者的CS应用并从攻击者回收CS资源的过程。
参照图8,当CSD在801检测到攻击者时,它可调度工作线程(worker),该工作线程将循环每个CSD实例并搜索属于攻击者的会话上下文,然后向属于攻击者的任何CS应用发送SIGKILL消息。CSD可针对该CSD实例调度回收工作线程。回收工作线程将释放已停止/杀死的CS应用的CS资源。在803处可对所有CSD实例继续此过程,从而停止/杀死属于攻击者的所有CS应用并且从攻击者回收所有CS资源。
概述架构
图9示出根据实施例的利用黑名单进行攻击预防的CSD架构的示例。
参照图9,应用的CS资源由进程标识符(PID)隔离并由会话上下文进行管理,并且CS资源攻击针对用户(即,每个用户数据结构)被跟踪。
在CSD的系统初始化期间,根(管理)可将APT值和黑名单设置到SLA-用户映射表。系统可针对CS请求执行CS资源授权检查和有效性检查,并更新用户数据结构中的攻击日志。当攻击计数达到APT值时,系统将在用户数据结构和SLA-用户映射表中将用户标记为攻击者。此后,来自攻击者的CS操作将被阻止。
为了进行更积极的预防,系统还可通过发送SIGKILL消息并调度回收工作线程以从攻击者释放CS资源来停止攻击者的CS应用。
图10示出根据实施例的网络环境中的电子装置。
参照图10,网络环境1000中的电子装置1001(例如,包括GPS功能的移动终端)可经由第一网络1098(例如,短距离无线通信网络)与电子装置1002通信,或者经由第二网络1099(例如,长距离无线通信网络)与电子装置1004或服务器1008通信。电子装置1001可经由服务器1008与电子装置1004进行通信。电子装置1001可包括处理器1020、存储器1030、输入装置1050、声音输出装置1055、显示装置1060、音频模块1070、传感器模块1076、接口1077、触觉模块1079、相机模块1080、电源管理模块1088、电池1089、通信模块1090、用户识别模块(SIM)1096,或包括全球导航卫星系统(GNSS)天线的天线模块1097。在一个实施例中,可从电子装置1001省略多个组件中的至少一个(例如,显示装置1060或相机模块1080),或者可将一个或多个其他组件添加到电子装置1001。在一个实施例中,多个组件中的一些可被实现为单个集成电路(IC)。例如,传感器模块1076(例如,指纹传感器、虹膜传感器或照度传感器)可被嵌入到显示装置1060(例如,显示器)中。
处理器1020可执行例如软件(例如,程序1040)以控制与处理器1020结合的电子装置1001的至少一个其他组件(例如,硬件或软件组件),并且可执行各种数据处理或计算。处理器1020可对应于CSD。
作为数据处理或计算的至少一部分,处理器1020可将从另一组件(例如,传感器模块1076或通信模块1090)接收的命令或数据加载到易失性存储器1032中,处理存储在易失性存储器1032中的命令或数据,并将结果数据存储在非易失性存储器1034中。处理器1020可包括主处理器1021(例如,CPU或应用处理器)和辅助处理器1023(例如,图形处理器(GPU)、图像信号处理器(ISP)、传感器集线器处理器或通信处理器(CP)),辅助处理器可独立于主处理器1021或与主处理器1021结合来进行操作。附加地或可选地,辅助处理器1023可适于比主处理器1021消耗更少的功率,或者执行特定功能。辅助处理器1023可被实现为与主处理器1021分离或者是主处理器1021的一部分。
辅助处理器1023可在主处理器1021处于非活动(例如,睡眠)状态时替代主处理器1021控制与电子装置1001的多个组件之中的至少一个组件(例如,显示装置1060、传感器模块1076或通信模块1090)相关的功能或状态中的至少一些,或者在主处理器1021处于活动状态(例如,执行应用)时与主处理器1021一起控制与电子装置1001的多个组件之中的至少一个组件(例如,显示装置1060、传感器模块1076或通信模块1090)相关的功能或状态中的至少一些。根据一个实施例,辅助处理器1023(例如,ISP或CP)可被实现为功能上与辅助处理器1023相关的另一组件(例如,相机模块1080或通信模块1090)的一部分。
存储器1030可存储由电子装置1001的至少一个组件(例如,处理器1020或传感器模块1076)使用的各种数据。各种数据包括例如软件(例如,程序1040)和与之相关的命令的输入数据或输出数据。存储器1030可包括易失性存储器1032或非易失性存储器1034。
程序1040可作为软件存储在存储器1030中,并且可包括例如操作系统(OS)1042、中间件1044或应用1046。
输入装置1050可从电子装置1001的外部(例如,用户)接收将由电子装置1001的其他组件(例如,处理器1020)使用的命令或数据。输入装置1050可包括例如麦克风、鼠标或键盘。
声音输出装置1055可向电子装置1001的外部输出声音信号。声音输出装置1055可包括例如扬声器或接收器。扬声器可用于一般目的(诸如,播放多媒体或录音),接收器可用于接收来电。根据一个实施例,接收器可被实现为与扬声器分离或是扬声器的一部分。
显示装置1060可向电子装置1001的外部(例如,用户)视觉地提供信息。显示装置1060可包括例如显示器、全息图装置或投影仪、以及控制电路,以控制显示器、全息图像装置和投影仪中相应的一个。根据一个实施例,显示装置1060可包括适于检测触摸的触摸电路,或者适于测量由触摸引起的力的强度的传感器电路(例如,压力传感器)。
音频模块1070可将声音转换为电信号,反之亦然。根据一个实施例,音频模块1070可经由输入装置1050获得声音,或者经由与电子装置1001直接(例如,有线地)连接或无线地连接的外部电子装置1002的声音输出装置1055或耳机输出声音。
传感器模块1076可检测电子装置1001的操作状态(例如,功率或温度)或电子装置1001外部的环境状态(例如,用户的状态),然后生成与检测到的状态对应的电信号或数据值。传感器模块1076可包括例如姿态传感器、陀螺仪传感器、大气压力传感器、磁传感器、加速度传感器、抓握传感器、接近传感器、颜色传感器、红外(IR)传感器、生物特征传感器、温度传感器、湿度传感器或照度传感器。
接口1077可支持将用于电子装置1001与外部电子装置1002直接(例如,有线地)或无线地结合的一个或多个指定协议。根据一个实施例,接口1077可包括例如高清晰度多媒体接口(HDMI)接口、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端子1078可包括连接器,电子装置1001可通过该连接器与外部电子装置1002物理连接。根据一个实施例,连接端子1078可包括例如HDMI连接器、USB连接器、SD卡连接器或音频连接器(例如,耳机连接器)。
触觉模块1079可将电信号转换为可由用户经由触觉或动觉来识别的机械刺激(例如,振动或运动)或电刺激。根据一个实施例,触觉模块1079可包括例如马达、压电元件或电刺激器。
相机模块1080可拍摄静止图像或运动图像。根据一个实施例,相机模块1080可包括一个或多个镜头、图像传感器、ISP或闪光灯。
电源管理模块1088可管理提供给电子装置1001的电源。电源管理模块1088可被实现为例如电源管理集成电路(PMIC)的至少一部分。
电池1089可向电子装置1001中的至少一个组件供电。根据一个实施例,电池1089可包括例如不可再充电的原电池、可充电的二次电池或燃料电池。
通信模块1090可支持在电子装置1001与外部电子装置(例如,电子装置1002、电子装置1004或服务器1008)之间建立直接(例如,有线)通信信道或无线通信信道,并经由所建立的通信信道进行通信。通信模块1090包括可独立于处理器1020(例如,应用处理器)进行操作并且支持直接(例如,有线)通信或无线通信的一个或多个CP。根据一个实施例,通信模块1090可包括无线通信模块1092(例如,蜂窝通信模块、短距离无线通信模块或GNSS通信模块)或有线通信模块1094(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中相应的一个通信模块可经由第一网络1098(例如,短距离通信网络(诸如,BluetoothTM、无线保真(Wi-Fi)直连或红外数据协会(IrDA)标准等)或第二网络1099(例如,长距离通信网络(诸如,蜂窝网络、互联网或计算机网络(例如,LAN或广域网(WAN))))与外部电子装置通信。这些各种类型的通信模块可被实现为单个组件(例如,单个IC),或者可被实现为彼此分离的多个组件(例如,多个IC)。无线通信模块1092可使用存储在SIM 1096中的用户信息(例如,国际移动用户身份(IMSI))来识别和认证通信网络(诸如,第一网络1098或第二网络1099)中的电子装置1001。
天线模块1097可向电子装置1001的外部(例如,外部电子装置)发送信号或电力,或者从电子装置1001外部(例如,外部电子装置)接收信号或电力。根据一个实施例,天线模块1097可包括一个或多个天线,由此,例如通信模块1090(例如,无线通信模块1092)可选择适合在通信网络(诸如,第一网络1098或第二网络1099)中使用的通信方案的至少一个天线。然后可经由所选择的至少一个天线在通信模块1090与外部电子装置之间发送或接收信号或电力。
上述组件中的至少一些可相互结合,并且经由外围装置间通信方案(例如,总线、通用输入和输出(GPIO)、串行外围接口(SPI)或移动工业处理器接口(MIPI))在它们之间传递信号(例如,命令或数据)。
根据一个实施例,可经由与第二网络1099结合的服务器1008在电子装置1001与外部电子装置1004之间发送或接收命令或数据。电子装置1002和1004中的每个可以是与电子装置1001相同类型或不同类型的装置。在电子装置1001处执行的操作中的全部或一些可在外部电子装置1002、1004或1008中的一个或多个处执行。例如,如果电子装置1001应当自动执行功能或服务,或者响应于来自用户或另一装置的请求执行功能或服务,则电子装置1001可请求一个或多个外部电子装置执行该功能或服务的至少一部分而不执行该功能或服务,或者除了执行该功能或服务之外还请求一个或多个外部电子装置执行该功能或服务的至少一部分。接收到请求的一个或多个外部电子装置可执行所请求的功能或服务的至少一部分,或者执行与请求相关的附加功能或附加服务,并且将执行的结果传送到电子装置1001。电子装置1001可在有或没有对结果进行进一步处理的情况下提供结果,作为对请求的答复的至少一部分。为此,例如,可使用云计算、分布式计算或客户端-服务器计算技术。
一个实施例可被实现为包括存储在机器(例如,电子装置1001)可读的存储介质(例如,内部存储器1036或外部存储器1038)中的一个或多个指令的软件(例如,程序1040)。例如,电子装置1001的处理器可调用存储在存储介质中的一个或多个指令中的至少一个,并且在处理器的控制下使用或不使用一个或多个其他组件来执行该指令。因此,机器可被操作以根据调用的至少一个指令来执行至少一个功能。一个或多个指令可包括由编译器生成的代码或由解析器可执行的代码。机器可读存储介质可以以非暂时性存储介质的形式提供。术语“非暂时性”指示存储介质是有形装置而不包括信号(例如,电磁波),但该术语不区分数据半永久地存储在存储介质中的位置和数据暂时存储在存储介质中的位置。
根据一个实施例,公开的方法可被包括和提供在计算机程序产品中。计算机程序产品可作为产品在卖方与买方之间进行交易。计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(CD-ROM))的形式分发,或者经由应用商店(例如,Play StoreTM)在线分发(例如,下载或上传),或者直接在两个用户装置(例如,智能电话)之间分发。如果在线分发,则计算机程序产品的至少一部分可暂时生成或至少暂时存储在机器可读存储介质中(诸如,制造商的服务器的存储器、应用商店的服务器或中继服务器)。
根据一个实施例,上述组件中的每个组件(例如,模块或程序)可包括单个实体或多个实体。可省略上述组件中的一个或多个,或者可添加一个或多个其他组件。可选地或附加地,多个组件(例如,模块或程序)可集成到单个组件中。在这种情况下,集成的组件仍然可以以与在集成之前由多个组件中的对应组件执行一个或多个功能相同或相似的方式来执行多个组件的每个组件的一个或者多个功能。可顺序地、并行地、重复地或试探性地执行由模块、程序或另一组件执行的操作(例如,如流程图中所示),或者可以以不同的顺序执行或省略操作中的一个或多个,或者可添加一个或多个其他操作。
尽管在本公开的具体实施方式中已经描述了本公开的特定实施例,但是在不脱离本公开的范围的情况下,可以以各种形式修改本公开。因此,本公开的范围不应仅基于所描述的实施例来确定,而是应基于所附权利要求及其等同物来确定。
Claims (20)
1.一种在计算存储装置中检测攻击者的方法,所述方法包括:
从用户装置接收计算存储CS请求;
将CS请求识别为攻击;
将用户装置的总攻击值与阈值进行比较,其中,总攻击值基于从用户装置接收到的攻击的数量;以及
基于所述比较将用户装置识别为攻击者。
2.根据权利要求1所述的方法,其中,将CS请求识别为攻击的步骤包括:执行CS资源授权检查。
3.根据权利要求1所述的方法,其中,将CS请求识别为攻击的步骤包括:验证被请求的CS资源对于CS应用的使用是有效的。
4.根据权利要求1所述的方法,还包括:将识别的攻击记录在与总攻击值相关联的用户数据结构中。
5.根据权利要求1所述的方法,其中,基于所述比较将用户装置识别为攻击者的步骤包括:响应于用户装置的总攻击值大于或等于阈值,将用户装置识别为攻击者。
6.根据权利要求1所述的方法,还包括:在与用户装置相关的服务级别协议SLA-用户映射表中将用户装置指定为攻击者。
7.根据权利要求6所述的方法,还包括:
从用户装置接收用于启动会话的请求,所述请求包括用户装置的用户标识符UID;
将与用户装置相关联的SLA-用户映射表和用户装置的UID进行比较;
基于与用户装置相关联的SLA-用户映射表中的所述指定,将用户装置识别为攻击者;以及
响应于将用户装置识别为攻击者,阻止用户装置的访问。
8.根据权利要求7所述的方法,还包括:
从被阻止的用户装置接收另外的CS请求;以及
阻止所述另外的CS请求的访问并返回指示。
9.根据权利要求1至权利要求8中的任意一项所述的方法,还包括:
响应于将用户装置识别为攻击者,停止与用户装置相关联的任何CS应用;以及
回收与用户装置相关联的任何CS资源。
10.根据权利要求1至权利要求8中的任意一项所述的方法,还包括:
从授权的用户装置接收与正被授权的用户装置识别为攻击者的另一用户装置相关联的服务级别协议SLA-用户映射表的更新;以及
基于所述更新,在与所述另一用户装置相关联的SLA-用户映射表中将所述另一用户装置指定为攻击者。
11.一种计算存储装置,包括:
存储器;以及
处理器,被配置为:
从用户装置接收计算存储CS请求;
将CS请求识别为攻击;
将用户装置的总攻击值与阈值进行比较,其中,总攻击值基于从用户装置接收到的攻击的数量;以及
基于所述比较将用户装置识别为攻击者。
12.根据权利要求11所述的计算存储装置,其中,处理器还被配置为:通过执行CS资源授权检查,将CS请求识别为攻击。
13.根据权利要求11所述的计算存储装置,其中,处理器还被配置为:通过验证被请求的CS资源对于CS应用的使用是有效的,将CS请求识别为攻击。
14.根据权利要求11所述的计算存储装置,其中,处理器还被配置为:将识别的攻击记录在与总攻击值相关联的用户数据结构中。
15.根据权利要求11所述的计算存储装置,其中,处理器还被配置为:响应于用户装置的总攻击值大于或等于阈值,将用户装置识别为攻击者。
16.根据权利要求11所述的计算存储装置,其中,处理器还被配置为:在与用户装置相关联的服务级别协议SLA-用户映射表中将用户装置指定为攻击者。
17.根据权利要求16所述的计算存储装置,其中,处理器还被配置为:
从用户装置接收用于启动会话的请求,所述请求包括用户装置的用户标识符UID;
将与用户装置相关联的SLA-用户映射表和用户装置的UID进行比较;
基于与用户装置相关联的SLA-用户映射表中的所述指定,将用户装置识别为攻击者;以及
响应于将用户装置识别为攻击者,阻止对用户装置的访问。
18.根据权利要求17所述的计算存储装置,其中,处理器还被配置为:
从被阻止的用户装置接收另外的CS请求,以及
阻止所述另外的CS请求的访问并返回指示。
19.根据权利要求11至权利要求18中的任意一项所述的计算存储装置,其中,处理器还被配置为:
响应于将用户装置识别为攻击者,停止与用户装置相关联的任何CS应用;以及
回收与用户装置相关联的任何CS资源。
20.根据权利要求11至权利要求18中的任意一项所述的计算存储装置,其中,处理器还被配置为:
从授权的用户装置接收与正被授权的用户装置识别为攻击者的另一用户装置相关联的服务级别协议SLA-用户映射表的更新;以及
基于所述更新,在与所述另一用户装置相关联的SLA-用户映射表中将所述另一用户装置指定为攻击者。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/417,536 | 2022-10-19 | ||
US18/081,317 US20240134971A1 (en) | 2022-10-19 | 2022-12-14 | Method and system for computational storage attack reduction |
US18/081,317 | 2022-12-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117909966A true CN117909966A (zh) | 2024-04-19 |
Family
ID=90689738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311240445.2A Pending CN117909966A (zh) | 2022-10-19 | 2023-09-22 | 计算存储装置以及在计算存储装置中检测攻击者的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117909966A (zh) |
-
2023
- 2023-09-22 CN CN202311240445.2A patent/CN117909966A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9792455B2 (en) | Sensor aware security policies with embedded controller hardened enforcement | |
US9830457B2 (en) | Unified extensible firmware interface (UEFI) credential-based access of hardware resources | |
EP3926466A1 (en) | Electronic device which prefetches application and method therefor | |
EP3699759B1 (en) | Electronic device and method for managing database | |
EP2867820A1 (en) | Devices, systems, and methods for monitoring and asserting trust level using persistent trust log | |
EP4296841A1 (en) | Method and system for solid state drive (ssd)-based redundant array of independent disks (raid) | |
CN112100088A (zh) | 电子装置以及使用该电子装置的存储部的方法 | |
US11068614B2 (en) | System-level data security based on environmental properties | |
US11379458B2 (en) | Electronic device and data management method thereof | |
EP3983920B1 (en) | Electronic device for controlling access to device resource and operation method thereof | |
KR102713970B1 (ko) | 어플리케이션을 관리하는 방법 및 그 장치 | |
US20230393906A1 (en) | Method and system for accelerating application performance in solid state drive | |
CN117909966A (zh) | 计算存储装置以及在计算存储装置中检测攻击者的方法 | |
EP4357951A1 (en) | Method and system for computational storage attack reduction | |
US10210111B2 (en) | Systems and methods for minimizing audio glitches when incurring system management interrupt latency | |
US20230024420A1 (en) | Methods and devices for file read latency reduction | |
CN110442569B (zh) | 在键值固态设备中进行数据分析的装置和方法 | |
US20240134801A1 (en) | Methods and system for efficient access to solid state drive | |
US12130925B2 (en) | System and method for flexible startup of data processing systems | |
US20240037237A1 (en) | System and method for flexible startup of data processing systems | |
US20240015156A1 (en) | Electronic device for controlling access to device resource and operation method thereof | |
CN117908766A (zh) | 用于高效访问固态驱动器的方法和系统 | |
CN117194004A (zh) | 存储器装置及其操作方法 | |
CN117271396A (zh) | 用于基于固态驱动器的独立磁盘冗余阵列的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |