Creating and Developing a High-Throughput Covert Channel via Program Execution - Abdulrahman Alhelal; Mohammad Al-Khatib (IEEE Access, 2024)
A covert communication channel facilitates direct data transfer between two parties through pre-communication knowledge agreements, ensuring secure and confidential transmission of information. However, the existing covert channels suffer from performance limitations, specifically in terms of throughput and speed. The encoding techniques employed in covert channels can be time-consuming and have limited data transfer capabilities. Furthermore, the ability of covert channels to handle files with different formats has not been sufficiently explored. This paper introduces a high-performance implementation of a covert channel that leverages Java exception handling during program execution. To optimize the covert channel’s performance, this research explores the use of several encoding methods, including ASCII, Byte, Hexadecimal, Base64, and Huffman coding. The proposed covert channel’s performance is evaluated and analyzed for various coding methods. To study the impact on performance, multiple file formats, including text, audio, and video, were used in the experiment. Experimental results showed that the hexadecimal coding method improves the throughput and decreases the time delay of the covert channel. This is attributed to its ability to minimize the number of tries before encountering an “Index Out of Bounds” exception. On the contrary, the Base64 method is found to be inefficient as it produces longer strings than the original inputs, resulting in increased time delays during data transfer. The best results are achieved when applying the hexadecimal method with Huffman coding. It takes 6241 milliseconds to transmit a 12.8-megabyte text file, with a throughput of 23116 bits per millisecond.