CN115668190A - 用于抑制对计算系统的攻击的分析处理电路 - Google Patents
用于抑制对计算系统的攻击的分析处理电路 Download PDFInfo
- Publication number
- CN115668190A CN115668190A CN202180037032.7A CN202180037032A CN115668190A CN 115668190 A CN115668190 A CN 115668190A CN 202180037032 A CN202180037032 A CN 202180037032A CN 115668190 A CN115668190 A CN 115668190A
- Authority
- CN
- China
- Prior art keywords
- data
- arbiter
- processing circuit
- interest
- analyzer
- 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
Images
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
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- 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
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
- G06F21/79—Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分析处理电路,该分析处理电路可以包括数据收集器和被耦接以从该数据收集器接收数据的数据分析器。该数据收集器从IC的多个感兴趣元件中的至少一个感兴趣元件收集数据。该数据分析器基于预定度量经时间帧或针对时间快照识别来自该数据收集器的数据中的模式。该分析处理电路还可以包括仲裁器和风险预测器。该风险预测器至少基于该数据分析器的输出和针对该IC的行为模型来生成关于由该数据收集器收集的该数据指示正常行为还是异常行为的风险评估,该行为模型可以是设备和应用特定的。可以基于该风险评估来执行威胁响应。
Description
背景技术
在常规计算机和计算机网络中,攻击是指实现对技术资源的未授权访问的各种尝试。攻击者可能尝试在没有授权的情况下访问易受攻击的计算系统的数据、功能或其他受限区域。计算系统通常包括一个或多个集成电路(IC)。IC被制造在芯片上,并且可以是片上系统(SoC)的形式或在封装(诸如3D IC)中或在板上以离散部件耦接在一起。攻击可以是基于软件的物理攻击(例如,对IC部件的探测)或侧信道攻击(例如,从功率消耗、定时信息和电磁泄漏捕获信息)。
发明内容
提供了用于抑制对计算系统的攻击的分析处理电路。分析处理电路可以至少实现包括数据收集器、数据分析器、仲裁器和风险预测器的安全分析框架的一部分。
分析处理电路可以包括具有选择电路的数据收集器和被耦接以从该数据收集器接收数据的数据分析器。数据收集器从IC的多个感兴趣元件中的至少一个感兴趣元件收集数据。根据到选择电路的配置信号来选择至少一个感兴趣元件。数据分析器基于预定度量经时间帧或针对时间快照识别来自数据收集器的数据中的模式。数据分析器可以接收对预定度量的更新,从而根据需要实现更稳健的分析以应对对IC以及其上任何敏感信息的安全的新的或不同的威胁。
用于抑制对计算系统的攻击的方法可以包括:从集成电路(IC)的多个感兴趣元件中的至少一个感兴趣元件收集操作数据;基于预定度量,经时间帧或针对时间快照识别该操作数据中的模式;基于该操作数据中的识别到的模式和针对该IC的行为模型,生成关于该操作数据指示正常行为还是异常行为的风险评估;以及基于该风险评估执行威胁响应。
提供本发明内容是为了以简化形式介绍一系列概念,这些概念将在下文的具体实施方式中进一步描述。本发明内容并非旨在识别所要求保护的主题的关键特征或基本特征,也并非旨在用于限制受权利要求书保护的主题的范围。
附图说明
图1示出了分析处理系统的操作环境。
图2示出了数据收集器及其输入和输出的表示图。
图3示出了数据分析器及其输入和输出的表示图。
图4示出了风险预测器及其输入和输出的表示图。
图5A示出了仲裁器的表示图。
图5B示出了示例性威胁建模引擎。
图6A至图6J示出了分析处理系统的部件的示例性配置。
图7A和图7B示出了针对分析处理电路的示例性场景。
图8A示出了针对仲裁器的通信路径。
图8B至图8D示出了使用仲裁器来实现安全配置。
图9示出了用于向安全分析框架提供仲裁的方法。
图10A至图10D示出了示例性攻击场景和对应响应。
图11示出了针对具有多个子电路的系统的示例性分析框架。
图12示出了系统的不同部分之间的通信的示例,该系统结合有可在不同位置或具有不同安全状态的安全分析框架。
图13示出了涉及网络的示例性具体实施。
具体实施方式
提供了用于抑制对计算系统的攻击的分析处理电路。分析处理电路可以至少实现包括数据收集器、数据分析器、仲裁器和风险预测器的安全分析框架的一部分。
在特定具体实施中,分析处理电路可以从一个或多个数据源接收与集成电路(IC)有关的操作监测参数;针对行为模型评估这些参数,该行为模型表征IC的“正常”操作;基于来自模型的差异确定威胁概率;以及,如果威胁概率超过阈值水平,则发射威胁响应信号。分析处理电路可以独立于IC的功能电路进行操作。
分析处理电路的部件可以由微控制器、应用处理器、神经网络加速器、现场可编程门阵列(FPGA)或如由其应用领域约束的一些定制设计来体现(例如,在能量受约束、低成本IoT设备或高端基础设施SoC的内侧)。在一些情况下,分析处理电路可以是或包括“虚拟电路”,例如,以到处理其他地方的处理的可信代理的安全网络链路的形式(例如,云实例)。
图1示出了分析处理系统的操作环境。参考图1,分析处理系统的操作环境100可以包括数据收集器101,数据分析器102,仲裁器103,风险预测器104和高级监测系统105。
数据收集器101包括可以从芯片中的感兴趣元件收集数据106的收集构架,并且可以跨片上系统分布或来源于特定电路。数据收集器电路可以包括计数器、传感器(例如,比较器、电流检测器、电压检测器等)和存储器或与其通信,以支持对包括来自数据/地址总线、命令流和资源的数据的收集。在一些情况下,数据收集器101可以包括传感器以检测电磁发射。在一些具体实施中,数据收集器电路包括选择电路,以能够选择要感测哪些元件,如关于图2更详细地描述。
数据分析器102与数据收集器101通信111,并且分析从数据收集器101收集的数据106。数据分析器102可以包括可以用于识别所收集数据中的模式的电路和/或处理器,例如,通过将数据与预定度量(诸如核心度量、安全度量、结构度量、基于概率的度量、非结构化/不规则度量和基于时间/频率的度量)进行比较。数据分析器102可以向风险预测器104提供数据分析的结果。
仲裁器103将智能插入框架中,并且可以包括一个或多个处理器和存储器以支持人工智能、机器学习和/或深度学习过程。在一些情况下,仲裁器103可以生成和管理配置文件(例如,行为模型107)。仲裁器103向风险预测器104提供113行为模型107的用例特定信息,这使得用例特定信息能够将由数据分析器102向风险预测器104提供112的数据分析置于上下文中。
用例特定信息可以是针对系统和应用的使用配置文件/模型,诸如但不限于付款、内容保护、集成服务身份模块(iSIM)(其中具有形状因子(诸如MFF2、2FF、3FF或4FF)的芯片与处理器内核和加密嵌入式通用集成电路卡(eUICC)集成为蜂窝模块或片上系统(SoC))。
如上所述,仲裁器103生成和/或管理针对IC及其应用的行为模型107。用于特定IC和应用的初始模型可以在制造时间或在现场进行部署。然后,可以通过远程分布更新和/或通过随时间推移学习预期应用行为来更新模型。行为模型可以包括白名单、黑名单、上下文解释、状态机(例如,用于执行特定顺序的操作,诸如在解锁某些特征前需要安全引导)、威胁上下文、使用上下文等的方面。作为行为模型107的示例性具体实施,行为模型可以将当前时钟偏斜与正常操作阈值进行比较,以识别错误注入攻击或识别向同一存储器地址的大量重复写入作为潜在的RowHammer攻击。
风险预测器104包括部件,该部件用于生成基于从数据分析器102和仲裁器103获得的信息而合成的风险行为概率报告114。风险预测器104可以基于操作数据(e.g.,如由数据收集器101收集并由数据分析器102分析)中的识别到的模式和针对IC的行为模型107(例如,如由仲裁器提供)来生成关于操作数据是指示正常行为还是异常行为的风险评估。威胁评分115可以由风险预测器104生成以指示正在进行的攻击的概率,并且可以涉及向由风险预测器104识别的各种特征分配权重。可以向高级监测系统105提供报告114和威胁评分115。风险预测器104还可以根据响应策略提供输出,该输出可以被反馈以直接或者例如经由仲裁器103调整底层芯片或系统的状态。因此,可以基于由风险预测器104生成的风险评估来执行威胁响应。
高级监测系统105从多个源(诸如相邻IC或联网设备)接收信息(例如,如来自不同芯片/系统的各个报告114),并且可以检测不同芯片/系统上的趋势。在一些情况下,操作系统软件120可以被认为是高级监测系统105的一部分。在一些情况下,可以经由操作系统软件120将信息传送到高级监测系统105。高级监测系统105可以与仲裁器103通信130,以提供针对行为模型(例如,107)的反馈和调整。在一些情况下,可以向高级监测系统105直接提供121来自数据收集器101的数据。在一些情况下,可以向高级监测系统105直接提供122来自数据分析器102的信息。
因此,向高级系统105的可传送物可以包括由收集器101收集的原始数据(例如,数据106)、分析器102的输出、风险报告114或威胁评分115中的任一者或多者。另外,可以包括来自仲裁器103的行为模型107作为可传送物的一部分。在一些情况下,可以通过应用程序编程接口来获得这些各种可传送物。此外,安全特征可以应用于系统之间的安全通信。
操作系统软件120可以经由到数据收集器101的信道131A或经由到数据分析器102的直接信道131B向数据分析器102提供由应用进行的活动和动作(包括设备的状态)的信息(例如,状态信号)。这些通信信道131A、131B可以告知数据分析器102当前的活动以及操作系统期望发生什么。在一些情况下,操作系统软件120可以具有与风险预测器104通信的信道132,使得在操作系统软件上运行的应用可以利用风险报告114和/或威胁评分115。
作为示例性用例,移动电话上的恶意软件可能导致操作系统指示相机未打开;并且相机的软件状态可以是相机和麦克风未打开。然而,数据收集器101可以收集关于功率特征的信息,并且数据分析器102可以识别功率特征指示相机和麦克风被打开。数据分析器102可以在操作系统软件120的输出“相机是关闭的”与由数据分析器对功率特征指示相机打开的确定相矛盾时向风险预测器104输出关于该问题的信息。
如上所述,尽管图1中未示出,但操作系统软件120(和在其上运行的主机计算系统)可以被认为是高级系统的一部分105和/或是通过其可以向高级系统105传输通信的通道。
操作系统软件120和/或高级监测系统105可以向下向分析处理系统传送可以识别的关于新威胁的信息或直接或经由仲裁器103对正在收集和分析什么和/或实现什么对策进行改变。以这种方式,可以在一个设备上识别威胁,并且通过与那些设备的通信在其他设备上采取适当的对策(例如,经由高级监测系统105)以避免该威胁。
在各种具体实施中,仲裁器103可以用于调整框架的方面,包括从数据收集器101收集什么数据106(经由通信133)和在数据分析器102处应用什么模式或预定度量(经由通信134)。
取决于具体实施,数据收集器101、数据分析器102、仲裁器103、风险预测器104、高级监测系统105可以分别在相同或不同芯片上、在相同或不同板上、作为相同或不同系统的一部分。图6A至图6J示出了一些示例性配置。在一些情况下,这些部件中的至少一些部件在具有操作系统120的系统上。然而,数据收集器101、数据分析器102、仲裁器103和风险预测器104的电路不需要与操作系统120配合;相反,电路可以在其自身的安全域中(一起或单独)操作。因此,如果操作系统120已经受损,电路可以触发恢复出厂设置,并且不受受损的系统控制。
图2示出了数据收集器及其输入和输出的表示图。如上关于图1的数据收集器101所述,数据收集器200可以从来自源(诸如计数器202、传感器204)以及IC206之外的至少一个感兴趣元件收集/收集数据。这些源是原始数据208A、208B、208C的资源。
例如,计数器202可以包括性能计数器,诸如针对高速缓存命中/未命中、存储缓冲区填充水平、分支未命中预测、高速缓存刷新信号、当前功率状态以及每秒中断。计数器202还可以包括系统计数器,诸如针对存储器、联网、功率管理和其他部件。计数器202还可以包括调试/软件可见性能计数器。分析处理电路并且特别是数据收集器200还可以包括其自身专用计数器210。
传感器204可以包括针对电源电压电平(直接读出器或阈值电平指示器,诸如过载功率/低功率)、电流时钟偏斜、片上温度、物理应力水平(例如,弯曲或压力)、噪声水平(对于片上天线,具有太小噪声可能指示攻击,因为设备可以被屏蔽以在EM分析攻击期间减少干扰)。在一些情况下,传感器204可以包括检测芯片的物理位置和/或速度的传感器(例如,GPS、加速度计、磁力计、陀螺仪)。分析处理电路并且特别是数据收集器200还可以包括其自身专用计传感器212。
在IC之外的源206可以包括相邻IC,诸如附近节点或IoT设备以及来自可信边缘设备或服务器(例如,对正在进行的DDoS攻击的警告)。在IC之外的源206还可以包括在片外但是在同一板上的高级系统和IC。在预期信号的情况下信号的缺乏也会被捕获。例如,在诸如心跳包(定期从一个实体发送到另一实体用于确认通信信道的活力的数据的分组)被拦截或位置信标被阻止的情况下,外部数据的缺乏可能被认为是可疑的。
数据收集器200可以具有选择电路,该选择电路包括可选接口214和存储器设备215(诸如寄存器(例如,触发器或锁存器)、只读存储器(ROM)或随机存取存储器(RAM)(诸如MRAM(磁电RAM)或CeRAM(关联电子RAM))),该存储器设备存储指示要从其收集信息的资源的存储器映射216。接口214可以包括电路,该电路支持片外通信或到片上系统的其他部分的通信。接口214可以包括开关或更复杂的电路。存储器映射216可以被认为是配置信号。在一些情况下,此存储器映射216用于打开某些资源或获得对某些资源的访问。例如,存储器映射216可以用于指示选择哪些开关以打开资源。当然,一些资源可以由寄存器/存储器设备的值(来自存储器映射216)直接打开。在一些情况下,存储器映射216可以由ROM代码(例如,由引导内核执行的代码)启动。
在一些情况下,存储器映射216可以基于新行为模型(例如,提供新映射217)例如由仲裁器103更新。由仲裁器103提供的此新映射217向选择电路指示配置信号。在一些情况下,由存储器映射216识别到的资源打开或具有响应于特定触发而收集到的数据。例如,如果存在可以提供数据的十个资源,则存储器映射216可以在指定操作代码(op-code)要被执行时或在敏感操作(例如,响应于对加密操作要被执行的指示或其他敏感操作(诸如访问不涉及加密操作的敏感数据或地址位置或访问板上资源(诸如模数转换器(ADC))))期间从该十个资源中的八个资源打开/收集数据。在一些情况下,数据收集器200还可以包括处理器218。处理器218可以专用于管理存储器映射配置。在包括处理器218的一些具体实施中,处理器218可以在芯片的安全部分中。在一些情况下,处理器218可以用于实现神经网络以促进用于从源收集数据的配置。在一些情况下,来自数据分析器102的反馈信息220可以由数据收集器200用来调整向数据分析器102收集或提供什么数据。例如,通过调整收集频率或源选择。
由数据收集器200收集的数据可以被输出作为收集的数据222,其可以被提供给数据分析器102。在一些情况下,数据收集器可以包括可以用于向请求部件提供数据(例如,数据消息226)的应用程序编程接口(API)224。
图3示出了数据分析器及其输入和输出的表示图。如上关于图1的数据分析器102所述,数据分析器300与数据收集器通信101,并分析从数据收集器101收集的数据(例如,收集的数据301)。
数据分析器300可以包括存储器设备302,处理器304和接口306。
存储器设备302可以包括易失性和/或非易失性存储器,并且可以位于芯片上的安全环境中。存储器设备302可以存储软件,该软件在由处理器304执行时指导数据分析器300基于预定度量经时间帧或针对时间快照识别来自数据收集器的数据(例如,收集的数据301)中的模式。存储器设备302还可以存储预定度量307的详细信息(其可以包括用于识别数据中的模式的预定度量)并接收对可存储在存储器设备302中的预定度量的更新(例如,如来自仲裁器103的作为行为模型数据308的一部分的更新的预定度量)。如前所述,预定度量可以包括核心度量、结构度量、基于概率的度量、基于时间/频率的度量、非结构化/不规则度量或它们的组合。
作为预定度量的例示性示例,基线模型或基于规则的度量可以指示移动设备中具有AES内核的芯片应当在一秒内发生少于一千次加密。对于另一芯片,诸如在机顶盒中,度量将是不同的,并且该规则不适用,因为可以解密流中的每个帧(并且因此预期发生许多加密)。
正如由数据收集器200的存储器映射216识别到的资源(如关于图2所述)可以打开或具有响应于特定触发而收集到的数据,数据分析器300可以响应于特定触发而接收和处理收集的数据301。针对数据分析器的特定触发300可以是感兴趣的事件,并且可以指示来自数据收集器101的数据的快照或时间间隔是否应当被捕获和处理。在一些情况下,特定触发是针对两个部件的同一触发。在一些情况下,触发由预定度量定义。例如,如上所述,预定度量可以包括非结构化/不规则度量,诸如单个事件或一系列事件或者甚至不需要本质上是周期性的事件的集群。
处理器304可以是片上系统上的专用硬件部件,以及存储器设备302可以是安全环境的一部分或者是具有其自身逻辑安全边界的处理器存储器子系统。处理器304可以包括加速器(例如,卷积神经网络或其他类型的人工智能加速器)。
接口306可以包括用于与数据收集器101(其可以如关于图2的数据收集器200所描述的那样实现)通信的专用硬件。在一些情况下,数据收集器101可以经由接口306耦接到数据分析器300。在一些情况下,接口306包括用于与高级系统进行通信的部件,诸如操作系统120,其可以向数据分析器300提供操作系统数据310。
由数据分析器300生成的数据可以被输出作为分析数据312,其可以被提供给风险预测器104。在一些情况下,数据分析器可以包括可以用于向请求部件提供数据(例如,分析的数据消息316)的应用程序编程接口(API)314。在一些情况下,数据分析器300的输出可以包括到数据收集器的反馈318并且甚至到操作系统320的反馈。
图4示出了风险预测器及其输入和输出的表示图。如上关于图1的险预测器104所述,风险预测器400可以用从仲裁器103提供的用例特定上下文(例如,行为模型数据404)从数据分析器102合成信息402。风险预测器104还可以从操作系统120接收操作系统数据405。操作系统数据405可以包括针对电路操作的预期行为的基于软件的注释。
风险预测器400可以包括接口406、存储器设备408和处理器410。
接口406可以包括用于与数据分析器102、仲裁器103和高级系统通信的硬件(例如,图1的操作系统120、系统105)。如先前所述,风险预测器400可以提供风险报告412、威胁评分414和其他输出,诸如到操作系统120的反馈416。
风险预测器400包括存储在存储器408的针对上下文风险评估的指令418,该指令在由处理器410执行时指导风险预测器使用分析数据402和行为模型数据404来生成概率报告(例如,风险报告412)。在一些情况下,针对上下文风险评估的指令418可以包括针对机器学习、深度学习/神经网络的算法。威胁评分414可以经由威胁评分模块420由风险预测器400生成以指示正在进行的攻击的概率,并且可以涉及向由风险预测器400识别到的各种特征分配权重。风险预测器400还可以根据响应策略提供输出422,该输出可以被反馈以直接或者例如经由仲裁器103调整底层芯片或系统的状态。响应策略输出422指示底层芯片或系统应当如何响应识别到的风险。响应策略输出422可以用于更新行为模型和对策(例如,威胁响应),诸如本文所述。在一些情况下,风险预测器400可以仅在数据分析器102的输出上构建风险报告412。
图5A示出了仲裁器的表示图。如关于仲裁器103所述,利用与安全框架的其他部件中的一个或多个其他部件的连接/通信,仲裁器500将智能插入框架中。仲裁器500可以包括针对框架的部件的接口505,以便提供行为模型数据(诸如向数据收集器提供新的存储器映射506、向数据分析器提供新的度量507以及向风险预测器提供用例特定模型508)。接口505可以包括通信接口,取决于具体实施,该通信接口实现片上系统或片外系统(或两者)之间的通信。
仲裁器500可以包括仲裁器控制器510,一个或多个API 520、针对敏感数据的编码器和解码器530,可以存储一个或多个模型545(以及支持人工智能、机器学习和/或深度学习过程的其他数据或指令)的一个或多个存储器资源540和基于接收到的操作数据(诸如来自至少一个计算系统/IC(以及例如相应数据收集器和/或数据分析器)的收集的数据和分析的数据))来训练该一个或多个模型545的训练模块550。即,仲裁器500可以从一个或多个片上数据源(作为数据546)和从一个或多个片外源(作为数据547)采集操作监测数据。这些片上数据源可以包括性能计数器、功率管理和监测电路、天线等。片外源可以包括相邻设备或云,并且可以提供附加信息(例如,关于当前正在进行的攻击/可疑活动的警告)。在一些情况下,训练模块550包括推断引擎;在其他情况下,诸如图5A所示,训练模块550包括威胁建模引擎560。
仲裁器控制器510可以控制仲裁器500内的其他功能。仲裁器控制器510可以包括例如可执行代码(“指令”)的一个或多个处理器和本地存储器。在一些情况下,仲裁器控制器510可以实现或包括神经网络。
一个或多个API 520可以用作仲裁器500与一个或多个第三方之间的通信点。即,除了支持与数据收集器、数据分析器、风险预测器、操作系统/其他高级系统中的一者或多者通信的接口之外,仲裁器500还可以提供一个或多个API 520,以支持从第三方接收模型和数据并支持第三方的信息请求。仲裁器500可以提供通过应用可访问的专用门户,或可以通过门户网站被访问的更通用的网关。API 520可以包括更新模型API,该更新模型API允许仲裁器从第三方接收模型以更新系统的具体部件。一个或多个API520还可以包括数据API,该数据API允许仲裁器500向第三方传送接收到的数据。一个或多个API 520也可以与编码器和解码器530耦接,以解码任何接收到的输入或编码要发送到一个或多个第三方的任何输出。
编码器和解码器530可以包括根据各种方法对消息进行编码或解码的电路或编程。编码器和解码器530可以用于促进单独系统之间的安全通信。
一个或多个存储资源540可以包括任何合适的硬件存储设备。
一个或多个模型545可以由仲裁器500生成和/或管理。一个或多个模型545可以包括针对在不同类型的攻击和正常操作期间的操作行为的配置文件。模型可以从训练模块550输出并由仲裁器控制器510访问,以发送到安全分析框架(例如,以向风险预测器104提供用例特定信息或以更新或调整数据收集器101或数据分析器102的操作)或发出到第三方。训练模块550可以包括威胁建模引擎560,以对数据集执行分析以确定更有效的检测方法。在一些情况下,训练模块550可以实现或包括神经网络。在图5B中可以看到威胁建模引擎的学习过程的示例。训练模块550可以被配置为周期性地、连续地运行或需要来自仲裁器控制器510的触发。
仲裁器500可以针对行为模型评来估接收到的操作数据(例如,片上数据546或片外数据547),以确定威胁概率。(例如,一个或多个行为模型545中的)模型可以本地地(在被监测的设备上)或远程地(在边缘设备或云实例上)生成,并由仲裁器管理500。基于由风险预测器识别的威胁概率(例如,威胁概率是否超过某些阈值水平),可以触发威胁响应信号。威胁响应可以由被监测的设备本身或由分析处理电路(例如,数据收集器、数据分析器、风险预测器或仲裁器中的一者或多者)处理。响应可以基于威胁的类型和严重程度而有所不同。
图5B示出了示例性威胁建模引擎。参考图5B,示例性威胁建模引擎可以从一个或多个芯片接收操作数据575,以在学习阶段582用作训练数据集580来生成初始模型。学习阶段582可以将模型馈送到检测引擎584,该检测引擎接收测试数据集585以生成检测结果590。学习阶段582可以包括机器学习的一个或多个方法,包括深度学习或各种神经网络的使用。使用检测引擎584,可以将学习阶段582的输出与测试数据集585进行比较,以确定在学习阶段582训练的模型的精确度。
图6A至图6J示出了分析处理系统的部件的示例性配置。如上文关于图1所述,分析处理系统的部件(包括数据收集器601、数据分析器602、仲裁器603、风险预测器604、操作系统605(具有存储器和处理器))可以在同一芯片或不同芯片上。另外,当部件在同一芯片上时,此类部件中的一些部件可以处于安全逻辑区域中,并且此类部件中的其他部件可以处于芯片的非安全区域中。
图6A示出了其中数据收集器601-A、数据分析器602-A、仲裁器603-A、风险预测器604-A和操作系统605-A在同一芯片600-A上的配置。
图6B示出了以下配置:其中数据收集器601-B在芯片600-B上;以及数据分析器602-B、仲裁器603-B、风险预测器604-B和操作系统605-B不位于芯片600-B上。
图6C示出了以下配置:其中数据收集器601-C和操作系统605-C在同一芯片600-C上;以及数据分析器602-C、仲裁器603-C和风险预测器604-C不位于芯片600-C上。
图6D示出了以下配置:其中数据收集器601-D和仲裁器603-D在同一芯片600-D上;以及数据分析器602-D、风险预测器604-C和操作系统605-D不位于芯片600-D上。
当数据分析器602在芯片外时,诸如图6B、6C和6D所示,芯片600可以包括到提供分析器功能的片外可信处理器的接口。例如,来自收集器601的信息的快照可以被捕获并片外传送到分析器602。无论在芯片上还是在芯片外,数据分析器602(和其他部件)可以包括某些安全和加密措施,如关于图12更详细地讨论。在其中数据分析器602在芯片外的某些情况下,至少一些数据分析可以在片上进行。
图6E示出了以下配置:其中数据收集器601-E和数据分析器602-E在同一芯片600-E上;以及仲裁器603-E、风险预测器604-E和操作系统605-E不位于芯片600-E上。
图6F示出了以下配置:其中数据收集器601-F、数据分析器602-F和风险预测器604-F在同一芯片600-F上;以及仲裁器603-F和操作系统605-E不位于芯片600-F上。
图6G示出了以下配置:其中数据收集器601-G、数据分析器602-G和仲裁器603-G在同一芯片600-G上;以及风险预测器604-G和操作系统605-G不位于芯片600-F上。
图6H示出了以下配置:其中数据收集器601-H、数据分析器602-H和操作系统605-F在同一芯片600-H上;以及仲裁器603-H和风险预测器604-H不位于芯片600-F上。
图6I示出了以下配置:其中数据收集器601-I、数据分析器602-I、仲裁器603-I和操作系统605-I在同一芯片600-I上的配置;以及风险预测器604-I不位于芯片上600-I。
图6J示出了以下配置:其中数据收集器601-J、数据分析器602-J、仲裁器603-J和风险预测器604-J在同一芯片600-J上;以及和操作系统605-J不位于芯片600-J上。
在数据收集器和数据分析器两者在同一芯片上的情况下,诸如图6A和图6E至图6J所示,数据分析器602本身可以在芯片上相互缠结/分布有数据收集器601。例如,数据收集器601可能具有一个感兴趣元件,从而导致收集与在芯片上执行的操作代码(op-code)有关的信息。数据分析器602的专用部分可以检测由数据收集器601识别到的两个操作代码连续重复并且该模式不是正常的。这种分析可能非常本地化/接近数据收集器捕获信息的源,并且导致动作,诸如收集更多数据、收集更少数据或改变正在执行的收集的类型。数据分析器602的专用部分可以设置在针对每个感兴趣元件的源附近而不是在集中式分析器处;或可以实现本地化分析和集中式分析的组合。使数据分析器部件在数据收集器附近可以减少底层带宽要求。
图7A和图7B示出了针对分析处理电路的示例性场景。在图7A所示的场景中,分析处理电路包括:数据收集器702,该数据收集器被配置为从来自A、B、C、D、E、F、G感兴趣元件710中的至少一个感兴趣元件710收集数据;和数据分析器712,该数据分析器具有被表示为第一策略720的预定度量。
在此,数据收集器702可以从识别到的A、B、C、D、E、F和G感兴趣元件710收集信息。可能的情况是,数据收集器702硬件连接到元件中的每个元件和/或可以基于配置信号(诸如如关于图2所述的存储器映射216)在其之间进行选择。
如所示,在时间T=0期间,数据分析器712具有第一策略720,该第一策略指示对于每次出现A,执行Y;并且如果存在已经五次出现A和出现E,则执行X。以这种方式,数据分析器712可以使用第一策略720的预定度量来识别从数据收集器702接收的数据中的模式。
在例示性场景中,数据分析器712被配置为与仲裁器722通信。在稍后时间T=1处,数据分析器712可以接收(730)对预定度量的更新,从而得到第二策略740。更新可以改变现有度量或将新度量添加到策略。在此,第二策略740包括新度量:如果已经存在两次出现F,则执行Z。
例如,响应Y、X和Z可以是具体对策、到数据收集器702的反馈信息或到另一部件(例如,到风险预测器、操作系统或其他高级系统或仲裁器722)的具体信息。
在图7B所示的场景中,分析处理电路包括:数据收集器742,该数据收集器被配置为从来自A、B、C、D、E、F、G感兴趣元件750中的至少一个感兴趣元件750收集数据;和数据分析器752,该数据分析器具有被表示为第一策略760的预定度量。
在此,数据收集器742包括选择电路,以根据第一配置770从识别到的A、B、C、D、E、F、G感兴趣元件750选择性地收集(例如,独立选择)信息。
如所示,在时间T=0期间,数据收集器742具有第一配置770,该第一配置指示要从识别的A、B、E和F感兴趣元件750收集的数据,并且数据分析器752具有第一策略760,该第一策略指示对于每次出现A,则执行Y;并且如果存在已经五次出现A和出现E,则执行X。以这种方式,数据分析器752可以使用第一策略760的预定度量来识别从数据收集器742接收的数据中的模式。
在例示性场景中,数据收集器742和数据分析器752两者被配置为与仲裁器772通信。在稍后时间T=1处,数据收集器742可以接收(775)针对第二配置780的配置信号,该第二配置指示哪些数据应该由数据收集器742收集。在此示例性场景中,第二配置780指示将从识别到的A、B、D、E和F感兴趣元件750收集数据。
在同一时间T=1处或在不同时间处(数据收集器742被更新之前或之后),数据分析器752可以独立地接收(785)对预定度量的更新,从而得到第二策略790。与图7B所示的场景一样,更新可以改变现有度量或将新度量添加到策略。在此,第二策略790包括新度量:对于每个D,执行R。
例如,响应Y、X和R可以是具体对策、到数据收集器742的反馈信息或到另一部件(例如,到风险预测器、操作系统或其他高级系统或仲裁器772)的具体信息。
如上所述,安全分析框架中的分析处理电路可以从芯片收集状态数据(诸如功率使用或运行例程的数量);编译并分析该数据;以及在一些情况下,生成报告。智能和反馈由仲裁器添加到系统中,该仲裁器可以接收安全分析框架的其他部件的各个阶段的输出,并且可以从外部源接收输入以提供关于在具体应用中新兴模式的攻击的信息。一个或多个模型可以由仲裁器管理,并且仲裁器可以基于模型向安全分析框架的其他部件发送模型或指令。
带有针对敏感信息的安全特征的大多数IC具有用于防御攻击的某种形式的对策。这些对策被设计和内置到芯片。当新类型的攻击被制定时,这些防御可能是不足的。所描述的安全分析框架和分析处理电路能够对新兴威胁进行动态响应。这种能力的一个方面是包括人工智能(其可以包括机器学习、深度学习和其他方法)和通信机制,该通信机制实现在芯片上和/或跨网络用上下文收集和分析信息(诸如操作数据)。因此,当攻击改变时,可以更新和分布表示正常行为和/或异常行为的模型,从而对新攻击提供弹性防御。
在片上采集操作数据,例如以性能计数器、电源测量、op-code序列和聚类的形式。此操作数据中的一些操作数据具有智能,并且可以提取折衷的指标。折衷的指标不一定与芯片上的攻击相关。由于芯片参与了系统并且系统参与了更大的网络,当攻击在高系统级别处发生时,可以从芯片级别处的硬件或网络级别上的一些芯片收集的信息(操作数据)可以保持攻击(例如已经安装在移动电话上的恶意软件)的线索。即使恶意软件本身在OS级别或软件级别处运行,也可以从操作数据识别硬件级别处的折中指标。
仲裁器和/或风险预测器或外部服务可以使用先进的方法(诸如深度学习)来集群行为(可以从收集的数据中提取),以识别可能的异常或提取明确的行为异常。这些行为对于不同应用可能不同,因为什么是预期行为和上下文因应用而有所不同。例如,移动电话可以具有与机顶盒相比不同的预期行为,这两者将具有与汽车应用相比不同的预期行为。
一旦生成风险报告和/或识别威胁评分,威胁响应就可以处于芯片级别或硬件级别或者威胁评分就可以被传递到高级监测系统(例如,软件或操作系统级别),以参与威胁检测和响应。
如上所述,通过仲裁器,可以在设备或远程代理上部署行为配置文件/模型,以监测设备和应用活动并指导/配置设备上的对策。行为配置文件/模型可以包括本地配置文件和远程配置文件。
对策的示例包括提供针对片上机器学习模型的权重,旨在通过改变特性特征((例如,插入噪声;调整处理模式;输入不太高效但更安全的模式等)或将与活动僵尸网络相关联的IP地址添加到内部黑名单来破坏动态功率分析攻击。
本地配置文件可以通过本地采集的操作监测数据和经由信任路径远程提供的数据来通知。后者可以包括针对机器学习(ML)算法的默认权重和针对其他部件的配置参数。例如,高级系统可能会注意到与某类IoT设备(诸如包括某型号的电源电路的路由器)相关的攻击类型,并且向这些设备提供定制参数。
远程配置文件可以在设备之外生成。例如,在边缘设备或云实例上。这降低了设备的计算复杂性,这可以节省功率、受益于更高性能的硬件和/或能够使用专有算法。图5B的威胁建模引擎570是适用于远程配置文件生成的系统的示例,因为与推断引擎相比,对机器学习算法的训练是高度计算密集型的。
可以随时间推移维护和完善本地配置文件和远程配置文件两者,并且当允许时,从多个源采集的数据可以用于增加机器学习的精确度。数据还可以用于完善其他参数,诸如阈值,该阈值用于确定某一活动是正常的或是潜在威胁。通过仲裁器(例如,图1的仲裁器103)与高级监测系统(例如,图1的操作系统120和高级监测系统105)之间的通信,可以在软件更新的上下文中进行某些改变(例如,原始设备制造商(OEM)添加影响设备行为的新特征或调整设备的行为以适应新发现的攻击类型)。
在示例性具体实施中,风险预测器104、400或数据分析器102、300可以确定条件是否超过某一阈值,并且如果条件超过某一阈值,则指示应当启动响应。当响应是由分析处理电路本身执行的功能时,指示可以是内部的。指示可以是针对具体对策的触发(或到确定适当对策的系统的信号)。指示可以是到软件/高级系统的输出,该输出然后确定适当动作。
由分析处理电路触发的威胁响应可以基于IC的类型、检测到特定威胁的置信度以及威胁的潜在严重程度而变化。分析处理电路可以考虑每个威胁类型的多个阈值水平,以考虑改变置信度水平。响应的类型和数量也可能受到分析处理电路的复杂性的限制(例如,IoT设备/边缘设备/基础结构设备)。例如,响应可以包括由其他软件或硬件解释的离散输出、发送到一个或多个代理的消息或反向响应。
将由其他软件或硬件解释的离散输出可以是例如到CPU终端或到片外安全监视器的信号。
发送到一个或多个代理的消息可以是例如到相邻设备、边缘设备或云实例的。这些消息可以采用警告、对关于如何处理威胁的指导的请求、针对接收方端上的某些行为的触发等形式。
反向响应可以是:例如,将恶意IP地址列入黑名单、禁用连接;响应于过高的时钟偏斜或意想不到的电源电压跌落而减慢片上时钟;限制性能、终止可疑的执行线程、强制重启;禁用功能单元、禁用高速缓存、发出本地质询响应;注入抖动;擦除秘钥、执行恢复出厂设置或砖化设备。
如上所述,配置文件/模型可以是用用例特定数据生成的用例特定配置文件/模型(例如,基于设备的硬件配置和/或设备的设备应用)。在一些情况下,可以根据设备应用类别对配置文件进行分类。例如,分析住宅警报可能在99%的时间内显示一致的活动。然而,在预定测试或实际闯入的情况下,设备行为可能发生显著差异,足以被分类为威胁。对感知威胁的一个可能响应是强制重启,这在闯入的情况下将是高度不期望的。因此,对于此类设备,强制重启在识别到的条件或设备应用下将不是指示的相应。
又如,具有安全信息的设备可以经受差分功耗分析(DPA)攻击,该DPA攻击是侧信道攻击的形式,旨在从目标设备提取密钥或其他敏感信息。在DPA攻击期间,可以在对密钥或信息的处理期间监测设备的功率消耗;并且随后将信号处理算法用于针对攻击者“恢复”这些秘密。电磁(EM)分析攻击以类似的方式操作。攻击者使用探针监测芯片特定部分上的EM发射。这种较新类型的攻击绕过了先前可能用于应对DPA攻击的抑制措施。通过使用所述的分析处理电路和可更新的行为模型,可以向设备提供更新,以便更好地防御新兴攻击。
图8A示出了针对仲裁器的通信路径;以及图8B至图8D示出了使用仲裁器来实现安全配置。如前所述,安全分析框架800可以用数据收集器810、数据分析器820、风险预测器830和仲裁器840来实现。仲裁器840可以向安全分析框架内的不同部件发送信息和模型,并且从不同部件接收信息以通过例如各种机器学习/训练技术来更新模型。
例如,数据收集器810可以从仲裁器840接收以下信息841:诸如关于从功能电路收集什么数据的指令、关于数据收集频率的信息、关于所收集数据的分辨率的信息或关于向数据分析器820转发什么信息的信息。数据分析器820可以从仲裁器840接收信息842,诸如关于分析的频率或针对对来自数据收集器810的数据的分析的权重的信息。风险预测器830可以从仲裁器840接收信息843,诸如用作上下文来从分析器820的输出产生精简报告(例如,风险报告)的权重或模型。权重可以是基于模型,以将数据分析器的输出解释为相关安全问题或诊断结果。精简报告可以是概述或者可以是全面的。风险预测器830可以包括威胁评分模块835,其还可以从仲裁器840接收权重或模型(未示出),以输出例如指示当前威胁等级的值。威胁评分模块835的输出可以是机器可读的,并且在一些情况下可以直接馈送(未示出)到芯片上的功能电路中或到高级系统(例如,图1的高级监测系统105或操作系统120)。
在一些情况下,仲裁器840可以接收在其他部件之间发送的信息的同一或编码的版本。在一些情况下,发送到仲裁器840的信息是其通常不会从一个部件发送到另一部件的信息,并且仅针对仲裁器840。例如,数据收集器810可以收集仅发送到仲裁器840(例如,作为数据844)并且不发送到数据分析器820的数据。仲裁器840可以接收数据844和输出到数据分析器的数据845(或其部分)。类似地,仲裁器840可以从数据分析器820接收未发送到风险预测器830的数据846以及以其他方式发送到风险预测器830的数据847(或其部分)。仲裁器840还可以从风险预测器830接收输出848,以及甚至威胁评分849。
转向图8B,如图8A所述,仲裁器840可以从安全分析框架的各种部件(包括数据收集器810、数据分析器820和风险预测器830)接收输入,以便更新行为模型(并且在某些情况下,与高级监测系统一起工作)。这些部件在功能电路850的一个或多个块上作用。在某一时刻处,仲裁器840可以从安全分析框架中的一个或多个部件接收(855)操作数据。在图8B的示例中,风险预测器830特别地与仲裁器840通信,但实施方案不限于此。在接收通信之后的某一时刻处,仲裁器840可以确定需要改变为不同的安全配置。这可以在高级系统的方向上或基于由仲裁器840发现的学习特征。可以确定新安全配置,并且可以将新安全配置传送(860)到系统的不同部分。
转向图8C,可以看到安全分析框架的更详细的流程。数据收集器810可以被配置为从功能电路850接收多种类型的操作数据865。这些操作数据中的一者或多者可以在给定时间处被收集。例如,如图8C所示,来自功能电路850的操作数据865被描绘为包括五种类型,但仅有两种类型由数据收集器810收集,如实线所指示。以大致相同的方式,数据分析器820可以被配置为从数据收集器810接收一种或多种类型的操作数据870。在许多情况下,来自功能电路850的操作数据865将与来自数据收集器810的操作数据870具有相同的一种或多种类型。然而,存在一些具体实施,其中数据收集器810可以比数据分析器820捕获更多类型的操作数据865。例如,虽然某些类型的操作数据可能不是安全分析框架中当前使用模型的一部分,但是仍然可以针对异常活动监测这些操作数据。数据分析器的输出875由风险预测器830接收,该风险预测器使用先前被提供作为来自仲裁器840的信息843的模型来生成风险报告和其他输出。在该图示中,仲裁器从风险预测器830接收(855)信息。
转向图8D,基于由仲裁器840接收的操作数据和其他信息,可以生成新安全配置并将其发送(860)到部件中的一个或多个部件或功能电路850。例如,在仲裁器840接收(855)数据之后,可以由仲裁器840确定需要新安全配置。在确定新安全配置的详细信息之后,仲裁器840可以向系统的其余部分发送(860)该新安全配置。例如,如图8D所示,更新由数据收集器810从功能电路850捕获的操作数据880和由数据分析器820发送和/或使用的操作数据885。在图8D中,如实线箭头所示,来自功能电路850的操作数据880和来自数据收集器810的操作数据885两者均包括与三个源有关的数据。
图中未示出的可能结果的其他示例可以包括更新的模型,该更新的模型提供对数据分析器820和风险预测器830中的操作数据的不同解释。也可以改变功能电路850的行为。例如,可以停止某些敏感功能。在另一具体实施中,功能电路850可以开始实现虚拟例程或作用于虚拟数据以防止敏感内容的泄露。在另一具体实施中,功能电路850可以被完全关闭,例如在具有来自仲裁器840的高确定度的严重攻击的情况下。
图9示出了用于向安全分析框架提供仲裁的方法。方法900可以由仲裁器(诸如关于图1所述的仲裁器103、关于图5A所述的仲裁器500或诸如关于图8A至图8B所述的仲裁器840)执行,并且可以包括向针对系统的风险预测器发送(902)第一模型。第一模型包括针对系统的具体应用的上下文信息。系统可以包括仲裁器、数据收集器、数据分析器、风险预测器和功能电路的一个或多个块。在一些情况下,可以将基于第一模型的安全配置或指令发送到风险预测器,而不是完整模型。也可以将多个模型发送到风险预测器。也可以将一个或多个模型、安全配置或指令发送到系统的其他部件,诸如系统内的数据收集器或数据分析器或功能电路的一个或多个块。
仲裁器可以从系统接收(904)操作数据(例如,片上数据546或片外数据547,诸如关于图5A所述)。例如,可以从系统的部件中的任何部件接收操作数据,包括但不限于数据收集器、数据分析器和风险预测器。当从风险预测器接收到操作数据时,操作数据可以包括指示一个或多个威胁评分(例如,每个可能攻击的一个威胁评分)的一个或多个数值。还可以例如经由API从第三方接收数据。来自第三方的数据可以是一个或多个全局模型(例如,基于在直接系统中尚未经历的新兴类型的攻击的模型)。来自第三方的数据也可以是基于全局模型的一组指令。
可以使用接收到的操作数据对包括第一模型的一个或多个所存储模型执行(906)训练,以至少生成第二模型。第二模型可以是第一模型的改进版本。在一些情况下,第二模型覆盖存储器中的第一模型。在一些情况下,保留第一模型,并且将第二模型写入到不同的位置。在该阶段可以生成多于一个模型。例如,第二模型可以旨在用于风险预测器;并且可以针对数据收集器或数据分析器生成第三模型(或配置文件)。
可以将第二模型发送(908)到风险预测器。当处理数据分析器的结果时,风险预测器可以使用针对上下文的该模型。
仲裁器可以至少基于接收到的操作数据来确定(910)是否对系统的安全配置进行调整。确定可以基于例如来自对操作数据的分析或来自第三方的新识别到的威胁。由于从片外源接收到的信息,来自对操作数据的分析的新识别到的威胁可能是可用的。
一旦仲裁器确定应当对系统的安全配置进行调整,仲裁器就可以至少基于接收到的操作数据来确定(912)针对系统的具体安全配置。安全配置可以包括要被发送到安全分析框架的一个或多个部件的一个或多个模型和指令。安全配置可以是关于针对具体环境和可能的新威胁行为的适当措施的通过机器学习或推断引擎生成的学习配置。可能存在不同级别的安全配置以匹配威胁存在的不同级别和确定性,并且具体安全配置可以是基于威胁存在的确定性。然后,仲裁器可以将具体安全配置发送(914)到系统的至少一个部件。在一些情况下,安全配置也可以包括针对功能电路的一个或多个块的指令。例如,仲裁器可以将配置信号发送到数据收集器,以调整哪些感兴趣元件应当是正在收集的数据的源。又如,仲裁器可以将更新的模型发送到数据分析器,以用于该数据分析器使用预定度量来识别收集的数据中的模式。在一些情况下,如果检测到或怀疑系统中正在发生严重攻击,则仲裁器可以直接或经由数据分析器发送命令来完全关闭功能电路的一个或多个块,以防止暴露敏感信息。
图10A至图10D示出了示例性攻击场景和对应响应。操作环境可以包括系统的功能电路1000、数据收集器1002、数据分析器1004、风险预测器1006和仲裁器1008。至少安全分析框架的数据收集器1002可以包括在片上作为系统的一部分。
参考图10A,攻击者1010可以尝试例如经由侧信道攻击1012或错误注入攻击1014从功能电路1000提取数据。在侧信道攻击中,重复查看电路的信号线、电源线和/或输出以确定电路的任何秘密特定行为。在错误注入攻击中,攻击者将一个或多个错误注入系统中并分析输出,以确定或操纵电路的内部工作;例如,独立于实际检查的结果,通过恶意地设置处理器内部标记来指示成功的安全检查。
参考图10B,在某一时刻处(如果不连续地或连续地),可能在攻击1012、1014期间,数据收集器1002从功能电路1000收集(1030)数据。对数据的收集(1030可以如关于图1和图2所描述的那样发生。
转向图10C,数据收集器1002可以传送从功能电路1000收集的信息。信息可以被传送(1040)到数据分析器1004,如图1、图2和图3所述。来自数据收集器1002的信息也可以被直接传送(1042)到仲裁器1008作为观察数据。在某一时刻处,数据分析器1004完成对一些或所有数据的分析之后,数据分析器1004的输出可以被传送(1044)到风险预测器1006。数据分析器1004的输出也可以被直接传送(1046)到仲裁器1008。此外,如果数据分析器从当前风险策略识别攻击,则数据分析器可以启动适当的威胁响应。此外或另选地,风险预测器1006可以触发适当的响应。具体地,风险预测器1006可以使用先前(从仲裁器1008)接收的用例特定行为模型来处理数据分析器1004的输出,并将结果输出到框架中的高级部件(未示出)或另一部件,诸如图1和图4所述。在一些情况下,风险预测器1006的结果可以被传送(1048)到仲裁器1008。数据分析器1004和风险预测器1006可能不识别指示攻击的行为。然而,仲裁器1008能够利用其智能并且补充或更新系统。
转向图10D,在仲裁器1008接收操作数据之后,仲裁器1008可以生成新模型并确定是否对系统的安全配置进行调整。仲裁器1008可以将新模型或指令集传送到其他部件。在一些情况下,功能电路1000从仲裁器1008接收(1052)指令,例如,仲裁器1008本身可以确定观察数据指示攻击正在发生,并向功能电路1000发送信号以永久地关闭或关闭直到攻击结束或以其他方式处理。功能电路1000可以发送垃圾数据以处理或实现虚拟例程。在一些情况下,数据收集器1002从仲裁器1008接收(1054)配置信号。配置信号可以指示要从功能电路1000收集的新数据、要转发到数据分析器1004的新数据或其他指令。在一些情况下,数据分析器1004从仲裁器1008接收(1056)指令或模型。指令可以包括要应用于从数据收集器1002接收到的数据的新预定度量、要转发到风险预测器1006的新数据或其他指令。在一些情况下,风险预测器1006从仲裁器1008接收(1058)新模型、以及要重新处理从数据分析器1004接收的数据的指令。在一些情况下,从受攻击系统收集的观察数据可能不会由仲裁器1008及时处理以使该系统免受攻击,但是可以用于更新发送到其他类似系统的模型。
图11示出了针对具有多个子电路的系统的示例性分析框架。参考图11,芯片1100可以包括仲裁器1110、耦接到该仲裁器1110的第一子电路1120和耦接到该仲裁器1110的至少一个其他子电路1130。每个子电路可以包括子电路内的多个部件,包括:功能电路1122、1132、数据收集器1124、1134、数据分析器1126、1136以及风险预测器1128、1138。这些部件中的一个或多个部件可能不存在于直接子电路中(例如,该一个或多个部件可以在芯片的不同部分中或者可以是片外的)。以相同的方式,仲裁器1110可以是片外的,只要其以某种方式耦接到第一子电路1120和至少一个其他子电路1130即可。存在两个所描绘的子电路,但应注意,可能存在多于两个。
在某一时刻处,仲裁器1110可以从第一子电路1120接收(1140)观察数据。数据可以来源于数据收集器1124、数据分析器1126、风险预测器1128或这些部件中的多于一个部件。在接收数据之后,仲裁器1110可以确定新安全配置。安全配置可以包括用于改变功能电路1122、1132、数据收集器1124、1134、数据分析器1126、1136或风险预测器1128、1138中的行为的指令。
然后,仲裁器1110可以将新安全配置传送(1150)到第一子电路1120。此时,仲裁器1110也可以将新安全配置传送(1150)到至少一个其他子电路1130,在这样做时,将新安全配置传送到否则可能仍然易受发生在第一子电路的攻击的影响的子电路。类似地,可能的情况是,攻击来源于至少一个其他子电路1130并且数据从该攻击传送到仲裁器1110,从而导致仲裁器1110向至少一个其他电路1130和第一子电路1120两者传送。
图12示出了系统的不同部分之间的通信的示例,该系统结合有可在不同位置或具有不同安全状态的安全分析框架。系统可包括具有安全区域1212和非安全区域1214的芯片1210。系统还可以包括芯片1210和另一个芯片1222两者均位于其上的板1220。系统也可以包括板外电路,包括经由有线传输机制可用的片外电路1232和经由无线传输机制可用的片外电路1234。
例如,数据收集器和数据分析器可以处于芯片上的安全区域1212中,而风险预测器可以处于芯片上的非安全区域1214中。仲裁器可以容纳于芯片1210外在其他芯片1222上。仲裁器还可以将包括来自安全分析框架的数据的数据传送到外部源。
芯片1212上的安全区域与芯片1214上的非安全区域之间的通信可以应用一些安全元件。所涉及的安全可以包括现有的模糊处理方法,诸如发出不规则信号、填补数据、使用虚拟例程或虚拟数据或传统的加密方法。不同的安全方法可以用于不同类型的数据。芯片1212上的安全区域或芯片1214上的非安全区域与其他芯片1222之间的通信可以使用类似或不同的安全方法。涉及板外有线连接电路1232或板外无线连接电路1234的通信可以使用更传统的加密和更少的模糊处理方法被配置为更安全。
在一些情况下,由于当从芯片上的一个安全区域移动到非安全区域或从同一板上的一个芯片移动到另一芯片或甚至到可以经由有线通信或无线通信访问的其他芯片/板时在将信息从安全分析框架中的一个部件传输到另一部件时带宽受到限制,因此更靠近正在被监测的功能电路执行分析的某些特征和/或执行对信息的编码,使得从一个区域到另一区域的消息的大小被减小。
图13示出了涉及网络的示例性具体实施。网络分配器可以具有分配到多个调制解调器1310、1350的本地源1300。每个调制解调器可以具有连接到调制解调器的一个或多个路由器,每个路由器可以具有连接到该路由器的一个或多个设备。可以在网络的整个层级结构中实现安全分析框架,以检测威胁并向整个网络提供安全保护。
源1300可以向两个调制解调器(业务调制解调器1310和个人调制解调器1350)提供互联网访问。业务调制解调器1310可以经由防火墙或交换机1315与三个路由器(公共路由器1320、支付路由器1325和员工路由器1330)连接。两个智能扬声器1335、1340可以连接到公共路由器1320。支付处理设备1345可以连接到支付路由器1325。在这种情况下,不存在当前连接到员工路由器1330的设备。个人调制解调器1350可以连接到个人路由器1355,通过该个人路由器,可以连接三台个人设备:机顶盒1360、智能扬声器1365和移动电话1370。
每个调制解调器1310、1350和路由器1320、1325、1330、1355可以配备有安全分析框架。若干设备也可以被配置为具有安全分析框架,尽管由于一些设备针对客户或可能针对访客,但是难以强制执行。可以从具有安全分析框架的所有设备、调制解调器和路由器收集被认为是本地的操作数据。可以如图12所述将操作数据传送到容纳在源1300处的仲裁器。在源1300处容纳的仲裁器可以被配置为收集和分析提供给该仲裁器的所有操作数据,并基于本地操作数据确定针对整个网络的安全配置,包括针对不同类型的设备、调制解调器和路由器的一个或多个不同子配置。
因此,当在一个区域中识别到问题时,可以发送信号以帮助保护其他区域。例如,如果在个人路由器1355处检测到攻击,可以向其他路由器(包括网络上的公共路由器1320或路由器中的其他路由器)更新信息。另外,由于可以在更宽的网络上检测模式,因此安全分析框架可以识别仅在一个级别可能无法辨别的问题。
虽然以特定于结构特征和/或动作的语言描述了本主题,但应当理解,所附权利要求中限定的主题不一定限于上述特定特征或动作。相反,上文所述的特定特征和动作被公开为示例,从而实现权利要求书和其他等同特征和动作;它们旨在处于权利要求书的范围内。
Claims (20)
1.一种分析处理电路,包括:
数据收集器,所述数据收集器包括选择电路,其中所述数据收集器从集成电路(IC)的多个感兴趣元件中的至少一个感兴趣元件收集数据,其中根据到所述选择电路的配置信号选择所述至少一个感兴趣元件;和
数据分析器,所述数据分析器被耦接以从所述数据收集器接收所述数据,其中所述数据分析器基于预定度量经时间帧或针对时间快照识别来自所述数据收集器的所述数据中的模式,其中所述数据分析器接收对所述预定度量的更新。
2.根据权利要求1所述的分析处理电路,其中所述至少一个感兴趣元件包括所述IC上的计数器或传感器。
3.根据权利要求1所述的分析处理电路,其中所述至少一个感兴趣元件包括所述IC之外的源,其中所述IC之外的所述源是第二IC。
4.根据权利要求1至3中任一项所述的分析处理电路,其中所述数据收集器的所述选择电路包括:存储器设备,所述存储器设备存储存储器映射作为配置信号,所述配置信号指示要从其收集数据的所述多个感兴趣元件中的所述至少一个感兴趣元件。
5.根据权利要求1至4中任一项所述的分析处理电路,其中响应于触发而接收所述配置信号。
6.根据权利要求5所述的分析处理电路,其中所述触发包括对要执行敏感操作或将要执行指定操作代码或多个指定操作代码的指示。
7.根据任一前述权利要求所述的分析处理电路,其中所述预定度量包括核心度量、结构度量、基于概率的度量、基于时间/频率的度量、非结构化/不规则度量或它们的组合。
8.根据任一前述权利要求所述的分析处理电路,其中所述数据分析器从仲裁器接收对所述预定度量的所述更新。
9.根据权利要求8所述的分析处理电路,其中所述数据收集器从所述仲裁器接收到所述选择电路的所述配置信号。
10.根据权利要求1至7中任一项所述的分析处理电路,其中所述数据分析器向所述选择电路提供所述配置信号。
11.根据任一前述权利要求所述的分析处理电路,还包括被耦接以接收所述数据分析器的输出的风险预测器,其中所述风险预测器生成基于所述数据分析器的所述输出和针对所述IC的行为模型而合成的风险行为概率报告。
12.根据权利要求11所述的分析处理电路,其中针对所述IC的所述行为模型包括基于所述IC的硬件配置和所述IC的设备应用的用例特定信息。
13.根据任一前述权利要求所述的分析处理电路,其中所述数据分析器被耦接以从操作系统接收信号。
14.根据权利要求13所述的分析处理电路,其中所述数据分析器被配置为从所述操作系统接收关于设备的状态的状态信号,并且将来自所述操作系统的所述状态信号与从所述数据收集器接收的关于所述设备的操作数据进行比较。
15.一种用于抑制对计算系统的攻击的方法,包括:
从集成电路(IC)的多个感兴趣元件中的至少一个感兴趣元件收集操作数据;
基于预定度量,经时间帧或针对时间快照识别所述操作数据中的模式;
基于所述操作数据中的识别到的模式和针对所述IC的行为模型,生成关于所述操作数据指示正常行为还是异常行为的风险评估;以及
基于所述风险评估执行威胁响应。
16.根据权利要求15所述的方法,其中针对所述IC的所述行为模型包括基于所述IC的硬件配置和所述IC的设备应用的用例特定信息。
17.根据权利要求15所述的方法,还包括:
接收识别感兴趣元件的配置信号,所述配置信号调整要从所述多个感兴趣元件中的哪些元件收集数据;以及
随后从由所述配置信号识别到的所述感兴趣元件收集操作数据。
18.根据权利要求15所述的方法,还包括:
接收更新的预定度量;以及
基于所述更新的预定度量识别所述操作数据中的模式。
19.根据权利要求15所述的方法,还包括:
接收针对所述IC的更新的行为模型;以及
基于所述操作数据中的所述识别到的模式和针对所述IC的所述更新的行为模型,生成关于所述操作数据指示正常行为还是异常行为的第二风险评估。
20.根据权利要求15所述的方法,还包括:从操作系统接收关于设备的状态的信号,其中识别所述操作数据中的所述模式包括:
将来自所述操作系统的关于所述设备的状态的所述信号与来自所述至少一个感兴趣元件的关于所述设备的操作数据进行比较;以及
指示通过所述比较识别到的任何冲突。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/855,659 US11550965B2 (en) | 2020-04-22 | 2020-04-22 | Analytics processing circuitry for mitigating attacks against computing systems |
US16/855,659 | 2020-04-22 | ||
PCT/GB2021/050901 WO2021214429A1 (en) | 2020-04-22 | 2021-04-14 | Analytics processing circuitry for mitigating attacks against computing systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115668190A true CN115668190A (zh) | 2023-01-31 |
Family
ID=75674871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180037032.7A Pending CN115668190A (zh) | 2020-04-22 | 2021-04-14 | 用于抑制对计算系统的攻击的分析处理电路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11550965B2 (zh) |
EP (1) | EP4139818A1 (zh) |
KR (1) | KR20230008117A (zh) |
CN (1) | CN115668190A (zh) |
WO (1) | WO2021214429A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220019676A1 (en) * | 2020-07-15 | 2022-01-20 | VULTARA, Inc. | Threat analysis and risk assessment for cyber-physical systems based on physical architecture and asset-centric threat modeling |
US20220245483A1 (en) * | 2021-02-03 | 2022-08-04 | International Business Machines Corporation | Identifying Influential Effects to Be Adjusted in Goal Seek Analysis |
US11847254B2 (en) * | 2022-01-21 | 2023-12-19 | Shift5, Inc. | Voltage override device for physical intrusion prevention on a data bus |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414833A (en) * | 1993-10-27 | 1995-05-09 | International Business Machines Corporation | Network security system and method using a parallel finite state machine adaptive active monitor and responder |
US9824243B2 (en) * | 2015-09-11 | 2017-11-21 | Nxp Usa, Inc. | Model-based runtime detection of insecure behavior for system on chip with security requirements |
US10404732B2 (en) * | 2016-06-14 | 2019-09-03 | Sdn Systems, Llc | System and method for automated network monitoring and detection of network anomalies |
US11308239B2 (en) | 2018-03-30 | 2022-04-19 | Seagate Technology Llc | Jitter attack protection circuit |
US10853485B2 (en) * | 2018-06-11 | 2020-12-01 | Nxp B.V. | Intrusion detection for integrated circuits |
-
2020
- 2020-04-22 US US16/855,659 patent/US11550965B2/en active Active
-
2021
- 2021-04-14 EP EP21721588.8A patent/EP4139818A1/en active Pending
- 2021-04-14 WO PCT/GB2021/050901 patent/WO2021214429A1/en unknown
- 2021-04-14 CN CN202180037032.7A patent/CN115668190A/zh active Pending
- 2021-04-14 KR KR1020227040271A patent/KR20230008117A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
US20210334415A1 (en) | 2021-10-28 |
US11550965B2 (en) | 2023-01-10 |
EP4139818A1 (en) | 2023-03-01 |
KR20230008117A (ko) | 2023-01-13 |
WO2021214429A1 (en) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11509679B2 (en) | Trust topology selection for distributed transaction processing in computing environments | |
Lohachab et al. | Critical analysis of DDoS—An emerging security threat over IoT networks | |
US20210192044A1 (en) | Method and apparatus for defending against attacks, device and storage medium | |
Friedberg et al. | Combating advanced persistent threats: From network event correlation to incident detection | |
EP2949144B1 (en) | Adaptive observation of behavioral features on a mobile device | |
CN115668190A (zh) | 用于抑制对计算系统的攻击的分析处理电路 | |
Jardine et al. | Senami: Selective non-invasive active monitoring for ics intrusion detection | |
CN105409164A (zh) | 通过使用硬件资源来检测网络业务中的矛盾的根套件检测 | |
Li et al. | A critical review of cyber-physical security for building automation systems | |
Graveto et al. | A stealth monitoring mechanism for cyber-physical systems | |
EP3528457A2 (en) | Collaborative internet-of-things anomaly detection | |
KR20180107789A (ko) | 기계 학습 기반으로 이상 행위를 분석하는 유무선 공유기 및 그 방법 | |
Rahman et al. | Hardware-assisted cybersecurity for IoT devices | |
Mahboub et al. | Smart IDS and IPS for cyber-physical systems | |
Ni et al. | Machine learning enabled industrial iot security: Challenges, trends and solutions | |
Kumar et al. | A comprehensive survey on hardware-assisted malware analysis and primitive techniques | |
CN115698992A (zh) | 用于安全分析框架的仲裁器系统 | |
Gupta et al. | An investigation of cyber-attacks and security mechanisms for connected and autonomous vehicles | |
Gupta et al. | A Survey of Security Mechanisms for Edge Computing based Connected Autonomous Vehicles | |
Zhang et al. | Diversity-by-design for dependable and secure cyber-physical systems: A survey | |
Wu et al. | Densely connected residual network for attack recognition | |
Medwed et al. | Cyber resilience for self-monitoring IOT devices | |
CN114257404B (zh) | 异常外联统计告警方法、装置、计算机设备和存储介质 | |
Ponomarev | Intrusion Detection System of industrial control networks using network telemetry | |
Goli et al. | A Survey on Securing IoT Ecosystems and Adaptive Network Vision |
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 |