首页 / 专利库 / 防辐射 / 纵深防御 / 使用电力指纹(PFP)来监控完整性并且增强基于计算机的系统的安全性

使用电指纹(PFP)来监控完整性并且增强基于计算机的系统的安全性

阅读:1013发布:2020-06-24

专利汇可以提供使用电指纹(PFP)来监控完整性并且增强基于计算机的系统的安全性专利检索,专利查询,专利分析的服务。并且描述了用于增强目标系统执行完整性的过程,通过电 力 指纹(PFP)确定目标系统执行完整性:通过将PFP集成到综合性 纵深防御 安全性的检测阶段;通过执行具有预定义的输入的不可信装置,预定义的输入推动特定的状态序列以及特定的 软件 执行,部署能够实现PFP的 节点 的网络;通过将模 块 识别信息嵌入到同步信令中;通过组合来自不同的板元件的 信号 ;通过使用 恶意软件 签名来增强PFP性能;通过自动表征和签名提取;通过提供安全的签名更新;通过保护以防侧信道攻击;通过监控它们的动态电力消耗并且将其与来自可信代码的签名进行比较来进行嵌入平台中的实时完整性评定,包括通过集中于携带关于内部执行状况的最多信息的轨迹部分,预表征平台的电力消耗;通过使用来自位转移的序列的PFP来检测来自数字处理器中的软件的授权执行中的偏差。,下面是使用电指纹(PFP)来监控完整性并且增强基于计算机的系统的安全性专利的具体信息内容。

1.一种用于对计算机处理平台中的程序的执行进行实时完整性评定的方法,其特征在于,包括:
通过在所述程序的执行期间进行采样以追踪处理器的电消耗来监控所述程序的执行;
使用平台表征技术,所述平台表征技术进一步包括
检测显示对所述处理器中的状态转移的最大依赖性的轨迹的部分;
使用所述部分来选择携带最多信息的特征;
从包含在所述部分中的所述程序的选择的所述特征的表征中获得所述程序的可信电力指纹的组;
基于距离由所述可信指纹组成的签名的距离的概率分布,建立用于特定的错误报警率的阈值
将所述可信指纹的库与从来自不可信代码的执行的轨迹中提取的特征进行比较;
确定所述指纹和提取的所述特征之间的距离;以及
如果所述距离超出所述阈值,则报告例外。
2.如权利要求1所述的方法,其特征在于,进一步包括通过将模识别信息嵌入到所述程序中来使所述追踪与所述程序的执行同步。
3.如权利要求2所述的方法,其特征在于,所述模块识别信息是在所述程序的执行之前被写入IO寄存器中的二进制识别码。
4.如权利要求2所述的方法,其特征在于,所述模块识别信息是产出独特的电力消耗模式的指令序列。
5.如权利要求1所述的方法,其特征在于,电力消耗的所述追踪组合了来自多个处理器电路信号
6.如权利要求1所述的方法,其特征在于,进一步包括通过将已知恶意软件的指纹签名添加到所述库来增强所述例外报告的品质。
7.一种用于对计算机处理平台中的程序的执行进行实时完整性评定的系统,其特征在于,包括:
通过在所述程序的执行期间进行采样以追踪处理器的电力消耗来监控所述程序的执行的单元;
使用平台表征技术的单元,所述使用平台表征技术的单元包括
检测显示对所述处理器中的状态转移的最大依赖性的轨迹的部分的单元;
使用所述部分来选择携带最多信息的特征的单元;
从包含在所述部分中的选择的所述特征的表征中获得所述程序的可信电力指纹的组的单元;
基于距离由所述可信指纹组成的签名的距离的概率分布,建立用于特定的错误报警率的阈值的单元;
将所述可信指纹的库与从来自不可信代码的执行的轨迹中提取的特征进行比较的单元;
确定所述指纹和提取的所述特征之间的距离的单元;以及
如果所述距离超出所述阈值,则报告例外的单元。
8.如权利要求7所述的系统,其特征在于,进一步包括嵌入到所述程序中的模块识别信息。
9.如权利要求8所述的系统,其特征在于,所述模块识别信息是在所述程序的执行之前被写入IO寄存器中的二进制识别码。
10.如权利要求8所述的系统,其特征在于,所述模块识别信息是产出独特的电力消耗模式的指令序列。
11.如权利要求7所述的系统,其特征在于,用于所述电力消耗的追踪的单元组合了来自多个处理器电路的信号。
12.如权利要求7所述的系统,其特征在于,进一步包括通过将已知恶意软件的指纹签名添加到所述库来增强所述例外报告的品质的单元。
13.一种用于从数字处理器中的软件的授权执行中检测偏差的方法,其特征在于,包括:
观察所述处理器在已知设定中执行所述软件的至少一个程序的执行期间的电力消耗;
确定表征所述至少一个程序的所述电力消耗的位转移的序列;以及使用电力消耗表征作为指纹,用于与观察到的所述软件的执行对比,以确定偏差。

说明书全文

使用电指纹(PFP)来监控完整性并且增强基于计算机的

系统的安全性

技术领域

[0001] 本发明大致涉及一种电力指纹(power fingerprinting),并且更加尤其涉及一种作为用于提高安全性并且监控在基于计算机的系统上使用的计算机处理和软件的完善性的技术的电力指纹的使用。

背景技术

[0002] 在CMOS数字电路中,随着每个位转移,有由栅极中的短暂的短路以及在电路的输出处的寄生电容的充电和放电所引起的瞬态电流损耗。在处理器中,这些瞬态电流的强度,因此,在特定的时钟周期中消耗的总电力通过在那个周期中出现的位转移的总数被确定。通过执行的特定的指令序列以及它们的地址和参数来确定位转移的数目。电力指纹是基于获得处理器的电力消耗的微粒测量并且为了异常检测而将它们与可信签名(由执行期间的位转移的特定序列所产生的模式)进行比较的用于关键的计算机系统的完整性评定和侵入窃密检测方案。在电力指纹后面的基本途经是使可信软件的执行表征,以及提取它的电力签字并且使用它们作为比较测试轨迹的基准,以确定相同的代码是否正在执行。
[0003] 如图1所示,电力指纹(PFP)监控器由所有的模式识别系统所通用的三个主要要素构成:传感110、特征提取120、以及检测/分类130。传感涉及测量数字硬件的瞬时电流损耗,这可以使用商业电流探针和高性能的示波器来被实现。特征提取是用于PFP的关键方面,并且涉及唯一地识别给定软件程序的执行的电力消耗的统计和时间属性的识别。这是一个挑战性的任务,该挑战性的任务需要深入地了解处理器的构造以及软件的结构,但是可以通过利用增强签名并且提高决定论的某些特性建立软件本身来被推动。理想地,从代码中的每个执行路径中提取签名。在这是不可行的情况下,仅仅少许关键部分被表征和监控,诸如OS内核以及核心应用程序。
[0004] 在一般的电力指纹方法中,传感器110被放置在处理器的板上,尽可能靠近电源插脚。传感器捕获处理器的瞬时电流损耗。传感器可以是商业电流探针、分流电阻器或者电流反射镜。来自传感器的信号必须以高于处理器的主时钟速率的速率被数字化。如果处理器具有内部相环路以增加操作频率,那么这变成有效的时钟频率。已经使用3.5X的有效的时钟频率获得令人满意的结果,但是这不表示是下界。可以使用几个机构来降低采样要求。
[0005] 在瞬时电流损耗已经被数字化成电力轨迹之后,应用不同的信号处理技术来从该轨迹中提取鉴别特征。在已经提取特征之后,使它们通过监督分类器或者检测器130,监督分类器或者检测器130在先已经使用来自可信软件的轨迹140被训练。这个检测器最终作出软件执行是否对应于授权软件的决定。在图1中呈现在先技术中的一般的电力指纹方法的象形文字的描述。
[0006] 通过仔细设计的检测器来进行来自特定的电力轨迹的特征是否对应于授权执行的决定,仔细设计的检测器将引入的电力轨迹与来自授权代码的所有存储的签名140进行比较。当观察到的轨迹在合理的容限内不能与任何存储的签名匹配时,确定已经出现侵入。虽然每个特征的差异可以是小的,但是因为大量的特征,所以判断侵入的可信度可以是非常高的并且可以任意地设定。
[0007] 但是,电流技术和过程必须被增强和提高,以便跟上正在发展的并且由那些设法克服或者战胜安全措施所使用的技术和实践,该安全措施依赖用于计算机系统的执行完整性的电力指纹。

发明内容

[0008] 因此,本发明的目的是提供用于增强通过电力指纹(PFP)确定的目标系统执行完整性评定的过程:通过将PFP集成到综合性纵深防御安全性的检测阶段;通过部署能够实现PFP的节点的网络;通过执行具有预定义的输入的不可信装置,预定义的输入推动特定的状态序列以及特定的软件执行;通过将模块识别信息嵌入到同步信令中;通过组合来自不同的板元件的信号;通过使用恶意软件签名来增强PFP性能;通过自动表征和签名提取;通过提供安全的签名更新;通过保护以防侧信道攻击(side-channel attack);通过监控它们的动态电力消耗并且将其与来自可信代码的签名进行比较来进行嵌入平台中的实时完整性评定;通过预表征平台的电力消耗,以及集中于携带关于内部执行状况的最多信息的轨迹部分;通过提高PFP的能力以从商业嵌入平台中的授权执行来检测偏差。该发明的一方面是用于对计算机处理平台中的程序的执行进行实时完整性评定的方法。这通过由追踪处理器的电力消耗来监控程序的执行、通过在程序的执行期间采样处理器来完成。采用检测轨迹的部分的平台表征技术,所述轨迹的部分为显示对处理器中的状态转变的最大依赖性的那些部分。这些部分被用于选择携带最多信息的特征。这个平台表征应用于该平台并且可以被用于在该平台上运行的所有的程序。下一个步骤是从包含在平台表征中识别的部分中的程序的选择特征的表征中获得该程序的一组可信电力指纹。然后基于距离由该可信指纹组成的签名的距离的概率分布,建立用于特定的错误报警率的阈值。然后,可信指纹的库与从来自不可信代码的执行的轨迹中提取的特征对比,然后确定库中的指纹和从不可信代码的执行中提取的特征之间的距离。如果该距离超出阈值,则报告例外。
[0009] 描述了用于提高基于电力指纹(PFP)的完整性评定和侵入窃密检测系统的操作、有效性、可用性和性能的各种过程。不同的过程包含:
[0010] ·将模块识别信息嵌入到同步信令中
[0011] ·通过组合来自不同的板元件的信号的提高的PFP监控
[0012] ·使用恶意软件签名来增强PFP性能,对现有的电池监控技术进行概括。
[0013] ·自动表征和签名提取
[0014] ·安全签名更新
[0015] ·对完整性侵害和分层安全性的响应
[0016] ·对侧信道攻击的保护
[0017] 还描述用于以下方面的方法和设备:
[0018] ·分布的PFP监控网络,以监控恶意软件动态和行为
[0019] ·PFP对供应链信任分析的应用
[0020] ·数字版权管理和执行限制的租赁
[0021] ·基于PFP的故障预测附图说明
[0022] 参考附图,从发明的较佳实施例的以下详细描述中,上述及其他目的、方面和优点将被更好地了解,其中:
[0023] 图1是电力指纹的一般的框图
[0024] 图2是显示用于PFP监控器的理想的传感器位置的图。
[0025] 图3是显示用于多处理器板的理想的传感器位置的图。
[0026] 图4是显示利用物理信号的触发的实例的图。
[0027] 图5是显示用于同步和触发的PFP战略指令插入的示意图。
[0028] 图6是显示对Linux设备驱动程序范例中的物理资源的间接访问的示意图。
[0029] 图7是显示可信代码表征处理的流程图
[0030] 图8是显示通过计算它们的功率谱密度的轨迹的预处理的实例的图表。
[0031] 图9是显示在时域中的轨迹的样本预处理的图表。
[0032] 图10是显示测试轨迹的执行相对于存储的签名的PSD差异的图表。
[0033] 图11是显示检测器设计的处理的流程图。
[0034] 图12是显示来自用于检测器设计和阈值选择的可信代码执行的样本概率分布的图表。
[0035] 图13是显示PFP完整性评定操作处理的流程图。
[0036] 图14是显示用于安卓(Android)平台的样本实施例设置的示意图。
[0037] 图15是由原始的未经篡改的程序(untarnpered routine)的执行所产生的样本分布的图形表示。
[0038] 图16是由经篡改的程序的执行所产生的样本分布的图形表示。
[0039] 图17是显示包含不同等级的鉴别信息的轨迹的不同部分的样本轨迹细节的图表。
[0040] 图18是从信息最多的视的使用线性投影的平台表征的示意表示。
[0041] 图19是显示用于使用PFP的平台电力消耗表征和监控的基准测量设置的示意图。
[0042] 图20是显示从基线代码执行到检测最小电力消耗变化的评估能力的样本轨迹的图表。
[0043] 图21是来自基线代码执行的平均签名的图形表示,其中每个点表示在n维欧几里得空间上的投影。
[0044] 图22是显示来自平均签名的欧几里得距离的样本分布的图表,其中从基线代码的执行中提取该平均签名。
[0045] 图23是显示来自使用PCA获得的变换空间中的基线签名的欧几里得距离的样本分布的图表。
[0046] 图24是显示来自用于LDA的程序概要分析指令(profiling instruction)的轨迹的质心的图表。
[0047] 图25是显示来自使用LDA获得的变换空间中的基线签名的欧几里得距离的样本分布的图表。
[0048] 图26是用于检测来自授权软件执行的偏差的示范的目标平台的示意性框图。
[0049] 图27是显示对于计算机安全性的纵深防御方法中的不同层的示意图。
[0050] 图28是显示在分层的纵深防御安全性方案内的PFP监控范围的示意图。
[0051] 图29是显示用于监控以及智能收集的PFP诱捕节点(Honeypot node)的示意图。
[0052] 图30是显示PFP诱捕网路(Honeypot network)的示意图。
[0053] 图31是使用PFP的供应链信任分析的流程图。
[0054] 图32是显示用于使用PFP的供应链信任分析的基准签名的潜在源的示意图。
[0055] 图33是显示使用IO寄存器向PFP监控器提供同步和识别信令的图。
[0056] 图34是显示将PFP同步和识别信令嵌入到电力轨迹中的图。
[0057] 图35是显示用于为PFP完整性评定组合多个信号的样本设置的图。
[0058] 图36是提取排除PFP的设备失效的特征的处理的流程图。
[0059] 图37是显示为自动表征和特征提取而交互的不同的系统元件之间的关系的示意图。
[0060] 图38是用于防止侧信道攻击利用嵌入的PFP监控器的结构的图。
[0061] 图39是用于防止侧信道攻击利用外部的PFP监控器的结构的图。

具体实施方式

[0062] 电力指纹(PFP)是使得外部监控器能够评定计算机系统的执行完整性的技术。PFP依赖由处理器的动态电力消耗所携带的执行状况信息。使用这个信息以及来自可信基准的预表征的签名,PFP能够确定目标系统中的执行完整性。对于PFP的实际应用,实现特定的设备并且遵循特定的过程以提供有效的监控方案是必要的。在这个工作中,我们描述了用于提高PFP监控方案的操作、有效性、可用性和性能的各种过程。
[0063] 应用PFP以检测智能电话及其他嵌入式装置中的软件修改
[0064] 计算机安全性已经变成国家安全的关键要素。微处理器在现代生活的几乎每个方面中是普遍存在的。信息技术领域中的技术开发正在以比保护它们所必要的安全性方案更快的步伐向前进。计算机攻击的威胁与对关键的基础结构和国家安全的潜在的破坏结果保持恒定。计算机基础结构已经变得重要,以致计算机空间现在被认为是新的战场以及对国家安全的关键要素,需要保护国家安全使之免于所有的国土威胁,包含国家支持的对手。
[0065] 我们描述了在智能电话及其他嵌入式平台中通过监控它们的动态电力消耗并且将其与来自可信代码的签名进行比较来进行实时完整性评定的技术。描述的方法和技术从电力指纹的一般概念建立,并且对于复杂商业装置上的一般应用提供增强。我们介绍用作基准和实例的一般技术的较佳实施例的实例。但是,该技术是一般的并且可以适合于任何计算机平台。
[0066] 作为方法的一部分,我们还描述了预表征特定平台和处理器消耗电力的方式,以便通过将分类成果集中在轨迹的部分上,来提高方法的性能的方法论,其中上述轨迹的部分携带最多关于处理器的内部执行状况的信息并且忽略会妨碍性能的多余的或者极其嘈杂的特征。
[0067] 目的是增强一般的电力指纹(PFP)方法,以便限定可靠的技术来检测智能电话、嵌入系统、以及一般的信息系统中的未授权的软件修改。在图1描绘了一般的在先技术方法。
[0068] 一般的PFP方法从在可信代码的执行期间收集来自电力消耗的微粒测量开始。传感器110需要收集处理器的动态电力消耗或者瞬时电流损耗的直接或者间接的度量表示。可以借助于商业电流探针、霍尔效应传感器、压电/磁致伸缩的复合磁场传感器、罗哥夫斯基线圈(Rogowski coil)、高带宽电流反射镜、或者简单的低电阻精密分流电阻器来实现传感器110。注意,传感器需要满足由选择的特定的特征提取技术所设定的要求。
[0069] 传感器的物理位置对于这个方法的成功是关键要素。图2中显示的理想位置210在处理器205的VDD信号处。如果这个位置是不可行的,或者引入过量的电源噪声,那么还显示了第二最佳位置220。如果传感器220处于第二位置,则具有它们的寄生电容和电感的轨迹与去耦电容器215一起生成影响电流轨迹的低通(LP)RLC滤波器。对于PFP,有益的是通过使用商业的网络分析器或者另一个系统识别技术识别LP滤波器的传递函数H,来预表征这个硬件效果。可以通过使轨迹经过具有反传递函数Hinv的另一个滤波器,来使固有LP滤波器的效果最小化。推荐数字地实现该反向滤波器。因为H的直接反向可能导致不稳定的滤波器,所以选择Hinv的最接近的稳定的近似值是必要的。
[0070] 在图2中,可以通过不同的源来提供YDD_core225。对于简单的处理器,它直接来自电压调节器。对于更加复杂的平台,它可以来自电力和周边的管理系统,电力和周边的管理系统是提供广泛的大量服务的复杂电路,广泛的大量服务包含输送需要的不同的电压电平、复位和中断操控、及其他周边管理。电力管理器是合并不同的信号、从PFP视角添加干扰并且易于隐藏电力签名的复杂系统。对于具有电力管理电路的系统,推荐设计系统板,在设计时有必要规定将电流传感器放置在电力管理系统之后,从而避免额外的干扰并且便于签名提取。在最好的情况下,电力感传器将被包含在电力管理系统中作为提供的另一个服务,从而便于PFP的集成。
[0071] 在板中有多个处理器的情况下,对每个处理器可以重复相同的原理,如图3所示,其中第n个处理器206较佳地在211或者在去耦电容器216之后的第二位置221被监控。在这种情况下,检测器必须被设计成组合并且考虑来自两个传感器的轨迹。对于在相同的组件中的多核处理器,与多处理器实例应用相同的原理,但是位置和可行性将取决于处理器的构造、由每个轨道提供动力的核的数目以及去耦要求。
[0072] 随着传感器在适当的位置,下一步是表征可信代码。通过在受控环境(包含目标软件的隔离、执行期间使用的设定输入、以及帮助使轨迹同步的特定标记的插入)中重复地执行目标可信代码来实现这个处理。标记可以具有不同的性质,并且帮助触发和同步。潜在标记包含物理信号(如改变插脚的电压电平)或者产出已知的电力消耗序列的特定的指令序列。图4中显示了物理触发信号410的实例。图5中描绘了用于触发的指令插入的概念。在这种情况下,选择额外的汇编指令515来产出轨迹中的已知模式510,通常短期内的电流损耗中的强性变化,以帮助指示特定代码510何时被执行。
[0073] 当目标应用程序610在实现Linux设备驱动程序范例的平台中的或者间接访问物理信号的任何其他操作系统中的用户空间上运行时,如图6所示,必须说明由间接访问所引起的执行以及定时中的固有的不确定性。在这种情况下,触发指令515将在用户空间610中被执行,用户空间610不直接访问物理内存640,并且只能借助于位于内核空间620中的设备驱动程序631来访问生成物理信号650所必要的寄存器632。因为在内核620调度其他处理来运行期间,文件访问需要处理等待(批执行)适当的同步信令,所以执行以及定时中的不确定性存在。
[0074] 即使不需要标记630保留在最终代码中,那么如果它们保留在适当的位置,则也便于运行时间评定的处理。在当标记被留在已部署的版本上时的情况下,确保用于标记的设施或者服务将仍然是保留在已部署的平台中是必要的(例如,如果标记被认为打开LED640,则那个LED640必须存在于已部署的平台上)。
[0075] 重要的是,注意,在表征期间,将被部署的准确代码需要被使用。这包含使用正确的相同工具来建立软件,该软件具有相同的最优化平等等。
[0076] 为了更好的性能,表征应该是迭代的相互依存的处理,在该处理期间,源代码结构与各个标记一起被共同开发,以便跨越不同的执行场合,产出具有最小变动的最强的签名。
[0077] 来自可信代码的执行的几个轨迹可能需要被收集,以便使它们平均并且降低任何物理系统所固有的随机噪声的冲击。在图7中描绘了表征处理。在将标记插入到代码中710之后,执行可信软件,并且捕获结果的电力轨迹720。对所有显著的执行路径都进行完730,如有必要时,使用预定义的输入735。使用PCA(主成分分析)去除由于随机参数而产生的变化740。提取鉴别特征750,完成统计分析、平均和群集760,以产生一组授权签名770。
[0078] 可以从不同的信号域提取签名,并且签名可以是多维的。此外,可以使用多个签名来识别单条代码。
[0079] 轨迹处理和特征提取
[0080] 准备要与存储的签名比较的测试轨迹的处理被称为预处理和特征提取。轨迹预处理涉及以轨迹为条件来提取选择的鉴别特征的一般任务,例如,将轨迹转换成适当的域,或者根据特定的标记来对准轨迹。图8中显示了轨迹预处理的实例,其中来自具有OMAP3处理器的BeagleBoard中的测试软件的执行的时域轨迹首先通过计算它们的功率谱密度被转换成频域。
[0081] 基本的预处理的另一个实例是在被传给相关检测器之前,对准时域轨迹,如由图9中的基础执行和交替(-1位转移)轨迹的对准所显示的。在这个实例中,N个样本的每个轨迹被认为是多维欧几里得空间中的一点。
[0082] 特征提取是计算最终测试统计值(从新的轨迹)的处理,最终测试统计值被传给检测器并且被用于确定完整性。这个处理对于每个选择的特征是唯一的。例如,在基本的时域相关分析中,预处理可以包含对于特定平台的电力消耗模式的粗略同步和补偿,同时特征提取涉及通过计算相关因子或者欧几里得距离来与存储的签名进行比较。图10中显示了特征提取的实例,图10是继图8中的PSD实例之后,显示了与BeagleBoard的OMAP3处理器中的可信代码和经篡改的代码的执行相对应的测试轨迹的以dB为单位的PSD误差。使用这个差异向量,可以通过均方误差或者任何其他距离或者误差的度量来表示传给检测器的最终测试统计值或者鉴别特征。
[0083] 检测器设计
[0084] 一旦已经提取签名并且已经选择鉴别特征,PFP处理中的下一个步骤是设计最佳的检测器来进行最终的完整性评定。这些检测器将作出在监控操作期间测试轨迹是否应该被认为是侵入的最终决定。检测器设计的处理和正常的监控操作非常相似。在检测器设计中,来自可信软件的执行的测试轨迹被捕获并处理以提取选择的鉴别特征,并且与存储的签名进行比较。几个轨迹被收集并处理,并且它们的统计样本分布被用于识别产出预期的性能目标的阈值。图11中显示了检测器设计的处理。随机的或者预定义的输入1110被提供给可信软件,并且从它的执行中捕获新的测试轨迹1120。该结果被对准以及被同步1130,并且轨迹被预处理以及被作为条件1140。使用用于对比的授权签名770,提取选择的鉴别特征,并且产生距离的度量1150。然后,在结果的度量上完成统计分析和分布配合。最终,应用聂曼皮尔逊准则以确定满足预期的性能目标的阈值1170。
[0085] 生成最佳检测器的通用方法涉及聂曼皮尔逊准则的应用,以使得用于给定的错误报警概率的检测概率最大化。作为从基本的假设检验理论产生的这个准则的简要的提醒,目标错误报警概率基于在最终决定中出错的容限和估计成本被设定。使用来自可信代码的鉴别特征的概率分布的估计,计算产出预期的错误报警概率的距离阈值,同时使正确检测的概率最大化。图12中显示了这个处理的实例,其中为产出预期的错误报警概率1230的概率分布1210计算距离阈值1220。
[0086] 但是,重要的是,注意有可以取决于选择的鉴别特征的性质而产出改进的结果的不同的技术。用于检测器设计和机器训练的其他技术包含:神经网络、支持向量机和隐尔可夫模型。
[0087] 监控操作
[0088] 一旦已经从可信代码的执行中提取签名、已经选择鉴别特征以及已经设计最佳的检测器,PFP监控器准备好评定测试软件的完整性。如之前提及的,正常的完整性评定处理非常类似于检测器设计处理。在正常操作期间,监控器在必要的预处理之后还从电力轨迹中提取选择的鉴别特征,但是代替如为检测器设计所做的,收集来自几个轨迹的统计值,它们通过适当的检测器,以便与各个阈值进行比较并且确定测试代码执行的完整性状况。检测器将测试轨迹与所有已知的签名对比,并且如果没有一个测试统计值足以来确定已经执行授权代码,那么报告侵入。在图13中显示的图中描绘了这个处理。在正常操作期间或者使用预定义的输入来执行目标软件1310,以捕获测试轨迹1320,该测试轨迹然后被对准并同步1330,然后被预处理并作为条件1340。然后,检测器将提取的特征与已知的签名1370比较1350,以使用预定义的阈值1220来确定距离从而做出完整性评定决定1360。
[0089] 样本结果
[0090] 为了示范在智能电话及其他嵌入平台上的PFP处理,我们描述了使用具有运行安卓平台的ARM处理器(OMAP3@720MHz)的BeagleBoard修订版C4的这个技术的基准实现。为了连接电流探针1430,BeagleBoard1410通过切割主轨迹1420被稍微修改,主轨迹1420向核心电力轨道提供电力。使用商业的实时示波器1440和电流探针1430来实现捕获系统。
示波器被配置成2.5GSps的采样率,并且在由触发器1450引发的每个轨迹中收集总共30K样本。在图14中描述该设置。
[0091] 开发了基本的测试应用程序,以演示该处理并且显示可行性。这个基本的应用程序由在装置屏幕上显示增加的整数的简单的计数器构成。在列表1中描述了应用程序的操作,并且应用程序的操作由具有初始化程序的典型的安卓Java应用程序结构构成,初始化程序使屏幕准备显示文字框并且设定用作计数器的整数变量。还有称为DisplayCounter的程序,负责递增计数器的值并且将其显示在屏幕上。这个程序被配置为每一秒调用的循环任务。
[0092] 列表1.安卓测试应用程序的伪代码
[0093]
[0094] 关键的IncrementValue程序以本地C语言代码被实现,并且通过安卓的NDK工具集而不是传统的Java实现方式,被包含作为外部程序库。在关键部分之前,物理触发器1450被设定成捕获系统开始收集电力轨迹的信号1460。
[0095] 我们仅仅表征并且监控列表2中显示的关键的IncrementsValue程序。
[0096] 列表2.C语言中被监控的本地程序的伪代码
[0097]
[0098] 通过简单地平均来自可信代码执行的几个轨迹的PSD,在频域中进行签名提取。忽略轨迹的相位信息。两百个轨迹的PSD一起被平均以产出签名。
[0099] 通过签名和测试轨迹的PSD之间的均方误差(以dB为单位),也在频域中提取鉴别特征。在计算MSE之前,最新的三个测试轨迹的PSD一起被平均。只有PSD的最初的200MHz被用于MSE计算。
[0100] 用于签名提取的这个处理产出一维鉴别特征。
[0101] 利用早先描述的聂曼皮尔逊准则,使用1%的目标错误报警概率PFA,进行检测器设计。从来自可信代码的执行的200个轨迹的样本中提取轨迹的样本统计值。
[0102] 样本分布适合于瑞利分布,具有与训练样本分布均值和变动相等的均值和变动。使用这个分布,计算逆概率分布,以找到产出目标1%的PFA的阈值。
[0103] 为了测试从可信代码检测执行偏差的能力,我们使用经稍微篡改的版本的应用程序来测试先前设计的监控器。列表3中显示的经篡改的应用程序被设计成仿效隐蔽攻击,在该隐蔽攻击中,侵入保持无效,直到满足特定条件。侵入由非常简单的修改构成,其中只有当计数器的值达到特定值(条件)时,才写入文件。
[0104] 列表3.经篡改的关键的本地程序的伪代码
[0105]
[0106] 重要的是,注意,在篡改中发生的文件写入仅仅在执行期间出现一次(即,当计数器是1时)。剩余的时间,当调用程序时,不满足条件并且不写入额外的文件。因此,对于程序被调用的大部分时间,来自逻辑观点的仅有的修改是给定条件的额外评价。
[0107] 操作的结果
[0108] 图15中显示当原始的未经篡改的版本的程序被执行时,运行监控器的结果。
[0109] 我们可以看到,在测试的持续期间内,我们只有少许超过阈值1510的场合,阈值1510与设计的错误报警概率一致。
[0110] 图16中显示了利用经篡改的版本的应用程序来运行监控器的结果。注意,没有被错误分类成授权执行的场合,并且经篡改的应用程序的每一个执行将被标记作为超过阈值1610的侵入。同样重要的是,注意,由于篡改的作为条件的执行,因此在执行期间,在这些结果中使用的场合只有一次是实际写入的文件。剩余的时间,只检查条件,并且当它不被满足时,恢复正常执行。
[0111] 最小敏感度的平台表征和评估
[0112] 电力消耗的微粒测量可能导致冗余信息,冗余信息向签名添加极少的鉴别信息,但是会向签名添加显著的噪声和不确定性。在时域中,这看来像图17。在这种情况下,我们想要将我们的注意力集中在轨迹的部分(维)上,轨迹的部分在两个执行之间具有最大的变动1710,与例如显示了在两个执行之间的小的变动的部分相反,例如与1720相反。另一方面,当表征获得随机参数的特定软件程序时,这些随机参数的效果是将噪声引入到签名,最后降低性能以及增加错误报警概率。在这种情况下,我们想要将我们的注意力集中到维(例如,1720),该维在目标软件的执行期间保持恒定,同时忽略添加噪声的那些。在这种情况下,我们想要忽略显示大变动的维(例如,1710)。
[0113] 为了提高PFP的性能,必要的是,通过仅仅集中于携带最多信息的那些特征,来减少分析的特征的数目。这通过预表征特征来完成,该特征携带给定平台的最多信息作为训练的一部分,然后在预处理期间,在将轨迹传给检测器之前,除去冗余信息。
[0114] 技术背景
[0115] 在传统的模式识别系统中,选择特征的子集的处理被称为最佳的特征选择,该处理使特定准则最大化(在PFP的情况下,我们想要使鉴别信息PFP最大化)。在群集系统中,这通常通过借助于线性变换将轨迹x从最有用的(或者信息的视角)投影到具有较少维的变换空间。
[0116] 这个变换被描述为
[0117] y=Wx
[0118] 其中,W是仔细设计的线性变换矩阵,当W被应用于测试轨迹时,产出具有使特定准则最大化的较低维数的变换轨迹。有不同的准则来识别最佳的变换。因为我们试图按照鉴别信息使特征选择最佳化,所以自然遵循信息理论方法。之前已经进行了这个最佳化,并且这个最佳化可以在模式识别文献中的几个来源中被找到,模式识别文献例如参见J.T.Ton和R.C.Gonzalez的“模式识别原理”,迪生-韦斯利出版社(Addison-Wesley Publishing Company),1974年。
[0119] 主成分分析
[0120] 确定适当的W的众所周知的方法被称为主成分分析(PCA),适当的W使轨迹中的平均信息量(或者信息)最佳化。我们假定,不同种类的协方差矩阵Ci被正态分布,并且是同一的,Ci=C。因此,本征向量可以被认为是在考虑之中的用于轨迹的信息载体。这些向量中的一些向量比其他向量在分类的意义上携带更多的鉴别信息,这些向量可以被安全地除去,而没有更多的性能损失。毋庸置疑,最佳的特征向量与这些本征向量相关,并且被用于通过根据相应的本征值以降序聚集本征向量来生成变换矩阵W。因为在PFP中,我们仅仅需求每个时钟周期的单个点,所以通过与最大的本征值关联的协方差矩阵的本征向量来给定变换矩阵W。
[0121] 从信息最多的视角,线性变换可以被解释为测试轨迹到较低维数的变换空间中的投影。取决于特定的目的,PCA可以以不同方式被应用。从群集视角,较佳的是,使用与最小的本征值相关联的本征向量来构建W,因为这将在变换空间中产出更紧密的群集。另一方面,当使用来自不同执行的轨迹时,还可以使用与最大的本征值相关联的本征向量。当这样被应用时,PCA将选择在种类之间呈现最大的变动的特征。随着假定协方差矩阵是同一的,这些本征向量将表示在用于PCA的特定轨迹之间包含最大的鉴别信息的特征。
[0122] 线性判别分析(LDA)
[0123] PCA按照变动以升序或者降序选择特征子集,以使轨迹平均信息量最佳化。但是,不考虑种类之间的特定差异来选择使分布之间的距离最大化的最佳一组特征,线性判别分析(LDA)使分布之间的发散性最大化,这是概率分布之间的距离的测量。发散性与信息论中的相对平均信息量的概念紧密相关。
[0124] 使用来自不同种类的特定信息和发散性作为最优化准则,LDA识别最佳的变换矩阵,以便从在它们之间产出最大间距的唯一视角,投影轨迹。这是因为变换向量W与两个分布之间的最佳的鉴别超平面正交
[0125] 以下假定,轨迹被正态分布,它可以被显示成[TOU],其中通过与非零的本征值相-1 T关联的C δδ 的仅有的本征向量给定产出发散极值的变换矩阵。这个向量被给定为[0126] W0=C-1(μ1-μ0)
[0127] 其中,W0提供最佳的投影以分离两个种类,而μ0和μ1是两个训练种类的各自的质心。LDA可以被延至M个鉴别种类。在这种情况下,将有M-1个与非零的本征值相关联的本征向量。
[0128] 平台电力消耗表征
[0129] 如之前提及的,不是测试轨迹中的所有样本都对确定执行偏差是否已经发生是同样重要的。因为大的重复取样率和电力轨迹的性质,所以有某些轨迹的部分比其他轨迹的部分携带更多的鉴别信息。对于PFP,目的是识别线性变换,该线性变换通过去除冗余来降低轨迹的维数,同时强调携带最多信息的维。
[0130] 想法是变换鉴别特征,以利用使用最佳的变换矩阵的轨迹的线性投影,来减少维。如图18中描绘的,在时域中,与全时钟周期1810相对应的轨迹的部分被减少到变换空间中的单个点1820。分类器也必须被设计成在变换空间中操作,减少需要在正常的监控操作期间考虑的维的数目。
[0131] 在实验室中的控制条件下进行表征,并且每个平台只需要一次该表征。在先前部分中描述的,有两个一般的方法来识别最佳的变换矩阵:PCA和LDA。
[0132] 使用PCA的平台表征
[0133] 为了使用PCA来生成变换矩阵,必要的是,观察在随机的时钟周期期间处理器的电力消耗。对于每个时钟周期,对准轨迹,以便清楚地显示最受处理器执行的动态行为影响的轨迹的部分。一旦轨迹被对准,PCA就被用于识别说明轨迹中的最大变动的变换向量。
[0134] 使用PCA进行平台表征相对容易实现并且很适合复杂的平台,在复杂的平台中,控制管线中的内容太困难。
[0135] 使用LDA的平台表征
[0136] 使用LDA进行平台电力消耗表征需要开发两个仔细定制的程序。这些程序必须以正确的序列执行具有特定地址和参数的特定指令,以便生成在特定的时钟周期期间显示预定差异的两组轨迹。训练来自两个程序的执行的轨迹提供了两个种类,对于这两个种类,LDA将找到最佳的辨别超平面,最佳的辨别超平面将接着变成最佳的变换向量。
[0137] 特别的表征程序的目的是执行仔细制作的指令序列,以适当地加载管线,从而在特定的时钟周期中,在每个执行阶段(取得、锁住、执行等等)期间有已知的改变。较佳地,由于在各自寄存器中的少许变更位,因此该改变应该是相对小的。该表征程序不是唯一的,但是它是平台特定的,因为这取决于正在被表征的平台的构造、指令集等等。不同的处理器将可能需要不同的序列。
[0138] 一旦捕获并且同步来自两个序列的执行的轨迹,LDA就被用于查找最佳的变换向量W。期望的是,使用LDA的平台表征将提供最好的性能,给定两个已知种类的可用性,但是它的实现比PCA更复杂。
[0139] 平台电力消耗表征基准实现结果
[0140] 对于这个基准实现,我们使用来自微芯公司(Microchip Technology Inc.)的具有PIC18LF4620的8位微控制器主板,类似于PICDEM Z演示套件中所使用的,意欲作为用于IEEE802.15.4的评估和开发平台。这是受欢迎的没有内存管理单元的嵌入式微控制器
[0141] 为了增强电力消耗特征,稍微修改处理器母板。从该板中,总共六个去耦电容器被去除总计累加的6微法(microF)。这些电容器的功能是减轻通过由数字处理器引起的强电流峰值置于电源上的应力。重要的是,注意,如果电流传感器被放置得更靠近处理器电力插脚,或者如果使用信号处理来取消产生的LP滤波器的效果,则去除去耦电容器将不是必要的。
[0142] 使用Tektronix TDS649C实时示波器1910和Tektronix TC-6电流探针1920来进行轨迹收集。探针被连接,正好通过主板上的电压调节器。示波器被配置成500MS/s和10mV。触发器通过LED11930被驱动并且被配置成40mV电平的下降沿,并且没有预触发样本被保持。在每个触发事件之后,总共L=30,000个样本被采集。在图19中描绘了测量设置。轨迹被捕获并且使用GPIB被传送到主机,用于它们在后的分析。
[0143] 为这个实验开发了样本程序,具有双重目的:1)提供训练程序以进行平台表征,以及2)提供基准变化以测量该方法的性能。我们从描述程序的评估用途开始,并且提供用于对比的基线性能。测试程序在列表4中被显示,并且以无限循环地被执行。在这个程序中,使用不同的指令,寄存器W的内容从00切换到0f。注意,程序中实际逻辑对电力指纹的性能没有影响。选择这个程序,这是因为它容易控制发生的位转移的数目。但是,该结果不取决于正在执行的特定软件。因此,这个程序提供了代表性实例。
[0144] 列表4
[0145]
[0146] 如列表4中所示的程序表示基础执行。在目标代码之前,我们使用板上的LED生成触发器。触发器被用于使轨迹捕获与示波器同步。触发器和目标代码之间的“NOP”指令被包含作为缓冲器,以便使目标轨迹形式的任何残余效应与触发器分隔。一旦在主循环内,寄存器W从00切换到0f,生成寄存每个指令的四位转移。交替的或者修改的代码具有少一位的位转移。在第15行中,我们从0f到07改变变量j的内容。这样,当执行目标代码时,在第35行,参数k被加载到从00到07的寄存器W上,对于那个指令在寄存器中只有三位转移。注意,在这个修改的代码和基础执行之间只有一位的差异,基础执行将0f加载到寄存器W,而且在执行中的一切别的东西都保持相同,包含指令、参数和地址。注意,这个一位的改变实际上影响两个时钟周期,因为有一个较小的转移进入那个指令以及一个较小的转移离开那个指令。追踪目标代码,在重复循环之前,有一串“NOP”指令。
[0147] 图20中显示了典型的轨迹的细节。在这图中,我们捕获目标代码的一个完整的执行周期。电力轨迹上的触发效应清楚可见为两个方形台阶2010和2020。个别指令周期也是显著的。它们可以被识别为四个峰值的组,其中每125个样本重复一次该四个峰值。使用来自处理器的文档的定时信息,我们可以确定与目标代码的执行相对应的轨迹的部分。在图20中,这个部分被突显作为跨越十个指令周期的实线2030。这与实际代码一致,实际代码由十个汇编指令构成,汇编指令采用一个总线周期来执行。
[0148] 从基础执行和交替执行中的每一个中捕获几个轨迹,并且来自每个执行的轨迹一起被平均,以便提供显示少一个的位转移的总效应的两个执行的干净图片。图21中显示了平均的轨迹。在这个图片中,显示与基础代码的执行相对应的十个时钟周期,并且看来,来自每个执行的轨迹被对准。但是,在样本指数650周围,可以看到在两个轨迹之间有小的差异。该差异(在2110)在图21的顶部更加显著,图21的顶部提供了近距离的视图。随着来自两个方案的质心的靠近,同样明显的是,轨迹由于重复采样而被大量地相关,以及只有某些轨迹的部分携带有用的鉴别信息。
[0149] 为了对比的目的,在没有平台预表征的情况下,我们提供在时域中的自然的分类方法的结果。我们使用基本的最小距离分类器。在这个方法中,长度L=1250(目标代码的长度)的每个捕获的轨迹表示L维欧几里得空间中的一点。从基础执行质心到每个将引入的测试轨迹获得欧几里得距离。为了分类的目的,基础质心和测试轨迹在具有1250维的多维欧几里得空间中表示单个点或者向量。测试轨迹与用于获得基础质心的训练的轨迹不同。这是避免了最小距离分类器的评估中的偏置,以便精确地鉴别不同的方案。
[0150] 来自两个程序的执行的测试轨迹具有图22中显示的欧几里得距离分布。在这个自然的实例中,电力指纹的性能没有促进,因为在分布之间几乎没有任何差异,分布基本上重叠。考虑到基础方案和交替方案之间的电力消耗中的小差异,这个差性能是预期的。
[0151] 从应用PCA中获得平台表征的第一结果。对于这个处理,我们使用与列表4中显示的程序中的我们的目标代码的执行相对应的所有的时钟周期。与轨迹的完整执行相对应的轨迹被分成与单个时钟周期执行相对应的不同的部分。然后子部分被对准,并且PCA被用于找到与说明最大变动的本征向量相对应的变换向量W。在这种情况下,如之前说明的,我们在一个时钟周期内采用重复采样轨迹,并且我们将它减少为单个点。在使用PCA进行平台表征之后,来自评估程序的测试轨迹再次被处理,以便演示平台预表征的性能改进。图23中显示了从变换的测试轨迹到新的PCA变换空间中的签名的最短距离分布。
[0152] 在大部分的分布之间看见清楚的间隔,该清楚的间隔表示相对于图22中显示的自然分类性能的清楚的改进。
[0153] 利用使用LDA的平台表征的结果
[0154] 为了获得应用LDA所必要的训练轨迹,我们执行基础程序以及稍微修改的版本。我们通过比较两组轨迹来获得特别的平台表征轨迹:来自再一次作为列表4中的代码的基础执行,以及列表5中显示的它的稍微修改的版本。仔细选择执行上的变化,以便与基础执行相比,在每个执行阶段上使得少一个的位转移。在这个修改的版本中,第36行的指令从具有操作码000110da的xorwf变化到具有操作码000100da的iorwf(可选变元d和a分别控制目的地和RAM存取位,并且在两种情况下被保持具有相同的值)。在执行期间,当锁住指令字时,操作码中的差异将引起少一个的位转移。指令中的参数在存取RAM中从位于地址0x01的j变化到位于地址0x00的i。再一次,在执行时,该变化将生成少一个的位转移。此外,注意,j和i的内容也有一位的不同。当分析参数时,当执行指令时,以及当写入结果时,这还将被转化成少一个的位转移。
[0155] 列表5.用于平台表征的修改的程序
[0156]
[0157] 对于平台表征,我们只使用与列表5中的第36行的执行相对应的轨迹。图24中显示了这些轨迹(对于每个执行,基础执行和少一个的位转移)的平均值。
[0158] 使用这些轨迹,我们执行LDA以识别从信息最多的视角投影我们的轨迹的最佳的鉴别超平面和线性变换。来自评估程序的测试轨迹被再次处理,以演示平台预表征的性能改进。图25中显示了从变换的测试轨迹到新的LDA变换空间中的签名的最短距离分布。
[0159] 检测来自软件控制的无线电平台及其他嵌入式系统中的授权软件执行的偏差[0160] 可以监控处理器的动态电力消耗,以确定是它对应于预期的执行,还是偏差已经出现。
[0161] 平台描述
[0162] 用于图示电力指纹(PFP)的这个使用的示范的目标平台是软件控制的无线电设备,其中无线电设备行为的特定配置受软件控制。图26中显示了想要的平台的一般的框图。
[0163] 在这个平台中,RF收发器2610的行为和配置受处理器2620控制。应用程序2626表示最高层,并且为处理器实现想要的功能。为了与RF收发器2610有效地交互,有一组应用程序接口(API)2624,该应用程序接口2624将与硬件的交互的复杂性提炼成主要应用程序。这些API与需要的驱动程序和协议栈实现2622一起提供用于特定的收发器的板支持包。协议栈2622以预先安排的格式排列要被传输的数据,添加需要的标题以及准备有效载荷,所以想要的接收器可以提取该信息。还负责提取从远程装置接收到的信息,并且将它呈现给应用程序层2626。加密模块2612可以在RF收发器或者在软件中被实现作为协议栈的一部分。图26显示它作为收发器的一部分。加密模块2612的位置在方法中没有呈现实际差异。RF收发器2610的MAC层2614和PHY层2616负责媒体存取和物理传输以及信息的接收。
[0164] 描述的方法表征了应用程序软件2626的执行,尤其是表征API调用2624的执行,API调用2624影响加密模块2612的行为。在这个方法中,被执行作为API调用的结果的特定代码被用于确定是否使用加密以及使用的加密的类型。例如,如果该应用程序调用特定类型的加密传输,则这个方法维护调用(invoke)该加密的代码的执行。在恶意的或者意外的篡改的情况下,这个方法提供修改的可靠的指示器。
[0165] 签名提取
[0166] 在授权代码a的第i个执行期间捕获的长度L的轨迹被表示为
[0167]
[0168] 为了避免来自其他板部件的潜在的低频干扰,通过计算轨迹样本之间的差异来引入基本的没有乘法器的高通滤波器
[0169]
[0170] 来自授权代码的执行的几个捕获的轨迹被用于生成签名、我们的目标指纹。N个轨迹被平均,以便形成目标签名并且减少各个轨迹中的随机噪声的影响
[0171]
[0172] 特征提取
[0173] 提取鉴别特征的处理由相对于目标签名的简单的时域相关性构成。但是,在签名和轨迹的j>0的局部部分上进行相关性,每个部分具有长度w=下限(floor){L}。进行这个部分相关性以避免跨越全轨迹相关性在电力轨迹中散布电势差。
[0174] 用于轨迹的部分j的不同的样本延迟0
[0175]
[0176] 其中, 和σs是sa中的相应部分的样本平均值和标准偏差,并且 和σd是 中的相应部分的样本平均值和标准偏差。.
[0177] 为了补偿任何时钟漂移,我们为不同的延迟保持最大相关值。此举为每个轨迹将我们的轨迹的维数减少到仅仅j峰值相关值的序列:
[0178]
[0179] 在理想条件下,对于每个部分j,具有b=a、 来自电力消耗特性的任何偏差将通过减少的相关因子被反映。在这个工作中用来评估轨迹的实际的鉴别特征或者测试统计值是用于那个特定轨迹的最小峰值相关值
[0180]
[0181]
[0182] 随机变量 指示来自代码b的场合i的签名的最大偏差。使用Xb,我们可以取决于统计信息使用不同的准则来设计适当的检测器,我们可以从系统中收集由原因推出结果。
[0183] 对完整性侵害和分层安全性的响应
[0184] PFP是检测在计算机系统中的执行偏差的非常有效的方法。但是,为了具有完整的方案,必要的是,当PFP监控器从预期的执行中检测偏差时,具有结构策略来操控完整性侵害。
[0185] 在计算机安全性中有三个清楚定义的阶段:
[0186] ·预防。包含激活的机构,以制止、阻止和防止攻击者继续使系统中断、泄露信息等等的攻击。
[0187] ·检测。因为完全的绝对的防止是不可行的,所以必要的是进行系统的完整性的恒定监控。
[0188] ·响应。适当地设定一组策略以对成功的攻击作出反应。
[0189] 现在将描述用于将PFP集成到综合性纵深防御安全性方法中的构造。在这个方法中,PFP提供用于“检测”阶段的坚固方案,以便补充大量不同的技术来防止和制止潜在的攻击。对不同的成功攻击的适当反应在“响应”阶段中被定义,并且根据如下所述的安全策略被描述。
[0190] 虽然实现系统安全需要一种处理,并且不仅仅是分隔机构或者技术,但是我们将集中于描述这样的领域,在该领域中,PFP可以补充传统的安全机构以便为完整性评定和侵入窃密检测提供连续的或者间歇的监控。在描述PFP的作用之前,重要的是,提及安全性处理涉及几个步骤,这些步骤包含:
[0191] ·设计。遵循声音设计方法,并且将系统设计成便于安全性实施、减少弱点、加强存取控制等等。典型实例是将系统设计成安全性功能与其余功能性分隔,并且其中存取控制特征被自身加强。
[0192] ·开发。遵循最好的开发实践,以便产生具有减少的弱点的可维持的产品。
[0193] ·部署。确保只有授权模块被部署。这需要强大的认证和不可否认的方法。
[0194] ·操作。通过加强强大的存取控制及其他安全性策略来维持安全环境。
[0195] ·监控。不断地评定系统的完整性。PFP、抗病毒和网络侵入窃密检测系统。
[0196] ·响应。当攻击成功时,定义要被遵循的策略和过程。应该考虑系统的危险程度来开发策略,并且应该严格地加强策略。
[0197] 这个部分描述了将PFP监控器集成到综合安全性方案中的构造,该构造包含补充安全机构,在该补充安全机构中,一层的弱点被下一层覆盖。包含在不同层中的方法和技术包含:静态数据的加密、强大的认证、存取控制、抗篡改、防火墙、沙箱、虚拟化、和物理保护。该构造还提供定义和加强安全性策略的机构,以便对PFP检测到的完整性侵害作出反应。
[0198] 该构造定义了分层的安全性方案,其中当入侵者设法通过所有其他的防御机构时,PFP监控器通过检测提供最后的防御线。图27显示了在纵深防御方法中的不同层2700。不同的层是用来使对手慢下来,并且使其逐渐地更加难以在没有被注意的情况下突破防御层。在外层中是外部防御机构,诸如因特网防火墙、装备的物理保护以及密码和安全性策略(即,防止社会工程攻击)。内层对应于存在于主机2750内的不同的防御。它们从存取控制
2740和静态数据的加密开始。它们继续想要保护应用程序2760和操作系统2770的不同的安全机构。在核心2780,有用于最基本的内核和安全操作的控制器。
[0199] PFP可以有效地监控不同层的完整性。在核心级2780,PFP可以评定所有的其他机构所依赖的内核和安全操作的完整性。还可以被扩大到监控操作系统2770中的核心应用程序的完整性,以及关键的用户级应用程序2760的完整性。注意,PFP可以监控存在于处理器范围之内的所有模块的完整性,所述模块包含抗病毒模块和加密模块,如图28所示。
[0200] 为了计算机安全性而将PFP集成到纵深防御方法中,允许了在潜在意外事件可以实现它们的目的并且造成损坏之前,更快地操控潜在意外事件。
[0201] 在运行时间提取和评估来自诸如加密并且抗病毒的其他安全性模块的执行的电力签名。从PFP视角,以相同的方法并且使用相同的技术来提取来自内核模块和抗病毒程序的签名。
[0202] 重要的是,注意,PFP可以被延伸到任何其他装置以监控其执行完整性。这包含可以被用于实现不同的安全性层的装置,例如是防火墙、数字安全锁等等。
[0203] 具有PFP的计算机防御的最后阶段是定义适当的策略,以便操控通过监控和评定操作检测到的不同的异常。因为对成功侵入的适当反应取决于对每个平台和应用程序唯一的几个因素,所以我们不能概括对PFP监控器检测到的不同侵入的响应。因此,必要的是遵循接受和加强不同的安全性策略定义的构造,可以对不同的系统调整不同的安全性策略定义,同时维持和重复使用基本的操作原理和结构。
[0204] 分布的PFP监控网络,以监控恶意软件动态和行为
[0205] 这个部分描述了具有PFP能力的节点的广泛网络的操作,PFP能力被部署跨越不同的地理或者逻辑地区,以便监控恶意软件的扩散,检测目标攻击,以及发现恶意对手的潜在意图。这个方法可应用于发现在特定的逻辑或地理区域上隐密的远程攻击。
[0206] 将PFP用于这个应用的主要优点之一是它的秘密行动,这防止了对手他们自己检测到该监控活动,给予他们隐密的错觉(使他们相信没有被检测到),以及欺骗他们继续进行他们的活动、揭露意图和能力。PFP的这个应用是用于智能收集的有力的工具。
[0207] 操作。
[0208] 由于PFP的低的覆盖区以及对目标系统上的内存和潜伏时间的可以忽略的影响,因此实现秘密行动监控。使用以下步骤实现PFP节点的分布式网络:
[0209] 1.能够实现具有PFP的代表节点(使节点与PFP监控器配合并且从它们的目标部件提取可信签名)。监控器可以被安装在机架上并且是资源丰富的,因为目标节点仅仅用作诱捕系统。
[0210] 2.在感兴趣的目标地理或者逻辑区域上部署能够实现PFP的节点的网络。
[0211] 3.如图29中描绘的,为完整性侵害和侵入逐一地监控每个节点。
[0212] 4.向中心位置周期性地提交完整性结果,用于记录日志和分析。
[0213] 5.如果发生完整性侵害,该报告应该包含:
[0214] (a)受到侵害的电力轨迹的副本
[0215] (b)在侵害之前执行的未经篡改的模块执行的有序序列
[0216] (c)在侵害之后执行的模块的有序序列
[0217] 在图30中描绘了PFP的这个应用。该图显示了在不同的地理网络中的PFP诱捕系统。但是,重要的是,注意,网络分离可以是逻辑的,如在相同网络的不同部分中,或者可以是社会的/政治的,如在用于不同的政府机构或者企业部的网络中。
[0218] 图30上如虚线表示的诱捕系统和集中式分析位置之间的链路可以被实现作为分离的网络(例如,专用无线链路),或者可以使用可用的广域网,诸如公共交换电话网(PSTN)或者因特网来获得该链路。在任何情况下,必须放置强大的不可否认的机构,该强大的不可否认的机构负责提供轨迹的起源和完整性的验证(高保险认证),以便总体上维持系统的可信度。
[0219] PFP对供应链信任分析的应用
[0220] 制造的外购装置和产品向外来和不可信的铸造厂和制造商打开了潜在的安全性突破和篡改的门。即使对于可信的提供者,也有外国或者不满的人员试图使关键系统的操作和功能中断的潜在性。
[0221] PFP提供在系统的整个生命周期期间,检测由供应链中的不可信的链路引入的软件、固件和硬件中的未授权修改及其他篡改的机构。使用PFP的新的出货和不可信装置的完整性评定需要图31中显示的步骤。输入向量产生器3110被用于提供用于目标装置在受控环境下的执行3120的必要输入,其中在目标装置在受控环境下的执行期间,收集电力轨迹3130。在进行特征提取3150之前,补偿电力消耗的各个特性的参数3140。产生的特征与存储的基准签名3170比较3160,并且从这个对比中获得最终的评定结果。
[0222] 使用PFP检测数字装置的完整性不是破坏性的处理,并且只需要来自正在评定的装置的最小的协作。此外,电力消耗的微粒测量使得装置的内部执行状况显著可见,从而使得修改不被注意到极其困难。例如,PFP可以检测由于在条件检查期间额外的功能或者执行流的部分激活而只在一定条件下激活(也称为逻辑和定时炸弹)的篡改。PFP检测额外的或者遗漏的功能的能力不取决于插入它们自己的目的或者意图。
[0223] PFP的另一个优点是,即使没有触发恶意活动,也可以信任用PFP验证的特定的执行路径。换句话说,如果PFP没有检测到来自签名的显著偏差,则它意指没有篡改或者额外的功能在那个特定的执行路径中发生。
[0224] 用PFP进行供应链信任分析的密钥要素正在在受控环境下执行不可信的装置3120。这个受控环境包含预定义的输入3110,预定义的输入促使特定的状态序列以及用于可编程装置的特定软件被执行。对于一些系统,可能必要的是,开发支持架以控制和分隔特定部件的执行。特定的输入向量取决于装置或者软件模块的功能,并且期望它们为装置的操作运用关键的执行路径。用于提取签名的相同的输入向量需要被用于评定不可信装置的完整性。
[0225] 因为在制造期间的微小的处理变动,所以不同的装置将显示不同的电力消耗特性。电力消耗中的这些变动需要在特征提取3150之前被补偿3140,以避免错误的评定。借助于自适应滤波器进行这个补偿,自适应滤波器的分接头被动态地修改,以匹配电力消耗轨迹的特定的特性。这个自适应滤波器允许PFP监控器集中于在执行期间由装置寄存器中的位转移所引起的电力消耗,并且除去由制造变化造成的轨迹的差异。
[0226] 使用PFP的有效的供应链信任分析的最关键方面是基准签名的可用性3170。如图32所示,有这种签名的不同的潜在源。最好的基准将通过同一的可信实现(金本位)3230被提供。但是,在许多场合中,这种可信实现是不可用的。在这些情况下,可以使用具有不同程度的误差和可信度的替换法来提取基准签名。例如,两个相对简单的替换基准源包含装置的先前实现(已经经过时间考验的一个)3250或者来自不同的供应者的替换实现3260。在这些情况下,从替换实现的执行中提取签名,减少了由不同的提供者进行的两个同一修改的机会。来自前者方法的签名可能错过在先前版本中呈现的未识别的修改。在后者方法中,攻击者可能在来自不同供应者的两个版本中生成同一修改,以避免检测。
[0227] 使用CAD模型3240来获得签名需要更多的努力,但是它可以在本部进行,而不依赖外来的铸造。为了使用CAD模型提取签名,必要的是,使用决定性的输入向量来模拟装置的执行。模拟器需要按照电力消耗被精确到寄存器传送级。
[0228] 数字版权管理和执行限制的租赁
[0229] PFF的另一个新颖的应用是数字版权的实施,以及能够基于执行的数目实现许可的执行场合限制租赁的生成。
[0230] 通过从受保护软件的执行中提取签名,以及在运行时间监控电力指纹以实施授权模块的单独执行,来实现这个方法。例如,软件系统可以被许可以包含仅仅一组功能模块,该一组功能模块具有为更高的许可等级而储备的模块的子集。在发行之前,提取来自所有模块的指纹。在执行时间,PFP监控器使不同模块的执行与授权许可匹配。当未许可的模块执行时,由于失窃密码或者保护的突破,PFP监控器可以通知出版发行机构该侵害。此外,可以使得用于受保护软件的可信执行场合限制租赁方法能够实现。在这种情况下,PFP监控器计算许可软件已经被执行的次数,并且当租赁已经期满时,通知出版发行机构。
[0231] 对于许可的媒体内容,可以采用类似方法。使用PFP监控器,可以在使用PFP的已知媒体播放机上检测特定文件的再现。在这种情况下,在PFP表征期间,受保护的媒体数据代替预定输入。如果相同的媒体在特定的播放机上被再现,则电力签名将匹配。因此,PFP可以被用于检测未授权的许可媒体的再现。
[0232] 基于PFP的故障预测
[0233] 硬件部件经受不可避免的老化过程,通过恶劣环境中的操作或者当系统在连续的环境应力下操作时,加速了老化过程。这个老化被反映在平台的电力消耗特性上。PFP可以被用于不仅监控软件的正确执行,而且监控硬件平台的完整性。PFP监控器可以连续地追踪硬件的电力消耗特性,并且在故障实际发生之前预测该故障,命令何时必须替换特定的系统或元件。
[0234] 使用自适应滤波器来实现PFP中的电力消耗特性的追踪。从签名被提取的时候起或者由于环境条件,补偿电力消耗中的差异是必要的。相同的追踪机构可以被用于监控硬件的状况,并且使电力消耗特性与在装置的实验室测试中捕获的预定模式进行比较。在图36中描绘了识别故障特征的处理。在这个处理中,可以通过使目标装置暴露于急剧的温度变化来实现加速老化3610。在测试程序的执行期间,随着后面是轨迹捕获3620的一轮加速老化,表征处理间隔地发生。轨迹被收集用于在后的分析,并且重复该处理直到装置故障。
一旦装置故障,检查该组轨迹以确定在故障3630之前展现的特定的特征。从其他类似装置提取特征,以提供统计多样性并且分隔一般的特征3640。
[0235] 将模块识别信息嵌入到同步信令中
[0236] 为了提供正确的评定,PFP需要与正在执行的软件适当的同步。在PFP中有两个级别的同步:时钟周期级别和程序级别。前者可以通过追踪以时钟周期率出现的电力消耗中的独特周期,或者对于简单的平台,通过探测时钟信号本身,来被容易地实现。后者同步更难实现,并且通过在程序本身中嵌入将特定程序的执行通知给PFP监控器的触发器或者标识符来便于该处理。
[0237] 在这个部分中,我们呈现了将正在执行的节点的识别嵌入到触发和信令机构中的机构。这个机构不仅帮助通知PFP监控器哪个特定程序将要执行,而且提供稳固的同步信令来用于更精确的异常检测和行为签名提取。
[0238] 最后的目的是提供用于正在被表征的不同模块的识别码,该识别码被插入用于PFP的同步和触发人工制品中。有两个主要的方法来提供用于PFP的同步和识别信令:1)生成相邻的物理信号,如图33所示,以及2)在电力消耗本身中嵌入信号,如图34所示。对于前者,二进制识别码在程序3322的执行之前被写入物理IO寄存器3324。然后寄存器被传送3335到PFP监控器3340,PFP监控器3340以并行或者串行的形式从传感器3310捕获电力轨迹3315。代码和寄存器的长度取决于需要被监控的程序的数目。就最简单的意义而言,单位寄存器,诸如LED,可以被用于发出执行目标程序的信号。在分离的物理信令的情况下,触发器被编码为信令寄存器上的二进制数,如图33所示。
[0239] 第二方法需要同步信令,该同步信令通过插入仔细制作的指令序列3422被嵌入在电力消耗本身上,指令序列3422产出与众不同的电力消耗模式。这个方法被描绘在图34中。选择同步程序上的指令,以致在它们的代码字、地址和参数中的位转移产出最终驱动电力消耗的特定数量的位转移,并且向PFP监控器发出特定序列将要执行以捕获来自传感器的恰当的轨迹组3415的信号。更多的位转移导致更高的电流损耗。当开发序列时,管线的长度和特性需要被考虑到。类似于先前的方法,指令序列(代码)的长度取决于需要被识别的关键程序的数目。通过生成不同的独特的电力消耗模式,选择序列本身以产出用于识别不同模块的不同的签名代码。
[0240] 重要的是,注意,同步信令是用于有效的PFP的需要要素,因为它允许将评定力量集中在最重要的代码部分上。将识别码嵌入在信令中便于评定处理,但是它不是必要的要求。这是因为使用单个触发器将允许PFP监控器捕获恰当的轨迹组,并且信号分类技术可以被用于确定哪个特定的程序被执行或者是否没有可靠的匹配可以被建立(异常)。
[0241] 通过组合来自不同的板元件的信号的提高的PFP监控
[0242] 来自系统的不同元件的信号可以被PFP监控器所使用,并且可以被组合以提供提高的性能和可靠性。多个信号的源包含以增强PFP为单独目的引入的多个处理器、协处理器、外部设备或者其他专用元件(例如,用于触发的IO寄存器)。
[0243] 在PFP中有不同的方式来组合来自不同源的信号。主要的方法之一包含,捕获来自不同的处理器或者其他数字电路的电力轨迹,以便在多处理器和多核心板上进行完整性评定。另一个方法是监控系统的其他元件(电力消耗或者其他侧和直接信道),以聚集在完整性评定期间要被使用的额外的背景信息。额外的背景信息可以被用于提高同步并且便于行为表征。背景信息可以被产生作为正常系统操作的产物,或者在设计时间被有意地引入(例如,用于触发的IO寄存器)。图35中描绘了组合多个信号的PFP监控器的样本设置。
[0244] 可以从直接支持IO寄存器、从不同元件的电力消耗、或者从诸如电磁辐射的其他侧信道,捕获附加的信号。组合来自不同源的信号需要特别设计的检测器,该特别设计的检测器可以支持不同的特征。特定的组合机构取决于系统功能和支持平台。例如,在多核心处理器中,来自每个核心的电力轨迹可以被扫描,以便找到与目标程序相对应的轨迹。另一个实例,在软件定义的无线电设备中,可以通过监控电力消耗检测功率放大器(PA)的激活,并且功率放大器(PA)的激活在无线电传输发生时出现。PA的激活可以被用作程序的触发机构,该程序涉及准备要被传输的数据(注意,在这种情况下,程序在触发器出现之前执行)。
[0245] 使用恶意软件签名来增强PFP性能
[0246] 即使PFP的主要应用是异常检测,也有使用来自已知的恶意软件的可得到的信息来提高评定性能的重要益处。当恶意软件的新趋势被识别时,可以提取它的PFP签名并且将它添加到已知签名的库。类似于传统的抗病毒软件,这些恶意软件签名可以被用于通过提供安装的恶意软件的基于传统签名的检测来提高PFP完整性评定的性能。将需要使得监控器知道每个签名的各个性质(白名单和黑名单),以便避免不正确的评定。恶意软件签名还可以从执行中的行为模式中被提取。例如,某些恶意软件类型,诸如穷举破译,具有非常独特的执行模式,其中可以使用PFP容易地识别该执行模式。
[0247] 从恶意软件中提取签名的处理类似于从可信软件中提取签名的处理,其中在受控环境下重复地执行目标模块,并且将不同的信号处理技术应用于产生的电力轨迹,以便选择具有最有鉴别力的属性的特征。重要的是,注意,一旦恶意软件已经在受控环境下被识别、被分隔以及被执行,就便于恶意软件表征。
[0248] 自动表征和签名提取
[0249] 为了有效地表征新的软件系统或者现有系统的新版本,必要的是具有自动表征可信基准并且提取PFP签名的工具,PFP签名唯一地识别特定软件的执行。在某种意义上,这个处理类似于自动测试,因为它需要在受控条件下执行特定模块。但是,不同于自动测试的是,PFP表征仅仅与“观察”不同模块的几个执行场合有关,并且不试图评估任何要求或者属性。
[0250] 这个部分的目的是描述便于复杂系统和软件构造的表征的方法,并且使得从实践复杂的计算机系统的实际实现中提取签名是可行的。没有这个自动方法,将需要太长的时间而不能表征和提取来自要被用于电力指纹的复杂系统(即商业系统)的唯一签名。
[0251] 主要目的是,通过使用类似于通常在软件测试中使用的支架,以及通过使用识别形成指纹的最有鉴别力的特征的各种统计分析和信号处理,来使不同模块的表征处理自动化。当新的软件栈需要被表征时,处理开始。这个处理所需的工具包含:关键模块描述符、用于特征提取的信号处理工具、检测器设计工具、用于模块执行的支架(类似于测试支架)、输入向量产生器、报表产生、以及签名打包。为了便于了解该方法,我们提供了描述不同子系统之间的细节和相互联系的处理的高级视图。在图37中描绘了该联系。
[0252] ·描述符包含关于关键模块的必要信息,该必要信息包含唯一标识符、依赖性、输入分析(不同输入种类的损坏)、执行模式(动态链路、优先级、内核模块等等)。
[0253] ·来自描述符的信息被用于实现控制目标模块的分隔执行的支架。该支架允许系统录入确定值作为控制模块的执行的输入。
[0254] ·描述符中关于功能和不同输入类型的信息被用于确定适当的一组输入向量。
[0255] ·进行覆盖分析以识别已经运用的执行路径,产出用于系统的保护级的度量。
[0256] ·一旦系统被加载,操作者(可以是自动系统)就执行具有来自支架的支持的不同模块,并且提供适当的输入向量。在模块正在被执行的同时,PFP监控器捕获电力消耗的测量。
[0257] ·然后使用用于提取鉴别特征的不同的信号处理技术来处理通过监控器捕获的电力轨迹。存在要为不同域中的每个部件并且使用不同的技术提取的预定义的一组特征。
[0258] ·在捕获几个轨迹并且分析各自的特征之后,进行统计分析以设计最佳的检测器从而基于应用程序的特定要求从异常中区分出正常活动。
[0259] ·然后签名和检测器被打包在一起,以便与监控器一起被部署,监控器将评定目标系统的完整性。
[0260] 以下部分包含成功地实现上述方法所必要的更详细的描述。
[0261] 描述符
[0262] 描述符含有关于要被表征的特定模块的元信息。它们被用于开发支架人工制品,以分隔各个模块的执行并且提供受控环境来运用不同的执行路径。
[0263] 期望描述符以人和机器容易地读取的标记语言被提供,该标记语言诸如是可扩展的标记语言(XML),但是内容、语言和结构将取决于用于使表征处理自动化的特定工具,并且可以是专有的。
[0264] 需要被包含在模块描述符中的用于PFP表征的最少的必要信息包含:
[0265] ·描述每个模块的唯一标识符。该唯一标识符应该是人可读的并且提供必要的信息以便唯一地定位所讨论的模块。人可读部分中的要素包含公司、产品、种类、模块、以及版本。
[0266] ·依赖性。模块的所需要的软件和硬件的依赖性。
[0267] ·状态依赖性。影响模块的行为并且需要被控制以提供一致的和决定性的执行的内部状态的要素。
[0268] ·接口分析。提供不同的输入种类和所需输入种类的损坏,以便运用不同的执行路径。
[0269] ·执行模式。描述了模块在被部署时将执行什么模式,即,对于静态链接模块,静态;对于动态链接模块,动态:对于处理器在执行模块时将采用的操作模式,内核或者保护模式;以及优先级。
[0270] 输入向量产生器
[0271] 输入向量产生器的功能类似于它们在软件测试中的对应物(counterpart),提供适当的输入以促使部件进入特定的状态序列,特定的状态序列包含不同的执行路径。但是,不同于测试,PFP输入向量的目的不是为了找到实现误差,而是仅仅是为了运用不同的执行路径。
[0272] 取决于目标系统的性质,有时将必要的是,存储输入向量并且为了在评定(即,完整性审核)期间使用而与签名一起分布它们。是否保持输入向量的决定取决于选择的特征的性质以及由随机输入而产生的轨迹是否可以被去除。
[0273] 可以使用不同的技术来产生输入向量,不同的技术包含基于搜索的(随机搜索、爬山算法遗传算法等等)、部分扫描、线性编程、以及随机和伪随机的方法。
[0274] 但是,有效的测试向量的实际标识保留主要地启发式方法,主要地启发式方法取决于目标模块的特定功能和它的输入域,以及关于模块的结构可得到的信息。当模块的执行结构的特定知识(存在什么执行路径以及什么样的状态序列对执行它们是必要的)必须在合理的时间内找到有意义的输入向量时,将有一些情况。此外,有时,为了识别并且产生有意义的有效测试向量,可能需要专家分析的直接输入来为自动工具提供引导。
[0275] PFP的测试向量产生的一个密钥要素是:目的是一旦装置被部署,就执行期望出现的不同的路径,而不是找到误差。这是相对冒险的方法,因为可能到达没有被表征从而被标记为异常的有效的执行状态。优点是将搜索空间减少到仅仅几个状态。对于最关键的系统,执行空间是相对小的,并且预期的执行状态是子集。
[0276] 覆盖报告
[0277] 使用来自输入向量产生器的信息,可以基于由特定的输入向量穿过(traverse)的执行路径产生覆盖报告。使用来自目标模块的结构信息,可以计算PFP覆盖度量作为模块中的现有路径和使用产生的输入向量穿过的路径的百分比。这个报告仅仅指示PFP的预期覆盖率。该报告仍然需要通过识别实际上产出可接受的PFP签名的执行路径的数目来完成。
[0278] 最后提供该报告,以便向用户提供关于可以使用PFP监控的特定模块的信息。
[0279] 支架
[0280] 利用描述符和软件栈,进行支架的处理,以分隔关键模块以及它们的不同块的执行。这类似于用于自动测试的支架的处理。支架的目的是在受控环境中执行目标模块,类似于一旦整个系统被部署就将被找到那一个,以便在它的执行期间收集电力轨迹。因为期望模块具有取决于输入的不同的执行路径,所以支架需要便于不同的输入的使用。
[0281] 对于需要物理输入的情况,支架需要设置适当的物理接口以提供必要的输入。
[0282] 这是部分人工的处理并且取决于目标模块的特性。幸运地,支架所必需的大部分要素在功能上与用于自动测试(例如,单元、集成和系统测试)的传统支架重叠,仅仅增加很少的额外工作。
[0283] 重要的是,注意,对于非软件实现,支架将具有类似的要求,尽管最终的实现将是不同的。在这些情况下,模块将通过可以被独立运用的部分被限制。对于高度集成的系统,这可能代表挑战。
[0284] 信号处理和特征提取
[0285] 利用与不同模块的执行相对应的电力轨迹以及使用电力/瞬时电流传感器捕获的各个执行路径,需要提取唯一地识别目标模块的执行的鉴别特征。识别实践签名所必需的技术和信号分析的准确设定取决于目标模块的特定特性。
[0286] 我们仅仅描述大量不同的特征提取和信号处理技术的并行执行以减少表征目标模块所需的总体时间的框架
[0287] 没有已知的有效过程来确定用于给定问题的最佳的鉴别特征。但是,有几个技术可以被评估并且从中选择最有鉴别力的特征。提取的该组鉴别特征使用启发式方法和经验的组合被确定鉴别。包含在这些特征之中的是:时域相关性、欧几里得距离、循环平稳(cyclostationary)分析、频率分析等等。选择最有鉴别力的特征的处理包含:并行地计算该组中的所有的不同特征,以及基于组内方差将它们分等。马哈拉诺比斯距离是用于这种特征评估的样本度量。
[0288] 下面说明的特征选择和检测器设计的处理是紧密相关的,因为特征提取结果的统计特性确定了必要的分析以便确定最佳检测阈值。
[0289] 统计分析和检测器设计
[0290] 在不同的特征上进行统计分析,该不同的特征是从在目标模块的独立执行场合期间捕获的电力轨迹中获得的。统计分析的目的是选择具有最有鉴别力的品质的特征,并且确定阈值等级或者区域,在该区域内,观察的一组特征将被考虑作为是由目标模块(检测器)产生的。
[0291] 在PFP中,作为异常检测方法,错误报警概率(PFA)是确定系统的性能的重要的操作度量。PFA被定义为目标模块的正常执行场合在接受区域之外并且被归类为异常的概率。PFP检测器需要被设计成使PFA最小化,同时使正确识别目标模块的概率最大化。这是经典的假设测试问题,并且聂曼皮尔逊准则可以被应用于检测阈值。但是,也有可以应用的几个其他方法。
[0292] 给定足够的样本,可以在PFP中实现任意的PFA。但是,在实践系统中,这是不可行的并且有限的,实践PFA级别必须被确定。可以被容许的PFA取决于特定的模块以及期望运行的应用程序的性质。
[0293] 理想地,从不同的场合中来自相同的执行的签名需要属于在平台表征期间计算的最小敏感度的距离。如果这个想要的特征不能实现,则有几种方式来使PFP输送精确的评定。一个简单的方法是使几个轨迹平均以排除一些噪声。
[0294] 签名打包和加密
[0295] 一旦目标模块已经被表征,产生的签名、特征提取技术和阈值被打包用于与装置一起部署。打包和输送机构取决于装置和应用程序的特性。使用选择的特征提取的完整签名需要被存储并且被传给监控器。例如,在简单的时域相关性的情况下,完整的向量需要被存储。
[0296] 为了保护静态或者在传输期间的签名,必要的是,加密它们以避免给予潜在的攻击者监控器正在寻找的签名的准确基准。可以使用用于专用或者公共密钥加密的各种机构来进行这个加密。但是,重要的是,注意,即使潜在攻击者获取签名,也将仍然很难在继续恶意行为的同时完全地匹配签名。
[0297] 安全签名更新
[0298] 当使用PFP正监控的部署系统被更新时,还必要的是,以可靠并且安全的方式更新PFP签名,以便维持有效的完整性评定。这是关键步骤,因为评定的可信度取决于适当的签名管理。为了使这个更新处理安全,必要的是,验证签名的完整性和真实性。在这个部分,我们描述了提供安全的PFP签名更新的必要机构。
[0299] 对于广泛部署的PFP监控器,签名应该与其他软件更新一起被分布。对于集中式的PFP监控器,更新可以与软件更新分开被输送。在PFP签名更新中的主要挑战是认证(即,证实发送器是授权实体,而且签名本身是正确的是正确的并且没有以任何方式被篡改或者改变)。该挑战不如在集中式的PFP监控器的情况下那么困难,其中可以使用物理媒体或者可信网络来分布签名,以及其中可以预想到敏感签名的传送来进行准备。
[0300] 在广泛分布的PFP监控器的情况下,其中不能使用物理手段或者交替的可信网络来进行签名交换,签名更新需要与实际的软件更新一起被进行。在这种情况下,有几个弱点,这些弱点可能被具有PFP系统的足够知识的攻击者所利用。例如,如果没有被适当地认证,则更新处理可能通过中间人攻击被中断。
[0301] 安全的签名更新处理和操作。
[0302] 用于通常在空中编程和软件更新的分布中使用的安全内容分布的已知方法可以适合于PFP签名更新。可以从两个不同的视角看出安全签名更新:真正签名发信方和PFP监控器。从签名产生侧中,必要的是,提供有效的认证信息以及签名,并且利用旋转密钥方案加密该签名块。
[0303] 可以被应用于能够实现安全签名更新的其他技术包含:
[0304] ·对样本缓冲和签名要素两者编码
[0305] ·公共或者对称密钥加密
[0306] ·根据已知序列(PN序列)改变要被用于解码签名和轨迹的加密密钥,已知序列在每个签名更新之后更新它的指数。
[0307] 对侧信道攻击的保护
[0308] PFP对恶意的侧信道攻击使用完整性评定利用的相同的原理。因此,为了防止潜在的对手利用PFP基础结构来进行侧通道攻击,必要的是,通过限制对它们的存取来保护由传感器提供的轨迹。当使用无线连接来传输电力轨迹时,这是尤其重要的。这个部分描述了保护对电力轨迹的未授权存取的机构,该电力轨迹可能在侧信道攻击中被误用。
[0309] 操作。
[0310] 通过使用PFP传感器和PFP监控器之间的共享密钥加密或者编码轨迹来完成对轨迹存取的保护。从这个视角,PFP有两个基本的操作模式:嵌入监控器(传感器和数字转换器)和外部监控器。
[0311] 在嵌入操作中,利用强大的专用密钥来加密或者编码轨迹(对称的密钥加密)。当电力轨迹被无线地传输用于外部处理时,进行这个加密步骤是尤其重要的。在图38中描述了该加密处理。处理器3810的模拟输出通过传感器3820被监控,通过模数转换器3830被转换,并且被馈送给密码3850。密码3850可以以几种方式隐藏来自侧信道攻击者的适当的信息,包含位样本的块加密或者编码它们(有效地,密钥被置换的移位密码)。
[0312] 对于外部监控器,通过需要口令的数字开关能够实现给予对轨迹的存取的物理连接。在这种情况下,通过平台上的电力管理芯片提供用于外部监控器的接触点。电力管理芯片可以与电压调节器一样简单,但是对于在新型智能电话中使用的最商业的处理器,电力管理芯片更加复杂。当适当的监控器被连接时,能够实现PFP的电力管理器一旦被连接将从外部监控器读取口令,然后使电源电流改道以经过外部传感器,外部传感器允许外部监控器捕获瞬时电流损耗或者电力消耗。图39显示了这个处理的图形表示。
[0313] 重要的是,注意,这里描述的方案并不是想要防止攻击者对我们的目标系统进行侧通道攻击。而是想要用来防止用于侧信道攻击的PFP监控器设施的开拓。适当利用这些测量,潜在的攻击者将不得不对具有PFP监控器的板进行与没有PFP监控器的板相同的硬件修改。
[0314] 虽然已经按照较佳实施例描述了该发明,但是本领域中的那些技术人员将认识到该发明可以在附加的权利要求书的精神和范围内做出修改。
[0315] 已经如此描述了我们的发明,作为新的并且希望被专利保护的我们所要求的权利如下。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈