380 likes | 782 Views
Covert Channels. Presented by Michael LeMay. Introduction. Covert channels are a means of communication between two processes Processes may be: Authorized to communicate, but not in the way they actually are Prohibited from communicating One process is a Trojan Transmits data covertly
E N D
Covert Channels Presented by Michael LeMay
Introduction • Covert channels are a means of communication between two processes • Processes may be: • Authorized to communicate, but not in the way they actually are • Prohibited from communicating • One process is a Trojan • Transmits data covertly • The other is a Spy • Receives data
Outline • Definitions • Covert channel examples • Local channels • Remote (network) channels • Channel discovery and analysis • Channel mitigation
Where and What? • For a covert channel to exist, it must be the case that: • A multi-level system is in use • A resource (or one of its attributes) is shared by high (Trojan) and low (spy) processes • Types of channels: • Storage channel • Data stored by one process to be read by another • Timing channel • Some system parameter is modulated
Why Are They Important? • Difficult to detect • Can operate for a long time and leak a substantial amount of classified data to uncleared processes • Can compromise an otherwise secure system, including one that has been formally verified! • Must be considered to achieve high government certification levels
Cache Missing for Fun and Profit • Hyper-Threading permits two threads to execute on a single Pentium 4 core • Cache is shared between threads (Trojan and spy) Arstechnica.com Percival 2005, “Cache Missing for Fun and Profit”
Cache Missing (cont.) • Trojan horse (in high process) runs one thread, spy runs another • Trojan allocates 2KB array (in L1 cache) • Spy allocates 8KB array (in L1 cache) Trojan (in OpenSSL) 2KB 8KB Spy Nuwen.net
Cache Missing (cont.) • To transmit a 1 bit, Trojan accesses corresponding location in array, evicting one spy cache line • When spy reloads cache line from L2 cache, additional 30 cycle latency • 32 bits per 5000 cycles, < 25% error rate • 400KB/s on 2.8GHz processor • RSA/DSA private key usually < 256B
Acoustic Keylogging LeMay, Tan 2006, “Acoustic Surveillance of Physically Unmodified PCs”
H E L L O _ W O R L D
h: 0132 0202 These signals only available when CPU frequency scaling is enabled James Walker, UWEC: FAWAVE
Soft Tempest #1 • Transmit AM radio using your CRT! Kuhn, Anderson 1998, “Soft Tempest: Hidden Data Transmission Using Electromagnetic Emanations”
Soft Tempest #2 • Can hide data in dither patterns • (image on left is CRT, image on right is TEMPEST receiver image)
ICMP Channels • ICMP echo request/reply can tunnel arbitrary user data • Payload capacity depends on path MTU (this feature often used to measure PMTU) www.erg.abdn.ac.uk/users/gorry Sohn, Noh, Moon 2003, “Support Vector Machine Based ICMP Covert Channel Attack Detection”
HTTP Channels (legitimate!) • SOAP messages (web services) use covert channels: HTTP tunnels • HTTP tunneling supported by almost all applications that wish to circumvent firewalls • Instant messaging • Hotmail • …
DNS Channels • DNS can hold arbitrary text in its various fields • High bandwidth: 110-220 bytes per request! • Used for SSH, streaming audio • Not yet filtered by firewalls • Proof of concept available: OzyManDNS (http://www.doxpara.com)
Analysis Techniques • Information flow • Operates at high-level language level • Often overestimates flows, flags non-existant flows • Noninterference • Analysis performed on abstract model, not real system • Shared Resource Matrix • Very popular with systems folks Sabelfeld, Myers 2003, “Language-Based Information-Flow Security”
If row has both R and M, attribute may permit covert channel to exist Shared Resource Matrix Kemmerer 1983, “Shared Resource Matrix Methodology: An Approach to Identifying Storage and Timing Channels”
Fuzzy Time • All covert timing channels rely on accurate clock • You can either attempt to disrupt the timing of the channel (add noise or slow it down), or reduce the accuracy of the clock • VAX security kernel slows down timer interrupt periods to be uniformly distributed with a mean of 20 ms. • Randomly modifies the completion time of I/O requests, so they can’t be used as a clock Hu 1991, “Reducing Timing Channels with Fuzzy Time”
Lattice Scheduling • Many local covert channels require simultaneous operation of spy and Trojan • Process scheduler can be modified to prevent this situation • Recall cache missing attack… • This is actually the same sort of attack presented in this VAX security kernel paper! • Demonstrates that covert channels haven’t been taken seriously Hu 1992, “Lattice Scheduling and Covert Channels”
One Question You Will Ask • Do covert channels pose a real threat? • Some are difficult to exploit, requiring a skillful attacker • Must implant a Trojan horse • Trojan must locate sensitive data • …Encode it • …Leak it over a long enough period to not be detected • Must also be run alongside low-clearance detection program • Often the domain of government/military/corporate systems • Others are fairly easy to exploit: • Acoustic keylogger • HTTP tunnels • Definitely a threat!
Conclusions • Difficult to detect • Only important in multi-level systems • Can exist even in formally verified systems • Can transmit enough data to compromise cryptographic or other confidential data • Should be analyzed during system design • Can exist in software and/or hardware
References • Wray; “An Analysis of Covert Timing Channels,” Research in Security and Privacy, 1991. Proceedings., 1991 IEEE Computer Society Symposium on • Hu; “Reducing Timing Channels with Fuzzy Time,” Research in Security and Privacy, 1991. Proceedings., 1991 IEEE Computer Society Symposium on • Kemmerer; “Shared resource matrix methodology: an approach to identifying storage and timing channels,” CM Transactions on Computer Systems (TOCS) 1983
References • Sohn, Noh, Moon; “Support Vector Machine Based ICMP Covert Channel Attack Detection,” Computer Network Security: Second International Workshop on Mathematical Methods, Models, and Architectures for Computer Network Security, MMM-ACNS 2003 • Buchanan, Llamas; “Covert Channel Analysis and Detection with a Reverse Proxy Servers using Microsoft Windows”
References • Moskowitz, Newman, Crepeau, Miller; “A detailed mathematical analysis of a class of covert channels arising in certain anonymizing networks”, Naval Research Laboratory • Sabelfeld, Myers; “Language-Based Information-Flow Security,”Selected Areas in Communications, IEEE Journal on, 2003
References • Kelem, Feiertag; “A Separation Model for Virtual Machine Monitors,” Proc. IEEE Symposium on Security and Privacy, 1991 • Giffin, Greenstadt, Litwack, Tibbetts; “Covert Messaging through TCP Timestamps,”Proceedings of the Privacy Enhancing Technologies Workshop, 2002 • Kuhn, Anderson; “Soft Tempest: Hidden Data Transmission Using Electromagnetic Emanations,” Information Hiding, Second International Workshop, IH, 1998
References • Hu; “Lattice Scheduling and Covert Channels,” Research in Security and Privacy, 1992 • LeMay, Tan; “Acoustic Surveillance of Physically Unmodified PCs,” Security and Management 2006