Submitted:
17 September 2025
Posted:
18 September 2025
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Related Work
3. Two Layered Approach

3.1. Layer 1
3.1.1. TTL Value based communication
3.1.2. TCP timestamp based communication
3.2. Layer 2
- Total unique values (U) - The total distinct IAT values (ms)
- Total multimodality distribution peaks () - The number of significant peaks displayed by the kernel density plot
- Widthave () - The mean of the standard deviations of peaks
- Percentage of IATs with the mode IAT value (p(Mo))
- Total number of packets (pkts)
- Estimation of the covert-byte equivalent symbol (c) - The number of possible covert bytes conveyed in a flow is estimated by the computation of c, which is based on empirical tables [2]. is used to estimate how many distinct symbols the covert channel may be using. For instance, c becomes, c = (pkts –1)/7 if indicates the possibility of a binary channel, assuming that seven IAT values are required to convey a hidden byte-equivalent symbol [2].





4. Prevention
4.1. Communications Based on Varying TTL Values
4.2. Communications Using TCP Timestamps
4.3. Communications Based on Packet IATs
5. Packaging
6. Test Environment
6.1. One Threshold Technique
6.1.1. Client-Side Algorithm
- Take the data to be sent as input from a file/user input in ASCII format
- Convert the data to binary bits
- Construct a UDP packet with the destination IP and Port of the Server
- If the bit to be sent is "0", send the packet immediately
- If the bit to be sent is "1", send the packet after a predefined interval
6.1.2. Server-Side Algorithm
- Create an empty bitstring
- Accept the packets coming from the client side and associate an arrival timestamp with each packet
- If the time difference between 2 consecutive packets is less than the predefined interval, append "0" to the bitstring, else append "1"
- Convert bitstring back to ASCII format
6.2. Time Stamp Manipulation
6.2.1. Client-Side Algorithm
- Take the data to be sent as input from a file/user input in ASCII format
- Convert the data to binary bits
- Create a TCP connection to the server side
- If the bit to be sent is "0", wait till the LSB of the TCP timestamp is even and then send the packet
- If the bit to be sent is "1", wait till the LSB of the TCP timestamp is odd and then send the packet
6.2.2. Server-Side Algorithm
- Create an empty bitstring
- Accept the packets coming from the client side
- If the LSB of the TCP timestamp is even, append "0" to the bitstring, else append "1"
- Convert bitstring back to ASCII format
6.3. Packet Bursting Encoding
6.3.1. Client-Side Algorithm
- Take the data to be sent as input from a file/user input in ASCII format
- Convert the data to a binary string
- Split the bitstring into small bitstrings of length 4
- Create a TCP connection to the server side
- Convert each small binary bitstring to integers between 0 and 15 say X
- For every interval of 5 seconds, send X+1 packets, corresponding to each binary bitstring
6.3.2. Server-Side Algorithm
- Create an empty bitstring
- Accept the packets coming from the client side
- Store the incoming packets in the pandas’ data frame along with their arrival time.
- Once the TCP connection is terminated, use hierarchical clustering using the ward’s linkage to cluster the packets based on arrival time
- Calculate the number of packets in each cluster say Y
- Convert integer Y-1 into binary and append it to the bitstring for every cluster
- Convert bitstring back to ASCII format
6.4. TTL Value Manipulation
6.4.1. Client-Side Algorithm
- Take the data to be sent as input from a file/user input in ASCII format
- Convert the data to a binary string
- A predetermined TTL value (or range of values) is assigned to represent the binary ’1’ bit.
- A different TTL value (or range of values) is assigned to represent the binary ’0’ bit.
- Create a UCP connection to the server side
- Send packets to the server.
6.4.2. Server-Side Algorithm
- Create an empty bitstring
- Accept the packets coming from the client side
- A predetermined TTL value (or range of values) is assigned to represent the binary ’1’ bit.
- A different TTL value (or range of values) is assigned to represent the binary ’0’ bit.
- Append ’0’ or ’1’ to the bitstring according to the TTL values of the incoming packets.
- Convert bitstring back to ASCII format
7. Results and Summary
7.1. Layer 1
7.1.1. TCP Timestamp Manipulation
7.1.2. TTL Value Ranges
7.2. Layer 2
7.2.1. Kernel Density Estimations (KDE)
7.2.2. Decision Tree Classifiers







8. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
Abbreviations
| IAT | Inter-Arrival Time |
| TTL | Time-to-Live |
| TCP | Transmission Control Protocol |
| DAT | Descriptive Analysis of Traffic |
| KDE | Kernel Density Estimation |
| HTB | Hierarchical Token Bucket |
| LSB | Least Significant Bit |
| RTT | Round-Trip Time |
| NIC | Network Interface Card |
| ARP | Address Resolution Protocol |
| LAN | Local Area Network |
| GUI | Graphical User Interface |
References
- Elsadig, M.A.; Fadlalla, Y.A. Network Protocol Covert Channels: Countermeasures Techniques. International Journal of Computer Applications 2017, 170, 1–6. [Google Scholar]
- Iglesias, F.; Bernhardt, V.; Annessi, R.; Zseby, T. Analytic Study of Features for the Detection of Covert Timing Channels in Network Traffic. Journal of Cyber Security 2017, 2017, 245–270. [Google Scholar]
- Iglesias, F.; Annessi, R.; Zseby, T. DAT detectors: uncovering TCP/IP covert channels by descriptive analytics. Security and Communication Networks 2016, 9, 3011–3029. [Google Scholar] [CrossRef]
- Iglesias, F.; Meghdouri, F.; Annessi, R.; Zseby, T. CCgen: Injecting Covert Channels into Network Traffic. Proceedings of the 2022 ACM Conference on Computer and Communications Security 2022, pp. 1–11.
- Iglesias, F.; Bernhardt, V.; Annessi, R.; Zseby, T. Decision Tree Rule Induction for Detecting Covert Timing Channels in TCP/IP Traffic. 1st International Cross-Domain Conference for Machine Learning and Knowledge Extraction 2017, pp. 105–122.
- Repetto, M.; Caviglione, L.; Zuppelli, M. bccstego: A Framework for Investigating Network Covert Channels. Proceedings of the 2021 IEEE International Conference on Communications 2021, pp. 1–6.
- Zuppelli, M.; Caviglione, L.; Mazurczyk, W.; Schaffhauser, A.; Repetto, M. Code Augmentation for Detecting Covert Channels Targeting the IPv6 Flow Label. Proceedings of the 2021 IEEE Global Communications Conference 2021, pp. 450–456.
- Bedi, P.; Dua, A. ARPNetSteg: Network Steganography Using Address Resolution Protocol. International Journal of Information Technology 2020, 66, 671–677. [Google Scholar] [CrossRef]
- Elsadig, M.A.; Fadlalla, Y.A. Packet Length Covert Channel: A Detection Scheme. Proceedings of the 2021 Conference on Network Security 2021, pp. 1–7.
- Zuppelli, M.; Caviglione, L. pcapStego: A Tool for Generating Traffic Traces for Experimenting with Network Covert Channels. Proceedings of the 2021 IEEE Conference on Communications 2021.
- Elsadig, M.A.; Gafar, A. Covert Channel Detection: Machine Learning Approaches. IEEE Access 2022, 10, 38391–38405. [Google Scholar] [CrossRef]
- Zuppelli, M.; Repetto, M.; Schaffhauser, A.; Mazurczyk, W. Code Layering for the Detection of Network Covert Channels in Agentless Systems. IEEE Transactions on Dependable and Secure Computing 2022, 19, 2282–2294. [Google Scholar] [CrossRef]
- Pant, D.; Wason, M.; Chahal, J.S. Cross VM Covert Channel Implementation. Proceedings of the 2018 International Conference on Information Security 2018.
- Dua, A.; Jindal, V.; Bedi, P. Covert Communication using Address Resolution Protocol Broadcast Request Messages. Proceedings of the 2021 IEEE Conference on Computer Networks 2021, pp. 1–6.
- Wessa, P. Kernel Density Estimation (v1.0.12) in Free Statistics Software (v1.2.1). Office for Research Development and Education, 2015. Available online: http://www.wessa.net/rwasp_density.wasp/ (accessed on August 26, 2025).
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).