CN113347119B - A method, device, device and storage medium for sending data packets - Google Patents
A method, device, device and storage medium for sending data packets Download PDFInfo
- Publication number
- CN113347119B CN113347119B CN202110483447.9A CN202110483447A CN113347119B CN 113347119 B CN113347119 B CN 113347119B CN 202110483447 A CN202110483447 A CN 202110483447A CN 113347119 B CN113347119 B CN 113347119B
- Authority
- CN
- China
- Prior art keywords
- target
- tcp connection
- data
- data packet
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 title claims abstract description 52
- 230000008859 change Effects 0.000 claims description 80
- 238000001514 detection method Methods 0.000 claims description 53
- 230000004048 modification Effects 0.000 claims description 26
- 238000012986 modification Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 17
- 238000002474 experimental method Methods 0.000 claims description 15
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000012550 audit Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 47
- 238000004891 communication Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
技术领域technical field
本申请涉及通信技术领域,特别涉及一种发送数据包的方法、装置、设备和存储介质。The present application relates to the technical field of communications, and in particular to a method, device, device and storage medium for sending data packets.
背景技术Background technique
隐蔽通道是数据发送端和数据接收端之间一种非正常的数据传输路径,一些网络攻击者可通过隐蔽通道将数据服务器中存储的私密数据泄露到外界。The covert channel is an abnormal data transmission path between the data sender and the data receiver. Some network attackers can leak the private data stored in the data server to the outside world through the covert channel.
隐蔽通道包括隐蔽时序通道和隐蔽存储通道,其中,隐蔽时序通道是通过对系统行为的时间进行调制来传输数据,以便数据接收端通过观察系统的行为读取数据。例如可以通过控制连续多个数据包之间的发送时间间隔来传输数据,如相邻的两个数据包的发送时间间隔较短可表示0,发送时间间隔较长可表示1,如此,数据接收端就可以根据各个数据包对应的接收时间间隔,得到通过隐蔽时序通道传输的数据。隐蔽存储通道是通过将需要传输的数据写在正常的数据包的报头中来传输数据,如可以将数据写在报头中的某些特定字段,如此,数据接收端就可以通过读取数据包的报头中的特定字段,得到通过隐蔽存储通道传输的数据。The covert channel includes a covert timing channel and a covert storage channel, wherein the covert timing channel transmits data by modulating the time of system behavior, so that the data receiving end can read the data by observing the behavior of the system. For example, data can be transmitted by controlling the sending time interval between multiple consecutive data packets. For example, if the sending time interval of two adjacent data packets is shorter, it can represent 0, and if the sending time interval is longer, it can represent 1. In this way, data reception The terminal can obtain the data transmitted through the concealed timing channel according to the receiving time interval corresponding to each data packet. The covert storage channel transmits data by writing the data to be transmitted in the header of the normal data packet. For example, the data can be written in some specific fields in the header, so that the data receiving end can read the data packet. specific fields in the header to get data transmitted over a covert storage channel.
在相关的技术手段中,会在防火墙、入侵防御系统(Intrusion-preventionsystem,IPS)等安全设备上,设置相应的检测方法,检测当前传输数据的路径中是否存在隐蔽通道,一般这些安全设备也可以实现交换机、路由器可实现的功能。其中,该检测方法可以是根据已知的隐蔽通道的调制方法设置的。当安全设备接收到待发送的数据包时,可以对待发送的数据包进行解析,得到数据包对应的报头。从而对数据包对应的报头中的特定字段进行检测,从而确定当前是否存在隐蔽存储通道,并且还可以对各个相邻的数据包的发送时间间隔进行检测,从而确定是否存在隐蔽时序通道。In related technical means, corresponding detection methods will be set on security devices such as firewalls and intrusion-prevention systems (IPS) to detect whether there is a covert channel in the path of current data transmission. Generally, these security devices can also Realize the functions that can be realized by switches and routers. Wherein, the detection method may be set according to a known modulation method of a covert channel. When the security device receives the data packet to be sent, it can analyze the data packet to be sent to obtain the header corresponding to the data packet. In this way, a specific field in the header corresponding to the data packet is detected to determine whether there is a covert storage channel at present, and the sending time interval of each adjacent data packet is also detected to determine whether there is a covert timing channel.
在实现本申请的过程中,发明人发现相关技术至少存在以下问题:In the process of implementing the present application, the inventors found that the related technology has at least the following problems:
在相关技术中,如果确定数据发送端和数据接收端在传输数据的过程中存在隐蔽通道,则为了数据信息的安全会终止数据的传输,这样虽然提高了数据在传输过程中的安全性,但是会影响正常数据的传输。In related technologies, if it is determined that there is a covert channel between the data sending end and the data receiving end during the data transmission process, the data transmission will be terminated for the safety of the data information, which improves the security of the data during the transmission process, but It will affect the normal data transmission.
发明内容Contents of the invention
为了解决相关技术中业务处理失败的问题,本发明实施例提供了一种发送数据包的方法、装置、设备和存储介质。所述技术方案如下:In order to solve the problem of service processing failure in the related art, the embodiments of the present invention provide a method, device, device and storage medium for sending data packets. Described technical scheme is as follows:
第一方面,提供了一种发送数据包的方法,该方法包括:获取待发送的目标数据包;对目标数据包中报头数据的指定字段进行更改,得到更改报头数据后的目标数据包;基于预设发送时间间隔,发送更改报头数据后的目标数据包。In the first aspect, a method for sending a data packet is provided, the method comprising: obtaining a target data packet to be sent; changing the specified field of the header data in the target data packet to obtain the target data packet after changing the header data; based on Preset the sending time interval, and send the target data packet after changing the header data.
本申请实施例所示的方案,可应用于数据传输的过程中,可以防止数据发送端和数据接收端之间可能存在隐蔽通道导致的数据泄露。其中,在数据发送端和数据接收端之间还可以包括数据转发设备,数据发送端和数据接收端之间可通过数据转发设备建立数据传输链路,例如TCP(Transmission Control Protocol,传输控制协议)连接。本发明实施例所示的方案可布置在数据发送端或数据转发设备上,其中该数据转发设备也可以是安全设备,如防火墙设备、IPS设备等,在本发明可以以方案布置在数据转发设备上为例,对方案进行详细说明。当数据转发设备获取到通过数据传输链路传输的目标数据包后,可以对目标数据包中报头数据的指定字段进行更改,然后再将更改报头数据的目标数据包按照预设的发送时间间隔进行发送,如此通过主动更改目标数据包中报头数据的指定字段,可以破坏通过隐蔽存储通道传输的数据,并通过将预设发送时间间隔,发送更改报头数据后的目标数据包,可以防止隐蔽时序通道通过控制数据包的发送时间间隔实现数据传输。The solution shown in the embodiment of the present application can be applied in the process of data transmission, and can prevent data leakage caused by a possible covert channel between the data sending end and the data receiving end. Wherein, a data forwarding device can also be included between the data sending end and the data receiving end, and a data transmission link can be established between the data sending end and the data receiving end through the data forwarding device, such as TCP (Transmission Control Protocol, Transmission Control Protocol) connect. The solution shown in the embodiment of the present invention can be arranged on the data sending end or data forwarding device, wherein the data forwarding device can also be a security device, such as a firewall device, IPS device, etc. In the present invention, the solution can be arranged on the data forwarding device Take the above as an example to describe the scheme in detail. After the data forwarding device obtains the target data packet transmitted through the data transmission link, it can change the specified field of the header data in the target data packet, and then send the target data packet with the changed header data according to the preset sending time interval Send, so that by actively changing the specified field of the header data in the target data packet, the data transmitted through the covert storage channel can be destroyed, and by sending the target data packet after changing the header data at a preset sending time interval, the covert timing channel can be prevented Data transmission is realized by controlling the sending time interval of data packets.
在一种可能的实现方式中,对目标数据包中报头数据的指定字段进行更改包括:获取目标更改值,基于目标更改值,更改目标数据包中报头数据的指定字段。In a possible implementation manner, changing the specified field of the header data in the target data packet includes: acquiring a target change value, and changing the specified field of the header data in the target data packet based on the target change value.
本申请实施例所示的方案,可以根据目标更改值对目标数据包中报头数据的指定字段进行更改,例如可以将指定字段的值替换为目标更改值,或者将指定字段的值加上或减去目标更改值。其中,对于不同的数据传输链路,对应的目标更改值可以不同。这样即使数据传输链路中存在隐蔽存储通道,通过目标更改值更改目标数据包中报头数据的指定字段,也可以破坏通过隐蔽存储通道传输的数据,从而使隐蔽存储通道只能传输无效的数据,提高了数据传输的安全性。In the scheme shown in the embodiment of this application, the specified field of the header data in the target data packet can be changed according to the target change value, for example, the value of the specified field can be replaced with the target change value, or the value of the specified field can be added or subtracted Go to the target to change the value. Wherein, for different data transmission links, corresponding target modification values may be different. In this way, even if there is a covert storage channel in the data transmission link, changing the specified field of the header data in the target data packet through the target change value can destroy the data transmitted through the covert storage channel, so that the covert storage channel can only transmit invalid data, The security of data transmission is improved.
在一种可能的实现方式中,对目标数据包中报头数据的指定字段进行更改之前还包括:获取目标数据包中报头数据包括的数据来源信息;确定数据来源信息为预设的数据来源信息。In a possible implementation manner, before changing the specified field of the header data in the target data packet, it further includes: obtaining data source information included in the header data in the target data packet; and determining that the data source information is preset data source information.
其中,预设的数据来源信息可以由技术人员设置,该预设的数据来源信息可以是存储有保密性较高的数据发送设备(如数据存储服务器)对应的数据来源信息,数据来源信息可以是数据存储服务器对应的IP(Internet Protocol,网际互连协议)地址、MAC(MediaAccess Control Address,媒体存取控制位址)地址等。Wherein, the preset data source information can be set by a technician, and the preset data source information can be the data source information corresponding to a data sending device (such as a data storage server) with high confidentiality stored, and the data source information can be An IP (Internet Protocol, Internet Protocol) address, a MAC (Media Access Control Address, Media Access Control Address) address, etc. corresponding to the data storage server.
本申请实施例所示的方案,在获取到目标数据包之后,可以确定目标数据包对应的数据来源信息是否为预设的数据来源信息。如果确定目标数据包对应的数据来源信息为预设的数据来源信息,则可以确定目标数据包来自存储有保密性较高的数据发送设备。所以可以在对目标数据包中的指定字段进行更改之前,可以先确定目标数据包是否来自存储有保密性较高的数据发送设备,如果来自保密性较高的数据发送设备,则可以对目标数据包中的指定字段进行更改,这样能够只对涉及保密性较高的数据发送设备发送的目标数据包进行更改,可以在降低更改数据包的个数,能够降低更改数据包所占用的计算资源。In the solution shown in the embodiment of the present application, after the target data packet is acquired, it may be determined whether the data source information corresponding to the target data packet is the preset data source information. If it is determined that the data source information corresponding to the target data packet is the preset data source information, it can be determined that the target data packet comes from a data sending device stored with high confidentiality. Therefore, before changing the specified field in the target data packet, it can be determined whether the target data packet comes from a data sending device with high confidentiality stored in it. If it comes from a data sending device with high confidentiality, the target data can be The specified field in the packet can be changed, so that only the target data packet sent by the data sending device involving high confidentiality can be changed, the number of changed data packets can be reduced, and the computing resources occupied by the changed data packet can be reduced.
在一种可能的实现方式中,获取目标更改值包括:获取目标数据包的报头数据对应的目标TCP连接标识,在预先存储的TCP连接标识与更改值的对应关系中,确定是否存在目标TCP连接标识;如果对应关系中存在目标TCP连接标识,则基于对应关系确定目标TCP连接标识对应的目标更改值,如果对应关系中不存在目标TCP连接标识,则生成随机值,将随机值确定为目标TCP连接标识对应的目标更改值,并将目标TCP连接标识与随机值添加到对应关系中。In a possible implementation manner, obtaining the target change value includes: obtaining the target TCP connection identifier corresponding to the header data of the target data packet, and determining whether there is a target TCP connection in the pre-stored correspondence between the TCP connection identifier and the change value If there is a target TCP connection ID in the corresponding relationship, then determine the target change value corresponding to the target TCP connection ID based on the corresponding relationship, if there is no target TCP connection ID in the corresponding relationship, then generate a random value, and determine the random value as the target TCP Change the value of the target corresponding to the connection ID, and add the target TCP connection ID and random value to the corresponding relationship.
其中,在一次TCP连接中,对应的数据发送端和数据接收端的信息不会改变,且在每个TCP数据包中都会携带有数据发送端和数据接收端的信息,因此,可以将数据发送端和数据接收端的信息作为一次TCP连接的标识,例如可以将数据发送端和数据接收端的信息按照预设的排列顺序生成哈希值,将生成的哈希值确定为TCP连接标识。这样对于每个TCP连接可确定唯一对应的TCP连接标识,且在一次TCP连接中发送的每个TCP数据包中都可以确定对应的TCP连接标识。Among them, in a TCP connection, the information of the corresponding data sending end and the data receiving end will not change, and each TCP packet will carry the information of the data sending end and the data receiving end, therefore, the data sending end and the data receiving end can be combined The information of the data receiving end is used as an identifier of a TCP connection. For example, a hash value can be generated from the information of the data sending end and the data receiving end according to a preset sequence, and the generated hash value can be determined as the TCP connection identifier. In this way, a unique corresponding TCP connection identifier can be determined for each TCP connection, and the corresponding TCP connection identifier can be determined in each TCP data packet sent in one TCP connection.
本申请实施例所示的方案,TCP连接标识与更改值的对应关系可以由技术人员预先设定,例如可以预先设定一个TCP连接标识与更改值的对应关系表。当获取到目标数据包后,可以获取目标数据包的报头数据对应的目标TCP连接标识,然后在对应关系表中查找目标TCP连接标识。其中,如果查找到目标TCP连接标识,则可以在对应关系表中确定目标TCP连接标识对应的目标更改值。如果未查找到目标TCP连接标识,则说明当前接收的目标数据包为新建立的TCP连接发送的,因此,可以生成一个随机值作为对应的目标更新值,并将生成的随机值与目标TCP连接标识添加到TCP连接标识与更改值的对应关系中。这样对于每个TCP连接都可对应唯一的更改值,且该更改值是随机生成的,即使对数据包中指定字段对应的更改策略泄露,也无法确定对应的更改值,即数据接收端无法复原更改指定字段之前的数据包,可以提高数据传输过程中的安全性。In the solution shown in the embodiment of the present application, the corresponding relationship between the TCP connection identifier and the modified value can be preset by the technician, for example, a corresponding relationship table between the TCP connection identifier and the modified value can be preset. After the target data packet is obtained, the target TCP connection identifier corresponding to the header data of the target data packet may be obtained, and then the target TCP connection identifier is searched in the correspondence table. Wherein, if the target TCP connection ID is found, the target change value corresponding to the target TCP connection ID can be determined in the correspondence table. If the target TCP connection ID is not found, it means that the currently received target data packet is sent by a newly established TCP connection. Therefore, a random value can be generated as the corresponding target update value, and the generated random value is connected to the target TCP The ID is added to the correspondence between the TCP connection ID and the changed value. In this way, each TCP connection can correspond to a unique change value, and the change value is randomly generated. Even if the change policy corresponding to the specified field in the data packet is leaked, the corresponding change value cannot be determined, that is, the data receiving end cannot recover Changing the data packet before the specified field can improve the security during data transmission.
在一种可能的实现方式中,基于目标更改值,更改目标数据包中报头数据的指定字段,包括:将目标数据包的TCP报头中的序列号seq(sequence number,序列号)的值加上目标更改值;将TCP报头中的窗口大小size的值中除了最高位之外的其他数值,替换为目标更改值;如果确定TCP报头中的kind字段的值为experiment时,将experiment的对应的值替换为目标更改值;如果确定目标数据包的IP报头中MTU(maximum transmission unit,最大传输单元)值的长度小于预设长度阈值,则将IP报头中的identification值替换为目标更改值。In a possible implementation manner, based on the target change value, changing the specified field of the header data in the target data packet includes: adding the value of the sequence number seq (sequence number, sequence number) in the TCP header of the target data packet to Target change value; replace the value of the window size size in the TCP header with other values except the highest bit with the target change value; if it is determined that the value of the kind field in the TCP header is experiment, replace the corresponding value of the experiment Replaced with the target change value; if it is determined that the length of the MTU (maximum transmission unit, maximum transmission unit) value in the IP header of the target packet is less than the preset length threshold, then the identification value in the IP header is replaced with the target change value.
本申请实施例所示的方案,通过将目标数据包的TCP报头中的序列号seq(sequence number,序列号)的值加上目标更改值;将TCP报头中的窗口大小size的值中除了最高位之外的其他数值,替换为目标更改值;如果确定TCP报头中的kind字段的值为experiment时,将experiment的对应的值替换为目标更改值,从而可以将TCP报头中可能携带数据信息的报文进行更改,并且通过确定目标数据包的IP报头中MTU值的长度是否小于预设长度阈值,如果MTU值的长度小于预设长度阈值,则IP报头中的identification字段可能携带有数据信息,因此可以将IP报头中的identification字段中的值换为目标更改值,这样即使数据传输链路中存在隐蔽存储链路,通过对报头数据中可能携带数据信息的字段进行更改,可以更改隐蔽存储通道传输的数据,提升了数据传输的安全性。In the scheme shown in the embodiment of the present application, by adding the value of the sequence number seq (sequence number, sequence number) in the TCP header of the target data packet to the target change value; If it is determined that the value of the kind field in the TCP header is experiment, replace the corresponding value of the experiment with the target change value, so that the TCP header that may carry data information can be replaced The message is changed, and by determining whether the length of the MTU value in the IP header of the target data packet is less than the preset length threshold, if the length of the MTU value is less than the preset length threshold, the identification field in the IP header may carry data information, Therefore, the value in the identification field in the IP header can be replaced with the target modification value, so that even if there is a hidden storage link in the data transmission link, the hidden storage channel can be changed by changing the fields that may carry data information in the header data The transmitted data improves the security of data transmission.
在一种可能的实现方式中,该方法还包括:在接收到目标数据包对应的数据接收端发送的应答数据包时,将应答数据包的TCP报头中的ack字段的值减去目标更改值。In a possible implementation, the method further includes: when receiving the response data packet sent by the data receiving end corresponding to the target data packet, subtracting the target change value from the value of the ack field in the TCP header of the response data packet .
本申请实施例所示的方案,在TCP连接中seq可表示本次发送数据的偏移量,ack(acknowledgment number,确定号)表示已经接收到的数据量。seq可以防止乱序,重复数据等,下次数据发送端可以根据ack表示的已经接收到的数据量发送数据。但由于在发送目标数据包时,将seq的值加上了目标更改值,所以为了确保数据的正常发送,可以在接收到的对应的应答数据包时,可以将应答数据包ack值减去对应的目标更改值。In the solution shown in the embodiment of the present application, in the TCP connection, seq may indicate the offset of data sent this time, and ack (acknowledgment number, acknowledgment number) indicates the amount of data that has been received. seq can prevent out-of-sequence, duplicate data, etc., and the next data sender can send data according to the amount of data that has been received indicated by ack. However, since the target change value is added to the value of seq when sending the target data packet, in order to ensure the normal sending of the data, when the corresponding response data packet is received, the ack value of the response data packet can be subtracted from the corresponding The target change value for .
在一种可能的实现方式中,对目标数据包中报头数据的指定字段进行更改,包括:确定TCP报头中的reserved(保留)保留标志位是否为0;如果确定TCP报头中的reserved保留标志位不为0,则将reserved标志位置为0。确定TCP报头中的urg(urgent,紧急)标志位是否为0;如果确定TCP报头中的urg标志位为0,则将TCP报头中的urgnet pointer(紧急指针)字段的值置为0。In a possible implementation, the specified field of the header data in the target data packet is changed, including: determining whether the reserved (reserved) flag bit in the TCP header is 0; if it is determined that the reserved flag bit in the TCP header If it is not 0, set the reserved flag position to 0. Determine whether the urg (urgent, emergency) flag in the TCP header is 0; if it is determined that the urg flag in the TCP header is 0, then set the value of the urgnet pointer (urgent pointer) field in the TCP header to 0.
本申请实施例所示的方案,可以确定TCP报头中的reserved保留标志位是否为0,由于在正常的TCP数据包传输的过程中,reserved一般都设置为0,所以当reserved保留标志位不为0时,则可以将reserved标志位置为0。并且可以确定TCP报头中的urg标志位是否为0;如果确定TCP报头中的urg标志位为0,则说明当前urgnet pointer字段并没有使用,因此可以将TCP报头中的urgnet pointer的字段的值置为0。从而可以避免恶意程序通过reserved标志位置实现隐蔽存储通道。The scheme shown in the embodiment of the present application can determine whether the reserved flag bit in the TCP header is 0, because in the process of normal TCP packet transmission, reserved is generally set to 0, so when the reserved flag bit is not When it is 0, the reserved flag can be set to 0. And it can be determined whether the urg flag in the TCP header is 0; if it is determined that the urg flag in the TCP header is 0, it means that the current urgnet pointer field is not used, so the value of the field of the urgnet pointer in the TCP header can be set to is 0. In this way, malicious programs can be prevented from implementing a covert storage channel through the reserved flag position.
在一种可能的实现方式中,基于预设发送时间间隔,发送更改报头数据后的目标数据包之前,包括:获取目标数据包的报头数据对应的目标TCP连接标识,在TCP连接标识与发送队列的对应关系中,确定是否存在目标TCP连接标识;如果存在目标TCP连接标识,则在对应关系中,确定与目标TCP连接标识对应的目标发送队列;如果不存在目标TCP连接标识,则生成目标TCP连接标识对应的目标发送队列,并在对应关系中对应添加目标TCP连接标识以及目标发送队列;得到更改报头数据后的目标数据包之后,将更改报头数据后的目标数据包添加至目标发送队列。In a possible implementation, based on the preset sending time interval, before sending the target data packet after changing the header data, it includes: obtaining the target TCP connection identifier corresponding to the header data of the target data packet, and connecting the TCP connection identifier and the sending queue In the corresponding relationship, determine whether there is a target TCP connection ID; if there is a target TCP connection ID, then in the corresponding relationship, determine the target sending queue corresponding to the target TCP connection ID; if there is no target TCP connection ID, generate a target TCP The target sending queue corresponding to the connection ID, and correspondingly adding the target TCP connection ID and the target sending queue in the corresponding relationship; after obtaining the target data packet after changing the header data, adding the target data packet after changing the header data to the target sending queue.
本申请实施例所示的方案,在获取到目标数据包之后,可以获取目标数据包的报头数据对应的目标TCP连接标识,然后在TCP连接标识与发送队列的对应关系中,确定是否存在目标TCP连接标识。其中,TCP连接标识与发送队列的对应关系可以由技术人员预先进行设置,例如可以预先设置TCP连接标识与发送队列的对应关系表。这样在确定目标数据包的报头数据对应的目标TCP连接标识后,可以确定对应关系表是否记录有目标TCP连接标识,如果存在目标TCP连接标识,则可以确定已经为当前目标数据包对应的TCP连接建立了对应的目标发送队列。如果不存在目标TCP连接标识,则说明当前获取的目标数据包为新建立的TCP连接发送的数据包,当前还未对该TCP连接建立对应的目标发送队列,因此可以建立一个新的发送队列,作为该TCP连接对应的目标发送队列。这样在得到更改报头数据后的目标数据包之后,就可以直接将更改报头数据后的目标数据包添加至目标发送队列,通过目标发送队列控制目标数据包的发送。In the solution shown in the embodiment of the present application, after the target data packet is obtained, the target TCP connection identifier corresponding to the header data of the target data packet can be obtained, and then in the corresponding relationship between the TCP connection identifier and the sending queue, it is determined whether there is a target TCP Connection ID. Wherein, the corresponding relationship between the TCP connection identifier and the sending queue can be set in advance by a technician, for example, a corresponding relationship table between the TCP connection identifier and the sending queue can be set in advance. After determining the target TCP connection mark corresponding to the header data of the target data packet like this, it can be determined whether the correspondence table records the target TCP connection mark, if there is a target TCP connection mark, it can be determined that the TCP connection corresponding to the current target data packet The corresponding target send queue is established. If there is no target TCP connection identifier, it means that the currently acquired target data packet is a data packet sent by a newly established TCP connection, and the corresponding target sending queue has not been established for the TCP connection at present, so a new sending queue can be established. As the target sending queue corresponding to this TCP connection. In this way, after obtaining the target data packet with changed header data, the target data packet with changed header data can be directly added to the target sending queue, and the sending of the target data packet can be controlled through the target sending queue.
在一种可能的实现方式中,该方法还包括:如果将更改报头数据后的目标数据包添加至目标发送队列后,目标发送队列中包括的数据包的个数未达到预设的个数阈值,则将基于预设发送时间间隔,依次发送目标发送队列的各数据包;如果将更改报头数据后的数据包添加至目标发送队列后,目标发送队列中包括的数据包的个数已达到预设的个数阈值,则基于目标发送队列中各数据包的入队顺序,依次发送各数据包。In a possible implementation, the method further includes: if the number of data packets included in the target sending queue does not reach the preset number threshold after adding the target data packet after changing the header data to the target sending queue , the data packets in the target sending queue will be sent sequentially based on the preset sending time interval; if the data packets with changed header data are added to the target sending queue, the number of data packets included in the target sending queue has reached If the number threshold is set, each data packet is sent sequentially based on the enqueue order of each data packet in the target sending queue.
本申请实施例所示的方案,在将更改报头数据后的目标数据包添加至目标发送队列后,可以确定当前目标发送队列中包括的数据包的个数,如果确定目标发送队列中包括的数据包的个数未达到预设的个数阈值时,则可以按照预设的发送时间间隔,依次发送目标发送队列的各数据包。如果确定目标发送队列中包括的数据包的个数达到预设的个数阈值时,则可以直接按照目标发送队列中各数据包的入队顺序,将目标发送队列中各数据包发送出去。这是因为,如果目标发送队列中包括的数据包的个数达到预设的个数阈值,仍然按照对应的发送时间间隔发送数据包的话,可能会造成目标发送队列中较靠后的数据包对应的发送时延较长。因此可以在目标发送队列中包括的数据包的个数达到预设的个数阈值,可直接发送目标发送队列中各数据包,从而可以降低各数据包对应的发送时延。In the scheme shown in the embodiment of the present application, after adding the target data packet after changing the header data to the target sending queue, the number of data packets included in the current target sending queue can be determined. If the data included in the target sending queue is determined When the number of packets does not reach the preset number threshold, each data packet in the target sending queue may be sent sequentially according to a preset sending time interval. If it is determined that the number of data packets included in the target sending queue reaches the preset number threshold, each data packet in the target sending queue may be sent out directly according to the enqueue order of each data packet in the target sending queue. This is because, if the number of data packets included in the target sending queue reaches the preset number threshold, if the data packets are still sent according to the corresponding sending time interval, it may cause the later data packets in the target sending queue to correspond to The sending delay is longer. Therefore, the number of data packets included in the target sending queue can reach a preset number threshold, and each data packet in the target sending queue can be directly sent, thereby reducing the sending delay corresponding to each data packet.
在一种可能的实现方式中,该方法还包括:确定目标数据包在所属的目标TCP连接中对应的获取顺序;如果获取顺序为满足预设的记录条件,则记录目标数据包对应的接收时间以及目标数据包的报头数据;基于记录的目标TCP连接对应的各数据包的获取时间以及报头数据,确定目标TCP连接中是否存在隐蔽通道;如果确定目标TCP连接中存在隐蔽通道,则将记录的目标TCP连接对应的各数据包的获取时间以及报头数据发送至审核终端。In a possible implementation, the method further includes: determining the corresponding acquisition sequence of the target data packet in the target TCP connection to which it belongs; if the acquisition sequence satisfies the preset recording condition, recording the corresponding receiving time of the target data packet and the header data of the target data packet; based on the acquisition time and header data of each data packet corresponding to the recorded target TCP connection, determine whether there is a covert channel in the target TCP connection; if it is determined that there is a covert channel in the target TCP connection, then the recorded The acquisition time and header data of each data packet corresponding to the target TCP connection are sent to the audit terminal.
本申请实施例所示的方案,在获取目标数据包后,可以确定目标数据包在所属的目标TCP连接中对应的获取顺序,获取顺序可以是目标数据包是在目标TCP连接中发送的第几个数据包。然后可以确定目标数据包对应的获取顺序是否满足预设的记录条件。如果满足预设的记录条件,则可以记录目标数据包对应的接收时间以及目标数据包的报头数据,然后再基于记录的目标TCP连接对应的各数据包的获取时间以及报头数据,确定目标TCP连接中是否存在隐蔽通道。其中,为了降低目标TCP连接中是否存在隐蔽通道所占用的计算资源,可以每隔预设数目个数据包记录一次数据包对应的获取时间以及报头数据。对应的预设的记录条件,就可以是确定获取顺序是否为预设数目的倍数。如果确定目标TCP连接中存在隐蔽通道,则可以将对该目标TCP连接记录的数据包的获取时间以及报头数据发送至审核终端,再次进行审核。In the solution shown in the embodiment of the present application, after the target data packet is acquired, the corresponding acquisition order of the target data packet in the target TCP connection to which it belongs can be determined, and the acquisition order can be the number of the target data packet sent in the target TCP connection. packets. Then it can be determined whether the acquisition sequence corresponding to the target data packet satisfies the preset recording condition. If the preset recording conditions are met, the receiving time corresponding to the target data packet and the header data of the target data packet can be recorded, and then the target TCP connection can be determined based on the recorded acquisition time and header data of each data packet corresponding to the target TCP connection Whether there is a covert channel in . Wherein, in order to reduce the computing resources occupied by whether there is a covert channel in the target TCP connection, the acquisition time and header data corresponding to the data packets may be recorded every preset number of data packets. The corresponding preset recording condition may be to determine whether the acquisition sequence is a multiple of the preset number. If it is determined that there is a covert channel in the target TCP connection, the acquisition time and header data of the data packet recorded on the target TCP connection may be sent to the audit terminal for auditing again.
在一种可能的实现方式中,基于记录的目标TCP连接对应的各数据包的获取时间以及报头数据,确定目标TCP连接是否存在隐蔽通道,包括:基于记录的目标TCP连接对应的各数据包的获取时间,计算各数据包对应的发送时间间隔的平均差,并确定各数据包中存在可见字符对应的平均次数;基于目标TCP连接对应的平均差以及平均次数,确定目标TCP连接是否满足隐蔽通道检测条件;如果目标TCP连接满足隐蔽通道检测条件,则确定目标TCP连接中存在隐蔽通道。In a possible implementation, based on the recorded acquisition time and header data of each data packet corresponding to the target TCP connection, determining whether there is a covert channel in the target TCP connection includes: Obtain the time, calculate the average difference of the sending time interval corresponding to each data packet, and determine the average number of times corresponding to the visible characters in each data packet; determine whether the target TCP connection meets the covert channel based on the average difference and the average number of times corresponding to the target TCP connection A detection condition; if the target TCP connection satisfies the covert channel detection condition, it is determined that there is a covert channel in the target TCP connection.
本申请实施例所示的方案,可以根据对目标TCP连接对应的各数据包的获取时间,计算各数据包对应的平均发送时间间隔,然后根据平均发送时间间隔确定对应的各数据包对应的发送时间间隔的平均差,再检测各数据包对应报头数据中出现可见字符的平均次数。这样可以分别根据目标TCP连接对应的各数据包发送时间间隔的平均差以及出现可见字符的平均次数,确定目标TCP连接中是否存在隐蔽存储通道和隐蔽时序通道。In the scheme shown in the embodiment of the present application, the average sending time interval corresponding to each data packet can be calculated according to the acquisition time of each data packet corresponding to the target TCP connection, and then the sending time corresponding to each data packet can be determined according to the average sending time interval. The average difference of the time interval, and then detect the average number of visible characters in the corresponding header data of each data packet. In this way, it can be determined whether there is a hidden storage channel and a hidden timing channel in the target TCP connection according to the average difference of the sending time interval of each data packet corresponding to the target TCP connection and the average number of times of visible characters.
在一种可能的实现方式中,基于各数据包对应的平均差以及平均次数,确定目标TCP连接是否满足隐蔽通道检测条件,包括:如果确定目标TCP连接对应的平均差小于等于预设的平均差阈值,则基于平均差对应的第一权重值,以及平均次数对应的第二权重值,对目标TCP连接对应的平均差以及平均次数进行加权求和,得到加权求和后的第一指示值;如果第一指示值大于预设的第一指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件。In a possible implementation, based on the average difference and the average number of times corresponding to each data packet, determining whether the target TCP connection meets the covert channel detection condition includes: if it is determined that the average difference corresponding to the target TCP connection is less than or equal to the preset average difference The threshold value is based on the first weight value corresponding to the average difference and the second weight value corresponding to the average number of times, and the weighted summation of the average difference and the average number of times corresponding to the target TCP connection is carried out to obtain the first indication value after the weighted summation; If the first indication value is greater than the preset first indication value threshold, it is determined that the target TCP connection satisfies the covert channel detection condition.
本申请实施例所示的方案,可以先确定目标TCP连接对应的平均差是否大于预设的平均差阈值,如果确定目标TCP连接对应的平均差小于等于预设的平均差阈值,至少可以说明当前传输数据的网络不存在问题。所以可以分别参考平均差以及平均次数,确定目标TCP连接中是否存在隐蔽通道。可以分别通过预设的第一权重值和第二权重值,对目标TCP连接对应的数据包的发送时间间隔的平均差以及出现可见字符的平均次数进行加权求和,得到第一指示值,该第一指示值可以用于指示目标TCP连接存在隐蔽通道的可能性,如果第一指示值大于预设的第一指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件,即目标TCP连接中可能存在隐蔽通道。In the solution shown in the embodiment of the present application, it can first be determined whether the average difference corresponding to the target TCP connection is greater than the preset average difference threshold, and if it is determined that the average difference corresponding to the target TCP connection is less than or equal to the preset average difference threshold, at least it can explain There is no problem with the network transmitting the data. Therefore, it can be determined whether there is a covert channel in the target TCP connection by referring to the average difference and the average number of times. The average difference of the sending time interval of the data packets corresponding to the target TCP connection and the average number of times of visible characters can be weighted and summed by the preset first weight value and the second weight value respectively to obtain the first indication value. The first indication value may be used to indicate the possibility that there is a covert channel in the target TCP connection. If the first indication value is greater than the preset first indication value threshold, it is determined that the target TCP connection meets the covert channel detection condition, that is, there may be a hidden channel in the target TCP connection. There are covert passages.
在一种可能的实现方式中,基于各数据包对应的平均发送时间间隔以及平均次数,确定目标TCP连接是否满足隐蔽通道检测条件,包括:如果确定目标TCP连接对应的平均差大于平均差阈值,则检测当前的网络状态;如果当前网络状态为非正常网络状态,则将目标TCP连接对应的平均次数与预设的系数值相乘,得到相乘后的第二指示值;如果第二指示值大于预设的第二指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件。In a possible implementation manner, based on the average sending time interval and the average number of times corresponding to each data packet, determining whether the target TCP connection meets the covert channel detection condition includes: if it is determined that the average difference corresponding to the target TCP connection is greater than the average difference threshold, Then detect the current network state; if the current network state is an abnormal network state, the average number of times corresponding to the target TCP connection is multiplied by the preset coefficient value to obtain the multiplied second indication value; if the second indication value If it is greater than the preset second indication value threshold, it is determined that the target TCP connection satisfies the covert channel detection condition.
本申请实施例所示的方案,如果确定目标TCP连接对应的平均差大于预设的时间间隔阈值,当前网络存在问题或者可能存在隐蔽时序通道。所以可以先确定当前的网络状态为是否正常,例如可以确定当前网络对应的丢包率和时延,如果确定当前的网络状态为非正常网络状态,则对隐蔽时序通道进行检测的意义不大。因此可以只对目标TCP连接中是否存在隐蔽存储通道进行检测。可以将目标TCP连接对应的出现可见字符的平均次数与预设的系数值相乘,得到相乘后的第二指示值,如果第二指示值大于预设的第二指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件。In the solution shown in the embodiment of the present application, if it is determined that the average difference corresponding to the target TCP connection is greater than the preset time interval threshold, there is a problem in the current network or there may be a hidden timing channel. Therefore, you can first determine whether the current network status is normal, for example, you can determine the packet loss rate and delay corresponding to the current network. If the current network status is determined to be an abnormal network status, it is of little significance to detect the covert timing channel. Therefore, it is only possible to detect whether there is a covert storage channel in the target TCP connection. The average number of visible characters corresponding to the target TCP connection can be multiplied by a preset coefficient value to obtain a multiplied second indicator value. If the second indicator value is greater than the preset second indicator value threshold, the target is determined The TCP connection meets the covert channel detection conditions.
第二方面,提供了一种发送数据包的装置,该装置包括:获取模块,用于获取待发送的目标数据包;更改模块,用于对目标数据包中报头数据的指定字段进行更改,得到更改报头数据后的目标数据包;发送模块,用于基于预设发送时间间隔,发送更改报头数据后的目标数据包。In a second aspect, a device for sending a data packet is provided, which includes: an acquisition module, configured to acquire a target data packet to be sent; a modification module, configured to modify a specified field of header data in the target data packet, to obtain A target data packet after changing the header data; a sending module, configured to send the target data packet after changing the header data based on a preset sending time interval.
在一种可能的实现方式中,该更改模块,用于:In a possible implementation, the change module is used to:
获取目标更改值,基于目标更改值,更改目标数据包中报头数据的指定字段。Gets the target change value, based on the target change value, changes the specified field of the header data in the target packet.
在一种可能的实现方式中,装置还包括确定模块,用于:In a possible implementation manner, the device further includes a determining module, configured to:
获取目标数据包中报头数据包括的数据来源信息;Obtain the data source information included in the header data in the target data packet;
确定数据来源信息为预设的数据来源信息。The data source information is determined as preset data source information.
在一种可能的实现方式中,该更改模块,用于:获取目标数据包的报头数据对应的目标TCP连接标识,在预先存储的TCP连接标识与更改值的对应关系中,确定是否存在目标TCP连接标识;如果对应关系中存在目标TCP连接标识,则基于对应关系确定目标TCP连接标识对应的目标更改值,如果对应关系中不存在目标TCP连接标识,则生成随机值,将随机值确定为目标TCP连接标识对应的目标更改值,并将目标TCP连接标识与随机值添加到对应关系中。In a possible implementation, the modification module is configured to: obtain the target TCP connection identifier corresponding to the header data of the target data packet, and determine whether there is a target TCP connection identifier in the pre-stored correspondence between the TCP connection identifier and the modified value. Connection identifier; if there is a target TCP connection identifier in the corresponding relationship, then determine the target change value corresponding to the target TCP connection identifier based on the corresponding relationship, if there is no target TCP connection identifier in the corresponding relationship, then generate a random value, and determine the random value as the target The target change value corresponding to the TCP connection ID, and the target TCP connection ID and the random value are added to the corresponding relationship.
在一种可能的实现方式中,该更改模块,用于:将目标数据包的TCP报头中的序列号seq的值加上目标更改值;将TCP报头中的确认号ack的值减去目标更改值;将TCP报头中的窗口大小size的值中除了最高位之外的其他数值,替换为目标更改值;如果确定TCP报头中的kind字段的值为experiment时,将experiment的对应的值替换为目标更改值;如果确定目标数据包的IP报头中MTU值的长度小于预设长度阈值,则将IP报头中的identification值替换为目标更改值。In a possible implementation, the change module is configured to: add the value of the sequence number seq in the TCP header of the target data packet to the target change value; subtract the value of the acknowledgment number ack in the TCP header from the target change value; replace the value of the window size size in the TCP header with the target change value except for the highest bit; if it is determined that the value of the kind field in the TCP header is experiment, replace the corresponding value of the experiment with Target change value; if it is determined that the length of the MTU value in the IP header of the target data packet is less than the preset length threshold, then replace the identification value in the IP header with the target change value.
在一种可能的实现方式中,该更改模块,用于:在接收到目标数据包对应的数据接收端发送的应答数据包时,将应答数据包的TCP报头中的ack字段的值减去目标更改值。In a possible implementation, the modification module is configured to: when receiving the response data packet sent by the data receiving end corresponding to the target data packet, subtract the value of the ack field in the TCP header of the response data packet from the target Change the value.
在一种可能的实现方式中,该更改模块,用于:确定TCP报头中的reserved保留标志位是否为0;如果确定TCP报头中的reserved保留标志位不为0,则将reserved标志位置为0。确定TCP报头中的urg标志位是否为0;如果确定TCP报头中的urg标志位为0,则将TCP报头中的urgnet pointer字段的值置为0。In a possible implementation, the changing module is configured to: determine whether the reserved flag bit in the TCP header is 0; if it is determined that the reserved flag bit in the TCP header is not 0, set the reserved flag bit to 0 . Determine whether the urg flag in the TCP header is 0; if it is determined that the urg flag in the TCP header is 0, set the value of the urgnet pointer field in the TCP header to 0.
在一种可能的实现方式中,该发送模块,还用于:获取目标数据包的报头数据对应的目标TCP连接标识,在TCP连接标识与发送队列的对应关系中,确定是否存在目标TCP连接标识;如果存在目标TCP连接标识,则在对应关系中,确定与目标TCP连接标识对应的目标发送队列;如果不存在目标TCP连接标识,则生成目标TCP连接标识对应的目标发送队列,并在对应关系中对应添加目标TCP连接标识以及目标发送队列;该发送模块,还用于:将更改报头数据后的目标数据包添加至目标发送队列;该发送模块,用于:如果将更改报头数据后的目标数据包添加至目标发送队列后,目标发送队列中包括的数据包的个数未达到预设的个数阈值时,则将基于预设发送时间间隔,依次发送目标发送队列的各数据包。In a possible implementation, the sending module is also used to: obtain the target TCP connection identifier corresponding to the header data of the target data packet, and determine whether there is a target TCP connection identifier in the corresponding relationship between the TCP connection identifier and the sending queue ; If there is a target TCP connection ID, then in the corresponding relationship, determine the target sending queue corresponding to the target TCP connection ID; if there is no target TCP connection ID, then generate the target TCP connection ID corresponding target sending queue, and in the corresponding relationship Correspondingly add the target TCP connection identifier and the target sending queue; the sending module is also used to: add the target data packet after changing the header data to the target sending queue; the sending module is used to: if the target packet after changing the header data After the data packets are added to the target sending queue, if the number of data packets included in the target sending queue does not reach the preset number threshold, each data packet in the target sending queue will be sent sequentially based on the preset sending time interval.
在一种可能的实现方式中,发送模块,还用于:如果将更改报头数据后的数据包添加至目标发送队列后,目标发送队列中包括的数据包的个数已达到预设的个数阈值时,则基于目标发送队列中各数据包的入队顺序,依次发送各数据包。In a possible implementation manner, the sending module is also used for: if the number of data packets included in the target sending queue has reached the preset number after adding the data packet after changing the header data to the target sending queue When the threshold is set, each data packet is sent sequentially based on the enqueuing order of each data packet in the target sending queue.
在一种可能的实现方式中,装置还包括检测模块,用于:确定目标数据包在所属的目标TCP连接中对应的获取顺序;如果获取顺序为满足预设的记录条件,则记录目标数据包对应的接收时间以及目标数据包的报头数据;基于记录的目标TCP连接对应的各数据包的获取时间以及报头数据,确定目标TCP连接中是否存在隐蔽通道;如果确定目标TCP连接中存在隐蔽通道,则将记录的目标TCP连接对应的各数据包的获取时间以及报头数据发送至审核终端。In a possible implementation, the device further includes a detection module, configured to: determine the corresponding acquisition sequence of the target data packet in the target TCP connection to which it belongs; if the acquisition sequence satisfies the preset recording condition, record the target data packet Corresponding receiving time and the header data of the target data packet; based on the acquisition time and header data of each data packet corresponding to the target TCP connection of the record, determine whether there is a covert channel in the target TCP connection; if it is determined that there is a covert channel in the target TCP connection, Then, the recorded acquisition time and header data of each data packet corresponding to the target TCP connection are sent to the audit terminal.
在一种可能的实现方式中,该检测模块,用于:基于记录的目标TCP连接对应的各数据包的获取时间,计算各数据包对应的发送时间间隔的平均差,并确定各数据包中存在可见字符对应的平均次数;基于目标TCP连接对应的平均差以及平均次数,确定目标TCP连接是否满足隐蔽通道检测条件;如果目标TCP连接满足隐蔽通道检测条件,则确定目标TCP连接中存在隐蔽通道。In a possible implementation, the detection module is configured to: calculate the average difference of the sending time intervals corresponding to each data packet based on the recorded acquisition time of each data packet corresponding to the target TCP connection, and determine the There are average times corresponding to visible characters; based on the average difference and average times corresponding to the target TCP connection, determine whether the target TCP connection meets the covert channel detection condition; if the target TCP connection meets the covert channel detection condition, determine that there is a covert channel in the target TCP connection .
在一种可能的实现方式中,该检测模块,用于:如果确定目标TCP连接对应的平均差小于等于预设的平均差阈值,则基于平均差对应的第一权重值,以及平均次数对应的第二权重值,对目标TCP连接对应的平均差以及平均次数进行加权求和,得到加权求和后的第一指示值;如果第一指示值大于预设的第一指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件。In a possible implementation, the detection module is configured to: if it is determined that the average difference corresponding to the target TCP connection is less than or equal to the preset average difference threshold, based on the first weight value corresponding to the average difference and the The second weight value is weighted and summed the average difference and average times corresponding to the target TCP connection to obtain the first indicator value after the weighted sum; if the first indicator value is greater than the preset first indicator value threshold, the target is determined The TCP connection meets the covert channel detection conditions.
在一种可能的实现方式中,该检测模块,用于:如果确定目标TCP连接对应的平均差大于平均差阈值,则检测当前的网络状态;如果当前网络状态为非正常网络状态,则将目标TCP连接对应的平均次数与预设的系数值相乘,得到相乘后的第二指示值;如果第二指示值大于预设的第二指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件。In a possible implementation, the detection module is configured to: detect the current network state if it is determined that the average difference corresponding to the target TCP connection is greater than the average difference threshold; The average number of times corresponding to the TCP connection is multiplied by the preset coefficient value to obtain a multiplied second indicator value; if the second indicator value is greater than the preset second indicator value threshold, it is determined that the target TCP connection meets the covert channel detection condition .
第三方面,提供了一种计算机设备,计算机设备包括存储器和处理器,存储器用于存储计算机指令;处理器执行存储器存储的计算机指令,以使计算机设备执行如上第一方面所提供的发送数据包的方法。In a third aspect, a computer device is provided, the computer device includes a memory and a processor, the memory is used to store computer instructions; the processor executes the computer instructions stored in the memory, so that the computer device executes sending data packets as provided in the first aspect above Methods.
第四方面,提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机程序代码,当计算机程序代码被计算机设备执行时,计算机设备执行如上第一方面所提供的发送数据包的方法。A fourth aspect provides a computer-readable storage medium, which is characterized in that the computer-readable storage medium stores computer program codes, and when the computer program codes are executed by a computer device, the computer device executes the sending method provided in the first aspect above Packet method.
第五方面,提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述第一方面及其可能的实现方式的方法,或者使得计算设备实现上述第二方面及其可能的实现方式的装置的功能。In a fifth aspect, a computer program product containing instructions is provided, and when it is run on a computing device, it causes the computing device to execute the method of the above-mentioned first aspect and possible implementations thereof, or enables the computing device to implement the above-mentioned second aspect and the functionality of the device for its possible implementations.
本发明实施例提供的技术方案带来的有益效果是:The beneficial effects brought by the technical solution provided by the embodiments of the present invention are:
本发明实施例中,当获取到待发送的目标数据包之后,并不是直接将目标数据包进行发送,而是先对目标数据包对应报头数据的指定字段进行更改,这样,即使当前数据传输链路中存在隐蔽存储通道,通过修改指定字段,能够破坏通过隐蔽存储通道传输的数据。并且可以通过预设的发送时间间隔将更改报头数据后的目标数据包发送至数据接收端,如此,可以统一各数据包的发送时间,能够避免隐蔽时序通道控制数据包的发送时间间隔传输数据。可见,采用本申请能够防止通过隐蔽通道传输额外的数据,且能够将正常需要传输的数据发送至数据接收端。In the embodiment of the present invention, after the target data packet to be sent is acquired, the target data packet is not sent directly, but the specified field of the corresponding header data of the target data packet is changed first, so that even if the current data transmission chain There is a hidden storage channel in the road, and the data transmitted through the hidden storage channel can be destroyed by modifying the specified field. And the target data packet after changing the header data can be sent to the data receiving end through the preset sending time interval. In this way, the sending time of each data packet can be unified, and the transmission time interval of the hidden timing channel control data packet can be avoided to transmit data. It can be seen that the application of the present application can prevent additional data from being transmitted through the covert channel, and can send the data that normally needs to be transmitted to the data receiving end.
附图说明Description of drawings
图1是本发明实施例提供的一种数据传输系统示意图;FIG. 1 is a schematic diagram of a data transmission system provided by an embodiment of the present invention;
图2是本发明实施例提供的一种发送数据包的方法流程图;Fig. 2 is a flow chart of a method for sending data packets provided by an embodiment of the present invention;
图3是本发明实施例提供的一种发送数据包的方法流程图;Fig. 3 is a flow chart of a method for sending data packets provided by an embodiment of the present invention;
图4是本发明实施例提供的一种发送数据包的结构示意图;FIG. 4 is a schematic structural diagram of a sending data packet provided by an embodiment of the present invention;
图5是本发明实施例提供的一种计算机设备结构示意图。Fig. 5 is a schematic structural diagram of a computer device provided by an embodiment of the present invention.
具体实施方式detailed description
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。In order to make the purpose, technical solution and advantages of the present application clearer, the implementation manners of the present application will be further described in detail below in conjunction with the accompanying drawings.
下面首先介绍本发明实施例涉及的系统架构、以及所涉及到名词的概念。The following first introduces the system architecture involved in the embodiment of the present invention and the concepts involved in terms.
本发明实施例提供的一种发送数据包的方法,可以适用于数据传输系统,如图1所示,数据传输系统中包括数据接收端、数据转发设备以及数据发送端,数据接收端可以是手机、电脑等能接入互联网的设备,该数据转发设备可以是安全设备等,如防火墙设备、IPS设备等,可以实现路由器、交换机所实现的功能等,数据发送端可以是向数据接收端发送数据的设备,可以是手机、电脑、服务器等。其中,数据接收端、数据转发设备以及数据发送端之间可建立数据传输链路,例如TCP连接等,数据发送端可通过数据转发设备将带传输的数据传输至数据接收端。A method for sending data packets provided by an embodiment of the present invention can be applied to a data transmission system. As shown in FIG. , computers and other devices that can access the Internet, the data forwarding device can be a security device, such as a firewall device, IPS device, etc., which can realize the functions of routers and switches, etc., and the data sending end can send data to the data receiving end The device can be a mobile phone, computer, server, etc. Among them, a data transmission link, such as a TCP connection, can be established between the data receiving end, the data forwarding device, and the data sending end, and the data sending end can transmit the data with transmission to the data receiving end through the data forwarding device.
本发明实施例提供了一种发送数据包的方法,该方法的执行主体可以是数据发送端或者是数据转发设备。An embodiment of the present invention provides a method for sending a data packet, and the execution subject of the method may be a data sending end or a data forwarding device.
数据发送端与数据接收端之间建立可靠连接时,一般可以使用TCP连接传输数据,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。When a reliable connection is established between the data sending end and the data receiving end, the TCP connection can generally be used to transmit data. TCP is a connection-oriented, reliable, and byte-stream-based transport layer communication protocol. A transport protocol specially designed to provide reliable end-to-end byte streams on the Internet.
如图2所示,本发明实施例提供了一种发送数据包的方法,该方法的处理流程可以包括如下的步骤:As shown in FIG. 2, the embodiment of the present invention provides a method for sending a data packet, and the processing flow of the method may include the following steps:
步骤201、获取待发送的目标数据包。
其中,本申请提供的发送数据包的方法,对应的执行主体可以是数据发送端,也可以是数据转发设备。在本方法实施例中,可以以对应的执行主体为数据转发设备为例,对本申请提供的数据包的方法进行详细说明,其他情况阈值类似,不再赘述。Wherein, in the method for sending data packets provided in the present application, the corresponding execution subject may be a data sending end, or may be a data forwarding device. In this method embodiment, the data packet method provided by this application can be described in detail by taking the corresponding execution subject as a data forwarding device as an example, and the thresholds in other cases are similar and will not be described again.
在实施中,数据发送端向数据接收端发送数据包之前,可以与数据接收端建立TCP连接,在建立TCP连接之后,可以根据现有的TCP协议,将待传输的数据划分为多个TCP分片(TCP数据包),然后依次将每个TCP数据包发送至数据转发设备。在TCP数据包中可以包括待发送的数据以及TCP报头,其中,TCP的报头结构如表一所示。Source Port(源端口号)字段中可以记录有待发送的数据的数据来源信息,即发送的数据对应的源地址端口。另外数据来源信息中还可以包括源地址IP以及源地址MAC,其中,源地址IP可以从IP报文头部获取。源MAC地址可以从以太帧的头部获取。对应的在目标数据包还可以包括待发送的数据的对应的数据接收端的信息,可以包括目的地址IP、目的地址MAC以及目的地址端口。数据转发设备可以根据目的地址IP、目的地址MAC以及目的地址端口等,将TCP数据包发送至对应的数据接收端。In implementation, before the data sending end sends data packets to the data receiving end, it can establish a TCP connection with the data receiving end. After establishing the TCP connection, the data to be transmitted can be divided into multiple TCP segments according to the existing TCP protocol. slice (TCP data packet), and then send each TCP data packet to the data forwarding device in turn. The data to be sent and the TCP header may be included in the TCP data packet, wherein the structure of the TCP header is shown in Table 1. The Source Port (source port number) field may record the data source information of the data to be sent, that is, the source address port corresponding to the sent data. In addition, the data source information may also include a source address IP and a source address MAC, where the source address IP may be obtained from the header of the IP packet. The source MAC address can be obtained from the header of the Ethernet frame. The corresponding target data packet may also include information of the corresponding data receiving end of the data to be sent, which may include destination address IP, destination address MAC and destination address port. The data forwarding device can send the TCP data packet to the corresponding data receiving end according to the destination address IP, destination address MAC, destination address port, and the like.
表一Table I
每当数据转发设备接收到服务器发送的数据包之后,可以确定该数据包是否为TCP数据包,如果确定接收的数据包为TCP数据包,则可以将TCP数据包确定为待发送的目标数据包,然后可以对目标数据包中报文数据中的指定字段进行更改,即进行下面步骤202-203的处理。Whenever the data forwarding device receives the data packet sent by the server, it can determine whether the data packet is a TCP data packet, and if it is determined that the received data packet is a TCP data packet, then the TCP data packet can be determined as the target data packet to be sent , and then the specified field in the message data in the target data packet can be changed, that is, the following steps 202-203 are performed.
步骤202、对目标数据包中报头数据的指定字段进行更改,得到更改报头数据后的目标数据包。Step 202: Modify the specified field of the header data in the target data packet to obtain the target data packet after the header data is changed.
其中,目标数据包可以是数据转发设备接收到的任一待发送的TCP数据包。由于在隐蔽存储通道是通过在数据包对应的报头的指定字段中携带数据信息。因此在本申请中,可以将对目标数据包中报头数据的指定字段存储的数据进行更改,其中,该指定字段可以由技术人员预先进行设置,可以是隐蔽存储通道常用的字段。例如可以包括:IP报头中的Identification,TCP报头中的seq(sequence number,序列号),以及表一中所示的TCP报头中的ack(acknowledgment number,确定号),TCP报头中的flags(标志位)中reserved(保留)标志位,TCP报头中的windows size(窗口大小),TCP报头中的urgnet pointer(紧急指针),TCP报头中的options data(选项数据)等。Wherein, the target data packet may be any TCP data packet received by the data forwarding device to be sent. Because in the covert storage channel, the data information is carried in the designated field of the header corresponding to the data packet. Therefore, in this application, the data stored in the specified field of the header data in the target data packet can be changed, wherein the specified field can be preset by a technician, and can be a commonly used field in a covert storage channel. For example, it can include: Identification in the IP header, seq (sequence number, serial number) in the TCP header, and ack (acknowledgment number, determination number) in the TCP header shown in Table 1, flags (signature) in the TCP header bit), the windows size (window size) in the TCP header, the urgnet pointer (urgent pointer) in the TCP header, the options data (option data) in the TCP header, etc.
在实施中,在得到目标数据包后,可以对上述指定字段进行更改,从而得到更改报头数据后的目标数据包,如此,通过更改目标数据包中报头数据的指定字段,可以破坏通过隐蔽存储通道传输的数据,从而使隐蔽存储通道只能传输无效的数据。In practice, after obtaining the target data packet, the above-mentioned specified fields can be changed to obtain the target data packet after changing the header data. In this way, by changing the specified field of the header data in the target data packet, the hidden storage channel can be destroyed. transmitted data, so that the covert storage channel can only transmit invalid data.
可选的,为了减轻数据转发设备的计算负载,数据转发设备可以只处理来自指定数据发送端的目标数据包。例如在指定数据发送端可以是存储有保密性较高的数据对应的数据存储服务器。以企业的办公网络为例,在办公网络中可以设置有多台数据存储服务器,不同的数据存储服务器用于存储企业不同的数据,其中有些数据存储服务器中存储的数据为企业内部较为保密性较高的数据,例如,员工的相关信息、企业办公系统的账户密码等。所以数据转发设备可以只处理来自存储有保密性较高的数据对应的数据存储服务器的数据包,从而减少数据转发设备需要处理的数据包的个数,从而减轻数据转发设备的计算负载。所以在对目标数据包中报头数据的指定字段进行更改之前,还可以获取目标数据包的报头数据中包括的数据来源信息,确定数据来源信息为指定的私密数据对应的数据来源信息。Optionally, in order to reduce the calculation load of the data forwarding device, the data forwarding device may only process the target data packets from the specified data sending end. For example, the specified data sending end may be a data storage server corresponding to stored data with high confidentiality. Taking the office network of an enterprise as an example, multiple data storage servers can be set up in the office network. Different data storage servers are used to store different data of the enterprise, and some of the data stored in the data storage servers are relatively confidential within the enterprise High data, for example, relevant information of employees, account passwords of corporate office systems, etc. Therefore, the data forwarding device can only process data packets from the data storage server corresponding to the data with high confidentiality stored, thereby reducing the number of data packets that the data forwarding device needs to process, thereby reducing the calculation load of the data forwarding device. Therefore, before modifying the specified field of the header data in the target data packet, the data source information included in the header data of the target data packet can also be obtained, and the data source information is determined to be the data source information corresponding to the specified private data.
在TCP数据包的报头数据中包括有TCP数据包对应的数据来源信息,即TCP数据包对应的源地址IP、源地址MAC以及源地址端口。因此可以在数据转发设备中,可以预先设置各个存储有指定的数据存储服务器对应的地址IP、地址MAC以及地址端口等。每当数据转发设备接收到TCP数据包之后,可以通过预先设置的过滤器对TCP数据包对应的源地址IP、源地址MAC以及源地址端口与预先设置的地址IP、地址MAC以及地址端口进行对比,如果对比结果一致,则可以执行对目标数据包中报头数据的指定字段进行更改的处理。如果对比不一致,则说明当前接收到的TCP数据包中并不属于指定的数据存储服务器。所以可以直接转发该TCP数据包,不对该数据包进行处理。The header data of the TCP data packet includes data source information corresponding to the TCP data packet, that is, the source address IP, source address MAC, and source address port corresponding to the TCP data packet. Therefore, in the data forwarding device, the address IP, address MAC, address port, etc. corresponding to each designated data storage server may be preset. Whenever the data forwarding device receives a TCP data packet, the source address IP, source address MAC and source address port corresponding to the TCP data packet can be compared with the preset address IP, address MAC and address port through the preset filter , and if the comparison results are consistent, the process of changing the specified field of the header data in the target data packet can be performed. If the comparison is inconsistent, it means that the currently received TCP data packet does not belong to the specified data storage server. Therefore, the TCP data packet can be directly forwarded without processing the data packet.
另外,由于数据包的发送对时延的要求比较高,因此为了提高对报头数据的指定字段更改的处理速度,所以在数据转发设备中,可以预先开启多个处理进程。对于经过过滤器过滤后的目标数据包,可以将目标数据包添加到共享处理队列中。每个处理进程可以依次向共享处理队列中获取数据包,对获取的数据包的报头数据中的指定字段进行更改。如此通过多个处理进程同时处理数据包,可以整体提高对数据包中报头数据更改指定字段的处理速度,从而可以确保每个数据包的发送时延。In addition, since the sending of data packets has a relatively high requirement on time delay, in order to improve the processing speed of changing the specified field of header data, multiple processing processes can be started in advance in the data forwarding device. For the target data packets filtered by the filter, the target data packets may be added to the shared processing queue. Each processing process can sequentially obtain data packets from the shared processing queue, and change specified fields in header data of the obtained data packets. In this way, the data packets are processed simultaneously by multiple processing processes, so that the processing speed of changing the specified field of the header data in the data packets can be improved as a whole, so that the sending delay of each data packet can be ensured.
如果仅是随意的对报头数据中的字段进行更改,可能会影响TCP数据包正常传输,因此在本申请中还提供的了一种对报头数据中的指定字段进行更改的方法,如下:获取目标更改值,基于目标更改值,更改目标数据包中报头数据的指定字段。If the fields in the header data are only changed at will, it may affect the normal transmission of TCP packets, so this application also provides a method for changing the specified fields in the header data, as follows: Get the target Change Value, Based on Target Change Value, changes the specified field of header data in the target packet.
其中,对于每个TCP连接对应的目标更改值,可以是随机生成的数值。由于在一次TCP连接中,对应的数据发送端和数据接收端是保持不变的,也就是在一次TCP中,发送的各个TCP数据包中的源地址IP、目的地址IP、源地址MAC、目的地址MAC、源地址端口、目的地址端口是相同的,因此可以通过上述参数确定对应TCP连接对应的连接标识。例如可以计算上述参数的哈希值,将对应的哈希值确定为对应TCP连接的标识。Wherein, the target change value corresponding to each TCP connection may be a randomly generated value. Because in a TCP connection, the corresponding data sender and data receiver remain unchanged, that is, in a TCP, the source address IP, destination address IP, source address MAC, destination The address MAC, source address port, and destination address port are the same, so the connection identifier corresponding to the corresponding TCP connection can be determined through the above parameters. For example, the hash value of the above parameters may be calculated, and the corresponding hash value may be determined as the identifier of the corresponding TCP connection.
所以在获取到每个TCP数据包之后,可以确定TCP数据包所属的TCP连接对应的TCP连接标识。对于每个TCP连接标识都可以生成对应的随机数,将对应的随机数确定为TCP连接标识对应的更改值,并添加到TCP连接标识与更改值的对应关系中。因此在确定TCP数据包对应的目标TCP连接标识后,可以在TCP连接标识与更改值的对应关系中确定是否存在目标TCP连接标识,如果存在目标TCP连接标识,则在对应关系中确定对应的目标更改值。如果在TCP连接标识与更改值的对应关系没有目标TCP连接标识,则可以确定当前接收的TCP数据包属于新建立的TCP连接,所以可以对目标TCP连接标识生成一个随机数,将该随机数确定对当前接收的TCP数据包对应的目标更改值,然后将生成的随机数与目标TCP连接标识添加到TCP连接标识与更改值的对应关系中。Therefore, after each TCP data packet is obtained, the TCP connection identifier corresponding to the TCP connection to which the TCP data packet belongs can be determined. A corresponding random number can be generated for each TCP connection identifier, and the corresponding random number is determined as the change value corresponding to the TCP connection identifier, and added to the corresponding relationship between the TCP connection identifier and the change value. Therefore, after determining the target TCP connection ID corresponding to the TCP data packet, it can be determined whether there is a target TCP connection ID in the corresponding relationship between the TCP connection ID and the change value, and if there is a target TCP connection ID, then determine the corresponding target in the corresponding relationship Change the value. If there is no target TCP connection ID in the correspondence between the TCP connection ID and the change value, it can be determined that the currently received TCP packet belongs to a newly established TCP connection, so a random number can be generated for the target TCP connection ID, and the random number can be determined Change the value of the target corresponding to the currently received TCP data packet, and then add the generated random number and the target TCP connection ID to the corresponding relationship between the TCP connection ID and the changed value.
在确定目标更改值之后,基于目标更改值,更改目标数据包中报头数据的指定字段的处理如下:After the target change value is determined, based on the target change value, the process of changing the specified field of the header data in the target packet is as follows:
在目标数据包中报头数据可以包括TCP报头和IP报头。对于TCP报头中的指定字段可以是seq、ack、flags中reserved标志位、windows size、urgnet pointer以及optionsdata。对于IP报头中的指定字段可以是identification(标识)。进一步的,对各字段的更改方法如下:The header data in the target data packet may include a TCP header and an IP header. The specified fields in the TCP header can be seq, ack, reserved flag in flags, windows size, urgnet pointer, and optionsdata. The specified field in the IP header may be identification (identification). Further, the method of changing each field is as follows:
对于TCP报头,将目标数据包的TCP报头中的序列号seq的值加上目标更改值,将TCP报头中的window size的值中除了最高位之外的其他数值,替换为目标更改值。其中,由于windows size的值为十六进制,所以可以先将十六进制的值转为十进制,然后再将十进制的值中,最高位之外的其他数值,替换为目标更改值,得到更改之后的十进制的值,再将更改之后的十进制的值转为十六进制,得到更改之后的windows size的值。另外,还可以确定TCP报头中的kind的值为是否为experiment,如果确定TCP报头中的kind为experiment时,将experiment的对应的值替换为目标更改值。另外,如果确定TCP报头中的reserved保留标志位不为0,则将reserved标志位置为0。还可以确定TCP报头中的urg标志位是否为0,如果确定TCP报头中的urg标志位为0,则说明当前urgnet pointer字段并未使用,则可以将TCP报头中的urgnet pointer的字段的值置为0。For the TCP header, add the value of the sequence number seq in the TCP header of the target data packet to the target change value, and replace the other values in the window size value in the TCP header except the highest bit with the target change value. Among them, since the value of windows size is hexadecimal, you can first convert the hexadecimal value to decimal, and then replace the decimal value with other values other than the highest bit with the target change value to get Change the decimal value, and then convert the changed decimal value to hexadecimal to get the changed windows size value. In addition, it may also be determined whether the value of kind in the TCP header is experiment, and if it is determined that the value of kind in the TCP header is experiment, replace the corresponding value of experiment with the target change value. In addition, if it is determined that the reserved flag bit in the TCP header is not 0, the reserved flag bit is set to 0. It can also be determined whether the urg flag bit in the TCP header is 0, if it is determined that the urg flag bit in the TCP header is 0, it means that the current urgnet pointer field is not used, then the value of the field of the urgnet pointer in the TCP header can be set to is 0.
在TCP连接中seq可表示本次发送数据的偏移量,ack表示已经接收到的数据量。seq可以防止乱序,重复数据等,下次数据发送端可以根据ack表示的已经接收到的数据量发送数据。但由于在发送目标数据包时,将seq的值加上了目标更改值,所以为了确保数据的正常发送,可以在接收到的对应的应答数据包时,可以将应答数据包ack值减去对应的目标更改值。In the TCP connection, seq can indicate the offset of the data sent this time, and ack indicates the amount of data that has been received. seq can prevent out-of-sequence, duplicate data, etc., and the next data sender can send data according to the amount of data that has been received indicated by ack. However, since the target change value is added to the value of seq when sending the target data packet, in order to ensure the normal sending of the data, when the corresponding response data packet is received, the ack value of the response data packet can be subtracted from the corresponding The target change value for .
例如对于每个TCP连接,可以记录该TCP连接中发送的TCP数据包中的端口信息与目标更改值的对应关系,在接收到对应的应答消息时,可以获取应答消息中携带的端口信息,然后根据对应关系,确定对应的目标更改值,然后将应答消息中的ack值减去对应的目标更改值。For example, for each TCP connection, the corresponding relationship between the port information in the TCP packet sent in the TCP connection and the target change value can be recorded, and when the corresponding response message is received, the port information carried in the response message can be obtained, and then According to the corresponding relationship, the corresponding target change value is determined, and then the corresponding target change value is subtracted from the ack value in the response message.
对于IP报头,如果确定目标数据包的IP报头中MTU(Maximum Transmission Unit,最大传输单元)值的长度小于预设长度阈值,则将IP报头中的Identification值替换为目标更改值。这是因为在确定IP报头中MTU的长度小于预设长度阈值时,说明IP报文并没有进行拼接处理,而在IP报文为进行拼接处理时,Identification字段不表示任何含义,因此为了防止隐蔽传输通道在Identification字段传输数据,可以将Identification字段的值置为随机数。For the IP header, if it is determined that the length of the MTU (Maximum Transmission Unit, maximum transmission unit) value in the IP header of the target packet is less than the preset length threshold, then the Identification value in the IP header is replaced with the target change value. This is because when it is determined that the length of the MTU in the IP header is less than the preset length threshold, it means that the IP packet has not been spliced, and when the IP packet is not spliced, the Identification field does not indicate any meaning, so in order to prevent concealment The transmission channel transmits data in the Identification field, and the value of the Identification field can be set to a random number.
另外,在对上述指定字段进行修改之后,可以重新计算TCP报头中的校验和,其具体的计算过程属于现有技术,此处不再赘述。如下表二所示,表二更改指定字段前后的TCP报头数据。In addition, after modifying the specified fields above, the checksum in the TCP header can be recalculated. The specific calculation process belongs to the prior art and will not be repeated here. As shown in Table 2 below, Table 2 changes the TCP header data before and after the specified field.
表二Table II
步骤203、基于预设发送时间间隔,发送更改报头数据后的目标数据包。
由于在隐蔽时序通道中,可以通过控制数据包之间的发送时间间隔来传输数据。所以在本申请中,在将目标数据包的报头数据更改之后,可以控制各数据包的发送时间间隔,确保将各个数据包对应的发送时间间隔为预设的发送时间间隔,从而可将避免隐蔽时序通道实现。In the covert timing channel, data can be transmitted by controlling the sending time interval between data packets. Therefore, in this application, after changing the header data of the target data packet, the sending time interval of each data packet can be controlled to ensure that the sending time interval corresponding to each data packet is the preset sending time interval, thereby avoiding concealment Timing channel implementation.
在一种可实现的方式中,对于每个TCP连接都可以建立一个对应的TCP发送队列,然后将每个TCP发送队列中包括的数据包按照预设的发送时间间隔进行发送,这样对于每个TCP连接下的各TCP数据包的发送时间间隔一致。其中,为每个TCP连接建立TCP发送队列的处理如下:In an achievable manner, a corresponding TCP sending queue can be established for each TCP connection, and then the data packets included in each TCP sending queue are sent according to a preset sending time interval, so that for each The sending time interval of each TCP data packet under the TCP connection is consistent. Among them, the process of establishing a TCP sending queue for each TCP connection is as follows:
获取目标数据包的TCP报头对应的目标TCP连接标识,在TCP连接标识与延迟发送队列的对应关系中,确定是否存在目标TCP连接标识;如果存在目标TCP连接标识,则在对应关系中,确定与目标TCP连接标识对应的目标延迟发送队列;如果不存在目标TCP连接标识,则生成目标TCP连接标识对应的目标延迟发送队列,并在对应关系中对应添加目标TCP连接标识以及目标发送队列。Obtain the target TCP connection mark corresponding to the TCP header of the target data packet, in the corresponding relationship between the TCP connection mark and the delayed sending queue, determine whether there is a target TCP connection mark; if there is a target TCP connection mark, then in the corresponding relationship, determine the The target delayed sending queue corresponding to the target TCP connection ID; if there is no target TCP connection ID, then generate the target delayed sending queue corresponding to the target TCP connection ID, and correspondingly add the target TCP connection ID and the target sending queue in the corresponding relationship.
为了便于控制每个TCP连接对应的TCP数据包,可以对每个TCP设置对应的发送队列,这样可以根据每个TCP连接对应的发送队列发送。如此,在获取到目标数据包对应的目标TCP连接标识后,可以在TCP连接标识与发送队列的对应关系中,确定对应的是否存在目标TCP连接标识,如果在对应关系中确定存在目标TCP连接标识,则确定对应的目标发送队列。如果在对应关系中不存在目标TCP连接标识,则可以确定当前接收的TCP数据包属于新建立的TCP连接对应的TCP数据包,因此可以根据目标TCP连接标识,建立对应的目标发送队列,并将目标TCP连接标识与目标发送队列添加到对应关系中。In order to facilitate the control of the TCP data packets corresponding to each TCP connection, a corresponding sending queue can be set for each TCP, so that it can be sent according to the sending queue corresponding to each TCP connection. In this way, after obtaining the target TCP connection identifier corresponding to the target data packet, it is possible to determine whether there is a corresponding target TCP connection identifier in the corresponding relationship between the TCP connection identifier and the sending queue. If it is determined in the corresponding relationship that there is a target TCP connection identifier , then determine the corresponding target sending queue. If there is no target TCP connection identifier in the corresponding relationship, it can be determined that the currently received TCP packet belongs to the TCP packet corresponding to the newly established TCP connection, so a corresponding target sending queue can be established according to the target TCP connection identifier, and The target TCP connection ID and the target sending queue are added to the corresponding relationship.
这样在得到更改报头数据后的目标数据包之后,可以将更改报头数据后的目标数据包添加到目标发送队列。然后按照预设的发送时间间隔,发送目标发送队列中的数据包。由于每个TCP连接对应有唯一的发送队列,且是按照固定的发送时间间隔将每个发送队列中的数据包发送出去的,这样对于每个TCP连接的TCP数据包的发送时间间隔都会一致,如此可以避免通过控制数据包的发送时间间隔来传输数据的情况。In this way, after obtaining the target data packet with the changed header data, the target data packet with the changed header data can be added to the target sending queue. Then send the data packets in the target sending queue according to the preset sending time interval. Since each TCP connection corresponds to a unique sending queue, and the data packets in each sending queue are sent out according to a fixed sending time interval, the sending time interval of the TCP data packets for each TCP connection will be consistent, In this way, the situation of transmitting data by controlling the sending time interval of data packets can be avoided.
另外,如果将更改报头数据后的目标数据包添加至目标发送队列后,目标发送队列中包括的数据包的个数未达到预设的个数阈值,则将基于预设发送时间间隔,依次发送目标发送队列的各数据包;如果将更改报头数据后的数据包添加至目标发送队列后,目标发送队列中包括的数据包的个数已达到预设的个数阈值,则基于目标发送队列中各数据包的入队顺序,依次发送各数据包。In addition, if the number of data packets included in the target sending queue does not reach the preset number threshold after adding the target data packets after changing the header data to the target sending queue, they will be sent sequentially based on the preset sending time interval Each data packet of the target sending queue; if the number of data packets included in the target sending queue has reached the preset number threshold after adding the data packet after changing the header data to the target sending queue, based on the The enqueue sequence of each data packet, each data packet is sent sequentially.
这是由于TCP连接中,对各个TCP数据包的发送时延要求比较高,所以当发送队列中的包括的待发送的数据包的个数达到预设的个数阈值后,如果继续按照预设的发送时间间隔对发送队列中的数据包进行发送的话,可能会造成发送队列中排列顺序比较靠后的发送的延时比较长。因此可以在每次将TCP数据包添加至对应的发送队列后,可以确定当前发送队列中包括的TCP数据包的个数,如果没有大于预设的个数阈值,则可以按照预设的时间间隔对发送队列中的各个TCP数据包进行发送处理,即发送一个TCP数据包之后,经过预设的时间间隔,再发送对应的下一个TCP数据包。如果发送队列中包括的TCP数据包的个数大于预设的个数阈值,则可以不再按照预设的时间间隔对发送队列中的各个数据包进行发送处理,即发送一个TCP数据包之后,直接发送对应的下一个TCP数据包,不再等待预设的时间间隔。如此,能够在保证TCP数据包发送时延的情况下,控制TCP数据包发送的时间间隔,从而可以避免通过隐蔽时序通道传输数据。This is because in the TCP connection, the sending delay requirement for each TCP data packet is relatively high, so when the number of data packets to be sent included in the sending queue reaches the preset number threshold, if you continue to follow the preset If the data packets in the sending queue are sent at the sending time interval of , it may cause a longer delay in sending the packets that are arranged later in the sending queue. Therefore, after each TCP data packet is added to the corresponding sending queue, the number of TCP data packets included in the current sending queue can be determined, and if it is not greater than the preset number threshold, it can be set according to the preset time interval Each TCP data packet in the sending queue is sent, that is, after sending a TCP data packet, after a preset time interval, the corresponding next TCP data packet is sent. If the number of TCP data packets included in the sending queue is greater than the preset number threshold, each data packet in the sending queue can no longer be sent according to the preset time interval, that is, after sending a TCP data packet, Send the corresponding next TCP packet directly without waiting for the preset time interval. In this way, the time interval for sending TCP data packets can be controlled while ensuring the delay in sending TCP data packets, thereby avoiding data transmission through a hidden timing channel.
本发明实施例中,当获取到待发送的目标数据包之后,并不是直接将目标数据包进行发送,而是先对目标数据包对应报头数据的指定字段进行更改,这样,即使当前数据传输链路中存在隐蔽存储通道,通过修改指定字段,能够破坏通过隐蔽存储通道传输的数据。并且可以通过预设的发送时间间隔将更改报头数据后的目标数据包发送至数据接收端,如此,可以统一各数据包的发送时间,能够避免隐蔽时序通道控制数据包的发送时间间隔传输数据。可见,采用本申请能够防止通过隐蔽通道传输额外的数据,且能够将正常需要传输的数据发送至数据接收端。In the embodiment of the present invention, after the target data packet to be sent is acquired, the target data packet is not sent directly, but the specified field of the corresponding header data of the target data packet is changed first, so that even if the current data transmission chain There is a hidden storage channel in the road, and the data transmitted through the hidden storage channel can be destroyed by modifying the specified field. And the target data packet after changing the header data can be sent to the data receiving end through the preset sending time interval. In this way, the sending time of each data packet can be unified, and the transmission time interval of the hidden timing channel control data packet can be avoided to transmit data. It can be seen that the application of the present application can prevent additional data from being transmitted through the covert channel, and can send the data that normally needs to be transmitted to the data receiving end.
在本申请中,还提供了一种检测数据传输链路中是否存在隐蔽通道的方法,如图3所示,该方法包括:In the present application, a method for detecting whether there is a covert channel in the data transmission link is also provided, as shown in FIG. 3 , the method includes:
步骤301、确定目标数据包在所属的目标TCP连接中对应的接收顺序。
由于隐蔽通道包括隐蔽存储通道和隐蔽时序通道,由于在本申请中,对发送的数据包的报文数据都进行了修改,所以如果需要对隐蔽存储通道进行检测的话,需要对数据包对应的未修改报文数据进行检测。因此在本申请中,在对目标数据包对应的报文数据进行修改之前,可以记录对应的目标数据包对应的报文数据。然后可以根据记录的报文数据检测隐蔽存储通道。但是如果对获取的每个数据包都记录对应的报文数据且进行检测的话,会占处理器和存储器过多的处理资源。所以,对于一个TCP连接可以每隔预设的数目,记录对应的报文数据。同时,还可以对数据包对应的获取时间进行记录,用于后续对隐蔽时序通道的检测。Since the covert channel includes a covert storage channel and a covert timing channel, since in this application, the message data of the sent data packet has been modified, if it is necessary to detect the covert storage channel, it is necessary to check the Modify the packet data for detection. Therefore, in the present application, before modifying the message data corresponding to the target data packet, the message data corresponding to the corresponding target data packet can be recorded. The covert memory channel can then be detected based on the recorded message data. However, if the corresponding message data is recorded and detected for each acquired data packet, excessive processing resources of the processor and the memory will be occupied. Therefore, for a TCP connection, corresponding packet data can be recorded every preset number. At the same time, the acquisition time corresponding to the data packet can also be recorded for subsequent detection of the hidden timing channel.
在实施中,可以设置一个分析器用于对隐蔽通道的检测。在每次获取到TCP数据包后,可以确定TCP数据包对应的TCP连接标识,然后接收该TCP连接标识对应的TCP数据包的获取顺序。In an implementation, an analyzer may be set for detecting covert channels. After obtaining the TCP data packet each time, the TCP connection identifier corresponding to the TCP data packet can be determined, and then the acquisition sequence of the TCP data packet corresponding to the TCP connection identifier is received.
在本申请中可以通过数据包对应的TCP连接标识对各个TCP数据包的信息进行记录,其中,该TCP连接标识可以是,通过TCP数据包对应报头数据中的源地址IP、目的地址IP、源地址MAC、目的地址MAC、源地址端口、目的地址端口确定的哈希值。在数据转发设备中可以预先设置有TCP连接信息跟踪表。其中,在TCP连接信息跟踪表中可以包括各个TCP连接对应的、报文接收次数、TCP连接session(会话)次数、随机值、最近接收报文时间、状态值等。当数据转发设备每接收到一个新的TCP连接标识时,可以在表中添加对应的TCP连接标识,然后记录该TCP连接标识对应的TCP数据包的状态信息。如表三所示。In this application, the information of each TCP data packet can be recorded through the TCP connection identifier corresponding to the data packet, wherein, the TCP connection identifier can be, through the source address IP, destination address IP, source address in the header data corresponding to the TCP data packet The hash value determined by address MAC, destination address MAC, source address port, and destination address port. A TCP connection information tracking table may be preset in the data forwarding device. Wherein, the TCP connection information tracking table may include information corresponding to each TCP connection, message reception times, TCP connection session (session) times, random value, latest message receiving time, status value, etc. When the data forwarding device receives a new TCP connection identifier, it can add the corresponding TCP connection identifier in the table, and then record the state information of the TCP data packet corresponding to the TCP connection identifier. As shown in Table 3.
表三Table three
其中,数据转发设备每获取到一个TCP数据包时,可以确定当前的TCP连接信息跟踪表中,是否存在当前获取的TCP数据包对应的TCP连接标识,如果存在,则可以将表中该TCP连接标识对应的信息进行更新。例如,报文接收次数可以加1,确定该TCP数据包中报头中的Flags是否为SYN,如果为SYN则可以将TCP连接Session次数加1。如果该TCP数据包中报头中的Flags是否为FIN,则可以对随机值进行更新。还可以记录当前获取到数据包的对应的报文接收时间,并确定对应的状态值。如果在TCP连接信息跟踪表中,不存在对应的TCP连接标识,则可以在表中添加对应的TCP连接标识,然后对该TCP连接标识对应的TCP连接信息进行记录。Wherein, each time the data forwarding device obtains a TCP data packet, it can determine whether there is a TCP connection identifier corresponding to the currently obtained TCP data packet in the current TCP connection information tracking table. The information corresponding to the identifier is updated. For example, 1 may be added to the number of times the message is received, and it is determined whether the Flags in the header of the TCP data packet is SYN. If it is SYN, 1 may be added to the number of times of the TCP connection session. If the Flags in the header of the TCP data packet is FIN, the random value can be updated. It is also possible to record the corresponding message receiving time of the currently acquired data packet, and determine the corresponding status value. If there is no corresponding TCP connection identifier in the TCP connection information tracking table, the corresponding TCP connection identifier may be added to the table, and then the TCP connection information corresponding to the TCP connection identifier is recorded.
步骤302、如果接收顺序为满足预设的记录条件,则记录目标数据包对应的接收时间以及目标数据包的报头数据。
在得到目标数据包对应的接收顺序之后,可以确定对应的接收顺序是否满足预设的记录条件。例如,对于一个TCP连接可以每隔9个记录一次对应数据包的获取时间和报头数据。这样可以将记录条件设置为判断数据包的接收顺序为10的倍数。这样对于一个TCP连接,分析器可以分别记录该TCP连接中发送的第10个、第20个、第30个、…第10×N个数据包对应的获取时间和报头数据,其中N为正整数。如果确定目标数据包接收顺序为满足预设的记录条件,则可以根据目标数据包对应的TCP连接标识,对目标数据包的获取时间和报头数据进行记录。After obtaining the receiving sequence corresponding to the target data packets, it may be determined whether the corresponding receiving sequence satisfies a preset recording condition. For example, for a TCP connection, the acquisition time and header data of the corresponding data packet may be recorded every 9 times. In this way, the recording condition can be set to judge that the received order of the data packets is a multiple of 10. In this way, for a TCP connection, the analyzer can respectively record the acquisition time and header data corresponding to the 10th, 20th, 30th, ... 10×N data packets sent in the TCP connection, where N is a positive integer . If it is determined that the receiving sequence of the target data packets satisfies the preset recording condition, the acquisition time and header data of the target data packets may be recorded according to the TCP connection identifier corresponding to the target data packets.
步骤303、基于记录的目标TCP连接对应的各数据包的接收时间以及报头数据,确定目标TCP连接中是否存在隐蔽通道。
分析器根据目标数据包对应的TCP连接标识记录对应的获取时间以及报头数据后,可以获取该TCP连接标识对应记录的所有的获取时间以及报头数据,从而对该TCP连接标识对应的目标TCP连接是否存在隐蔽通道进行检测。After the analyzer records the corresponding acquisition time and header data according to the TCP connection identifier corresponding to the target data packet, it can obtain all the acquisition time and header data corresponding to the TCP connection identifier, so as to determine whether the target TCP connection corresponding to the TCP connection identifier is Covert channels exist for detection.
其中,对目标TCP连接是否存在隐蔽通道进行检测的处理,可以如下:基于记录的目标TCP连接对应的各数据包的获取时间,计算各数据包对应的发送时间间隔的平均差,并确定各数据包中存在可见字符对应的平均次数;基于目标TCP连接对应的平均差以及平均次数,确定目标TCP连接是否满足隐蔽通道检测条件;如果目标TCP连接满足隐蔽通道检测条件,则确定目标TCP连接中存在隐蔽通道。Wherein, the process of detecting whether there is a covert channel in the target TCP connection can be as follows: based on the recorded acquisition time of each data packet corresponding to the target TCP connection, calculate the average difference of the sending time intervals corresponding to each data packet, and determine each data packet The average number of times corresponding to visible characters exists in the package; based on the average difference and the average number of times corresponding to the target TCP connection, determine whether the target TCP connection meets the covert channel detection condition; if the target TCP connection meets the covert channel detection condition, determine that there is Covert passage.
其中,隐蔽通道可分为隐蔽存储通道以及隐蔽时序通道。Among them, the covert channel can be divided into a covert storage channel and a covert timing channel.
对于隐蔽时序通道的检测,可以根据目标TCP连接对应的各个数据包的发送时间间隔,然后确定各个数据包的发送时间间隔对应的平均差,根据各个数据包的发送时间间隔对应的平均差确定目标TCP连接中存在隐蔽时序通道。这是由于如果通过隐蔽时序通道传输数据,则需要控制各个数据包对应的发送时长,这样各个数据包对应的发送间隔就会不同,对应的平均差就会较大。对于隐蔽存储通道的检测,可以确定目标TCP连接对应的各个数据包中出现可见字符的平均次数。这是由于如果通过隐蔽存储通道传输数据,需要在报头数据中存储字符,这样如果在TCP连接中存在隐蔽存储通道,则在TCP报头中会存在较多的可见字符,因此可以通过检测出现可见字符的平均次数,如果对应的平均次数较多的话,说明TCP报头中可能携带有其他数据,即当前的TCP连接中可能存在隐蔽存储通道。For the detection of the covert timing channel, the average difference corresponding to the sending time interval of each data packet can be determined according to the sending time interval of each data packet corresponding to the target TCP connection, and the target can be determined according to the average difference corresponding to the sending time interval of each data packet There is a covert timing channel in the TCP connection. This is because if the data is transmitted through the covert timing channel, it is necessary to control the sending time corresponding to each data packet, so that the sending interval corresponding to each data packet will be different, and the corresponding average difference will be relatively large. For the detection of the covert storage channel, the average number of visible characters in each data packet corresponding to the target TCP connection can be determined. This is because if data is transmitted through a covert storage channel, characters need to be stored in the header data, so if there is a covert storage channel in the TCP connection, there will be more visible characters in the TCP header, so the visible characters can be detected by detecting If the corresponding average number of times is large, it means that other data may be carried in the TCP header, that is, there may be a hidden storage channel in the current TCP connection.
由于在发送数据包时,对应的网络状况也会影响各个数据包对应的发送间隔时长的平均差,所以在每次计算目标TCP连接中各TCP数据包对应的发送间隔时长的平均差后,可以确定对应的平均差是否大于预设的平均差阈值,如果大于预设的平均差阈值,则可以先对当前的网络状态进行检测。例如,可以根据目标TCP连接对应的数据来源信息确定对应的数据发送端对应的丢包率和传输时延。如果确定丢包率大于等于预设的丢包率阈值,和/或,传输时延大于等于预设的传输时延阈值,则可以确定当前网络状态不佳,属于非正常网络状态,如果确定丢包率小于预设的丢包率阈值,和/或,传输时延小于预设的传输时延阈值,则可以确定当前网络状态属于正常网络状态。Since when sending data packets, the corresponding network conditions will also affect the average difference of the sending interval duration corresponding to each data packet, so after calculating the average difference of sending interval duration corresponding to each TCP data packet in the target TCP connection each time, you can It is determined whether the corresponding average difference is greater than a preset average difference threshold, and if it is greater than the preset average difference threshold, the current network state may be detected first. For example, the packet loss rate and transmission delay corresponding to the corresponding data sender can be determined according to the data source information corresponding to the target TCP connection. If it is determined that the packet loss rate is greater than or equal to the preset packet loss rate threshold, and/or the transmission delay is greater than or equal to the preset transmission delay threshold, it can be determined that the current network status is not good and belongs to an abnormal network state. If the packet rate is less than the preset packet loss rate threshold, and/or the transmission delay is less than the preset transmission delay threshold, it can be determined that the current network state is a normal network state.
如果确定当前的网络为正常状态,或者,发送间隔时长的平均差小于预设的平均差阈值,则对应的确定目标TCP连接中是否满足隐蔽通道检测条件的处理可以如下:如果确定目标TCP连接对应的平均差小于等于预设的平均差阈值,则基于平均差对应的第一权重值,以及平均次数对应的第二权重值,对目标TCP连接对应的平均差以及平均次数进行加权求和,得到加权求和后的第一指示值;如果第一指示值大于预设的第一指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件。If it is determined that the current network is in a normal state, or the average difference of the sending interval is less than the preset average difference threshold, then the corresponding processing for determining whether the target TCP connection satisfies the covert channel detection condition can be as follows: If it is determined that the target TCP connection corresponds to is less than or equal to the preset average difference threshold, based on the first weight value corresponding to the average difference and the second weight value corresponding to the average times, the average difference and the average times corresponding to the target TCP connection are weighted and summed to obtain The weighted and summed first indicator value; if the first indicator value is greater than the preset first indicator value threshold, it is determined that the target TCP connection satisfies the covert channel detection condition.
在本申请中,可以结合目标TCP连接对应的各数据包的平均发送时间间隔的平均差以及各数据包出现可见字符的个数确定对应的目标TCP连接中是否存在隐蔽通道。其中,对于可见字符可以是ASCII值中处于36到126区间的字符。确定发送时间间隔的平均差,可以是根据每个TCP数据包对应发送时间,以及在目标TCP连接发送的TCP数据包的个数确定对应的平均发送时间间隔,再根据平均发送时间间隔确定对应的平均差。确定出现可见字符的平均次数,可以是先确定每个TCP数据包对应出现可见字符的次数,然后根据目标TCP连接发送的TCP数据包的个数,确定对应的出现可见字符的平均次数。其中,在目标TCP连接发送的TCP数据包的个数可以在上述表三中记录。技术人员和预先设置发送时间间隔的平均差对应的第一权重值,以及出现可见字符的平均次数对应的第二权重值。在确定目标TCP对应的平均差以及出现可见字符对应的平均次数后,根据第一权重值和第二权重值对平均差以及出现可见字符的平均次数进行加权求和,得到第一指示值。该第一指示值可用于表示当前目标TCP连接中是否存在隐蔽通道。如果第一指示值大于预设的第一指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件,其中,第一权重值和第二权重值以及第一指示值阈值均可以由技术人员根据经验预先设置,其具体值此处不进行限定。In this application, it can be determined whether there is a covert channel in the corresponding target TCP connection by combining the average difference of the average sending time interval of each data packet corresponding to the target TCP connection and the number of visible characters appearing in each data packet. Wherein, the visible characters may be characters in the range of 36 to 126 in the ASCII value. Determining the average difference of the sending time interval can be based on the corresponding sending time of each TCP data packet and the number of TCP data packets sent in the target TCP connection to determine the corresponding average sending time interval, and then determine the corresponding sending time interval according to the average sending time interval Average difference. Determining the average number of occurrences of visible characters can be determined by first determining the number of occurrences of visible characters corresponding to each TCP packet, and then determining the corresponding average number of occurrences of visible characters according to the number of TCP packets sent by the target TCP connection. Wherein, the number of TCP data packets sent in the target TCP connection can be recorded in the above Table 3. The first weight value corresponding to the average difference between the technician and the preset sending time interval, and the second weight value corresponding to the average number of times visible characters appear. After determining the average difference corresponding to the target TCP and the average number of visible characters, the average difference and the average number of visible characters are weighted and summed according to the first weight value and the second weight value to obtain the first indication value. The first indication value may be used to indicate whether a covert channel exists in the current target TCP connection. If the first indicator value is greater than the preset first indicator value threshold, it is determined that the target TCP connection satisfies the covert channel detection condition, wherein the first weight value, the second weight value and the first indicator value threshold can be determined by the technician based on experience It is set in advance, and its specific value is not limited here.
如果确定当前的网络为非正常状态,则对应的确定目标TCP连接中是否满足隐蔽通道检测条件的处理可以如下:如果确定目标TCP连接对应的平均差大于平均差阈值,则检测当前的网络状态;如果当前网络状态为非正常网络状态,则将目标TCP连接对应的平均次数与预设的系数值相乘,得到相乘后的第二指示值;如果第二指示值大于预设的第二指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件。If it is determined that the current network is in an abnormal state, then the corresponding process of determining whether the target TCP connection meets the covert channel detection condition can be as follows: if it is determined that the average difference corresponding to the target TCP connection is greater than the average difference threshold, then detect the current network state; If the current network state is an abnormal network state, multiply the average number of times corresponding to the target TCP connection by the preset coefficient value to obtain a multiplied second indication value; if the second indication value is greater than the preset second indication value threshold, it is determined that the target TCP connection meets the covert channel detection condition.
如果确定当前的网络为非正常状态,则说明当前较大的平均差是由于网络状况的抖动引起的,此时对隐蔽时序通道进行检测的意义不大。因此可以只对目标TCP连接中是否存在隐蔽存储通道进行检测。可以将目标TCP连接对应的出现连续字符的平均次数与预设的系数值相乘,得到相乘后的第二指示值,如果第二指示值大于预设的第二指示值阈值,则确定目标TCP连接满足隐蔽通道检测条件。其中,第二指示值用于指示当前目标TCP中是否存在隐蔽通道,系数值和第二指示值均可以由技术人员根据经验预先设置,其具体值此处不进行限定。If it is determined that the current network is in an abnormal state, it means that the current large average difference is caused by the jitter of the network condition, and it is meaningless to detect the hidden timing channel at this time. Therefore, it is only possible to detect whether there is a covert storage channel in the target TCP connection. The average number of consecutive characters corresponding to the target TCP connection can be multiplied by the preset coefficient value to obtain the multiplied second indicator value. If the second indicator value is greater than the preset second indicator value threshold, the target is determined The TCP connection meets the covert channel detection conditions. Wherein, the second indication value is used to indicate whether there is a covert channel in the current target TCP, and both the coefficient value and the second indication value can be preset by technicians based on experience, and their specific values are not limited here.
步骤304、如果确定目标TCP连接中存在隐蔽通道,则将记录的目标TCP连接对应的各数据包的接收时间以及报头数据发送至审核终端。
在实施中,如果当前对应的目标TCP连接中存在隐蔽通道,则可以记录的目标TCP连接对应的各数据包的接收时间以及报头数据发送至审核终端,由审核终端再次对目标TCP连接是否存在隐蔽通道进行检测,例如可以由技术人员进行人工审核。In implementation, if there is a covert channel in the current corresponding target TCP connection, the receiving time and header data of each data packet corresponding to the recorded target TCP connection can be sent to the audit terminal, and the audit terminal will check again whether there is a covert channel in the target TCP connection. Channel inspection, for example, can be manually reviewed by technicians.
本发明实施例中,当获取到待发送的目标数据包之后,并不是直接将目标数据包进行发送,而是先对目标数据包对应报头数据的指定字段进行更改,这样,即使当前数据传输链路中存在隐蔽存储通道,通过修改指定字段,能够破坏通过隐蔽存储通道传输的数据。并且可以通过预设的发送时间间隔将更改报头数据后的目标数据包发送至数据接收端,如此,可以统一各数据包的发送时间,能够避免隐蔽时序通道控制数据包的发送时间间隔传输数据。可见,采用本申请能够防止通过隐蔽通道传输额外的数据,且能够将正常需要传输的数据发送至数据接收端。In the embodiment of the present invention, after the target data packet to be sent is acquired, the target data packet is not sent directly, but the specified field of the corresponding header data of the target data packet is changed first, so that even if the current data transmission chain There is a hidden storage channel in the road, and the data transmitted through the hidden storage channel can be destroyed by modifying the specified field. And the target data packet after changing the header data can be sent to the data receiving end through the preset sending time interval. In this way, the sending time of each data packet can be unified, and the transmission time interval of the hidden timing channel control data packet can be avoided to transmit data. It can be seen that the application of the present application can prevent additional data from being transmitted through the covert channel, and can send the data that normally needs to be transmitted to the data receiving end.
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。All the above optional technical solutions may be combined in any way to form optional embodiments of the present disclosure, which will not be repeated here.
基于相同的技术构思,本发明实施例还提供了一种发送数据包的装置,如图4所示,该装置包括:Based on the same technical concept, the embodiment of the present invention also provides a device for sending data packets, as shown in Figure 4, the device includes:
获取模块410,用于获取待发送的目标数据包;具体可以实现上述步骤201中的获取功能,以及其他隐含步骤;The obtaining
更改模块420,用于对所述目标数据包中报头数据的指定字段进行更改,得到更改报头数据后的目标数据包;具体可以实现上述步骤202更改功能,以及其他隐含步骤;The
发送模块430,用于基于预设发送时间间隔,发送所述更改报头数据后的目标数据包。具体可以实现上述步骤203中的发送功能,以及其他隐含步骤。The sending
可选的,所述更改模块420,用于:Optionally, the changing
获取目标更改值,基于所述目标更改值,更改所述目标数据包中报头数据的指定字段。Acquire a target change value, and change a specified field of header data in the target data packet based on the target change value.
可选的,所述装置还包括确定模块,用于:Optionally, the device also includes a determination module, configured to:
获取所述目标数据包中报头数据包括的数据来源信息;Obtain the data source information included in the header data in the target data packet;
确定所述数据来源信息为预设的数据来源信息。It is determined that the data source information is preset data source information.
可选的,所述更改模块420,用于:Optionally, the changing
获取所述目标数据包的报头数据对应的目标TCP连接标识,在预先存储的TCP连接标识与更改值的对应关系中,确定是否存在目标TCP连接标识;Obtain the target TCP connection identifier corresponding to the header data of the target data packet, and determine whether there is a target TCP connection identifier in the correspondence between the pre-stored TCP connection identifier and the modified value;
如果所述对应关系中存在所述目标TCP连接标识,则基于所述对应关系确定所述目标TCP连接标识对应的目标更改值,如果所述对应关系中不存在所述目标TCP连接标识,则生成随机值,将所述随机值确定为所述目标TCP连接标识对应的目标更改值,并将所述目标TCP连接标识与所述随机值添加到所述对应关系中。If the target TCP connection identifier exists in the correspondence, determine the target change value corresponding to the target TCP connection identifier based on the correspondence, and if the target TCP connection identifier does not exist in the correspondence, generate A random value, determining the random value as a target modification value corresponding to the target TCP connection identifier, and adding the target TCP connection identifier and the random value to the corresponding relationship.
可选的,所述更改模块420,用于:Optionally, the changing
将所述目标数据包的TCP报头中的序列号seq的值加上所述目标更改值;adding the value of the sequence number seq in the TCP header of the target packet to the target change value;
将所述TCP报头中的窗口大小size的值中除了最高位之外的其他数值,替换为所述目标更改值;replacing other numerical values except the highest bit in the value of the window size size in the TCP header with the target change value;
如果确定所述TCP报头中的kind字段的值为experiment时,将所述experiment的对应的值替换为所述目标更改值;If it is determined that the value of the kind field in the TCP header is experiment, replacing the corresponding value of the experiment with the target modification value;
如果确定所述目标数据包的IP报头中MTU值的长度小于预设长度阈值,则将所述IP报头中的identification值替换为所述目标更改值。If it is determined that the length of the MTU value in the IP header of the target data packet is less than the preset length threshold, then replace the identification value in the IP header with the target modification value.
可选的,所述更改模块420,还用于:Optionally, the changing
在接收到所述目标数据包对应的数据接收端发送的应答数据包时,将所述应答数据包的TCP报头中的ack字段的值减去所述目标更改值。When receiving the response data packet sent by the data receiving end corresponding to the target data packet, the value of the ack field in the TCP header of the response data packet is subtracted from the target modification value.
可选的,所述更改模块420,用于:Optionally, the changing
确定所述TCP报头中的reserved保留标志位是否为0;Determine whether the reserved flag bit in the TCP header is 0;
如果确定所述TCP报头中的reserved保留标志位不为0,则将所述reserved标志位置为0;If it is determined that the reserved flag bit in the TCP header is not 0, then set the reserved flag position to 0;
确定所述TCP报头中的urg标志位是否为0;Determine whether the urg flag in the TCP header is 0;
如果确定所述TCP报头中的urg标志位为0,则将所述TCP报头中的urgnet pointer字段的值置为0。If it is determined that the urg flag bit in the TCP header is 0, then set the value of the urgnet pointer field in the TCP header to 0.
可选的,所述发送模块430,还用于:Optionally, the sending
获取所述目标数据包的报头数据对应的目标TCP连接标识,在TCP连接标识与发送队列的对应关系中,确定是否存在所述目标TCP连接标识;Obtain the target TCP connection identifier corresponding to the header data of the target data packet, and determine whether the target TCP connection identifier exists in the corresponding relationship between the TCP connection identifier and the sending queue;
如果存在所述目标TCP连接标识,则在所述对应关系中,确定与所述目标TCP连接标识对应的目标发送队列;If there is the target TCP connection identifier, in the corresponding relationship, determine the target sending queue corresponding to the target TCP connection identifier;
如果不存在所述目标TCP连接标识,则生成所述目标TCP连接标识对应的目标发送队列,并在所述对应关系中对应添加所述目标TCP连接标识以及所述目标发送队列;If the target TCP connection identifier does not exist, generate a target sending queue corresponding to the target TCP connection identifier, and correspondingly add the target TCP connection identifier and the target sending queue in the correspondence;
所述发送模块,还用于将所述更改报头数据后的目标数据包添加至所述目标发送队列;The sending module is also used to add the target data packet after changing the header data to the target sending queue;
所述发送模块,用于如果将所述更改报头数据后的目标数据包添加至所述目标发送队列后,所述目标发送队列中包括的数据包的个数未达到预设的个数阈值,则将基于预设发送时间间隔,依次发送所述目标发送队列的各数据包。The sending module is configured to: if the number of data packets included in the target sending queue does not reach a preset number threshold after adding the target data packet after the header data is changed to the target sending queue, Then, each data packet in the target sending queue will be sent sequentially based on the preset sending time interval.
可选的,所述发送模块,还用于:Optionally, the sending module is also used for:
如果将所述更改报头数据后的数据包添加至所述目标发送队列后,所述目标发送队列中包括的数据包的个数已达到预设的个数阈值时,则基于所述目标发送队列中各数据包的入队顺序,依次发送所述各数据包。If the number of data packets included in the target sending queue has reached the preset number threshold after adding the data packet after the header data is changed to the target sending queue, based on the target sending queue The enqueue order of each data packet in the data packet is sent sequentially.
可选的,所述装置还包括检测模块,用于:Optionally, the device also includes a detection module for:
确定所述目标数据包在所属的目标TCP连接中对应的获取顺序;Determine the corresponding acquisition sequence of the target data packet in the target TCP connection to which it belongs;
如果所述获取顺序为满足预设的记录条件,则记录所述目标数据包对应的接收时间以及所述目标数据包的报头数据;If the acquisition sequence satisfies a preset recording condition, recording the receiving time corresponding to the target data packet and the header data of the target data packet;
基于记录的所述目标TCP连接对应的各数据包的获取时间以及报头数据,确定所述目标TCP连接中是否存在隐蔽通道;Based on the recorded acquisition time and header data of each data packet corresponding to the target TCP connection, determine whether there is a covert channel in the target TCP connection;
如果确定所述目标TCP连接中存在所述隐蔽通道,则将所述记录的所述目标TCP连接对应的各数据包的获取时间以及报头数据发送至审核终端。If it is determined that the covert channel exists in the target TCP connection, the recorded acquisition time and header data of each data packet corresponding to the target TCP connection are sent to the audit terminal.
可选的,所述检测模块,用于:Optionally, the detection module is used for:
基于记录的所述目标TCP连接对应的各数据包的获取时间,计算所述各数据包对应的发送时间间隔的平均差,并确定所述各数据包中存在可见字符对应的平均次数;Based on the recorded acquisition time of each data packet corresponding to the target TCP connection, calculate the average difference of the sending time interval corresponding to each data packet, and determine the average number of times corresponding to visible characters in each data packet;
基于所述目标TCP连接对应的平均差以及平均次数,确定所述目标TCP连接是否满足隐蔽通道检测条件;Based on the average difference and the average number of times corresponding to the target TCP connection, determine whether the target TCP connection satisfies the covert channel detection condition;
如果所述目标TCP连接满足所述隐蔽通道检测条件,则确定所述目标TCP连接中存在所述隐蔽通道。If the target TCP connection satisfies the covert channel detection condition, determine that the covert channel exists in the target TCP connection.
可选的,所述检测模块,用于:Optionally, the detection module is used for:
如果确定所述目标TCP连接对应的平均差小于等于预设的平均差阈值,则基于所述平均差对应的第一权重值,以及所述平均次数对应的第二权重值,对所述目标TCP连接对应的平均差以及平均次数进行加权求和,得到加权求和后的第一指示值;If it is determined that the average difference corresponding to the target TCP connection is less than or equal to the preset average difference threshold, based on the first weight value corresponding to the average difference and the second weight value corresponding to the average number of times, the target TCP Connecting the corresponding average difference and the number of averages for weighted summation to obtain the first indicator value after weighted summation;
如果所述第一指示值大于预设的第一指示值阈值,则确定所述目标TCP连接满足隐蔽通道检测条件。If the first indication value is greater than a preset first indication value threshold, it is determined that the target TCP connection satisfies a covert channel detection condition.
可选的,所述检测模块,用于:Optionally, the detection module is used for:
如果确定所述目标TCP连接对应的平均差大于所述平均差阈值,则检测当前的网络状态;If it is determined that the average difference corresponding to the target TCP connection is greater than the average difference threshold, then detecting the current network state;
如果当前网络状态为非正常网络状态,则将所述目标TCP连接对应的平均次数与预设的系数值相乘,得到相乘后的第二指示值;If the current network state is an abnormal network state, multiplying the average number of times corresponding to the target TCP connection by a preset coefficient value to obtain a multiplied second indication value;
如果所述第二指示值大于预设的第二指示值阈值,则确定所述目标TCP连接满足隐蔽通道检测条件。If the second indication value is greater than the preset second indication value threshold, it is determined that the target TCP connection satisfies a covert channel detection condition.
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时也可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成为一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。The division of the modules in the embodiment of the present application is schematic, and it is only a logical function division. In actual implementation, there may be other division methods. In addition, each functional module in each embodiment of the present application can be integrated into one In the processor, it may exist separately physically, or two or more modules may be integrated into one module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules.
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是个人计算机,手机,或者网络设备等)或处理器(processor)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated module is realized in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions for enabling a terminal device (which may be a personal computer, a mobile phone, or a network device, etc.) or a processor (processor) to execute all or part of the steps of the method in each embodiment of the present application. The above-mentioned storage medium includes: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disk, and various media capable of storing program codes.
需要说明的是,上述获取模块410、更改模块420、发送模块430可以由处理器实现,或者由处理器配合存储器、收发器来实现。It should be noted that, the
上述实施例提供的发送数据包的装置在发送数据包时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的发送数据包的装置与发送数据包的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。The device for sending data packets provided by the above embodiments only uses the division of the above-mentioned functional modules as an example to illustrate when sending data packets. In practical applications, the above-mentioned function allocation can be completed by different functional modules according to needs. The internal structure is divided into different functional modules to complete all or part of the functions described above. In addition, the device for sending a data packet provided by the above embodiment and the embodiment of the method for sending a data packet belong to the same idea, and its specific implementation process is detailed in the method embodiment, and will not be repeated here.
本申请实施例中还提供了一种发送数据包的计算设备。图5示例性的提供了计算设备500的一种可能的架构图。如图5所示,该计算机设备500可以应用于图1所示的数据传输系统中,例如可以是图1所示的数据传输系统中的数据发送端或者数据转发设备。用于执行图2-图3中数据发送端或者数据转发设备所执行的操作。如图5所示,计算机设备500可以包括处理器510,与所述处理器510耦合连接的存储器520,收发器530。处理器510可以是CPU(central processing unit,中央处理器),NP(network processor,网络处理器)或者CPU和NP的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD(complex programming logic device,复杂可编程逻辑器件),FPGA(field programmable gate array,现场可编程逻辑门阵列),GAL(genericarray logic,通用阵列逻辑)或其任意组合。处理器510可以是指一个处理器,也可以包括多个处理器。存储器520可以包括易失性存储器(volatile memory),例如RAM;存储器也可以包括非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),HDD(hard diskdrive,硬盘驱动器)或SSD(solid state disk,固态硬盘);存储器还可以包括上述种类的存储器的组合。存储器520可以是指一个存储器,也可以包括多个存储器。在一个实施方式中,存储器520中存储有计算机可读指令,所述计算机可读指令可以包括多个软件模块,例如获取模块521、更改模块522、发送模块523。处理器510执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本实施例中,一个软件模块所执行的操作实际上是指处理器510根据所述软件模块的指示而执行的操作。例如,获取模块521,用于获取待发送的目标数据包。更改模块522,用于对所述目标数据包中报头数据的指定字段进行更改,得到更改报头数据后的目标数据包。发送模块523,用于基于预设发送时间间隔,发送所述更改报头数据后的目标数据包。The embodiment of the present application also provides a computing device for sending data packets. FIG. 5 exemplarily provides a possible architectural diagram of a
此外,处理器510执行存储器520中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行数据发送端或者数据转发设备可以执行的全部操作。例如,数据发送端或者数据转发设备在与图2-图3对应的实施例中执行的操作。In addition, after the
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在设备上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是设备能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。In the above-mentioned embodiments, all or part may be implemented by software, hardware, firmware or any combination thereof, and when software is used, all or part may be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the device, all or part of the processes or functions according to the embodiments of the present invention will be generated. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server, or data center Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, optical fiber, DSL) or wireless (eg, infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that can be accessed by the device, or a data storage device including a server, a data center, and the like integrated with one or more available media. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, and a magnetic tape, etc.), an optical medium (such as a digital video disk (Digital Video Disk, DVD), etc.), or a semiconductor medium (such as a solid-state hard disk, etc.).
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。Those of ordinary skill in the art can understand that all or part of the steps for implementing the above embodiments can be completed by hardware, and can also be completed by instructing related hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned The storage medium mentioned may be a read-only memory, a magnetic disk or an optical disk, and the like.
以上所述仅为本发明一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。The above is only an embodiment of the present invention, and is not intended to limit the application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the application shall be included in the protection scope of the application. Inside.
Claims (22)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110483447.9A CN113347119B (en) | 2021-04-30 | 2021-04-30 | A method, device, device and storage medium for sending data packets |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110483447.9A CN113347119B (en) | 2021-04-30 | 2021-04-30 | A method, device, device and storage medium for sending data packets |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113347119A CN113347119A (en) | 2021-09-03 |
| CN113347119B true CN113347119B (en) | 2023-01-06 |
Family
ID=77469408
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110483447.9A Active CN113347119B (en) | 2021-04-30 | 2021-04-30 | A method, device, device and storage medium for sending data packets |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN113347119B (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117729274A (en) * | 2024-02-07 | 2024-03-19 | 之江实验室 | Message processing methods, devices, equipment and readable storage media |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016141719A1 (en) * | 2015-03-11 | 2016-09-15 | 华为技术有限公司 | Channel detection method and apparatus |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009152953A (en) * | 2007-12-21 | 2009-07-09 | Nec Corp | Gateway apparatus, packet forwarding method |
| US10142229B2 (en) * | 2015-03-13 | 2018-11-27 | Oracle International Corporation | Concealed datagram-based tunnel for real-time communications |
-
2021
- 2021-04-30 CN CN202110483447.9A patent/CN113347119B/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016141719A1 (en) * | 2015-03-11 | 2016-09-15 | 华为技术有限公司 | Channel detection method and apparatus |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113347119A (en) | 2021-09-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8856913B2 (en) | Method and protection system for mitigating slow HTTP attacks using rate and time monitoring | |
| CN110198293B (en) | Attack protection method and device for server, storage medium and electronic device | |
| US9191377B2 (en) | Method for network communication past encryption devices | |
| US8006303B1 (en) | System, method and program product for intrusion protection of a network | |
| US20120047573A1 (en) | Methods and apparatus for detecting invalid ipv6 packets | |
| US11695858B2 (en) | Packet fragmentation control | |
| CN115885502A (en) | Diagnosing intermediate network nodes | |
| Uroz et al. | Characterization and evaluation of IoT protocols for data exfiltration | |
| US8755282B2 (en) | Provision of path characterization information in networks | |
| CN113347119B (en) | A method, device, device and storage medium for sending data packets | |
| CN110191104A (en) | A kind of method and device of security protection | |
| US12160447B2 (en) | Method to safeguard against email phishing attacks | |
| CN100488204C (en) | Method for enquiring IPSec tunnel state | |
| KR102654182B1 (en) | Packet acknowledgment technology for improved network traffic management | |
| CN113595957B (en) | Network defense method and security detection equipment | |
| Mazurczyk et al. | Steganography in handling oversized IP packets | |
| US8023985B1 (en) | Transitioning a state of a connection in response to an indication that a wireless link to a wireless device has been lost | |
| JP7360087B2 (en) | Security monitoring device and security monitoring method | |
| US10917502B2 (en) | Method for using metadata in internet protocol packets | |
| US10616094B2 (en) | Redirecting flow control packets | |
| RU2805368C1 (en) | Method of protection of information systems | |
| US12003423B1 (en) | System and method for scheduling transmission of network packets | |
| CN111404866A (en) | Cross-domain linkage protection system, method, device, medium and equipment | |
| EP3509276A1 (en) | Devices, networks, storage media, and methods for identifying client devices across a network address translation border | |
| CN111193689B (en) | A network attack processing method, device, electronic device and storage medium |
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 |