VLDB 2026 Research / reviewers in the wild / expert
Hovav Shacham
dblp:35/1061
· DBLP profile ↗
58ranked-venue papers
7as first author
9since 2021 · last 2025
0009-0008-0225-8714ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 52 · 7 first-author · 8 since 2021Software engineering, systems software and programming languages · 5 · 1 since 2021Systems, architecture and hardware · 2Computer networks · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Pixnapping: Bringing Pixel Stealing out of the Stone AgeabstractPixel stealing attacks enable malicious websites to leak sensitive content displayed in victim websites. The idea, introduced by Stone in 2013, is to embed victim websites in iframes and use SVG filters to compute on, and create side channels as a function of, those websites' pixels. Fortunately, despite the danger, pixel stealing attacks are all but mitigated today thanks to websites and web browsers heavily restricting iframes and cross-origin cookie sharing. Alan Wang 0004, Pranav Gopalkrishnan, Yingchen Wang, Christopher W. Fletcher, Hovav Shacham, David Kohlbrenner, Riccardo Paccagnella |
CCS | 5 |
| 2024 | Icarus: Trustworthy Just-In-Time Compilers with Symbolic Meta-ExecutionabstractJust-in-time (JIT) compilers make JavaScript run efficiently by replacing slow JavaScript interpreter code with fast machine code. However, this efficiency comes at a cost: bugs in JIT compilers can completely subvert all language-based (memory) safety guarantees, and thereby introduce catastrophic exploitable vulnerabilities. We present Icarus: a new framework for implementing JIT compilers that are automatically, formally verified to be safe, and which can then be converted to C++ that can be linked into browser runtimes. Crucially, we show how to build a JIT with Icarus such that verifying the JIT implementation statically ensures the security of all possible programs that the JIT could ever generate at run-time, via a novel technique called symbolic meta-execution that encodes the behaviors of all possible JIT-generated programs as a single Boogie meta-program which can be efficiently verified by SMT solvers. We evaluate Icarus by using it to re-implement components of Firefox's JavaScript JIT. We show that Icarus can scale up to expressing complex JITs, quickly detects real-world JIT bugs and verifies fixed versions, and yields C++ code that is as fast as hand-written code. Naomi Smith, Abhishek Sharma 0017, John Renner, David Thien, Fraser Brown, Hovav Shacham, Ranjit Jhala, Deian Stefan |
SOSP | 6 |
| 2024 | GPU.zip: On the Side-Channel Implications of Hardware-Based Graphical Data CompressionabstractCompression is a widely-deployed optimization that reduces data movement throughout modern computing stacks. Unfortunately, it is also a well-known source of side-channel leakage capable of leaking (potentially) fine-grained functions of the underlying data. There has, however, been a saving grace. Compression is typically software visible. Thus, software can "opt out" of harm’s way by disabling compression when sensitive data is involved, and tailor mitigations to known, public compression algorithms.This paper challenges the above conventional wisdom by demonstrating the existence of, and exploiting, software-transparent uses of compression. Specifically, we find that integrated GPUs from Intel and AMD vendors compress graphical data in vendor-specific and undocumented ways—even when software does not specifically request compression. Compression induces data-dependent DRAM traffic and cache utilization, which can be measured through side-channel analysis. We show the efficacy of this side channel by performing cross-origin SVG filter pixel stealing attacks through the browser. Yingchen Wang, Riccardo Paccagnella, Zhao Gang, Willy R. Vasquez, David Kohlbrenner, Hovav Shacham, Christopher W. Fletcher |
SP | 6 |
| 2024 | Pixel Thief: Exploiting SVG Filter Leakage in Firefox and Chrome
Sioli O'Connell, Lishay Aben Sour, Ron Magen, Daniel Genkin, Yossef Oren, Hovav Shacham, Yuval Yarom |
USENIX Security Symposium | 6 |
| 2023 | DVFS Frequently Leaks Secrets: Hertzbleed Attacks Beyond SIKE, Cryptography, and CPU-Only DataabstractThe recent Hertzbleed disclosure demonstrates how remote-timing analysis can reveal secret information previously only accessible to local-power analysis. At worst, this constitutes a fundamental break in the constant-time programming principles and the many deployed programs that rely on them. But all hope is not lost. Hertzbleed relies on a coarse-grained, noisy channel that is difficult to exploit. Indeed, the Hertzbleed paper required a bespoke cryptanalysis to attack a specific cryptosystem (SIKE). Thus, it remains unclear if Hertzbleed represents a threat to the broader security ecosystem.In this paper, we demonstrate that Hertzbleed’s effects are wide ranging, not only affecting cryptosystems beyond SIKE, but also programs beyond cryptography, and even computations occurring outside the CPU cores. First, we demonstrate how latent gadgets in other cryptosystem implementations— specifically "constant-time" ECDSA and Classic McEliece— can be combined with existing cryptanalysis to bootstrap Hertzbleed attacks on those cryptosystems. Second, we demonstrate how power consumption on the integrated GPU influences frequency on the CPU—and how this can be used to perform the first cross-origin pixel stealing attacks leveraging "constant-time" SVG filters on Google Chrome. Yingchen Wang, Riccardo Paccagnella, Alan Wandke, Zhao Gang, Grant Garrett-Grossman, Christopher W. Fletcher, David Kohlbrenner, Hovav Shacham |
SP | 8 |
| 2023 | Checking Passwords on Leaky Computers: A Side Channel Analysis of Chrome's Password Leak Detect Protocol
Andrew Kwong, Walter Wang, Jason Kim 0007, Jonathan Berger, Daniel Genkin, Eyal Ronen, Hovav Shacham, Riad S. Wahby, Yuval Yarom |
USENIX Security Symposium | 7 |
| 2023 | The Most Dangerous Codec in the World: Finding and Exploiting Vulnerabilities in H.264 Decoders
Willy R. Vasquez, Stephen Checkoway, Hovav Shacham |
USENIX Security Symposium | 3 |
| 2022 | Hertzbleed: Turning Power Side-Channel Attacks Into Remote Timing Attacks on x86
Yingchen Wang, Riccardo Paccagnella, Elizabeth Tang He, Hovav Shacham, Christopher W. Fletcher, David Kohlbrenner |
USENIX Security Symposium | 4 |
| 2021 | Swivel: Hardening WebAssembly against Spectre
Shravan Narayan, Craig Disselkoen, Daniel Moghimi, Sunjay Cauligi, Evan Johnson 0001, Zhao Gang, Anjo Vahldiek-Oberwagner, Ravi Sahita, Hovav Shacham, Dean M. Tullsen, Deian Stefan |
USENIX Security Symposium | 9 |
| 2020 | Towards a verified range analysis for JavaScript JITsabstractWe present VeRA, a system for verifying the range analysis pass in browser just-in-time (JIT) compilers. Browser developers write range analysis routines in a subset of C++, and verification developers write infrastructure to verify custom analysis properties. Then, VeRA automatically verifies the range analysis routines, which browser developers can integrate directly into the JIT. We use VeRA to translate and verify Firefox range analysis routines, and it detects a new, confirmed bug that has existed in the browser for six years. Fraser Brown, John Renner, Andres Nötzli, Sorin Lerner, Hovav Shacham, Deian Stefan |
PLDI | 5 |
| 2020 | Retrofitting Fine Grain Isolation in the Firefox Renderer
Shravan Narayan, Craig Disselkoen, Tal Garfinkel, Nathan Froyd, Eric Rahm, Sorin Lerner, Hovav Shacham, Deian Stefan |
USENIX Security Symposium | 7 |
| 2020 | Automated policy synthesis for system call sandboxingabstractSystem call whitelisting is a powerful sandboxing approach that can significantly reduce the capabilities of an attacker if an application is compromised. Given a policy that specifies which system calls can be invoked with what arguments, a sandboxing framework terminates any execution that violates the policy. While this mechanism greatly reduces the attack surface of a system, manually constructing these policies is time-consuming and error-prone. As a result, many applications —including those that take untrusted user input— opt not to use a system call sandbox. Motivated by this problem, we propose a technique for automatically constructing system call whitelisting policies for a given application and policy DSL. Our method combines static code analysis and program synthesis to construct sound and precise policies that never erroneously terminate the application, while restricting the program’s system call usage as much as possible. We have implemented our approach in a tool called Abhayaand experimentally evaluate it 493 Linux and OpenBSD applications by automatically synthesizing Seccomp-bpfand Pledgepolicies. Our experimental results indicate that Abhayacan efficiently generate useful and precise sandboxes for real-world applications. Shankara Pailoor, Xinyu Wang 0006, Hovav Shacham, Isil Dillig |
Proc. ACM Program. Lang. | 3 |
| 2017 | A Call to ARMs: Understanding the Costs and Benefits of JIT Spraying Mitigations
Wilson Lian, Hovav Shacham, Stefan Savage |
NDSS | 2 |
| 2017 | On the effectiveness of mitigations against floating-point timing channels
David Kohlbrenner, Hovav Shacham |
USENIX Security Symposium | 2 |
| 2016 | HIPStR: Heterogeneous-ISA Program State RelocationabstractHeterogeneous Chip Multiprocessors have been shown to provide significant performance and energy efficiency gains over homogeneous designs. Recent research has expanded the dimensions of heterogeneity to include diverse Instruction Set Architectures, called Heterogeneous-ISA Chip Multiprocessors. This work leverages such an architecture to realize substantial new security benefits, and in particular, to thwart Return-Oriented Programming. This paper proposes a novel security defense called HIPStR -- Heterogeneous-ISA Program State Relocation -- that performs dynamic randomization of run-time program state, both within and across ISAs. This technique outperforms the state-of-the-art just-in-time code reuse (JIT-ROP) defense by an average of 15.6%, while simultaneously providing greater security guarantees against classic return-into-libc, ROP, JOP, brute force, JIT-ROP, and several evasive variants. Ashish Venkat, Sriskanda Shamasunder, Hovav Shacham, Dean M. Tullsen |
ASPLOS | 3 |
| 2016 | A Systematic Analysis of the Juniper Dual EC IncidentabstractIn December 2015, Juniper Networks announced multiple security vulnerabilities stemming from unauthorized code in ScreenOS, the operating system for their NetScreen VPN routers. The more sophisticated of these vulnerabilities was a passive VPN decryption capability, enabled by a change to one of the elliptic curve points used by the Dual EC pseudorandom number generator. In this paper, we describe the results of a full independent analysis of the ScreenOS randomness and VPN key establishment protocol subsystems, which we carried out in response to this incident. While Dual EC is known to be insecure against an attacker who can choose the elliptic curve parameters, Juniper had claimed in 2013 that ScreenOS included countermeasures against this type of attack. We find that, contrary to Juniper's public statements, the ScreenOS VPN implementation has been vulnerable since 2008 to passive exploitation by an attacker who selects the Dual EC curve point. This vulnerability arises due to apparent flaws in Juniper's countermeasures as well as a cluster of changes that were all introduced concurrently with the inclusion of Dual EC in a single 2008 release. We demonstrate the vulnerability on a real NetScreen device by modifying the firmware to install our own parameters, and we show that it is possible to passively decrypt an individual VPN session in isolation without observing any other network traffic. We investigate the possibility of passively fingerprinting ScreenOS implementations in the wild. This incident is an important example of how guidelines for random number generation, engineering, and validation can fail in practice. Stephen Checkoway, Jacob Maskiewicz, Christina Garman, Joshua Fried, Shaanan Cohney, Matthew Green 0001, Nadia Heninger, Ralf-Philipp Weinmann, Eric Rescorla, Hovav Shacham |
CCS | 10 |
| 2016 | Trusted Browsers for Uncertain Times
David Kohlbrenner, Hovav Shacham |
USENIX Security Symposium | 2 |
| 2016 | On the (In)effectiveness of Mosaicing and Blurring as Tools for Document RedactionabstractAbstract In many online communities, it is the norm to redact names and other sensitive text from posted screenshots. Sometimes solid bars are used; sometimes a blur or other image transform is used. We consider the effectiveness of two popular image transforms - mosaicing (also known as pixelization) and blurring - for redaction of text. Our main finding is that we can use a simple but powerful class of statistical models - so-called hidden Markov models (HMMs) - to recover both short and indefinitely long instances of redacted text. Our approach borrows on the success of HMMs for automatic speech recognition, where they are used to recover sequences of phonemes from utterances of speech. Here we use HMMs in an analogous way to recover sequences of characters from images of redacted text. We evaluate an implementation of our system against multiple typefaces, font sizes, grid sizes, pixel offsets, and levels of noise. We also decode numerous real-world examples of redacted text. We conclude that mosaicing and blurring, despite their widespread usage, are not viable approaches for text redaction. Steven Hill, Lawrence K. Saul, Hovav Shacham |
Proc. Priv. Enhancing Technol. | 4 |
| 2015 | Too LeJIT to Quit: Extending JIT Spraying to ARM
Wilson Lian, Hovav Shacham, Stefan Savage |
NDSS | 2 |
| 2015 | On Subnormal Floating Point and Abnormal TimingabstractWe identify a timing channel in the floating point instructions of modern x86 processors: the running time of floating point addition and multiplication instructions can vary by two orders of magnitude depending on their operands. We develop a benchmark measuring the timing variability of floating point operations and report on its results. We use floating point data timing variability to demonstrate practical attacks on the security of the Fire fox browser (versions 23 through 27) and the Fuzz differentially private database. Finally, we initiate the study of mitigations to floating point data timing channels with libfixedtimefixedpoint, a new fixed-point, constant-time math library. Modern floating point standards and implementations are sophisticated, complex, and subtle, a fact that has not been sufficiently recognized by the security community. More work is needed to assess the implications of the use of floating point instructions in security-relevant software. Marc Andrysco, David Kohlbrenner, Keaton Mowery, Ranjit Jhala, Sorin Lerner, Hovav Shacham |
IEEE Symposium on Security and Privacy | 6 |
| 2014 | Rethinking Verifiably Encrypted Signatures: A Gap in Functionality and Potential Solutions
Theresa Calderon, Sarah Meiklejohn, Hovav Shacham, Brent Waters |
CT-RSA | 3 |
| 2014 | On the Practical Exploitability of Dual EC in TLS Implementations
Stephen Checkoway, Ruben Niederhagen, Adam Everspaugh, Matthew Green 0001, Tanja Lange 0001, Thomas Ristenpart, Daniel J. Bernstein, Jake Maskiewicz, Hovav Shacham, Matt Fredrikson |
USENIX Security Symposium | 9 |
| 2014 | Security Analysis of a Full-Body Scanner
Keaton Mowery, Eric Wustrow, Tom Wypych, Corey Singleton, Chris Comfort, Eric Rescorla, J. Alex Halderman, Hovav Shacham, Stephen Checkoway |
USENIX Security Symposium | 8 |
| 2013 | Iago attacks: why the system call API is a bad untrusted RPC interfaceabstractIn recent years, researchers have proposed systems for running trusted code on an untrusted operating system. Protection mechanisms deployed by such systems keep a malicious kernel from directly manipulating a trusted application's state. Under such systems, the application and kernel are, conceptually, peers, and the system call API defines an RPC interface between them. Stephen Checkoway, Hovav Shacham |
ASPLOS | 2 |
| 2013 | The k-BDH Assumption Family: Bilinear Map Cryptography from Progressively Weaker Assumptions
Karyn Benson, Hovav Shacham, Brent Waters |
CT-RSA | 2 |
| 2013 | Welcome to the Entropics: Boot-Time Entropy in Embedded DevicesabstractWe present three techniques for extracting entropy during boot on embedded devices. Our first technique times the execution of code blocks early in the Linux kernel boot process. It is simple to implement and has a negligible runtime overhead, but, on many of the devices we test, gathers hundreds of bits of entropy. Our second and third techniques, which run in the bootloader, use hardware features - DRAM decay behavior and PLL locking latency, respectively -- and are therefore less portable and less generally applicable, but their behavior is easier to explain based on physically unpredictable processes. We implement and measure the effectiveness of our techniques on ARM-, MIPS-, and AVR32-based systems-on-a-chip from a variety of vendors. Keaton Mowery, Michael Yung Chung Wei, David Kohlbrenner, Hovav Shacham, Steven Swanson |
IEEE Symposium on Security and Privacy | 4 |
| 2013 | Measuring the Practical Impact of DNSSEC Deployment
Wilson Lian, Eric Rescorla, Hovav Shacham, Stefan Savage |
USENIX Security Symposium | 3 |
| 2013 | Sequential Aggregate Signatures, Multisignatures, and Verifiably Encrypted Signatures Without Random Oracles
Steve Lu 0001, Rafail Ostrovsky, Amit Sahai, Hovav Shacham, Brent Waters |
J. Cryptol. | 4 |
| 2013 | Compact Proofs of Retrievability
Hovav Shacham, Brent Waters |
J. Cryptol. | 1 |
| 2012 | Return-Oriented Programming: Systems, Languages, and ApplicationsabstractWe introduce return-oriented programming , a technique by which an attacker can induce arbitrary behavior in a program whose control flow he has diverted, without injecting any code. A return-oriented program chains together short instruction sequences already present in a program’s address space, each of which ends in a “return” instruction. Return-oriented programming defeats the W⊕X protections recently deployed by Microsoft, Intel, and AMD; in this context, it can be seen as a generalization of traditional return-into-libc attacks. But the threat is more general. Return-oriented programming is readily exploitable on multiple architectures and systems. It also bypasses an entire category of security measures---those that seek to prevent malicious computation by preventing the execution of malicious code. To demonstrate the wide applicability of return-oriented programming, we construct a Turing-complete set of building blocks called gadgets using the standard C libraries of two very different architectures: Linux/x86 and Solaris/SPARC. To demonstrate the power of return-oriented programming, we present a high-level, general-purpose language for describing return-oriented exploits and a compiler that translates it to gadgets. Ryan Roemer, Erik Buchanan, Hovav Shacham, Stefan Savage |
ACM Trans. Inf. Syst. Secur. | 3 |
| 2011 | Careful with Composition: Limitations of the Indifferentiability Framework
Thomas Ristenpart, Hovav Shacham, Thomas Shrimpton |
EUROCRYPT | 2 |
| 2011 | Comprehensive Experimental Analyses of Automotive Attack Surfaces
Stephen Checkoway, Damon McCoy, Brian Kantor, Danny Anderson, Hovav Shacham, Stefan Savage, Karl Koscher, Alexei Czeskis, Franziska Roesner, Tadayoshi Kohno |
USENIX Security Symposium | 5 |
| 2011 | The Phantom Tollbooth: Privacy-Preserving Electronic Toll Collection in the Presence of Driver Collusion
Sarah Meiklejohn, Keaton Mowery, Stephen Checkoway, Hovav Shacham |
USENIX Security Symposium | 4 |
| 2010 | Limitations on Transformations from Composite-Order to Prime-Order Groups: The Case of Round-Optimal Blind Signatures
Sarah Meiklejohn, Hovav Shacham, David Mandell Freeman |
ASIACRYPT | 2 |
| 2010 | Return-oriented programming without returnsabstractWe show that on both the x86 and ARM architectures it is possible to mount return-oriented programming attacks without using return instructions. Our attacks instead make use of certain instruction sequences that behave like a return, which occur with sufficient frequency in large libraries on (x86) Linux and (ARM) Android to allow creation of Turing-complete gadget sets. Stephen Checkoway, Lucas Davi, Alexandra Dmitrienko, Ahmad-Reza Sadeghi, Hovav Shacham, Marcel Winandy |
CCS | 5 |
| 2010 | An empirical study of privacy-violating information flows in JavaScript web applicationsabstractThe dynamic nature of JavaScript web applications has given rise to the possibility of privacy violating information flows. We present an empirical study of the prevalence of such flows on a large number of popular websites. We have (1) designed an expressive, fine-grained information flow policy language that allows us to specify and detect different kinds of privacy-violating flows in JavaScript code,(2) implemented a new rewriting-based JavaScript information flow engine within the Chrome browser, and (3) used the enhanced browser to conduct a large-scale empirical study over the Alexa global top 50,000 websites of four privacy-violating flows: cookie stealing, location hijacking, history sniffing, and behavior tracking. Our survey shows that several popular sites, including Alexa global top-100 sites, use privacy-violating flows to exfiltrate information about users' browsing behavior. Our findings show that steps must be taken to mitigate the privacy threat from covert flows in browsers. Dongseok Jang, Ranjit Jhala, Sorin Lerner, Hovav Shacham |
CCS | 4 |
| 2010 | Experimental Security Analysis of a Modern AutomobileabstractModern automobiles are no longer mere mechanical devices; they are pervasively monitored and controlled by dozens of digital computers coordinated via internal vehicular networks. While this transformation has driven major advancements in efficiency and safety, it has also introduced a range of new potential risks. In this paper we experimentally evaluate these issues on a modern automobile and demonstrate the fragility of the underlying system structure. We demonstrate that an attacker who is able to infiltrate virtually any Electronic Control Unit (ECU) can leverage this ability to completely circumvent a broad array of safety-critical systems. Over a range of experiments, both in the lab and in road tests, we demonstrate the ability to adversarially control a wide range of automotive functions and completely ignore driver input\dash including disabling the brakes, selectively braking individual wheels on demand, stopping the engine, and so on. We find that it is possible to bypass rudimentary network security protections within the car, such as maliciously bridging between our car's two internal subnets. We also present composite attacks that leverage individual weaknesses, including an attack that embeds malicious code in a car's telematics unit and that will completely erase any evidence of its presence after a crash. Looking forward, we discuss the complex challenges in addressing these vulnerabilities while considering the existing automotive ecosystem. Karl Koscher, Alexei Czeskis, Franziska Roesner, Shwetak N. Patel, Tadayoshi Kohno, Stephen Checkoway, Damon McCoy, Brian Kantor, Danny Anderson, Hovav Shacham, Stefan Savage |
IEEE Symposium on Security and Privacy | 10 |
| 2009 | Hedged Public-Key Encryption: How to Protect against Bad Randomness
Mihir Bellare, Zvika Brakerski, Moni Naor, Thomas Ristenpart, Gil Segev 0001, Hovav Shacham, Scott Yilek |
ASIACRYPT | 6 |
| 2009 | Hey, you, get off of my cloud: exploring information leakage in third-party compute cloudsabstractThird-party cloud computing represents the promise of outsourcing as applied to computation. Services, such as Microsoft's Azure and Amazon's EC2, allow users to instantiate virtual machines (VMs) on demand and thus purchase precisely the capacity they require when they require it. In turn, the use of virtualization allows third-party cloud providers to maximize the utilization of their sunk capital costs by multiplexing many customer VMs across a shared physical infrastructure. However, in this paper, we show that this approach can also introduce new vulnerabilities. Using the Amazon EC2 service as a case study, we show that it is possible to map the internal cloud infrastructure, identify where a particular target VM is likely to reside, and then instantiate new VMs until one is placed co-resident with the target. We explore how such placement can then be used to mount cross-VM side-channel attacks to extract information from a target VM on the same machine. Thomas Ristenpart, Eran Tromer, Hovav Shacham, Stefan Savage |
CCS | 3 |
| 2009 | Randomizable Proofs and Delegatable Anonymous Credentials
Mira Belenkiy, Jan Camenisch, Melissa Chase, Markulf Kohlweiss, Anna Lysyanskaya, Hovav Shacham |
CRYPTO | 6 |
| 2009 | Reconstructing RSA Private Keys from Random Key Bits
Nadia Heninger, Hovav Shacham |
CRYPTO | 2 |
| 2009 | When private keys are public: results from the 2008 Debian OpenSSL vulnerabilityabstractWe report on the aftermath of the discovery of a severe vulnerability in the Debian Linux version of OpenSSL. Systems affected by the bug generated predictable random numbers, most importantly public/private keypairs. To study user response to this vulnerability, we collected a novel dataset of daily remote scans of over 50,000 SSL/TLS-enabled Web servers, of which 751 displayed vulnerable certificates. We report three primary results. First, as expected from previous work, we find an extremely slow rate of fixing, with 30% of the hosts vulnerable when we began our survey on day 4 after disclosure still vulnerable almost six months later. However, unlike conventional vulnerabilities, which typically show a short, fast fixing phase, we observe a much flatter curve with fixing extending six months after the announcement. Second, we identify some predictive factors for the rate of upgrading. Third, we find that certificate authorities continued to issue certificates to servers with weak keys long after the vulnerability was disclosed. Scott Yilek, Eric Rescorla, Hovav Shacham, Brandon Enright, Stefan Savage |
Internet Measurement Conference | 3 |
| 2008 | Compact Proofs of Retrievability
Hovav Shacham, Brent Waters |
ASIACRYPT | 1 |
| 2008 | When good instructions go bad: generalizing return-oriented programming to RISCabstractThis paper reconsiders the threat posed by Shacham's -- a technique by which W-xor-X-style hardware protections are evaded via carefully crafted stack frames that divert control flow into the middle of existing variable-length x86 instructions -- creating short new instructions streams that then return. We believe this attack is both more general and a greater threat than the author appreciated. In fact, the vulnerability is not limited to the x86 architecture or any particular operating system, is readily exploitable, and bypasses an entire category of malware protections. In this paper we demonstrate general return-oriented programming on the SPARC, a fixed instruction length RISC architecture with structured control flow. We construct a Turing-complete library of code gadgets using snippets of the Solaris libc, a general purpose programming language, and a compiler for constructing return-oriented exploits. Finally, we argue that the threat posed by return-oriented programming, across all architectures and systems, has negative implications for an entire class of security mechanisms: those that seek to prevent malicious computation by preventing the execution of malicious code. Erik Buchanan, Ryan Roemer, Hovav Shacham, Stefan Savage |
CCS | 3 |
| 2007 | The geometry of innocent flesh on the bone: return-into-libc without function calls (on the x86)abstractWe present new techniques that allow a return-into-libc attack to be mounted on x86 executables that calls no functions at all. Our attack combines a large number of short instruction sequences to build gadgets that allow arbitrary computation. We show how to discover such instruction sequences by means of static analysis. We make use, in an essential way, of the properties of the x86 instruction set. Hovav Shacham |
CCS | 1 |
| 2006 | Forward-secure signatures with untrusted updateabstractIn most forward-secure signature constructions, a program that updates a user's private signing key must have full access to the private key. Unfortunately, these schemes are incompatible with several security architectures including Gnu Privacy Guard (GPG) and S/MIME, where the private key is encrypted under a user password as a "second factor" of security, in case the private key storage is corrupted, but the password is not.We introduce the concept of forward-secure signatures with untrusted update, where the key update can be performed on an encrypted version of the key. Forward secure signatures with untrusted update allow us to add forward security to signatures, while still keeping passwords as a second factor of security. We provide a construction that has performance characteristics comparable with the best existing forward-secure signatures. In addition, we describe how to modify the Bellare-Miner forward secure signature scheme to achieve untrusted update. Xavier Boyen, Hovav Shacham, Emily Shen, Brent Waters |
CCS | 2 |
| 2006 | Sequential Aggregate Signatures and Multisignatures Without Random Oracles
Steve Lu 0001, Rafail Ostrovsky, Amit Sahai, Hovav Shacham, Brent Waters |
EUROCRYPT | 4 |
| 2004 | Group signatures with verifier-local revocationabstractGroup signatures have recently become important for enabling privacy-preserving attestation in projects such as Microsoft's ngscb effort (formerly Palladium). Revocation is critical to the security of such systems. We construct a short group signature scheme that supports Verifier-Local Revocation (VLR). In this model, revocation messages are only sent to signature verifiers (as opposed to both signers and verifiers). Consequently there is no need to contact individual signers when some user is revoked. This model is appealing for systems providing attestation capabilities. Our signatures are as short as standard RSA signatures with comparable security. Security of our group signature (in the random oracle model) is based on the Strong Diffie-Hellman assumption and the Decision Linear assumption in bilinear groups. We give a precise model for VLR group signatures and discuss its implications. Dan Boneh, Hovav Shacham |
CCS | 2 |
| 2004 | On the effectiveness of address-space randomizationabstractAddress-space randomization is a technique used to fortify systems against buffer overflow attacks. The idea is to introduce artificial diversity by randomizing the memory location of certain system components. This mechanism is available for both Linux (via PaX ASLR) and OpenBSD. We study the effectiveness of address-space randomization and find that its utility on 32-bit architectures is limited by the number of bits available for address randomization. In particular, we demonstrate a derandomization attack that will convert any standard buffer-overflow exploit into an exploit that works against systems protected by address-space randomization. The resulting exploit is as effective as the original exploit, although it takes a little longer to compromise a target machine: on average 216 seconds to compromise Apache running on a Linux PaX ASLR system. The attack does not require running code on the stack. Hovav Shacham, Matthew Page, Ben Pfaff, Eu-Jin Goh, Nagendra Modadugu, Dan Boneh |
CCS | 1 |
| 2004 | Short Group Signatures
Dan Boneh, Xavier Boyen, Hovav Shacham |
CRYPTO | 3 |
| 2004 | Sequential Aggregate Signatures from Trapdoor Permutations
Anna Lysyanskaya, Silvio Micali, Leonid Reyzin, Hovav Shacham |
EUROCRYPT | 4 |
| 2004 | Short Signatures from the Weil Pairing
Dan Boneh, Ben Lynn, Hovav Shacham |
J. Cryptol. | 3 |
| 2004 | Client-side caching for TLSabstractWe propose two new mechanisms for caching handshake information on TLS clients. The "fast-track" mechanism provides a client-side cache of a server's public parameters and negotiated parameters in the course of an initial, enabling handshake. These parameters need not be resent on subsequent handshakes. Fast-track reduces both network traffic and the number of round trips, and requires no additional server state. These savings are most useful in high-latency environments such as wireless networks. The second mechanism, "client-side session caching," allows the server to store an encrypted version of the session information on a client, allowing a server to maintain a much larger number of active sessions in a given memory footprint. Our design is fully backward-compatible with TLS: extended clients can interoperate with servers unaware of our extensions and vice versa. We have implemented our fast-track proposal to demonstrate the resulting efficiency improvements. Hovav Shacham, Dan Boneh, Eric Rescorla |
ACM Trans. Inf. Syst. Secur. | 1 |
| 2003 | Aggregate and Verifiably Encrypted Signatures from Bilinear Maps
Dan Boneh, Craig Gentry, Ben Lynn, Hovav Shacham |
EUROCRYPT | 4 |
| 2003 | SiRiUS: Securing Remote Untrusted Storage
Eu-Jin Goh, Hovav Shacham, Nagendra Modadugu, Dan Boneh |
NDSS | 2 |
| 2002 | Fast-Track Session Establishment for TLS
Hovav Shacham, Dan Boneh |
NDSS | 1 |
| 2001 | Short Signatures from the Weil Pairing
Dan Boneh, Ben Lynn, Hovav Shacham |
ASIACRYPT | 3 |
| 2001 | Improving SSL Handshake Performance via Batching
Hovav Shacham, Dan Boneh |
CT-RSA | 1 |