%T Rex: A Toolset for Reproducing Software Experiments
%D October 19, 2010
%Z Tue, 19 Oct 10 15:30:00 MST
%R TR10-04
%I The Department of Computer Science, University of Arizona
%U ftp://ftp.cs.arizona.edu/reports/2010
%X Being able to reproduce experiments is the cornerstone of the scientific method. Software experiments are hard to reproduce even if identical hardware is available because external data sets could have changed, software used in the original experiment may be unavailable, or the input parameters for the experiment may not be documented. This paper presents Rex, a toolset that allows one to record an experiment and archive its apparatus, replay an experiment, conduct new experiments, and compare differences between experiments. The execution time overhead of recording experiments is on average about 1.6% and the space overhead of archiving an experiment ranges from 5 to 7GB.
%K
%Y
%A Lewis, Russell
%T Bodyguard: Running Protected Applications in Untrusted Operating Systems
%D April 14, 2010
%Z Fri, 21 May 10 10:55:00 MST
%R TR10-03
%I The Department of Computer Science, University of Arizona
%U ftp://ftp.cs.arizona.edu/reports/2010
%X In this thesis, we present a method to run an application within a commodity operating system without
risking either the correctness or privacy of the application should the operating system be
compromised. Using a hypervisor, we invisibly intercept all attempts by the operating system to
corrupt the state of the application or access its data. We accomplish this first by tracking the current
state of the virtual space and verifying all actions by the operating system which might change this
state, and second by replacing the contents of physical pages with randomly generated restorable
signatures when the operating system attempts to access the contents. The system is sufficiently
flexible to allow a binary-unmodified operating system to perform typical tasks such as copy-on-write,
fork(), and swap, and sufficiently automatic that the protected application only needs small
modifications. Finally, we present automatic methods for adapting a legacy application which are able
to provide complete and seamless protection for many applications.
%K keywords
%Y
%A Krishnamoorthy, Nithya
%T Static Detection of Disassembly Errors
%D May 14, 2010
%Z Tue, 11 May 10 12:57:06 MST
%R TR10-02
%I The Department of Computer Science, University of Arizona
%U ftp://ftp.cs.arizona.edu/reports/2010
%X The first step in understanding the semantics of a binary executable is to extract the
assembly instructions that could get executed if it is allowed to run. This sequence
of assembly instructions, typically obtained by static disassembly, is assumed to be
correct by many analysis techniques that build on it. However, static disassembly
can be incorrect; there can be accidental errors during disassembly or a disassem-
bler can be deliberately misled by binary obfuscation techniques, rendering this
assumption invalid.
This thesis proposes a machine learning approach to statically identify dis-
assembly errors in a static disassembly, so that such potential errors can be examined
more closely, using, for example, dynamic analysis. We show that a decision tree
classifier that is built using this approach identifies most known disassembly errors
in the malware that we used for evaluation.
%K keywords
%Y
%A Madhavan, Arun
%A Zhang, Beichuan
%T NAT Traversal by Tunneling
%D May 11, 2010
%Z Tue, 11 May 10 11:34:31 MST
%R TR10-01
%I The Department of Computer Science, University of Arizona
%U ftp://ftp.cs.arizona.edu/reports/2010
%X Network Address Translation (NAT) is widely prevalent solution adopted to
alleviate the IPv4 address exhaustion problem. Due to the use of private IP
addresses on hosts behind the NAT, it is not possible for external hosts to
initiate communication with these hosts. This poses a hurdle to many
emerging applications, such as VoIP and P2P. Although a plethora of NAT
traversal solutions have been proposed in recent years, they suffer
from being application-specific, complex, or requiring some behavioral
compliance from the NAT.
The work presents an simple technique that is generic, works with nested
NATs, is incrementally deployable and only expects minimalistic common
behavior across all NAT implementations. The design includes the use of UDP
tunnels and a sequence of NAT addresses and private IP addresses to uniquely
identify a host. Simple and incrementally deployable changes are proposed to
DNS to learn the addresses.
%K
%Y
%A Fowler, Joe
%A Kobourov, Stephen
%A Estrella-Balderrama, Alejandro
%T Colored Simultaneous Geometric Embeddings and Universal Pointsets
%D 5/14/09
%Z Mon, 05 Jan 09 00:00:00 GMT
%R TR09-02
%I The Department of Computer Science, University of Arizona
%X Proteins are sequences of amino acids that fold into secondary and tertiary structure, which plays an important role in their function. As biologists have yet to discover the rules that govern how a protein folds in nature from its underlying sequence, this thesis tries a new approach to secondary structure prediction using dynamic programming on the input protein sequence. The sequence is broken into short words, where each word has a probability of folding into the three different types of secondary structure. By combining word probabilities with an abstraction called contexts, which model a run of the same secondary structure type up to a bounded length, the optimal prediction for an entire sequence can be computed via dynamic programming. The structure probabilities for words are learned from a training set of sequences with known secondary structure using linear programming. The combined approach to prediction using linear and dynamic programming achieves high accuracy on protein sequences whose words were observed in the training set, but is far less accurate on sequences with unobserved words not seen in the training set. The challenge for future work lies in interpolating probabilities for unobserved words to achieve improved generalization.
%K keywords
%Y
%A Huang, Huilong
%T Efficient Routing in Wireless Ad Hoc Networks
%D August 12, 2008
%Z Mon, 03 Jan 08 00:00:00 GMT
%R TR08-05
%I The Department of Computer Science, University of Arizona
%X We describe a new file system that provides, at the same time,
both name and content based access to files. To make this possible,
we introduce the concept of a semantic directory. Every
semantic directory has a query associated with it. When a user
creates a semantic directory, the file system automatically creates
a set of pointers to the files in the file system that satisfy
the query associated with the directory. This set of pointers is
called the query-result of the directory. To access the files
that satisfy the query, users just need to de-reference the
appropriate pointers. Users can also create files and sub-directories
within semantic directories in the usual way. Hence, users can
organize files in a hierarchy and access them by specifying path names,
and at the same time, retrieve files by asking queries that
describe their content.
Our file system also provides facilities for query-refinement and customization. When a user creates a new semantic sub-directory within a semantic directory, the file system ensures that the query-result of the sub-directory is a subset of the query-result of its parent. Hence, users can create a hierarchy of semantic directories to refine their queries. Users can also edit the set of pointers in a semantic directory, and thereby modify its query-result without modifying its query or the files in the file system. In this way, users can customize the results of queries according to their personal tastes, and use customized results to refine queries in the future. That is, users do not have to depend solely on the query language to achieve these objectives.
Our file system has many other features, including semantic mount-points that allow users to access information in other file systems by content. The file system does not depend on the query language used for content-based access. Hence, it is possible to integrate any content-based access mechanism into our file system.
%K dissertation
%Y
%A Coffman, E.G., Jr.
%A Downey, Peter
%A Winkler, Peter
%T Packing Rectangles in a Strip
%D April 8, 1997
%Z Wed, 08 Jan 97 00:00:00 GMT
%R TR97-04
%I The Department of Computer Science, University of Arizona