TCP/IP Covert Channels

Download Report

Transcript TCP/IP Covert Channels

Embedding Covert
Channels into TCP/IP
S.J. Murdoch, S. Lewis
University of Cambridge, United Kingdom
7th Information Hiding Workshop, June 2005
Sweety Chauhan
October 26, 2005
CMSC 691I
Clandestine Channels
Overview
New and Significant
 Overview of Covert Channels
 TCP/IP based Steganography
 Detection of TCP/IP Steganography
 Conclusion

CMSC 691I
Clandestine Channels
2
New and Significant
Proposed a scheme “Lathra” for encoding
data in TCP/IP header not detected by
warden
 A message can be hidden so that an
attacker cannot demonstrate its existence
without knowing a secret key

CMSC 691I
Clandestine Channels
3
Covert Channels
Communication in a non-obvious manner
 Potential methods - to get information out
of the security perimeter
 Two Types:

 Storage
 Timing
CMSC 691I
Clandestine Channels
4
Types of Covert Channels
Storage
Timing
Information conveyed
Information conveyed
by writing or abstaining by the timing of events
from writing
Clock not needed
CMSC 691I
Receiver needs clock
Clandestine Channels
5
Where is this relevant?

The use of covert channels is relevant in
organizations that:
 restrict
the use of encryption in their
systems
 have privileged or private information
 wish to restrict communication
 monitor communications
CMSC 691I
Clandestine Channels
6
Network Covert Channels

Information hiding
 placed
in network headers AND/OR
 conveyed through action/reaction
Goal - channel undetectable or unobservable
 Network watchers (sniffer, IDS, ..) will not be
aware that data is being transmitted

CMSC 691I
Clandestine Channels
7
Taxonomy (I)

Network covert channels can be
 Storage-based
 Timing-based
 Frequency-based
 Protocol-based
 any
CMSC 691I
combination of the above
Clandestine Channels
8
Taxonomy (II)

Each of the above categories constitute a
dimension of data
 Information
hiding in packet payload is
outside the realm of network covert channels
 These cases fit into the broader field of
steganography
CMSC 691I
Clandestine Channels
9
Packet Header Hiding
20-64 bytes
20-64 bytes
IP Header TCP Header
0-65,488 bytes
DATA
This is Information
Assurance Class
TCP Source Port
TCP Destination Port
IP Source Address
TCP/IP Header can serve as a
carrier for a steganographic
covert channel
IP Destination Address
CMSC 691I
Clandestine Channels
10
IP Header
0-44
bytes
Fields that may be used to embed steganographic data
CMSC 691I
Clandestine Channels
11
TCP Header
0-44
bytes
Timestamp
CMSC 691I
Clandestine Channels
12
Storage Based

Information is leaked by hiding data in
packet header fields





IP identification
Offset
Options
TCP Checksum
TCP Sequence Numbers
CMSC 691I
Clandestine Channels
13
Timing Channels (I)

Information is leaked by triggering or
delaying events at specific time intervals
CMSC 691I
Clandestine Channels
14
Timing Channels (II)
CMSC 691I
Clandestine Channels
15
Frequency Based (I)
Information is encoded over many
channels of cover traffic
 The order or combination of cover channel
access encodes information

CMSC 691I
Clandestine Channels
16
Frequency Based (II)
CMSC 691I
Clandestine Channels
17
Protocol Based

Exploits ambiguities or non-uniform
features in common protocol
specifications
CMSC 691I
Clandestine Channels
18
Traditional Detection Mechanisms
Statistical methods
 Storage-based



Time-based


Data analysis
Time analysis
Frequency-based

Flow analysis
CMSC 691I
Clandestine Channels
19
Threat Model
 Passive
Warden Threat Model
 Active Warden Threat Model
CMSC 691I
Clandestine Channels
20
IP Covert Channel
IP allows fragmentation and reassembly of
long datagrams, requiring certain extra
headers
 For IP Networks:






Data hidden in the IP header
Data hidden in ICMP Echo Request and Response Packets
Data tunneled through an SSH connection
“Port 80” Tunneling, (or DNS port 53 tunneling)
In image files
CMSC 691I
Clandestine Channels
21
IP ID and TCP ISN Implementation
Two fields which are commonly used to
embed steganographic data are the IP ID
and TCP ISN
 Due to their construction, these fields
contain some structure


Partially unpredictable
CMSC 691I
Clandestine Channels
22
Detection of TCP/IP Steganography

Each operating system exhibits well defined
characteristics in generated TCP/IP fields


can be used to identify any anomalies that may
indicate the use of steganography
suite of tests

applied to network traces to identify whether the
results are consistent with known operating systems
CMSC 691I
Clandestine Channels
23
IP ID Characteristics
1.
2.
3.
4.
Sequential Global IP ID
Sequential Per-host IP ID
IP-ID MSB Toggle
IP-ID Permutation
CMSC 691I
Clandestine Channels
24
TCP ISN Characteristics
5.
6.
7.
8.
9.
10.
11.
Rekey Timer
Rekey Counter
ISN MSB Toggle
ISN Permutation
Zero bit 15
Full TCP Collisions
Partial TCP Collisions
CMSC 691I
Clandestine Channels
25
Explicit Steganography Detection
12. Nushu Cryptography
encrypts data before including it in the ISN field
 results in a distribution which is different from normally
generated by Linux and so will be detected by the other
TCP tests

CMSC 691I
Clandestine Channels
26
13. TCP Timestamp
If a low bandwidth TCP connection is being used to
leak information
 a randomness test can be applied to the least
significant bits of the timestamps in the TCP
packets
 If “too much“ randomness is detected in the LSBs
→ a steganographic covert channel is in use

CMSC 691I
Clandestine Channels
27
14. Other Anomalies
unusual flags (e.g. DF when not expected, ToS set)
 excessive fragmentation
 use of IP options
 non-zero padding
 unexpected TCP options (e.g. timestamps from
operating systems which do not generate them)
 excessive re-ordering

CMSC 691I
Clandestine Channels
28
Results
CMSC 691I
Clandestine Channels
29
Detection-Resistant TCP
Steganography Schemes
Lathra - Robust scheme, using the TCP
ISNs generated by OpenBSD and Linux as
a steganographic carrier
 Simply encoding data within the least
significant 24 bits of the ISN could be
detected by the warden

CMSC 691I
Clandestine Channels
30
Conclusion
TCP/IP header fields can be used as a
carrier for a steganographic covert channel
 Two schemes for encoding data with ISNs
generated by OpenBSD and Linux


indistinguishable from those generated by a
genuine TCP stack
CMSC 691I
Clandestine Channels
31
Future Work
Flexible covert channel scheme which can
be used in many channels
 Create a protocol for jumping between
multiple covert channels
 New schemes to detect different encoding
mechanisms in TCP/IP Header fields

CMSC 691I
Clandestine Channels
32
References
1.
2.
Hide and Seek: An Introduction to
Steganography, Niels Provos, Peter
Honeyman, IEEE Security and Privacy
Journal, May-June 2003
Embedding Covert Channels into TCP/IP,
Steven J. Murdoch, Stephen Lewis, 7th
Information Hiding Workshop, Barcelona,
Catalonia (Spain) June 2005
CMSC 691I
Clandestine Channels
33
Thanks a lot …
For Your
Presence
CMSC 691I
Clandestine Channels
34
Any Questions
CMSC 691I
Clandestine Channels
35
Homework
Presentation Slides and Research Papers are available at :
www.umbc.edu/~chauhan2/CMSC691I/
CMSC 691I
Clandestine Channels
36
Covert Channel Tools




SSH (SCP, FTP Tunneling, Telnet Tunneling, XWindows Tunneling, ...) - can be set to operate on
any port (<1024 usually requires root privilege).
Loki (ICMP Echo R/R, UDP 53)
NT - Back Orifice (BO2K) plugin BOSOCK32
Reverse WWW Shell Server - looks like a HTTP
client (browser). App headers mimic HTTP GET
and response commands.
CMSC 691I
Clandestine Channels
37
Linux 2.0 ISN Generator
CMSC 691I
Clandestine Channels
38
Linux ISN and ID generator
CMSC 691I
Clandestine Channels
39
Open BSD ISN generator
CMSC 691I
Clandestine Channels
40