没有合适的资源?快使用搜索试试~ 我知道了~
自动驾驶汽车OTA软件更新安全机制的研究-沙特国王大学学报2021
沙特国王大学学报eUF:用于检测自动驾驶汽车Anam Qureshia, Mr. Jawwad Ahmed Shamsia,Adnan Aijazca巴基斯坦国立计算机和新兴科学大学计算机科学系系统研究实验室b巴基斯坦工程技术大学计算机与信息系统工程系c布里斯托尔研究和创新实验室,东芝欧洲有限公司,联合王国阿提奇莱因福奥文章历史记录:2021年2月8日收到2021年4月29日修订2021年5月15日接受2021年5月26日网上发售关键词:自动驾驶汽车恶意软件空中下载软件更新Uptane框架A B S T R A C T软件更新在自动驾驶汽车中非常重要。这些更新用于提供增强的功能和更新的安全机制。为了确保可扩展性和平滑推出,空中(OTA)机制是传播软件更新的优选选项。然而,这种方法是容易受到安全攻击,因为存在的车辆和制造商之间的无线通信信道。在这种情况下,攻击者可以用恶意软件替换合法软件,意图控制车辆。在这项工作中,我们有动力解决这个问题。我们开发了一个增强的uptane框架,用于检测自动驾驶汽车中的恶意OTA软件更新。为了增强安全性,我们将卷积神经网络(CNN)纳入uptane框架中。所提出的框架是能够区分恶意和良性的软件可执行文件具有很高的准确性。为了训练和测试,我们通过收集Windows和Linux操作系统的可执行文件来创建两个数据集。我们鼓励通过利用开发的CNN模型来使用迁移学习,以检测为自动驾驶车辆设计的恶意可执行文件。我们还将CNN模型与最先进的模型进行了基准测试。我们的工作在为软件更新提供安全机制方面对社区版权所有©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍软件或固件(SW)的安全可靠更新是物联网(IoT)的主要挑战。物联网连接智能设备,为智能家居、智能电网、智能停车场和智能交通控制等各种应用提供服务。这些服务依赖于软件更新来更新操作和增强安全性。例如,当智能设备的原始设备制造商(OEM)引入新功能或开发安全补丁以修复软件现有版本中的漏洞时,有两种方法可以在智能设备中更新软件。一种物理方法,其中SW*通讯作者。电子邮件地址:anam. nu.edu.pk(A.库雷希)。沙特国王大学负责同行审查制作和主办:Elsevier通过经由诸如车载诊断(OBD)的该技术要求用户将器械带到OEM进行软件更新。可替换地,OEM提供商还可以通过经由便携式存储介质向用户提供更新的SW来用于更新智能设备的SW的第二种方法是基于OEM和用户之间通过使用无线网络的空中(OTA)通信,即,无线保真(Wi-Fi)或蜂窝网络,如3G、4G或5G。通过观察连接设备的指数增长(Gartner,2019),基于物理访问的设备软件更新方法效率低下。例如,考虑一种场景,其中OEM开发安全补丁以修复当前版本的SW中暴露的漏洞。为了获得包括安全补丁的SW的最新版本,用户必须访问OEM的服务中心(SC)。如果用户无法立即访问SC提供商,则设备仍然容易受到安全攻击。由于这些原因,OTA软件更新仍然是许多场景的可行选项(Miettinen例如,2017年)。OTA软件更新的采用带来了许多额外的挑战。无线介质应保持安全,还应限制恶意更新的任何可能性。https://doi.org/10.1016/j.jksuci.2021.05.0051319-1578/©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comA. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5457在系统中引入。这要求在作为更新添加之前,应正确检查和验证任何软件。智能设备有许多用例,如智能城市(Qian等人,2019),自动驾驶汽车(Khayyam等人,2020)、工业部门等。根据特定用例,OTASW更新程序可能会有所不同。这项工作的重点是自动驾驶汽车的OTA软件更新因此,从这一点开始,我们主要讨论OTA软件更新过程中的自动驾驶汽车。自动驾驶车辆可以被认为是通过无线信道连接到其他车辆、基础设施和云的智能设备。然而,自动驾驶汽车本身就是一组能够实时感知、处理和做出决策它包括各种电子控制单元(ECU),每个ECU用于不同的目的,如发动机控制,气候控制,高级驾驶员辅助系统,导航等。ECU是硬件和软件的组合,可能包括数百万行代码来执行所需的功能。这些ECU可以通过各种接口连接在一起,如控制器局域网(King 和 Yu, 2017 ) ,本 地 互 连网 络 ( Tuohy 等 人, 2014 ) 、FlexRay等。虽然OTA SW更新程序通过保持车辆的SW为最新来提供安全性,但是其引入了各种新的攻击向量,并且通过这些攻击向量,攻击者可以窃取更新的SW,重新编程ECU,或者甚至可以远程控制车辆(Chawan等人, 2018年)。因此,ECU制造商现在需要按照ISO26262 功 能 安 全 ( ISO 26262 , 2018 ) 和 SAE J3061 网 络 安 全(Schmittner等人,2016年)。除此之外,自动化/自主和互联车辆的工作方GRVA正在制定网络安全和OTA软件更新问题的建议文件(联合国网络安全和空中问题工作组,2020年)。目前,特斯拉是为车辆的几乎所有子系统提供OTA软件更新的领先制造商。其他原始设备制造商,如奥迪,宝马和梅赛德斯,仅为单个子系统提供OTA更新,即,地图&导航或信息娱乐(Halder等人, 2020年)。根据IHSAutomo- tive的预测,通过使用OTA软件更新,汽车制造商将在2022年节省约350亿美元(Kirsten,2015)。据 我 们 所 知 , 除 了 uptane 框 架 ( UF ) ( Karthik 等 人 ,2016),现有文献中提出的用于OTA软件更新的其余方法没有考虑自动驾驶车辆中过时、不兼容和恶意软件更新的后果。在UF的帮助下,可以最大限度地降低自动驾驶汽车受到各种攻击的风险例如,UF可以提供从无休止的数据攻击中恢复,该攻击是通过发送超过ECU的存储限制的大量数据通过在自动驾驶车辆内广播数据,UF可以防止通过误导ECU安装不兼容版本的SW而发起的混合捆绑攻击。然而,UF不包括用于检测通过用恶意SW替换良性SW而发起的控制攻击的任何方法。在ECU中安装恶意SW之后,攻击者可以控制自动驾驶车辆,这可能导致严重的结果,例如,因此,为了进一步提高UF提供的压缩弹性并降低自动驾驶车辆中恶意软件更新的风险,在这项工作中,我们提出了增强的uptane框架(eUF)。在eUF中引入了一个基于深度学习(DL)模型的新层,用于检测恶意软件。该新层以这样的方式添加,使得车辆侧所需的资源和计算能力最小化。该新层的主要功能是检测OTA SW更新期间发起的此外,我们公式化的恶意OTA软件更新检测问题作为一个二进制建立两个CNN模型。一个是使用Windows操作系统(OS)的实例开发,另一个是使用Linux操作系统的为了训练CNN模型,我们通过收集Linux和Windows操作系统的良性和恶意实例来创建两个数据集,主要来自两个资源,即病毒共享(VirusShare,2020)和Micro- soft(Microsoft,2015)发起的BIG 2015竞赛我们还将开发的CNN模型与为检测恶意可执行文件而开发的最先进的模型进行基准测试,并通过使用一些性能指标报告各种见解,这些指标包括精度,召 回 率 , F1 得 分 , 准 确 性 和 接 收 器 操 作 特 征 曲 线 下 的 面 积(AUROC)。文件的其余部分组织如下。第2节讨论了相关的工作和研究差距。问题的背景和这项工作的假设在第3节中介绍。第4节解释了拟议框架。在第5节中讨论了开发的CNN模型的结果,并与现有的研究进行了比较。最后,第六部分对全文进行了总结。此外,为了便于阅读,本文中使用的符号如表1所示。2. 相关工作现有的OTA软件更新方法主要分为五类,如表2所示,其中包括密码学(Mansour et al.,2012; Mayilsamy等人,2018; Steger等人, 2016)、散列(Nilsson等人,2008)、BlockChain(BC)(Steger等人,2018 b)、安全硬件模块(Petri等人,2016)和更新框架(TUF)(Kuppusamy等人, 2016年)。除此之外,通过利用名为控制流完整性的专利技术,Karamba Security开发了一种名 为 Carwall 的 产 品 , 该 产 品 可 以 阻 止 内 存 攻 击 和 恶 意 下 载(Karamba Security,2020)。但是,它不处理通过OTA SW更新发起的恶意攻击现有的方法主要关注在仓库和车辆之间的通信信道上加密SW的传递,以确保完整性并避免窃听或中断攻击。除TUF外,其余方法不考虑过时、不兼容或恶意OTA软件更新的后果作者在现有的研究(Mansour et al.,2012)提出了一种AiroDiag模型,该模型利用对称密钥密码学来保护OTA SW更新期间的通信。SW更新过程由客户端发起,其中车辆首先与OEM建立安全连接。接下来,车辆通知OEM关于安装的SW的当前版本。因此,OEM传送更新的版本以用于安装。在另一项研究中(Nilsson等人,2008年,作者提出OTA软件更新的框架,主要涉及车辆和可信门户。门户发布软件更新以及通过散列获得的验证代码。车辆下载软件,并在刷新ECU ROM之前,使用硬件虚拟化技术在控制系统中执行下载的软件。然而,该框架不包括任何用于验证源的方法。为了解决安全和隐私问题,在现有论文中已经提出了基于区块链的架构(Steger等人,2018年b)。根据作者的说法,他们提出的架构比基于证书的架构性能更好。在另一项工作中也提出了基于区块链的解决方案(Baza等人, 2019年),由两个实体组成,即OEM和车辆。此外,还定义了两种类型的车辆,即分配器和响应器。但是,OEM负责选择分类问题 为了解决这个分类问题,我们采用卷积神经网络(CNN)架构。我们1在本书中,术语可执行文件和实例可以互换使用。A. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5458表1这部作品中使用的术语。缩写定义缩写定义OTAOver-the-AirECU电子控制单元SW软件OBD车载诊断OEM原始设备SC服务中心UF制造商Uptane骨架TUF更新框架EUF增强型UptaneOS操作系统ML框架机器学习DL深度学习CNN卷积神经BC区块链CS网络云服务器RT根Rs释放TS时间戳TR目标博士主任E/E电气/电子AUTOSAR汽车开放式系统架构FC完全连接ReLU修正线性单元CE交叉熵亚当Adaptive momentTP真阳性FP估计假阳性TN真阴性FN假阴性TPR真阳性率FPR假阳性率作为响应车辆的软件更新分发者的活动和有效车辆。在 一 项 研 究 中 提 出 了 一 种 名 为 SecUp 的 框 架 ( Steger 等 人 ,2016),其中非对称密钥加密用于保护SC和车辆之间的单播通信,而对称密钥加密用于从SC到若干车辆的多播通信。作者假设,一旦在受控环境中通过使用IEEE 802.11s网格作为通信介质完成密钥交换过程,密钥被存储在可信模块中。作者在另一篇论文中扩展了这项工作(Steger等人,2018年a),通过提出一个无线车辆接口与SC连接。通过结合密码学和隐写术的概念,在另一项研究中已经提出了用于OTA SW更新的集成方法(Mayilsamy等人,2018年)。提供了两个级别的安全性,其中在第一级,使用RSA算法对SW进行加密,在第二级,利用隐写术来隐藏封面图像的边缘SC负责下载、解密软件,然后将其安装到车辆中。在其中一项研究中提出了一种安全的OTA SW更新机制(Petri等人,2016)通过引入能够处理各种密码算法的可信平台模块,RSA、SHA、高级加密标准。然而,主要的限制是每个ECU需要额外的资源,这总体上增加了车辆的成本。在现有文献中,构建了称为TUF的框架,用于保护SW存储库(如python包索引、ubuntu、Docker hub等)的用户免受许多安全攻击(Kuppusamy等人, 2016年)。它在软件存储库中集成了一层签名元数据,其中包括加密散列、文件大小和其他相关信息,以提供妥协弹性。通过在用户端验证这些元数据,可以检测和防止安全攻击。在SW存储库中,TUF将职责划分为四个不同的角色,每个角色具有用于对元数据进行签名的秘密专用密钥虽然TUF是一个非常灵活和自适应的框架,但它需要一些修改才能应对自动驾驶汽车中OTA软件更新的挑战因此,作者在(Karthik等人, 2016年)提出了一个Uptane框架(UF),这是TUF的定制版本,旨在保护汽车存储库。UF采用了一种稻草人设计,其中职责在五个角色之间分配,即,root(RT)、release(RS)、timestamp如图1所示,目标(TS)、目标(TR)和导向器(DR)。每个角色都使用root分配的私钥对元数据进行签名,root充当存储库的证书颁发机构UF主要包括四个设计特征,以解决稻草人设计的特定安全弱点:(1)通过利用额外的存储,它提供从无休止的数据攻击中恢复;(2)通过在车辆内广播元数据,它防止混合捆绑攻击;(3)利用车辆货单号检测部分捆绑安装攻击;(4)利用定时服务器限制冻结攻击。有关这些攻击的详细信息,请参见第3.2节。UF尚未包括用于检测控制攻击的任何方法,其中攻击者试图通过在其ECU中安装恶意SW而不是合法SW通过定义五个不同的角色,每个角色都有一个不同的私钥用于对元数据进行签名,它确实提供了抵御这种攻击的弹性然而,如果密钥被泄露,那么UF将不会检测到通过利用OTA SW更新过程发起的控制攻击。3. 背景和基本假设在本节中,讨论了自动驾驶汽车的硬件和软件架构。文中还讨论了在网络和威胁模型3.1. 架构自主车辆基于电气/电子(E/E)架构,并且ECU是该架构的核心,其可以包括微控制器、微处理器、传感器和致动器以执行所需的任务。随着自动车辆功能的增加,ECU的数量及其复杂性也在增加。因此,提出了各种E/E架构,并设想在未来实现(Zerfowski和Lock,2019)。传统的E/E架构本质上是分布式的,其中每个任务单独嵌入ECU中。另一种类型的E/E架构是基于域的,其中属于相同域的ECU在域网关的控制下,并且跨域通信使用中央网关发生(Mody等人, 2018年)。提出了一种用于全自动车辆的基于服务器的此外,存在集中处理单元,其中通过利用虚拟化的概念,根据需求由于大多数ECU并不是一直被利用,因此与分布式架构相比,资源以集中的方式得到有效利用。如果自动驾驶汽车的软件开发周期不发生重大转变,就无法实现硬件架构的这种转变。因此,采用汽车开放系统体系结构(AUTOSAR)开发自动驾驶汽车软件。该标准有两种变体,即,经典和适应性。AUTOSAR classic用于开发分布式E/E架构的软件,其中完整的功能嵌入ECU中。AUTOSAR自适应是通过考虑未来自动驾驶汽车的架构转变而提出的。自适应AUTOSAR支持远程和分布式服务,包括OTA软件更新(AUTOSAR,2019)。AUTOSAR classic基于传统的OSEK标准构建,而AUTOSAR adaptive遵循可移植操作系统接口(POSIX)。未来的自动驾驶汽车将采用经典的和自适应的ESA-SAR标准来开发ECU的软件。A. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5459表2现有OTA软件更新方法所使用的实体列表及其优缺点。这里,SC代表服务中心,CS代表云服务器。方法实体利弊对称密钥加密(Mansour等人, 2012年)OEM,Vehicle一个简单而基本的平台,用于连接通过互联网与世界其他地方的车辆。只有客户端可以发起软件更新请求。客户端和服务器之间的通信通道容易受到攻击。散列(Nilsson等人, 2008)Portal,Vehicle它是一个简单而轻量级的协议,最少的实体。它不包括任何不成功软件更新的方法。区块链(Steger等人,(2018年b)OEM、SC、CS、供应商,车辆它的性能优于为安全OTA软件更新而开发的基于证书的架构。只有供应商可以触发软件更新流程。开销随着节点或接口数量的增加而增加。区块链(Baza等人, 2019)OEM,经销商车辆,应急车它不依赖于中央服务器,实体数量很少。原始设备制造商需要选择活动和认证的车辆作为响应车辆的软件更新的分销商。RSA和隐写术(Mayilsamy等人, 2018年)OEM、SC、CS、车辆由于两级安全,它提供了更好的数据完整性软件安装在SC上,这意味着需要对SC进行物理这可能会导致额外的延迟。对 称 和 非 对 称 密 钥 加 密( Steger 等 人 , 2018 年a)OEM,SC,机械师,车辆它可以同时在多辆车上一个机械师参与发起和执行身份验证过程。硬件安全模块(Petri等人,( 2016年)OEM、SC、整车成熟的TPM和专业的汽车TPM。需要额外的硬件资源,这总体上增加了车辆的成本。Uptane(Karthik等人,2016;Kuppusamy等人,2018年)OEM,CS,供应商,车辆它为车辆提供可定制的软件更新。它不包括任何保护ECU免受控制攻击的方法。Fig. 1. Strawman汽车仓库设计。总共有五个角色,每个角色都有不同的职责。3.2. 威胁模型我们考虑如图3中所描绘的威胁模型,其中攻击者目标主要被分类为四个类别,如在后续部分中所讨论的。阅读更新:攻击者对逆向工程感兴趣SW的一个ECU。拒绝更新:攻击者不允许车辆修复软件问题。拒绝功能:攻击者试图阻止ECU正常工作。控制:攻击者想要修改车辆的功能。为了实现上述目标,攻击者应该能够通过发起中间人攻击来拦截车辆内部/外部的通信。攻击者必须能够破坏自动驾驶汽车的ECU或用于签名软件更新的加密密钥或存储这些密钥的服务器。●●●●A. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5460攻击者可以通过发起窃听攻击来读取软件更新。攻击者可以通过丢弃请求攻击来拒绝更新,其中车辆内部/外部的流量被阻止。也可以发起冻结攻击,其中即使有新的更新可用,也会将最后已知的更新传输到ECU。通过部分捆绑安装攻击,攻击者可以通过丢弃一些流量来阻止某些ECU安装最新更新。 可以通过启动回滚、无限数据、混合包和混合匹配攻击来拒绝该功能。通过回滚攻击安装软件的过时版本。通过发送超过ECU可以存储的大量数据,攻击者可以发起无休止的数据攻击。这种类型的攻击主要针对次级ECU发起。互操作性的问题是通过发起混合捆绑包攻击而产生的,其中ECU被引导安装不兼容版本的SW。混合和匹配攻击也产生互操作性问题,然而,攻击者在这里妥协了加密密钥,以便签署不兼容的SW捆绑包以进行安装。其中攻击者旨在控制车辆的最严重攻击是通过用恶意软件攻击ECU的软件来发起的3.3. 网络模型为自动驾驶汽车设计的ECU通常由汽车供应商生产(东芝,2019)。直接向OEM供货的供应商称为一级供应商,如图2所示。多个供应商可以参与ECU子组件的开发,这些子组件被称为二级或三级供应商。ECU的软件由供应商交付给OEM因此,为了便于软件更新程序,OEM维护了一个软件存储库,用于托管更新后的软件。我们假设存储库中的软件以可执行映像的形式存储可执行映像包含在ECU中执行应用程序所需的所有文件因此,每个ECU只有根据自适应AUTOSAR,对于OTA SW更新,自动驾驶车辆应包含两种类型的ECU,即,master和target(AUTOSAR,2019)。主ECU的作用是下载、验证和分配软件到目标ECU。在验证过程中,主ECU确保下载数据的完整性和机密性。目标ECU的作用是验证从主ECU收集的文件,以防止内部攻击。在验证之后,目标ECU将接收到的SW安装在活动或非活动存储器中。在这项工作中,主ECU被称为初级ECU,目标ECU被称为次级ECU,如图所示。 四、主服务器从汽车存储库下载完整的更新包,云服务器(CS)。它解包,然后验证辅助ECU所需的映像和元数据辅助ECU通过主ECU接收图像和元数据主ECU采用完全验证,辅助ECU可以采用部分或完全验证方法,以克服车辆内部的中间人攻击等攻击。在完全验证下,与主ECU类似,辅助ECU存储并验证由五个角色签名的所有元数据在部分验证下,我们假设辅助ECU仅验证并存储目标和导向器元数据。部分验证方法更容易受到攻击。因此,在此,我们的目标是通过假设主ECU未受损,在部分验证方法下检测对辅助ECU的控制攻击。我们假设,对于每个ECU,仅使用ECU的良性和恶意实例来训练专用模型。这里,我们所说的文件是指可执行映像。训练的模型存储在相应的ECU中。DL模型的训练是离线执行的,因此不消耗车辆的资源cle.由于攻击的性质会随着时间的推移而变化,因此可以与车辆中的ECU共享更新的模型。此外,我们假设在训练DL模型之前,对可用数据集(包括恶意和良性实例)进行预处理,以便将其转换为可以作为输入应用于模型进行训练的形式。相同的预处理过程必须应用于由主ECU下载的可执行图像,然后再将其传递给训练模型。因此,为了确保完整性,我们假设目标角色也在元数据中添加了预处理图像的散列。3.4. 恶意软件检测方法传统的恶意程序检测方法主要有静态检测和动态检测两种。在静态方法中,恶意软件研究人员使用IDA-Pro、Ollydbg等工具在反汇编后分析可执行文件。如果发现可执行文件是恶意的,则创建其签名并将其存储在数据库中以供将来参考(Mithal等人,2016年)。这个过程是手动的,并且消耗大量的时间。此外,检测每个唯一的恶意文件需要唯一的签名。很难以至少等于生成恶意文件的速率的速率生成签名。例如,在2019年12月,卡巴斯基报告称,与2018年相比,其网络反病毒解决方案检测到的独特恶意对象数量增加了八分之一,达到24,610,126(卡巴斯基,2019)。根据SonicWall在动态方法中,在受控和虚拟化的环境中执行可执行文件以检测恶意行为(Lin等人,2018年)。虽然这种方法减少了人工工作,但恶意文件可以通过在受控环境中表现得像良性文件来逃避检测。最近,基于ML的方法已经获得了发展势头,因为这些方法可以潜在地检测零日攻击。通过使用可执行文件的静态或动态特征,可以训练ML模型来检测恶意和良性实例(Hassen等人,2017年)。在另一项研究中,作者利用基于网络的特征来训练深度学习(DL)模型,该模型可以暂停可执行文件的动态分析,以便有效和详尽地收集恶意文件(Shibahara等人, 2016年)。由于人工智能(AI)和基于ML的方法将成为一个重要的集成组件,图二.通过无线连接将软件从供应商分发到OEM,以及从OEM分发到车辆。A. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5461图三.在这项工作中假设的威胁模型(Karthik等人, 2016年)。图四、全面和部分验证方法的说明在完全验证下,主(ECU 1)和辅助(ECU 2)都存储由上次更新的所有角色签名的元数据另一方面,在部分验证中,仅最后更新的导向器元数据被高速缓存在次级(ECU 3)中。在自动驾驶汽车中,我们考虑CNN,一种基于DL的架构,用于检测良性和恶意实例。此外,基于ML的模型可以通过使用静态、动态或网络相关的特征来开发。4. 增强型Uptane框架在本节中,我们解释了这项工作中提出的增强型uptane框架(eUF)的工作原理。所提出的框架的完整工作流程已在图中示出。五、如第3.3节所述,有两种类型的ECU,即,主要的和次要的。主ECU就像一个主机,它包含更多的计算和存储资源。这就是为什么,大多数功能,如软件包的下载,下载的可执行图像的预处理等,由主ECU执行,如图所示。 五、辅助ECU执行最少数量的功能,如验证哈希,以降低中间人攻击的风险在车里。关于这些ECU执行的各种功能的更多细节在以下小节中讨论。4.1. 工作流程和安全分析用于自动车辆中的OTA SW更新的eUF的完整工作流程解释如下。1. 如图4所示,在遥测单元的帮助下,主ECU从由OEM管理的汽车存储库下载完整的软件包。由于ECU之间的功能依赖性,在某些情况下,各种ECU的软件需要同时更新。因此,完整的包可以包括多个可执行映像和元数据,每个映像用于不同的ECU。2. 如图5所示,主ECU解包完整的包,并通过计算和匹配存储在元数据中的可执行图像的散列来验证元数据如果散列不匹配,则主ECU向OEM报告A. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5462×可能的威胁。否则,它开始对图像进行预处理,以便将它们转换为可以作为存储在辅助ECU中的训练DL模型的输入3. 根据为每个ECU开发DL模型所选择的方法然后,主ECU计算并将预处理图像的散列如果散列验证,则只有图像(原始和预处理)和元数据才传输到辅助ECU。4. 由于我们采用部分验证方法,因此主ECU仅与辅助ECU共享导演和目标元数据。因此,辅助ECU验证元数据。它计算并匹配原始图像和预处理图像的散列与存储在元数据中的散列。5. 一旦哈希值得到验证,预处理后的图像将通过专门为ECU训练的DL模型。如果模型将预处理图像分类为良性,则辅助ECU将接收到的图像安装在活动或非活动存储器中。否则,向主ECU报告检测到的威胁。4.2. 建立DL模型恶意和良性的可执行程序的检测任务已制定为一个二进制分类问题。这意味着,给定一个可执行文件,DL模型的任务是将其分类为良性或恶意可执行文件。如果一个可执行文件被归类为良性的,它可以安全地执行,并安装在一个给定的ECU。另一方面,如果可执行文件被归类为恶意文件,则可以生成警报,并向相关机构通知可能的威胁。在这项工作中,我们选择CNN,基于DL的架构,用于良性和恶意可执行文件的分类任务。CNN模型的训练和测试的完整过程在图6中描绘,并在图6中解释。续集4.2.1. 数据集预处理在训练和测试CNN之前,通过以下三个步骤对恶意和良性可执行文件进行预处理1. 通过objdump/ IDA-Pro工具将可执行文件转换为汇编格式。2. 组装文件被转换成灰度图像,即,二维张量,因此这些可以作为CNN的输入。3. 通过使用缩放方法,灰度图像被重新缩放到相同的尺寸64、64。由于每个可执行文件具有不同的大小(以字节为单位),因此变换后的灰度图像具有不同的尺寸。然而,对于CNN,所有输入图像必须具有相同的尺寸。因此,所有灰度图像都被重新缩放以具有相同的尺寸,然后将这些图像作为CNN的输入进行训练和测试,如图所示。7 .第一次会议。4.2.2. 卷积神经网络具有至少一个卷积层的神经网络它被称为CNN。卷积层采用张量,即, 多维向量作为其输入。 它应该从这些输入张量中提取有用的特征,而不会丢失所需的关键和重要信息为的检测、预测或分类任务(Guo等人, 2020年)。 在这项工作中,我们采用三种类型的层来构建CNN如下所述卷积(Conv)是CNN的第一层和强制层。在这里,我们定义在每个空间位置与输入张量卷积的滤波器的数量。滤波器的形状应小于输入张量。这意味着激活映射中的每个神经元都连接到输入张量的一个小的局部区域。过滤器的数量定义了输出张量的深度(Ke等人,2018年)。池化是另一层,用于沿空间维度对输入张量进行下采样,这意味着该层的输入和输出深度保持不变。池化操作使CNN局部平移不变。在这里,我们定义了一个过滤器的大小,它滑过层的输入张量并执行池化操作。有各种类型的池化操作,包括最大池化、平均池化和总和池化。完全连接(FC)层类似于普通的前馈神经网络,其中层中的每个节点与下一层中的所有节点连接。FC层的功能是计算分类或预测得分。图五. eUF检测恶意OTA软件更新的工作流程。A. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5463×¼×××¼ ¼ ×fx:102ð Þ见图6。 用于分类恶意和良性实例的CNN训练和测试的完整流程图。在这项工作中采用的CNN的架构如图7所示。有三个卷积层,一个池化层,两个FC层和一个输出层。Conv1层的输入是灰度图像,其是64中形状为d的二维张量64.整流线性单元(ReLU)用作激活函数(Eckle和Schmidt-Hieber,2019),其定义为fxmax 0;x;1其中x是激活函数的输入由于我们定义了f16个滤波器,每个滤波器的形状为K5 5,因此Conv1层的输出张量的形状为64 64 16。同样,对于Conv2层和Conv3层,我们分别定义了12个和8个过滤器。我们采用平均池与形状5 - 5的过滤器,沿着空间维度以2的步幅因此,输出的空间形状在池层减少了一半32× 32× 8,在输出层中有单个神经元,其具有定义为1100万美元为了优化和加速CNN的训练,我们采用了自适应矩估计(Adam)优化器和小批量梯度下降算法。Adam是优化神经网络最常用的算法之一。在Adam中,通过计算梯度的运行平均值来自适应地为每个模型参数设置学习率,以避免减少学习率问题。由于CNN应该解决二进制分类问题,因此我们采用交叉熵损失(CE)来衡量预测和实际输出之间的差异。对于二元分类问题,它可以计算为N是相同的在将输入应用于FC层之前,三个CE1Xylogpy 1-y log 1-py; 3池化层的一维输出张量被转换为一维向量,如图所示。 7个,共计8192个¼-N我我我1/1结在第一FC层中有256个神经元,在第二FC层中有64个神经元。ReLU激活功能在FC层使用。由于我们处理的是二元分类问题,其中N表示用于训练的实例的总数,yi表示第i个实例的实际标签,并且pyi表示第i个实例属于y类别的预测概率见图7。 CNN模型用于检测恶意可执行文件。A. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5464简体中文A¼:一杯简体中文5.结果和讨论DL模型是数据驱动的,为自动驾驶汽车的ECU开发的可执行程序尚未公开。因此,在这项工作中,我们使用两个数据集。一个数据集包括不同版本的Windows OS的实例,另一个数据集包括不同发行版的Linux OS的实例有关这些数据集的详细信息,请参见第5.2节。通过使用如图7所示的相同架构,我们开发了两个CNN模型。一个是使用Windows操作系统的可执行文件训练的,另一个是使用Linux操作系统的可执行文件训练的。共有2,500个Windows操作系统的良性实例和7,580个恶意实例。共有1,512个和12个,842个Linux操作系统的恶意实例。我们将每个操作系统的实例以70 × 30的比例划分,其中70%的实例用于CNN模型的训练,剩余的30%用于性能评估。为了评估开发的CNN模型的性能,我们使用以下性能指标。1. 精密度:它测量正确分类的数量,即真阳性(TP),由不正确分类的数量惩罚,即假阳性(FP)。以下表达式用于计算精度。TPP/TP/FP:104mm这里,TP意味着良性SW实例被CNN模型正确地检测为良性实例。FP意味着恶意软件实例被CNN模型错误地检测为良性。较高的精度值意味着极少数恶意软件实例被错误地检测为良性。2. 召回:它测量由遗漏实例(即假阴性(FN))的数量惩罚的正确分类的数量。以下表达式用于获得召回率。TPR/TP/FN:100mm这里,FN意味着良性SW实例被CNN模型错误地检测为恶意。较高的召回值意味着CNN模型错过了很少的良性实例。3. F1分数:它传达了精确度和召回率之间的平衡。它可以通过使用以下表达式来获得F12TP62TPFPFN从上述表达式可以看出,F1分数考虑了FP和FN两者的影响因此,F1得分的较高4. 准确性:它测量正确分类的总数,即TP和真阴性(TN)。它可以通过使用以下表达式来获得。TP-1000 TN7公司简介这里,TN意味着恶意SW实例被CNN模型正确地检测为恶意实例5. 接收器操作特征下的面积(AUROC):AUROC测量模型区分良性和恶意实例的能力。受试者工作特征(ROC)曲线是通过绘制真阳性率(TPR)与假阳性率(FPR)来获得的。TPR也称为召回,它在(5)中定义。FPR可以通过使用以下表达式来获得。FPRFP8FP-100AUROC是ROC曲线下面积,范围在0到1之间。较高的AUROC值表示CNN模型正确检测到良性和恶意实例。5.1. 性能分析如第5节所讨论的,我们使用与图5所示相同的架构训练了两个CNN模型。7.第一次会议。一种是使用Windows操作系统的实例进行训练,另一种是使用Linux操作系统的实例进行训练在两个模型的训练期间,在每个时期之后观察到的CE损失如图所示。早上8对于使用Windows操作系统实例训练的CNN模型,CE损失很小,这意味着真实分布和预测分布很接近。因此,该CNN模型的训练在20个epoch后停止。另一方面,使用Linux OS实例训练的CNN模型的CE损失相对较大。因此,我们为这个模型训练了更多的epochs。基于Linux的 CNN模型的较大CE损失表明,与Windows OS相比,Linux OS的恶意和良性实例的正确检测具有挑战性。这意味着为Linux OS设计的恶意可执行文件的模式与其良性可执行文件相似这就是为什么区分这两种类型的可执行文件是非常具有挑战性的在图8b中,我们报告了CNN模型在每个训练时期观察到类似的趋势,使用Windows操作系统实例训练的CNN模型实现了更高的准确性在表3中,我们报告了(4)中讨论的性能指标(7)用于评估开发的CNN模型在测试实例上的性能。由于数据集是不平衡的,并且只有少量的良性实例,与良性实例相比,CNN模型在恶意实例上的表现更好。从表3中可以明显看出,Linux操作系统的恶意实例与良性实例的数量比Windows操作系统高得多。这是基于Linux的CNN模型的F1分数很小的原因之一另一个原因是很难正确检测为Linux OS设计的恶意和良性实例。此外,在图9中,我们还报告了将测试实例通过开发的CNN模型后获得的AUROC。通过使用Windows OS实例训练的CNN模型获得的AUROC得分接近于1,这意味着检测率非常高。另一方面,通过使用Linux OS的实例训练的CNN模型获得的AUROC得分约为0.87,相对较小。在表3中,我们还报告了训练的CNN模型将单个SW实例检测为恶意或良性所需的时间。由于我们使用相同的CNN架构,如图7所示,为Linux和Windows OS开发模型,两个模型都需要相同的时间(3.1ms)来检测单个实例。这意味着,在软件安装期间,次级ECU检测恶意更新所需的额外时间约为3.1 ms。5.2. 比较分析在本节中,我们将开发的CNN模型与为检测恶意可执行文件而开发的最先进模型进行在大多数现有的作品中,用于训练和评估模型的数据集由仅为Windows操作系统开发的不同类型的恶意实例组成常用数据集解释如下。A. 库雷希Marvi,Jawwad Ahmed Shamsi等人沙特国王大学学报5465见图8。 通过使用Windows和Linux操作系统的实例,在CNN模型的训练期间为每个时期获得的交叉熵损失。1. Malimg:恶意软件图像(Malimg)数据集由视觉研究实验室(Vision Research Lab,2020)开发。该数据集包括为Windows操作系统开发的25种不同类型恶意软件的约9,000张图像。2. BIG 2015:该数据集由微软在Kaggle竞争对手宣布的恶意软件分类挑战下发布(Microsoft,2015;
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功