本发明实施例涉及数据溯源,尤其涉及一种数据溯源方法、装置、电子设备和可读存储介质。
背景技术:
1、在分布式拒绝服务攻击(distributed denial of service,ddos)、高级持续性威胁攻击(advanced persistent threat,apt)或远程控制木马等事件中,攻击、数据泄漏、舆情产生都是基于流量数据包实现的。站在受攻击的主机和社交平台等角度,能够观察到这些数据包,如果能够追踪这些数据包的来源,定位发送数据包的主机,从而关联到主机背后的人,不仅可以在合适的位置采取防御措施,还可以对施加者采取法律手段。因此,在网络空间中,对数据包进行溯源是非常重要的。
2、目前,现有方案中大多具有需要逐级反向路由溯源,溯源过程复杂,并且溯源速度缓慢,标记信息易被识别和破坏,标记信息长度和内容受限制,数据包传输层协议仅限制于某一种指定协议,网络开销大,技术实现复杂度高等缺点。
技术实现思路
1、本发明实施例提供一种数据溯源方法、装置、电子设备和可读存储介质,以解决现有的需逐级反向路由溯源,溯源过程复杂导致的溯源速度缓慢的问题。
2、为了解决上述技术问题,本发明是这样实现的:
3、第一方面,本发明实施例提供了一种数据溯源方法,应用于第一设备,包括:
4、当原始数据包从第一设备进入当前网络传输时,在所述原始数据包中插入入口标记信息得到标记数据包,所述入口标记信息用于对所述原始数据包溯源;
5、在所述当前网络中传输所述标记数据包。
6、可选的,所述入口标记信息至少包括以下信息:
7、所述原始数据包中的源mac地址、所述原始数据包进入所述第一设备的下联端口编号、发送标记数据包的上联端口mac地址以及ip地址。
8、可选的,所述在所述原始数据包中插入入口标记信息得到标记数据包包括:
9、加密所述入口标记信息,得到加密后的入口标记信息;
10、将所述加密后的入口标记信息插入原始数据包的传输层负载中,得到新的传输层负载;
11、根据所述入口标记信息在所述传输层负载中的插入位置和所述入口标记信息的长度,确定所述入口标记信息在所述传输层负载中的位置信息;
12、加密所述位置信息,得到加密后的位置信息;
13、将所述加密后的位置信息插入所述原始数据包的ip报文头部可选字段中;
14、加密所述新的传输层负载,得到所述标记数据包的传输层负载;
15、根据所述标记数据包的长度修改所述标记数据包的ip报文头部和传输层报文头部中的长度信息,得到所述标记数据包。
16、第二方面,本发明实施例提供了一种数据溯源方法,应用于第二设备,包括:
17、当标记数据包从第二设备离开当前网络传输时,对标记数据包进行解析,获得入口标记信息和原始数据包,从所述第二设备本地获取出口标记信息,其中,所述入口标记信息和所述出口标记信息用于对所述原始数据包溯源;
18、将所述入口标记信息、所述原始数据包和所述出口标记信息发送给溯源管理平台。
19、可选的,所述出口标记信息至少包括以下信息:
20、所述原始数据包中的目的mac地址、发送所述原始数据包的下联端口编号、接收所述标记数据包的上联端口mac地址以及ip地址。
21、可选的,所述对标记数据包进行解析,获得入口标记信息和原始数据包包括:
22、从所述标记数据包的ip报文头部可选字段中取出加密后所述入口标记信息在传输层负载中的位置信息;
23、解密所述加密后的所述入口标记信息在所述传输层负载中位置信息,得到位置信息;
24、根据所述位置信息,获得所述入口标记信息在所述传输层负载中的插入位置和所述入口标记信息的长度;
25、从所述标记数据包中获得加密后的包含所述入口标记信息的传输层负载;
26、解密所述加密后的包含所述入口标记信息的传输层负载,获得包含所述入口标记信息的传输层负载;
27、根据所述入口标记信息在所述传输层负载中的插入位置和所述入口标记信息的长度信息,从所述传输层负载中取出加密后的所述入口标记信息,获得加密后的所述入口标记信息和所述原始数据包的传输层负载;
28、解密所述加密后的所述入口标记信息,获得所述入口标记信息;
29、根据取出所述入口标记信息后的数据包长度修改所述标记数据包的ip报文头部和传输层报文头部中的长度信息,获得原始数据包。
30、可选的,所述对标记数据包进行解析,获得入口标记信息和原始数据包,从所述第二设备本地获取出口标记信息,之后还包括:
31、将所述原始数据包送往下一跳,所述下一跳包括以下至少一项:接收方、安全设备、目的主机和其他网段的网络边界接入点设备。
32、第三方面,本发明实施例提供了一种数据溯源方法,包括:
33、接收第二设备发送的入口标记信息、原始数据包和出口标记信息;
34、根据所述入口标记信息、所述原始数据包和所述出口标记信息创建溯源记录,所述溯源记录用于对所述原始数据包溯源。
35、可选的,所述根据所述入口标记信息、所述原始数据包和所述出口标记信息创建溯源记录包括:
36、根据所述原始数据包的传输层负载,确定所述传输层负载的哈希值;
37、根据所述哈希值查找是否存在所述哈希值对应的溯源记录;
38、若不存在所述哈希值对应的溯源记录,则根据所述入口标记信息、所述原始数据包和所述出口标记信息,创建与所述哈希值对应的溯源记录;
39、若存在所述哈希值对应的溯源记录,则根据所述入口标记信息、所述原始数据包和所述出口标记信息,在所述哈希值对应的溯源记录后新增一条溯源记录。
40、可选的,还包括:
41、当接收到第三设备发送的查询所述原始数据包溯源记录的请求时,根据哈希值查找所述哈希值对应的溯源记录,其中,所述请求中包含所述原始数据包的传输层负载的哈希值;
42、根据所述溯源记录,确定查询结果;
43、将所述查询结果发送给所述第三设备。
44、可选的,所述根据所述溯源记录,确定查询结果包括:
45、根据所述哈希值对应的溯源记录,确定所述原始数据包对应的入口标记信息;
46、若所述入口标记信息中包含的ip地址是公网ip地址,或,所述入口标记信息中包含的ip地址是内网ip地址且所述原始数据包仅内网传输,将所述入口标记信息作为查询结果发送给所述第三设备;
47、若所述入口标记信息中包含的ip地址是内网ip地址且跨公网传输,将所述溯源记录中的内网的溯源记录作为查询结果发送给所述第三设备。
48、可选的,所述根据所述溯源记录,确定查询结果包括:
49、根据所哈希值对应的全部溯源记录,确定所述原始数据包对应的全部入口标记信息和全部出口标记信息;
50、根据所述原始数据包对应的全部入口标记信息和全部出口标记信息,还原所述原始数据包端到端传输路径;
51、将所述原始数据包端到端传输路径作为查询结果发送给所述第三设备。
52、可选的,还包括:
53、为每个哈希值对应的溯源记录设定一个定时装置;
54、当存在哈希值对应的溯源记录更新或被查询时,重置所述哈希值对应的溯源记录对应的定时器;
55、当所述溯源记录对应的定时器超过预设的保留时间,或,接收到第三设备发送的删除所述溯源记录的通知,删除所述溯源记录。
56、第四方面,本发明实施例提供了一种数据溯源装置,应用于第一设备,包括:
57、插入模块,用于当原始数据包从第一设备进入当前网络传输时,在所述原始数据包中插入入口标记信息得到标记数据包,所述入口标记信息用于对所述原始数据包溯源;
58、传输模块,用于在所述当前网络中传输所述标记数据包。
59、第五方面,本发明实施例提供了一种数据溯源装置,应用于第二设备,包括:
60、解析模块,用于当标记数据包从第二设备离开当前网络传输时,对标记数据包进行解析,获得入口标记信息和原始数据包,从所述第二设备本地获取出口标记信息,其中,所述入口标记信息和所述出口标记信息用于对所述原始数据包溯源;
61、上报模块,用于将所述入口标记信息、所述原始数据包和所述出口标记信息发送给溯源管理平台。
62、第六方面,本发明实施例提供了一种数据溯源装置,应用于溯源管理平台,包括:
63、接收模块,用于接收第二设备发送的入口标记信息、原始数据包和出口标记信息;
64、生成模块,用于根据所述入口标记信息、所述原始数据包和所述出口标记信息创建溯源记录,所述溯源记录用于对所述原始数据包溯源。
65、第六方面,本发明实施例提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上述第一方面所述的数据溯源方法的步骤;或,所述程序被所述处理器执行时实现如上述第二方面所述的数据溯源方法的步骤;或,所述程序被所述处理器执行时实现如上述第三方面所述的数据溯源方法的步骤。
66、第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的数据溯源方法的步骤;或,所述计算机程序被处理器执行时实现如上述第二方面所述的数据溯源方法的步骤;或,所述计算机程序被处理器执行时实现如上述第三方面所述的数据溯源方法的步骤。
67、在本发明实施例中,原始数据包从第一设备进入当前网络传输时,通过插入入口标记信息得到标记数据包,构造了一种注入溯源信息的标记数据包,并且在当前网络中传输该标记数据包,使得在后续溯源过程中,能够直接从标记数据包中获取该原始数据包第一设备位置和数据包发送源,无需逐级反向路由溯源,缩短溯源的耗时,实现过程简单,复杂度低。
1.一种数据溯源方法,应用于第一设备,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述入口标记信息至少包括以下信息:
3.根据权利要求1所述的方法,其特征在于,所述在所述原始数据包中插入入口标记信息得到标记数据包包括:
4.一种数据溯源方法,应用于第二设备,其特征在于,包括:
5.根据权利要求4所述的方法,其特征在于,所述出口标记信息至少包括以下信息:
6.根据权利要求4所述的方法,其特征在于,所述对标记数据包进行解析,获得入口标记信息和原始数据包包括:
7.根据权利要求4所述的方法,其特征在于,所述对标记数据包进行解析,获得入口标记信息和原始数据包,从所述第二设备本地获取出口标记信息,之后还包括:
8.一种数据溯源方法,其特征在于,应用于溯源管理平台,包括:
9.根据权利要求8所述的方法,其特征在于,所述根据所述入口标记信息、所述原始数据包和所述出口标记信息创建溯源记录包括:
10.根据权利要求8所述的方法,其特征在于,还包括:
11.根据权利要求10所述的方法,其特征在于,所述根据所述溯源记录,确定查询结果包括:
12.根据权利要求10所述的方法,其特征在于,所述根据所述溯源记录,确定查询结果包括:
13.根据权利要求8所述的方法,其特征在于,还包括:
14.一种数据溯源装置,应用于第一设备,其特征在于,包括:
15.一种数据溯源装置,应用于第二设备,其特征在于,包括:
16.一种数据溯源装置,其特征在于,应用于溯源管理平台,包括:
17.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至3中任一项所述的数据溯源方法的步骤;或,所述程序被所述处理器执行时实现如权利要求4至7中任一项所述的数据溯源方法的步骤;或,所述程序被所述处理器执行时实现如权利要求8至13中任一项所述的数据溯源方法的步骤。
18.一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的数据溯源方法的步骤;或,所述计算机程序被处理器执行时实现如权利要求4至7中任一项所述的数据溯源方法的步骤;或,所述计算机程序被处理器执行时实现如权利要求8至13中任一项所述的数据溯源方法的步骤。