Computer Sciences Dept.

Computer Security and Cryptography Reading Group
August 2004 List

Date &
Location
Reading
Wednesday, August 11, 2004
5331 CS 11:30 AM - 12:30 PM
T. Ogiso, Y. Sakabe, M. Soshi, A. Miyaji
Japan Advanced Institute of Science and Technology
Software Obfuscation on a Theoretical Basis and Its Implementation
Published in IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, Special Section on Cryptography and Information Security, E86-A(1), pp. 176-186, 2003.

URL: http://grampus.jaist.ac.jp:8080/miyaji-lab/member/PaperPS/ieice03-1-tamper-soft.pdf

Local copy: http://www.cs.wisc.edu/areas/sec/ieice03-1-tamper-soft.pdf

Software obfuscation is a promising approach to protect intellectual property rights and secret information of software in untrusted environments. Unfortunately previous software obfuscation techniques share a major drawback that they do not have a theoretical basis and thus it is unclear how effective they are. Therefore we propose new software obfuscation techniques in this paper. The techniques are based on the difficulty of interprocedural analysis of software programs. The essence of our obfuscation techniques is a new complexity problem to precisely determine the address a function pointer points to in the presence of arrays of function pointers. We show that the problem is NP-hard and the fact provides a theoretical basis for our obfuscation techniques. Furthermore, we have already implemented a prototype tool that obfuscates C programs according to our proposed techniques and in this paper we describe the implementation and discuss the experiments results.

Wednesday, August 25, 2004
5331 CS 11:30 AM - 12:30 PM
D. Brumley, D. Song
CMU
Privtrans: Automatically Partitioning Programs for Privilege Separation
USENIX Security'04

URL: http://www.cs.wisc.edu/areas/sec/songbrumley-usenix04.pdf

Privilege separation partitions a single program into two parts: a privileged program called the monitor and an unprivileged program called the slave. All trust and privileges are relegated to the monitor, which results in a smaller and more easily secured trust base. Previously the privilege separation procedure, i.e., partitioning one program into the monitor and slave, was done by hand. We design techniques and develop a tool called Privtrans that allows us to automatically integrate privilege separation into source code, provided a few programmer annotations. For instance, our approach can automatically integrate the privilege separation previously done by hand in OpenSSH, while enjoying similar security benefits. Additionally, we propose optimization techniques that augment static analysis with dynamic information. Our optimization techniques reduce the number of expensive calls made by the slave to the monitor. We show Privtrans is effective by integrating privilege separation into several open-source applications.


< Back to the Sec & Crypto reading group page
Created and maintained by Mihai Christodorescu (http://www.cs.wisc.edu/~mihai)
Created: Wed Aug 13 10:30:10 CDT 2003
Last modified: Fri Jul 02 10:08:55 2004
 
Computer Science | UW Home