Towards adding verifiability to web-based Git repositories

Hammad Afzali, Santiago Torres-Arias, Reza Curtmola, Justin Cappos

    Research output: Contribution to journalArticlepeer-review

    Abstract

    Web-based Git hosting services such as GitHub and GitLab are popular choices to manage and interact with Git repositories. However, they lack an important security feature - the ability to sign Git commits. Users instruct the server to perform repository operations on their behalf and have to trust that the server will execute their requests faithfully. Such trust may be unwarranted though because a malicious or a compromised server may execute the requested actions in an incorrect manner, leading to a different state of the repository than what the user intended. In this paper, we show a range of high-impact attacks that can be executed stealthily when developers use the web UI of a Git hosting service to perform common actions such as editing files or merging branches. We then propose le-git-imate, a defense against these attacks, which enables users to protect their commits using Git's standard commit signing mechanism. We implement le-git-imate as a Chrome browser extension. le-git-imate does not require changes on the server side and can thus be used immediately. It also preserves current workflows used in Github/GitLab and does not require the user to leave the browser, and it allows anyone to verify that the server's actions faithfully follow the user's requested actions. Moreover, experimental evaluation using the browser extension shows that le-git-imate has comparable performance with Git's standard commit signature mechanism. With our solution in place, users can take advantage of GitHub/GitLab's web-based features without sacrificing security, thus paving the way towards verifiable web-based Git repositories.

    Original languageEnglish (US)
    Pages (from-to)405-436
    Number of pages32
    JournalJournal of Computer Security
    Volume28
    Issue number4
    DOIs
    StatePublished - 2020

    Keywords

    • GitHub
    • browser extension
    • commit signature
    • signed commit
    • verification record

    ASJC Scopus subject areas

    • Software
    • Safety, Risk, Reliability and Quality
    • Hardware and Architecture
    • Computer Networks and Communications

    Fingerprint Dive into the research topics of 'Towards adding verifiability to web-based Git repositories'. Together they form a unique fingerprint.

    Cite this