Computer Sciences Dept.

Computer Security and Cryptography Reading Group
January 2006 List

Date &
Location
Reading
Thursday, January 5, 2006
3 PM - 4 PM
7331 CS

Z. Su
Z. Su, G. Wassermann
UC Davis
The Essence of Command Injection Attacks in Web Applications
POPL'06

URL: http://www.cs.ucdavis.edu/~su/publications/popl06.pdf

Web applications typically interact with a back-end database to retrieve persistent data and then present the data to the user as dynamically generated output, such as HTML web pages. However, this interaction is commonly done through a low-level API by dynamically constructing query strings within a general-purpose programming language, such as Java. This low-level interaction is ad hoc because it does not take into account the structure of the output language. Accordingly, user inputs are treated as isolated lexical entities which, if not properly sanitized, can cause the web application to generate unintended output. This is called a command injection attack, which poses a serious threat to web application security. This paper presents the first formal definition of command injection attacks in the context of web applications, and gives a sound and complete algorithm for preventing them based on context-free grammars and compiler parsing techniques. Our key observation is that, for an attack to succeed, the input that gets propagated into the database query or the output document must change the intended syntactic structure of the query or document. Our definition and algorithm are general and apply to many forms of command injection attacks. We validate our approach with SqlCheck, an implementation for the setting of SQL command injection attacks. We evaluated SqlCheck on real-world web applications with systematically compiled real-world attack data as input. SqlCheck produced no false positives or false negatives, incurred low runtime overhead, and applied straightforwardly to web applications written in different languages.

Thursday, January 12, 2006
3 PM - 4 PM
7331 CS

J. Crowcroft

L. Zhang
M. Costa, J. Crowcroft, M. Castro, A. Rowstron, L. Zhou, L. Zhang, P. Barham
U. Cambridge / MSR Cambridge
Vigilante: end-to-end containment of internet worms
SOSP'05

URL: http://doi.acm.org/10.1145/1095810.1095824

Worm containment must be automatic because worms can spread too fast for humans to respond. Recent work has proposed network-level techniques to automate worm containment; these techniques have limitations because there is no information about the vulnerabilities exploited by worms at the network level. We propose Vigilante, a new end-to-end approach to contain worms automatically that addresses these limitations. Vigilante relies on collaborative worm detection at end hosts, but does not require hosts to trust each other. Hosts run instrumented software to detect worms and broadcast self-certifying alerts (SCAs) upon worm detection. SCAs are proofs of vulnerability that can be inexpensively verified by any vulnerable host. When hosts receive an SCA, they generate filters that block infection by analysing the SCA-guided execution of the vulnerable software. We show that Vigilante can automatically contain fast-spreading worms that exploit unknown vulnerabilities without blocking innocuous traffic.

Thursday, January 19, 2006
3 PM - 4 PM
7331 CS

J. Ma

A. Snoeren

G. Voelker

S. Savage
M. Vrable, J. Ma, J. Chen, D. Moore, E. Vandekieft, A. Snoeren, G. Voelker, S. Savage
UCSD
Scalability, Fidelity and Containment in the Potemkin Virtual Honeyfarm
SOSP'05

URL: http://www.cs.ucsd.edu/~savage/papers/Sosp05.pdf

The rapid evolution of large-scale worms, viruses and botnets have made Internet malware a pressing concern. Such infections are at the root of modern scourges including DDoS extortion, on-line identity theft, SPAM, phishing, and piracy. However, the most widely used tools for gathering intelligence on new malware—network honeypots—have forced investigators to choose between monitoring activity at a large scale or capturing behavior with high fidelity. In this paper, we describe an approach to minimize this tension and improve honeypot scalability by up to six orders of magnitude while still closely emulating the execution behavior of individual Internet hosts. We have built a prototype honeyfarm system, called Potemkin, that exploits virtual machines, aggressive memory sharing, and late binding of resources to achieve this goal. While still an immature implementation, Potemkin has emulated over 64,000 Internet honeypots in live test runs, using only a handful of physical servers.

Friday, January 27, 2006
11 AM - 12 PM
7331 CS

X. Y. Wang

H. Yu
X. Y. Wang, H. Yu
Shandong U.
How to Break MD5 and Other Hash Functions
EuroCrypt'05

URL: http://www.infosec.sdu.edu.cn/paper/md5-attack.pdf

MD5 is one of the most widely used cryptographic hash functions nowadays. It was designed in 1992 as an improvement of MD4, and its security was widely studied since then by several authors. The best known result so far was a semi free-start collision, in which the initial value of the hash function is replaced by a non-standard value, which is the result of the attack. In this paper we present a new powerful attack on MD5 which allows us to find collisions efficiently. We used this attack to find collisions of MD5 in about 15 minutes up to an hour computation time. The attack is a differential attack, which unlike most differential attacks, does not use the exclusive-or as a measure of difference, but instead uses modular integer subtraction as the measure. We call this kind of differential a modular differential. An application of this attack to MD4 can find a collision in less than a fraction of a second. This attack is also applicable to other hash functions, such as RIPEMD and HAVAL.


< Back to the Sec & Crypto reading group page
Created and maintained by Mihai Christodorescu (http://www.cs.wisc.edu/~mihai)
Created: Fri Jan 27 11:58:07 2006
Last modified: Fri Jan 27 11:59:05 Central Standard Time 2006
 
Computer Science | UW Home