一种基于DoIP协议的入侵检测防御方法及系统转让专利
申请号 : CN202011110543.0
文献号 : CN112422506B
文献日 : 2022-03-15
发明人 : 王建伟 , 李华领 , 庞旭东 , 吉喆 , 袁朝阳 , 李鑫
申请人 : 郑州信大捷安信息技术股份有限公司
摘要 :
权利要求 :
1.一种基于DoIP协议的入侵检测防御方法,其特征在于,包括:在外部测试设备中设置DoIP协议模块,在车内DoIP实体中设置DoIP协议模块和DoIP入侵检测模块;
在所述车内DoIP实体中设置DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测策略;
当所述外部测试设备对所述车内DoIP实体进行诊断通讯时,所述车内DoIP实体按照所述检测策略依次进行DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测;
所述DoIP报文格式的检测策略包括:报文头格式检测策略,以及报文类型、报文长度与报文传输层协议检测策略;所述报文头格式检测策略为报文头参数的合法值域的检测策略,所述报文头参数包括协议版本信息、协议版本按位取反信息、数据类型和数据长度;所述报文类型、报文长度与报文传输层协议检测策略为检测不同报文数据类型是否符合设定的数据长度和传输层协议类型的策略,所述报文数据类型包括发送报文数据和接收报文数据,所述传输层协议类型包括UDP协议和TCP协议;
所述DoIP报文场景的检测策略为检测不同报文数据类型是否支持设定的工作场景的策略,所述工作场景包括车辆发现、TCP连接、路由激活、车辆诊断中的至少一种;
所述DoIP报文间隔的检测策略为检测报文处理是否符合设定的时间间隔的策略;
当所述外部测试设备对所述车内DoIP实体进行诊断通讯时,所述车内DoIP实体按照所述检测策略依次进行DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测,具体包括:当所述外部测试设备对所述车内DoIP实体进行诊断通讯时,所述外部测试设备通过其DoIP协议模块对诊断数据进行封装后生成DoIP报文,并发送至所述车内DoIP实体;
所述车内DoIP实体接收到封装后的所述DoIP报文后,上传至其DoIP入侵检测模块;
所述车内DoIP实体通过其DoIP入侵检测模块解析封装后的所述DoIP报文后,使用所述报文头格式检测策略检测所述DoIP报文的报文头各个参数是否在合法值域内,若不在合法值域内,则所述DoIP报文为非法报文;若在合法值域内,则开始检测报文类型;
所述车内DoIP实体通过其DoIP入侵检测模块使用所述报文类型检测策略检测所述DoIP报文是否符合接收报文数据类型,若不符合,则所述DoIP报文为非法报文;若符合,则开始检测报文长度;
所述车内DoIP实体通过其DoIP入侵检测模块使用所述报文长度检测策略检测所述DoIP报文的数据长度与设定的数据长度是否一致,若不一致,则所述DoIP报文为非法报文;
若一致,则开始检测报文传输层协议;
所述车内DoIP实体通过其DoIP入侵检测模块使用所述报文传输层协议检测策略检测所述DoIP报文的传输层协议与设定的传输层协议是否一致,若不一致,则所述DoIP报文为非法报文;若一致,则开始检测报文场景;
所述车内DoIP实体通过其DoIP入侵检测模块使用所述DoIP报文场景的检测策略检测所述DoIP报文是否支持设定的工作场景,若所述DoIP报文属于设定的工作场景以外的报文,则所述DoIP报文为非法报文;若所述DoIP报文支持设定的工作场景,则开始检测当前是否还在处理上一DoIP报文请求;
若所述车内DoIP实体通过其DoIP入侵检测模块检测获知当前正在处理上一DoIP报文请求且通过所述DoIP报文间隔的检测策略判断处理时间并未超过设定的时间间隔,则所述DoIP报文为非法报文;否则,将所述DoIP报文发送至其DoIP协议模块进行处理,并将处理的响应结果返回至所述外部测试设备。
2.根据权利要求1所述的入侵检测防御方法,其特征在于,所述车内DoIP实体通过其DoIP入侵检测模块在检测所述报文头格式、所述报文类型和所述报文长度的过程中,在检测获知DoIP报文为非法报文后,通知其DoIP协议模块进行否定响应的发送,DoIP入侵检测模块记录所述DoIP报文的错误日志并结束退出;
所述车内DoIP实体通过其DoIP入侵检测模块在检测所述报文传输层协议、所述报文场景和所述报文间隔的过程中,在检测获知DoIP报文为非法报文后,通过DoIP入侵检测模块记录所述DoIP报文的错误日志并结束退出。
3.根据权利要求1所述的入侵检测防御方法,其特征在于,所述车内DoIP实体通过其DoIP入侵检测模块在检测报文头格式之前,还包括:所述车内DoIP实体通过其DoIP入侵检测模块检测DoIP激活线状态,确保处于工作状态,若DoIP激活线状态为inactive,表明不处于工作状态,则所述DoIP报文为非法报文,记录所述DoIP报文的错误日志并结束退出;若DoIP激活线状态为active,表明处于工作状态。
4.根据权利要求1所述的入侵检测防御方法,其特征在于,所述车内DoIP实体中还设置有TCP/IP协议模块和UDS模块;所述DoIP入侵检测模块位于所述DoIP协议模块的下层,位于TCP/IP协议模块的上层。
5.根据权利要求1所述的入侵检测防御方法,其特征在于,在外部测试设备中设置DoIP入侵检测模块;在所述外部测试设备中设置DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测策略;当所述外部测试设备接收所述车内DoIP实体的诊断通讯响应时,所述外部测试设备按照所述检测策略依次进行DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测。
6.一种基于DoIP协议的入侵检测防御系统,其特征在于,所述入侵检测防御系统包括:DoIP设置单元、检测策略设置单元和报文检测单元;
所述DoIP设置单元,用于在外部测试设备中设置DoIP协议模块,在车内DoIP实体中设置DoIP协议模块和DoIP入侵检测模块;
所述检测策略设置单元,用于在所述车内DoIP实体中设置DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测策略;
所述报文检测单元,用于当所述外部测试设备对所述车内DoIP实体进行诊断通讯时,所述车内DoIP实体按照所述检测策略依次进行DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测;
所述DoIP报文格式的检测策略包括:报文头格式检测策略,以及报文类型、报文长度与报文传输层协议检测策略;所述报文头格式检测策略为报文头参数的合法值域的检测策略,所述报文头参数包括协议版本信息、协议版本按位取反信息、数据类型和数据长度;所述报文类型、报文长度与报文传输层协议检测策略为检测不同报文数据类型是否符合设定的数据长度和传输层协议类型的策略,所述报文数据类型包括发送报文数据和接收报文数据,所述传输层协议类型包括有UDP协议和TCP协议;
所述DoIP报文场景的检测策略为检测不同报文数据类型是否支持设定的工作场景的策略,所述工作场景包括车辆发现、TCP连接、路由激活、车辆诊断中的至少一种;
所述DoIP报文间隔检测策略为检测报文处理是否符合设定的时间间隔的策略;
当所述外部测试设备对所述车内DoIP实体进行诊断通讯时,所述车内DoIP实体按照所述检测策略依次进行DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测,具体包括:当所述外部测试设备对所述车内DoIP实体进行诊断通讯时,所述外部测试设备通过其DoIP协议模块对诊断数据进行封装后生成DoIP报文,并发送至所述车内DoIP实体;
所述车内DoIP实体接收到封装后的所述DoIP报文后,上传至其DoIP入侵检测模块;
所述车内DoIP实体通过其DoIP入侵检测模块解析封装后的所述DoIP报文后,使用所述DoIP报文格式检测策略中的报文头格式检测策略检测该DoIP报文的报文头各个参数是否在合法值域内,若不在合法值域内,则该DoIP报文为非法报文;若在合法值域内,则开始检测报文类型;
所述车内DoIP实体通过其DoIP入侵检测模块使用所述报文类型检测策略检测所述DoIP报文是否符合接收报文数据类型,若不符合,则所述DoIP报文为非法报文;若符合,则开始检测报文长度;
所述车内DoIP实体通过其DoIP入侵检测模块使用所述报文长度检测策略检测所述DoIP报文的数据长度与设定的数据长度是否一致,若不一致,则所述DoIP报文为非法报文;
若一致,则开始检测报文传输层协议;
所述车内DoIP实体通过其DoIP入侵检测模块使用所述报文传输层协议检测策略检测所述DoIP报文的传输层协议与设定的传输层协议是否一致,若不一致,则所述DoIP报文为非法报文;若一致,则开始检测报文场景;
所述车内DoIP实体通过其DoIP入侵检测模块使用所述DoIP报文场景的检测策略检测所述DoIP报文是否支持设定的工作场景,若所述DoIP报文属于设定的工作场景以外的报文,则所述DoIP报文为非法报文;若所述DoIP报文支持设定的工作场景,则开始检测当前是否还在处理上一DoIP报文请求;
若所述车内DoIP实体通过其DoIP入侵检测模块检测获知当前正在处理上一DoIP报文请求且通过所述DoIP报文间隔的检测策略判断处理时间并未超过设定的时间间隔,则所述DoIP报文为非法报文;否则,将所述DoIP报文发送至其DoIP协议模块进行处理,并将处理的响应结果返回至所述外部测试设备。
说明书 :
一种基于DoIP协议的入侵检测防御方法及系统
技术领域
背景技术
远程诊断(On Board Diagnostics,OBD/Unified Diagnostic Services,UDS)、ADAS
(Advanced Driving Assistance System)、V2X(Vehicle to everything)、自动驾驶等功
能已经开始逐步实现,基于车载以太网的通信协议的应用前景也越来越广阔,尤其是DoIP
(Diagnostic communication over Internet Protocol)协议越来越得到广泛应用,其中
涉及到的网络安全问题也越来越凸显。
场景的合理性,无法保证DoIP报文的时序和传输层协议正确与否,通常还包含很多DoIP不
会涉及到的一些检测内容,导致检测效率低下,具有很大的局限性,不能满足车载网络对
DoIP协议通信的安全的要求。
所存在的局限性。
发明内容
对非法DoIP报文的识别、检测和阻止,保护车辆免受各种攻击。
值域的检测策略,所述报文头参数包括协议版本信息、协议版本按位取反信息、数据类型和
数据长度;所述报文类型、报文长度与报文传输层协议检测策略为检测不同报文数据类型
是否符合设定的数据长度和传输层协议类型的策略,所述报文数据类型包括发送报文数据
和接收报文数据,所述传输层协议类型包括UDP协议和TCP协议;
测,具体包括:
合法值域内,则所述DoIP报文为非法报文;若在合法值域内,则开始检测报文类型;
则开始检测报文长度;
文;若一致,则开始检测报文传输层协议;
文为非法报文;若一致,则开始检测报文场景;
报文,则所述DoIP报文为非法报文;若所述DoIP报文支持设定的工作场景,则开始检测当前
是否还在处理上一DoIP报文请求;
所述DoIP报文为非法报文;否则,将所述DoIP报文发送至其DoIP协议模块进行处理,并将处
理的响应结果返回至所述外部测试设备。
协议模块进行否定响应的发送,DoIP入侵检测模块记录所述DoIP报文的错误日志并结束退
出;
检测模块记录所述DoIP报文的错误日志并结束退出。
记录所述DoIP报文的错误日志并结束退出;若DoIP激活线状态为active,表明处于工作状
态。
述车内DoIP实体的诊断通讯响应时,所述外部测试设备按照所述检测策略依次进行DoIP报
文格式、DoIP报文场景和DoIP报文间隔的检测。
文间隔的检测。
值域的检测策略,所述报文头参数包括协议版本信息、协议版本按位取反信息、数据类型和
数据长度;所述报文类型、报文长度与报文传输层协议检测策略为检测不同报文数据类型
是否符合设定的数据长度和传输层协议类型的策略,所述报文数据类型包括发送报文数据
和接收报文数据,所述传输层协议类型包括有UDP协议和TCP协议;
测,具体包括:
是否在合法值域内,若不在合法值域内,则该DoIP报文为非法报文;若在合法值域内,则开
始检测报文类型;
则开始检测报文长度;
文;若一致,则开始检测报文传输层协议;
文为非法报文;若一致,则开始检测报文场景;
报文,则所述DoIP报文为非法报文;若所述DoIP报文支持设定的工作场景,则开始检测当前
是否还在处理上一DoIP报文请求;
所述DoIP报文为非法报文;否则,将所述DoIP报文发送至其DoIP协议模块进行处理,并将处
理的响应结果返回至所述外部测试设备。
作场景下的报文协议版本、报文类型、报文长度、报文间隔、报文传输层协议类型、报文请求
响应的对应关系等异常,过滤异常的非法报文,保证仅有合法的报文才能传输至DoIP协议
模块进行后续的诊断通讯,有效提升了DoIP报文的安全合法性;
和更高的检测效率;
附图说明
具体实施方式
实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创
造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
体的实施例的目的,不是旨在于限制本发明。
接收报文数据,所述传输层协议类型包括UDP协议和TCP协议;
合法值域内,则所述DoIP报文为非法报文;若在合法值域内,则开始检测报文类型;
则开始检测报文长度;
文;若一致,则开始检测报文传输层协议;
文为非法报文;若一致,则开始检测报文场景;
报文,则所述DoIP报文为非法报文;若所述DoIP报文支持设定的工作场景,则开始检测当前
是否还在处理上一DoIP报文请求;
所述DoIP报文为非法报文;否则,将所述DoIP报文发送至其DoIP协议模块进行处理,并将处
理的响应结果返回至所述外部测试设备。
Inverse Protocol version,长度是1个字节,是Protocol version的按位取反,与
Protocol version共同验证DoIP数据包的协议版本;Payload Type占用2个字节,解释本条
报文所携带的数据的类型(即报文数据类型);Payload Length占用4个字节,指示DoIP有效
载荷的长度(即报文长度);Message Content即是负载内容的部分。DoIP入侵检测模块对
DoIP报文头的检测主要是对报文头部各个参数的合法值域的检测,当检测到某个参数的值
超出DoIP规范约定的范围时,即认为该报文非法。
车内DoIP实体(服务端DoIP实体)接收的报文,0x0000、0x0004、0x0006、0x0007、0x4002、
0x4004、0x8002、0x8003报文为车内DoIP实体(服务端DoIP实体)发送的报文,依此可以根据
负载类型、长度和传输层协议类型来判断接收的报文是否非法。例如接收一条0x0004的报
文,则认为是非法报文;例如通过UDP协议接收到一条0x8001的报文,因其规定的传输层协
议是TCP,则认为是非法报文;例如接收到一条负载长度不为0的0x0001报文则认为是非法
报文;例如接收到一条0x9000负载类型的报文时,认为是非法报文。
需要一定的时间来处理。因此,在向同一个服务端DoIP实体发送另一个DoIP报文请求之前,
客户端DoIP实体必须至少等待一定的处理时间(一般是2s)。故依此可以认为,在服务端
DoIP实体尚未处理完毕上一DoIP报文请求,发送对应的响应时,再次接收到的DoIP请求报
文,将被视为非法报文。例如客户端DoIP实体向服务端DoIP实体发送了0x8001报文,服务端
应处理该报文并在处理时间间隔内回复响应,若服务端DoIP实体尚未向客户端DoIP实体发
送响应,但并未超时,客户端DoIP实体再次向服务端DoIP实体发送了0x8001报文,则可以认
为该0x8001报文为非法报文。
的诊断消息报文只有在车辆诊断场景中,才有存在的合理性,因此在路由激活完成之前收
到的0x8001报文则认为是非法报文。
中,在检测获知DoIP报文为非法报文后,通知其DoIP协议模块进行否定响应的发送,DoIP入
侵检测模块记录所述DoIP报文的错误日志并结束退出;所述车内DoIP实体通过其DoIP入侵
检测模块在检测所述报文传输层协议、所述报文工作场景和所述报文间隔的过程中,在检
测获知DoIP报文为非法报文后,通过DoIP入侵检测模块记录所述DoIP报文的错误日志并结
束退出。
DoIP激活线状态为inactive,表明不处于工作状态,则该DoIP报文为非法报文,记录该DoIP
报文的错误日志并结束退出;若DoIP激活线状态为active,表明处于工作状态。
DoIP协议,TCP/IP是基础网络协议栈;核心模块是DoIP入侵检测模块,主要通过对接收的
DoIP报文的报文头格式、报文类型、报文长度、报文场景等的检测,来提供针对DoIP报文的
入侵检测和防御的功能。
DoIP报文后,对报文数据进行检测,确保数据安全有效后,再上传到DoIP协议模块处理。
文间隔的检测策略;当所述外部测试设备接收所述车内DoIP实体的诊断通讯响应时,所述
外部测试设备按照所述检测策略依次进行DoIP报文格式、DoIP报文场景和DoIP报文间隔的
检测。
中设置DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测策略;所述报文检测单元用于
当所述外部测试设备对所述车内DoIP实体进行诊断通讯时,所述车内DoIP实体按照所述检
测策略依次进行DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测。
值域的检测策略,所述报文头参数包括协议版本信息、协议版本按位取反信息、数据类型和
数据长度;所述报文类型、报文长度与报文传输层协议检测策略为检测不同报文数据类型
是否符合设定的数据长度和传输层协议类型的策略,所述报文数据类型包括发送报文数据
和接收报文数据,所述传输层协议类型包括有UDP协议和TCP协议;所述DoIP报文场景的检
测策略为检测不同报文数据类型是否支持设定的工作场景的策略,所述工作场景包括车辆
发现、TCP连接、路由激活、车辆诊断中的至少一种;所述DoIP报文间隔检测策略为检测报文
处理是否符合设定的时间间隔的策略。
文间隔的检测,具体包括:
是否在合法值域内,若不在合法值域内,则该DoIP报文为非法报文;若在合法值域内,则开
始检测报文类型;
则开始检测报文长度;
文;若一致,则开始检测报文传输层协议;
文为非法报文;若一致,则开始检测报文场景;
报文,则所述DoIP报文为非法报文;若所述DoIP报文支持设定的工作场景,则开始检测当前
是否还在处理上一DoIP报文请求;
所述DoIP报文为非法报文;否则,将所述DoIP报文发送至其DoIP协议模块进行处理,并将处
理的响应结果返回至所述外部测试设备。
中,在检测获知DoIP报文为非法报文后,通知其DoIP协议模块进行否定响应的发送,DoIP入
侵检测模块记录所述DoIP报文的错误日志并结束退出;所述车内DoIP实体通过其DoIP入侵
检测模块在检测所述报文传输层协议、所述报文工作场景和所述报文间隔的过程中,在检
测获知DoIP报文为非法报文后,通过DoIP入侵检测模块记录所述DoIP报文的错误日志并结
束退出。
DoIP激活线状态为inactive,表明不处于工作状态,则该DoIP报文为非法报文,记录该DoIP
报文的错误日志并结束退出;若DoIP激活线状态为active,表明处于工作状态。
测试设备中设置DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测策略;当所述外部测
试设备接收所述车内DoIP实体的诊断通讯响应时,所述外部测试设备按照所述检测策略依
次进行DoIP报文格式、DoIP报文场景和DoIP报文间隔的检测。
景下的报文协议版本、报文类型、报文长度、报文间隔、报文传输层协议类型、报文请求响应
的对应关系等异常,过滤异常的非法报文,保证仅有合法的报文才能传输至DoIP协议模块
进行后续的诊断通讯,有效提升了DoIP报文的安全合法性;
更高的检测效率;
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。