I joined UVA's Computer Science
Department as an assistant professor in November 1999 after
completing my PhD, SM and SB degrees at MIT.
My current research seeks to enable the cost-effective production
of complex computer systems that can be trusted for critical
applications even in the presence of malicious attackers. This goal
involves many traditional research areas, including security, software
engineering, programming languages, cryptography, and networking.
This Spring I am teaching cs302: Theory of Computation. I am also involved with Adrienne Felt's course on web browser architectures. In Fall 2007, I taught a seminar on web application security. In Spring 2007, I taught cs150: Computer Science from Ada and Euclid to Quantum Computing and the World Wide Web, an introductory Computer Science course intended for students with no prior computing background. I am chair of the CS BA committee that is creating a Computer Science BA degree for students in the College of Arts and Sciences. We created the new interdiscplinary major in Computer Science that was approved by the College of Arts and Sciences in February 2006.
|
Students |
I have the privilege of working with a team of extraordinary students, including both graduate
and undergraduate students who participate fully in my research group.
If you are a UVa undergraduate or graduate student interested in joining
my research group, please look over our project pages (below), browse
our group blog, and send me email
to arrange a meeting or drop by my office
hours. If you are considering applying to our PhD program, please
read my advice for prospective
research students. If you think you are ready for graduate school,
you may also want to try our previous pre-qualification
exam [PDF].
Active Projects
Automatic
Identification and Protection of Security-Critical
Data with Westley Weimer (NSF CyberTrust)
Protects vulnerable programs by storing security-critical data in a
separate store that is protected by page-level hardware mechanisms,
except during short update periods.
Uses the disk processor to improve virus detection and response by
recognizing viruses by their disk-level activity.
Helix with
Jack Davidson, Yan
Huang, John Knight,
Anh Nguyen-Tuong, Jeff Shirley, Westley Weimer and
colleagues at UC Davis, UCSB, New
Mexico (MURI)
The Helix self-regenerative architecture is designed to protect systems
from sophisticated and motivated adversaries by automatically and
continuously changing the attack surface of a running system.
RFID tags have already been widely deployed in security-sensitive
applications including public transportation tokens and access
cards. These applications raise important security and
privacy concerns, but current design methods are ad hoc and have proven
insufficient. We are
investigating new approaches to cryptography, protocol, and system
design to provide adequate security on minimal devices.
Mashups combine scripts from multiple sources and deliver them to
clients as a single page. We are investigating mechanisms that allow
clients to enforce meaningful security policies on untrusted content in
mashup web pages.
Explores a systems framework that uses structured artificial diversity
to provide high security assurances against large classes of attacks.
Q: How realistic is the depiction of SIS in the James Bond films?
James Bond, as Ian Fleming originally conceived him was based on
reality. But any author needs to inject a level of glamour and
excitement beyond reality in order to sell. By the time the filmmakers
focused on Bond the gap between truth and fiction had already
widened. Nevertheless, staff who join SIS can look forward to a career
that will have moments when the gap narrows just a little and the
certainty of a stimulating and rewarding career which, like Bond's, will
be in the service of their country.
Q: Why can't I download or write to you via this site?
SIS has kept this site browse only for security reasons.
From the FAQ of
the Secret Intelligence Service
Perracotta with Jinlin Yang (NSF CPA)
Develops techniques for automatically inferring temporal properties of
real world software using dynamic analysis.
Social networking platforms integrate third-party content into the site
and give third-party developers access to user data. These open
interfaces pose serious privacy risks by exposing user data to
third-party developers. We are developing a privacy-by-proxy
design for a privacy-preserving API.
Recent Projects
Genesis
with Jack Davidson, John Knight, and Anh Nguyen-Tuong (DARPA)
Explores the potential for using automatically generated diversity at
various levels of abstraction to protect computer systems.
Inexpensive Program
Analysis (NASA, NSF CAREER)
Reducing the cost and improves the scalability of program analysis using
lightweight static analysis (Splint).
Physicrypt
(NSF ITR)
How computing in the physical world impacts security.
Programming the
Swarm (NSF CAREER)
Getting sensible behavior from collections of unreliable, unorganized
components.
Recent and Upcoming Conferences
28th International Conference on
Distributed Computing Systems (ICDCS 2008) (Security and Privacy Track),
Program Committee Member
IEEE Symposium on Security and Privacy (Oakland 2008),
Program Committee Member
Ninth International
Conference on Information and Communications Security (ICICS 2007),
Program Committee Member
14th
ACM Conference on Computer and Communications Security (CCS 2007), Publications Chair
Eighth International
Conference on Information and Communications Security (ICICS 2006),
Program Committee Member and Keynotes Chair
International Conference on Software Engineering (ICSE
2006), Program Committee Member
Verified Software: Theories, Tools,
Experiments (10-14 October 2005), Program Committee Member
ACM Workshop on Program Analysis for
Software Tools and Engineering (PASTE) (Sept
2005), Program Committee Member
Network and
Distributed System Security Symposium (NDSS 2005), Program Committee
Member
2nd International
Workshop on Dynamic Analysis (WODA) (May 2004), General and PC co-chair
|
|
Spring 2008: cs302: Theory of Computation
Fall 2007: cs851: Web Application Security Seminar
Spring 2007: cs150: Computer Science: From
Ada and Euclid to Quantum Computers and the World Wide Web
Fall 2006: cs205: Engineering Software
Spring 2006: cs216: Program and Data Representation
Spring 2005: cs588: Cryptology: Principles and Applications
Fall 2004: cs851: Malware Seminar
|
Spring 2004: cs851/651: Cryptography Applications Bistro (Crab Seminar)
Fall 2003: cs201J: Engineering
Software
Spring 2003: cs200: Computer Science: From
Ada and Euclid to Quantum Computers and the World Wide Web
Spring 2003: cs851: Biologically-Inspired Computing
Fall 2002: cs201J: Engineering Software
|
|
|
David Evans University of Virginia Department of Computer Science |
David Evans evans@cs.virginia.edu |