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

All Science Journal Classification (ASJC) codes

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

Keywords

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

Fingerprint

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

Cite this