ThreatSCOPE:解决嵌入式系统中的软件漏洞
控制复杂系统的嵌入式系统,包括医疗设备、航空电子设备、汽车和物联网(IoT),正变得越来越复杂。支持这些系统的软件越来越复杂。随着复杂性的增加,识别软件中漏洞的挑战也随之增加,从而加剧了网络威胁的可能性。这些嵌入式系统依赖于外部数据,例如用户输入和外部传感器,并且可以连接到公共网络。攻击者可以利用系统之间以及用户与系统之间发生的独特交互来发现使他们能够泄漏信息或接管系统控制的弱点。此外,不可能测试这些复杂的、数据驱动的交互。这使得评估系统的网络安全攻击成为一个具有挑战性的问题。
网络安全公司BlueRISC Inc.的研发团队由企业家、马萨诸塞大学阿姆赫斯特分校(University of Massachusetts Amherst)电气与计算机工程教授萨巴·安德拉斯·莫里茨(Csaba Andras Moritz)博士领导,开发出了应对这一软件漏洞问题的ThreatSCOPE。是一个系统保障工具,分析软件漏洞和相关的网络威胁。Moritz教授描述了ThreatSCOPE如何基于新颖的二进制分析概念来确定嵌入式系统中哪里存在可利用的代码。然后确定导致系统潜在利用的路径。图形前端使用户能够可视化利用性分析结果,以及已发现的任何潜在漏洞的分解。ThreatSCOPE还可以生成自动报告,在不同级别显示其分析结果,包括执行摘要。

二进制级别的框架
ThreatSCOPE由一个二进制级框架支撑,该框架支持广泛的嵌入式cpu(中央处理单元)和环境,并有助于在嵌入式系统的最终二进制文件中进行脆弱性分析。它可以自动提取导致系统弱点的工件(例如,表示程序所做的基本方面的程序分析信息),并从应用程序和系统软件中识别潜在的可利用路径。研发团队设计了ThreatSCOPE来执行感兴趣的系统的自动二进制/可执行反向工程,以及提取和描述可能的安全弱点。
ThreatSCOPE的ImmuneSoft技术是首个在网络攻击期间针对嵌入式软件进行修复的系统。
可利用性
与以往对现有漏洞和解决方案的了解不同,ThreatSCOPE的可利用性特征技术提取了构成对嵌入式系统进行成功网络攻击的操作需求的概念构件。Moritz博士解释说,从本质上讲,任何开发嵌入式系统的尝试都必须涉及到系统对系统或用户对系统的交互。通常,这些交互管理系统的底层功能。然而,如果这些交互以特定的方式创建或格式化,它们可以为黑客提供获取访问的途径,以便从其中泄露信息或控制并利用它。

固件的底层功能也是研究人员特别感兴趣的,因为只有一些类型的代码实际上符合开发标准。当这些工件或满足可利用性需求的代码与与外部接口发生交互的位置相关联时,就会出现潜在的可利用路径。一旦确定了可利用性工件,则使用执行路径来建立工件之间的逻辑连接,ThreatSCOPE生成可利用性工件图(EAG)。EAG为用户提供了一个过程的交互式视图,其中包含满足可利用性标准的特定功能和连接性。它提供了嵌入式系统软件攻击表面的可视化,识别具有外部接口的程序与用户或其他信息处理系统通信,具有潜在修改漏洞的程序,以及具有可能从系统泄露数据的漏洞的程序。
逆向工程
当输入嵌入式设备的固件镜像或软件可执行文件时,ThreatSCOPE工具包执行自动逆向工程,以了解固件或可执行文件的底层功能、过程和通信实际工作方式。这提供了与体系结构无关的输入的中间表示,因此可以象征性地执行分析,而不需要任何底层体系结构的知识。

静态漏洞描述
然后,工具包根据这个中间表示执行自动化的程序分析,以识别和描述任何可能导致潜在安全弱点的可利用性工件。针对与外部输入或输出接口相关的系统数据流,或者攻击类型以及它们是否能够从系统中修改或泄漏数据,ThreatSCOPE对这些工件进行了特征描述。一旦分类,这些工件连同连接它们的执行路径组成了EAG中显示的与利用相关的位置。通过可利用性工件和它们的交互,ThreatSCOPE从软件中捕获了一组易受攻击的代码。虽然其中一些潜在的可利用代码可以静态地修复,但其他代码依赖于在测试期间不可跟踪的特定运行时条件。莫里茨博士强调,让嵌入式软件能够检测到这些剥削的发生是至关重要的。
ImmuneSoft–网络免疫系统
此外,ThreatSCOPE的静态分析还允许在嵌入式系统中添加运行时组件(一个自包含的软件模块),以便在发生攻击时检测并可能为应用程序提供软件修复。BlueRISC开发了免疫软件技术并获得了专利,该技术使用静态提取的信息来识别和加固可能的弱点,从而通过减少攻击面来防御和保护系统。免疫软件可在漏洞测试和运行时网络攻击缓解期间使用。

漏洞测试
在漏洞测试阶段,ImmuneSoft代码将自动生成,并透明地插入二进制代码中,其中已识别出工件或其路径。这些代码可用于在功能测试和渗透测试期间生成以漏洞为中心的覆盖度量,告知用户这些潜在易受攻击的代码实际测试的情况。其他地方没有这方面的资料。ImmuneSoft代码还可以识别使利用特定工件或路径成功的条件。
ThreatSCOPE以新颖的二进制分析概念为基础,以确定嵌入式系统中存在哪些可利用的代码。
运行时网络攻击缓解
ImmuneSoft代码也可以保留在已部署的应用程序中,并在运行时执行网络攻击缓解。这些代码提供了开销较低的网络加固解决方案,可以检测并响应运行时的网络攻击。在用户具备应用程序/界面所需知识的情况下,他们可以为特定的应用程序/界面开发定制的ImmuneSoft代码,而ThreatSCOPE可以自动将其插入嵌入式软件中。另外,ThreatSCOPE能够自动生成ImmuneSoft代码,该代码可以识别在运行时对漏洞构件进行成功攻击所需的条件。当在运行时检测到网络攻击时,ImmuneSoft代码会激活响应机制。可能的响应机制包括从对应用程序没有积极影响的响应(如日志记录)到更积极的响应(如自主软件修复)。

未来发展
网络化嵌入式系统的可利用性是一个日益严重的问题,仅仅测试已知的威胁已经不够了。ThreatSCOPE和ImmuneSoft提供静态和运行时网络加固解决方案。除了可执行文件,该团队还广泛使用AI来支持源代码级的分析。这些技术可以在系统开发过程中用于分析和测试,也可以用于部署的系统。Moritz博士和他在BlueRISC的同事们目前正在开发一系列附加功能,将对仪器仪表、代码注入和建模的支持整合到ThreatSCOPE工具包中。

个人反应
到目前为止,从ThreatSCOPE得到的最有价值的结果是什么?