Language Techniques for Automated Verifiction of Web Security
Skip to main content
eScholarship
Open Access Publications from the University of California

UC San Diego

UC San Diego Electronic Theses and Dissertations bannerUC San Diego

Language Techniques for Automated Verifiction of Web Security

Abstract

Web applications are often responsible for sensitive user data, but areexceedingly difficult to secure. % On the backend, they lack effective tools to prevent data leakage, meanwhile bugs in the browser can compromise otherwise secure code. % While developers have improved this situation by employing informal bugfinding techniques such as fuzzing, new bugs are commonly discovered and exploited in the wild. % Formal verification tools promise to stem the tide of bugs, but they are difficult to use in practice; theorem provers are cumbersome while general-purpose automated verifiers fail to scale to real-world programs. % Domain-specific languages (DSLs) allow us to make automated verification tractable by ``baking in'' a particular verification problem to the language semantics. % In this dissertation we introduce three such DSLs designed to automatically provide security guarantees for web applications: % \begin{enumerate} \item \emph{CT-Wasm}, an extension to the WebAssembly type system which provides formally guaranteed protection against timing side-channel attacks. \item \emph{Scooter}, a domain-specific language which prevents server-side data leakage in database-backed applications. \item \emph{VeRA}, a subset of C++ which verifies the correctness of range analysis in Firefox. \end{enumerate}

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View