A storage-type passive covert channel method and system using multiple protocols
By employing a multi-protocol storage-based passive covert channel method, a covert channel is constructed using relay equipment. This solves the problems of limited covert channel carrier selection and vulnerability to attack in existing technologies, achieving high flexibility and covertness, improving anti-analysis capabilities, and making it suitable for devices with low computing resources.
Patent Information
- Application Number
- CN202510620395.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-14
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2045-05-14
AI Technical Summary
Most existing network covert channels revolve around the active covert channel model, which limits the sender and receiver of the covert channel to communication terminal equipment. This results in a limited choice of covert carrier, low synchronization requirements, difficulty in achieving high bit rates and privacy, and vulnerability to traffic analysis attacks.
A multi-protocol storage-based passive covert channel method is adopted, which uses relay devices as the covert entity, constructs covert channels using multi-protocol network traffic, generates an initial m-sequence using a fifth-order primitive polynomial, calculates the maximum fault-tolerant bits, intercepts network data packets of specific protocols, embeds and extracts covert data, and uses the Netfilter framework to manipulate data packets in kernel space.
It achieves greater flexibility and concealment, reduces the sensitivity of traffic analysis, enhances anti-correlation analysis capabilities, is suitable for devices with low computing resources, and provides powerful concealment services.
Smart Images

Figure CN120567449B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of covert communication in information security, and in particular to a method and system for a storage-type passive covert channel utilizing multiple protocols. Background Technology
[0002] The concept of covert channels was initially proposed by Lampson, with the most classic adversarial model being Simmons' Prisoner's Dilemma. Alice and Bob are two prisoners incarcerated in a jail who need to communicate to plan an escape. However, all their communications are monitored by the warden, Wendy, who will cut off their communication if suspicious information is detected. Therefore, Alice and Bob need to hide the true secret information they want to communicate within normal communication to evade Wendy's surveillance. Handel et al. extended the Prisoner's Dilemma to network communication scenarios. Girling first proposed the concept of network covert channels in 1987, referring to communication channels that violate security policies and illegally transmit information secretly within legitimate network traffic. Llamas et al. categorized network covert channels into two main types based on their construction mechanisms: storage-based network covert channels and time-based network covert channels.
[0003] In addition to classifying covert channels according to their construction mechanism, Lucena et al. classified covert channels based on whether the sender and receiver of the covert channel are the same as those of the public channel. Depending on the location of the sender and receiver on the communication path, covert channels can be divided into active covert channels and passive covert channels. Active covert channels are those where the covert sender generates public traffic and embeds covert data, and the covert receiver is the destination of that public traffic. Passive covert channels are those where the covert sender uses public traffic to embed covert data, and the covert receiver is not the destination of that public traffic. In this case, the covert entity modifies the messages transmitted along the communication path to hide secret information. The receiver, acting as an intermediary, can choose to restore or discard the original network traffic, thereby deleting the covert data and eliminating traces of the covert channel.
[0004] Most current network covert channels revolve around the active covert channel model, where the sender and receiver of the covert channel are also the sender and receiver of the public channel. This limits the sender and receiver to communication terminal devices, and the covert carrier is often chosen from network traffic of a single communication relationship. Since the covert carrier only contains traffic of one communication relationship and does not need to consider network traffic of other communication relationships, the consensus on the covert carrier between the sender and receiver is easy, the synchronization requirements are low, and the workload for both parties to detect the existence of covert data packets is greatly reduced. In contrast, non-active covert channels, by introducing intermediate node devices with relay functions as the covert entity, have a different traffic utilization method than active covert channels. In passive covert channels, since the sender and receiver are located on the network communication path of the public channel, passive covert channels can use any passing data packets to construct covert channels. This makes the network traffic relationships that passive covert channels can use richer and more complex than those of active covert channels. It also requires higher synchronization between the covert entities, but it can reduce the sensitivity to traffic analysis attacks. By using different protocols, this invention can also achieve higher bit rates, as well as privacy and anonymity. Summary of the Invention
[0005] The present invention aims to at least partially solve one of the technical problems in the related art.
[0006] This invention proposes a multi-protocol storage-type passive covert channel method, focusing on relay equipment as the covert entity, and provides a multi-protocol storage-type passive covert channel scheme with higher flexibility and covertness.
[0007] Another objective of this invention is to propose a storage-based passive covert channel system utilizing multiple protocols.
[0008] To achieve the above objectives, this invention proposes a multi-protocol stored passive covert channel method, comprising:
[0009] An initial m-sequence is generated based on the agreed-upon key between the covert sender and receiver, and the maximum fault tolerance bits are calculated.
[0010] The sender can secretly intercept network data packets using specific protocols.
[0011] The covert sender performs sequence matching on the payload portion of network data packets, searches for data packets containing a pre-defined m-sequence as covert carrier data packets, and embeds covert data.
[0012] The covert receiver intercepts data packets of a specific protocol flowing through the network;
[0013] The covert receiver uses the currently agreed m-sequence to search the data packet payload, find the covert carrier, extract the covert data, and recover the data packet.
[0014] The storage-based passive covert channel method utilizing multiple protocols in this invention may also have the following additional technical features:
[0015] In one embodiment of the present invention, the covert sender and receiver use a fifth-order primitive polynomial and a random number R as a pre-agreed key to calculate an initial m-sequence m. init The maximum fault tolerance number r is calculated using the autocorrelation of the m-sequence.
[0016] In one embodiment of the present invention, the covert sender and receiver utilize the Netfilter framework in the OpenWrt system to register hook functions at the POST_ROUTING point to intercept network packets and modify the packets by directly manipulating the sk_buff structure of the network packets. The intercepted protocol types include DNS, TLS, HTTP, DTLS, QUIC, and UDP without upper-layer application protocols.
[0017] In one embodiment of the present invention, the process of finding the covert carrier is covert channel synchronization, whereby the covert sender and receiver determine the covert carrier by searching the agreed m-sequence of the network data packet load.
[0018] In one embodiment of the present invention, the process of embedding and extracting hidden data is a reversible data hiding process, which involves embedding the hidden carrier... All bits before the second fault-tolerant bit r2 appearing in the code are used as hidden space, and the allowed number of fault-tolerant bits is r. covert =r max -r exist +1, embed the hidden data bit by bit until the hidden space or the allowable number of bits r. covert Exhaustion; the embedding length of the hidden data and the occurrence position of r1 are uncertain, so an extra 1 byte needs to be appended to the end of the hidden carrier as an indicator byte to record the length of the hidden data and the position of r1.
[0019] In one embodiment of the present invention, both covert channel synchronization and reversible data hiding are implemented in the kernel space through operations on the sk_buff structure. After the covert data is embedded or extracted, the protocol header fields need to be corrected before the data packets are sent normally.
[0020] In one embodiment of the present invention, the covert receiver uses the currently agreed m-sequence to search the data packet payload, locate the covert carrier, extract the covert data, and recover the data packet, including:
[0021] The covert receiver extracts the indicator byte from the covert carrier in the kernel space, and obtains the covert data length and the position of r1 by parsing the indicator byte;
[0022] The covert sender and receiver share the current m-sequence state, and the covert receiver replaces the covert data with the corresponding m-sequence and... The position is reversed, completing the restoration of the concealed carrier;
[0023] The stealthy sender modifies the header fields of the data packet and forwards it normally.
[0024] To achieve the above objectives, another aspect of the present invention proposes a storage-type passive covert channel system utilizing multiple protocols, comprising:
[0025] The fault tolerance bit calculation module is used to generate an initial m-sequence based on the agreed key between the covert sender and receiver, and to calculate the maximum fault tolerance bit.
[0026] The sender packet interception module is used to covertly intercept network packets of specific protocols from the sender.
[0027] The covert data embedding module is used by the covert sender to perform sequence matching on the payload portion of network data packets, find data packets containing a predetermined m-sequence as covert carrier data packets, and embed covert data.
[0028] The receiver data packet interception module is used to covertly intercept data packets of specific protocols flowing through the network.
[0029] The data packet recovery module is used by the covert receiver to search the data packet payload using the currently agreed m-sequence, find the covert carrier, extract the covert data, and recover the data packet.
[0030] The storage-based passive covert channel method and system of this invention, which utilizes multiple protocols, consumes relatively low computing and storage resources while ensuring covert channel capacity and transmission rate, and has anti-traffic analysis capabilities.
[0031] Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. Attached Figure Description
[0032] The above and / or additional aspects and advantages of the present invention will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:
[0033] Figure 1 This is a flowchart of a multi-protocol stored passive covert channel method according to an embodiment of the present invention;
[0034] Figure 2 This is a schematic diagram of a covert channel synchronization mechanism according to an embodiment of the present invention;
[0035] Figure 3This is a schematic diagram of a reversible data hiding mechanism according to an embodiment of the present invention;
[0036] Figure 4 This is a structural diagram of a multi-protocol storage-type passive covert channel system according to an embodiment of the present invention. Detailed Implementation
[0037] It should be noted that, unless otherwise specified, the embodiments and features described in the present invention can be combined with each other. The present invention will now be described in detail with reference to the accompanying drawings and embodiments.
[0038] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0039] The following description, with reference to the accompanying drawings, describes a method and system for utilizing a multi-protocol stored passive covert channel according to embodiments of the present invention.
[0040] Figure 1 This is a flowchart of a multi-protocol stored passive covert channel method according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes:
[0041] S1 generates an initial m-sequence based on the agreed-upon key between the covert sender and receiver, and calculates the maximum fault tolerance bits.
[0042] Specifically, the covert sender and receiver agree on (a fifth-order primitive polynomial and a random number R) as the key to generate an initial m-sequence, m init ={a 1+init ,a 2+init ,…,a l+init}, 0≤k≤31, init=R mod 2 5 Calculate the maximum fault tolerance bit length r. This includes the following steps:
[0043] (1) The sequence of m generated by an n-order primitive polynomial whose initial state is all 1 is denoted as m0={a1,a2,a3,…,a…}. l}, l=2 n -1. After k shifts, the m-sequence is represented as: m k ={a 1+k ,a 2+k ,a 3+k ,…,a l+k}, 0≤k≤l. Depending on the number of shifts, the m-sequence has 2 n The different states in -1 correspond to 2 in covert channel synchronization. n -1 search sequence. Here, the invention employs a fifth-order primitive polynomial.
[0044] (2) The sender and receiver generate the initial state m of the m-sequence based on the key. init ,init = random number mod 2 n The covert sender performs m-level manipulation on network data packets. init Sequence search is used to find hidden carriers.
[0045] (3) To improve the matching probability, this invention allows m to be searched when searching for the data load to be matched. k There can be r bits of fault tolerance space, denoted as m-sequences (0-1 sequences) possess autocorrelation properties, which measure the correlation between an m-sequence and its k-th shift sequence m. k The function of the degree of correlation between them is the autocorrelation function:
[0046]
[0047] When calculating the autocorrelation function, 1 is usually used to represent 0 and -1 to represent 1. Therefore, when a i ==a i+k The product is 1 when a is constant and -1 when a is inconsistent. i When the value is 0 or 1, the expression can also be expressed as:
[0048]
[0049] in The number, The number of [elements]. The shift-addition property of the m-sequence means that the sequence obtained by adding the m-sequence and its shifted sequence modulo 2 is still a shifted sequence of the m-sequence. The balance of the m-sequence means that the number of 1s is one more than the number of 0s. Therefore, EU = -1 in the above formula, and the calculation result of the autocorrelation function is:
[0050]
[0051] Now consider when m k The value of the autocorrelation function when r bits are randomly reversed in a sequence (1->0; 0->1).
[0052] Among them, when When the sequence is randomly reversed by 1 bit:
[0053] If k = 0, then the l-th position after multiplying the corresponding elements will have l-1 1s and 1 -1, so
[0054] If k≠0, then we need to consider the following: when the number of E's after reversal is 1 more and the number of U's is 1 less, EU = 1; when the number of E's after reversal is 1 less and the number of U's is 1 more, EU = -3.
[0055] Randomly reverse 1 bit
[0056] Among them, when When r bits are randomly reversed in a sequence:
[0057] If k = 0, then the l-th digits after multiplying the corresponding elements will contain lr 1s and r -1s.
[0058] If k≠0, when r zeros are added, EU = -1 + 2r; when r ones are added, EU = -1 - 2r.
[0059] Randomly reverse r bits
[0060] when Right now At that time, it can guarantee R r The value of (0) is greater than R. r (k≠0), meaning that even if r bits in the m-sequence are not considered, it still exhibits a certain degree of autocorrelation. This invention considers that when the covert transmitter and receiver simultaneously construct a covert channel with multiple other covert entities, they agree to use different m-sequences. Therefore, once r exceeds the threshold, m0 and... may occur during the search process. In the case of a matching situation, this makes 2 n -1 m-sequences are no longer unique, and collisions may occur between various covert channels, leading to synchronization failure. This invention uses a fifth-order primitive polynomial, therefore r = 7.
[0061] S2, the hidden sender intercepts network data packets of a specific protocol.
[0062] Specifically, the covert sender and receiver utilize the Netfilter framework in the OpenWrt system to register hook functions at the POST_ROUTING point, enabling the interception of network packets for specific protocols. This allows for direct manipulation of the sk_buff structure of the network packets to modify them. The intercepted protocol types include DNS, TLS, HTTP, DTLS, QUIC, and UDP (without upper-layer application protocols). In this invention, the reversible data hiding algorithm modifies the payload of transport layer protocol packets. Therefore, inappropriate modifications can violate the syntax and semantics of upper-layer protocols. To minimize non-compliance caused by modifications to data packets in the application layer protocol syntax and semantics, the network protocols and covert embedding regions selected in this invention are shown in Table 1.
[0063] Table 1
[0064]
[0065] S3, the covert sender performs sequence matching on the payload portion of the network data packets, searches for data packets containing a pre-defined m-sequence as covert carrier data packets, and embeds covert data.
[0066] Understandably, the process of finding the covert carrier is called covert channel synchronization. The covert sender and receiver determine the covert carrier by searching the agreed m-sequence of network data packet payload.
[0067] (1) See Figure 2 The covert sender performs byte-by-byte sequence matching on the payload of the data packet (the next match starts from the next byte), and searches for the existence of the m sequence agreed upon by both parties within the r-bit fault tolerance range in order to find the covert carrier;
[0068] (2) See Figure 3 After finding the hidden carrier, hidden data is embedded. In step 1, the autocorrelation of the m-sequence was used to calculate the r-bit fault tolerance space to improve the probability of finding the hidden carrier. Within each hidden carrier C, there exists... in r exist Often, the limit value is not reached. All bits before the second fault-tolerant bit r2 appearing in the code are used as hidden space. For r2 in The position in the middle, When r2 does not exist In hidden space C covert In this context, the allowable number of bits for fault tolerance is r. covert =r max -r exist +1, at this point the invention will hide the data. Bitwise embedding, up to the hidden space C covert Alternatively, the number of fault-tolerant bits r can be used. covert Exhausted, therefore the number of bits of data that can be hidden in a stealth carrier, C. available_bit The calculation can be expressed as:
[0069]
[0070] (3) Since the number of bits embedded in the hidden data and the position of r1 are uncertain, an extra 1 byte needs to be appended to the end of the hidden carrier as an indicator byte to record the length of the hidden data and the position of r1. Each has a length of 4 bits.
[0071] (4) Embed hidden data and add indicator bytes to the network packet payload in kernel space, modify the packet header and send the packet.
[0072] S4, the covert receiver intercepts data packets of a specific protocol flowing through the network.
[0073] Specifically, similar to step S2, the covert receiver uses the Netfilter framework to intercept network packets of a specific protocol.
[0074] S5, the covert receiver uses the currently agreed m-sequence to search the data packet payload, find the covert carrier, extract the covert data, and recover the data packet.
[0075] Specifically, it may include the following steps:
[0076] (1) The hidden receiver extracts the indicator byte in the hidden carrier in the kernel space, and obtains the length of the hidden data and the position of r1 by parsing the indicator byte.
[0077] (2) The covert sender and receiver share the current m-sequence state, therefore the covert receiver replaces the covert data with the corresponding m-sequence and... The position is reversed, completing the restoration of the concealed carrier.
[0078] (3) The hidden sender modifies the header fields of the data packet and forwards it normally.
[0079] It is understandable that both covert channel synchronization and reversible data hiding mechanisms are implemented in the kernel space through operations on the sk_buff structure. After embedding or extracting covert data, the protocol header fields need to be corrected before the data packets can be sent normally.
[0080] The storage-based passive covert channel method utilizing multiple protocols according to embodiments of the present invention allows the construction of covert channels through intermediate node devices such as routers. By utilizing traffic with multiple protocols and multiple communication relationships, the sensitivity of traffic analysis is greatly reduced, traffic feature aggregation of end-to-end single paths is avoided, and anti-correlation analysis capability is significantly improved. It has low computational and storage resource consumption and is suitable for devices with low computational resources, such as the Internet of Things. It provides more powerful and flexible covert services.
[0081] To achieve the above embodiments, such as Figure 4 As shown, this embodiment also provides a multi-protocol stored passive covert channel system 10, including:
[0082] The fault tolerance bit calculation module 100 is used to generate an initial m-sequence based on the agreed key between the covert sender and receiver, and to calculate the maximum fault tolerance bit.
[0083] The sender data packet interception module 200 is used to covertly intercept network data packets of specific protocols from the sender.
[0084] The covert data embedding module 300 is used by the covert sender to perform sequence matching on the payload portion of network data packets, find data packets containing a predetermined m sequence as covert carrier data packets, and embed covert data.
[0085] The receiver data packet interception module 400 is used to covertly intercept data packets of specific protocols flowing through the network.
[0086] The data packet recovery module 500 is used by the covert receiver to search the data packet payload using the currently agreed m-sequence, find the covert carrier, extract the covert data, and recover the data packet.
[0087] The storage-based passive covert channel system utilizing multiple protocols according to embodiments of the present invention allows the construction of covert channels through intermediate node devices such as routers. By utilizing traffic with multiple protocols and multiple communication relationships, the sensitivity of traffic analysis is greatly reduced, traffic feature aggregation of end-to-end single paths is avoided, and anti-correlation analysis capability is significantly improved. It consumes less computing and storage resources and is suitable for more types of devices, such as IoT devices with low computing resources. It provides more powerful and flexible covert services.
[0088] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0089] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
Claims
1. A storage-based passive covert channel method utilizing multiple protocols, characterized in that, include: An initial m-sequence is generated based on the agreed-upon key between the covert sender and receiver, and the maximum fault tolerance bits are calculated. The sender can secretly intercept network data packets using specific protocols. The covert sender performs sequence matching on the payload portion of network data packets, searches for data packets containing a pre-defined m-sequence as covert carrier data packets, and embeds covert data. The covert receiver intercepts data packets of a specific protocol flowing through the network; The covert receiver uses the currently agreed m-sequence to search the data packet payload, find the covert carrier, extract the covert data, and recover the data packet; The process of embedding and extracting hidden data is reversible data hiding, which provides fault tolerance space for the hidden carrier. The second fault-tolerant bit appears in All previous bits are used as hidden space, allowing for a maximum number of bits to be fault-tolerant. Embed the hidden data bit by bit until the hidden space or the allowable number of bits is reached. Exhaustion; Embedded bit depth and first fault-tolerant bit of hidden data Since the location of the hidden data is uncertain, an extra byte is appended to the end of the hidden data carrier as an indicator byte to record the length of the hidden data and the first fault-tolerant bit. Location .
2. The method according to claim 1, characterized in that, The covert sending and receiving parties use a fifth-order primitive polynomial and random numbers. R Used as the agreed key to calculate the initial m-sequence. The maximum fault tolerance number r is calculated using the autocorrelation of the m-sequence.
3. The method according to claim 1, characterized in that, The covert sender and receiver utilize the Netfilter framework in the OpenWrt system to register hook functions at the POST_ROUTING point, thereby intercepting network packets and directly manipulating the sk_buff structure of the network packets to modify them. The intercepted protocol types include DNS, TLS, HTTP, DTLS, QUIC, and UDP without upper-layer application protocols.
4. The method according to claim 1, characterized in that, The process of finding the covert carrier is called covert channel synchronization. The covert sender and receiver determine the covert carrier by searching the agreed m-sequence of network data packet payload.
5. The method according to claim 1, characterized in that, Both covert channel synchronization and reversible data hiding mechanisms are implemented in the kernel space through operations on the sk_buff structure. After embedding or extracting covert data, the protocol header fields need to be corrected before the data packets can be sent normally.
6. The method according to claim 1, characterized in that, The covert receiver uses the currently agreed-upon m-sequence to search the packet payload, locate the covert carrier, extract the covert data, and recover the packet, including: The covert receiver extracts the indicator byte from the covert carrier in kernel space, and obtains the covert data length by parsing the indicator byte. Location; The covert sender and receiver share the current m-sequence state, and the covert receiver replaces the covert data with the corresponding m-sequence and... The position is reversed, completing the restoration of the concealed carrier; The stealthy sender modifies the header fields of the data packet and forwards it normally.
7. A multi-protocol stored passive covert channel system using the method as described in claim 1, characterized in that, include: The fault tolerance bit calculation module is used to generate an initial m-sequence based on the agreed key between the covert sender and receiver, and to calculate the maximum fault tolerance bit. The sender packet interception module is used to covertly intercept network packets of specific protocols from the sender. The covert data embedding module is used by the covert sender to perform sequence matching on the payload portion of network data packets, find data packets containing a predetermined m-sequence as covert carrier data packets, and embed covert data. The receiver data packet interception module is used to covertly intercept data packets of specific protocols flowing through the network. The data packet recovery module is used by the covert receiver to search the data packet payload using the currently agreed m-sequence, find the covert carrier, extract the covert data, and recover the data packet.
Citation Information
Patent Citations
Image byte XOR algorithm based on pseudo random sequence and LSB algorithm
CN104159118A
Router covert communication method based on OpenWrt system
CN108494757A