文摘

最近的趋势为车辆连接到指定设备,车辆和基础设施增加潜在的外部威胁网络安全工具。因此,入侵检测是一个关键的网络安全功能与开放连接车辆,如无人驾驶和汽车连接。具体来说,当车辆连接到外部设备通过一个智能手机内的车辆或车辆与外部通信基础设施、安全技术要求保护软件网络内部的车辆。现有技术使用此函数包括车辆网关和入侵检测系统。然而,很难阻止恶意代码基于应用程序的行为。在这项研究中,我们提出了一个基于机器学习数据分析方法准确地检测异常行为由于恶意软件在大规模网络流量实时。首先,我们定义了一个检测体系结构,这是所需的入侵检测模块来检测和阻止恶意软件试图影响车辆通过智能手机。然后,我们提出一个有效的算法来检测恶意行为在网络环境中,进行实验来验证算法的准确性和成本通过与其他算法的比较。

1。介绍

随着汽车越来越智能化,交通系统(1]。新的业务需求在汽车市场和汽车通讯技术的进步是提高汽车的连接。这个更大的连通性预示着未来汽车网络攻击可能性的增加(2]。因此,有必要准备对策对各种攻击向量战斗车辆网络安全威胁。

例如,2015年,米勒和Valasek [3)远程攻击旅行吉普切诺基控制音频、挡风玻璃雨刷,方向盘和刹车,露出一个措手不及网络安全系统可以威胁到司机的安全。此外,在2016年和2017年,希望安全实验室(4砍一个特斯拉汽车展示相关连接车辆安全威胁和潜在的攻击。连接车辆通常是一个封闭的环境,只接受远程控制命令在一个授权的通信路径,比如服务器由制造商或专用应用程序发布的制造商。在一个封闭的环境中,未经授权的命令封锁。然而,最近的无人驾驶车辆分享他们的控制信号和内部数据不仅车辆内部的控制器,而且各种不明车辆、基础设施和智能设备以外的车辆。因此,车辆在开放环境中网络保护应优先。

无人驾驶车辆的安全直接关系到乘客的安全;因此,有必要综合考虑各种攻击向量对车辆基于完整性、可用性和保密性的网络安全(5]。当一个连接车辆更新的软件,它以验证软件的完整性至关重要。攻击者可能利用非法窃取特权或获得恶意应用程序,重新打包的软件安装在车辆通过注入恶意代码,并诱发安装恶意修改应用程序。这个恶意软件看起来一样的授权软件,但恶意代码中包含修改后的应用程序可以收集用户的输入窃取账户信息,激活异常服务端口,或保留授权攻击者访问之后。这些恶意软件甚至可以作为交换媒介来使用额外的远程攻击与指挥和控制服务器通过沟通。因此,重要的是要保护车辆软件时车辆连接到外部设备,如智能手机通过一个接口在车内或车之间的通信通道被打开和周围的基础设施。先前的研究已经安装汽车网关只允许授权的通信工具,介绍了车辆入侵检测系统(ids)来检测异常行为控制器区域网络(可以)6]。然而,很难一个网关或IDS提前阻止这些行为,因为大多数恶意软件和广告软件行为。为了检测未知的威胁,它是至关重要的引入技术,可以检测异常行为和使用数据分析技术分析异常指标。

在这项研究中,我们审查的各种安全威胁无人驾驶车辆由恶意软件在安卓操作系统(OS)和讨论一个方法等检测恶意软件。在嵌入式环境中如车辆、响应时间和检测精度的关键因素,因为资源有限,需要和实时响应。因此,我们提出一个基于机器学习检测模型,该模型可以减少分析时间,提高检测精度。本研究的具体贡献如下:(我)我们提出一个方法来检测在无人驾驶车辆环境中广告软件和恶意软件。(2)我们定义所需的入侵检测模块的体系结构来检测恶意软件和防止影响车辆通过智能手机。(3)我们通过实验比较不同算法的检测精度和成本和现在最有效的算法。

首先,我们描述了安全技术保护内部和外部通信网络的自动驾驶车辆。然后,我们提出一个架构的入侵检测模块检测到车辆基于机器学习的网络中节点的恶意行为。然后,我们提出一个有效的入侵检测方法和比较它与现有的算法实验。最后,我们的结论和未来的工作。

2。预赛

2.1。Vehicle-to-Device沟通

vehicle-to-everything范式的沟通、交流与一个特定的设备称为vehicle-to-device (V2D)沟通7]。基于android系统的智能手机是典型的设备与车辆通信。服务识别车辆运营信息或诊断车辆异常通过智能手机被归类为执行V2D沟通。最初,执行这些功能,车辆直接连接到一个外部设备以外的车辆通过通用串行总线连接器或蓝牙,和设备上的数据。因为直接有线连接的车辆设备发生只有当目标车辆被占领,黑客无法直接控制多个远程车辆,即使车辆成功偷了。自那时以来,汽车制造商已经安装了远程信息处理控制单元(tcu)或连接控制单元(CCUs)在车辆和接口实现远程控制的汽车,包括通信功能。此外,该服务不仅限于原始设备制造商。全球电信公司或物联网设备制造商也将长期演进通信模块安装在车载诊断II终端收集和管理车辆内部的各种数据。当车辆被连接到一个服务器或智能手机这样的通讯模块,可以传播外部车辆的信息。同样,也可以通过注入命令来控制车辆的车辆从外面。 A connection to a smartphone or external communication device is used not only for convenience services such as music playback and navigation, but also for important functions for updating the vehicle software. If a connection is unauthorized or infected by malicious codes, it can be a serious security threat to the vehicle network. Therefore, security technology to protect the vehicle software and network is essential in V2D communication.

2.2。基于android系统的黑客攻击

恶意代码是一个广泛使用的攻击方法在应用程序级别,以各种形式(8]。各种安全威胁,如泄漏私人信息,提升应用程序的特权和拒绝服务(DoS)攻击的报告。最常见的攻击在Android操作系统应用程序的使用含有恶意代码导入时加载一个特定的网页或电子邮件。大多数恶意代码注入设备,而用户的攻击意识。当一个应用程序包含Android操作系统上执行恶意代码,代码收集设备和用户信息并将其发送到远程服务器。它还配置一个后门通过激活服务端口允许攻击者进入设备提升可用帐户的权限。随后,恶意代码就可以获得整个访问受感染的设备支持它。特别是,当一个受感染的Android操作系统被连接到自动驾驶车辆,恶意代码可以直接渗透到车辆控制的嵌入式操作系统或应用软件环境。出于这个原因,我们需要从无人驾驶车辆检测恶意代码。

2.3。数据集

最近,机器学习算法被用来检测恶意代码。本研究提出了一个基于机器学习使用Android恶意软件广告软件和通用入侵检测模块(AW&GM)数据集9),这是由加拿大研究所2017年网络安全(CIC)。这个公开的数据集包含Android沙箱,Android广告软件,恶意软件,正常的应用程序流量。它包含的流量从1900应用程序下载从谷歌(安卓官方应用市场)和用于分类基于网络流量的正常和恶意代码。这个数据集分类与以下三个类(见表1)。

2.4。保护车辆通信网络相关工作

Kwon等(10)提出了一种方法重新配置的电子控制单元(ecu)车辆和去活化攻击数据包抵御网络入侵。建议的体系结构,介绍了IDS的检测网络攻击在网络内部的车辆,和一个控制模块,称为缓解经理,应用于减轻检测到攻击造成的损失。然后提出一个架构提供命令重新配置ecu,关闭包,重新配置主管单位,删除数据包在每个域网关,或开关领域进入安全模式。然而,方法论的框架和算法只是提议和不发达,和性能评估的具体形状或结构还不够。因此,实验和仿真环境应做好准备,以验证架构适当根据实际数据,如检测精度,检测时间和资源利用率。

汉等(11建议一个车载网络异常入侵检测方法基于生存分析。该方法是基于异常检测算法,检测到一个可疑的模式在通常的模式信息。方法旨在检测三种典型攻击scenarios-flooding攻击,模糊攻击,和故障攻击企图操纵和控制使用恶意数据包。作者指出,该方法可以检测到未知攻击;然而,他们并没有描述如何检测除了提到的三个场景。

张等(12]提出cloud-assisted车辆恶意软件防御框架保护汽车免受恶意软件的攻击。这种服务可以帮助保护资源受限车辆系统免受恶意软件通过检测新的恶意软件和更新上恶意软件防御能力。虽然方法是一个基于云的恶意软件检测服务,车载设备也需要执行上威胁防御功能。此服务的前提是,一个网关能够控制车辆的所有外部通信接口。如果车辆不能访问安全云,它必须找到另一种方法来检查恶意软件,然而,没有明确作者建议的替代方案。

3所示。基于机器学习的入侵检测模块

3.1。恶意软件检测汽车网络

研究小组SG17电信标准化部门,一个发展的国际电信联盟电信标准,建立了智能运输系统(ITS)安全调查部门为了规范(13]。具体地说,X。我tssec-4, which covers methodologies for IDSs for in-vehicle systems, defines the system structure and methods. Existing mechanisms for detecting unauthorized access into a CAN, injection of a malicious control message, and DoS attack include vehicle gateways and vehicle IDSs [14]。使用广告软件和恶意软件攻击各种用户交互场景,会干扰车辆通过智能手机(见表2)。

连接或无人驾驶车辆连接到外部公共网络以外的车辆通过不同的接口。tcu或CCUs配备一个调制解调器和外部通信接口,以便接收全球定位系统信号和移动网络的访问。车载信息娱乐系统,提供娱乐和信息内容,使不同的应用程序通过应用嵌入式操作系统,如QNX操作系统或Android操作系统。如果不考虑安全设计有线或无线网络,这些接口可以被滥用作为恶意软件或恶意命令的路径进入车辆网络(见图1)。特别是,嵌入式操作系统环境可以控制从恶意软件或恶意的命令当这些恶意程序绕过操作系统安全逻辑或获得根权限self-privilege高程。因此,为了防止恶意命令控制的嵌入式操作系统,提出了一种可以网关体系结构,包括一个入侵检测模块和检测恶意行为时基于Android操作系统的设备连接到车辆。

在这项研究中,基于机器学习的入侵检测模块是安装在车辆id,它可以检测入侵或任何异常,这一头单位和ECU可以免受恶意代码。这种检测方法是基于软件的形式实现计算模块监控恶意软件注入或恶意代码行为的车辆。软件可以安装车辆入侵检测模块的组件或作为一个杀毒软件代理主管单位。

提出了检测软件由输入、分析、评估、和通知模块。交通注入通过处理可以通过输入模块和进入分析模块,配备一个机器学习算法(见图2)。分析模块评估入侵或异常行为基于学习模型和入侵行为的信息提供了一个用户或实时控制中心。这台机器上优于入侵检测模块可以通过不断学习,提高模型的精度验证和评估消息模式。此外,检测规则为恶意行为可以更新车辆网关和每个控制器精确检测恶意代码。

3.2。数据预处理进行恶意代码分析

79的特点特性包括在中投AW&GM数据集进行了分析使用知识的怀卡托环境分析(15]。特征选择是必要的,以降低数据的维数。首先,十倍交叉验证应用采用correlation-based特征选择(CFS)和一个entropy-based信息增益(IG)方法。构建一个有效的实验环境的验证数据集是机器学习的一个重要方面。在这篇文章中,我们提出了改进的特征选择(IFS)方法,它结合了更高的价值相关性和搞笑的方法。

该学习算法使用选定的网络流量特性来检测恶意软件。与现有的特征选择方法,如果发现两个贪婪的特性和相关性最高。有两大类,可以用来衡量两个随机变量之间的相关性,基于经典线性相关(即。,CFS)和其他基于信息理论(即。搞笑的方法)。首先,一对CFS的变量的定义方法和线性相关系数是派生(16]。此外,搞笑的方法决定一个给定的属性的重要性的特征向量17]。这两个向量相结合,以确定最终的特性高度相关的数据集和类之间有强烈的影响(参见算法1)。

输入: 是一套通用的特性。
输出: 由IFS方法与选择特性的一个子集。
1:初始化
2:得到所有 通过线性相关系数。
3:排序
4:选择 集前 高价值的 ,相关的变量
5:得到组合 ,在哪里
6:确定 ,的最大F1的分数
7:得到所有 通过信息增益
8:得到 高度排名有关变量。
9:选择 集前 高价值的 ,相关的变量
10:获取元素 ,在哪里
11:确定 ,最大的F1的分数
12:合并

在CFS阶段,我们推导出线性相关系数, 在这篇文章中,我们确定验证功能x高价值的 集合中元素的数量 与元素 这些元素被选中CFS的相关变量。最后一个Cj由一组元素 计算F1得分最高(见下表3慢性疲劳综合症的特征)。搞笑的阶段,我们推导出搞笑的排名 搞笑的方法发现最高的20% 特性,根据 统计分布,从79年的特性。它发现,饱和在统计结果 最后一个 由一组元素 计算F1得分最高(见下表3搞笑的特性)。最后一个特征选择是由CFS的联盟和搞笑方法特性集。在这篇文章中,每种方法选定的五个特点;总共9个特征作为输入特性(包括一个特性是在两个特征集)。总共有631955个元素,这些特性用于我们的模型。

车载应用程序可以通过Android恶意软件感染通过无线或有线通信通道,如图1。几项研究表明IDS架构报道,恶意软件可以检测到网络流量的设备(18,19]。本文选择九个功能使用IFS方法和显示,恶意软件可以检测到从网络流量使用机器上优于IDS模块。

与原始数据具有独特的特征和分布,从这些数据中学习可能会减缓或导致建模错误。在网络流量的情况下,有必要进行缩放,因为每个特性都有一个独特的范围和定义数据单元。扩展是一种数据预处理任务,帮助防止下溢和溢出时学习实验数据。它执行基于9选择特性。F1评分结果后应用MinMaxScaler和StandardScaler描述表4。MinMaxScaler尺度之间的所有特性完全0和1。StandardScaler,相比之下,不限制的最小值和最大值,但确保所有功能平均零和一的方差。因此,所有功能都有相同的大小。比较他们的F1得分两种定标方法的结果表明,MinMaxScaler更有利由于网络流量的性质,包括广泛的数据。因此,在这项研究中,MinMaxScaler技术应用于每个算法。

接下来,我们分析了典型算法,检测广告软件和恶意软件在安卓操作系统。在这项研究中,这些攻击检测技术相比,通过应用六个数据的机器学习算法。此外,我们分析了使用通用机器学习算法的结果,假设使用的计算能力在vehicle-embedded软件可以分析流量数据使用一个通用规范,而不是一个高性能的系统。在这项研究中使用的数据集包含三个类:良性的,广告软件和恶意软件。有一种强烈的不平衡这些类(见表5)。

当数据建模结果与一般精度评估,评估结果可能表明其性能好,即使它不是。例如,总体精度高,如果可以良性范畴,重要性高的数据集,是准确地预测,即使一般的恶意软件,重要性较低,不能准确地预测。因此,F1的分数,它使用基于召回的调和平均数和精度,用于评估预测精度。

总的说来,提出了基于机器学习的入侵检测模块检测到Android恶意软件自动驾驶车辆和标签的类型(即。广告软件或一般恶意软件)。的过程,是基于网络流量偏差的检测在Android操作系统,分为三个阶段,如图3。第一阶段的重点是数据预处理。特征选择执行选择最相关的特征数据集的所有测量特性。第二阶段由建模。使用10倍交叉验证,这一阶段训练使用75%的机器学习模型的数据集,并建议最合适的hyperparameters培训模型。此外,这个阶段使用25%的数据集进行测试和评估提出入侵检测模块。因此,机器学习模型调优hyperparameters创建使用训练数据集,数据集和测试应用于评估模型。在第三阶段,实时入侵检测模块可以检测恶意行为时,真实的数据流入无人驾驶车辆。具体地说,拟议中的入侵检测模块应该包含在车辆网关如图2

4所示。仿真结果

六个机器学习algorithms-the随机森林(RF),决策树(DT),k最近的邻居分类器(KC),梯度提高分类器(GB),额外的树分类器(ET),和装袋分类器(BC)算法用于分析的数据和他们的结果相比,该算法。此外,我们还为每个礼物hyperparameters比较验证的机器学习算法用于实现自动驾驶车辆的恶意软件检测模块网关。hyperparameters调结果是很重要的,性能和成本优化分析数据时使用机器学习算法。事实上,显著差异的性能和精度分析结果可能发生取决于hyperparameters的配置。我们给每个实验中使用的hyperparameters F1分数和每个算法的运行时间。这些hyperparameters派生通过改变不同的实验条件为每个算法反复。

九输入特性是通过定义特征选择过程和输出是使用两个分类场景定义分析实验结果。在第一个场景中(见图4(一)),良性的代码,广告软件,恶意软件和通用准确地检测到,而第二个场景中(见图4 (b))是一种二元分类情况只有良性的代码和广告软件检测到,因为一般的恶意软件仅占0.8%的数据集。比较是有意义的二进制分类的结果,因为它的影响可以通过第一个场景预测。

恶意软件检测,使用机器学习开发id包含模块包含在无人驾驶车辆。F1得分中使用机器学习计算的准确性,记得,所有病例和精确值来评估模型的性能。这一般方法,花了3.570秒来验证数据集平均而言,不适合实时检测。我们应用更快的F1分数评价方法因为恶意软件应该在自动车辆实时检测。为了生成一个类,快速计算,并返回一个混淆矩阵,我们提出了一种新的得分函数。通过这个函数,我们获得了F1模型训练时直接得分。存储的函数的值计算混淆矩阵和可重用的F1得分时被称为绩效评估。在这种情况下,花费的平均时间是0.049秒,这是可以接受的实时检测。异常行为预测因此可以确定在0.049年代新的交通发生在无人驾驶车辆(见表6)。

RF算法,获得F1得分最高的42个随机状态时,估计的数量是85,最大深度为24,特性的最大数量是4。尽管射频的预测精度通常是高使用二进制分类时,在这种情况下,它是更高的场景1下。总的来说,RF算法预测精度最高的机器学习算法进行测试。DT算法,观察F1得分最高的42随机状态时,最低叶样品是2。KC,观察F1最高分数在下列条件:均匀权重和7个估计。DT和KC,精度可能会减少与大数据不平衡数据集。此外,尽管KC算法在二进制分类的场景中表现出更高的预测精度,其学习时间是在场景1的两倍多。GB, F1得分最高时观察到的随机状态是42岁,估计是50的数量,最大深度为15,特性的最大数量是5。其预测精度通常是高,但其学习时间最长的算法,在2556517 ms;相比之下,第二次的学习时间最长的算法,KC,是60967 ms,最短的,仅仅是976 ms。 Therefore, although GB is suitable for binary classification, the learning time costs are too large for general classification. For ET, the highest F1 score was observed when the random state is 42, the splitter is random, and the number of estimators is 100. This algorithm shows the shortest learning time under both scenarios. Although the binary classification has high prediction accuracy and the shortest learning time (95 ms), making it very efficient, its prediction accuracy is significantly reduced in scenario 1. For BC, the highest F1 score is observed when the random state is 42 and the number of estimators is 10. Similar to ET, BC is efficient because of its high prediction accuracy in the binary classification scenario, but it has significantly reduced prediction accuracy under scenario 1.

总之,该算法的总体预测精度为90%或更大的二进制分类算法除了GB。因此,在这种情况下,一个算法可以选择学习时间短。为了检测恶意软件或广告软件在嵌入式软件环境如车辆、高精度和快速的响应时间是非常重要的。因此,等算法,学习时间为95 ms和预测精度90.6%的二元分类方案,将是合适的。然而,考虑到Android操作系统的攻击检测方法分类场景1、RF算法,预测精度最高,19401 ms的学习时间,会是最合适的。

我们使用接受者操作特征(ROC)曲线评估每个算法的实验结果。ROC曲线,一种广泛使用的二进制工具分类、图方法的敏感性对其特异性。ROC曲线下的面积(AUC),代表曲线下的曲面积分,每个分类器的检测性能的一个指标。当曲线方法的图像y = x分类器是纯粹的随机和AUC是0.5附近;同样,检测性能曲线时更好的左上角区域从随机分类器行远。完美的AUC分类器是1。

我们四个算法的性能相比:射频,DT, KC, GB(见图5)。在RF算法如图5(一个)的AUC macro-average通过计算每个类的测量是0.97和micro-average集成类是0.99。的不平衡(二班)恶意软件,AUC为0.93,与其他分类器相比相对较好。在数据5 (b)5 (c)直流和KC显示类似的检测结果。然而,当二班的恶意软件检测,直流略优于KC。此外,在图5 (d)GB, micro-average macro-average检测结果是0.97和0.84,分别。然而,二班的检测结果很低(0.58)由于二班的稀缺的数据集。即GB可以为二进制分类表现良好,但不适合多级分类。总之,每个分类器的ROC曲线和AUC表明,RF算法比其它算法更好的检测恶意软件。

5。结论

车辆连接的增加也增加了安全威胁。恶意代码可以流入时,汽车的内部网络设备感染恶意代码连接到车辆通过外部通信通道。精度高和速度是关键检测恶意行为在嵌入式环境下的车辆,反应必须实时处理。因此,本研究分析了广告软件的安全威胁和恶意软件的Android操作系统在无人驾驶车辆。网络流量分析来检测恶意行为的网络模块。此外,基于机器学习的入侵检测模块提出了恶意软件检测。最后,我们提出了一种机器学习算法,它可以检测车辆Android恶意软件精度高和在很短的时间内。我们比较了算法的检测精度和速度提出了最优hyperparameters 6机器学习算法。此外,我们还发现,可以显著降低运行时间通过小说评价函数模型的实时检测。我们的模拟表明,我们的算法是高度准确(92.9%)和快速(0.049秒),使其适合在无人驾驶车辆环境中实时检测恶意软件。

数据可用性

中投AW&GM数据集可以在研究所的官方网页https://www.unb.ca/cic/datasets/android-adware.html

的利益冲突

Seunghyun公园和Jin-Young蔡宣布没有利益冲突有关的出版。

确认

这项工作是支持的信息与通信技术促进研究所(IITP)由韩国政府拨款(MSIT)[不。2018-0-00532,开发高保障(≥EAL6)安全的微核)。