CN111357242A - 异常通信探测装置、异常通信探测方法、程序 - Google Patents

异常通信探测装置、异常通信探测方法、程序 Download PDF

Info

Publication number
CN111357242A
CN111357242A CN201880073138.0A CN201880073138A CN111357242A CN 111357242 A CN111357242 A CN 111357242A CN 201880073138 A CN201880073138 A CN 201880073138A CN 111357242 A CN111357242 A CN 111357242A
Authority
CN
China
Prior art keywords
communication data
communication
learning
abnormal
knowledge information
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.)
Granted
Application number
CN201880073138.0A
Other languages
English (en)
Other versions
CN111357242B (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN111357242A publication Critical patent/CN111357242A/zh
Application granted granted Critical
Publication of CN111357242B publication Critical patent/CN111357242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • B60R16/0232Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
    • 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
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/1433Vulnerability analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • 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

Abstract

提供可以减少过探测的异常通信探测装置。包括:接收单元,接收包含识别符的学习用通信数据、以及包含识别符的探测用通信数据;知识信息获取单元,获取与学习用通信数据的时间特性、有效载荷的特性之中的至少任意一方的特性有关的信息即知识信息;分配规则生成单元,根据知识信息,生成分配规则,即生成用于规定对多个探测器中的哪个探测器分配哪个识别符的通信数据的规则;分配单元,根据分配规则,对探测器中的任意一个探测器分配通信数据;以及多个探测器,在学习用通信数据被分配了的情况下,学习用于探测对该探测器分配的通信数据的正常、异常的区别的模型,在探测用通信数据被分配了的情况下,根据学习的模型进行探测用通信数据的正常、异常的区别的探测。

Description

异常通信探测装置、异常通信探测方法、程序
技术领域
本发明涉及例如在被安装在车辆、机床、建筑机械,农业机械等机械类中的网络、被连接到该网络的通信装置、以及由它们构成的通信系统中,探测起因于攻击通信等的异常通信的异常通信探测装置、异常通信探测方法、程序。
背景技术
在车辆(汽车、特殊车辆、摩托车、自行车等)、机床、建筑机械、农业机械等机械类中有被安装了多个电子控制装置(ECU:Electronic Control Unit)的机械,在这些ECU间的通信网络中使用的代表性的网络中有控制器区域网络(CAN:Controller Area Network)。CAN的网络结构采用共享各ECU的通信线的、所谓总线型结构。在ECU的总线中的通信过程中,被使用CSMA/CR(Carrier Sense Multiple Access/Collision Resolution,载波侦听多路访问/冲突解决),即,在通信冲突的情况下优先顺序高的通信不受冲突影响,优先顺序低的通信进行重发的过程。在CAN上的各ECU的通信中包含ID,ID被用于通信调停的优先顺序、数据内容和发送节点等的识别。
对这些机械控制信息通信网络的网络攻击的危险性被暗示。已知通过向网络连接非法的ECU或对已知ECU的非法的动作改写等的手段,插入与攻击对象功能关联的ID的攻击发送,并可能诱发该对象功能的非法的动作。
作为探测这些攻击、异常通信的方法,例如有非专利文献1、非专利文献2。非专利文献1提出将判定指标不同的多个探测器(在该文献中称为过滤器)组合来判定各通信是否异常。非专利文献1提出将通信的ID、DLC(Data Length Code,表示通信的有效载荷长度的CAN的信头字段)、发送周期(或者发送频度)设为指标的探测器。非专利文献2提出在非专利文献1的方式中增加了探测器的种类的方式。两个方式以基于各探测器的判定的AND(“与”)条件来实施通信的正常/异常判定。例如,非专利文献1的方式首先使用基于ID的探测器进行判定,基于DLC的探测器仅判定被判定为正常的通信,进而基于发送周期(或者发送频度)的探测器仅判定被判定为正常的通信。而且,两个方式的全部探测器以车辆的规范明确为前提。例如,非专利文献2提出的基于固定数据字段的探测器将各ID的有效载荷的比特分配(从第几比特至第几比特是固定值还是变量,并且若为变量则上限值和下限值这样的规范)设为判定指标,如果原来固定值的数据变为了与规范不同的值,则判定为异常。
现有技术文献
非专利文献
非专利文献1:氏家良浩、岸川剛、芳賀智之、松島秀樹、田邊正人、北村嘉彦、安齋潤、「車載ネットワークにおけるCANフィルタの提案」、Symposium on Cryptography andInformation Security SCIS 2015,Jan.20-23,2015.
非专利文献2:田邊正人、安齋潤、前田学、氏家良浩、松島秀樹、若林徹、「車載ゲートウェイにおける多層連携CANフィルタの提案」、Symposium on Cryptography andInformation Security SCIS 2016,Jan.19-22,2016.
发明内容
发明要解决的课题
在以往的异常探测方法中,通过全部探测结果的AND条件判定是否为正常的通信,所以如任意一个探测器探测为异常,则判定结果变为异常。即,若任意一个探测器进行误探测(误将正常的通信探测为异常),则将该通信判定为异常,所以有容易将正常的通信探测为异常的(过探测,第一种错误)课题。
因此,在本发明中,目的在于提供可以减少过探测的异常通信探测装置。
用于解决课题的方案
本发明的异常通信探测装置包含接收单元、知识信息获取单元、分配规则生成单元、分配单元、以及多个探测器。
接收单元接收包含识别符的学习用通信数据和包含识别符的探测用通信数据。知识信息获取单元获取与学习用通信数据的时间特性、有效载荷的特性之中的至少任意一方的特性有关的信息即知识信息。分配规则生成单元根据知识信息,生成分配规则,即生成用于规定对多个探测器中的哪个探测器分配哪个识别符的通信数据的规则。分配单元根据分配规则,对探测器中的任意一个探测器分配通信数据。多个探测器在被分配了学习用通信数据的情况下,学习用于探测对该探测器分配的通信数据的正常、异常的区别的模型,在被分配了探测用通信数据的情况下,根据学习的模型进行探测用通信数据的正常、异常的区别的探测。
发明的效果
按照本发明的异常通信探测装置,可以减少过探测。
附图说明
图1是表示实施例1的异常通信探测装置的结构的方框图。
图2是表示实施例1的探测器的结构的方框图。
图3是表示实施例1的异常通信探测装置的动作的流程图。
图4是表示实施例2的异常通信探测装置的结构的方框图。
图5是表示实施例2的探测器的结构的方框图。
图6是表示实施例2的异常通信探测装置的动作的流程图。
图7是表示实施例3的异常通信探测装置的结构的方框图。
图8是表示实施例3的异常通信探测装置的动作的流程图。
具体实施方式
以下,详细地说明本发明的实施方式。而且,对具有相同的功能的结构单元附加相同的标号,省略重复说明。
以下,作为通信网络的协议,有设想利用CAN(Controller Area Network,控制区域网络)来推进说明的情况,但是本发明的异常通信探测装置执行异常通信探测的通信网络的协议不必限于CAN。本发明的异常通信探测装置也可以将CAN以外的通信网络的协议(例如,FlexRay,LIN(Local INterconnect Network,本地互联网络),车载Ethernet)作为异常通信探测对象。
在以下的实施例的异常通信探测装置、异常通信探测方法中,根据通信网络上的正常的通信的监听或者通过监听得到的数据串,按照通信举动的特性(正常通信的发送周期或频率这样的时间特性、或者有效载荷的特性、或者这两方的特性),将通信数据分类为相互不同的几个组,准备1种至多种与各组的特性相应的探测器、以及探测精度提高所需要的学习器,对每组实施学习以及探测,基于每组的探测结果,综合地探测正常/异常。
以下的实施例的异常通信探测装置、异常通信探测方法,执行三个阶段(知识信息获取阶段/学习阶段/探测阶段)。下面说明各阶段。
<知识信息获取阶段>
在知识信息获取阶段中,学习通信数据的时间特性、有效载荷的特性中的任意一方的特性或者其两方的特性,根据学习结果,将通信分类为几个组(group)。将学习的过程称为知识信息获取,将知识信息获取的学习结果(分类结果)称为知识信息。而且,在知识信息中可以仅记录各组和其中包含的要素,也可以一同记录在学习各要素的过程中算出的特性的估计值、平均或方差等各种统计信息。并且,将根据知识信息规定对多个探测器中的哪个探测器分配哪个识别符(CAN的情况,ID)的通信数据的规则称为分配规则。
知识信息获取的手段可以使用任意的方法。例如,若对象的规范明确,则可以根据该规范决定与发送周期或发送频度、有效载荷的比特分配这样的特性有关的知识信息。另一方面,在规范不明确的情况下,也可以根据正常的通信的监听或者通过监听获取的数据串实施机械学习,将各自的特性模型化而获取知识信息。进而,也可以在基于机械学习的知识信息获取后,通过人工对知识信息的参数进行微调整等,通过组合了算法和人的判断的试探方法获取知识信息。
在知识信息获取中利用机械学习的情况下,该学习方法也可以使用任意的算法。例如在CAN的情况下,可以根据正常的通信将发送周期特性模型化,对每个ID分类为几个类型。具体地说,假定始终被以固定周期发送的通信的ID即周期型ID的通信间隔的出现分布,通过对各ID的分布测量与周期型ID的分布的一致程度来进行学习、分类。若某个ID与周期型ID的分布完全一致则分类为周期型ID,若尽管与周期型ID的分布大致一致但存在不一致的特异点的情况下分类为周期+事件型ID、大致整体上与周期型ID的分布不一致的情况下分类为事件型ID就可以。
周期+事件型ID是指,具有虽然以固定周期被发送,但是因某些契机(事件),仅在这时以超过了周期的允许值的短间隔(或者长间隔)内被发送的周期特性的通信的ID。同样。事件型ID是指,不具有固定的周期,而因某些事件,仅在当时具有被发送的周期特性的通信的ID。
周期型ID的出现分布可以使用正态分布或伽马分布等任意的概率分布。进而,可以通过周期型ID的通信间隔的长短或通信间隔的方差或偏斜度等统计信息、一定时间内的通信频度、周期+事件型ID的事件的发生特性的不同等其它的时间性特性来进行分类,也可以将组合多个这些特性进行了详细分类的结果作为知识信息。
此外,在CAN的情况下,有效载荷的比特分配也可以分类为几个类型。例如在CAN的情况下,可以根据有效载荷的变化的特性分类为:其值完全不变化的固定值字段、表示车速等传感器信息并连续地变化的连续值字段、表示档位等预先决定的状态的任意一个的状态值字段、表示发送次数等的计数器字段、用于在通信错误纠正等中利用的校验和字段等。进而,例如连续值字段也可以详细分类为车速等仅取零以上的正数的无代码连续值字段、或者以直行时的转向角为基准的情况的转向角等取正负的值的带代码连续值字段等。作为其它的分类例子,可举出字段的值的变化率或变化时的值的差分的平均或方差,各字段的比特长度等。具体地说,是识别具有每次值必定变化的状态值字段的通信、和具有10次通信中仅1次变化的状态值字段的通信、以及识别具有8比特长度的连续值字段的通信和具有16比特长度的连续值字段的通信等。甚至在机械学习有效载荷的特性的情况下,也可以与学习发送周期特性时同样地使用任意的算法。
而且,在CAN的情况下,作为用于排他地分类通信的识别符,可以利用信头(header)信息的ID,所以在上述中以ID为基础说明了知识信息获取的过程以及知识信息,但是也可以以其它的信头信息或页脚(footer)信息、有效载荷的确定比特位置的特性等任意的识别符为基准进行分类。
在决定了安装的探测器后通过以下的任意方法决定分配规则。首先,在预先判明各探测器可高精度地探测的组的情况下,若得到知识信息,则立即决定分配规则。另一方面,在不清楚哪个探测器擅长哪个组的探测的情况下,也可以准备在正常的通信数据中插入了攻击的虚拟的攻击通信数据,单独地适用各探测器,在明确了可以精度最好地实施哪个组的探测之后,决定分配规则。而且,可以将各组分配给任意一个探测器,也可以分配给多个探测器。在将一个组分配给多个探测器的情况下,在后述的探测阶段将多个判定结果汇总,进行综合地判断的处理。分配规则可以作为将各探测器和ID等识别符直接相关联的表等实现,也可以将记录了各探测器可探测什么样的特性的组的表、记录了各组属于哪个ID的表等集合彼此间设为相关联的表来实现。
<学习阶段>
在学习阶段中,使用与安装的各探测器对应的学习器,学习、生成以仅正常的通信、或者正常的通信和异常的通信、以及知识信息为基础被分类到各组的各通信的正常(异常)模型。例如,在安装以有效载荷为基础对每个ID进行探测的方式的情况下,通过使用知识信息中记录的有效载荷的特性(比特分配或各种统计信息),可以估计哪个字段位置容易被攻击,换言之,可以估计必须学习的字段位置在哪里、每个字段的值域等,所以决定学习器的阈值和模型生成被高效化。
在各探测器的模型学习中使用的学习用通信数据,既可以与在知识信息获取阶段使用的学习用通信数据相同,也可以不同。
<探测阶段>
在探测阶段,在通信网络中接收到成为探测对象的通信后,按照分配规则将探测用通信数据分配给适当的探测器,负责的探测器分别探测正常、异常的区别。按照分配规则,对最佳的(探测精度高的)探测器分配通信,所以与连结全部探测器而产生探测结果的情况相比,可以降低过探测率。而且,各探测器既可以对每个通信1消息输出正常还是异常的判定结果,也可以仅在判定为异常的情况下输出结果。
也可以生成分配规则,使得一个通信数据同时被分配给多个探测器。在该情况下,按照以下的判断基准,合计多个探测器的探测结果,根据合计的探测结果,输出最终探测结果。而且,后述的探测结果合计单元进行该动作即可。
一般来说,若要减少异常通信的漏检(第二种错误),则过探测(第一种错误)增加,若要减少过探测(第一种错误),则漏检(第二种错误)增加。利用者事先决定方针。例如,在希望最终减少漏检的情况下,在任意一个探测器探测到异常时,将本装置(本方法)的最终的探测结果(最终探测结果)也设为异常即可。另一方面,在希望最终减少过探测的情况下,在被分配的全部或者过半数的探测器探测到异常时,将本装置(本方法)的最终探测结果设为异常即可。作为其它的方法,也可以对各探测器进行加权,将各探测结果与各个权重相乘后相加,计算异常度作为似然,作为最终探测结果即可。
实施例1
以下,参照图1、图2,说明从通信网络中的各电子控制装置的通信探测异常通信的实施例1的异常通信探测装置的结构。如图1所示,本实施例的异常通信探测装置1包括:阶段切换单元11、接收单元12、暂时保持单元13、知识信息获取单元14、知识信息存储单元14a、分配规则生成单元15、分配规则存储单元15a、分配单元16、N个(N为2以上的自然数)的探测器即第1探测器17-1,…,第N探测器17-N、以及探测结果合计单元18。
如图2所示,第n探测器17-n(n=1,…,N)包括:接收单元171、暂时保持单元172、学习单元173、模型存储单元173a、以及探测单元174。而且,第n探测器17-n既可以具有与该图所示的结构要件以外的结构要件,也可以不具有该图所示的结构要件的一部分。例如,第n探测器17-n的接收单元171可以将学习用通信数据不经由暂时保持单元172而直接发送到学习单元173,也可以将学习用通信数据经由暂时保持单元172发送到学习单元173。
在以下的说明中,设N=3,第1探测器17-1设为仅根据作为时间性特性的发送间隔,执行学习、探测的探测器,第2探测器17-2、第3探测器17-3设为根据多个时间特性和有效载荷的两特性进行学习、探测的探测器。
此外,在以下的说明中,对在作为知识信息而获取时间特性和有效载荷的特性这两方的情况,并且对在成为对象的网络中发送接收与三个不同的ID(ID-a、ID-b、ID-c)有关的通信数据的情况进行描述。
此外,在以下的说明中,设为与各探测器对应的学习器作为探测器内部的1功能的学习单元来实现。在本实施例中,假定以上的结构来说明装置,但是本发明不限定可适用的探测器的个数或方式、知识信息的内容、对象的网络结构。
以下,参照图3,说明异常通信探测装置1的动作。首先,在各阶段中,接收单元12将由于通信网络的通信或者通信的加工等生成的通信数据与其识别符(CAN的情况,ID)一起接收,对该通信数据给予接收时刻(S12)。以下,说明各个阶段的各构成要件的动作。
<知识信息获取阶段>
在异常通信探测装置1处于知识信息获取阶段、学习阶段的情况下,将接收单元12接收的通信数据称为学习用通信数据。在该情况下,接收单元12对暂时保持单元13发送学习用通信数据。暂时保持单元13设为具有至少可保持一个学习用通信数据,最大可保持全部学习用通信数据的存储容量,暂时保持从接收单元12接收到的学习用通信数据(S13)。
接着,知识信息获取单元14按照事先规定的知识信息获取方法,根据暂时保持单元13中保持的学习用通信数据,获取与学习用通信数据的时间特性、有效载荷的特性中的至少任意一方的特性有关的信息即知识信息(S14)。假设根据将各通信间隔的差分的变化率设为基准而判定时间特性的方法,ID-a被判定为周期型,ID-b被判定为周期+事件型,ID-c被判定为事件型。进而,假设适用估计有效载荷的字段的任意的算法,ID-a的有效载荷估计为由固定值和连续值构成,ID-b估计为由固定值和状态值和计数器构成,ID-c估计为由由状态值和计数器和校验和构成。这种情况下,知识信息获取单元14将这些各ID的分组的结果以及各字段的统计信息作为知识信息,记忆(存储)在知识信息存储单元14a中。在将与暂时保持单元13中保持的全ID的通信数据对应的知识信息存储在知识信息存储单元14a中的情况下,知识信息获取单元14对分配规则生成单元15进行规定的通知。
分配规则生成单元15根据知识信息、设定等生成分配规则(S15)。例如,假设作为事先知识,已知第1探测器17-1在周期型ID的探测精度中超过第2探测器17-2、第3探测器17-3。而且,假设已知第2探测器17-2是利用有效载荷的校验和的变化的探测器。而且,假设已知第3探测器17-3是利用状态值和计数器的两方的变化的探测器。这种情况下,将这些事先知识预先存储在设定中。接收单元12从外部装置等接收该设定,将接收到的设定发送到分配规则生成单元15。
分配规则生成单元15根据知识信息,生成作为规定对多个探测器中的哪个探测器分配哪个识别符(ID)的通信数据的规则即分配规则(S15)。例如分配规则生成单元15根据接收到的设定,生成将根据知识信息判明为周期型ID的ID-a的通信数据分配给第1探测器17-1的分配规则。同样,分配规则生成单元15根据接收到的设定,生成将根据知识信息估计为由状态值和计数器和校验和构成的ID-c的通信数据分配给第2探测器17-2的分配规则。同样,根据接收到的设定,生成将估计为由固定值和状态值和计数器构成的ID-b的通信数据分配给第3探测器17-3的分配规则。分配规则生成单元15将生成的分配规则存储在分配规则存储单元15a中,对阶段切换单元11发送处理完成的通知。
从分配规则生成单元15接受了处理完成的通知的阶段切换单元11删除暂时保持单元13的存储内容,将异常通信探测装置1切换到学习阶段。或者,阶段切换单元11在删除了暂时保持单元13的存储内容后,对异常通信探测装置1的利用者请求基于某种方式的阶段的切换。
<学习阶段>
在异常通信探测装置1处于学习阶段的情况下,接收单元12接收学习用通信数据,将该学习用通信数据逐一发送到分配单元16。分配单元16根据分配规则存储单元15a中存储的分配规则,根据ID判断将接收到的学习用通信数据分配给哪个探测器,并对分配目的地的探测器发送学习用通信数据(S16)。
第n探测器17-n的接收单元171接收被分配给自身的学习用通信数据(S171)。第n探测器17-n的暂时保持单元172暂时保持接收到的学习用通信数据(S172)。第n探测器17-n的学习单元173学习用于探测被分配给该探测器的通信数据的正常、异常的区别的模型(S173)。
对于上述步骤S173,公开ID-a的学习用通信数据被分配给第1探测器17-1的情况的动作例子。在该情况下,第1探测器17-1的学习单元173根据接收到的学习用通信数据,学习ID-a的模型(S173)。具体地说,由于通信数据被给予异常通信探测装置1中的接收时间,所以第1探测器17-1的学习单元173计算通信数据间的发送间隔,计算发送间隔的平均值或方差等,学习正常通信数据中的ID-a的发送周期模型(包含该值的阈值)。第1探测器17-1的学习单元173接受来自设定等外部的通知,即ID-a的学习用通信数据全部被发送到第1探测器17-1,将学习到的模型存储在模型存储单元173a中,对阶段切换单元11发送通知。与第1探测器17-1同样,其它探测器也对自身设备负责的ID的学习用通信数据,学习模型(包含阈值)。阶段切换单元11在从全部探测器接受了通知后,将异常通信探测装置1切换到探测阶段。或者,对异常通信探测装置1的利用者请求基于某种方式的阶段的切换。
<探测阶段>
在异常通信探测装置1处于探测阶段的情况下,将接收单元12接收的通信数据称为探测用通信数据。接收单元12将接收到的探测用通信数据逐一发送到分配单元16。分配单元16根据分配规则存储单元15a中存储的分配规则,根据ID判断将接收到的探测用通信数据分配给哪个探测器,并对分配目的地的探测器发送探测用通信数据(S16)。
第n探测器17-n的接收单元171接收被分配给自身设备的探测用通信数据(S171)。第n探测器17-n的暂时保持单元172暂时保持接收到的探测用通信数据(S172)。第n探测器17-n的探测单元174根据在步骤S173中学习的、已存储在模型存储单元173a中的模型,对探测用通信数据的正常、异常的区别进行探测(S174)。
对于上述步骤S174,在ID-a的探测用通信数据被分配给第1探测器17-1的情况下,第1探测器17-1的探测单元174求与前一个ID-a的探测用通信数据最接近的探测用通信数据的时间差,通过是否发生了低于上述的模型中的阈值的短间隔来探测正常、异常的区别(S174)。此外,对于上述步骤S174,在ID-c的探测用通信数据被分配给第2探测器17-2的情况下,第2探测器17-2的探测单元174根据完整存储了状态值和校验和的对应关系的模型,通过探测用通信数据的有效载荷是否遵从模型,探测正常、异常的区别(S174)。而且,对于上述步骤S174,在ID-b的探测用通信数据被分配给第3探测器17-3的情况下,通过与前一个ID-b的探测用通信数据最接近的ID-b的探测用通信数据的状态值和计数器的顺序性是否遵从模型,来探测正常、异常的区别(S174)。
各探测器将探测单元174的探测结果随时发送到探测结果合计单元18。探测结果合计单元18将最终的探测结果(最终探测结果)输出到装置外部。在本实施例中将各ID的通信数据分配给各探测器,所以探测结果合计单元18可以将各探测器的输出原样作为异常通信探测装置1的输出而输出到外部,也可以追加信息后输出(例如,哪个探测器何时探测到了哪个消息等)。
而且,在各阶段中,接收单元12可以通过监听网络或网关而得到通信数据,也可以通过其它途径从其它监视设备得到通信数据作为日志等数据。对监听到的通信数据给予其接收时刻,但是若日志等通信数据中已经被给予了接收时刻,则也可以省略时刻给予。
本实施例的异常通信探测装置1也可以具有通过接收设定等输入或者预先决定的通信,使阶段切换单元11在任意的定时动作,转移到任意的阶段的功能。即,本实施例的异常通信探测装置1也可以在转移到探测阶段后以任意的定时转移到知识信息获取阶段或者学习阶段。这时,根据知识信息获取单元14以及学习单元173的算法,实施基于已存在的知识信息以及正常模型的追加学习,也可以删除原有的知识信息以及正常模型而重新学习。
本实施例的异常通信探测装置1可以将仅执行各阶段的多个装置群组合而构成,也可以将各探测器设为独立的装置等、组合多个装置而构成。而且,也可以将本实施例的异常通信探测装置1视为探测器之一,多个探测装置构成为嵌套状。
实施例2
存在因机械状态、例如车辆中的停车、行驶、自动行驶等状态的不同而改变应分配给哪个探测器的通信。例如,在来自车辆的通信数据中,存在当车辆的点火为接通(ON)的状态下以周期+事件型方式出现,但是在关断(OFF)的状态以事件型方式出现的ID。
以下,参照图4、图5,说明对从具有多个机械状态的电子控制装置发送的通信数据进行处理的、实施例2的异常通信探测装置的结构。如图4所示,本实施例的异常通信探测装置2包括:阶段切换单元11、接收单元12、暂时保持单元13、知识信息获取单元24、知识信息存储单元14a、分配规则生成单元25、分配规则存储单元15a、分配单元16、以及N个(N为2以上的自然数)的探测器即第1探测器27-1,…,第N探测器27-N、探测结果合计单元18,对于知识信息获取单元24、分配规则生成单元25、第1探测器27-1,…,第N探测器27-N以外的结构,具有与实施例1相同的功能。
如图5所示,第n探测器27-n(n=1,…,N)包括:接收单元171、暂时保持单元172、学习单元273、模型存储单元173a、探测单元174,对于学习单元273以外的结构,具有与实施例1相同的功能。以下,参照图6,说明与实施例1不同的动作。
<知识信息获取阶段>
如图6所示,知识信息获取单元24对每个机械状态(例如,点火的接通/关断这两种)获取知识信息(S24),分配规则生成单元25对每个机械状态生成分配规则(S25),存储在分配规则存储单元15a中。
<学习阶段>
第n探测器27-n的学习单元273对每个机械状态学习模型(S273),存储在模型存储单元173a中。
<探测阶段>
接收单元12接收表示机械状态的通信,或者接收表示机械状态的设定。分配单元16根据接收到的机械状态,根据在步骤S25中生成的分配规则,将探测用通信数据分配给适当的探测器(S16)。由此,即使对其特性因机械状态而变化的ID,也可以实施异常探测。
实施例3
存在因机械的结构或安装的探测器的组合等,通信数据的大部分属于一个组,并且仅被分配给确定的探测器的情况。异常通信探测装置能够并行处理多个任务,但是在可将探测器作为独立的装置来构成等情况下,通过准备多个同一学习器、探测器,可以削减、分散学习以及探测所需要的处理时间、处理负载。
以下,参照图7,说明准备了多个同一探测器的实施例3的异常通信探测装置的结构。如图7所示,本实施例的异常通信探测装置3包括:阶段切换单元11、接收单元12、暂时保持单元13、知识信息获取单元14、知识信息存储单元14a、分配规则生成单元35、分配规则存储单元15a、分配单元16、以及N个(N为2以上的自然数)的探测器即第1探测器37-1,…,第N探测器37-N、以及探测结果合计单元18,对于分配规则生成单元35、第1探测器37-1,…,第N探测器37-N以外的结构,具有与实施例1相同的功能。假设在第1探测器37-1,…,第N探测器37-N中,包含性能相同的m个(2≦m≦N-1)探测器群即确定探测器群。以下,参照图8,说明与实施例1不同的动作。
<知识信息获取阶段>
分配规则生成单元35生成分配规则,使得对属于确定探测器群的各个探测器分配的通信数据的每单位时间的通信量的合计均匀(S35)。
例如,设属于确定探测器群的、性能相同的探测器有两个,将它们称为探测器E1、E2,将被分配给确定探测器群的学习用通信数据的集合称为集合。设被包含在集合F中的学习用通信数据因ID而发送间隔不同。
例如,为了使属于确定探测器群的探测器的每1器的负载变得均等(即,在该情况下将负载各分为一半),首先将集合F的学习用通信数据通过ID分成两份。具体地说,根据从知识信息得到的各ID的发送间隔区分ID,使得每单位时间的通信量均匀(大致各一半),将其分别设为被分配给探测器E1的学习用通信数据的集合F1、被分配给探测器E2的学习用通信数据的集合F2
因此,分配规则生成单元35生成分配规则,使得属于集合F1的ID的通信数据被分配给探测器E1,属于集合F2的ID的通信数据被分配给探测器E2。由此,可以使属于确定探测器群的各探测器的处理负载均匀并降低,异常通信探测装置3整体的处理效率高。而且,通过与上述同样生成分配规则,使得对于性能相同的多个学习器群即确定学习器群中的各个学习器被均匀地分配学习用通信数据,从而可以削减模型生成等学习时间。
[实施例1~3中记载的异常通信探测装置1~3产生的效果]
按照实施例1~3中记载的异常通信探测装置1~3,由于根据获取的通信数据的知识信息(通信的举动的特性、正常通信的发送周期或频度这样的时间特性、或者有效载荷的特性、或者学习了这两方的特性的结果以及按照学习结果将通信进行了分类的结果),使用探测精度最高的探测器探测正常、异常的区别,所以可以减少过探测,提高探测精度。而且,通过准备多个探测器,将通信数据分配给对每个ID适当的探测器,与将单独的探测器适用于通信整体的情况相比,探测精度提高。
而且,按照实施例1~3中记载的异常通信探测装置1~3,通过使用获取的各通信数据的知识信息,即使不知道与通信有关的设计值或规范,也可以使用适当的学习器以及探测器学习模型,探测通信数据的正常、异常的区别,所以容易适用于各种车种和机械。
而且,按照实施例2中记载的异常通信探测装置2,通过根据机械状态区分使用分配规则,探测精度提高。此外,按照实施例3中记载的异常通信探测装置2,通过根据对象通信的知识信息以及分配规则,对多个确定学习器群以及确定探测器群均匀地分配通信数据,可以使各个学习器以及探测器的处理负载分散,实现异常通信探测装置的处理整体的均衡化。
<补记>
本发明的装置,例如作为单一的硬件实体,包括:可连接键盘等的输入单元、可连接液晶显示器等的输出单元、可连接可与硬件实体的外部通信的通信装置(例如通信电缆)的通信单元、CPU(Central Processing Unit,也可以具有高速缓冲存储器或寄存器等)、作为存储器的RAM或ROM、作为硬盘的外部存储装置、以及以可进行这些输入单元、输出单元、通信单元、CPU、RAM、ROM、外部存储装置之间的数据的交换的方式连接的总线。并且也可以根据需要,在硬件实体中设置可读写CD-ROM等记录介质的装置(驱动器)等。作为具有这样的硬件资源的物理的实体,有通用计算机、嵌入式设备等。
在硬件实体的外部存储装置中,存储有为了实现上述的功能所需要的程序以及在该程序的处理中所需要的数据等(不限于外部存储装置,例如也可以使程序存储在作为读出专用存储装置的ROM中)。此外,通过执行程序的处理得到的数据等被适当地存储在RAM或外部存储装置等中。
在硬件实体中,在外部存储装置(或者ROM等)中存储的各程序和该各程序的处理所需要的数据根据需要被读入存储器,适当地在CPU中被解释执行、处理。其结果,CPU实现规定的功能(表示为上述、…单元、…手段等的各结构要件)。
本发明不限于上述的实施方式,可在不脱离本发明的宗旨的范围内适当变更。而且,在上述实施方式中说明的处理不仅按照记载的顺序时间序列地被执行,也可以根据执行处理的装置的处理能力或者需要并行或者单独地被执行。
如已经叙述的那样,在通过计算机、嵌入设备实现上述实施方式中说明的硬件实体(本发明的装置)中的处理功能的情况下,通过程序记述硬件实体应具有的功能的处理内容。然后,通过计算机、嵌入设备执行该程序,在计算机、嵌入设备上实现上述硬件实体中的处理功能。
记述了这种处理内容的程序可以记录在通过计算机、嵌入设备可读取的记录介质中。作为通过计算机、嵌入设备可读取的记录介质,例如可以是磁记录装置、光盘、光磁气记录介质、半导体存储器等任何介质。具体地说,例如作为磁记录装置,可以使用硬盘装置、软盘、磁带等,作为光盘,可以使用DVD(Digital Versatile Disc;数字通用光盘)、DVD-RAM(Random Access Memory;随机存取存储器)、CD-ROM(Compact Disc Read Only Memory;光盘只读存储器)、CD-R(Recordable)/RW(ReWritable)等,作为光磁记录介质,可以使用MO(Magneto-Optical disc;磁光盘)等,作为半导体存储器可以使用EEP-ROM(Electronically Erasable and Programmable-Read Only Memory;电子可擦可编程只读存储器)等。
而且,该程序的流通例如通过销售、转让、租借等记录了该程序的DVD、CD-ROM等可拆装型记录介质来进行。进而,也可以设为将该程序存储在服务器计算机的存储装置中,经由网络,通过将该程序从服务器计算机转发到其它计算机、嵌入设备,使该程序流通的结构。
执行这样的程序的计算机、嵌入设备例如首先将可拆装型记录介质中记录的程序或者从服务器计算机转发的程序暂时存储在自己的存储装置中。然后,在执行处理时,该计算机、嵌入设备读取自己的存储装置中存储的程序,执行按照读取的程序的处理。而且,作为该程序其它执行方式,计算机、嵌入设备也可以从可拆装型记录介质直接读取程序,执行按照该程序的处理,进而,也可以在每次从服务器计算机对该计算机、嵌入设备转发程序时,逐次执行按照接受的程序的处理。而且,也可以设为通过不进行从服务器计算机向该计算机、嵌入设备的程序的转发,仅通过该执行指令和结果取得来实现处理功能的、所谓ASP(Application Service Provider,应用服务提供商)型的服务,执行上述的处理的结构。而且,本方式中的程序中,包含供电子计算机的处理用的信息即基于程序的信息(虽然不是对于计算机、嵌入设备的直接的指令,但是具有规定计算机、嵌入设备的处理的性质的数据等)。
而且,在本方式中,设为通过在计算机、嵌入设备上执行规定的程序,构成了硬件实体,但是也可以设为硬件性地实现这些处理内容的至少一部分。

Claims (8)

1.一种异常通信探测装置,从通信网络中的各电子控制装置的通信来探测异常通信,包括:
接收单元,接收包含识别符的学习用通信数据和包含所述识别符的探测用通信数据;
知识信息获取单元,获取与所述学习用通信数据的时间特性、有效载荷的特性之中的至少任意一方的特性有关的信息即知识信息;
分配规则生成单元,根据所述知识信息,生成分配规则,即生成用于规定对多个探测器之中的哪个所述探测器分配哪个所述识别符的通信数据的规则;
分配单元,根据所述分配规则,对所述探测器中的任意一个探测器分配所述通信数据;以及
多个所述探测器,在被分配了所述学习用通信数据的情况下,学习用于探测被分配给该探测器的所述通信数据的正常、异常的区别的模型,在被分配了所述探测用通信数据的情况下,根据学习的所述模型探测所述探测用通信数据的正常、异常的区别。
2.如权利要求1所述的异常通信探测装置,
在所述通信数据是从具有多个机械状态的所述电子控制装置发送的所述通信数据的情况下,
所述知识信息获取单元
对每个所述机械状态获取所述知识信息,
所述分配规则生成单元
对每个所述机械状态生成所述分配规则,
所述探测器
对每个所述机械状态学习所述模型。
3.如权利要求1或者2所述的异常通信探测装置,
包含性能相同的探测器群即确定探测器群,
所述分配规则生成单元
生成所述分配规则,使得对属于所述确定探测器群的所述探测器的每一个分配的所述通信数据的每单位时间的通信量的合计均匀。
4.如权利要求1至3的任意一项所述的异常通信探测装置,
所述分配规则生成单元
生成所述分配规则,使得所述通信数据同时被分配给多个所述探测器,
所述异常通信探测装置包括:探测结果合计单元,合计多个所述探测器对所述通信数据的探测结果,根据合计的所述探测结果,输出所述通信数据的最终探测结果。
5.一种异常通信探测方法,从通信网络中的各电子控制装置的通信来探测异常通信,包括:
接收步骤,接收包含识别符的学习用通信数据和包含所述识别符的探测用通信数据;
知识信息获取步骤,获取与所述学习用通信数据的时间特性、有效载荷的特性之中的至少任意一方的特性有关的信息即知识信息;
分配规则生成步骤,根据所述知识信息,生成分配规则,即生成用于规定对多个探测器中的哪个所述探测器分配哪个所述识别符的通信数据的规则;
分配步骤,根据所述分配规则,对所述探测器中的任意一个探测器分配所述通信数据;
学习步骤,在被分配了所述学习用通信数据的情况下,学习用于探测对该探测器分配的所述通信数据的正常、异常的区别的模型;以及
探测步骤,在被分配了所述探测用通信数据的情况下,根据学习的所述模型探测所述探测用通信数据的正常、异常的区别。
6.如权利要求5所述的异常通信探测方法,
在所述通信数据是从具有多个机械状态的所述电子控制装置发送的所述通信数据的情况下,
所述知识信息获取步骤
对每个所述机械状态获取所述知识信息,
所述分配规则生成步骤
对每个所述机械状态生成所述分配规则,
所述学习步骤
对每个所述机械状态学习所述模型。
7.如权利要求5或者6所述的异常通信探测方法,
所述分配规则生成步骤
生成所述分配规则,使得对属于性能相同探测器群即确定探测器群的所述探测器的每一个分配的所述通信数据的每单位时间的通信量的合计均匀。
8.一种程序,使计算机具有作为权利要求1至4的任意一项所述的异常通信探测装置的功能。
CN201880073138.0A 2017-11-27 2018-11-14 异常通信探测装置及其方法、计算机可读取的记录介质 Active CN111357242B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017-226556 2017-11-27
JP2017226556 2017-11-27
PCT/JP2018/042080 WO2019102911A1 (ja) 2017-11-27 2018-11-14 異常通信検知装置、異常通信検知方法、プログラム

Publications (2)

Publication Number Publication Date
CN111357242A true CN111357242A (zh) 2020-06-30
CN111357242B CN111357242B (zh) 2022-02-01

Family

ID=66631000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880073138.0A Active CN111357242B (zh) 2017-11-27 2018-11-14 异常通信探测装置及其方法、计算机可读取的记录介质

Country Status (5)

Country Link
US (1) US11856006B2 (zh)
EP (1) EP3720054A4 (zh)
JP (1) JP7282686B2 (zh)
CN (1) CN111357242B (zh)
WO (1) WO2019102911A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7316129B2 (ja) * 2019-07-16 2023-07-27 株式会社ベリサーブ 処理システム、及び処理プログラム
US11870789B2 (en) 2019-09-30 2024-01-09 Autonetworks Technologies, Ltd. Detection device, vehicle, detection method, and detection program
US11849324B2 (en) 2019-09-30 2023-12-19 Autonetworks Technologies, Ltd. Detection device, vehicle, detection method, and detection program
JP7226248B2 (ja) * 2019-10-31 2023-02-21 トヨタ自動車株式会社 通信装置および異常判定装置
JP7413172B2 (ja) 2020-07-15 2024-01-15 株式会社東芝 通信解析装置およびプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101512522A (zh) * 2006-07-10 2009-08-19 网圣公司 分析网络内容的系统和方法
CN101981601A (zh) * 2008-04-11 2011-02-23 三菱电机株式会社 设备状态检测装置、设备状态检测方法、设备状态检测服务器及设备状态检测系统、生活者异常探测装置、生活者异常探测系统及生活者异常探测方法以及设备状态数据库维护服务器
CN103024065A (zh) * 2012-12-25 2013-04-03 曙光信息产业(北京)有限公司 用于云存储系统的系统配置管理方法
CN103903389A (zh) * 2012-12-30 2014-07-02 青岛海尔软件有限公司 应用热释电红外探测器的居家老人看护系统
CN103955425A (zh) * 2014-04-16 2014-07-30 中国工商银行股份有限公司 网页web探索测试装置及方法
US20160350657A1 (en) * 2015-06-01 2016-12-01 Qualcomm Incorporated Cross-Module Behavioral Validation
CN107146088A (zh) * 2012-03-01 2017-09-08 系统科技解决方案公司 来自标记的特征的唯一识别信息

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101512522A (zh) * 2006-07-10 2009-08-19 网圣公司 分析网络内容的系统和方法
CN101981601A (zh) * 2008-04-11 2011-02-23 三菱电机株式会社 设备状态检测装置、设备状态检测方法、设备状态检测服务器及设备状态检测系统、生活者异常探测装置、生活者异常探测系统及生活者异常探测方法以及设备状态数据库维护服务器
CN107146088A (zh) * 2012-03-01 2017-09-08 系统科技解决方案公司 来自标记的特征的唯一识别信息
CN103024065A (zh) * 2012-12-25 2013-04-03 曙光信息产业(北京)有限公司 用于云存储系统的系统配置管理方法
CN103903389A (zh) * 2012-12-30 2014-07-02 青岛海尔软件有限公司 应用热释电红外探测器的居家老人看护系统
CN103955425A (zh) * 2014-04-16 2014-07-30 中国工商银行股份有限公司 网页web探索测试装置及方法
US20160350657A1 (en) * 2015-06-01 2016-12-01 Qualcomm Incorporated Cross-Module Behavioral Validation

Also Published As

Publication number Publication date
US11856006B2 (en) 2023-12-26
JPWO2019102911A1 (ja) 2020-11-19
WO2019102911A1 (ja) 2019-05-31
CN111357242B (zh) 2022-02-01
EP3720054A4 (en) 2021-08-25
JP7282686B2 (ja) 2023-05-29
US20210178995A1 (en) 2021-06-17
EP3720054A1 (en) 2020-10-07

Similar Documents

Publication Publication Date Title
CN111357242B (zh) 异常通信探测装置及其方法、计算机可读取的记录介质
US11411681B2 (en) In-vehicle information processing for unauthorized data
US10992688B2 (en) Unauthorized activity detection method, monitoring electronic control unit, and onboard network system
JP6847101B2 (ja) 情報処理方法、情報処理システム、及びプログラム
US11757903B2 (en) Unauthorized communication detection reference deciding method, unauthorized communication detection reference deciding system, and non-transitory computer-readable recording medium storing a program
US11368329B2 (en) Device and method for dividing field boundary of can trace
CN110546921B (zh) 不正当检测方法、不正当检测装置以及程序
WO2018168291A1 (ja) 情報処理方法、情報処理システム、及びプログラム
US20230370480A1 (en) Unauthorized communication detection reference deciding method, unauthorized communication detection reference deciding system, and non-transitory computer-readable recording medium storing a program
WO2018186053A1 (ja) 不正通信検知方法、不正通信検知システム及びプログラム
CN111418191B (zh) 比特分配估计装置、比特分配估计方法、记录介质
CN111903095B (zh) 检测装置及其方法以及记录介质
EP4254236A1 (en) Abnormality detection method, abnormality detection device, and program
CN114731301B (zh) 决定方法、决定系统以及程序记录介质
JP2019169877A (ja) 監視装置、監視方法およびコンピュータプログラム
US20210064969A1 (en) Method for detecting a deterioration in a network
CN107707524B (zh) 一种数据传输方法和系统
CN112448943A (zh) 用于在信号指纹系统中对网络模型进行分析和适配的方法
CN115412923A (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