Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Pablo Buiras

dblp:07/7975 · DBLP profile ↗
← Back
12ranked-venue papers
3as first author
2since 2021 · last 2024
0000-0002-4368-4196ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 6 · 1 first-authorSecurity and privacy · 5 · 1 first-author · 1 since 2021Systems, architecture and hardware · 1 · 1 first-author · 1 since 2021Theory of computation · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
3 papers
Hardware security and side channels · 68% Systems and software security · 26% Cryptographic primitives and cryptanalysis · 3%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Processor architecture and microarchitecture · 68% Memory systems · 32%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Hardware security and side channels
side-channel attack
0.922021
Validation of Side-Channel Models via Observation Refinement · MICRO 2021
Validation of Abstract Side-Channel Models for Computer Architectures · CAV (1) 2020
Hardware security and side channels
microarchitectural side channel
0.512021
Validation of Side-Channel Models via Observation Refinement · MICRO 2021
Hardware security and side channels › microarchitectural attacks
speculative execution leakage
0.512021
Validation of Side-Channel Models via Observation Refinement · MICRO 2021
Systems and software security › secure software development
input validation
0.412020
Validation of Abstract Side-Channel Models for Computer Architectures · CAV (1) 2020
Systems and software security
information flow control
0.312017
Cryptographically Secure Information Flow Control on Key-Value Stores · CCS 2017
Memory systems
cache side channel
0.112020
Validation of Abstract Side-Channel Models for Computer Architectures · CAV (1) 2020
Processor architecture and microarchitecture › microarchitectural security
microarchitectural side channels
0.112020
Validation of Abstract Side-Channel Models for Computer Architectures · CAV (1) 2020
Cryptographic primitives and cryptanalysis
encryption
0.112017
Cryptographically Secure Information Flow Control on Key-Value Stores · CCS 2017
Cryptographic protocols and secure computation
key management
0.112017
Cryptographically Secure Information Flow Control on Key-Value Stores · CCS 2017

Methods — techniques the papers use, named apart from their topics

relational testing · 1.0observation refinement · 1.0symbolic execution · 0.9relational analysis · 0.9program generation · 0.9formal security proof · 0.3
YearPublicationVenuePosition
2024 Beyond Over-Protection: A Targeted Approach to Spectre Mitigation and Performance Optimization
abstract
Since the advent of Spectre attacks, researchers and practitioners have developed a range of hardware and software measures to counter transient execution attacks. A prime example of such mitigation is speculative load hardening (slh) in LLVM, which protects against leaks by tracking the speculation state and masking values during misspeculation. LLVM relies on static analysis to harden programs using slh that often results in over-protection, which incurs performance overhead. We extended an existing side-channel model validation framework, Scam-V, to check the vulnerability of programs to Spectre-PHT attacks and optimize the protection of programs using the slh approach. We illustrate the efficacy of Scam-V by first demonstrating that it can automatically identify Spectre vulnerabilities in programs, e.g., fragments of crypto-libraries. We then develop an optimization mechanism to validate the necessity of slh hardening w.r.t. the target platform. Our experiments showed that hardening introduced by LLVM in most cases could be improved when the underlying microarchitecture properties are considered.
Tiziano Marinaro, Pablo Buiras, Andreas Lindner, Roberto Guanciale, Hamed Nemati
AsiaCCS2
2021 Validation of Side-Channel Models via Observation Refinement
abstract
Observational models enable the analysis of information flow properties against side channels. Relational testing has been used to validate the soundness of these models by measuring the side channel on states that the model considers indistinguishable. However, unguided search can generate test states that are too similar to each other to invalidate the model. To address this we introduce observation refinement, a technique to guide the exploration of the state space to focus on hardware features of interest. We refine observational models to include fine-grained observations that characterize behavior that we want to exclude. States that yield equivalent refined observations are then ruled out, reducing the size of the space. We have extended an existing model validation framework, Scam-V, to support refinement. We have evaluated the usefulness of refinement for search guidance by analyzing cache coloring and speculative leakage in the ARMv8-A architecture. As a surprising result, we have exposed SiSCLoak, a new vulnerability linked to speculative execution in Cortex-A53.
Pablo Buiras, Hamed Nemati, Andreas Lindner, Roberto Guanciale
MICRO1
2020 Validation of Abstract Side-Channel Models for Computer Architectures
abstract
Observational models make tractable the analysis of information flow properties by providing an abstraction of side channels. We introduce a methodology and a tool, Scam-V, to validate observational models for modern computer architectures. We combine symbolic execution, relational analysis, and different program generation techniques to generate experiments and validate the models. An experiment consists of a randomly generated program together with two inputs that are observationally equivalent according to the model under the test. Validation is done by checking indistinguishability of the two inputs on real hardware by executing the program and analyzing the side channel. We have evaluated our framework by validating models that abstract the data-cache side channel of a Raspberry Pi 3 board with a processor implementing the ARMv8-A architecture. Our results show that Scam-V can identify bugs in the implementation of the models and generate test programs which invalidate the models due to hidden microarchitectural behavior.
Hamed Nemati, Pablo Buiras, Andreas Lindner, Roberto Guanciale, Swen Jacobs
CAV (1)2
2017 Cryptographically Secure Information Flow Control on Key-Value Stores
abstract
We present Clio, an information flow control (IFC) system that transparently incorporates cryptography to enforce confidentiality and integrity policies on untrusted storage. Clio insulates developers from explicitly manipulating keys and cryptographic primitives by leveraging the policy language of the IFC system to automatically use the appropriate keys and correct cryptographic operations. We prove that Clio is secure with a novel proof technique that is based on a proof style from cryptography together with standard programming languages results. We present a prototype Clio implementation and a case study that demonstrates Clio's practicality.
Lucas Waye, Pablo Buiras, Owen Arden, Alejandro Russo, Stephen Chong
CCS2
2017 QuickFuzz testing for fun and profit
Gustavo Grieco, Martín Ceresa, Agustín Mista, Pablo Buiras
J. Syst. Softw.4
2016 Flexible Manipulation of Labeled Values for Information-Flow Control Libraries
Marco Vassena, Pablo Buiras, Lucas Waye, Alejandro Russo
ESORICS (1)2
2016 QuickFuzz: an automatic random fuzzer for common file formats
abstract
Fuzzing is a technique that involves testing programs using invalid or erroneous inputs. Most fuzzers require a set of valid inputs as a starting point, in which mutations are then introduced. QuickFuzz is a fuzzer that leverages QuickCheck-style random test-case generationto automatically test programs that manipulate common file formats by fuzzing. We rely on existing Haskell implementations of file-format-handling libraries found on Hackage, the community-driven Haskell code repository. We have tried QuickFuzz in the wild and found that the approach is effective in discovering vulnerabilities in real-world implementations of browsers, image processing utilities and file compressors among others. In addition, we introduce a mechanism to automatically derive random generators for the types representing these formats. QuickFuzz handles most well-known image and media formats, and can be used to test programs and libraries written in any language.
Gustavo Grieco, Martín Ceresa, Pablo Buiras
Haskell3
2016 The Key monad: type-safe unconstrained dynamic typing
abstract
We present a small extension to Haskell called the Key monad. With the Key monad, unique keys of different types can be created and can be tested for equality. When two keys are equal, we also obtain a concrete proof that their types are equal. This gives us a form of dynamic typing, without the need for Typeable constraints. We show that our extension allows us to safely do things we could not otherwise do: it allows us to implement the ST monad (inefficiently), to implement an embedded form of arrow notation, and to translate parametric HOAS to typed de Bruijn indices, among others. Although strongly related to the ST monad, the Key monad is simpler and might be easier to prove safe. We do not provide such a proof of the safety of the Key monad, but we note that, surprisingly, a full proof of the safety of the ST monad also remains elusive to this day. Hence, another reason for studying the Key monad is that a safety proof for it might be a stepping stone towards a safety proof of the ST monad.
Atze van der Ploeg, Koen Claessen, Pablo Buiras
Haskell3
2015 HLIO: mixing static and dynamic typing for information-flow control in Haskell
abstract
Information-Flow Control (IFC) is a well-established approach for allowing untrusted code to manipulate sensitive data without disclosing it. IFC is typically enforced via type systems and static analyses or via dynamic execution monitors. The LIO Haskell library, originating in operating systems research, implements a purely dynamic monitor of the sensitivity level of a computation, particularly suitable when data sensitivity levels are only known at runtime. In this paper, we show how to give programmers the flexibility of deferring IFC checks to runtime (as in LIO), while also providing static guarantees---and the absence of runtime checks---for parts of their programs that can be statically verified (unlike LIO). We present the design and implementation of our approach, HLIO (Hybrid LIO), as an embedding in Haskell that uses a novel technique for deferring IFC checks based on singleton types and constraint polymorphism. We formalize HLIO, prove non-interference, and show how interesting IFC examples can be programmed. Although our motivation is IFC, our technique for deferring constraints goes well beyond and offers a methodology for programmer-controlled hybrid type checking in Haskell.
Pablo Buiras, Dimitrios Vytiniotis, Alejandro Russo
ICFP1
2014 On Dynamic Flow-Sensitive Floating-Label Systems
abstract
Flow-sensitive analysis for information-flow control (IFC) allows data structures to have mutable security labels, i.e., labels that can change over the course of the computation. This feature is often used to boost the permissiveness of the IFC monitor, by rejecting fewer programs, and to reduce the burden of explicit label annotations. However, when added naively, in a purely dynamic setting, mutable labels can expose a high bandwidth covert channel. In this work, we present an extension for LIO-a language-based floating-label system-that safely handles flow-sensitive references. The key insight to safely manipulating the label of a reference is to not only consider the label on the data stored in the reference, i.e., the reference label, but also the label on the reference label itself. Taking this into consideration, we provide an upgrade primitive that can be used to change the label of a reference in a safe manner. To eliminate the burden of determining when a reference should be upgraded, we additionally provide a mechanism for automatic upgrades. Our approach naturally extends to a concurrent setting, not previously considered by dynamic flow-sensitive systems. For both our sequential and concurrent calculi, we prove non-interference by embedding the flow-sensitive system into the flow-insensitive LIO calculus, a surprising result on its own.
Pablo Buiras, Deian Stefan, Alejandro Russo
CSF1
2013 Eliminating Cache-Based Timing Attacks with Instruction-Based Scheduling
Deian Stefan, Pablo Buiras, Edward Z. Yang, Amit Levy 0001, David Terei, Alejandro Russo, David Mazières
ESORICS2
2012 Addressing covert termination and timing channels in concurrent information flow systems
abstract
When termination of a program is observable by an adversary, confidential information may be leaked by terminating accordingly. While this termination covert channel has limited bandwidth for sequential programs, it is a more dangerous source of information leakage in concurrent settings. We address concurrent termination and timing channels by presenting a dynamic information-flow control system that mitigates and eliminates these channels while allowing termination and timing to depend on secret values. Intuitively, we leverage concurrency by placing such potentially sensitive actions in separate threads. While termination and timing of these threads may expose secret values, our system requires any thread observing these properties to raise its information-flow label accordingly, preventing leaks to lower-labeled contexts. We implement this approach in a Haskell library and demonstrate its applicability by building a web server that uses information-flow control to restrict untrusted web applications.
Deian Stefan, Alejandro Russo, Pablo Buiras, Amit Levy 0001, John C. Mitchell, David Mazières
ICFP3