You are currently viewing a new version of our website. To view the old version click .
Applied Sciences
  • Article
  • Open Access

13 January 2021

Reversible and Plausibly Deniable Covert Channels in One-Time Passwords Based on Hash Chains †

and
1
Faculty of Mathematics and Computer Science, FernUniversität in Hagen, 58084 Hagen, Germany
2
Department of Computer Science, Worms University of Applied Sciences, 67549 Worms, Germany
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in European Interdisciplinary Cybersecurity Conference 2020, cf. https://doi.org/10.1145/3424954.3424966.
This article belongs to the Special Issue Data Hiding and Its Applications: Digital Watermarking and Steganography

Abstract

Covert channels enable stealthy communications over innocent appearing carriers. They are increasingly applied in the network context. However, little work is available that exploits cryptographic primitives in the networking context to establish such covert communications. We present a covert channel between two devices where one device authenticates itself with Lamport’s one-time passwords based on a cryptographic hash function. Our channel enables plausible deniability jointly with reversibility and is applicable in different contexts, such as traditional TCP/IP networks, CPS/IoT communication, blockchain-driven systems and local inter-process communications that apply hash chains. We also present countermeasures to detect the presence of such a covert channel, which are non-trivial because hash values are random-looking binary strings, so that deviations are not likely to be detected. We report on experimental results with MD5 and SHA-3 hash functions for two covert channel variants running in a localhost setup. In particular, we evaluate the channels’ time performance, conduct statistical tests using the NIST suite and run a test for matching hash values between legitimate and covert environments to determine our channels’ stealthiness.

1. Introduction

A covert channel (CC) is an unforeseen communication channel in a system design. While the first covert channels for local computers were described in the 1970s (cf. [1]), the research of recent decades has discovered a plethora of new and sophisticated covert channels that aid the secret exchange of information between hosts, databases, network hosts and IoT devices. Due to their stealthy and policy-breaking nature, covert channels enable several actions related to cybercrime, such as the secret extraction of confidential information, barely detectable botnet command and control channels, and unobservable communication for cybercriminals. While legitimate use cases are imaginable as well, e.g., journalists using covert channels for secure exchange of dissident-related information, criminal use seems foremost, so that presentation of new covert channels also serves presentation of countermeasures.
We present the first CC that exploits cryptographic hash chains, which have become popular because some form (blockchain) is used in cryptocurrencies, although they had been used much earlier, e.g., by Lamport [2]. Hash chains are widely used, which renders them an attractive carrier for covert information that can be applied in various cybersecurity contexts, such as authentication systems, cryptocurrencies and blockchain-driven systems of all kinds. Thus, our proposed covert channels can be applied in several domains and contexts, which is an advantage in comparison to covert channels designed for legitimate communication systems (such as covert channels for specific smart building communication protocols).
Our covert channels can be considered an example of plausible deniability: Alice communicates with Bob over the covert channel. Both can state that every possible hash value is equally likely to occur. By modifying (alternating) bits of hash values, Alice and Bob can thus plausibly deny the existence of the covert channel. Moreover, we show that our channel allows Bob to restore the original message before forwarding it to the overt receiver, making our covert channel reversible. Alice and Bob, the covert sender and receiver, can be located directly with sender and receiver of the overt channel, but they can also be located on the communication path, realizing a man-in-the-middle (MitM) scenario.
Moreover, we present the CC in a parameterized manner so that our proposal really comprises a large number of possible CC instances that differ in steganographic bandwidth, robustness and stealthiness.
We sketch possible countermeasures against this CC, which are non-trivial because hash values are random-looking bit strings. To this end, we also perform experiments with MD5 and SHA-3 as cryptographic hash functions in Lamport’s application of hash chains as one-time passwords, and give experimental results on the performance and detectability of CC use.

3. Covert Channels in Hash Chains

We present multiple variants of a covert channel that can be used in OTPs based on hash chains. We assume that each hash value is transmitted as part of network packets between A and B, so that a modification of the hash value by CS can be hidden by re-computing the packet’s check sum. The information flow would be A C S C R B . In such a case, our channel assumes a man-in-the-middle scenario. Alternatively, A and CS can be the same entity while B and CR can also be the same entity. However, our covert channel would also function if A and B are local processes inside an operating system, while CS and CR are part of an inter-process communication between A and B, or when A and B are CPS or IoT devices.

3.1. Channel Characteristics

Our channel has certain features that are traditionally used to categorize and describe covert channels:
(1)
Our channel variants allow plausible deniability as they replace selected bits of hash values in a pseudo-random manner so that the probability distribution of original and modified hash values are similar.
(2)
If CR is not just a passive observer but a hop on the path to B, CR is able to reconstruct the original hash value and can thus forward the illicit original message to B, rendering our approach reversible. This is feasible if, for example, B is a routing hop on a program in an IPC-chain between A and B. Due to the fact that we achieve full reversibility and do not exploit implicit or explicit reversibility methods, our technique is an intrinsic reversibility method.
(3)
Finally, our channel does not rely on indirect signaling methods, which makes it a direct covert channel. However, if CS applied a method to indirectly influence the transferred hash value, our channel would be a semi-passive one, while it would also be passive (indirect) if CR indirectly obtained the sent hash value (e.g., using a side channel) [38].
(4)
It does not matter for our covert channel whether the hash value is transmitted over a network or between local processes. The hash value can also be stored in a file at some point in time and then read later by another process, i.e., sender and receiver processes must not necessarily be active at the same time. However, in practice, most authentication scenarios would require A and B to be active simultaneously.

3.2. Covert Channel Variants

The secret message that CS wants to send is broken into t symbols from an alphabet V = { 0 , 1 , , v 1 } , i.e., the message comprises at most l = t log 2 v bits.
To embed a symbol s j V into a password x i that is going to be transmitted, CS modifies the password by applying a transformation T : R × V R , i.e., replaces x i by a different password x i = T ( x i , s j ) . In the following, we will mostly use the notation T s j ( x i ) instead.
This password is intercepted by CR, who knows the previous password x i + 1 . CR first tests if h ( x i ) = x i + 1 . In that case, no symbol has been embedded and x i = x i . Otherwise, for each possible symbol s, CR applies T s 1 to x i and checks if hashing produces x i + 1 . CR stops with the first hit, extracts symbol s j of the secret message, and forwards the original password x i = T s j 1 ( x i ) to B.
Embedding is repeated until the complete message is transmitted. This requires that the number of symbols in the message is t < n , as we do not embed a symbol in the first password x n 1 to enable reversibility (see below).
The extracting procedure requires that T is injective in each argument, and that T s ( x ) x .
To implement T, we identify V with a subset of size v of R = { 0 , 1 } m , and define T s j ( x ) = x s j , where ⊕ denotes the bitwise exclusive OR operation. Then T is self-inverse, i.e., T s 1 = T s . An upper bound for v = | V | is 2 m 1 = | R \ { 00 0 } | , so that the message might comprise up to l = ( n 1 ) log 2 ( 2 m 1 ) bits, i.e., almost n · m bits can be transmitted.
A first variant is found by defining set V of size v = m comprising all m-bit strings with exactly one bit set to 1, i.e., embedding symbol s j means to flip bit j of the password to be transmitted. We illustrate this variant in Figure 1.
Figure 1. Example of variant 1. Covert sender (CS) embeds symbol 2 by flipping bit 2 of a password. Covert receiver (CR) first tries out which bit of the transmitted password must be flipped so that the check is successful, i.e., that its hash corresponds to the password stored at CR. Thus CR extracts symbol 2.
A much more restrictive variant could embed only one bit per password, e.g., by using V = { 100 · 0 , 010 · 0 } . Please note that when a symbol is embedded in each password (except x n 1 ), then we might even use V = { 000 · 0 , 100 · 0 } , i.e., flipping bit 0 of the password only when a 1 is embedded, and leaving the password unmodified for embedding 0.
More liberal variants are also possible, e.g., defining V as the set of strings with one or two bits set to 1, resulting in v = m 1 + m 2 = m ( m + 1 ) / 2 , or taking all strings with at least m / 2 bits set to 1, so that
v = | V | = k = m / 2 m m k = 2 m 1 ,
by applying the binomial theorem with a = b = 1 and taking the symmetry of binomials into account [39]. Those variants might be useful for cases where m is small, e.g., when hash chains of a small width are used in WSN networks [40].
In order to decouple the embedded symbols from the particular message, i.e., to get random-looking symbols, the message might be encrypted before embedding, using a stream cipher or a block cipher with a chaining method such as cipher block chaining (CBC), to avoid the case when two identical symbols result in two identical encrypted symbols [3]. While this may increase stealthiness during communication, the computational effort on the receiver side, which may also threaten stealthiness (see below), can alternatively be optimized by using an encoding based on the frequency of symbols: the symbol with the highest frequency gets a code symbol that is checked first by CR, and so on. When using the frequencies of letters a to z in English texts from [41] and applying such coding, we get 7.5 evaluations on average, compared to 13 if symbols are encrypted and considered equi-probable.
Furthermore, if t < n 1 symbols are embedded, we have the freedom to choose which of the n 1 passwords are used for embedding, resulting in n 1 t possibilities, and increasing stealthiness if not all passwords can be controlled by a warden.
Finally, the transformation function T might depend on i and/or on the index of the symbol to be embedded. For example, if we only embed one bit per password, we might modify bits i mod m or ( i + 1 ) mod m of x i to embed symbols 0 and 1, respectively, instead of always using the same bit positions.

3.3. Hiding Pattern-Based Categorization

All variants perform a manipulation of (pseudo-)random packet fields as described by the random value pattern [9]. The random value pattern covers all hiding techniques that replace a legitimate (pseudo-)random bit string with a covert bit string that also follows a random distribution. Random value techniques have been implemented by several authors, rendering our proposed covert channel variants applicable in realistic environments. Moreover, such random values can be found in many network protocols, such as the IPID field in IPv4 or the ISN field in TCP.
On the sender side, the variants have very low effort and are thus hardly detectable. During transmission, an isolated packet will look innocent, as the one-time passwords look like random bitstrings, so that a possible bit flip is not likely to leave any trace or signature. Hence, detection during transmission seems non-trivial.

4. Countermeasures

Before experimentally evaluating our proposed channel, we first consider a broader set of potential countermeasures.
Note that in all variants, CR needs no knowledge of x n stored by B. In the first transmitted password x n 1 , no symbol is transmitted. Then CR knows x n 1 when intercepting and forwarding that password, and can refer to it later on, duplicating B’s work.
Variants that embed more symbols per password might be detectable more easily on the receiver side, as they encompass more evaluations of h. For example, the variant that embeds one of v = m symbols by flipping one bit needs m / 2 evaluations on average if symbols are equidistributed, which is the case if they are encrypted. This is a notable amount of computation if we consider that m might be 128 (MD5) or 512 (SHA-3). Yet those variants also have higher steganographic bandwidth.
Possible countermeasures on the receiver side, i.e., checking for unusual timing or energy due to repeated evaluation of the hash function, have been described in the previous section. However, they apply mostly if CR resides with the overt receiver (a similar scenario for energy-consumption-based covert channel detection has been proven to be feasible by Caviglione et al. [42]). If we have a man-in-the-middle scenario, only a jitter in transmission time from overt sender to overt receiver might be detectable.
Countermeasures during transmission are possible if a warden has knowledge of two successive packets with passwords x i and x i 1 , i.e., has some knowledge of the application logic behind the packets. In this case, the warden can check if h ( x i 1 ) = x i . If either password has been modified by CS, this equality will most likely not hold because of the hash function’s collision resistance properties.
If the warden has only superficial knowledge of the application, i.e., knows only that the transmitted password must be a random bitstring, the warden can collect some passwords and submit them to a random number test suite such as Diehard [43] or NIST’s suite [44]. If embedding of symbols creates artefacts, then the randomness should decrease if a CC is active. However, the test suites require a notable amount of bits to run, which might not be available, or take very long to collect. Thus, this might be an ex post analysis. Furthermore, if the set of code words V is a randomly chosen subset of R, and/or the symbols to be embedded are chosen in a quasi-random manner, e.g., by using encryption first, then the bitwise exclusive OR of two random bit strings might not be distinguishable.
Another possible countermeasure would be that A and B modify the passwords themselves, in a way that is not foreseeable by CS or CR. When A is about to send x i , it already has knowledge about the following password x i 1 . Let us assume that both A and B have knowledge of a hash function g : { 0 , 1 } m { 0 , 1 } . If g ( x i 1 ) = 0 , then A sends x i . If g ( x i 1 ) = 1 , then A sends x i ¯ , i.e., x i with all bits inverted. If g is a good hash function, then the second possibility will occur half of the time. If B receives a password x i , then it checks if either h ( x i ) or h ( x i ¯ ) equals x i + 1 . In the latter case, B stores x i ¯ .
As only two instead of one password value will be accepted, this scheme is still secure. But life is now more complicated for CR. It must now compare the four possible combinations of inverted and non-inverted passwords, i.e., its effort is notably increased, and stealthiness thus reduced. More complicated schemes are possible. Even if they are not preventing this covert channel, they can restrict bandwidth and/or can reduce stealthiness by forcing CR to perform more computation.

5. Experiments

We have implemented one variant of our covert channel in a hypothetical system that uses one-time passwords based on hash chains with cryptographic hash functions MD5 ( m = 128 ) and SHA-3 ( m = 256 ). The implementation was done in C, and we used existing open-source implementations for the cryptographic hash functions. For MD5, we used Peter Deutsch’s 1999 free implementation that is based on the RFC 1321 specification [4] but does not use the reference implementation given there. For SHA-3 we used Andrey Jivsov’s 2015 code from brainhub.org. As the system is not doing any real application, we implemented client and server, i.e., overt sender and receiver, together with CS and CR in one thread on the same computer, so that they transfer passwords through memory instead of an insecure network. In addition, client and server do no work besides computation of passwords. Hence, this implementation can be considered an extreme test with respect to stealthiness. The covert sender and receiver are placed directly with the client (sender) and server (receiver).
The covert channel transfers a null-terminated character string. We use v = 64 symbols with the following coding. Lower case letters are converted into upper case letters. ASCII characters 1 to 31 and from 95 onward are converted to blanks (ASCII character 32). ASCII characters 32 to 94, comprising upper case letters, digits and some punctuation marks, are converted to symbols 0 to 62, and ASCII character 0 (termination symbol) is converted to symbol 63. Please note that for the purpose of embedding into the binary hash value, we denote by symbol i a bit string of length m where only bit i is set to 1.
If encryption is used, then we employ a stream cipher that produces key stream symbols in the range 0 to 62, and encrypt by adding symbol and key symbol modulo 63, while termination symbol 63 remains unaltered. As the stream cipher, we employ the same cryptographic hash function as used in the OTP application. The seed is the cryptographic key, and we repeatedly hash. The bytes from the produced hash values are taken as modulo 63 and used as key stream symbols.
All experiments were performed on a Dell Latitude 5500 notebook with an Intel Core i5-8265U CPU at 1.6 GHz and 8 Gibibytes of main memory, running a Windows 10 operating system. We used gcc version 9.2.0 as the compiler, without activating optimizations.

5.1. Performance

To measure the performance impact of the covert channel, especially on the receiver, we use a hash chain of length n = 16,384 and a string of length t = 16,382 (plus termination symbol), i.e., we embed a symbol in each password except the first. As seed s, we use the string Wonderful seed for Hash Chain. As the secret message, we use a string solely comprising the repeated letter ‘?’ (symbol 31). As the cryptographic key, we use the same string as for the seed.
The secret message is chosen such that, no matter if we use encryption or not, the number of hash function evaluations by CR is 32 (on average if encryption is used, with standard deviation 18), as we use only 63 of the 64 possible symbols during the message, and can ignore the influence for recognizing the last symbol because of the message length.
The results can be seen in Table 1. If a CC is used, the runtime is notably higher than without, while the runtimes for CC with encryption only marginally deviate from runtimes for CC without encryption. The difference between runtimes with and without CC, divided by 32 · n , amounts to 0.63 μ s and 12.1 μ s per evaluation of MD5 and SHA-3, respectively, which, multiplied by n, amounts to about half the runtime without CC.
Table 1. Runtime results of performance test.

5.2. Randomness

To test if the covert channel can be detected by using a random number test suite, the exchanged passwords (with or without CC) were collected into a file of 256 kibibytes (MD5) or 512 kibibytes (SHA-3), respectively. Then we submitted the files to the NIST [44] suite. The results from test 1 of the NIST suite (frequency of zeroes and ones should be close to 0.5 for each), given as p-values, can be seen in Table 2. As the p-values are close to 1, all sequences seem random.
Table 2. p-values from NIST frequency test.
Yet already the results from test 2 (cumulative sums) differ for the sequences, cf. Table 3. Thus we conclude that at least the CC without encryption might be detectable. This hope is fostered because in total 15 tests are available in the NIST suite, so there are more chances to detect CCs than we have explored. However, there is also a downside. Some of the tests need much more data than we provided, and already these data might need a long time to be collected. If we imagine that each minute an authentication takes place, then 11.3 days are needed to collect the data. Indeed, this assumption is only valid if authentications take place during night and day without any interruption or reduction of frequency. If limited to eight-hour working days Monday to Friday, it would take almost 7 weeks instead. Thus we have a tradeoff between chance of detection and time to detection.
Table 3. p-values from NIST cumulative sums test, averaged between forward and reverse tests.

5.3. Detectability

If a warden would be capable of observing the originally generated as well as the transmitted hash values, it could compare both values. We assume that such a scenario is rather unlikely but it is of theoretical interest in order to determine the detectability of our channels.
We used the same covert channel as before, but the message comprised t = 16,382 letters “A” plus the termination symbol.
As shown in Figure 2, the differences between the covert channel without encryption (denoted as simple) and the legitimate hash values are only visually recognizable if a suitable visualization method (in our case: differences modulo 8) is selected (in large hash values of e.g., 512 bit size, a (randomized) modification of the least significant bits would be invisible on charts that cover the whole range of hash values). The encrypted covert channel’s values (denoted as improved) match those of the legitimate traffic.
Figure 2. Differences between consecutive hash values for legitimate hash chains and covert channel with and without encryption, denoted as improved and simple, respectively.
However, both covert channels’ hash values are barely distinguishable from legitimate values if the original traffic is not available. Several hash values of both channels are either close to (and a few matching) the legitimate values (simple channel) or partially close and mostly matching (improved channel) while following a pseudo-random distribution typical for hash values. In our tests, approx. 6.7% of the modulo results of the improved channel did not match those of the legitimate traffic while all other values matched exactly.

6. Conclusions

Hash chains are an important element of today’s inter-networked computing systems and are found, for example, in cryptocurrencies and authentication systems. For this reason, the exploitation of hash chains for covert channels is an attractive goal for attackers in several domains. We have presented the first covert channel in hash chains that is plausibly deniable and reversible. We have detailed how to create variants that differ in steganographic bandwidth and stealthiness. We have also presented non-trivial countermeasures against such a covert channel. Our experiments have shown that our channel might be detectable under realistic conditions only if no encryption is applied and authentication data are collected over a longer time-span. Thus, there are limitations both to the use of the covert channel—short-term only—and to the detection or limitation capabilities. The exact time spans will depend on the particular variant of the covert channel deployed, which in turn hangs on the width of the hash function used.
The covert channel has been presented in the context of network communication, yet it is not restricted to that. Instead of using network packets, the covert channel could also use a local system to break a security policy if A authenticates against B over an IPC path to which both CS and CR have access.
Future work will comprise further experiments, e.g., on other implementation variants, including the validation of countermeasures that can either prevent/limit or detect (e.g., with sophisticated machine learning methods) the proposed covert channels, and exploration of further application areas.

Author Contributions

The authors contributed equally to this work. All authors have read and agreed to the published version of the manuscript.

Funding

Jörg Keller’s work is supported by the project Secure Intelligent Methods for AdvancedReco Gnition of malware, stegomaLware & information hiding methods (SIMARGL), https://simargl.eu), which has received funding from the European Union’s Horizon 2020 research and innovation program under grant agreement No. 833042. Steffen Wendzel’s work is partially supported by the project Machine learning for Attack Detection using data of InduStriAl control systems (MADISA), https://madisa.ztt.hs-worms.de funded by the European Union from the European Regional Development Fund (EFRE) and the State of Rhineland-Palatinate (MWWK ministry), Germany. Funding content: P1-SZ2-7 F&E: Wissens- u. Technologietransfer (WTT), Application No. 84003751.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

Data is contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Lampson, B.W. A Note on the Confinement Problem. Commun. ACM 1973, 16, 613–615. [Google Scholar] [CrossRef]
  2. Lamport, L. Password authentication with insecure communication. Commun. ACM 1981, 24, 770–772. [Google Scholar] [CrossRef]
  3. Menezes, A.J.; van Oorschot, P.C.; Vanstone, S.A. Handbook of Applied Cryptography; CRC Press: Boca Raton, FL, USA, 1996. [Google Scholar]
  4. Rivest, R. The MD5 Message-Digest Algorithm. In Request for Comments (RFC) 1321; Internet Engineering Task Force (IETF): Fremont, CA, USA, 1992. [Google Scholar]
  5. National Institute of Standards and Technology (NIST). SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions. In Federal Information Processing Standards Publication (FIPS PUB) 202; NIST: Gaithersburg, MD, USA, 2015. [Google Scholar]
  6. Bertoni, G.; Daemen, J.; Peeters, M.; Assche, G.V. The KECCAK reference, Version 3.0. In NIST SHA3 Submiss. Doc.; NIST: Gaithersburg, MD, USA, 2011. [Google Scholar]
  7. Haller, N.; The S/KEY One-Time Password System. RFC 1760; RFC, Ed.; 1995. Available online: https://tools.ietf.org/html/rfc1760 (accessed on 13 January 2021).
  8. Perrig, A.; Canetti, R.; Tygar, J.D.; Song, D. The TESLA Broadcast Authentication Protocol. CryptoBytes 2002, 5, 2–13. [Google Scholar]
  9. Wendzel, S.; Zander, S.; Fechner, B.; Herdin, C. Pattern-Based Survey and Categorization of Network Covert Channel Techniques. Comput. Surv. 2015, 47. [Google Scholar] [CrossRef]
  10. Chang, C.-C.; Lin, C.-Y. Reversible steganographic method using SMVQ approach based on declustering. Inf. Sci. 2007, 177, 1796–1805. [Google Scholar]
  11. Mazurczyk, W.; Szary, P.; Wendzel, S.; Caviglione, L. Towards reversible storage network covert channels. In Proceedings of the 14th International Conference on Availability, Reliability and Security, Canterbury, UK, 26 August 2019; pp. 1–8. [Google Scholar]
  12. Bindschaedler, V.; Shokri, R.; Gunter, C.A. Plausible deniability for privacy-preserving data synthesis. arXiv 2017, arXiv:1708.07975. [Google Scholar] [CrossRef]
  13. Carrara, B.; Adams, C. Out-of-band covert channels—A survey. ACM Comput. Surv. (CSUR) 2016, 49, 1–36. [Google Scholar] [CrossRef]
  14. Hanspach, M.; Goetz, M. On covert acoustical mesh networks in air. arXiv 2014, arXiv:1406.1213. [Google Scholar] [CrossRef]
  15. Cronin, P.; Gouert, C.; Mouris, D.; Tsoutsos, N.G.; Yang, C. Covert Data Exfiltration Using Light and Power Channels. In Proceedings of the 2019 IEEE 37th International Conference on Computer Design (ICCD), Abu Dhabi, UAE, 17–20 November 2019; pp. 301–304. [Google Scholar]
  16. Matyunin, N.; Szefer, J.; Biedermann, S.; Katzenbeisser, S. Covert channels using mobile device’s magnetic field sensors. In Proceedings of the 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC), Macau, China, 25–28 January 2016; pp. 525–532. [Google Scholar]
  17. Mazurczyk, W.; Wendzel, S.; Zander, S.; Houmansadr, A.; Szczypiorski, K. Information Hiding in Communication Networks; IEEE Series on Information and Communication Networks Security; Wiley: Hoboken, NJ, USA, 2016. [Google Scholar]
  18. Zander, S.; Armitage, G.; Branch, P. A survey of covert channels and countermeasures in computer network protocols. Comm. Surv. Tut. 2007, 9, 44–57. [Google Scholar] [CrossRef]
  19. Cabuk, S. Network Covert Channels: Design, Analysis, Detection, and Elimination. Ph.D. Thesis, Purdue University, West Lafayette, IN, USA, 2006. [Google Scholar]
  20. Xing, J.; Morrison, A.; Chen, A. NetWarden: Mitigating network covert channels without performance loss. In Proceedings of the 11th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 19), Renton, WA, USA, July 2019. [Google Scholar]
  21. Saenger, J.; Mazurczyk, W.; Keller, J.; Caviglione, L. VoIP network covert channels to enhance privacy and information sharing. Future Gener. Comput. Syst. 2020, 111, 96–106. [Google Scholar] [CrossRef]
  22. Zander, S.; Armitage, G.; Branch, P. Covert channels in the IP time to live field. In Proceedings of the Australian Telecommunication Networks and Application Conference (ATNAC), Melbourne, Australia, 4–6 December 2006. [Google Scholar]
  23. Zhang, X.; Guo, L.; Xue, Y.; Zhang, Q. A two-way VoLTE covert channel with feedback adaptive to mobile network environment. IEEE Access 2019, 7, 122214–122223. [Google Scholar] [CrossRef]
  24. Mazurczyk, W.; Caviglione, L. Steganography in modern smartphones and mitigation techniques. IEEE Commun. Surv. Tutor. 2014, 17, 334–357. [Google Scholar] [CrossRef]
  25. Urbanski, M.; Mazurczyk, W.; Lalande, J.F.; Caviglione, L. Detecting local covert channels using process activity correlation on android smartphones. Int. J. Comput. Syst. Sci. Eng. 2017, 32, 71–80. [Google Scholar]
  26. Wang, Z.; Lee, R.B. Covert and side channels due to processor architecture. In Proceedings of the 2006 22nd Annual Computer Security Applications Conference (ACSAC’06), Miami Beach, FL, USA, 11–15 December 2006; pp. 473–482. [Google Scholar]
  27. Chen, C.Y.; Mohan, S.; Pellizzoni, R.; Bobba, R.B.; Kiyavash, N. A Novel Side-Channel in Real-Time Schedulers. In Proceedings of the 2019 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Montreal, QC, Canada, 16–18 April 2019; pp. 90–102. [Google Scholar]
  28. Mileva, A.; Velinov, A.; Stojanov, D. New Covert Channels in Internet of Things. In Proceedings of the Twelfth International Conference on Emerging Security Information, Systems and Technologies (SECURWARE), Venice, Italy, 16–20 September 2018; pp. 30–36. [Google Scholar]
  29. Wendzel, S.; Mazurczyk, W.; Haas, G. Steganography for cyber-physical systems. J. Cyber Secur. Mobil. 2017, 6, 105–126. [Google Scholar] [CrossRef]
  30. Hildebrandt, M.; Lamshöft, K.; Dittmann, J.; Neubert, T.; Vielhauer, C. Information Hiding in Industrial Control Systems: An OPC UA based Supply Chain Attack and its Detection. In Proceedings of the 2020 ACM Workshop on Information Hiding and Multimedia Security, Denver, CO, USA, 22 June 2020; pp. 115–120. [Google Scholar]
  31. Calhoun, T.E., Jr.; Cao, X.; Li, Y.; Beyah, R. An 802.11 MAC layer covert channel. Wirel. Commun. Mob. Comput. 2012, 12, 393–405. [Google Scholar] [CrossRef]
  32. Anderson, R.; Needham, R.; Shamir, A. The steganographic file system. In International Workshop on Information Hiding; Springer: Berlin/Heidelberg, Germany, 1998; pp. 73–82. [Google Scholar]
  33. Craver, S.; Li, E.; Yu, J. Protocols for data hiding in pseudo-random state. In Media Forensics and Security; International Society for Optics and Photonics: Bellingham, WA, USA, 2009; Volume 7254. [Google Scholar]
  34. Rutkowska, J. Passive Covert Channels Implementation in Linux Kernel. In Proceedings of the 21st Chaos Communications Congress, Berlin, Germany, 27–29 December 2004. [Google Scholar]
  35. Murdoch, S.J.; Lewis, S. Embedding covert channels into TCP/IP. In International Workshop on Information Hiding; Springer: Berlin/Heidelberg, Germany, 2005; pp. 247–261. [Google Scholar]
  36. Abad, C. IP Checksum Covert Channels and Selected Hash Collision; Technical Report; University of California: Los Angeles, CA, USA, 2001. [Google Scholar]
  37. Chang, C.C.; Lin, C.Y. Reversible steganography for VQ-compressed images using side matching and relocation. IEEE Trans. Inf. Forensics Secur. 2006, 1, 493–501. [Google Scholar] [CrossRef]
  38. Dittmann, J.; Hesse, D.; Hillert, R. Steganography and steganalysis in voice-over IP scenarios: Operational aspects and first experiences with a new steganalysis tool set. In Security, Steganography, and Watermarking of Multimedia Contents VII; International Society for Optics and Photonics: Bellingham, WA, USA, 2005; Volume 5681, pp. 607–618. [Google Scholar]
  39. Graham, R.L.; Knuth, D.E.; Patashnik, O. Concrete Mathematics, 2nd ed.; Addison-Wesley: Reading, MA, USA, 1994. [Google Scholar]
  40. Ugus, O.; Westhoff, D.; Bohli, J. A ROM-friendly secure code update mechanism for WSNs using a stateful-verifier tau-time signature scheme. In Proceedings of the Second ACM Conference on Wireless Network Security, WISEC 2009, Zurich, Switzerland, 16–19 March 2009; Basin, D.A., Capkun, S., Lee, W., Eds.; pp. 29–40. [Google Scholar] [CrossRef]
  41. Lewand, R. Cryptological Mathematics; Mathematical Association of America: Washington, DC, USA, 2000. [Google Scholar]
  42. Caviglione, L.; Gaggero, M.; Lalande, J.F.; Mazurczyk, W.; Urbański, M. Seeing the unseen: Revealing mobile malware hidden communications via energy consumption and artificial intelligence. IEEE Trans. Inf. Forensics Secur. (TIFS) 2015, 11, 799–810. [Google Scholar] [CrossRef]
  43. Marsaglia, G. The Marsaglia Random Number CDROM including the Diehard Battery of Tests of Randomness; Technical Report; Florida State University: Tallahassee, FL, USA, 1995. [Google Scholar]
  44. Rukhin, A.; Soto, J.; Nechvatal, J.; Smid, M.; Barker, E.; Leigh, S.; Levenson, M.; Vangel, M.; Banks, D.; Heckert, A.; et al. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications; National Institute of Standards and Technology; Special Publication 800-22 Revision 1a; Gaithersburg, MD, USA, 2010. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.