Securing Decentralized Software Installation and Updates

Public Deposited
Resource Type
Creator
Abstract
  • Software installation and updates have become simpler for end users in recent years. The commoditization of the internet has enabled users to obtain more software than ever before from more developers than ever before. Additionally, software installation now requires less input from users, allowing installation with merely a single click or tap. At the same time, different software installation models with varying levels of security, usability and freedom have emerged. In centralized environments, available software is limited by an authority, whereas decentralized environments allow users and developers to interact freely. Decentralized software installation ecosystems pose the most significant security challenges due to the lack of centralized control. In this thesis we identify, through systematic evaluation of prominent systems, limitations in the way operating systems provide security guarantees (including verification of integrity, authentication, and establishment of trust) in decentralized software installation environments. We address these limitations by designing tools and protocols that help secure software installation and updates at each of the three installation stages (software discovery, initial install and updates, and enforcing security policies). Specifically, we propose a cryptographically verifiable protocol for developers to delegate digital signature privileges to other certificates (possibly owned by other developers) without requiring a centrally trusted public key infrastructure. Our proposal allows trust to be delegated during software updates without user involvement. We also propose a flexible policy for developers to authenticate and share privileges amongst applications being executed simultaneously on a device. We evaluate these proposals and show that they are direct improvements over currently deployed real-world systems. We discuss the design and implementation of an install-time architecture allowing users to query crowdsourced expert information sources to gain trust in software they are about to install. We motivate the requirements for such a system, designed to mirror the security semantics of centralized environments. The proposed protocols and tools have been implemented as proofs-of-concept using Google's Android mobile operating system. We leverage a large application dataset to inform our design decisions and demonstrate backward compatibility with existing applications. While the implementations are specific to Android, we discuss how our general proposals extend to other decentralized environments.

Subject
Language
Publisher
Thesis Degree Level
Thesis Degree Name
Thesis Degree Discipline
Identifier
Rights Notes
  • Copyright © 2014 the author(s). Theses may be used for non-commercial research, educational, or related academic purposes only. Such uses include personal study, research, scholarship, and teaching. Theses may only be shared by linking to Carleton University Institutional Repository and no part may be used without proper attribution to the author. No part may be used for commercial purposes directly or indirectly via a for-profit platform; no adaptation or derivative works are permitted without consent from the copyright owner.

Date Created
  • 2014

Relations

In Collection:

Items