CN115943396A - 使用机器学习检测车辆故障和网络攻击 - Google Patents
使用机器学习检测车辆故障和网络攻击 Download PDFInfo
- Publication number
- CN115943396A CN115943396A CN202180050848.3A CN202180050848A CN115943396A CN 115943396 A CN115943396 A CN 115943396A CN 202180050848 A CN202180050848 A CN 202180050848A CN 115943396 A CN115943396 A CN 115943396A
- Authority
- CN
- China
- Prior art keywords
- model
- variable message
- vehicle
- variable
- predicted value
- 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
- 238000010801 machine learning Methods 0.000 title description 30
- 238000000034 method Methods 0.000 claims abstract description 75
- 239000013598 vector Substances 0.000 claims abstract description 49
- 238000001514 detection method Methods 0.000 claims abstract description 30
- 230000015654 memory Effects 0.000 claims description 14
- 238000012549 training Methods 0.000 description 40
- 238000013528 artificial neural network Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 12
- 230000010354 integration Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000013459 approach Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000000513 principal component analysis Methods 0.000 description 6
- 238000003066 decision tree Methods 0.000 description 5
- 238000007637 random forest analysis Methods 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 5
- 238000012706 support-vector machine Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000004378 air conditioning Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 239000002826 coolant Substances 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013450 outlier detection Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 206010021703 Indifference Diseases 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- HZFDKBPTVOENNB-GAFUQQFSSA-N N-[(2S)-1-[2-[(2R)-2-chloro-2-fluoroacetyl]-2-[[(3S)-2-oxopyrrolidin-3-yl]methyl]hydrazinyl]-3-(1-methylcyclopropyl)-1-oxopropan-2-yl]-5-(difluoromethyl)-1,2-oxazole-3-carboxamide Chemical compound CC1(C[C@@H](C(NN(C[C@H](CCN2)C2=O)C([C@H](F)Cl)=O)=O)NC(C2=NOC(C(F)F)=C2)=O)CC1 HZFDKBPTVOENNB-GAFUQQFSSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
-
- 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/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/08—Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
- G07C5/0808—Diagnosing performance data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0205—Diagnosing or detecting failures; Failure detection models
- B60W2050/021—Means for detecting failure or malfunction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Virology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Traffic Control Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
提供了用于检测车辆上的异常或网络攻击的技术。一种用于异常或攻击检测的计算机实现的方法,包括:使用第一模型确定与车辆相关联的第一变量消息的第一预测值;使用第二模型确定与所述车辆相关联的所述第一变量消息的第二预测值;基于所述第一变量消息的实际值与所述第一变量消息的所述第一预测值之间的差值并且基于所述第一变量消息的所述实际值与所述第一变量消息的所述第二预测值之间的差值来确定向量;以及使用第三模型基于所述向量确定输出值,所述输出值对应于异常或攻击正在发生的可能性或者所述异常或所述攻击的类型中的至少一者。
Description
相关申请的交叉引用
本申请要求于2021年8月17日提交的名称为“DETECTING VEHICLE MALFUNCTIONSAND CYBER ATTACKS USING MACHINE LEARNING”、且序列号为17/404,759的共同未决美国专利申请的优先权,该申请要求于2020年8月20日提交的名称为“DETECTING VEHICLEMALFUNCTIONS AND CYBER ATTACKS USING UNSUPERVISED MACHINE LEARNING”、序列号为63/068,250的美国临时申请的优先权权益。这些相关申请的主题在此通过引用并入本文。
技术领域
所设想的实施方案整体涉及计算机科学,并且更具体地涉及使用机器学习来检测车辆故障和网络攻击。
背景技术
检测网络安全攻击对现代车辆来说是至关重要的。机载软件的高度复杂性、ADAS(高级驾驶员辅助系统)特征的广泛使用以及无线通信线路的存在极大地增加了远程网络安全攻击的风险。黑客可以通过控制各种车辆特征诸如娱乐系统、制动器、风挡刮水器、转向、气候控制系统、锁、变速器等来跟踪车辆位置、窃取车辆数据,甚至无线地劫持车辆。
黑客可以依靠各种各样的攻击媒介来获得对车辆的访问。在一些情况下,可以使用车载诊断(OBD-II)端口、USB端口等直接访问车辆功能。例如,黑客可以在经由OBD-II端口连接到控制器区域网络(CAN)总线的装置上执行任意代码。在其他情况下,可以经由蓝牙、蜂窝网络、无线(WiFi)网络、信息娱乐系统等远程访问车辆功能。例如,黑客可以访问车辆中的信息娱乐控制台,然后利用车辆的其余部分,包括访问关键的车辆功能。虽然车辆诊断代码和其他信息通常可经由OBD-II端口访问,但是一些车辆制造商允许经由车辆的通信数据链路(诸如CAN总线)进行双向诊断数据交换。此类数据可以经由远程或物理访问被恶意操纵或截获。
黑客还可以使用车辆和其他系统之间的集成点作为攻击媒介。例如,潜在攻击媒介包括连接到CAN总线的车载装备(OBE),该CAN总线向其他车辆、路边单元等广播与各种参数相关的消息,这些参数诸如车辆大小、车辆重量、变速器状态、加速度设定、速度、纬度、经度、稳定性控制状态、制动系统状态、防抱死制动状态、辅助制动状态、GPS位置、纵向加速度、纬度、方向盘角度、位置精度等。获得对OBE的未授权访问的黑客可以向受损的OBE提供虚假数据、篡改消息、广播不正确的信息、监视车辆位置等。另一个潜在的攻击媒介包括提供云连接并允许车辆充当物联网(IoT)端点的移动应用。此类应用可以提供对车辆功能(例 如,门锁/解锁、空气调节系统、灯、信息娱乐系统、喇叭等)的访问或对外部服务(例如,停车、导航等)的访问。黑客可通过利用移动应用中的弱点(例如,未经认证的API、弱密码特征等)来劫持对车辆功能的控制。
一些系统实现了基于机器学习的入侵检测系统(IDS),该系统能够检测潜在的网络安全攻击。这些系统通常使用各种异常检测模型,旨在直接识别车辆的操作参数的异常元数据或值。此类方法的缺点在于,它们在某些情况下可以检测和减轻网络攻击,而在其他情况下弹性较差。另一种方法依赖于安全专家的领域知识来定义用作机器学习模型的特征空间输入的系统参数。这种方法的缺点是这些类型的IDS的性能取决于预定义特征集与需要被发现的异常的性质的相关性,并且因此当遇到新的威胁类型时不可靠。
因此,需要改进检测和减轻车辆异常和网络安全攻击的技术。
发明内容
一个实施方案提出了一种计算机实现的方法,包括:使用第一模型确定与车辆相关联的第一变量消息的第一预测值;使用第二模型确定与该车辆相关联的该第一变量消息的第二预测值;基于该第一变量消息的实际值与该第一变量消息的该第一预测值之间的差值并且基于该第一变量消息的该实际值与该第一变量消息的该第二预测值之间的差值来确定向量;以及使用第三模型基于该向量确定输出值,该输出值对应于异常或攻击正在发生的可能性或者该异常或该攻击的类型中的至少一者。
其他实施方案尤其提供被配置为实现上述方法的一个或多个非暂时性计算机可读介质和系统。
所公开的技术相对于现有技术的至少一个技术优势是,所公开的技术提供了一种用于检测车辆中的异常和/或对车辆的网络攻击的方法,该方法不依赖于车辆中发生的事件的特定定时。因此,该方法可以部署在车辆中或远程系统处,而无需考虑由来自车辆的数据传输引起的定时的破坏。另一个技术优势是,通过使用集成方法,所公开的技术能够更好地处理不同类型的操作参数,并且适于当异常和/或网络攻击随时间发展时检测异常和/或网络攻击,而不需要额外的训练过程。这些技术优势提供了对现有技术方法的一个或多个技术改进。
附图说明
为了能够详细地理解各种实施方案的上述特征的方式,可以通过参考各种实施方案来对以上简要概括的发明构思进行更具体的描述,其中一些实施方案在附图中示出。然而,应当注意,附图仅说明本发明概念的典型实施方案,并且因此不应视为以任何方式限制范围,并且存在其他等效实施方案。
图1是示出被配置为实现本公开的一个或多个方面的计算系统的示意图。
图2是根据本公开的各种实施方案的图1的模型的更详细图解。
图3是根据本公开的各种实施方案的具有第一层模型和第二层模型的机器学习系统的图解。
图4是根据本公开的各种实施方案的用于检测车辆故障或网络攻击的方法步骤的流程图。
图5A至图5C是示出根据本公开的各种实施方案的不同类型的攻击的示例的图。
图6A至图6C示出了根据本公开的各种实施方案的使用监督学习训练的模型的接收者操作特性曲线。
图7A至图7C示出了根据本公开的各种实施方案的使用无监督学习训练的模型的接收者操作特性曲线。
为了清楚起见,在适用的情况下,使用相同的附图标记来表示附图之间共有的相同元件。可以设想,一个实施方案的特征可并入其他实施方案中而无需进一步叙述。
具体实施方式
在以下描述中,阐述了许多具体细节以提供对各种实施方案的更透彻的理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节中的一个或多个具体细节的情况下实践本发明构思。
图1示出了被配置为实现本公开的一个或多个方面的计算装置100。如图所示,计算装置100包括连接一个或多个处理器102、耦合到一个或多个输入/输出(I/O)装置108的输入/输出(I/O)装置接口104、存储器116、存储装置114和网络接口106的互连件(总线)112。
计算装置100包括台式计算机、膝上型计算机、智能电话、个人数字助理(PDA)、平板计算机或被配置为接收输入、处理数据以及可选地显示图像的任何其他类型的计算装置,并且适于实践一个或多个实施方案。本文所述的计算装置100是说明性的,并且任何其他技术上可行的配置均属于本公开的范围。在一些实施方案中,计算装置100在车辆内实现。例如,计算装置100可以是在车辆的头部单元中实现的计算装置。在一些其他实施方案中,计算装置100是与车辆分离和/或远离车辆的计算装置。例如,计算装置100可以是由车辆的驾驶员或乘客携带的便携式装置(例如,智能电话)。作为另一示例,计算装置100可以是经由一个或多个网络通信地耦合到车辆的远程系统(例如,数据中心中的远程服务器系统、云计算系统)。
处理器102包括实现为中央处理单元(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、人工智能(AI)加速器、任何其他类型的处理器或不同处理器的组合(诸如被配置为结合GPU操作的CPU)的任何合适的处理器。通常,处理器102可以是能够处理数据和/或执行软件应用的任何技术上可行的硬件单元。此外,在本公开的上下文中,计算装置100中示出的计算元件可以对应于物理计算系统(例如,数据中心中的系统),或者可以是在计算云中执行的虚拟计算实例。
I/O装置接口104使得I/O装置108能够与处理器102通信。I/O装置接口104通常包括用于解释由处理器102生成的对应于I/O装置108的地址的必要逻辑。I/O装置接口104还可以被配置为实现处理器102和I/O装置108之间的握手,和/或生成与I/O装置108相关联的中断。I/O装置接口104可以被实现为任何技术上可行的CPU、ASIC、FPGA、任何其他类型的处理单元或装置。
在一个实施方案中,I/O装置108包括能够提供输入的装置,诸如键盘、鼠标、触摸屏、智能装置等,以及能够提供输出的装置,诸如显示装置。另外,I/O装置108可以包括能够接收输入和提供输出两者的装置,诸如触摸屏、通用串行总线(USB)端口等。I/O装置108可被配置为从计算装置100的最终用户(例如,设计者)接收各种类型的输入,并且还向计算装置100的最终用户提供各种类型的输出,诸如所显示的数字图像或数字视频或文本。在一些实施方案中,I/O装置108中的一个或多个被配置为将计算装置100耦合到网络110。在一些实施方案中,I/O装置108包括被配置为获取数据并将与该数据相关联的信号发送到计算装置100的一个或多个传感器。
存储器116包括随机存取存储器(RAM)模块、闪存单元或任何其他类型的存储器单元或它们的组合。处理器102、I/O装置接口104和网络接口106被配置为从存储器116读取数据和向该存储器写入数据。存储器116包括可由处理器102执行的各种软件程序和与所述软件程序相关联的应用数据,包括训练引擎122、检测引擎124和模型126。下面将结合图2进一步详细描述训练引擎122、检测引擎124和模型126。
存储装置114包括用于应用和数据的非易失性存储装置,并且可以包括固定或可移动盘驱动器、闪存装置以及CD-ROM、DVD-ROM、蓝光、HD-DVD或其他磁、光或固态存储装置。训练引擎122、检测引擎124和模型126可以存储在存储装置114中,并在执行时加载到存储器116中。
网络110包括允许在计算装置100与诸如网络服务器或另一联网计算装置等外部实体或装置之间交换数据的任何技术上可行类型的一个或多个通信网络。例如,网络110可以包括CAN(控制器区域网络)、广域网(WAN)、局域网(LAN)、无线(WiFi)网络和/或因特网等。
CANBUS 132(控制器区域网络总线)可以是任何技术上可行的工业车辆总线标准、基于消息的协议和/或允许与车辆中的装置和微控制器相关联的应用在没有主机计算机的情况下彼此通信的类似协议。在一些实施方案中,CANBUS 132包括车辆中的任何技术上可行的内部通信机构,该内部通信机构支持车辆中的电子控制单元134之间的通信。在一些实施方案中,CANBUS 132包括多根CAN总线,这些CAN总线使用一个或多个网关来基于诸如安全关键功能(例如,制动器)、非关键功能(例如,灯)等的分类来分割消息的传输。在一些实施方案中,CANBUS 132可以经由一个或多个网络110(例如,无线网络,因特网)与计算装置100通信。例如,在车辆中实现的CANBUS 132可以与远程计算装置100通信。车辆可以包括其自身的具有网络接口的计算装置。车辆中的CANBUS 132可以经由与网络110接口的车内网络接口与远程计算装置100通信(例如,向其发送数据和/或从其接收数据)。
电子控制单元134经由CANBUS 132发送和接收消息。在一些实施方案中,电子控制单元134包括与一个或多个车辆子系统相关联的单元,这些车辆子系统诸如是发动机控制、镜调节、电动转向、门、变速器、电池系统、防抱死制动、音频系统、电动车窗、再充电系统、气囊、巡航控制等。在一些实施方案中,给定的电子控制单元134包括接收和发送消息的一个或多个中央处理单元、微处理器、主机处理器等。在一些实施方案中,给定的电子控制单元134还包括一个或多个CAN(控制器区域网络)控制器,其存储从CANBUS 132接收的一个或多个串行位,直到整个消息可用。
控制装置136包括通过一个或多个电子控制单元134连接到CANBUS132的一个或多个装置。控制装置136包括致动器、传感器等。传感器包括车辆倾角传感器、曲轴传感器、雨传感器、发动机温度传感器、进气温度传感器、冷却剂温度传感器、室外温度传感器、加速踏板传感器、轮速传感器、空气调节开/关传感器、空气质量传感器、转向角传感器、道路速度传感器、停车传感器、λ传感器、座椅安全带传感器、变速器挡位传感器、爆震传感器等。致动器包括用于诸如发动机致动器、怠速致动器、方向盘致动器、座椅致动器、后视镜致动器、天窗致动器、前灯致动器等应用的不同类型的致动器,诸如气动致动器、液压致动器、电磁致动器等。
图2是根据本公开的各种实施方案的图1的模型126的更详细图解。如图所示,模型126包括但不限于第一层连续变量模型210、第一层分类变量模型220、残留误差模块230、第二层元模型240和/或集成模块250。
第一层连续变量模型210包括任何技术上可行的机器学习模型。在一些实施方案中,第一层连续变量模型210包括回归模型、时间序列模型、支持向量机、决策树、随机森林、XGBoost、AdaBoost、CatBoost、梯度提升树、朴素贝叶斯分类器、贝叶斯网络、分层模型、集成模型、自回归移动平均(ARMA)模型、自回归综合移动平均(ARIMA)模型等。在一些实施方案中,第一层连续变量模型210包括递归神经网络(RNN)、卷积神经网络(CNN)、深度神经网络(DNN)、深度卷积网络(DCN)、深度信念网络(DBN)、受限玻尔兹曼机(RBM)、长短期记忆(LSTM)单元、门控递归单元(GRU)、生成对抗网络(GAN)、自组织映射(SOM)和/或其他类型的人工神经网络或人工神经网络的部件。在其他实施方案中,第一层连续变量模型210包括执行聚类、主分量分析(PCA)、潜在语义分析(LSA)、Word2vec等等的功能。在一些实施方案中,第一层连续变量模型210包括执行监督学习、无监督学习、半监督学习(例如,监督预训练之后无监督微调、无监督预训练之后有监督微调等)、自监督学习等等的功能。
第一层连续变量模型210预测一个或多个连续变量消息262的值。在一些实施方案中,通过预测连续变量消息262的当前值的多个不同的第一层连续变量模型210(例如,回归模型、时间序列模型、分层模型等)来预测每个连续变量消息262。在一些实施方案中,每个连续变量消息262由不同的第一层连续变量模型210的组合来预测,这些第一层连续变量模型是基于对一种或多种类型的网络攻击的弹性来选择的,如通过低基线误差、攻击后放大等所测量的。例如,给定的连续变量消息262可以通过对诸如单时间点插入伪造的值的单点攻击有弹性的时间序列模型(例如,将单个时间戳中的每分钟转数(RPM)值更改为记录的最小RPM值和最大RPM值之间的随机选择的值)和对来自先前消息的记录信息的重放、发散攻击有弹性的回归模型(例如,在多个时间戳上从真实值逐渐偏移,其可以通过从不同记录注入数据来创建)等的组合来预测。下面参考图5A至图5C进一步描述网络攻击类型的示例。
参考图5A至图5C,图5A至图5C是示出根据本公开的各种实施方案的不同类型的攻击的示例的图。图5A至图5C包括绘制随时间变化的值的图。在图5A中,图500示出了发散攻击。线502图示了真值的采样。线504图示了在时间戳的范围上从真值开始的第一移位。线506图示了在类似的时间戳范围上从真值的第二较大移位。
在图5B中,图510示出了静态攻击,其中使值在一段时间内恒定(例如,在时间戳的范围内将每分钟转数(RPM)值更改为恒定值)。线512示出了真值的采样。线514示出了一组值,其包括由线514的水平部分指示的一段时间内的恒定值。
在图5C中,图520示出了单点攻击。线522示出了真值的采样。线524示出了单个时间戳中的值的变化,这是单点攻击的特性。
回到图2,在一些实施方案中,第一层连续变量模型210基于连续变量消息的最近历史值(例如,当前值之前的10-20个不同数据点、历史值的预定范围等)来预测给定连续变量消息262的值(例如,每分钟转数/RPM)。在一些实施方案中,第一层连续变量模型210基于一个或多个相关消息的当前值(例如,加速踏板位置、车辆速度、发动机扭矩、挡位、制动器等)、相关消息的先前观察到的数据点(例如,相关消息的当前值之前的10-20个不同数据点、历史值的预定范围等)等来预测给定连续变量消息262的当前值(例如,RPM)。在一些实施方案中,第一层连续变量模型210基于历史值上的最近数据点以及附加相关消息的任何组合来预测给定连续变量消息262的值(例如,RPM)。在各种实施方案中,连续变量消息262的当前值或历史值对应于车辆操作参数282,其中该值是车辆操作参数的当前值或历史值。
第一层分类变量模型220包括任何技术上可行的机器学习模型。在一些实施方案中,第一层分类变量模型220包括分类模型、多类别分类模型等。在一些实施方案中,第一层分类变量模型220包括决策树、随机森林、XGBoost、AdaBoost、CatBoost、梯度提升树、朴素贝叶斯分类器、k最近邻等。在一些实施方案中,第一层分类变量模型220包括递归神经网络(RNN)、卷积神经网络(CNN)、深度神经网络(DNN)、深度卷积网络(DCN)、深度信念网络(DBN)、受限玻尔兹曼机(RBM)、长短期记忆(LSTM)单元、门控递归单元(GRU)、生成对抗网络(GAN)、自组织映射(SOM)和/或其他类型的人工神经网络或人工神经网络的部件。在其他实施方案中,第一层分类变量模型220包括执行聚类、主分量分析(PCA)、潜在语义分析(LSA)、Word2vec等等的功能。在一些实施方案中,第一层分类变量模型220包括执行监督学习、无监督学习、半监督学习(例如,监督预训练之后无监督微调、无监督预训练之后有监督微调等)、自监督学习等的功能。
第一层分类变量模型220预测在给定时间点与给定分类变量消息264相关联的一个或多个类。在一些实施方案中,第一层分类变量模型220计算给定分类变量消息264在给定时间点具有某一分类的概率(例如,挡位状态为第1挡的30%概率)。在一些实施方案中,每个分类变量消息264由多个不同的第一层分类变量模型220(例如,决策树、随机森林、XGBoost、AdaBoost、CatBoost、梯度提升树等)预测以预测分类变量消息264的当前值。在一些实施方案中,每个分类变量消息264由不同的第一层分类变量模型220的组合来预测,这些第一层分类变量模型是基于对一种或多种类型的网络攻击的弹性来选择的,如通过低基线误差、攻击后放大等所测量的。
在一些实施方案中,第一层分类变量模型220基于给定分类变量消息264的最近历史值(例如,当前值之前的10-20个不同数据点、历史值的预定范围等)来预测该消息的分类(例如,挡位状态的概率为倒挡、空挡等)。在一些实施方案中,第一层分类变量模型220基于一个或多个相关消息的当前值(例如,踏板位置、车辆速度、发动机扭矩、挡位、制动器等)、相关消息的先前观察到的数据点(例如,在相关消息的当前值之前的10-20个不同数据点、历史值的预定范围)等来预测与给定分类变量消息264的分类相关联的概率(例如,挡位状态为第5挡的80%概率)。在一些实施方案中,第一层分类变量模型220基于历史值上的最近数据点以及附加相关消息的任何组合来预测给定分类变量消息264的分类(例如,挡位状态为倒挡的0.1%概率)。在各种实施方案中,分类变量消息264的当前或历史分类或值对应于车辆操作参数282,其中分类或值是车辆操作参数的当前或历史分类或值。
残留误差模块230将由第一层连续变量模型210生成的一个或多个连续变量消息262的预测值与连续变量消息262的实际值进行比较。在一些实施方案中,在每个连续变量消息262由多个不同的第一层连续变量模型210(例如,回归模型、时间序列模型、分层模型等)预测的情况下,残留误差模块230将由每个第一层连续变量模型210生成的预测值与连续变量消息262的实际值进行比较。
残留误差模块230为每个第一层连续变量模型210计算在连续变量消息262的实际值和连续变量消息262的预测值之间的每个时间点的误差或残差的向量中的条目。
残留误差模块230还将具有由第一层分类变量模型220生成的给定分类的给定分类变量消息264的预测概率(例如,挡位状态为第5挡的80%概率)与分类变量消息264的实际值(例如,与观察到的挡位状态为第5挡相关联的100%值)进行比较。在一些实施方案中,在每个分类变量消息264由多个不同的第一层分类变量模型220(例如,决策树、随机森林、XGBoost、AdaBoost、CatBoost、梯度提升树等)预测的情况下,残留误差模块230将由每个第一层分类变量模型220生成的预测值(例如,挡位状态为第5挡的80%概率;挡位状态为第5挡的30%概率)与分类变量消息264的实际值(例如,与观察到的挡位状态为第5挡相关联的100%值)进行比较。
残留误差模块230为每个第一层分类变量模型220计算在分类变量消息264的实际值与分类变量消息264的预测值之间的每个时间点的计算概率的向量中的条目(例如,第5挡的100%实际值与80%预测之间的差值、第5挡的100%实际值与30%预测之间的差值等)。
第二层元模型240包括任何技术上可行的机器学习模型。在一些实施方案中,第二层元模型240包括一个或多个异常检测模型,诸如神经网络自动编码器、隔离森林、局部离群因子(LOF)、鲁棒协方差、一类支持向量机(SVM)等。在一些实施方案中,第二层元模型240使用一种或多种异常检测技术,诸如k最近邻、基于相关性的轮廓检测、基于张量的离群点检测、基于聚类分析的离群点检测、基于模糊逻辑的框架检测、集成技术(例如,特征打包、分数归一化、叠加、提升)等。在一些实施方案中,第二层元模型240包括不同异常检测模型的集合。在一些实施方案中,第二层元模型240包括递归神经网络(RNN)、卷积神经网络(CNN)、深度神经网络(DNN)、深度卷积网络(DCN)、深度信念网络(DBN)、受限玻尔兹曼机(RBM)、长短期记忆(LSTM)单元、门控递归单元(GRU)、生成对抗网络(GAN)、自组织映射(SOM)和/或其他类型的人工神经网络或人工神经网络的部件。在其他实施方案中,第二层元模型240包括执行聚类、主分量分析(PCA)、潜在语义分析(LSA)、Word2vec等等的功能。在一些实施方案中,第二层元模型240包括回归模型、支持向量机、决策树、随机森林、XGBoost、AdaBoost、CatBoost、梯度提升树、朴素贝叶斯分类器、贝叶斯网络、分层模型和/或集成模型。在一些实施方案中,第二层元模型240包括执行监督学习、无监督学习、半监督学习(例如,监督预训练之后无监督微调、无监督预训练之后有监督微调等)、自监督学习等的功能。
第二层元模型240接收由残留误差模块230产生的误差或残差或概率的向量作为输入。第二层元模型240还可接收由第一层连续变量模型210、第一层分类变量模型220等的任何组合产生的预测作为输入。在一些实施方案中,第二层元模型240接收标记的样本284作为附加输入,在该样本上训练该第二层元模型以在正常系统操作和攻击之间进行分类。第二层元模型240捕捉在诸如计算装置100等系统的各种操作状态下第一层连续变量模型210、第一层分类变量模型220和/或残留误差模块230的正常组合结果,并识别由第一层连续变量模型210、第一层分类变量模型220、残留误差模块230等产生的预测之间的共同关系何时被破坏。
在一些实施方案中,第二层元模型240是在由残留误差模块230在正常系统操作下产生的误差或残差的向量、计算概率的向量等、由模型210和/或220的任何组合产生的预测值、消息262和/或264的实际值等的任何组合上进行训练。在一些情况下,训练第二层元模型240所在的正常样本聚类外的一组预测残差或概率将被识别为异常或攻击。在一些实施方案中,第二层元模型240基于误差或残差的向量、计算概率的向量、预测值、实际值等与预定义阈值标准之间的比较来识别异常或攻击。
在一些实施方案中,第二层元模型240基于由残留误差模块230生成的误差或残差的向量、计算概率的向量等、由模型210和/或220的任何组合生成的预测值、消息262和/或264的实际值等来计算反映异常或攻击的概率的分数(例如,风险分数)。在一些实施方案中,第二层元模型240基于由第一层连续变量模型210和/或第一层分类变量模型220的任何组合生成的预测、消息262和/或264的实际值、由残留误差模块230生成的向量等在多个攻击场景、各种操作系统状态等中的组合来计算反映异常或攻击的概率的分数(例如,风险分数、概率分数)。在一些实施方案中,第二层元模型240可输出指示异常/攻击是否存在的二进制输出(例如,0或1、否或是)。在一些实施方案中,第二层元模型240可以输出指示异常或攻击的类型和/或不同类型的异常或攻击的概率的信息。例如,第二层元模型240可以输出概率的向量,其中向量中的每个概率指示不同类型的异常或攻击的概率。
集成模块250通过使用一种或多种集成学习技术来提高第二层元模型240的性能。在一些实施方案中,集成模块250使用多数投票、平均、单独阈值化等作为用于组合模型的预测的手段,从而忽略在多种攻击场景和各种操作系统状态下不同模型的预测的组合的可能复杂性。在一些实施方案中,集成模块250可以组合来自第二层元模型240的一个或多个输出。例如,集成模块250可以组合在一定时间范围内的攻击类型的概率的向量,以确定是否存在异常或攻击。作为另一示例,集成模块250可以组合或聚集来自多个第二层元模型240的输出。
系统操作数据260包括但不限于连续变量消息262、分类变量消息264、第一模型预测268、残留误差266和/或第二模型预测270。连续变量消息262包括与从车辆操作参数282导出的一个或多个连续变量相关联的一个或多个CANBUS消息(例如,RPM)。在一些实施方案中,连续变量消息262被中继到非车载服务器。分类变量消息264包括与从车辆操作参数282导出的一个或多个分类变量相关联的一个或多个CANBUS消息(例如,挡位状态为倒挡、空挡等)。在一些实施方案中,分类变量消息264被中继到非车载服务器。
第一模型预测268包括由第一层连续变量模型210生成的一个或多个连续变量消息262的一个或多个预测值。第二模型预测270包括具有由第一层分类变量模型220生成的一个或多个分类的一个或多个分类变量消息264的一个或多个预测概率。残留误差266包括由残留误差模块230生成的误差或残差的向量、计算概率的向量等。
存储装置114包括但不限于车辆操作参数282、标记样本284和/或地面实况数据286。车辆操作参数282包括与车辆的操作相关联的任何数据,包括与一个或多个车辆子系统(例如,发动机控制、镜调节、电动转向、门、变速器、电池系统、防抱死制动、音频系统、电动车窗、再充电系统、气囊、巡航控制)、一个或多个传感器(例如,车辆倾角传感器、曲轴传感器、雨传感器、发动机温度传感器、进气温度传感器、冷却剂温度传感器、室外温度传感器、加速踏板传感器、轮速传感器、空气调节开/关传感器、空气质量传感器、转向角传感器、道路速度传感器、停车传感器、λ传感器、座椅安全带传感器、变速器挡位传感器、爆震传感器)、一个或多个致动器(例如,发动机致动器、怠速致动器、方向盘致动器、座椅致动器、后视镜致动器、天窗致动器、前灯致动器)等相关联的数据。在一些实施方案中,车辆操作参数282包括由一个或多个事件数据记录器(EDR)、一个或多个openXC硬件(例如,OpenXC电子狗)、一个或多个数据记录应用等在一个或多个驾驶会话期间收集的数据。
标记样本284包括已经用一个或多个标签标记的一个或多个数据集。在一些实施方案中,标记的样本284包括指示在正常系统操作下或在异常或攻击期间的一个或多个车辆操作参数282的值的范围的一个或多个数据集。地面实况数据286包括与正常系统操作期间的理想或预期车辆操作参数相关联的一个或多个数据集。在一些实施方案中,地面实况数据286包括车辆操作参数282,该车辆操作参数包括在一个或多个驾驶会话期间收集的数据。
在模型126的训练期间,训练引擎122使用用于监督学习、无监督学习、半监督学习(例如,监督预训练之后无监督微调、无监督预训练之后有监督微调等)、自监督学习等的任何技术上可行的技术来训练包括第一层连续变量模型210、第一层分类变量模型220或第二层元模型240中的任一者的给定神经网络。训练引擎122在模型126的训练期间使用车辆操作参数282、标记样本284和/或地面实况数据286作为训练数据输入。在一些实施方案中,训练引擎122使用随机梯度下降、随机优化方法等来训练包括第一层连续变量模型210、第一层分类变量模型220和/或第二层元模型240中的任一者的给定神经网络。在一些实施方案中,训练引擎122计算给定损失函数相对于包括第一层连续变量模型210、第一层分类变量模型220和/或第二层元模型240中的任一者的给定神经网络的权重的梯度,并且通过在与梯度相反的方向上采取步长来更新权重。在一个实例中,步长的大小由训练速率确定,训练速率可以是恒定速率(例如,步长为0.001等)。
在一些实施方案中,训练引擎122在每次训练迭代时更新包括第一层连续变量模型210、第一层分类变量模型220和/或第二层元模型240中的任一者的给定神经网络的模型参数,以减小对应损失函数的均方误差值。在一些实施方案中,通过经由神经网络向后传播损失来执行更新,以调整模型的参数或神经网络的神经元之间的连接上的权重。
在一些实施方案中,训练引擎122重复训练过程多次迭代,直到达到阈值条件。在一些实施方案中,当训练过程达到收敛时达到阈值条件。例如,当损失函数的均方误差随着训练过程的每次迭代变化很小或根本不变化时,达到收敛。在另一实例中,当在一定次数的迭代之后损失函数的均方误差保持恒定时,达到收敛。在一些实施方案中,阈值条件是与损失函数相关联的均方误差的预定值或范围。在一些实施方案中,阈值条件是训练过程的一定次数的迭代(例如,100个时期、600个时期)、预定时间量(例如,2小时、50小时、48小时)等。
在一些实施方案中,训练引擎122使用一个或多个超参数来训练包括第一层连续变量模型210、第一层分类变量模型220和/或第二层元模型240中的任一者的给定神经网络。每个超参数定义神经网络的“高级”性质,而不是在训练期间更新并随后用于生成预测、推断、分数和/或其他输出的内部参数。超参数包括学习速率(例如,梯度下降中的步长)、控制机器学习模型中的收敛速率的收敛参数、模型拓扑(例如,神经网络或深度学习模型中的层的数量)、机器学习模型的训练数据中的训练样本的数量、参数优化技术(例如,用于更新机器学习模型的参数的公式和/或梯度下降技术)、将变换应用于输入的数据增强参数、模型类型(例如,神经网络、聚类技术、回归模型、支持向量机、基于树的模型、集成模型等)等。在一些实施方案中,训练样本包括车辆操作参数282、标记样本284和/或地面实况数据286。
在操作中,第一层连续变量模型210预测一个或多个连续变量消息262的值。第一层分类变量模型220预测在给定时间点与给定分类变量消息264相关联的一个或多个类。残留误差模块230将由第一层连续变量模型210生成的一个或多个连续变量消息262的预测值与连续变量消息262的实际值进行比较。残留误差模块230为每个第一层连续变量模型210计算在连续变量消息262的实际值和连续变量消息262的预测值之间的每个时间点的误差或残差的向量。残留误差模块230还将具有由第一层分类变量模型220生成的给定类别的给定分类变量消息264的预测概率与分类变量消息264的实际值进行比较。残留误差模块230为每个第一层分类变量模型220计算在分类变量消息264的实际值和分类变量消息264的预测值之间的每个时间点的计算概率的向量。第二层元模型240基于由残留误差模块230生成的误差或残差的向量、计算概率的向量等来计算反映异常或攻击的概率的分数(例如,风险分数)。集成模块250通过使用一个或多个集成学习技术来组合第二层元模型240的输出(例如,一段时间内的输出、来自多个第二层元模型240的输出)来提高第二层元模型240的性能。下面参考图3描述第一层模型和第二层模型的操作示例。
在一些实施方案中,训练引擎122可以使用标记样本284和/或从与实际驾驶员的实际驾驶会话收集的地面实况数据286来训练模型126。在示例中,可以从多个驾驶员(例如,10个驾驶员,每个驾驶员在大约46km的往返行程路线上驾驶总共大约23小时)的相应的驾驶会话收集数据。多驾驶员数据集将被分成训练数据集(例如,总数据集的70%)和验证数据集(例如,总数据集的30%)。训练数据集可以包括不包括任何异常/攻击并标记为干净(无异常或攻击)数据的数据,以及被修改为包括攻击并标记为异常数据的数据。验证数据集还可以包括类似于训练数据集的干净数据和异常数据。训练引擎122将使用训练数据集来训练模型126,然后使用验证数据集来验证模型126的有效性和准确性。
在一些实施方案中,可以使用监督学习或无监督学习来训练模型126。图6A至图6C示出了根据本公开的各种实施方案的使用监督学习训练的模型126的接收者操作特性(ROC)曲线。具体地,图6A至图6C示出了模型126对不同类型攻击的示例性ROC曲线。图6A示出了模型126对发散攻击的ROC曲线,图6B示出了模型126对静态攻击的ROC曲线,和图6C示出了模型126对单点攻击的ROC曲线。
图7A至图7C示出了根据本公开的各种实施方案的使用无监督学习训练的模型126的接收者操作特性(ROC)曲线。具体地,图7A至图7C示出了模型126对不同类型攻击的示例性ROC曲线。图7A示出了模型126对发散攻击的ROC曲线,图7B示出了模型126对静态攻击的ROC曲线,和图7C示出了模型126对单点攻击的ROC曲线。如图6A至图7C中的ROC曲线所示,当使用监督学习或无监督学习进行训练时,模型126可以相对于不同类型的攻击实现良好的诊断性能。
检测引擎124包括将包括第一层连续变量模型210、第一层分类变量模型220和/或第二层元模型240中的任一者的经训练模型126(例如,经训练神经网络)应用于在车辆的当前驾驶会话期间收集的数据,以便在车辆的操作期间检测异常或攻击的功能。例如,检测引擎124可以在当前驾驶会话期间将模型126应用于连续变量消息262、分类变量消息264和/或车辆操作参数282,以实时或接近实时地检测异常和攻击。在一些实施方案中,检测引擎124可以将经训练模型126应用于从多个车辆收集的数据。例如,与车队管理系统相关联的计算装置100可以从车队中的车辆接收数据。检测引擎124可以处理来自车队中的车辆的数据,以检测车队中的任何车辆的异常或对该车辆的攻击。
虽然已经公开了用于检测车辆故障和网络攻击的双层方法,但是该方法可以包括多层模型。在一些实施方案中,第一层连续变量模型210、第一层分类变量模型220和/或第二层元模型240包括N层模型。在一些实施方案中,该方法涉及多层模型,该多层模型由以分层结构构成的多个机器学习模型组成。在一些实施方案中,任何附加层的模型以递归方式构成。在一些实施方案中,对任何模型的输入由任何数量的变量组成,同时,每个变量可以是连续变量或分类变量(例如,77个连续变量、1个分类、699个分类和1个连续变量等)。此外,虽然所公开的实施方案是关于检测车辆中的异常或攻击来讨论的,但是所公开的技术可用于检测任何类型的联网设置中的任何故障。
图3是根据本公开的各种实施方案的具有第一层模型和第二层模型的机器学习系统300的图解。在各种实施方案中,机器学习系统300实现模型126,并执行使用模型126的训练引擎122或检测引擎124。机器学习系统300包括对应于第一层连续变量模型210和/或第一层分类变量模型220的一个或多个第一层模型312、314、316和/或318。具体地,连续变量时间序列模型312和连续变量回归模型314对应于第一层连续变量模型210,而分类变量时间序列模型316和分类变量回归模型318对应于第一层分类变量模型220。机器学习系统300还包括对应于第二层元模型240的一个或多个元模型340。机器学习系统300还包括残留误差模块330,其对应于残留误差模块230。
机器学习系统300可以接收一个或多个连续变量消息302(例如,连续变量消息262)和/或一个或多个分类变量消息304(例如,分类变量消息264)。模型312和/或314接收并处理连续变量消息302以生成一个或多个预测(例如,与一个或多个车辆操作参数相关联的连续变量消息的预测值)。具体地,连续变量时间序列模型312生成第一模型预测A 322,而连续变量回归模型314生成第一模型预测B 324。第一模型预测A 322和/或B 324对应于第一模型预测268。模型316和/或318接收并处理分类变量消息304以生成一个或多个预测(例如,与一个或多个车辆操作参数相关联的分类变量消息的预测值)。具体地,分类变量时间序列模型316生成第二模型预测A 326,而分类变量回归模型318生成第二模型预测B328。第二模型预测A 326和/或B328对应于第二模型预测270。在一些实施方案中,机器学习系统300可以包括除了和/或代替时间序列模型或回归模型的其他连续变量模型,以及类似地除了和/或代替时间序列模型或回归模型的其他分类变量模型。
在一些实施方案中,连续变量时间序列模型312包括连续变量消息302中包括的每个车辆操作参数的至少一个时间序列模型(例如,RPM消息的时间序列模型、方向盘角度消息的时间序列模型、变速器扭矩消息的时间序列模型等)。在一些实施方案中,连续变量时间序列模型312包括至少一个时间序列模型,其可以处理与多个车辆操作参数(诸如感兴趣的参数和一个或多个附加相关参数)相关联的连续变量消息302。例如,时间序列模型可以将RPM消息、方向盘角度消息和变速器扭矩消息一起处理以产生预测。
在一些实施方案中,连续变量回归模型314包括连续变量消息302中包括的每个车辆操作参数的至少一个回归模型(例如,RPM消息的回归模型、方向盘角度消息的回归模型、变速器扭矩消息的回归模型等)。
在一些实施方案中,分类变量时间序列模型316包括分类变量消息304中包括的每个车辆操作参数的至少一个时间序列模型(例如,挡位状态消息的时间序列模型、门状态消息的时间序列模型、驻车制动器状态消息的时间序列模型等)。在一些实施方案中,分类变量时间序列模型316包括至少一个时间序列模型,其可以处理与多个车辆操作参数(诸如感兴趣的参数和一个或多个附加相关参数)相关联的分类变量消息304。
在一些实施方案中,分类变量回归模型318包括分类变量消息304中包括的每个车辆操作参数的至少一个回归模型(例如,挡位状态消息的回归模型、门状态消息的回归模型、停车制动器状态消息的回归模型等)。
第一模型预测A 322包括由连续变量时间序列模型312生成的一个或多个连续变量消息302的一个或多个预测值。第一模型预测B 324包括由连续变量回归模型314生成的一个或多个连续变量消息302的一个或多个预测值。第二模型预测A 326包括由分类变量时间序列模型316生成的一个或多个分类变量消息304的一个或多个预测值。第二模型预测B324包括由分类变量回归模型318生成的一个或多个分类变量消息304的一个或多个预测值。
在一些实施方案中,残留误差模块330确定预测值与实际值之间的误差或残差(例如,预测值与实际值之间的差值、预测分类概率与实际分类之间的差值)和/或其向量(例如,时间范围内的预测值与该时间范围内的实际值之间的误差/残差的向量)。残留误差模块330接收第一模型预测A 322和/或B324、第二模型预测A 326和/或B 328、连续变量消息302和/或分类变量消息304。残留误差模块330基于第一模型预测A 322和连续变量消息302生成残留误差A 332,基于第一模型预测B 324和连续变量消息302生成残留误差B 334,基于第二模型预测A 326和分类变量消息304生成残留误差C336,和/或基于第二模型预测B328和分类变量消息304生成残留误差D338。在各种实施方案中,残留误差A 332、残留误差B334、残留误差C 336和/或残留误差D 338对应于残留误差266。
元模型340接收一个或多个输入,包括第一模型预测A 322、第一模型预测B 324、第二模型预测A 326、第二模型预测B 328、残留误差A 332、残留误差B 334、残留误差C336、残留误差D 338、连续变量消息302和/或分类变量消息304和/或它们的任何组合。元模型340基于上述到元模型340的输入生成输出342。在一些实施方案中,输出342包括反映异常或攻击的概率的分数(例如,风险分数、概率分数)。在一些实施方案中,输出342包括指示异常/攻击是否存在的结论的二进制输出(例如,0或1、是或否、攻击或无攻击)。在一些实施方案中,输出342可包括与可能的异常或攻击(例如,异常或攻击的类型的分类、不同类型的异常或攻击的概率)相关联的信息。在一些实施方案中,输出342包括来自多个元模型340的输出(例如,来自每个元模型340的分数)。
在一些实施方案中,机器学习系统300可以包括对应于集成模块250的集成模块(未示出)。集成模块可对到元模型340的上述输入中的任一个和/或输出342使用一个或多个集成学习技术(例如,多数投票、平均、单独阈值化等)来修改和/或完善输出342和/或元模型340。
在各种实施方案中,消息302和304的特定定时通常与模型312-318和元模型340无关。即,模型312-318以及元模型340在它们的分析中除了适当考虑消息的顺序之外,不需要考虑消息302或304的定时。因此,机器学习系统300可以基于车辆操作参数的值来确定输出342,而不考虑参数的值出现的特定时间。
图4是根据本公开的各种实施方案的用于检测车辆故障或网络攻击的方法步骤的流程图。尽管参考图1至图3的系统描述了方法步骤,但是本领域技术人员将理解,被配置为以任何顺序执行所述方法步骤的任何系统均落入各种实施方案的范围内。
如图所示,方法400始于步骤402,在该步骤,检测引擎124使用第一机器学习模型确定第一参数的第一预测值。检测引擎124可以接收与第一车辆操作参数282相关联的一个或多个变量消息(例如,当前和/或历史数据点的一组消息),并使用第一机器学习模型来确定该参数的预测值。例如,检测引擎124可以接收与第一参数相关联的一个或多个连续变量消息302,并使用模型312或314中的连续变量模型来预测该参数的一个或多个值,其中与该第一参数相关联的连续变量消息302作为该模型的输入。另选地,检测引擎124可接收与第一参数相关联的一个或多个分类变量消息304,并使用模型316或318中的分类变量模型预测该参数的一个或多个概率,其中与该第一参数相关联的分类变量消息304作为该模型的输入。
在步骤404,检测引擎124使用第二机器学习模型确定第一参数的第二预测值。检测引擎124可以接收与第一车辆操作参数282相关联的一个或多个变量消息(例如,当前和/或历史数据点的一组消息),并使用第二机器学习模型来确定该参数的另一预测值。例如,检测引擎124可以接收与第一参数相关联的一个或多个连续变量消息302,并使用模型312或314中的第二连续变量模型来预测该参数的一个或多个附加值,其中与该第一参数相关联的连续变量消息302作为该模型的输入。附加地或另选地,检测引擎124可以接收与第二车辆操作参数282相关联的一个或多个分类变量消息304,并使用模型316或318中的分类变量模型来预测该参数的一个或多个分类概率,其中与该第二参数相关联的分类变量消息304作为该模型的输入。
在步骤406,检测引擎124基于第一参数的第一预测值和第一实际值确定第一残差。残留误差模块230可以确定在步骤402确定的预测值或概率与第一车辆操作参数的实际值或概率之间的误差或残差或概率。例如,残留误差模块330可以确定第一模型预测A 322和来自与和第一模型预测A 322相同的参数相关联的连续变量消息302的实际值之间的残留误差A 332。作为另一示例,残留误差模块330可确定第二模型预测A 326和来自与和第二模型预测A 326相同的参数相关联的分类变量消息304的实际值之间的残留误差C 336。
在步骤408,检测引擎124基于第一参数的第二预测值和第一实际值确定第二残差。残留误差模块230可以确定在步骤404确定的预测值或概率与第二车辆操作参数的实际值或概率之间的误差或残差或概率。例如,残留误差模块330可以确定第一模型预测B 324和来自与和第一模型预测B 324相同的参数相关联的连续变量消息302的实际值之间的残留误差B 334。作为另一示例,残留误差模块330可以确定第二模型预测326或328和来自与和第二模型预测326或328相同的参数相关联的分类变量消息304的实际值之间的残留误差336或338。
在步骤410,检测引擎124使用第三机器学习模型基于第一残差和第二残差来确定分数。检测引擎124可以使用一个或多个元模型240来确定反映异常或攻击的概率的分数,其中分别在步骤406和408确定的第一残差和第二残差被输入到元模型中用于确定分数。例如,元模型340可接收残留误差332、334、336和/或338作为输入,并确定输出342,该输出指示异常或攻击存在的概率、异常或攻击是否存在的结论、异常/攻击的类型的分类和/或异常或攻击的类型的概率。在一些实施方案中,残留误差模块330或元模型340可以将残留误差组装成一个或多个向量,并且基于这些向量来确定输出342。
在一些实施方案中,方法400可以适用于多个参数。步骤402和/或404可适于使用相同的模型和/或一个或多个附加模型来预测一个或多个附加参数的值。步骤406和408可适于基于附加参数的预测值和这些参数的实际值来确定残差。步骤410可适于使用一个或多个附加第三机器学习模型(例如,附加元模型)和上述残差来确定一个或多个附加输出。
总之,用于检测车辆上的异常或网络攻击的方法包括集成的多层方法。在第一层模型中,一组模型预测作为连续变量的车辆操作参数的值,而另一组模型预测作为分类变量的车辆操作参数的分类概率。可以基于参数的预测值和实际值来确定误差、残差和/或概率差异。在第二层模型中,误差、残差和/或概率差异可用于确定反映异常或攻击存在的概率的分数,和/或指示异常或攻击是否存在以及存在何种类型的异常或攻击的其他输出。
所公开的技术相对于现有技术的至少一个技术优势是,所公开的技术提供了一种用于检测车辆中的异常和/或对车辆的网络攻击的方法,该方法不依赖于车辆中发生的事件的特定定时。因此,该方法可以部署在车辆中或远程系统处,而无需考虑由来自车辆的数据传输引起的定时的破坏。另一个技术优势是,通过使用集成方法,所公开的技术能够更好地处理不同类型的操作参数,并且适于当异常和/或网络攻击随时间发展时检测异常和/或网络攻击,而不需要额外的训练过程。这些技术优势提供了对现有技术方法的一个或多个技术改进。
1.在一些实施方案中,一种用于异常或攻击检测的计算机实现的方法包括:使用第一模型确定与车辆相关联的第一变量消息的第一预测值;使用第二模型确定与所述车辆相关联的所述第一变量消息的第二预测值;基于所述第一变量消息的实际值与所述第一变量消息的所述第一预测值之间的差值并且基于所述第一变量消息的所述实际值与所述第一变量消息的所述第二预测值之间的差值来确定向量;以及使用第三模型基于所述向量确定输出值,所述输出值对应于异常或攻击正在发生的可能性或者所述异常或所述攻击的类型中的至少一者。
2.如条款1所述的方法,其中所述第一变量消息包括与所述车辆的第一操作参数相关联的连续变量消息。
3.如条款1或2所述的方法,其中所述第一变量消息的所述第一预测值包括所述第一操作参数的预测值。
4.如条款1至3中任一项所述的方法,其中所述第一变量消息包括与所述车辆的第一操作参数相关联的分类变量消息。
5.如条款1至4中任一项所述的方法,其中所述第一变量消息的所述第一预测值包括与所述第一操作参数相关联的预测概率。
6.如条款1至5中任一项所述的方法,其中所述第一模型包括时间序列模型。
7.如条款1至6中任一项所述的方法,其中所述第二模型包括回归模型。
8.如条款1至7中任一项所述的方法,其中所述向量包括误差或残差的向量。
9.如条款1至8中任一项所述的方法,其中所述向量包括概率的向量。
10.如条款1至9中任一项所述的方法,其还包括使用第四模型确定与所述车辆相关联的第二变量消息的第三预测值。
11.如条款1至10中任一项所述的方法,其还包括使用第四模型基于所述向量确定第二输出值;以及组合所述输出值和所述第二输出值,所组合的输出值对应于所述异常或所述攻击正在发生的所述可能性或者所述异常或所述攻击的所述类型中的至少一者。
12.如条款1至11中任一项所述的方法,其中所述第三模型包括元模型。
13.如条款1至12中任一项所述的方法,其还包括使用所述第一模型确定与所述车辆相关联的第二变量消息的第三预测值。
14.如条款1至13中任一项所述的方法,其中使用所述第一模型确定与所述车辆相关联的所述第一变量消息的所述第一预测值包括:使用与所述车辆相关联的至少一个第二变量消息来确定所述第一预测值,其中所述至少一个第二变量消息与所述第一变量消息相关联。
15.在一些实施方案中,一种或多种非暂时性计算机可读存储介质包括在由一个或多个处理器执行时使所述一个或多个处理器执行以下步骤的指令:使用第一模型确定与车辆相关联的第一变量消息的第一预测值;使用第二模型确定与所述车辆相关联的所述第一变量消息的第二预测值;基于所述第一变量消息的实际值与所述第一变量消息的所述第一预测值之间的差值并且基于所述第一变量消息的所述实际值与所述第一变量消息的所述第二预测值之间的差值来确定向量;以及使用第三模型基于所述向量确定输出值,所述输出值对应于异常或攻击正在发生的可能性或者所述异常或所述攻击的类型中的至少一者。
16.如条款15所述的一种或多种非暂时性计算机可读存储介质,其中所述第一模型包括时间序列模型,并且所述第二模型包括回归模型。
17.如条款15或16所述的一种或多种非暂时性计算机可读存储介质,其中所述第一模型包括第一时间序列模型,并且所述第二模型包括第二时间序列模型。
18.如条款15至17中任一项所述的一种或多种非暂时性计算机可读存储介质,其中所述第一模型包括第一回归模型,并且所述第二模型包括第二回归模型。
19.在一些实施方案中,一种系统包括:存储应用的存储器;以及一个或多个处理器,所述一个或多个处理器在执行所述应用时被配置为:使用第一模型确定与车辆相关联的第一变量消息的第一预测值;使用第二模型确定与所述车辆相关联的第二变量消息的第二预测值;基于所述第一变量消息的实际值与所述第一变量消息的所述第一预测值之间的差值并且基于所述第二变量消息的实际值与所述第二变量消息的所述第二预测值之间的差值来确定向量;以及使用第三模型基于所述向量确定输出值,所述输出值对应于异常或攻击正在发生的可能性或者所述异常或所述攻击的类型中的至少一者。
20.如条款19所述的系统,其中所述一个或多个处理器在执行所述应用时还被配置为使用所述第一模型来确定与所述车辆相关联的第三变量消息的第三预测值。
在任何权利要求中叙述的任何权利要求要素和/或在本申请中描述的任何要素的任何和所有组合以任何方式均落入本公开和保护的预期范围。
各种实施方案的描述已呈现以用于说明目的,但并非意在详列或限于公开的实施方案。在不背离所描述实施方案的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说将是明显的。
各实施方案的各方面可以具体实施为系统、方法或计算机程序产品。因此,本公开的各方面可以采取完全硬件实施方案、完全软件实施方案(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施方案的形式,其在本文中统被称为“模块”、“系统”或“计算机”。此外,本公开中描述的任何硬件和/或软件技术、过程、功能、部件、引擎、模块或系统可以实现为电路或电路组。此外,本公开的各方面可以采取在其上实现有计算机可读程序代码的一个或多个计算机可读介质中实现的计算机程序产品的形式。
可利用一个或多个计算机可读介质的任何组合。计算机可读介质可为计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或装置或前述介质的任何合适组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下介质:具有一根或多根导线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程序只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述介质的任何合适组合。在本文档的语境中,计算机可读存储介质可以是任何有形介质,其可以包含或存储供指令执行系统、设备或装置使用或与其结合使用的程序。
上文参照根据本公开的实施方案的方法、设备(系统)和计算机程序产品的流程图图解和/或方框图来描述本公开的各方面。应理解,流程图图解和/或方框图的每一个方框以及流程图图解和/或方框图的方框组合可以通过计算机程序指令来实施。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以生产机器。当经由计算机或其他可编程数据处理设备的处理器执行这些指令时,这些指令能够实施在流程图和/或方框图的一个或多个方框中指定的功能/动作。此类处理器可以是但不限于通用处理器、专用处理器、特定应用处理器或现场可编程门阵列。
图中的流程图和方框图示出了根据本公开的各种实施方案的系统、方法和计算机程序产品的可能实现方式的体系结构、功能和操作。在这个方面,流程图或方框图中的每个方框可以表示代码的模块、区段或部分,其包括用于实施所指定的一个或多个逻辑功能的一个或多个可执行指令。还应当指出的是,在一些替代实行方案中,方框中提到的功能可以不按附图中提到的顺序出现。举例来说,连续示出的两个方框实际上可基本上同时地执行,或者有时可按照颠倒的次序执行所述方框,这取决于所涉及的功能性。还应当指出的是,方框图和/或流程图图解的每个方框以及方框图和/或流程图图解中的方框的组合可以由执行规定的功能或操作的基于专用硬件的系统或者专用硬件和计算机指令的组合来实施。
虽然前述内容针对本公开的实施方案,但是在不脱离本公开的基本范围的情况下可以设计本公开的其他和进一步的实施方案,并且本公开的范围由所附权利要求确定。
Claims (20)
1.一种用于异常或攻击检测的计算机实现的方法,所述方法包括:
使用第一模型确定与车辆相关联的第一变量消息的第一预测值;
使用第二模型确定与所述车辆相关联的所述第一变量消息的第二预测值;
基于所述第一变量消息的实际值与所述第一变量消息的所述第一预测值之间的差值并且基于所述第一变量消息的所述实际值与所述第一变量消息的所述第二预测值之间的差值来确定向量;以及
使用第三模型基于所述向量确定输出值,所述输出值对应于异常或攻击正在发生的可能性或者所述异常或所述攻击的类型中的至少一者。
2.如权利要求1所述的方法,其中所述第一变量消息包括与所述车辆的第一操作参数相关联的连续变量消息。
3.如权利要求2所述的方法,其中所述第一变量消息的所述第一预测值包括所述第一操作参数的预测值。
4.如权利要求1所述的方法,其中所述第一变量消息包括与所述车辆的第一操作参数相关联的分类变量消息。
5.如权利要求4所述的方法,其中所述第一变量消息的所述第一预测值包括与所述第一操作参数相关联的预测概率。
6.如权利要求1所述的方法,其中所述第一模型包括时间序列模型。
7.如权利要求1所述的方法,其中所述第二模型包括回归模型。
8.如权利要求1所述的方法,其中所述向量包括误差或残差的向量。
9.如权利要求1所述的方法,其中所述向量包括概率的向量。
10.如权利要求1所述的方法,其还包括使用第四模型确定与所述车辆相关联的第二变量消息的第三预测值。
11.如权利要求1所述的方法,其还包括:
使用第四模型基于所述向量确定第二输出值;以及
组合所述输出值和所述第二输出值,所组合的输出值对应于所述异常或所述攻击正在发生的所述可能性或者所述异常或所述攻击的所述类型中的至少一者。
12.如权利要求1所述的方法,其中所述第三模型包括元模型。
13.如权利要求1所述的方法,其还包括使用所述第一模型确定与所述车辆相关联的第二变量消息的第三预测值。
14.如权利要求1所述的方法,其中使用所述第一模型确定与所述车辆相关联的所述第一变量消息的所述第一预测值包括:使用与所述车辆相关联的至少一个第二变量消息来确定所述第一预测值,其中所述至少一个第二变量消息与所述第一变量消息相关联。
15.一种或多种非暂时性计算机可读存储介质,其包括在由一个或多个处理器执行时使所述一个或多个处理器执行以下步骤的指令:
使用第一模型确定与车辆相关联的第一变量消息的第一预测值;
使用第二模型确定与所述车辆相关联的所述第一变量消息的第二预测值;
基于所述第一变量消息的实际值与所述第一变量消息的所述第一预测值之间的差值并且基于所述第一变量消息的所述实际值与所述第一变量消息的所述第二预测值之间的差值来确定向量;以及
使用第三模型基于所述向量确定输出值,所述输出值对应于异常或攻击正在发生的可能性或者所述异常或所述攻击的类型中的至少一者。
16.如权利要求15所述的一种或多种非暂时性计算机可读存储介质,其中所述第一模型包括时间序列模型,并且所述第二模型包括回归模型。
17.如权利要求15所述的一种或多种非暂时性计算机可读存储介质,其中所述第一模型包括第一时间序列模型,并且所述第二模型包括第二时间序列模型。
18.如权利要求15所述的一种或多种非暂时性计算机可读存储介质,其中所述第一模型包括第一回归模型,并且所述第二模型包括第二回归模型。
19.一种系统,其包括:
存储应用的存储器;以及
一个或多个处理器,所述一个或多个处理器在执行所述应用时被配置为:
使用第一模型确定与车辆相关联的第一变量消息的第一预测值;
使用第二模型确定与所述车辆相关联的第二变量消息的第二预测值;
基于所述第一变量消息的实际值与所述第一变量消息的所述第一预测值之间的差值并且基于所述第二变量消息的实际值与所述第二变量消息的所述第二预测值之间的差值来确定向量;以及
使用第三模型基于所述向量确定输出值,所述输出值对应于异常或攻击正在发生的可能性或者所述异常或所述攻击的类型中的至少一者。
20.如权利要求19所述的系统,其中所述一个或多个处理器在执行所述应用时还被配置为使用所述第一模型来确定与所述车辆相关联的第三变量消息的第三预测值。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063068250P | 2020-08-20 | 2020-08-20 | |
US63/068,250 | 2020-08-20 | ||
US17/404,759 US12001553B2 (en) | 2020-08-20 | 2021-08-17 | Detecting vehicle malfunctions and cyber attacks using machine learning |
US17/404,759 | 2021-08-17 | ||
PCT/US2021/046574 WO2022040360A1 (en) | 2020-08-20 | 2021-08-18 | Detecting vehicle malfunctions and cyber attacks using machine learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115943396A true CN115943396A (zh) | 2023-04-07 |
Family
ID=77774977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180050848.3A Pending CN115943396A (zh) | 2020-08-20 | 2021-08-18 | 使用机器学习检测车辆故障和网络攻击 |
Country Status (5)
Country | Link |
---|---|
US (1) | US12001553B2 (zh) |
EP (1) | EP4200733A1 (zh) |
KR (1) | KR20230054376A (zh) |
CN (1) | CN115943396A (zh) |
WO (1) | WO2022040360A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020142110A1 (en) * | 2018-12-31 | 2020-07-09 | Intel Corporation | Securing systems employing artificial intelligence |
US20220374515A1 (en) * | 2021-04-23 | 2022-11-24 | Ut-Battelle, Llc | Universally applicable signal-based controller area network (can) intrusion detection system |
WO2024025539A1 (en) * | 2022-07-28 | 2024-02-01 | Siemens Industry Software Inc. | Hardware behavior analysis |
CN115453589A (zh) * | 2022-08-19 | 2022-12-09 | 中国科学院深圳先进技术研究院 | 基于自动驾驶的攻击检测方法、终端设备以及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10222769B2 (en) * | 2012-10-12 | 2019-03-05 | Emerson Process Management Power & Water Solutions, Inc. | Method for determining and tuning process characteristic parameters using a simulation system |
WO2017030882A1 (en) | 2015-08-14 | 2017-02-23 | Crown Equipment Corporation | Steering and traction applications for determining a steering control attribute and a traction control attribute |
WO2018039142A1 (en) * | 2016-08-22 | 2018-03-01 | Rapidsos, Inc. | Predictive analytics for emergency detection and response management |
US11934520B2 (en) * | 2018-03-28 | 2024-03-19 | Nvidia Corporation | Detecting data anomalies on a data interface using machine learning |
US20200027105A1 (en) * | 2018-07-20 | 2020-01-23 | Jpmorgan Chase Bank, N.A. | Systems and methods for value at risk anomaly detection using a hybrid of deep learning and time series models |
US11010472B1 (en) * | 2018-10-23 | 2021-05-18 | Architecture Technology Corporation | Systems and methods for signature-less endpoint protection against zero-day malware attacks |
US10802942B2 (en) * | 2018-12-28 | 2020-10-13 | Intel Corporation | Methods and apparatus to detect anomalies of a monitored system |
SG10201901110RA (en) * | 2019-02-08 | 2020-09-29 | Accenture Global Solutions Ltd | Method and system for detecting and preventing malware execution in a target system |
US11568282B2 (en) * | 2019-09-24 | 2023-01-31 | International Business Machines Corporation | Mitigating adversarial effects in machine learning systems |
US11827237B2 (en) * | 2019-12-27 | 2023-11-28 | Toyota Connected North America, Inc. | Systems and methods for real-time crash detection using telematics data |
US11425155B2 (en) * | 2020-03-12 | 2022-08-23 | The Aerospace Corporation | Monitoring the integrity of a space vehicle |
EP3916667A1 (en) * | 2020-05-29 | 2021-12-01 | Fortia Financial Solutions | Real-time time series prediction for anomaly detection |
US11531946B2 (en) * | 2020-06-30 | 2022-12-20 | Paypal, Inc. | Optimizing machine learning model total payment volume predictions using model stacking |
-
2021
- 2021-08-17 US US17/404,759 patent/US12001553B2/en active Active
- 2021-08-18 CN CN202180050848.3A patent/CN115943396A/zh active Pending
- 2021-08-18 WO PCT/US2021/046574 patent/WO2022040360A1/en active Application Filing
- 2021-08-18 KR KR1020237006193A patent/KR20230054376A/ko active Search and Examination
- 2021-08-18 EP EP21770342.0A patent/EP4200733A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20230054376A (ko) | 2023-04-24 |
US12001553B2 (en) | 2024-06-04 |
US20230054575A1 (en) | 2023-02-23 |
EP4200733A1 (en) | 2023-06-28 |
WO2022040360A1 (en) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12001553B2 (en) | Detecting vehicle malfunctions and cyber attacks using machine learning | |
Song et al. | In-vehicle network intrusion detection using deep convolutional neural network | |
Hanselmann et al. | CANet: An unsupervised intrusion detection system for high dimensional CAN bus data | |
CN111771371B (zh) | 用于在线实时多对象跟踪的系统和方法 | |
Azadani et al. | Driving behavior analysis guidelines for intelligent transportation systems | |
Xue et al. | Rapid Driving Style Recognition in Car‐Following Using Machine Learning and Vehicle Trajectory Data | |
US11928006B2 (en) | System and method for labeling bits of controller area network (CAN) messages | |
US11400944B2 (en) | Detecting and diagnosing anomalous driving behavior using driving behavior models | |
US20230012186A1 (en) | System and method for vibroacoustic diagnostic and condition monitoring a system using neural networks | |
WO2020140897A1 (en) | Detecting vehicle intrusion using command pattern models | |
US11563624B2 (en) | Fault detection and isolation system for vehicles | |
Martinelli et al. | Machine learning for driver detection through CAN bus | |
Salunkhe et al. | Energy optimization for CAN bus and media controls in electric vehicles using deep learning algorithms | |
Sugunaraj et al. | Electronic control unit (ECU) identification for controller area networks (CAN) using machine learning | |
Mansourian et al. | Anomaly detection for connected autonomous vehicles using LSTM and Gaussian naïve Bayes | |
Narayanan et al. | Using semantic technologies to mine vehicular context for security | |
Kłusek et al. | Driver profiling by using LSTM networks with Kalman filtering | |
US20230376832A1 (en) | Calibrating parameters within a virtual environment using reinforcement learning | |
CN116168210A (zh) | 用于神经网络的对抗鲁棒性的特征的选择性剔除 | |
Fazio et al. | A new application for analyzing driving behavior and environment characterization in transportation systems based on a fuzzy logic approach | |
WO2023167740A1 (en) | Method and apparatus for vehicular security behavioral layer | |
Kristianto et al. | Automobile theft detection by driving behavior identification using deep autoencoder | |
Narayanan | A framework for detecting anomalous behaviors in smart cyber-physical systems | |
Martinelli et al. | Neural Networks for Driver Behavior Analysis. Electronics 2021, 10, 342 | |
US20230316728A1 (en) | Robust neural network learning system |
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 |