CN109074519B - 信息处理装置、信息处理方法以及程序 - Google Patents

信息处理装置、信息处理方法以及程序 Download PDF

Info

Publication number
CN109074519B
CN109074519B CN201780022736.0A CN201780022736A CN109074519B CN 109074519 B CN109074519 B CN 109074519B CN 201780022736 A CN201780022736 A CN 201780022736A CN 109074519 B CN109074519 B CN 109074519B
Authority
CN
China
Prior art keywords
data
learning
learning dictionary
noise
region
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.)
Active
Application number
CN201780022736.0A
Other languages
English (en)
Other versions
CN109074519A (zh
Inventor
高桥良太
佐佐木崇光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority claimed from PCT/JP2017/040727 external-priority patent/WO2018105320A1/ja
Publication of CN109074519A publication Critical patent/CN109074519A/zh
Application granted granted Critical
Publication of CN109074519B publication Critical patent/CN109074519B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/10Pre-processing; Data cleansing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00555Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks comprising means to detect or avoid relay attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Complex Calculations (AREA)

Abstract

一种具备处理器的信息处理装置,处理器执行:接受作为训练数据而使用的2个以上的作为向量的数据要素的输入,对训练数据进行正规化以使得该训练数据遍及并分布于第一区域,将包含第一区域的多维的第二区域分割为大小相等的作为超立方体的第三区域,取得第三区域各自包含的数据要素的个数S,对包含比第一阈值T少的个数的数据要素的第三区域的每一个以均匀分布的方式附加作为向量的(T‑S)个噪声要素,生成包含位于第二区域内的向量的噪声附加训练数据,使用生成的噪声附加训练数据生成孤立森林的学习辞典数据并输出该学习辞典数据。

Description

信息处理装置、信息处理方法以及程序
技术领域
本公开涉及在车载网络等中使用的异常检测技术。
背景技术
在电子化不断发展的汽车中,车载网络的重要性相比以前更加提高。
在汽车中搭载有控制各种系统的很多电子控制单元(Electronic Control Unit,以下记为ECU)。在ECU间连接有车载网络,为了实现汽车的各功能而经由该车载网络进行通信。CAN(Controller Area Network:控制器局域网络)作为这样的车载网络的标准之一,作为正规化的技术而在很多国家和地区被采用。
遵照CAN协议的网络在1台车上能够构筑为闭合的通信路径。然而,在各汽车中构筑并搭载允许来自外部的访问的网络并不罕见。例如在车载网络中,设置有用于将在网络上流动的信息以利用于车载的各系统的诊断为目的而取出的端口、连接有具备提供无线LAN的功能的导航系统。通过允许向车载网络进行来自外部的访问,对汽车的用户来说能够提高便利性,而另一方面威胁也增大。
例如在2013年,证实了能够进行由来自车载网络的外部的停车支援功能等的不当使用导致的不正常的车辆控制。另外,在2015年证实了能够对特定的车种进行远程的不正常控制,以该证实为开端而演变成该车种的召回。
由这样的来自外部的访问导致的车辆的不正常控制对汽车业来说是不容无视的问题,车载网络的安全对策处于紧急的状况。
作为向车载网络攻击的一个方法,有如下方法,即,连接于网络的ECU被从外部访问并接管该ECU,从该ECU发送用于攻击的帧(以下也称为攻击帧)并对汽车进行不正常控制。攻击帧是与在未被攻击的车载网络中流动的正常的帧在某种程度上不同的异常的帧。
作为用于在这样的车载网络中进行异常检测的技术,公开了如下技术,即,使用评价模型执行对于在CAN的总线上流动的帧(以下,也称为CAN消息或仅称为消息)的异常数据检测处理,所述评价模型是作为使用了学习数据进行的学习的结果而得到的模型(参照专利文献1、专利文献2)。
现有技术文献
专利文献1:日本特开2015-026252号公报
专利文献2:日本特开2015-170121号公报
非专利文献1:Fei Tony Liu,Kai Ming Ting,Zhi-Hua Zhou,IsolationForest,"ICDM'08:Proceedings of the 2008 Eighth IEEE International Conferenceon Data Mining",(USA),IEEE Computer Society,December 2008,pp.413-422
发明内容
发明要解决的问题
对车载网络的攻击以及用于对抗攻击的安全技术正在研究中,并且专利文献1、2的技术并不足够充分,期望更进一步的研究开发。
本公开提供一种对基于汽车等车辆的车载网络的攻击的异常检测有用的信息处理装置等。
用于解决问题的技术方案
为了解决上述问题,本公开的一个技术方案的信息处理装置,具备处理器,所述处理器执行:数据要素取得步骤,接受作为孤立森林的训练数据而使用的N个作为M维向量的数据要素的输入,其中,M、N是2以上的整数;正规化步骤,对所述训练数据进行正规化以使得所述训练数据遍及并分布于M维的第一区域;分割步骤,将比所述第一区域大且包含所述第一区域的M维的第二区域分割为大小相等的LM个作为M维超立方体的第三区域,其中,L是4以上的整数;第一噪声附加步骤,取得所述第三区域各自包含的所述数据要素的个数S,对所述第三区域中、包含比第一阈值T少的个数的所述数据要素的第三区域的每一个,以均匀分布的方式附加(T-S)个作为M维向量的噪声要素,其中,S是0以上的整数,T是自然数;生成步骤,生成包含所述数据要素以及所述噪声要素的噪声附加训练数据;以及学习辞典数据输出步骤,使用所述噪声附加训练数据生成孤立森林的学习辞典数据并输出该学习辞典数据。
另外,本公开的一技术方案的信息处理方法,是使用具备处理器的信息处理装置执行的信息处理方法,包括使所述处理器执行的以下步骤:数据要素取得步骤,接受作为孤立森林的训练数据而使用的N个作为M维向量的数据要素的输入,其中,M、N是2以上的整数;正规化步骤,对训练数据进行正规化以使得所述训练数据遍及并分布于M维的第一区域;分割步骤,将比所述第一区域大且包含所述第一区域的M维的第二区域分割为大小相等的LM个作为M维超立方体的第三区域,其中,L是4以上的整数;第一噪声附加步骤,取得第三区域各自包含的数据要素的个数S,对所述第三区域中、包含比第一阈值T少的个数的数据要素的第三区域的每一个,以均匀分布的方式附加(T-S)个作为M维向量的噪声要素,其中,S是0以上的整数,T是自然数;生成步骤,生成包含数据要素以及所述噪声要素的噪声附加训练数据;以及学习辞典数据输出步骤,使用噪声附加训练数据生成孤立森林的学习辞典数据并该学习辞典数据。
此外,这些总括性或具体的技术方案既可以由系统、装置、方法、集成电路、计算机程序或计算机可读取的CD-ROM等非瞬时性记录介质来实现,也可以由系统、装置、方法、集成电路、计算机程序和记录介质的任意组合来实现。
发明的效果
根据本公开,能够提供一种信息处理装置等,其迅速地提供在基于汽车等车辆的车载网络的攻击的异常检测中使用且误检测率得到了抑制的学习辞典。
附图说明
图1A是表示包含实施方式1的信息处理装置的异常检测系统的构成例的框图。
图1B是表示包含实施方式1的信息处理装置的异常检测系统的构成例的框图。
图1C是表示包含实施方式1的信息处理装置的异常检测系统的构成例的框图。
图2是表示构成上述异常检测系统的异常判定部以及学习部的构成例的框图。
图3是用于说明上述学习部使用训练数据生成的学习辞典的示意图。
图4是用于说明上述异常判定部的异常判定的示意图。
图5是表示生成学习辞典的上述学习部中的数据流的图。
图6是表示进行异常判定的上述异常判定部中的数据流的图。
图7是表示不符合训练数据的分布的不适当的判定边界的例的图。
图8是表示在上述异常检测系统中执行的、用于得到适当的学习辞典的训练数据的处理方法的一例的流程图。
图9A是表示分布于M维空间的正规化前的训练数据的例子的图。
图9B是表示分布于M维空间的正规化后的训练数据的例子的图。
图9C是表示分布于M维空间的噪声要素附加后的训练数据的例子的图。
图10是表示在上述异常检测系统中执行的、用于得到适当的学习辞典的训练数据的处理方法的其他一例的流程图。
图11A是用于说明M维空间的M维区域的分割例的图。
图11B是用于说明分布于M维空间的噪声要素附加后的训练数据的例子的图。
图12A是表示使用没有附加噪声的训练数据生成的学习辞典的判定边界和使用附加有噪声的相同的训练数据生成的学习辞典的判定边界的图。
图12B是表示使用没有附加噪声的训练数据生成的学习辞典的判定边界和使用附加有噪声的相同的训练数据生成的学习辞典的判定边界的图。
图12C是表示使用在图12A以及图12B中示出判定边界的各学习辞典实现的异常检测试验中的误检测率的条形图。
图13是表示在实施方式2的异常检测系统中执行的、用于进行与训练数据的处理方法的选择以及各处理方法中的参数的搜索的执行的有无相关的决定的处理方法的一例的流程图。
图14是在实施方式2的异常检测系统中执行的、用于得到更加适当的学习辞典的处理方法的一例的流程图。
图15是表示在实施方式2的异常检测系统中执行的、用于得到更加适当的学习辞典的处理方法的其他例的流程图。
具体实施方式
(成为本公开的基础的见解等)
作为车载网络的安全对策而提出的方法,大致分为两种。
一种是利用消息的加密或发送源的认证的方法。但是,该技术中,理论上有效但是需要变更ECU的安装,另外,由于存在每一台汽车所搭载的ECU超过数百个的情况,所以早期的普及很难。
另一种是监视在车载网络上流动的CAN消息的方法。该方法能够通过在各汽车上追加监视用的ECU(节点)而实现、导入比较容易。若对已提出的这样的方法进行进一步分类,能够大致分为规则库的方法、利用数据的发送周期的方法、利用LOF(Local OutlierFactor:局部异常因子)检测消息的内容的异常值(离群值)的方法这三种。
这三种方法中,规则库的方法以及利用数据的发送周期的方法能够应对已知的攻击模式,而要检测未知的攻击模式,就需要像利用LOF的方法这样进行基于消息的内容的检测。
但是,在利用LOF的方法中,为了进行CAN消息的评价需要保持大量的正常数据,所要求的计算量很大。然而,连接于车载网络的ECU的数据的处理能力以及存储区域的容量并不是很充裕,在这样的执行环境下如果不是能够以在道路上以时速数十km以上行驶的汽车所要求的速度进行检测的方法则并不实用。
因此本发明人想到了在车载网络的异常检测的方法中利用比LOF要求的保持数据少、且计算量小的被称为孤立森林(Isolation Forest)或iForest(参照非专利文献1)的异常检测算法。另外,本发明人进一步提出了以下技术,即,在利用孤立森林之后,即使在以有限的计算机资源执行的情况下,也能够以必要的速度且尽可能高的精度进行异常检测的执行。
本公开的一技术方案的信息处理装置,具备处理器,处理器执行:数据要素取得步骤,接受作为孤立森林的训练数据而使用的N个作为M维向量的数据要素的输入,其中,M、N是2以上的整数;正规化步骤,对训练数据进行正规化以使得所述训练数据遍及并分布于M维的第一区域;分割步骤,将比第一区域大且包含所述第一区域的M维的第二区域分割为大小相等的LM个作为M维超立方体的第三区域,其中,L是4以上的整数;第一噪声附加步骤,取得第三区域各自包含的数据要素的个数S,对所述第三区域中、包含比第一阈值T少的个数的数据要素的第三区域的每一个,以均匀分布的方式附加(T-S)个作为M维向量的噪声要素,其中,S是0以上的整数,T是自然数;生成步骤,生成包含数据要素以及噪声要素的噪声附加训练数据;以及学习辞典数据输出步骤,使用噪声附加训练数据生成孤立森林的学习辞典数据并输出该学习辞典数据。
由此,能够得到以更低的误检测率执行孤立森林的学习辞典。
另外,例如也可以是,处理器,执行第一判定步骤,第一判定步骤中,判定N是否为预定的第二阈值以上,在第一判定步骤中判定为N不为所述第二阈值以上的情况下,在执行分割步骤以及所述第一噪声附加步骤之后执行生成步骤以及学习辞典数据输出步骤。
由此,例如在训练数据的数据要素的个数相对于处理器的负荷状况过大的情况下,能够延期生成使用了该训练数据的学习辞典数据。
另外,例如也可以是,处理器,在第一判定步骤中判定为N为第二阈值以上的情况下,在执行第二噪声附加步骤之后执行生成步骤以及学习辞典数据输出步骤,第二噪声附加步骤中,将K个作为M维向量的噪声要素以均匀分布的方式附加于第二区域内,其中,K是比N小的自然数。
由此,能够根据随训练数据的大小而变化的处理负荷切换噪声的附加方法,并能够以与执行环境相适合的速度生成学习辞典。
另外,例如也可以是,处理器进一步,在第一判定步骤中判定为N不为第二阈值以上的情况下,执行测试用数据取得步骤和第二判定步骤,测试用数据取得步骤中,接受孤立森林的测试用数据的输入;第二判定步骤中,判定N是否为预定的第三阈值以上,在第二判定步骤中判定为N不为第三阈值以上的情况下,执行评价步骤和学习辞典数据选择步骤,评价步骤中,使用所述分割步骤中值不同的L执行多回所述分割步骤、第一噪声附加步骤、所述生成步骤、以及所述学习辞典数据输出步骤这组步骤,输出多个学习辞典数据,进一步,使用多个学习辞典数据的每一个执行对测试用数据的异常检测,基于异常检测的结果评价多个学习辞典数据的每一个;学习辞典数据选择步骤中,基于评价步骤的结果从多个学习辞典数据中选择最佳的学习辞典数据,在第二判定步骤中判定为N为所述第三阈值以上的情况下,使用分割步骤中作为预定值的L执行1回所述组步骤。
由此,能够根据随训练数据的大小而变化的处理负荷切换:是生成多个学习辞典数据并输出最佳学习辞典数据,还是生成一个学习辞典数据并输出。因此,能够以与执行环境相适合的速度生成学习辞典。
另外,例如也可以是,处理器在第二判定步骤中判定为N不为第三阈值以上的情况下,以与N的值具有负相关的方式决定L的不同的值的个数。
由此,训练数据越大,则通过越减少对第三区域的分割数而减轻处理负荷。因此,能够以与执行环境相适合的速度生成学习辞典。
另外,例如也可以是,处理器在第一噪声附加步骤中,决定比位于第一区域内的第三区域的各自所包含的所述数据要素的个数的中央值小的任一个个数来作为第一阈值T的值。
由此,训练数据越大,则能够通过越减少附加噪声要素的第三区域的个数来抑制处理负荷的增大。因此,能够以与执行环境相适合的速度生成学习辞典。
另外,例如也可以是,处理器,在第一判定步骤中判定为N为第二阈值以上的情况下,执行测试用数据取得步骤和第三判定步骤,测试用数据取得步骤中,接受孤立森林的测试用数据的输入;第三判定步骤中,判定N是否为预定的第四阈值以上,在第三判定步骤中判定为N不为第四阈值以上的情况下,执行评价步骤和学习辞典数据选择步骤,评价步骤中,使用第二噪声附加步骤中值不同的K执行多回第二噪声附加步骤、生成步骤、以及学习辞典数据输出步骤这组步骤,输出多个学习辞典数据,进一步,使用多个学习辞典数据的每一个执行对测试用数据的异常检测,评价多个学习辞典数据的每一个;学习辞典数据选择步骤中,基于评价步骤的结果从多个学习辞典数据中选择最佳的学习辞典数据,在第三判定步骤中判定为N为第四阈值以上的情况下,使用第二噪声附加步骤中作为预定值的K执行1回所述组步骤。
由此,能够根据随着训练数据的大小而变化的处理负荷切换:是生成多个学习辞典数据并输出最佳学习辞典数据,还是生成一个学习辞典数据并输出。因此,能够以与执行环境相适合的速度生成学习辞典。
另外,例如也可以是,处理器在第三判定步骤中判定为N不为第四阈值以上的情况下,以与N的值具有负相关的方式决定K的不同的值的个数。
由此,能够通过减少生成的学习辞典的个数来抑制处理负荷的增大。因此,能够以与执行环境相适合的速度生成学习辞典。
另外,例如也可以是,在将第一区域设为M维空间中的由[0,1]M的超立方体划定的区域时,第二区域是在空间中由[-0.5,1.5]M的超立方体划定的区域。
由此,即使在学习辞典的生成中可利用的训练数据存在很少异常值的情况下,也能够得到能够以更低的误检测率进行的异常检测的学习辞典。
另外,本公开的一个技术方案的异常检测系统,具备:以上记载的信息处理装置的任一个;和异常判定装置,具备存储从信息处理装置输出的学习辞典数据的存储器以及处理器,并与网络连接,处理器取得在网络中流动的数据,基于存储器所存储的学习辞典数据执行所取得的数据的异常判定。
由此,能够利用在考虑了精度之后迅速更新的学习辞典执行异常检测。
另外,本公开的一个技术方案的信息处理方法,是使用具备处理器的信息处理装置执行的信息处理方法,包括使处理器执行的以下步骤:数据要素取得步骤,接受作为孤立森林的训练数据而使用的N个作为M维向量的数据要素的输入,其中,M、N是2以上的整数;正规化步骤,对训练数据进行正规化以使得训练数据遍及并分布于M维的第一区域;分割步骤,将比第一区域大且包含第一区域的M维的第二区域分割为大小相等的LM个作为M维超立方体的第三区域,其中,L是4以上的整数;第一噪声附加步骤,取得第三区域各自包含的数据要素的个数S,对所述第三区域中、包含比第一阈值T少的个数的数据要素的第三区域的每一个,以均匀分布的方式附加(T-S)个作为M维向量的噪声要素,其中,S是0以上的整数,T是自然数;生成步骤,生成包含数据要素以及噪声要素的噪声附加训练数据;以及学习辞典数据输出步骤,使用噪声附加训练数据生成孤立森林的学习辞典数据并该学习辞典数据。
另外,本公开的一个技术方案的程序是使计算机具备的处理器执行上述信息处理方法的程序。
通过这样的方法或程序,也能够得到能够以更低的误检测率执行孤立森林的学习辞典。
此外,这些总括性或具体的技术方案既可以由系统、方法、集成电路、计算机程序或计算机可读取的CD-ROM等记录介质的任一个实现,也可以由系统、方法、集成电路、计算机程序和记录介质的任意组合来实现。
以下,针对实施方式的信息处理装置、信息处理方法等,参照附图并进行说明。在此示出的实施方式均表示本公开的一个具体例。因此,在以下的实施方式中示出的数值、构成要素、构成要素的配置以及连接方式以及步骤(工序)以及步骤的顺序等是一例且并不限定本公开。
另外,以下的实施方式的构成要素中独立权利要求所没有记载的构成要素是能够任意附加的构成要素。各图是示意图且不一定是严格图示的图。
另外,以下所包含的关于CAN以及孤立森林的说明主旨在于帮助本公开的理解,该说明中没有包含在权利要求书中的事项并不意在限定本公开。
(实施方式1)
[构成]
[概要]
图1A至图1C是分别表示包含实施方式1的信息处理装置的异常检测系统的一个构成例的框图。
图1A至图1C中分别示出构成不同的异常检测系统100A、100B、以及100C。
异常检测系统100A~100C是使用被称为孤立森林的算法检测作为监视对象的在网络中流动的数据的异常的系统,且均具备异常判定部110以及学习部120。
异常判定部110判定在车辆20具备的车载网络210中流动的数据正常还是异常。车辆20例如是汽车。
车载网络210例如是符合CAN的标准的网络,在图1A至图1C的各构成例中,包含总线、连接于该总线的多个ECU以及诊断用端口。多个ECU包含从各种传感器收集测定数据并进行分析的ECU、控制发动机的ECU、控制制动器的ECU、监视网络的ECU等功能不同的ECU。在车载网络210中流动的数据是指在总线上流动的消息的数据。
学习部120进行用于异常判定部110进行上述判定的事前的学习。更具体而言,学习部120使用训练数据进行学习,生成异常判定部110在上述判定中使用的学习辞典。生成的学习辞典的数据(以下,也称为学习辞典数据)例如保存于存储装置(未图示)。
异常判定部110从存储装置读入学习辞典,基于作为进行正常还是异常的判定的对象的未知的数据、也即是从车载网络210取得的消息的数据对照于该学习辞典是否脱离来判定是否是异常。更详细地说,学习部120生成的学习辞典由多个二叉树构成,异常判定部110使用根据这些多个二叉树算出的得分的平均值判定数据是否异常。此外,在孤立森林中使用的该二叉树被称为Isolation Tree(孤立树)或iTree。
异常判定部110以及学习部120是通过将预定的程序读入并执行的处理器提供的功能性的构成要素。并且在图1A至图1C的各构成例中,提供这些处理器的功能性的构成要素的处理器的场所不同。
在图1A所示的构成例中,学习部120通过位于车辆20的外部的、作为所谓的子计算机的外部服务器10具备的处理器以及存储器提供。外部服务器10是本实施方式的信息处理装置的一例。
该情况下,学习部120例如经由通信网从车辆20取得在车载网络210中流动的消息来作为训练数据。另外,学习部120输出使用该训练数据生成的孤立森林的学习辞典数据,经由通信网提供给车辆20的异常判定部110。
另外,在车辆20中,学习辞典数据例如保存在与车载网络210连接的网络监视用的监视ECU具备的微控制器的闪存等的存储装置中,通过该微控制器的处理器提供异常判定部110。异常判定部110对从总线取得的消息,使用从该存储装置取得了的学习辞典数据执行消息的异常判定。
此外,在这样的构成中,也能够将车辆20的出厂后更新了的学习辞典数据提供给异常判定部110。
在图1B所示的构成例中,异常判定部110以及学习部120这两方通过位于车辆20的外部的、外部服务器10具备的处理器以及存储器提供。这样的外部服务器10也是本实施方式的信息处理装置一例。
在该情况下,学习部120例如也经由通信网从车辆20取得在车载网络210中流动的消息来作为训练数据。另外,学习部120输出使用该训练数据生成的孤立森林的学习辞典数据,但是输出目的地不是外部服务器10的外部,而是保存在例如外部服务器10具备的硬盘驱动器等的存储装置(未图示)中。
在该构成中,异常判定不在车辆20上进行而在外部服务器10上进行。也就是说,在车载网络210中流动的消息经由通信网向外部服务器10发送。外部服务器10接收到的该消息被输入至异常判定部110。异常判定部110从存储装置取得学习辞典数据,使用该学习辞典数据执行消息的异常判定,将其结果经由通信网发送至车辆20。
此外,在这样的构成中,在外部服务器10中异常判定部110利用的学习辞典数据被随时更新。
在图1C所示的构成例中,异常判定部110以及学习部120这两方通过与车辆20的车载网络210连接并监视车载网络210的ECU即监视ECU具备的微控制器提供。监视ECU10是本实施方式的信息处理装置的一例。
该情况下,学习部120例如直接取得并利用在车载网络210中流动的消息来作为训练数据。另外,学习部120输出使用该训练数据生成的孤立森林的学习辞典数据,但是输出目的地并不是车辆20的外部,而是保存在位于车辆20上的存储装置例如监视ECU内的闪存等的存储装置中。
在该构成中,学习辞典的生成和异常判定都在车辆20上进行。例如,在监视ECU中,学习部120取得在连接有该监视ECU的车载网络210中流动的消息的数据用作训练数据并生成学习辞典。生成的学习辞典的数据保存在监视ECU的存储装置中。另外,在监视ECU中,进一步异常判定部110从存储装置取得学习辞典数据,使用该学习辞典数据执行消息的异常判定。
此外,在这样的构成中,车辆20上的异常判定部110利用的学习辞典数据的更新也能够进行。
另外,图1A至图1C所示出的各构成在出厂后的车辆20上并不是固定的构成,而可以是在车辆20上能够动态变更的构成。例如也可以是,根据车辆20与外部服务器10之间的通信速度、监视ECU的计算机资源的使用率、车辆20是电动汽车的情况下的剩余电力量、或驾驶员的操作,能够在这些构成间进行切换。
[异常判定部以及学习部的构成]
针对作为在构成的概要中记载的异常检测系统100A、100B以及100C各自的构成要素的异常判定部110以及学习部120的构成进行说明。此外,以下,并不特别指定异常检测系统100A、100B以及100C的任意一部分,或者也将其全部统称为异常检测系统100。
图2是表示构成异常检测系统100的异常判定部110以及学习部120的构成例的框图。
如图2所示,学习部120具有训练数据接收部122以及学习辞典生成部124。
训练数据接收部122接受训练数据的输入。这里的训练数据是指2个以上的M维向量,M是2以上的整数。各维度的值例如是最大为8字节的CAN消息的有效载荷(payload)的从开头起的各字节的值。
学习部120使用训练数据接收部122接受了输入的训练数据生成学习辞典数据,将该学习辞典数据向后述的异常判定部110的储存部112输出。
图3是用于说明M=2的情况下的训练数据的数据要素(data element,数据元素)、以及使用该训练数据生成的学习辞典的示意图。在图3中,数据要素是分布于M维空间内的点群且各点以空心圆表示,学习辞典是M维空间的边界且以粗实线表示。以下也将该边界称为判定边界。此外,在M=2的情况下,判定边界是边界线。
进一步如图2所示,异常判定部110具备储存部112、判定对象数据接收部114、判定对象数据转换部116、以及判定执行部118。
储存部112如上所述保存从学习部120输出的学习辞典数据。另外,也将在后述的判定对象数据的转换中使用的数据保存在储存部112中。
判定对象数据接收部114从车载网络210取得作为异常判定的对象的数据,也即是CAN消息。
判定对象数据转换部116将判定对象数据接收部114接收到的CAN消息转换为用于由判定执行部118处理的形式。在该转换中,例如进行从CAN消息的对作为判定对象的部分的抽出、使用了上述判定对象数据的转换用的数据进行的正规化等。就正规化而言,在后面进行说明。
判定执行部118基于在储存部112中作为学习辞典数据保存的学习辞典,执行判定对象数据是正常还是异常的判定,也即是异常判定。
图4是用于说明该异常判定的示意图。在图4中,判定对象数据A和判定对象数据B这2件数据基于其值而被示出在M维空间内。
判定执行部118基于各数据位于学习辞典的判定边界的内侧还是外侧来判定正常还是异常,并将其结果输出。在该例中,位于判定边界的内侧的判定对象数据A被判定为是正常,位于判定边界的外侧的判定对象数据B被判定为是异常。在判定为是异常的情况下,在包含异常判定部110以及学习部的监视ECU中,例如执行接受该判定结果来作为输入的其他程序并将错误消息输出至总线、发送用于限制其他ECU的功能的一部分或全部或用于将其他ECU转变为异常时应对的特别的工作模式的命令。另外,也可以将向车辆20的驾驶员发出的异常发生的通知通过仪表盘上的显示或声音发出。除此之外,也可以将与异常发生相关的信息记录为日志。该日志,例如由车辆20的机械师等通过车载网络210所包含的诊断用端口取得并利用。
异常判定部110以及学习部120的各构成要素执行孤立森林的算法的一部分,并如上所述联合执行孤立森林的全部算法。
[异常检测系统的处理的概要]
将具备上述构成要素的异常判定部110以及学习部120中的数据流在图5以及图6中表示。图5是表示生成学习辞典的学习部120中的数据流的图。图6是表示进行异常判定的异常判定部110中的数据流的图。此外,这些图基于表示数据流的时序图,以兼顾表示各部中的处理顺序的流程图的方式示出。
如图5所示,在生成学习辞典的学习部120中,首先,训练数据接收部122接受输入而取得训练数据(步骤S51)。就训练数据的输入源而言,若执行学习辞典的生成是在车辆20的出厂前,则例如是该阶段人为指定或预先设定的存储装置内的场所。另外,若执行学习辞典的生成是在车辆20的出厂后,则例如是连接有包含学习部120的监视ECU的车载网络210。
接着,在学习部120中,学习辞典生成部124对所输入的训练数据进行正规化(步骤S52),使用正规化完毕的训练数据,利用孤立森林的方法生成学习辞典(步骤S53)。此外,正规化是指,对所输入的训练数据在M维空间的原始的分布范围进行转换以使得保持各训练数据的相对的位置关系并且该分布范围遍及于该空间内的预定的区域内的计算处理。
将所生成的学习辞典的数据传递给异常判定部110(步骤S54),在异常判定部110中将该学习辞典数据保存于储存部112(步骤S55)。另外,与学习辞典数据一起,将在上述正规化的计算处理中使用了的数据也从学习部120传递给异常判定部110。在该数据中包含转换所需要的特征向量的各成分的最大值以及最小值等。在异常判定部110中,使用该数据执行作为判定对象的未知数据的正规化。
另外,如图6所示,在进行异常判定的异常判定部110中,首先,判定对象数据接收部114从车载网络210取得作为异常判定的对象的CAN消息的数据(步骤S61)。
接着,在异常判定部110中,判定执行部118读入储存部112所保存的学习辞典数据(步骤S62)。另外,判定对象数据转换部116将在训练数据的正规化中使用了的系数等数据从储存部112读入,使用该数据对判定对象数据、也即是取得的CAN消息的数据进行正规化(步骤S63)。判定执行部118基于学习辞典数据,判定该正规化了的数据是正常还是异常(步骤S64)。
以上是在异常检测系统100中执行的、包含从使用了训练数据的学习辞典的生成、到使用了该学习辞典的异常判定为止的工序的异常检测的处理的概要。通过在该异常检测中采用孤立森林的方法与以往相比能够减轻计算机资源的负荷,更高速地执行处理。
然而,在孤立森林的算法中,有时作为学习的结果得到的学习辞典的判定边界并不适当地符合正常的训练数据的M维空间的分布。图7是这样的不适当的判定边界的例子。这样,在判定边界与正常的数据要素的分布的外缘相比位于更内侧的情况下,在异常判定中会进行实际上为正常而判定为异常的误判定。在图7的例中,用涂黑的圆表示的数据要素是被判定为异常数据的数据要素,其中,实际上含有很多正常的数据要素。以下,将这样将正常的数据误判定为异常的误判定导致的误检测称为过检测。
成为误判定的原因的这样的学习辞典例如在训练数据所包含的异常数据的量不充分的情况下可能会发生。以下,说明为了在这样的情况下也能得到适当的学习辞典而由异常检测系统100进行的处理。
[用于得到适当的学习辞典的处理]
以下,说明用于得到本实施方式的适当的学习辞典的处理方法的2个例子。
[第一处理方法]
图8是表示作为用于得到如上所述的适当的学习辞典的训练数据的处理方法的一例的第一处理方法的流程图。
第一处理方法中,在接受了由2个以上的M维向量构成的孤立森林的训练数据的输入之后的学习部120中,由学习辞典生成部124执行。但是以下,即使是由学习辞典生成部124进行的处理有时也作为学习部120的处理来进行说明。图9A是M=2的情况下的、在M维空间也即是2维平面分布的所输入的训练数据的初期状态的例子。
首先,学习部120读入在本处理中使用的参数(步骤S80)。参数的详细内容在以后的步骤中说明。
接着,学习部120取得所输入的训练数据的数据要素的个数(步骤S81)。
接着,学习部120基于数据要素的个数决定附加于训练数据的噪声要素的个数(步骤S82)。噪声要素也是M维向量。在步骤S80取得的参数在步骤S82中的噪声要素的个数的决定中使用,并且例如是比0大且比1小的实数。而且,附加于训练数据的噪声要素的个数使用对在步骤S81取得的数据要素的个数乘以该参数得到的值进行取整的值。也就是说,噪声要素的个数被决定为比训练数据的数据要素的个数小。
接着,学习部120对训练数据进行正规化(步骤S83)。图9B表示分布于2维平面的正规化后的训练数据的例子。在该例中,将正规化前如图9A所示分布的训练数据的分布范围转换为遍及于2维平面中的[0,1]2的区域。这样的区域是本实施方式的第一区域的例子。
接着,学习部120将在步骤S82决定了的个数的噪声要素遍及并附加于比第一区域大、且包含第一区域的M维空间、也即是在该例中2维平面的区域内(步骤S84)。图9C是分布于M维空间的噪声要素的附加后的训练数据的例子,噪声要素由分布于2维平面内的虚线轮廓的圆表示。在该例中,附加噪声要素以使其遍及并分布于[-0.5,1.5]2的区域。此外,这样的区域是本实施方式的第二区域的例子。
如图9C所示,步骤S84的工序的结果是,附加比原始的训练数据的数据要素个数少的噪声要素以使其分布于比原始的训练数据的分布范围大的区域。因此,噪声要素的分布密度比原始的训练数据的数据要素的分布密度低。另外,噪声要素在上述区域中,以作为整体成均匀分布的方式被附加。
接着,学习部120生成噪声附加训练数据,所述噪声附加训练数据将位于第二区域内的作为M维向量的要素,也即是,均为2维向量的训练数据的数据要素以及噪声要素包含在内(步骤S85)。
最后,学习部120使用在步骤S85生成的噪声附加训练数据生成孤立森林的学习辞典数据,并输出该学习辞典数据(步骤S86)。
此外,上述各步骤中,作为本实施方式例,步骤S82以及步骤S84是第二噪声附加步骤,步骤S85是生成步骤,步骤S86是学习辞典数据输出步骤。
也就是说,学习部120并不像以往那样直接使用正规化了的训练数据。而是使用在M维空间中,在包含进行了正规化的训练数据的分布范围的周边在内的区域施加有噪声而得到的训练数据生成学习辞典。
通过使用这样的噪声附加训练数据生成学习辞典,即使在训练数据所包含的异常数据少的情况下,也能避免得到图7所示那样的许多正常数据位于判定边界的外侧的学习辞典。其结果,在异常检测系统100中,能够进行过检测率得到了抑制的异常检测。
此外,在关于第一处理方法的上述说明中,通过使用取比0大且比1小的实数值的参数进行了比原始的训练数据的数据要素少的噪声要素的个数的决定,但是噪声要素的个数的决定的方法并不限定于此。例如噪声要素的个数也可以是,训练数据的数据要素的个数减去一定的数得到的个数。另外,也可以将训练数据的个数分为多个范围,对各范围使用预先确定的个数的噪声要素。这样的训练数据的个数和噪声要素的个数的对应例如包含在数据表中并存储于信息处理装置的存储器。
另外,第一处理方法中,以训练数据的数据要素为2维向量的情况为例进行了说明,但是基于第一处理方法的想法也能够普遍适用于更高维的空间,第一处理方法也能够适用于作为3维以上的向量的训练数据。若训练数据为M维向量,则上述第一区域的范围被替换为[0,1]M、第二区域的范围被替换为[-0.5,1.5]M而适用。也就是说,第一区域是M维空间中的由作为超立方体的第一超立方体划定的M维空间的区域、第二区域是在M维空间中由作为比第一超立方体大且包含该第一超立方体的超立方体的第二超立方体划定的M维空间的区域。
[第二处理方法]
图10是表示作为用于得到如上所述的适当的学习辞典的训练数据的处理方法的其他例的第二处理方法的流程图。
第二处理方法也在接收了由2个以上的M维向量构成的孤立森林的训练数据的输入之后的学习部120中通过学习辞典生成部124执行。但是,以下,即使是由学习辞典生成部124进行的处理有时也作为学习部120的处理进行说明。第二处理方法也以从图9A所示的训练数据的初期状态开始的情况为例进行说明。另外,对与第一处理方法具有的共同的工序有时简化说明。
首先,学习部120读入在本处理中使用的参数(步骤S100)。参数的详细内容在以后的步骤中说明。
接着,学习部120对所输入的训练数据进行正规化(步骤S101)。该工序的内容与第一处理方法共有,图9B是表示分布于2维平面的正规化后的训练数据的例子。另外,将正规化前如图9A所示分布的训练数据的分布范围转换为遍及2维平面中的[0,1]2的区域。这样的区域是本实施方式的第一区域的例子。
接着,学习部120设定比第一区域大、且包含第一区域的M维空间、也即是在该例中作为2维平面的区域的第二区域,并将第二区域分割为大小相等的作为M维超立方体的第三区域(步骤S102)。图11A是用于说明2维平面中的第二区域以及第三区域的图。在图11A所示的例子中,为[-0.5,1.5]2的区域,第三区域是将第二区域分割为64个而得到的子区域。
在此,在步骤S100取得的参数被用于步骤S102中将第二区域分割而得到的第三区域的个数的决定中,在图11A的例子中该参数的值为8,分割数为8的M次方,也即是在该例中为2次方即64个。
接着,学习部120取得第三区域的每一个包含的训练数据的数据要素的个数S(S是0以上的整数)(步骤S103)。此外,由于在该时间点位于第一区域外的第三区域内不存在训练数据的数据要素,所以对哪一个第三区域均为S=0。
接着,学习部120决定第一阈值T(T是自然数),该第一阈值T是关于位于各第三区域内的训练数据的数据要素的阈值(步骤S104)。在第一阈值T的决定中使用例如在步骤S100取得的参数。可以与步骤S102中使用的参数相同,也可以不同。在不同的情况下,根据在步骤S102中使用的参数而算出。
在列举步骤S104中使用的该参数的更具体的例子时,例如也可以是确定位于第一区域内的任一个第三区域所包含的训练数据的数据要素的个数的参数。作为具体例,也可以是表示按大小顺序将第三区域所包含的训练数据的数据要素的个数进行排列的位次中特定的位次的参数。该情况下,第一阈值使用该特定的位次的第三区域所包含的训练数据的数据要素的个数。作为位次的表示方法,可以以从最小值或从最大值开始的第几个、或以平均值或中央值为起点第几个大或小来表示。
自此之后,学习部120执行是否使用上述S以及T向各第三区域附加噪声要素的判断、以及决定附加于各第三区域的噪声要素的个数并附加噪声要素的步骤。
首先,学习部120确认是否存在没有进行与是否附加噪声要素相关的判断的第三区域(步骤S105),在存在的情况下(在步骤S105中为是),从该第三区域中选择一个(步骤S106),判断第三区域的训练数据的数据要素的个数S是否比第一阈值T小(步骤S107)。
在该第三区域的训练数据的数据要素的个数S比第一阈值T小的情况下(在步骤S107中为是),追加(T-S)个噪声要素,以使得该第三区域的数据要素与噪声要素的合计数成为T(步骤S108)。
在该第三区域的训练数据的数据要素的个数S为第一阈值T以上的情况下(在步骤S107中为否),确认是否还存在未处理的第三区域(步骤S105)。
在针对全部第三区域进行了从步骤S105到步骤S107或S108的处理时(在步骤S105中为否),学习部120生成包含位于第二区域内的数据要素以及噪声要素的噪声附加训练数据(步骤S109)。图11B是用于说明在步骤S105中为否的情况下的分布于2维空间的训练数据以及噪声要素的例子的图。在图11B中噪声要素也用虚线轮廓的圆表示。
图11B的例子是第一阈值T=9的情况下的例子。位于第一区域的左下角的第三区域中,由于训练数据的数据要素的个数为S=6,所以附加有T-S=3个噪声要素。位于第一区域的左下角的第三区域中,由于训练数据的数据要素的个数为S=8,所以附加有T-S=1个噪声要素。第一区域内的其他第三区域中,由于全部都是S为9以上,所以没有附加噪声要素。由于施加了阴影的其他第三区域位于第一区域之外且不包含训练数据的数据要素,所以分别附加有9个噪声要素。此外,噪声要素在各第三区域中,设为该区域内均匀分布的随机数。
最后,学习部120使用在步骤S109中生成的噪声附加训练数据生成孤立森林的学习辞典数据,并输出该学习辞典数据(步骤S110)。
此外,上述各步骤中,作为本实施方式例,步骤S101是正规化步骤、步骤S102是分割步骤、从步骤S103到S108是第一噪声附加步骤、步骤S109是生成步骤、步骤S110是学习辞典数据输出步骤。
在第二处理方法中,学习部120也不是像以往那样直接使用正规化了的训练数据。而是使用在M维空间中,在包含进行了正规化的训练数据的分布范围的周边在内的区域施加有噪声而得到的训练数据生成学习辞典。
通过使用这样的噪声附加训练数据生成学习辞典,即使在训练数据所包含的异常数据少的情况下,也能够避免得到图7所示那样的许多正常数据位于判定边界的外侧的学习辞典。其结果,在异常检测系统100中,能够进行过检测率得到了抑制的异常检测。
另外,在第二处理方法中,与第一处理方法不同,在训练数据分布的第一区域内附加的噪声要素的个数根据更加细化而成的每个区域的疏密而决定。因此,在第二处理方法中,能够抑制第一处理方法中在第一区域内可能产生的数据要素与噪声要素之间过密的场所的发生。在孤立森林中,在训练数据中向量的数据过密的场所容易成为判定边界的内侧。因此,当容易产生数据要素与噪声要素的过密时,即使是异常的数据也被判定为正常的误判定的可能性升高。就由将作为异常的数据误判定为正常导致的误检测而言,以下也将上述过检测称为漏检测。在基于执行第二处理方法生成的学习辞典进行未知数据的异常判定的异常检测系统100中,能够进行抑制过检测的发生并且漏检测的可能性也得到了抑制的异常检测。
此外,第二处理方法与第一处理方法相同的是,本处理方法基于的想法也能够普遍适用于更高维的空间,第二处理方法也能够适用于作为3维以上的向量的训练数据。若训练数据为M维向量,则上述第一区域的范围替换为[0,1]M、第二区域的范围被替换为[-0.5,1.5]M来适用。也就是说,第一区域是M维空间中的由作为超立方体的第一超立方体划定的M维空间的区域,第二区域是在M维空间中由作为比第一超立方体大且包含该第一超立方体的超立方体的第二超立方体划定的M维空间的区域。
[效果]
在此,示出通过上述第二处理方法对训练数据附加噪声而产生的效果的实例。
图12A以及图12B是表示使用没有附加噪声的训练数据而生成的学习辞典的判定边界、和使用以上述处理方法施加有噪声的相同的训练数据而生成的学习辞典的判定边界的图。此外,图12A的训练数据1与图12B的训练数据2是从同一实际车辆的车载网络取得的种类不同的数据。当比较训练数据1和训练数据2时,训练数据1从数据要素分布的中心到周缘为止大致均匀分布,训练数据2在周缘数据要素的分布变疏。可以说训练数据2与训练数据1相比包含异常值的可能性更高。
在图12A以及图12B的任一个中,圆表示训练数据的数据要素。另外,实线的包围是使用没有附加噪声的训练数据生成的学习辞典的判定边界,虚线的包围是使用附加有噪声的训练数据生成的学习辞典的判定边界。此外,噪声要素在各图中没有示出。
根据这些图可知,在附加有噪声的情况下得到的学习辞典的判定边界的内侧包含了没有附加噪声的情况下得到的学习辞典的判定边界的内侧的训练数据的全部以及很多其外侧的训练数据。
进一步,发明人为了确认附加有噪声的情况下得到的学习辞典是否适当而使用测试用的数据进行了使用各学习辞典的异常检测试验。图12C表示该异常检测试验下的误检测率。各训练数据的左边柱是使用没有对训练数据附加噪声而得到的学习辞典的误检测率,右边柱是使用对训练数据附加噪声而得到的学习辞典的误检测率。
根据图12C可知,利用附加噪声而得到的学习辞典的误检测率与没有附加噪声而得到的学习辞典的情况相比可见大幅的改善。也就是说,可知,在附加有噪声的情况下得到的学习辞典更加适当。另外,该改善在含有异常值的可能性高、即使使用没有附加噪声而得到的学习辞典误检测率也某种程度降低了的训练数据2的情况下也能看到。在以时速数十km以上行驶的车辆的异常检测中,不论过检测还是漏检测,能够将误检测抑制为低都很重要。
另一方面,作为从遵照CAN等标准的网络得到的训练数据,例如收集也包含由来于应用层的异常的异常数据并具有充分的波动的数据未必容易。如果成为因未知的攻击模式产生的异常数据附近的训练数据,则很难进行进一步的准备。也就是说,以往,将这样的训练数据利用于孤立森林中的学习辞典的生成,很难抑制在异常检测中的误检测率。
然而,通过执行本实施方式的处理方法,对包含很多正常数据要素的原始的训练数据,将在某种程度上偏离该训练数据的数据要素以比原始的训练数据少量、低密度的方式附加于数据空间内。以上将该附加的数据要素称为噪声要素。而且在使用了使用该训练数据生成的学习辞典的异常检测系统中,能够进行与以往相比误检测率得到了抑制的异常检测。
(实施方式2)
在实施方式1中进行了说明的第一处理方法和第二处理方法的差别在于,为了实现各个方法而在信息处理装置中执行的程序的算法,例如能够通过切换由处理器读入的程序来选择性地执行。
但是第一处理方法与第二处理方法存在以下差别。
首先,噪声要素的附加所需的时间,第二处理方法与第一处理方法相比,对训练数据的数量的依存度较大,训练数据越增加,越需要花费时间。也就是说,第二处理方法对处理器的处理负荷较大。
另一方面,利用所生成的学习辞典进行的检测的精度(误检测率的降低),如上所述均比以往有所改善,第二处理方法更优。
在提高精度这一观点来看,希望在异常检测系统中始终执行第二处理方法。而且如上所述的处理负荷的差异,由于在图1A的异常检测系统100A或图1B的异常检测系统100B中容易投入充足的计算机资源所以也很难成为问题。然而,在图1C的异常检测系统100C这样的构成中,假设处理器的运算速度等计算机资源有限的情况。也就是说,在行驶的车辆中,有可能在第二处理方法中无法以必要的速度进行学习辞典的生成或更新。
另外,作为对异常检测系统中的检测的时间成本以及精度产生影响的因素,不仅是处理方法的不同,还有各处理方法中的参数。
在第一处理方法中,在噪声要素的个数的决定中使用的参数取得比0大且比1小的实数的值。但是,预先预想利用该范围的哪个值能生成更适合异常检测的学习辞典是很困难的,要知道这一点,例如对利用改变参数的值而生成的多个学习辞典对测试用的数据进行的异常检测的精度进行比较。但是,理所当然地可知,若为了搜索这样的最佳参数而进行比较,则在决定出在异常检测中使用的学习辞典为止要花费更多的时间。若学习辞典的决定推迟,则异常检测在学习辞典的决定之前都无法执行,或者由于使用旧的学习辞典而执行精度下降。
在第二处理方法中,存在用于决定将第二区域分割得到的第三区域的个数的参数,以及用于决定第一阈值T的参数。就这两个参数中的前者而言,例如,假设在各维度通过在第一区域内分割1回以上而为2个以上,另外,在第一区域之外,两侧的第三区域为1个以上,计排列4个以上的第三区域,L可取4以上的整数值。后者例如若为用于确定位于第二区域的第三区域的任一个的值,则可取1以上且位于第二区域的第三区域的个数以下的实数的值。这些参数也适用与第一处理方法同样的情况,若进行搜索,则有可能得到能够进行更高精度的异常检测的学习辞典,但是在决定用于异常检测的学习辞典之前需要花费更多的时间。因此,异常检测的执行延迟,或者牺牲了精度。
发明人考虑了这些情况,为了使异常检测系统以必要的速度且尽可能高的精度执行异常检测,想到了在异常检测系统中进行与训练数据的处理方法的选择或参数的搜索的执行的有无相关的迅速的决定的方法。
以下,针对这样的异常检测系统进行说明。此外,由于本实施方式的异常检测系统的构成与实施方式1具有共同构成即可,所以作为异常检测系统100省略说明,对其工作进行说明。
[工作]
以下,对异常检测系统100中用于进行与训练数据的处理方法的选择或参数的搜索的执行的有无相关的迅速的决定的处理整体进行说明,在该说明中对用于搜索参数的处理进行说明。
图13是表示在异常检测系统100中执行的、用于进行与训练数据的处理方法的选择以及各处理方法中的参数的搜索的执行的有无相关的决定的处理方法的一例的流程图。
该处理方法是在接收了由2个以上的M维向量构成的孤立森林的训练数据的输入之后的学习部120中,由学习辞典生成部124执行的工序。但是以下,即使是由学习辞典生成部124进行的处理也作为学习部120的处理进行说明。另外,虽然也存在由异常判定部110的各构成要素执行的工序,但是以下,也作为由异常判定部110进行的处理进行说明。
另外,以下,假设在初期状态下训练数据接收部122已经接收训练数据的输入这一情况来进行说明。
首先,学习部120取得训练数据的数据要素的个数N(步骤S130)。
接着,学习部120判定N是否为预定的第二阈值以上(步骤S131)。第二阈值是为了判断使用第一处理方法和第二处理方法中的哪一个来作为训练数据的处理方法而使用的阈值,例如由实现学习部120的处理器的运算能力等可利用的计算机资源决定并保存于信息处理装置的存储器。通过这样使用预定的阈值,能够进行迅速的判断。
在判定为N为第二阈值以上的情况下,也即是训练数据的数据要素的个数多的情况下,学习部120选择能够以更短时间完成的第一处理方法(步骤S132)。
在判定为N不为第二阈值以上的情况下,也即是训练数据的数据要素的个数少的情况下,学习部120选择可得到能够进行更高精度的异常检测的学习辞典的第二处理方法(步骤S133)。
接着,学习部120判定N是否为预定的第三阈值以上(步骤S134)。第三阈值是为了判断在执行训练数据的各处理方法时是否执行参数的搜索而使用的阈值。第三阈值与第二阈值同样,例如由实现学习部120的处理器的运算能力等可利用的计算机资源决定,并保存于信息处理装置的存储器。既可以与第二阈值相关联,也可以是彼此独立的值。通过这样使用预定的阈值,能够进行迅速的判断。
在判定为N为第三阈值以上的情况下,也即是训练数据的数据要素的个数多的情况下,学习部120决定不执行参数搜索以使得能够以更短时间完成(步骤S135)。
在判定为N不为第三阈值以上的情况下,也即是训练数据的数据要素的个数少的情况下,学习部120执行用于得到能够进行更高精度的异常检测的学习辞典的参数搜索(步骤S136)。
在经由步骤S132以及步骤S135进行学习辞典数据的生成以及输出(步骤S137)的情况下,学习部120执行图8的流程图所示的第一处理方法。
在经由步骤S133以及步骤S135进行学习辞典数据的生成以及输出(步骤S137)的情况下,学习部120执行图10的流程图所示的第二处理方法。
在经由步骤S132以及步骤S136进行学习辞典数据的生成以及输出(步骤S137)的情况下,学习部120执行图14的流程图所示的第一处理方法。图14是在异常检测系统100中执行的、包含参数搜索的第一处理方法的流程图。在图14的流程图中,与图8的流程图所示的第一处理方法共有的工序用共有的参照标号表示,并省略详细内容的说明。
在图14的流程图所示的第一处理方法中,学习部120更换参数的值执行多次S82、S84~S86这组工序。作为其结果生成并输出的多个学习辞典数据保存于异常判定部110的储存部112。另外,也从学习部120向异常判定部110提供步骤S83中正规化所使用了的数据并保存于储存部112。
异常判定部110取得了孤立森林的测试用数据。该测试用数据例如预先输入至异常判定部110,并保存于储存部112,在步骤S131判定为N不为第二阈值以上的情况下,异常判定部110将该测试用数据从储存部112读入并取得。然后,异常判定部110使用在步骤S83中用于正规化的数据对测试用数据进行正规化,使用各学习辞典数据执行对测试用数据的异常判定(步骤S140)。
最后,学习部120对在步骤S140中进行了的使用了各学习辞典数据的异常判定进行评价,基于该评价结果选择最佳的学习辞典数据来作为在实际的异常检测中使用的学习辞典数据(步骤S141)。在该评价中能够利用例如再现率、F值等的已知的评价尺度。此外,步骤S141也可以通过异常判定部110实施。
此外,上述各步骤中、步骤S82以及步骤S84是第二噪声附加步骤、步骤S85是生成步骤、步骤S86是学习辞典数据输出步骤的本实施方式例。另外,步骤S131是第一判定步骤、步骤S134是第二判定步骤的本实施方式例。另外,步骤S140以及S141是与测试用数据取得步骤、评价步骤、以及学习辞典数据选择步骤对应的本实施方式例。
与经由步骤S132以及步骤S135执行第一处理方法的情况的一个不同之处在于,在输出用于异常检测的学习辞典数据之前步骤S82、S84~S86这组工序执行仅1回还是多回。另外,使用测试用数据评价多个学习辞典数据,基于该评价的结果选择最佳的学习辞典数据来作为用于异常检测的学习辞典数据这一点也不同。
在经由步骤S133以及步骤S136进行学习辞典数据的生成以及输出(步骤S137)的情况下,学习部120执行图15的流程图所示的第二处理方法。图15是在异常检测系统100中执行的、包含参数搜索的第二处理方法的流程图。在图15的流程图中,对于与图10的流程图所示的第二处理方法共有的工序用共有的参照标号表示,并省略详细内容的说明。
在图15的流程图所示的第二处理方法中,学习部120更换2种参数值的组合将步骤S102~S110这组工序执行多回。作为其结果生成并输出的多个学习辞典数据保存于异常判定部110的储存部112。另外,也从学习部120将在步骤S101用于正规化的数据提供给异常判定部110并保存于储存部112。
步骤S150以及S151分别具有与步骤S140以及S141共同的内容。
此外,上述各步骤中、步骤S102是分割步骤、从步骤S103到S108为止是第一噪声附加步骤、步骤S109是生成步骤、步骤S110是学习辞典数据输出步骤的本实施方式例。另外,步骤S131是第一判定步骤、步骤S134是第二判定步骤的本实施方式例。另外,步骤S150以及S151是与测试用数据取得步骤、评价步骤、以及学习辞典数据选择步骤对应的本实施方式例。
与经由步骤S133以及步骤S135执行第二处理方法的情况的一个不同之处在于,在输出用于异常检测的学习辞典数据之前将步骤S102~S110这组工序执行仅1回还是多回。另外,使用测试用数据评价多个学习辞典数据,基于该评价的结果选择最佳的学习辞典数据来作为用于异常检测的学习辞典数据这一点也不同。
如以上说明的那样,在图13所示的流程图中噪声附加的处理方法为2种,关于各处理方法的有无执行参数搜索为2种。也就是说,直到决定用于异常检测的学习辞典数据并能够执行异常检测为止具有4种处理模式。这些处理模式中时间成本最大的是包含参数搜索并执行第二处理方法的模式。时间成本第二大的是包含参数搜索并执行第一处理方法的情况。与这两个模式相比剩余的2个模式的时间成本大幅减小。在以上说明中第二阈值和第三阈值可以是独立的值,但是也可以考虑该时间成本的大小关系来决定。
另外,根据步骤S131的判断的结果,也即是根据在噪声的附加中使用的是第一处理方法还是第二处理方法,也可以替换在步骤S134中使用的阈值。例如在使用第二处理方法的情况下,使用第三阈值,在使用第一处理方法的情况下,也可以使用作为其他预定的阈值的第四阈值来取代第三阈值。这样使用第四阈值的情况下的步骤S134是本实施方式的第三判定步骤例。
另外,在图13的流程图中,进行噪声附加的处理方法的判断和关于各处理方法的有无执行参数搜索的判断这两个判断,但是时间成本的调整未必是这两方。也可以仅进行这些判断中一方的时间成本的调整。
另外,在图13的流程图中,针对参数搜索的执行而准备的选项有执行或不执行这2个,但是例如也可以根据训练数据的数据要素的个数阶段性地变更为了搜索而更换的参数的个数。也就是说,也可以是训练数据的数据要素的个数越多,则越减少更换的参数的个数。该情况下,参数的个数既可以是根据数据要素的个数算出的值,也可以是根据数据要素的预定范围预先决定的值。也就是说,训练数据的数据要素的个数与参数的个数之间为负相关即可。由此,在训练数据的数据要素多的情况下,能抑制运算处理的负荷的增加以使得到决定学习辞典数据为止所需要的时间不会变得过长。
另外,在图13的流程图中,根据与训练数据的数据要素的个数N的第二阈值的比较的结果,选择为了进行训练数据的处理而执行第一处理方法还是执行第二处理方法,但是不限定于此。例如,还可以有不执行训练数据的处理这一选项。例如,由于在信息处理装置中由其他处理导致的对处理器的负荷大,所以在异常检测中继续利用现行的学习辞典,在延期生成用于更新的新的学习辞典这一情况下进行这样的判断。另外,选项也可以是执行第一处理方法或执行第二处理方法中的一方和不执行训练数据的处理这样的2个选项。
(其他实施方式)
如上所述,作为本公开的技术的例示说明了实施方式1、2。然而,本公开的技术并不限定于此,也可以适用于进行了适当变更、替换、附加、省略等的实施方式。例如,以下的变形例也包含于本公开的一实施技术方案。
构成上述实施方式中的各装置的构成要素的一部分或全部可以包括一个系统LSI(Large Scale Integration:大规模集成电路)。系统LSI是将多个构成部集成在1个芯片上而制造而成的超多功能LSI,具体而言,是包含微处理器、ROM、RAM等而构成的计算机系统。该RAM记录有计算机程序。另外,该微处理器通过按照记录于RAM的计算机程序工作,系统LSI实现其功能。另外,构成上述各装置的构成要素的各部既可以是形成为独立的单片,也可以形成为包括一部分或全部的单片。另外,在此,虽然在这里记述为系统LSI,但根据集成度的不同,有时也称呼为IC(Integrated Circuit:集成电路)、LSI、超级LSI以及超大规模LSI。另外,集成电路化的方法不限于LSI,也可以用专用电路或通用处理器来实现。在LSI制造后,也可以利用可编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)、能够将LSI内部的电路单元的连接、设定重构的可重构处理器。进而,如果因半导体技术的进步或派生的其他技术出现代替LSI的集成电路化的技术,当然也可以使用该技术进行功能块的集成化。也有可能应用生物技术等。
构成上述各装置的构成要素的一部分或全部可以由可拆装于各装置的IC卡或单个模块构成。该IC卡或模块是由微处理器、ROM、RAM等构成的计算机系统。另外,该IC卡或模块也可以包含上述超多功能LSI。微处理器通过按照计算机程序工作,IC卡或模块实现其功能。该IC卡或该模块也可以具有防篡改性。
此外,在上述实施方式中,各构成要素既可以由专用的硬件构成,也可以通过执行与各构成要素相适应的软件程序而实现。各构成要素也可以通过CPU或处理器等的程序执行器读出并执行记录于硬盘或半导体存储器等记录介质的软件程序而实现。在此,实现上述实施方式的信息处理装置等的软件是如下程序。
即,该程序使计算机执行包含以下步骤的信息处理方法:数据要素取得步骤,接受作为孤立森林的训练数据而使用的N个(N是2以上的整数)作为M维向量(M是2以上的整数)的数据要素的输入;正规化步骤,进行正规化,以使得训练数据遍及并分布于M维的第一区域;分割步骤,将比第一区域大且包含第一区域的M维的第二区域分割为大小相等的L个(L是4以上的整数)作为M维超立方体的第三区域;第一噪声附加步骤,取得第三区域各自包含的数据要素的个数S(S是0以上的整数),对第三区域中、包含比第一阈值T(T是自然数)少的个数的数据要素的第三区域的每一个以均匀分布的方式附加(T-S)个作为M维向量的噪声要素;生成步骤,生成包含数据要素以及噪声要素的噪声附加训练数据;学习辞典数据输出步骤,使用噪声附加训练数据生成并输出孤立森林的学习辞典数据。
另外,本公开能够作为上述实施方式所记载的、使用训练数据生成学习辞典数据,将该学习辞典数据提供给执行异常判定的异常判定装置的信息处理装置而实现。另外,也能够作为具备该信息处理装置以及异常判定装置的异常检测系统而实现。若该异常判定装置例如位于图1A或图1C所示的构成的异常检测系统内,则是与车载网络210连接的实现异常判定部的监视ECU。另外,若位于图1B所示的构成的异常检测系统内,则是实现异常判定部的外部服务器10。在任何情况下,均具备将从信息处理装置输出的学习辞典数据存储的存储器以及处理器并且与网络连接。该网络典型地说是如上所述的车载的CAN网络,但不限定于此。
例如,也可以是CAN-FD(CAN with Flexible Data rate:具有灵活数据速率的)、FlexRay、Ethernet、LIN(Local Interconnect Network:本地互联网)、MOST(MediaOriented Systems Transport:多媒体定向系统传输)等网络。或者也可以将这些网络作为子网络,成为与CAN网络组合而成的车载网络。
另外,在上述实施方式中,各构成要素也可以是电路。多个构成要素也可以作为整体构成1个电路,也可以分别构成不同的电路。另外,电路各自可以是通用的电路,也可以是专用的电路。
以上,针对一个或多个技术方案的信息处理装置等,基于实施方式进行了说明,但是本公开不限定于该实施方式。只要不脱离本公开的主旨,也可以将本领域技术人员能够想到的各种变形在本实施方式中实施而得到的方式,以及将不同的实施方式中的构成要素组合而构筑的方式也可以包含在一个或多个技术方案的范围内。
例如,在上述实施方式中,也可以取代特定的构成要素由其他构成要素执行特定的构成要素执行的处理。另外,既可以变更多个处理的顺序,也可以并行执行多个处理。
本公开能够利用于包含车载网络的车载网络系统。
标号说明
10 外部服务器
20 车辆
100,100A,100B,100C 异常检测系统
110 异常判定部
112 储存部
114 判定对象数据接收部
116 判定对象数据转换部
118 判定执行部
120 学习部
122 训练数据接收部
124 学习辞典生成部
210 车载网络

Claims (13)

1.一种车载网络的异常检测装置,具备:
学习部,执行:
数据要素取得步骤,接受作为孤立森林的训练数据而使用的N个作为M维向量的数据要素的输入,其中,M、N是2以上的整数;
正规化步骤,对所述训练数据进行正规化以使得所述训练数据遍及分布于M维的第一区域;
分割步骤,将比所述第一区域大且包含所述第一区域的M维的第二区域分割为大小相等的LM个作为M维超立方体的第三区域,其中,L是4以上的整数;
第一噪声附加步骤,取得所述第三区域各自包含的所述数据要素的个数S,对所述第三区域中、包含比第一阈值T少的个数的所述数据要素的第三区域的每一个,以均匀分布的方式附加(T-S)个作为M维向量的噪声要素,其中,S是0以上的整数,T是自然数;
生成步骤,生成包含所述数据要素以及所述噪声要素的噪声附加训练数据;以及
学习辞典数据输出步骤,使用所述噪声附加训练数据生成孤立森林的学习辞典数据并输出该学习辞典数据;和
异常判定部,具备存储从所述学习部输出的学习辞典数据的存储器,取得在车载网络中流动的数据,基于所述存储器所存储的学习辞典数据执行所取得的所述数据的异常判定。
2.根据权利要求1所述的车载网络的异常检测装置,
所述学习部,
执行第一判定步骤,所述第一判定步骤中,判定N是否为预定的第二阈值以上,
在所述第一判定步骤中判定为N不为所述第二阈值以上的情况下,在执行所述分割步骤以及所述第一噪声附加步骤之后执行所述生成步骤以及所述学习辞典数据输出步骤。
3.根据权利要求2所述的车载网络的异常检测装置,
所述学习部,
在所述第一判定步骤中判定为N为所述第二阈值以上的情况下,在执行第二噪声附加步骤之后执行所述生成步骤以及所述学习辞典数据输出步骤,所述第二噪声附加步骤中,将K个作为M维向量的噪声要素以均匀分布的方式附加于所述第二区域内,其中,K是比N小的自然数。
4.根据权利要求1至3中任一项所述的车载网络的异常检测装置,
所述学习部进一步,
在所述第一判定步骤中判定为N不为所述第二阈值以上的情况下,执行测试用数据取得步骤和第二判定步骤,所述测试用数据取得步骤中,接受孤立森林的测试用数据的输入;所述第二判定步骤中,判定N是否为预定的第三阈值以上,
在所述第二判定步骤中判定为N不为所述第三阈值以上的情况下,执行评价步骤和学习辞典数据选择步骤,所述评价步骤中,使用所述分割步骤中值不同的L执行多回所述分割步骤、所述第一噪声附加步骤、所述生成步骤、以及所述学习辞典数据输出步骤这组步骤,输出多个所述学习辞典数据,进一步,使用所述多个学习辞典数据的每一个执行对所述测试用数据的异常检测,基于所述异常检测的结果评价所述多个学习辞典数据的每一个;所述学习辞典数据选择步骤中,基于所述评价步骤的结果从所述多个学习辞典数据中选择最佳的学习辞典数据,
在所述第二判定步骤中判定为N为所述第三阈值以上的情况下,使用所述分割步骤中作为预定值的L执行1回所述组步骤。
5.根据权利要求4所述的车载网络的异常检测装置,
所述学习部在所述第二判定步骤中判定为N不为所述第三阈值以上的情况下,以与N的值具有负相关的方式决定L的所述不同的值的个数。
6.根据权利要求1至5中任一项所述的车载网络的异常检测装置,
所述学习部在所述第一噪声附加步骤中,决定比位于所述第一区域内的所述第三区域的各自所包含的所述数据要素的个数的中央值小的任一个个数来作为所述第一阈值T的值。
7.根据权利要求1至3中任一项所述的车载网络的异常检测装置,
所述学习部,
在所述第一判定步骤中判定为N为所述第二阈值以上的情况下,执行测试用数据取得步骤和第三判定步骤,所述测试用数据取得步骤中,接受孤立森林的测试用数据的输入;所述第三判定步骤中,判定N是否为预定的第四阈值以上,
在所述第三判定步骤中判定为N不为所述第四阈值以上的情况下,执行评价步骤和学习辞典数据选择步骤,所述评价步骤中,使用所述第二噪声附加步骤中值不同的K执行多回所述第二噪声附加步骤、所述生成步骤、以及所述学习辞典数据输出步骤这组步骤,输出多个所述学习辞典数据,进一步,使用所述多个学习辞典数据的每一个执行对所述测试用数据的异常检测,评价所述多个学习辞典数据的每一个;所述学习辞典数据选择步骤中,基于所述评价步骤的结果从所述多个学习辞典数据中选择最佳的学习辞典数据,
在所述第三判定步骤中判定为N为所述第四阈值以上的情况下,使用所述第二噪声附加步骤中作为预定值的K执行1回所述组步骤。
8.根据权利要求7所述的车载网络的异常检测装置,
所述学习部在所述第三判定步骤中判定为N不为所述第四阈值以上的情况下,以与N的值具有负相关的方式决定K的所述不同的值的个数。
9.根据权利要求1至8中任一项所述的车载网络的异常检测装置,
在将所述第一区域设为M维空间中的由[0,1]M的超立方体划定的区域时,
所述第二区域是在所述空间中由[-0.5,1.5]M的超立方体划定的区域。
10.一种车载网络的异常检测系统,具备:
包括权利要求1至9中任一项所述的学习部的信息处理装置;和
异常判定装置,具备存储从所述信息处理装置输出的学习辞典数据的存储器以及处理器,并与车载网络连接,所述处理器取得在所述车载网络中流动的数据,基于所述存储器所存储的学习辞典数据执行所取得的所述数据的异常判定。
11.根据权利要求10所述的车载网络的异常检测系统,
所述网络是车载的CAN即控制器局域网络。
12.一种车载网络的异常检测方法,包括以下步骤:
数据要素取得步骤,接受作为孤立森林的训练数据而使用的N个作为M维向量的数据要素的输入,其中,M、N是2以上的整数;
正规化步骤,对所述训练数据进行正规化以使得所述训练数据遍及分布于M维的第一区域;
分割步骤,将比所述第一区域大且包含所述第一区域的M维的第二区域分割为大小相等的LM个作为M维超立方体的第三区域,其中,L是4以上的整数;
第一噪声附加步骤,取得所述第三区域各自包含的所述数据要素的个数S,对所述第三区域中、包含比第一阈值T少的个数的所述数据要素的第三区域的每一个,以均匀分布的方式附加(T-S)个作为M维向量的噪声要素,其中,S是0以上的整数,T是自然数;
生成步骤,生成包含所述数据要素以及所述噪声要素的噪声附加训练数据;
学习辞典数据输出步骤,使用所述噪声附加训练数据生成孤立森林的学习辞典数据并输出该学习辞典数据;
取得在所述车载网络中流动的数据的步骤;以及
基于所输出的所述学习辞典数据执行所取得的所述数据的异常判定的步骤。
13.一种计算机可读取记录介质,记录有程序,所述程序使计算机具备的处理器执行权利要求12所述的车载网络的异常检测方法。
CN201780022736.0A 2016-12-06 2017-11-13 信息处理装置、信息处理方法以及程序 Active CN109074519B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662430570P 2016-12-06 2016-12-06
US62/430570 2016-12-06
JP2017-207085 2017-10-26
JP2017207085A JP6782679B2 (ja) 2016-12-06 2017-10-26 情報処理装置、情報処理方法及びプログラム
PCT/JP2017/040727 WO2018105320A1 (ja) 2016-12-06 2017-11-13 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
CN109074519A CN109074519A (zh) 2018-12-21
CN109074519B true CN109074519B (zh) 2023-03-14

Family

ID=62566256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780022736.0A Active CN109074519B (zh) 2016-12-06 2017-11-13 信息处理装置、信息处理方法以及程序

Country Status (4)

Country Link
US (1) US10601852B2 (zh)
EP (1) EP3553712B1 (zh)
JP (1) JP6782679B2 (zh)
CN (1) CN109074519B (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6782679B2 (ja) * 2016-12-06 2020-11-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理装置、情報処理方法及びプログラム
JP6956624B2 (ja) * 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム
JP6823523B2 (ja) * 2017-03-31 2021-02-03 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
US11610441B1 (en) * 2017-05-23 2023-03-21 State Farm Mutual Automobile Insurance Company Detecting and mitigating local individual driver anomalous behavior
JP6984230B2 (ja) * 2017-08-23 2021-12-17 富士フイルムビジネスイノベーション株式会社 情報処理装置、画像形成装置および情報提供システム
CN108229156A (zh) * 2017-12-28 2018-06-29 阿里巴巴集团控股有限公司 Url攻击检测方法、装置以及电子设备
US11934520B2 (en) * 2018-03-28 2024-03-19 Nvidia Corporation Detecting data anomalies on a data interface using machine learning
CN109765332A (zh) * 2018-12-05 2019-05-17 国网辽宁省电力有限公司信息通信分公司 基于隔离森林的变压器异常值实时检测和故障诊断方法
JP7119978B2 (ja) * 2018-12-20 2022-08-17 オムロン株式会社 制御装置およびプログラム
US11700270B2 (en) * 2019-02-19 2023-07-11 The Aerospace Corporation Systems and methods for detecting a communication anomaly
WO2020170425A1 (ja) 2019-02-22 2020-08-27 日本電気株式会社 異常検知装置、異常検知方法、及びコンピュータ可読媒体
US11928006B2 (en) * 2019-03-04 2024-03-12 Saferide Technologies Ltd. System and method for labeling bits of controller area network (CAN) messages
CN110275508B (zh) * 2019-05-08 2021-09-28 西安电子科技大学 车载can总线网络异常检测方法及系统
WO2020250319A1 (ja) * 2019-06-11 2020-12-17 日本電信電話株式会社 制御装置、制御方法及び制御プログラム
US11790251B1 (en) * 2019-10-23 2023-10-17 Architecture Technology Corporation Systems and methods for semantically detecting synthetic driven conversations in electronic media messages
US10872479B1 (en) * 2019-11-04 2020-12-22 Ford Global Technologies, Llc Secure log capture
CN113065610B (zh) * 2019-12-12 2022-05-17 支付宝(杭州)信息技术有限公司 基于联邦学习的孤立森林模型构建和预测方法和装置
CN111049839B (zh) * 2019-12-16 2021-12-31 北京天融信网络安全技术有限公司 一种异常检测方法、装置、存储介质及电子设备
CN112990246B (zh) * 2019-12-17 2022-09-09 杭州海康威视数字技术股份有限公司 孤立树模型建立的方法和装置
JP7247905B2 (ja) * 2020-01-22 2023-03-29 トヨタ自動車株式会社 第1中継装置、第2中継装置、第1中継方法、第2中継方法、第1中継プログラム、第2中継プログラム、及び中継システム
EP3866087A1 (en) * 2020-02-12 2021-08-18 KBC Groep NV Method, use thereoff, computer program product and system for fraud detection
CN114019940A (zh) * 2020-03-02 2022-02-08 阿波罗智联(北京)科技有限公司 用于检测异常的方法和装置
CN111740856B (zh) * 2020-05-07 2023-04-28 北京直真科技股份有限公司 基于异常检测算法的网络通信设备告警采集异常预警方法
CN111726774B (zh) 2020-06-28 2023-09-05 阿波罗智联(北京)科技有限公司 防御攻击的方法、装置、设备及存储介质
FR3112634B1 (fr) * 2020-07-16 2023-04-28 Suez Groupe Procédé de détection d’anomalies
CN111931834B (zh) * 2020-07-31 2023-05-02 广东工业大学 基于孤立森林算法的铝型材挤压过程流数据异常检测方法、设备及存储介质
CN112505549B (zh) * 2020-11-26 2021-09-03 西安电子科技大学 基于孤立森林算法的新能源汽车电池异常检测方法
US11017322B1 (en) * 2021-01-28 2021-05-25 Alipay Labs (singapore) Pte. Ltd. Method and system for federated learning
DE102021112328A1 (de) * 2021-05-11 2022-11-17 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Erkennen einer Manipulation einer Nachricht eines Bussystems eines Fahrzeugs durch ein Steuergerät eines Fahrzeugs, computerlesbares Medium, System, und Fahrzeug
US11842367B1 (en) * 2021-07-01 2023-12-12 Alphonso Inc. Apparatus and method for identifying candidate brand names for an ad clip of a query video advertisement using OCR data
CN113672675B (zh) * 2021-08-09 2023-12-15 北京字跳网络技术有限公司 数据检测方法、装置和电子设备
CN115984992A (zh) * 2022-12-22 2023-04-18 云控智行(上海)汽车科技有限公司 一种车辆运行数据的检测方法、装置及设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1705468A2 (en) * 2005-03-15 2006-09-27 Omron Corporation Abnormality detection device and method having a judgment model
CN101980480B (zh) * 2010-11-04 2012-12-05 西安电子科技大学 半监督异常入侵检测方法
JP5874292B2 (ja) * 2011-10-12 2016-03-02 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP2016511397A (ja) * 2013-01-31 2016-04-14 ユニベルシテ ドゥ モンペリエ 希少事象を同定する方法
JP2015026252A (ja) 2013-07-26 2015-02-05 株式会社豊田中央研究所 異常検知装置及びプログラム
US9412024B2 (en) * 2013-09-13 2016-08-09 Interra Systems, Inc. Visual descriptors based video quality assessment using outlier model
JP6361175B2 (ja) 2014-03-06 2018-07-25 株式会社豊田中央研究所 異常診断装置及びプログラム
US9779361B2 (en) * 2014-06-05 2017-10-03 Mitsubishi Electric Research Laboratories, Inc. Method for learning exemplars for anomaly detection
CN104063710B (zh) * 2014-06-13 2017-08-11 武汉理工大学 基于支持向量机模型的实测光谱曲线中异常光谱剔除方法
JP6632193B2 (ja) * 2015-01-16 2020-01-22 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6193287B2 (ja) * 2015-03-30 2017-09-06 有限責任監査法人トーマツ 異常検出装置、異常検出方法及びネットワーク異常検出システム
JP6782679B2 (ja) * 2016-12-06 2020-11-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理装置、情報処理方法及びプログラム
US10452841B1 (en) * 2017-05-01 2019-10-22 Symantec Corporation Modeling malicious behavior that occurs in the absence of users
US10089467B1 (en) * 2017-05-23 2018-10-02 Malwarebytes Inc. Static anomaly-based detection of malware files
US10388085B2 (en) * 2017-07-14 2019-08-20 Allstate Insurance Company Distributed data processing system for processing remotely captured sensor data
US20190087737A1 (en) * 2017-09-18 2019-03-21 Callidus Software, Inc. Anomaly detection and automated analysis in systems based on fully masked weighted directed
JP2019179395A (ja) * 2018-03-30 2019-10-17 オムロン株式会社 異常検知システム、サポート装置および異常検知方法

Also Published As

Publication number Publication date
EP3553712B1 (en) 2021-03-03
EP3553712A4 (en) 2019-11-27
US10601852B2 (en) 2020-03-24
JP6782679B2 (ja) 2020-11-11
EP3553712A1 (en) 2019-10-16
CN109074519A (zh) 2018-12-21
JP2018092613A (ja) 2018-06-14
US20190173902A1 (en) 2019-06-06

Similar Documents

Publication Publication Date Title
CN109074519B (zh) 信息处理装置、信息处理方法以及程序
US10437992B2 (en) Anomaly detection for vehicular networks for intrusion and malfunction detection
WO2018105320A1 (ja) 情報処理装置、情報処理方法及びプログラム
US11595431B2 (en) Information processing apparatus, moving apparatus, and method
US20230188553A1 (en) Can bus protection systems and methods
US20210226973A1 (en) Vehicle log transmission device, vehicle log analysis system, and vehicle log transmission/reception method
WO2020033270A1 (en) Apparatus and method of sharing a sensor in a multiple system on chip environment
WO2016108962A1 (en) Fast efficient evaluation of messages on automotive networks using look-up tables
CN114244603A (zh) 异常检测及对比嵌入模型训练、检测方法、装置及介质
US20230087540A1 (en) Communication permission list generation device, communication permission list generation method, and non-transitory computer readable-medium
WO2022133090A1 (en) Adaptive generation and assessment of autonomous vehicle critical scenarios
CN111989678A (zh) 信息处理装置、信息处理方法以及程序
JP6939898B2 (ja) ビットアサイン推定装置、ビットアサイン推定方法、プログラム
US9971676B2 (en) Systems and methods for state based test case generation for software validation
CN115348184B (zh) 一种物联网数据安全事件预测方法及系统
US20230007034A1 (en) Attack analyzer, attack analysis method and attack analysis program
CN110997441A (zh) 用于求取驾驶行为的方法和设备
CN111045875B (zh) 车辆事故检测方法及相关设备
US11899793B2 (en) Information processing apparatus, control method, and program
US20230101250A1 (en) Method for generating a graph structure for training a graph neural network
US20150363450A1 (en) Bayesian sequential partition system in multi-dimensional data space and counting engine thereof
WO2021085196A1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2011164950A (ja) 異常検出装置、異常検出システム、異常検出方法、及び、プログラム
CN116432016A (zh) 一种规则优化的方法及装置
CN116996527A (zh) 一种汇聚分流器数据同步的方法及存储介质

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
GR01 Patent grant
GR01 Patent grant