Projects

Though all of SSL’s research initiatives—past and present—revolve around ensuring secure operation of computer systems, the specific areas addressed by the team vary greatly. Initiatives are grouped into the following categories:

    The Update Framework (TUF)

    Adopted
    Many people are using this. Join them!
    Software Updates and Security

    Software must be updated frequently to not only ensure improved operation, but also to patch security flaws. Unfortunately, the act of performing an update can itself be a way to attack a computer, if a malicious update is installed. TUF is a comprehensive, flexible framework to secure software updates even in situations where the software repository is compromised. Developers can integrate TUF into any software update system, or native programming language due to its concise, self-contained architecture and specification. It offers both developers and users protection from a host of potential attacks.

    Uptane

    Adopted
    Many people are using this. Join them!
    Software Updates, Security, and Internet of Things

    Cars today use a truly enormous amount of software, and, like any software, it contains bugs. Uptane provides a mechanism to securely distribute software updates to cars. The framework can counter a comprehensive array of security attacks, and is resilient to partial compromises, while addressing automotive specific vulnerabilities and limitations. It was named one of the Top Security Innovations of 2017 by Popular Science Magazine. Uptane is a Joint Development Foundation project of the Linux Foundation, operating under the formal title of Joint Development Foundation Projects, LLC, Uptane Series.

    in-toto

    Adopted
    Many people are using this. Join them!
    Software Updates and Security

    Do you know who has handled your software prior to its installation on your machine? Even if developers are careful to secure each step in their products' supply chain, there is little assurance about what happens in-between these steps. The in-toto system holistically enforces the integrity of a software supply chain by gathering and signing information about each step in the process. As such, in-toto provides accountability about how software is written, packaged and distributed...and by who.

    gittuf

    Sprouting
    We're ready for use. Early adopters wanted!
    Security

    gittuf provides a security layer for Git using some concepts introduced by The Update Framework (TUF). Among other features, gittuf handles key management for all developers on the repository, allows you to set permissions for repository branches, tags, files, etc., lets you use new cryptographic algorithms (SHA256, etc.), protects against other attacks Git is vulnerable to, and more — all while being backwards compatible with GitHub, GitLab, etc.

    The Archive Framework (TAF)

    Sprouting
    We're ready for use. Early adopters wanted!
    Security

    Built on top of The Update Framework (TUF), TAF leverages TUF's security capabilities to protect Git repositories and provide archival authentication. Primarily applied in the legal field, it aims to enable government institutions to secure their entire legal supply chain and meet the standards for authentication and preservation set forth in The Uniform Electronic Legal Materials Act. Additionally, a key objective of TAF is to ensure that documents stored in Git repositories remain accessible and verifiable, not just in the immediate future, but for decades and even centuries to come.

    Lind

    Sprouting
    We're ready for use. Early adopters wanted!
    Security and Systems

    Despite the best efforts of developers most operating system kernels contain flaws, and strategies to defend against triggering them have fallen short. Lind is a new virtual machine design that defends against these bugs by locking all system calls into popular access paths. The design is based on the idea that popular paths—ones used every day to access basic system requests—are much less likely to contain vulnerabilities. This limited kernel access reduces the possibility of interaction with flawed code.

    Atoms of Confusion

    Sprouting
    We're ready for use. Early adopters wanted!
    Software Engineering

    Within every confusing piece of software code are small patterns that can lead developers to outputs that radically differ from what was intended. In studying these “atoms of confusion” we look to build a firm empirical foundation for reducing code confusion in software development and, thus, also reduce the frequency of buggy and malfunctioning programs.

    During its tenure, the Secure Systems Laboratory has developed, nurtured, and deployed a number of technologies, which have been sunsetted. These projects addressed password protection, secure experimental testbeds, the factors that influence developer perceptions, as well as a vehicle to securely share (and acquire) donated computing resources from desktops, laptops, or smartphones that in some ways anticipated the growth of cloud computing. Though these technologies are no longer being actively developed, the resources generated by these projects can still largely be accessed. You can learn more about these retired technologies by clicking here.