Permutation-based Steganographic Channels

advertisement
1
Permutation-based Steganographic Channels
Kevin Forest, Louis Lemaire, Scott Knight, Member, IEEE

Abstract—Covert channels are a mechanism that allows an
attacker to parasitically place messages within a legitimate
channel.
Detection of these covert channels can have
consequences for an attacker. Not only is the ability to
communicate lost or compromised, but analysis of the channel can
lead to the identity of the attacker themselves. If the attacker is a
wanted criminal or foreign intelligence service, these
consequences can be quite severe. This paper proposes a covert
channel with the property of unattributability. That is, in the
event the channel is detected, nothing about the channel gives any
clues as to the identity of the attacker. The unattributable nature
of the covert channel has a cost, however, in that the channel is
one-way, with the attacker being unable to send messages, only
receive them. As such, the proof-of-concept design uses this
covert channel to transmit sensitive information from an infected
machine.
Index Terms— Steganographic Channels, Covert Channels,
Information hiding
I. INTRODUCTION
T
here are good reasons why people want to communicate
without the communication being detected. In computer
networks covert communication is often hidden within the data
transferred as part of some other seemingly normal, valid
communications. The covert transmitter and receiver share
knowledge of the encoding of the hidden message and
participate in the information transfer. This can leave the
transmitter and receiver vulnerable to surveillance measures
that can detect the encoded data, and perhaps trace the
communications and identify the participants. It is proposed
that a covert communications scheme based on permuting the
order of externally visible network events can be used to create
one-way communications channels that are very difficult to
detect and effectively untraceable to the intended receiver of
the hidden information.
There are any number of communities that would want to
hide their communications. Some examples are: criminals that
have broken into a private computer network and are trying to
steal computing resources or information from the
compromised systems, individuals who are trying to exercise
free-speech rights in a closed political regime, or a foreign
intelligence service that is trying to infiltrate and control
Kevin Forest is with the Royal Military College of Canada, Kingston, ON
K7K 7B4 Canada (e-mail: kevin.r.forest@gmail.com).
Scott Knight is with Royal Military College of Canada, Kingston, ON
K7K 7B4 Canada (phone: 613-541-6000 ext6194; e-mail: knight-s@rmc.ca).
government computer systems of another nation. In each of
these cases the covert communicators are hiding from
surveillance that is actively trying to discover them, and the
cost of being discovered and caught is very high.
In each of these cases there is a covert communicator
(perhaps a Trojan Horse) within the boundaries of a computer
network controlled by the entity conducting the surveillance
(the Warden) and a covert communicator outside that network.
Direct communication in the presence of active surveillance by
the Warden is risky. Therefore an attractive option is to hide
communications within legitimate forms of communication
that are regularly crossing the boundary of the surveilled
network. We will call these legitimate communications the
cover channel. A hidden communication channel, hidden with
such a legitimate cover channel, is called a steganographic
channel [1], or stego channel. In this paper we will refer to
such channels as stego channels or covert channels, although
[1] makes distinction between the two. In general the stego
(covert) channel will make use of residual capacity in the
legitimate cover channel, or masquerade as benign
communications in the cover channel. An example of such a
stego channel is an HTTP tunnel where hidden
communications can masquerade as otherwise well formed and
normal appearing requests for web pages from a web server.
When a stego channel is hiding its communications by
modifying the data in the cover channel, or by introducing
encoded information that appears to be part of the cover
channel, there is risk of detection. That is, the data that is not
part of the cover channel might be detected as anomalous by
the Warden. Once the stego channel is no longer hidden there
is also a danger that the communications can be traced to the
covert communicators and their identities can be discovered.
This is because most stego channel implementations require
active participants at both ends of the channel.
The scenario we will consider as the context for this
research is one where there the covert communicators are
trying to exfiltrate information from a computer network under
surveillance by a powerful Warden, to a receiver outside the
network. For example, a Trojan Horse may have been planted
on a computer inside the network and Trojan Horse will send
information to a receiver on the outside of the network. We
also assume that due to the high cost to the covert
communicators (e.g. criminal prosecution, political
embarrassment, etc.) if the communications can be attributed
2
to them, they will want to minimize the risk of the detection,
and especially, the risk of traceability to the covert receiver.
The risk of traceability, or attribution, of the stego channel
can be reduced if we can separate the receiver of the legitimate
cover channel from the receiver of the stego channel. Consider
the possibility of a communications scheme where the receiver
of the legitimate cover channel (e.g a commercial web server)
can remain totally unaware that there is covert information
encoded within the cover channel. Also consider that the
covert receiver has the ability to observe the legitimate cover
channel at some point (any point) in the communications path
between the Warden’s network and the unwitting receiver of
the legitimate cover channel. The attribution of the covert
communication is then broken because the actual covert
receiver is indistinguishable from any one of all the possible
receivers that could have observed the communication. Of
course, such channels are one-way channels and there is no
possibility of feedback from receiver to transmitter.
The risk of detection of the stego channel can be reduced if
we can ensure that all the messages transmitted to the covert
receiver do not modify the data in the messages of the
legitimate cover channel, or introduce encoded information
that masquerades as messages of the legitimate cover channel.
That is, we do not add any form of new message that is not
already part of the legitimate communications on that channel.
The Warden will not see any message during the covert
communication that is not also seen on the legitimate cover
channel when covert communications is not taking place.
Instead of building a covert communications scheme by
modifying, or masquerading as, legitimate messages — the
encoding of the covert information will be effected by
modifying the order of otherwise perfectly legitimate
messages.
The aim of this research is to model and design a covert,
unattributable communications scheme based on permutation
encoding of observable network events. The network events of
interest are the messages exchanged between the transmitter of
the covert message and a legitimate ancillary site that is
unaware of the presence of the covert communications. The
covert communication is unattributable because any observer
of the network events has an opportunity to extract and read
the covert communication.
The factoradic number system can be used as a means of
indexing permutations. This forms the basis of the theoretical
model for the covert communications scheme. This theoretical
model was used to design a covert communications system in
which information is hidden within the HTTP messages
associated with web browsing traffic. The web servers taking
part in the communication are ancillary sites, and are unaware
of their participation in the covert communication.
The communications scheme being investigated is a low-tomedium bandwidth steganographic channel in which hiding the
channel and the channels unattributability are considered more
important than the information throughput of the channel. The
implications of such channels are important both for
communities that would want to hide their communications,
and for the Wardens defending networks from covert
communications. These channels will work even in the case of
networks with restrictive security policies that only allow
communication with a restricted number of trusted external
sites.
The paper is divided into 6 main sections. Section II
provides some background regarding HTTP tunnels. HTTP
tunnels provide context for more detailed motivation of the
need for permutation-based covert communications channels
and the advantages of these channels. Section III will
introduce the factoradic number system as way of indexing
permutations and thereby provide the basis for a theoretical
model of the covert communications scheme. In section IV the
theoretical model is validated by using it to design and
implement a permutation-based covert communications
scheme that uses HTTP as a legitimate cover channel. Section
V provides a discussion of the implications of the research and
examines the theoretical versus actual efficiency of the
permutation-based channel. The last section summarizes and
concludes the paper.
II. HTTP REVERSE TUNNELS
As computer network perimeter defences become stronger it
is more difficult for an attacker to make an illicit connection
from his computer somewhere on the Internet to a computer
within a protected target network. It is often easier for the
attacker to arrange to break out of the target network than to
break in. An HTTP reverse tunnel is an example of a stego
channel used to break out of the target network [2][3]. Because
such channels use HTTP as their legitimate cover channel, this
section will review the basic HTTP protocol. The misuse of
the HTTP protocol will be explained to see how the stego
channel is formed. The section will finish with a description of
the shortcomings of the HTTP reverse tunnel with respect to
covertness and unattribuatbility.
In the basic HTTP protocol a client request method is a
method issued to an HTTP server by an HTTP client that
declares its intentions. The client methods include GET
(retrieve a page), POST (client provides content to a server),
PUT, CONNECT, etc. [4]. An example of a message that a
web browser might send when asked to retrieve a web page
from this resource is:
GET /frontpage HTTP/1.1
Accept: image/gif, image/jpeg, */*
Accept-Language: en-us
User-Agent: Mozilla/5.0
Host: anysite.com
3
Connection: Keep-Alive
This is the Request Header. The first line of this request
requests a document at named frontpage from the server. The
name of the document requested in a GET message is a data
field that is controlled by the sender of the message. It can be
almost anything.
Given a request like the one above, the web server looks for
the resource (e.g. web page) associated with requested name
and returns it to the sender of the message, preceding it with
some header information in its response. The resource
associated with the URL depends on how the server is
implemented. It could be a static file or it could be
dynamically generated. In this case, the server might return:
HTTP/1.1 200 OK
Date: Mon, 06 Nov 2007 20:21:35 GMT
Server: Apache/2.0.41 (Unix)
Last-Modified: Fri, 03 Nov 2007 12:00:09 GMT
Accept-Ranges: bytes
Content-length: 1000
Connection: Close
Content-Type: text/html
<html> …
The above text is called the response header and the part
with the HTML code ( two carriage returns below the header )
is the body. In some cases the body will specify that other
resources also be downloaded as part of the web page. This is
done by automatically making additional GET requests for
those additional resources (pictures, icons, ads, etc.).
To create an HTTP reverse tunnel, information can be
encoded in the name strings of the client’s GET messages and
in the bodies of the responses from the server. Consider the
scenario described by Figure 1. To illustrate the capabilities of
the reverse tunnel assume that a machine on the target network
is running a malicious Trojan Horse program (the client) that
will communicate with an attacker (the server) somewhere on
the Internet.
Attacker’s
Machine
Firewall
Target
Network
Internet
Server
Client
Figure 1 – HTTP Reverse Tunnel Scenario
How the Trojan Horse program first establishes itself is not
within the scope of the discussion; network computers can
become compromised by viruses, removable media, during the
movement of laptop computers between trusted and untrusted
environments, or by legitimate users either wittingly or
unwittingly installing unauthorised programs. The client code
masquerades as a simple web browser. Once executed on the
target machine, it calls “home” to the attacker’s server
program by issuing a simple GET request (this is why it is
called a “reverse” tunnel). Consider the following GET
request.
GET /some_sub_dir/codeword.html HTTP/1.1
Accept: image/gif, image/jpeg, */*
Accept-Language: en-us
User-Agent: Mozilla/5.0
Host: attacker.com
Connection: Keep-Alive
The requested resource in the GET field may not be an
actual document, but acts as a code-word for the server
program on the outside to recognize that a covert client is
calling home. The server program on the attacker’s computer
will receive the request from the target machine and return a
confirmation embedded in the body of an innocuous-looking
web page, just as if it was serving up a page about news,
sports, or weather:
HTTP/1.1 200 OK
Date: Mon, 06 Nov 2008 20:21:35 GMT
Server: Apache/2.0.41 (Unix)
Last-Modified: Fri, 03 Nov 2008 12:00:09 GMT
Accept-Ranges: bytes
Content-length: 1000
Connection: Close
Content-Type: text/html
<html>
<body>
normal-looking HTML here ...
IDENTIFIER TAG =Confirmed
...
</body></html>
Once the client on the inside of the firewall has received the
acknowledgement, it can issue new GET requests. The attacker
can respond to any one of these requests with a web page
containing an encoded command to be executed on the client
machine. If no data is returned from the attacker’s machine,
the Trojan client simply times out and retries after some set
period of time.
When it retrieves a page with a system command embedded
in the body of the HTML the target machine executes that
command on the target system, parses the output into a series
of strings that are then embedded in a series of GET requests.
These GET requests are received by the server on attacking
machine, and the strings from the set of requests are
reassembled to display the output from the results of the
system command executed on the compromised client
machine. This style of HTTP reverse tunnel can be used for
remote control of the target machine, for downloading
4
additional attack tools, or for exfiltrating information from the
target machine.
Because the contents of the GET requests and the
documents returned by a web server are arbitrary, it is very
straightforward to hide messages in this traffic and create the
stego channel. As long as this embedded information remains
undetected the HTTP reverse tunnel remains covert. However,
there are techniques proposed to detect such tunnels [5][6][7]
that rely on the embedded covert data being in some way
different/anomalous from normal HTTP traffic. It can also be
readily seen that the server on the attacker’s machine is an
active component of the scheme and collaborates with the
client in the exchange of the specialized protocol that forms
the stego channel. This means that if the communication is
detected it can be traced and attributed to the attacker’s
machine. The possibility of detection and attribution add risk
to the use of this form of stego channel.
2.4x1018). Fortunately there is a natural mapping between
integers and permutations that has been well studied for which
the indexing and deindexing operations can be computed in
O(n) time [8][9]. These operations allow us to calculate the
permutation corresponding to an index on the fly, and vice
versa.
The indexing and deindexing operations make use of the
factoradic numbering system. The factoradic numbering
system provides a one-to-one mapping between permutations
of n resources and a factoradic numbers of n digits. The
factoradic number system is a mixed radix numeral system.
Each digit of a factoradic number has a value equal to its radix
factorial multiplied by the digit in that place. Each digit must
be less than or equal to its radix, and cannot go below zero.
Each digit is written with its radix subscripted. The radix
begins at 0, so the first digit, 00, always has the value 0.
0 * 0!
III. A PERMUTATION-BASED MODEL FOR A STEGANOGRAPHIC
CHANNEL
Consider a stego channel designed to exfiltrate information
from a target network. The risk of detection and attribution can
be reduced if the communications endpoint of the legitimate
cover channel on the outside of the target network does not
have to be an active participant in the specialized protocol that
forms the stego channel. The covert communication can be
embedded in the order of events in the legitimate cover
communication instead of inserting data into, or modifying, the
content of the messages. Now the communications endpoint on
the outside of the target network can be totally unaware of the
covert communication and can be any ancillary site where
legitimate communication is allowed. The transmitter in the
target network only communicates using messages that are
already commonly being sent, however the order of the
messages can be controlled. The attacker needs only to
passively observe the order of communications in order to
extract the covert information.
= 0
(1)
Therefore, the factoradic number 552433120100 can be
expressed in decimal as:
5*5! + 2*4! + 3*3! + 1*2! + 0*1! + 0*0!
= 600+48+18+2+0 = 668.
(2)
Similarly, the largest decimal number that can be expressed
using a factoradic number of 6 digits (radix 0-5) is
554433221100:
5*5! + 4*4! + 3*3! + 2*2! + 1*1! + 0*0!
= 719.
(3)
This number is one less than 6!, as 720 would be expressed
in factoradic numbers as 16050403020100, and would require a
seventh digit.
These factoradic numbers can be used to index and compute
a permutation of a set of objects. Consider a set of three
objects S:
This section will present a theoretical model for encoding
covert information in the ordering of computer network events.
Although the main example used in this paper is based on
permuting the order of GET requests in HTTP
communications, the theoretical model is valid for a more
general class of stego tunnels where the order of events can be
permuted without disrupting the semantics of the underlying
legitimate cover channel.
This ordering within this set can be referred to as the
nominal order. This set contains 3! valid permutations,
namely:
Consider that we have a set, S, of n events for which the
transmitter can modify the order in which they occur. A
communications scheme can be set up in a straightforward way
by defining a codebook that maps message text to specific
permutations of S. However, implementing such a scheme
using a lookup table would require n! entries. Even for small
sets of events a space complexity of O(n!) is intractable (20! ≈
Factoradic numbers allow the construction of a specific
permutation based upon the index number of the set required.
For example, consider the construction of the 3rd permutation
of S. The 3rd permutation is S2, index 2. The value 2 is
represented as the factoradic number 120100. Starting from the
left, the first element in the permutation S2 can be found by
taking the element in S whose position (counting from the left,
starting with 0) corresponds to the value found in the first digit
S
= {a0,a1,a2}.
(4)
S0=(a0,a1,a2); S1=(a0,a2,a1); S2=(a1,a0,a2)
S3=(a1,a2,a0); S4=(a2,a0,a1); S5=(a2,a1,a0). (5)
5
of the factoradic index. Thus, the first digit in the index is 1,
therefore the first element of S2 is a1:
S = {a0,a1,a2}
0 1 2
-> S2 = {a1,?,?}.
-> S2 = {a1,a0,?}.
(7)
The element a0 is now removed from S’, which creates a
new set S”, which now contains the solitary object a2.
Repeating the process again, we see that the last digit of the
factoradic index is a 0. This means that a2 is the last object in
the permutation S2:
S” = {a2}
0
(12)
The factoradic index 120100 has the value 2, which means
that S? is the 3rd indexed permutation of S.
(6)
The element a1 is then removed from S, forming set S’ that
consists of one fewer element. The next element in the
permutation can be found by examining the next digit in the
factoradic index, except the object is taken from S’. The
second digit in the index is 0, thus the next object in the subset
is a0:
S’ = {a0,a2}
0 1
0
-> S2 = {a1,a0,a2}
(8)
Checking with the permutations listed above, it is evident
that the 3rd permutation of S is indeed {a1, a0, a2}.
Factoradic numbers can be used to perform the reverse
operation. Given a specific permutation of set S, and knowing
the nominal ordering of resources in S, it is possible to
determine the factoradic index of that permutation. For example, given the permutation S?, and solving for the value of the
index, ?:
S? = { a1,a0,a2}.
(9)
The first step is to determine at which position the first
element in S? (counting from the left) is found in S. The first
element in S? is a1, which is located in the 1 position in S. This
means that the highest radix digit of the factoradic index,
located in the 2! position, is 1.
S = {a0,a1,a2} -> index = 12?1?0
0 1 2
(10)
The theoretical model of our permutation-based model for a
stego channel involves a transformation of the covert message
into a series of integers. These integers are then converted to
factoradic numbers. The factoradic numbers are used to create
permutations of network events which the transmitter uses to
control the order of events during actual communication with
an ancillary site. The attacker, who is receiving the covert
message, is a passive observer of the communications with the
ancillary site. The attacker can record the observed
permutations and reverse the process, first calculating the
factoradic indices, then converting these to the series of
integers representing the covert message.
A covert communications system can be designed using this
model. System design involves a characterization of the
legitimate cover channel in order to guide the selection of
message encoding scheme, integer block size, and event set
size for the permutations.
IV. AN HTTP-BASED COVERT COMMUNICATIONS SYSTEM
The theoretical model was validated in part by using it to
design and implement a covert, unattributable communications
system based on HTTP as the legitimate cover channel. The
implementation allowed us to test the model and to
characterize the resulting channel.
Ancillary
Site
Firewall
Target
Network
Internet
Server
Attacker
Client
Figure 2 – CUTS Tunnel Scenario
The next step is to remove the element a1 from set S,
creating set S’. The next element in S? is a0. Its position in set
S’ is 0, thus the second digit of the factoradic index is 0.
S’ = {a0,a2} -> index = 1201?0
0 1
(11)
Once again, an element is removed from S’, creating S”,
which includes the lone element a2 at the 0 position. The final
resource in S? is also a2. Thus, the last digit of the factoradic
index is 0.
S” = {a2} -> index = 120100
The implemented system is called the Covert Unattributable
Transmission System (CUTS). The CUTS scenario is
described in Figure 2. As with the classic HTTP reverse tunnel
described above, there is a machine on the target network that
is running a malicious Trojan Horse program (the client) that
will communicate with a server somewhere on the Internet.
However in this case the server is an ancillary site that is not
aware of the covert communications channel. The attacker is a
passive observer of the HTTP traffic. The design of the CUTS
can best be understood by examining its components in the
context of a classic communications channel, Figure 3.
6
The design of CUTS begins with a characterization of the
communications channel, in this case HTTP messages. The
observable network events of interest in this implementation
are HTTP GET requests and their ordering. The ancillary web
site we are intending to use has a web page, the basepage, that
automatically loads 13 additional resources (small pictures,
icons, etc.). The order of these GET requests is not important.
These GET requests are our observable network events for
which we can permute the order of requests.
Message
Message
Encoder
Channel
Encoder
Channel
Modulator
Channel
Message
Message
Decoder
Channel
Decoder
Channel
Demodulator
The Attacker can observe the channel and identify GET
requests for the basepage and the following 13 GET requests
for additional resources. The Attacker’s application is
composed of the Message Decoder, Channel Decoder, and
Channel Demodulator. Each of these components, in turn,
undoes the encodings described above in order to recover the
original message.
V. DISCUSSION
CUTS was implemented and works reliably as a validation
of the proposed model and design for a covert, unattributable
communications scheme based on permutation encoding of
observable network events. The scenario allows us to
characterise the information efficiency of such channels. For
example, consider the CUTS implementation for an event set
of GET request elements, S, of size n=13. We can calculate
the maximum information content available in the channel by
calculating the Shannon information entropy [10]:
Figure 3 – CUTS Architecture
The Trojan Horse in this case is an Internet Explorer
Browser Helper Object (BHO) that is running covertly on the
target computer. It is composed of the Message Encoder,
Channel Encoder, and Channel Modulator. The BHO operates
total independently of any activity on the part of the human
user of the target computer.
The Message Encoder accepts the message intended for
covert transmission. The message is converted to a bit stream
and broken up into 32 bit blocks. This block size is chosen as
there are 232 (≈4.29x109) unique blocks that we can map onto
the 13! (≈6.23x109) unique permutations of the GET requests
available. Each of the blocks derived from the original
message is passed in turn to the Channel Encoder.
The Channel Encoder has defined a nominal set of 13
placeholder tokens. The Channel Encoder interprets each
message block received from the Message Encoder as a binary
integer and transforms its value into the equivalent factoradic
number. This factoradic number is used as an index number, i,
to calculate the ith permutation of the nominal set of
placeholder tokens. Each of these permutations is passed in
turn to the Channel Modulator.
The Channel Modulator maintains a one-to-one mapping
between the set of 13 placeholder tokens and the 13 GET
request messages associated with the basepage. For each
permutation (message block) received from the Channel
Encoder, the Channel Modulator makes a GET request for the
basepage from the ancillary web site. Then instead of
automatically requesting the 13 additional resources in the
usual nominal order, the Channel Modulator makes the
requests in the order specified by the permutation.
m
H ( X )    p ( xi ) log 2 p ( xi )
(13)
i 1
Consider that each transmission of a set of GET requests (a
permutation of S) is a transmission of a symbol in the alphabet
X. There are n! such symbols in the alphabet, i.e. 13!. The
information content is maximized when we use all the
available permutations of S and the probability mass function,
p, is uniform. In this case the information entropy is log2n!.
For our example where n=13, the maximum theoretical
information content in each symbol is 32.54 bits of information.
Now we can look at the information content achieved in the
CUTS implementation. We can assume that there is high
entropy in the input message stream to be sent, as would be the
case if the message was compressed before being processed by
the Message Encoder. Then the probability distribution of
message blocks is uniform. However, the message blocks are
32 bits long so we only use 232 of the available permutations.
All others have zero probability of occurring. If we calculate
the information entropy of this channel it is 32 bits of
information. Therefore the channel is 98.3% efficient.
# of
GET
req.
(n)
8
16
32
64
Table 1. Information Content of Permutations
# of
Max info
Actual info
permutations
content
content
(n!)
4.03 x 104
2.09 x 1013
2.63 x 1035
1.27 x 1089
(log2n!)
15.3
44.2
117.7
296.0
(block size)
15
44
117
295
We can also consider the information content in the channel
7
as we increase the size of n, i.e. as the number of resources on
the ancillary site increases. See Table 1. The block size chosen
here is the maximum block size, m, such that 2m < n!. As
would be expected, information content available in the
permutations increases faster than the increase in n, due to the
factorial increase in the symbol space.
The CUTS stego channel has been designed so it can work
in an environment with a very strict security policy and a very
capable warden. There is no restriction on the ancillary web
site specified by the system. Therefore even if the machines on
the target network are only allowed to browse a very limited
set of controlled “friendly” web sites CUTS can be used. The
required criterion is that the communication be visible to the
attacker (i.e. the ability to eavesdrop).
The “covertness” of this channel would seem to be
improved over classical HTTP tunnels. Most detection
schemes for such tunnels involve the detection system
monitoring the content of the HTTP traffic and looking for
known signatures in the HTTP message contents or anomalies
in the content. In the case of CUTS the content of the
messages is exactly what is normally seen for the ancillary site,
except that the order of the messages has changed. In order to
detect the permuted orderings the detector would either have
to know the nominal order of the GET requests, or keep
running sets of orderings and compare them. Since the web
pages being used by CUTS are arbitrary the detector would
have to maintain such information for all web pages. This is a
very large problem. CUTS is also unattributable as long as the
method of observation being used by the passive attacker is
hidden.
The proposed stego tunnels are one-way, low to medium
bandwidth tunnels. However, although the bandwidth is
relatively low (hundreds of bits per permutation set), there are
applications where an attacker may wish to trade-off bandwidth for covertness and unattributability. Even a small
amount of information can be very important, e.g. identity
theft, username/password, keys, government secrets.
VI. CONCLUSION
This research has demonstrated a viable theoretical model and
design for a covert, unattributable communications scheme
based on permutation encoding of observable network events.
The model allows for the design of feasible covert
communications systems. The resulting steganographic
channels provide an opportunity for one-way, low to medium
bandwidth communications for communicators that are hiding
from surveillance that is actively trying to discover them and
the cost of being discovered and caught is very high.
VII. CONCLUSION
This research was funded in part by the ISSNet, an NSERC
Strategic Network (http://www.issnet.ca/). This work was
also funded in part by MITACS, an NCE Canada network
(http://www.mitacs.ca/).
REFERENCES
[1]
Moskowitz, I. S., Chang, L., and Newman, R. E.: Capacity is the wrong
paradigm. In: Proceedings of the 2002 Workshop on New Security
Paradigms. pp 114-126. ACM, New York (2002)
[2] van Hauser. "Placing Backdoors Through Firewalls," v1.5, May (1999)
URL: http://thc.pimmel.com/files/thc/fw-backd.htm (November, 2000)
[3] Daicos, K., Knight, S.: Concerning Enterprise Network Vulnerability to
HTTP Tunneling. In.: Gritzalis, D., De Capitani di Vimercati, S.,
Samarati, P., Katsikas, S.K., (eds.): Security and Privacy in the Age of
Uncertainty, IFIP TC11 18th International Conference on Information
Security (SEC2003). pp. 13-24. IFIP Conference Proceedings 250,
Kluwer (2003)
[4] Wong, C.: HTTP Pocket Reference. O’Reilly & Associates, Sebastopol,
California, (2000)
[5] Pack, D.J., Streilein, W., Webster, S., Cunningham, R.: Detecting HTTP
Tunneling Activities. In: Proceedings of the 2002 IEEE Workshop on
Information Assurance. U.S. Military Academy (2002)
[6] Borders, K., Prakash, A.: Web tap: detecting covert web traffic. In:
Proceedings of the 11th ACM Conference on Computer and
Communications Security. pp 110-120. ACM, New York, (2004)
[7] T. M. Jackson, Anomaly-based HTTP covert tunnel detection using
hidden Markov models, Masters thesis, Royal Military College of
Canada, April (2007)
[8] Lehmer, D. H.: Teaching combinatorial tricks to a computer,
Proceedings of the Symposium on. Applied Mathematical
Combinatorial Analysis. vol. 10, pp. 179-193. Amer. Math. Soc.,
Providence (1960)
[9] Mantaci, R., Rakotondrajao, F. “A permutation representation that
knows what “Eulerian” means”, Discrete Mathematics and Theoretical
Computer Science 4, pp. 101–108 (2001)
[10] Shannon, C.E.: A Mathematical Theory of Communication. In: Bell
System Technical Journal, vol. 27, pp. 379-423, 623-656. July,
October. Wiley (1948)
Download