Constant-Time Webassembly

Total Page:16

File Type:pdf, Size:1020Kb

Constant-Time Webassembly Constant-Time WebAssembly John Renner, Sunjay Cauligi, and Deian Stefan UC San Diego Abstract crypto libraries do not provide constant-time guarantees and, As ever more applications are designed to run inside browsers unfortunately, are still at the mercy of the JavaScript GC [6]. and other JavaScript runtime systems, there is an increasing We argue that high-level runtime systems (e.g., Chrome or need for cryptographic primitives that can be used client-side. Electron) should make it possible for developers to express Unfortunately, implementing cryptographic primitives se- and securely execute computations on secret data. In par- curely in high-level languages is extremely difficult—runtime ticular, developers should be able to declare which data are system components such as garbage collectors and just-in- sensitive and implement cryptographic algorithms without time compilers can trivially introduce timing leaks in seem- worrying about the underlying runtime system introducing ingly secure code. We argue that runtime system designs covert timing channels or optimizing away security-critical should be rethought with such applications—applications code (e.g., secret-memory erasing code) [8]. that demand strong guarantees for the executed code—in Retrofitting JavaScript runtimes to ensure that the high- mind. As a concrete step towards this goal, we propose level semantics of secure computations are preserved when changes to the recent WebAssembly language and runtime executed is, at best, a daunting task. Luckily, most browsers system, supported by modern browsers. Our Constant-Time have added support for WebAssembly (wasm)—a strongly- WebAssembly enables developers to implement crypto algo- typed, low-level machine language [4, 9]. By extending this rithms whose security guarantees will be preserved through still-evolving language with data security types [15], and by compiler optimizations and execution in the browser. retrofitting the still-simple wasm compilers and execution engines to respect these types, we can provide a means for 1 Introduction developers to write secure cryptographic computations in the context of high-level runtime systems. Modern application development has largely migrated to To this end, we outline three extensions to wasm: First, JavaScript and the Web platform. Even desktop applications we extend the wasm language and type system to add sup- (e.g., Spotify, Slack, Visual Studio Code) are now simply Java- port for secret integer values and memory spaces. Second, Script and HTML bundled with a browser-rendering engine.1 we extend the wasm validator, which ensures that wasm While this affords many benefits, secure applications that code is well-formed, to additionally ensure that code does demand encryption (e.g., Signal, Cryptocat, Keybase) are not leak secrets via data or control flow. Finally, we modify notoriously difficult to implement. the wasm execution environment to ensure that these high- Writing secure cryptographic code in low-level languages level security guarantees are preserved during execution, like C, where developers have total control over program even in the presence of low-level compiler optimizations. execution, is challenging; writing secure code in a language We call this modified language and runtime Constant-Time like JavaScript is even more so. To ensure that code handling WebAssembly (ct-wasm). secrets runs in constant time or that secrets are securely erased, C developers often introduce semantic gaps to “trick” the compiler into producing secure code [7, 8]. JavaScript 2 Constant-Time WebAssembly developers must additionally trick the runtime system—in The lack of language support for expressing data sensitivity particular, the just-in-time compiler (JIT) and garbage col- has been a key contributor to many vulnerabilities in crypto lector (GC) of JavaScript engines—to not introduce time vari- implementations. By not distinguishing secret data from abilities or retain secrets that should otherwise be erased. public data, languages have made it easy for developers to Unsurprisingly, no existing JavaScript crypto library—from accidentally and repeatedly leak sensitive data [5, 10, 12, SJCL [16] to libsignal [13]—even attempts to tackle these 14]. Even worse, they have made it easy for compilers to challenges. In many cases, this may not even be possible introduce low-level vulnerabilities (e.g., timing attacks), for at the JavaScript layer—e.g., we cannot prevent a copying code that is deemed secure at the high-level [7, 8, 18]. GC from making additional copies of (secret) data in Java- We propose to make data security explicit at the language- Script alone. Implementing JavaScript APIs in C++ is not level precisely to avoid the pitfalls of existing approaches. In necessarily better either—e.g., WebCrypto [17] and Node.js’s particular, we propose to extend the wasm language to allow 1https://electron.atom.io/ developers to declare the sensitivity of values and memories using labeled types. For example, values of type i32'secret PriSC’18, January 13, 2018, Los Angeles, CA, USA or i64'secret are considered secret in ct-wasm; values of 1 PriSC’18, January 13, 2018, Los Angeles, CA, USA John Renner, Sunjay Cauligi, and Deian Stefan (memory $pub 10) ; public linear memory (10 pages) Optimization Safe? (memory $sec 10 secret) ; secret linear memory (10 pages) ... Constant folding Yes (i32.load $pub 3) ; load $pub[3], i32'public value Dead store elimination May remove writes (i32.load $sec 5) ; load $sec[5], i32'secret value Common subexpression No (remove writes) elimination Figure 1. Memories can be declared secret (like $sec) or Global value numbering No (remove writes) public (like $pub); reads from these memories receive their Strength reduction No (emit unsafe instructions) respective labeled types. Figure 2. Safety of different wasm optimization passes. type i32 or i64, on the other hand, are public.2 Similarly, memory regions declared secret, as shown in Figure 1, are considered secret whereas memories lacking such a secret timing channels. In wasm, and thus ct-wasm, developers qualifier are considered public. specify the types of their imports. By further specifying the To prevent developers from writing wasm code that would secrecy of arguments or return values of imported functions, leak secret data, we extend the wasm type checker to enforce for example, developers can ensure—via the ct-wasm label- several information flow control (IFC) typing rules [7, 15]. type checker—that such code cannot leak the secret data. More concretely, we modify the wasm validation pass to: (1) The demand for IFC labels at a low-level has the additional track secret-labeled data at the instruction-level, assigning role of carrying security-relevant information to wasm com- labels to values in a standard flow-insensitive fashion15 [ ]; pilers and execution environments. Without this information, (2) disallow branches on secret values; and (3) prevent us- an optimization pass may introduce vulnerabilities. Indeed, ing secret values where public values are expected (e.g., most of the optimizations used in Chromium’s V8 wasm public-memory write instructions or public function-call ar- implementation, shown in Figure 2, are unsafe. For example, guments). By conservatively and explicitly extending wasm common subexpression elimination (CSE) and global value with secret-typed memories3 and instructions—essentially numbering (GVN) may remove writes to secret memories blessing language primitives that run in constant-time—we that deliberately exist to scrub sensitive information. Simi- ensure that ct-wasm remains safe as wasm is extended with larly, a strength reduction pass may introduce branches on new, potentially dangerous, features (e.g., threads and garbage secret values or emit variable-time instructions that compute collection): by default, ct-wasm instructions will only com- on secret operands. pute on public data and thus cannot leak sensitive data. The ct-wasm execution environment leverages labels to Though these rules are very conservative, we do not en- prevent such pitfalls when optimizing code. For example, vision crypto implementations to be written directly in ct- the V8 engine can disable all optimizations or introduce wasm; instead, we believe ct-wasm to be a good compila- whole new optimization pipelines for computations that tion target for high-level crypto-oriented programming lan- handle secret data. Though secure, this approach gives guages, such as HACL* [19] and FaCT [7]. These languages up on performance. Hence, we instead propose to slightly already produce low-level code that follow an IFC discipline modify existing optimization passes to preserve the security that is (at least) as restricting as ct-wasm’s. FaCT, for exam- guarantees expected at the language-level. Specifically, we ple, disallows writing secret data to public buffers. Similarly, propose to modify optimizations such as CSE, GVN, and it ensures that there are no branches on secrets by transform- strength reduction to inspect labels and: (1) leave instruc- ing such branches to constant-time arithmetic operations [7], tions that write to secret memories intact, (2) avoid emitting like most constant-time crypto libraries (e.g., libsodium [1], branch instructions on secret values, and (3) avoid emitting OpenSSL [3], and mbedTLS [2]). variable-time instructions when secret values are used as By enforcing IFC at the low-level, high-level languages operands. While these three modifications are necessary
Recommended publications
  • Biting Into Forbidden Fruit
    Biting into the forbidden fruit Lessons from trusting Javascript crypto Krzysztof Kotowicz, OWASP Appsec EU, June 2014 About me • Web security researcher • HTML5 • UI redressing • browser extensions • crypto • I was a Penetration Tester @ Cure53 • Information Security Engineer @ Google Disclaimer: “My opinions are mine. Not Google’s”. Disclaimer: All the vulns are fixed or have been publicly disclosed in the past. Introduction JS crypto history • Javascript Cryptography Considered Harmful http://matasano.com/articles/javascript- cryptography/ • Final post on Javascript crypto http://rdist.root.org/2010/11/29/final-post-on- javascript-crypto/ JS crypto history • Implicit trust in the server to deliver the code • SSL/TLS is needed anyway • Any XSS can circumvent the code • Poor library quality • Poor crypto support • No secure keystore • JS crypto is doomed to fail Doomed to fail? Multiple crypto primitives libraries, symmetric & asymmetric encryption, TLS implementation, a few OpenPGP implementations, and a lot of user applications built upon them. Plus custom crypto protocols. https://crypto.cat/ https://www.mailvelope.com/ http://openpgpjs.org/ JS crypto is a fact • Understand it • Look at the code • Find the vulnerabilities • Analyze them • Understand the limitations and workarounds • Answer the question: can it be safe? JS crypto vulns in the wild • Language issues • Caused by a flaw of the language • Web platform issues • Cased by the web • Other standard bugs • out of scope for this presentation Language issues Language issues matter
    [Show full text]
  • A History of End-To-End Encryption and the Death of PGP
    25/05/2020 A history of end-to-end encryption and the death of PGP Hey! I'm David, a security engineer at the Blockchain team of Facebook (https://facebook.com/), previously a security consultant for the Cryptography Services of NCC Group (https://www.nccgroup.com). I'm also the author of the Real World Cryptography book (https://www.manning.com/books/real-world- cryptography?a_aid=Realworldcrypto&a_bid=ad500e09). This is my blog about cryptography and security and other related topics that I Ûnd interesting. A history of end-to-end encryption and If you don't know where to start, you might want to check these popular the death of PGP articles: posted January 2020 - How did length extension attacks made it 1981 - RFC 788 - Simple Mail Transfer Protocol into SHA-2? (/article/417/how-did-length- extension-attacks-made-it-into-sha-2/) (https://tools.ietf.org/html/rfc788) (SMTP) is published, - Speed and Cryptography the standard for email is born. (/article/468/speed-and-cryptography/) - What is the BLS signature scheme? (/article/472/what-is-the-bls-signature- This is were everything starts, we now have an open peer-to-peer scheme/) protocol that everyone on the internet can use to communicate. - Zero'ing memory, compiler optimizations and memset_s (/article/419/zeroing-memory- compiler-optimizations-and-memset_s/) 1991 - The 9 Lives of Bleichenbacher's CAT: New Cache ATtacks on TLS Implementations The US government introduces the 1991 Senate Bill 266, (/article/461/the-9-lives-of-bleichenbachers- which attempts to allow "the Government to obtain the cat-new-cache-attacks-on-tls- plain text contents of voice, data, and other implementations/) - How to Backdoor Di¸e-Hellman: quick communications when appropriately authorized by law" explanation (/article/360/how-to-backdoor- from "providers of electronic communications services di¸e-hellman-quick-explanation/) and manufacturers of electronic communications - Tamarin Prover Introduction (/article/404/tamarin-prover-introduction/) service equipment".
    [Show full text]
  • Wsemail: a Retrospective on a System for Secure Internet Messaging Based on Web Services
    WSEmail: A Retrospective on a System for Secure Internet Messaging Based on Web Services Michael J. May Kevin D. Lux Kinneret Academic College University of Pennsylvania, Rowan University [email protected] [email protected] Carl A. Gunter University of Illinois Urbana-Champaign [email protected] Abstract 1 Introduction Web services are a mature technology nearing their Web services offer an opportunity to redesign a va- twentieth birthday. They have created the founda- riety of older systems to exploit the advantages of a tion for highly interoperable distributed systems to flexible, extensible, secure set of standards. In this communicate over the Internet using standardized work we revisit WSEmail, a system proposed over protocols (e.g. SOAP, JSON) and security mech- ten years ago to improve email by redesigning it as anisms (e.g. OAuth (IETF RFC 6749), XMLD- a family of web services. WSEmail offers an alterna- SIG [5]). Legacy systems and protocols must be tive vision of how instant messaging and email ser- reevaluated to see how they can benefit from mod- vices could have evolved, offering security, extensi- ern architectures, standards, and tools. As a case bility, and openness in a distributed environment in- study of such an analysis and redesign, we present stead of the hardened walled gardens that today's an expanded study of WSEmail [20], electronic mail rich messaging systems have become. WSEmail's ar- redesigned as a family of web services we first imple- chitecture, especially its automatic plug-in download mented and presented in 2005. feature allows for rich extensions without changing the base protocol or libraries.
    [Show full text]
  • How Secure Is Textsecure?
    How Secure is TextSecure? Tilman Frosch∗y, Christian Mainkay, Christoph Badery, Florian Bergsmay,Jorg¨ Schwenky, Thorsten Holzy ∗G DATA Advanced Analytics GmbH firstname.lastname @gdata.de f g yHorst Gortz¨ Institute for IT-Security Ruhr University Bochum firstname.lastname @rub.de f g Abstract—Instant Messaging has gained popularity by users without providing any kind of authentication. Today, many for both private and business communication as low-cost clients implement only client-to-server encryption via TLS, short message replacement on mobile devices. However, until although security mechanisms like Off the Record (OTR) recently, most mobile messaging apps did not protect confi- communication [3] or SCIMP [4] providing end-to-end con- dentiality or integrity of the messages. fidentiality and integrity are available. Press releases about mass surveillance performed by intelli- With the advent of smartphones, low-cost short-message gence services such as NSA and GCHQ motivated many people alternatives that use the data channel to communicate, to use alternative messaging solutions to preserve the security gained popularity. However, in the context of mobile ap- and privacy of their communication on the Internet. Initially plications, the assumption of classical instant messaging, fueled by Facebook’s acquisition of the hugely popular mobile for instance, that both parties are online at the time the messaging app WHATSAPP, alternatives claiming to provide conversation takes place, is no longer necessarily valid. secure communication experienced a significant increase of new Instead, the mobile context requires solutions that allow for users. asynchronous communication, where a party may be offline A messaging app that claims to provide secure instant for a prolonged time.
    [Show full text]
  • Is Bob Sending Mixed Signals?
    Is Bob Sending Mixed Signals? Michael Schliep Ian Kariniemi Nicholas Hopper University of Minnesota University of Minnesota University of Minnesota [email protected] [email protected] [email protected] ABSTRACT Demand for end-to-end secure messaging has been growing rapidly and companies have responded by releasing applications that imple- ment end-to-end secure messaging protocols. Signal and protocols based on Signal dominate the secure messaging applications. In this work we analyze conversational security properties provided by the Signal Android application against a variety of real world ad- versaries. We identify vulnerabilities that allow the Signal server to learn the contents of attachments, undetectably re-order and drop messages, and add and drop participants from group conversations. We then perform proof-of-concept attacks against the application to demonstrate the practicality of these vulnerabilities, and suggest mitigations that can detect our attacks. The main conclusion of our work is that we need to consider more than confidentiality and integrity of messages when designing future protocols. We also stress that protocols must protect against compromised servers and at a minimum implement a trust but verify model. 1 INTRODUCTION (a) Alice’s view of the conversa-(b) Bob’s view of the conversa- Recently many software developers and companies have been inte- tion. tion. grating end-to-end encrypted messaging protocols into their chat applications. Some applications implement a proprietary protocol, Figure 1: Speaker inconsistency in a conversation. such as Apple iMessage [1]; others, such as Cryptocat [7], imple- ment XMPP OMEMO [17]; but most implement the Signal protocol or a protocol based on Signal, including Open Whisper Systems’ caching.
    [Show full text]
  • Online Anonymity Islamic State and Surveillance
    online anonymity islamic state and surveillance Jamie Bartlett Alex Krasodomski-Jones March 2015 Open Access. Some rights reserved. As the publisher of this work, Demos wants to encourage the circulation of our work as widely as possible while retaining the copyright. We therefore have an open access policy which enables anyone to access our content online without charge. Anyone can download, save, perform or distribute this work in any format, including translation, without written permission. This is subject to the terms of the Demos licence found at the back of this publication. Its main conditions are: . Demos and the author(s) are credited . This summary and the address www.demos.co.uk are displayed . The text is not altered and is used in full . The work is not resold . A copy of the work or link to its use online is sent to Demos. You are welcome to ask for permission to use this work for purposes other than those covered by the licence. Demos gratefully acknowledges the work of Creative Commons in inspiring our approach to copyright. To find out more go to www.creativecommons.org Partners Credits Commissioned by? Published by Demos March 2015 © Demos. Some rights reserved. Third Floor Magdalen House 136 Tooley Street London SE1 2TU [email protected] www.demos.co.uk 2 INTRODUCTION This is a very short discussion paper about the way in which terrorist groups, and specifically Islamic State, use modern encryption systems to evade surveillance. It examines how the risks of online anonymity are weighed against its many social, personal and economic benefits.
    [Show full text]
  • Going Dark: Impact to Intelligence and Law Enforcement and Threat Mitigation
    GOING DARK: IMPACT TO INTELLIGENCE AND LAW ENFORCEMENT AND THREAT MITIGATION Bonnie Mitchell Krystle Kaul G. S. McNamara Michelle Tucker Jacqueline Hicks Colin Bliss Rhonda Ober Danell Castro Amber Wells Catalina Reguerin Cindy Green-Ortiz Ken Stavinoha ACKNOWLEDGEMENTS We would like to first thank the Office of the Director of National Intelligence (ODNI) for its generous funding and support for our study and learning journey to the DEFCON hacking conference. We are also very grateful to the Department of Homeland Security (DHS) for its support during the duration of the program. We could not have completed this study without the unwavering support and dedication of Ms. Bonnie Mitchell, ODNI Deputy National Intelligence Manager for the Western Hemisphere and the Homeland, our devoted Team Champion who steered us throughout this study and helped turn an idea into a product. We would like to acknowledge and thank each member of our public-private sector working group for their tireless efforts from around the U.S., which includes Krystle Kaul, G. S. McNamara, Michelle Tucker, Jacqueline Hicks, Colin Bliss, Rhonda Ober, Danell Castro, Amber Wells, Catalina Reguerin, Cindy Green- Ortiz and Ken Stavinoha. We are very thankful for all the unique insight we received from interviewees who contributed to this report by educating our group on the many aspects of ‘going dark,’ and we take full responsibility for any and all errors of fact or interpretation implied or explicit in this paper. Our interviewees include the Village sponsors at DEF CON, private sector industry experts and government officials. We are thankful for the interesting and diverse perspectives particularly from senior government officials and private sector experts.
    [Show full text]
  • Introduction to Computer Security
    CSCI-UA.9480: Introduction to Computer Security Spring 2019 Instructor: Nadim Kobeissi Office Hours: TBA, TBA – TBA. Email: [email protected] Office Number: Room TBA. Course Information: • Course number and section: CSCI-UA9480. • Course title: Introduction to Computer Security. • Course description: Technology increasingly permeates every aspect of our lives, including commu- nication, finance and health. The security of the computer systems that enable these services has become a critical issue. This course will cover basic principles of computer security and security engineering. It will introduce fundamental computer security concepts, principles, and techniques. It will also cover notions of real-world cryptography, the mathematical building blocks that underlie any digital security construction. This course will focus on security from an attacker’s perspective (threat modeling) and the defender’s perspective (building and deploying secure systems). Specific topics will include operating system security, network security, web security, applied cryptography, security economics and security psychology. Course projects will focus both on writing secure code and exploiting insecure code. • Prerequistes: CSCI-UA.0201 (Computer Systems Organization) and experience with computer sys- tems level programming languages (e.g. C, and C++ programming). Recommended prerequisite courses include CSCI-UA.0202 (Operating Systems), and CSCI-UA.0480-009 (Computer Networks). Experience with web development will also be helpful. • Class meeting days and times: Mondays and Wednesdays, 3:00pm – 4:30pm. Room TBA. • Course website: https://computersecurity.paris. Course Overview and Goals: Upon completion of this course, students will be able to: • Understand the basic principles of computer security. • Understand the basic principles of the cryptographic constructions underlying modern computer security.
    [Show full text]
  • Download Tor Browser Free Tor Browser V10.0.16 (X86 & X64) Free Download
    download tor browser free Tor Browser v10.0.16 (x86 & x64) Free Download. The Tor Browser is a web broswer that anonymizes your web traffic using the Tor network, making it easy to protect your identity online.A few caveats: Browsing the web over Tor is slower than the clearnet, and some major web services block. Tor Browser Overview : New Tor Browser 10.0.11 is the latest version of Tor Browser which is famous as one of the most widely used private browsers in the world. By using this one browser, you can surf the internet anonymously without the need for other supporting applications. You just need to run this latest Browser , and you can easily open all blocked sites even by your internet provider. Really a really cool browser isn’t it? No need for add ons, pluggins, or other applications to bypass sites blocked by your provider. The Latest Browser is also anonymous, so all your real identities will not be recorded on the internet. You can actually surf safely on the internet when using this private browser. In this Latest Tor Browser , there are several bugs that have been fixed and of course it is much more stable than the previous version. How do I use Tor? Tor is a free, open-source software that allows you to browse the internet anonymously. Tor protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody watching your Internet connection from learning what sites you visit, and it prevents those sites from learning your physical location.
    [Show full text]
  • Cyber Warnings E-Magazine – January 2017 Edition Copyright © Cyber Defense Magazine, All Rights Reserved Worldwide
    1 Cyber Warnings E-Magazine – January 2017 Edition Copyright © Cyber Defense Magazine, All rights reserved worldwide CONTENTS CYBER WARNINGS Published monthly by Cyber Defense Magazine and distributed electronically via opt-in Email, HTML, PDF and Gearing up for RSA Conference 2017, What’s Hot in InfoSec? .. 3 Online Flipbook formats. 3 Top tips for companies moving to public cloud ........................ 5 PRESIDENT The Advantages of Hybrid Source and Binary Static Analysis for Stevin Miliefsky Security Vulnerability Detection .................................................8 [email protected] The 100-Day Cybersecurity Plan for a New Administration ...... 13 EDITOR Pierluigi Paganini, CEH Major Players Fall Victim to DDoS Attacks ............................... 16 [email protected] Untethered Power Sourcing Could Hitch Devices to Additional Security ................................................................................... 19 ADVERTISING Jessica Quinn The security’s challenges of an Internet of Things ................... 22 [email protected] Cyber Security Fears of Today and Tomorrow ......................... 26 KEY WRITERS AND CONTRIBUTORS AMAZON’S ECHO MAY BE SENDING ITS SOUND WAVES Dr. Konstantin Malkov INTO THE COURT ROOM AS OUR FIRST “SMART WITNESS” Bill Graham Kirsten Bay ................................................................................................ 28 Yevgeniya Davydov Anamika Kumari The CISO’s New Year’s Resolutions for 2017 .........................
    [Show full text]
  • The Crypto Cat Is out of the Bag: an Illustrative Inventory of Widely-Available Encryption Applications
    December 8, 2015 The Crypto Cat is Out of the Bag: An Illustrative Inventory of Widely-Available Encryption Applications When it comes to encryption, the genie is out of the bottle. But encryption isn’t magic. It’s math, and very well-known math at that. The basic principles behind modern end-to-end encryption of digital messages, where only the recipient of the message can decode it, are nearly four decades old.1 U.S. companies like Apple and Facebook, providers of the encrypted messaging services iMessage and WhatsApp, don’t have a monopoly on strong end-to-end encryption tools. Strong encryption tools are everywhere, and over a billion ordinary people around the world rely on them every day. There are countless applications that are freely available online, across the globe, with unbreakable end-to-end encryption. The vast majority of those applications are either “open source” software that anyone is free to use, review, copy or build on,2 and/or are offered by companies, organizations or developers outside of the United States. In fact, it’s so easy to create new end-to-end encryption apps, jihadists have been coding their very own secure messaging tools since at least 2007, tools with names like Mujahadeen Secrets and Security of the Mujahid.3 Another app that terrorists are claimed to have used, Telegram, is based in Berlin.4 1 The foundational work in this area began with Whitfield Diffie and Martin Hellman’s New Directions in Cryptography, IEEE Transactions in Information Theory (Nov. 6, 1976), available at http://www- ee.stanford.edu/~hellman/publications/24.pdf.
    [Show full text]
  • Upgrading HTTPS in Mid-Air: an Empirical Study of Strict Transport Security and Key Pinning
    Upgrading HTTPS in Mid-Air: An Empirical Study of Strict Transport Security and Key Pinning Michael Kranch Joseph Bonneau Princeton University Princeton University [email protected] [email protected] Abstract—We have conducted the first in-depth empirical other browser security features, namely the same-origin policy study of two important new web security features: strict transport and protections for HTTP cookies. This leads to a number of security (HSTS) and public-key pinning. Both have been added to deployment errors which enable an attacker to steal sensitive the web platform to harden HTTPS, the prevailing standard for data without compromising HTTPS itself. secure web browsing. While HSTS is further along, both features still have very limited deployment at a few large websites and a Beyond HTTPS stripping, there are growing concerns long tail of small, security-conscious sites. We find evidence that about weaknesses in the certificate authority (CA) system. many developers do not completely understand these features, The public discovery of commercial software to use compelled with a substantial portion using them in invalid or illogical ways. certificates [6], as well as high-profile compromises of several The majority of sites we observed trying to set an HSTS header did so with basic errors that significantly undermine the security trusted CAs, have spurred interest in defending against a this feature is meant to provide. We also identify several subtle new threat model in which the attacker may obtain a rogue but important new pitfalls in deploying these features in practice. certificate for a target domain signed by a trusted CA.
    [Show full text]