|
|
Multi Part ComputationModels and protocols for securely computing on sensitive data held disjointly by different organizations to advance common goals. |
|
|
|
Future Internet ArchitectureAssess the various NSF-funded proposals for a Future Internet, with special emphasis on security. |
|
|
|
DerailerFinding security holes in web applications by lightweight static analysis; eliminates need for explicit security policy by looking for anomalies in access control. |
|
|
|
Lattice-based CryptographyLattices are a new mathematical basis for cryptography that hold the promise to more efficient and more secure systems, that have so far resisted quantum attacks. We are |
|
|
|
DOIDEAutomatic discovery of errors in large applications. In combination with CodePhage, and TwoStep, enables the construction of an automatic error discovery and repair system that automatically uncovers and fixes errors before they appear in the wild. |
|
|
|
TwoStepAutomatic repair of errors in large software systems via automatic patch generation techniques. |
|
|
|
CodePhageAutomatic transfer of correct security checks between multiple applications, so that vulnerable applications automatically acquire secure code from other applications. |
|
|
|
SIFTAutomatic detection and filtering of inputs that exploit security vulnerabilities. Provides a guarantee that no input that passes the filter can trigger certain vulnerabilities. |
|
|
|
The Ascend Secure ProcessorOutsourcing computation to the cloud has a difficult set of privacy challenges, a primary one being that the client cannot really trust cloud or application software. Encrypted |
|
|
|
Program ObfuscationCan we scramble (“obfuscate”) programs in such a way that they remain functional but their inner works are unintelligible to an adversary that tries to reverse-engineer it? |
|
|
|
Secure and dependable software by designExpress security rules, extract evidence from designs, software, etc. to help designers analyze the system and find evidence that supports rules. |
|
|
|
Ur/WebA programming language for web applications that rules out many security problems by construction. |
|
|
|
BedrockA platform for building software with strong security guarantees, via machine-checked mathematical proofs about assembly code; current focuses include deriving a correct and high-performance DNS server from a specification. |
|
|
|
AmberDeveloping a new approach to building web applications in which users directly control their own data, and can decide which applications are allowed to access what data, and with whom the data is shared. |
|
|
|
KeytreeDesigning a public-key infrastructure that provides nameto- key lookup with strong security properties in the face of a large number of nodes being compromised, using a form of consensus without server-to-server coordination. |
|
|
|
Secure OS kernelsDeveloping OS kernels that can provide strong security guarantees, through the use of high-level languages like Go, or through formal proofs of correctness using a proof assistant like Coq. |
|
|
|
Proof-carrying DataAugment all messages in the system with proofs of how they were computed. This is composable. Each new computation incorporates the proofs that were attached to its inputs. |
|
|
|
Leakage-resilient CyptographyCan we build cryptographic systems that maintain security even if key information leaks continuously over time? |
|
|
|
Computing on Encrypted DataThe theory and practice of processing data in encrypted form, and its applications in secure cloud computing. This includes design of powerful tools such as fully homomorphic encryption, functional encryption and protocols for secure multi-party computation. |