Tag. security

Notes (1)

Cloudflare Parsing Error cloudflare-parsing-error

An error in the Cloudflare HTML parser would allow uninitialized memory to be dumped when there were imbalanced HTML tags.

This is indeed a case where a verified parser would have alleviated the issue.

References (24)

Cerisier: A Program Logic for Attestation in a Capability Machine rousseau-2026-cerisier

A key feature in trusted computing is attestation, which allows encapsulated components (enclaves) to prove their identity to (local or remote) distrusting components. Reasoning about software that uses the technique requires tracking how trust evolves after successful attestation. This process is security-critical and non-trivial, but no existing formal verification technique supports modular reasoning about attestation of enclaves and their clients, or proving end-to-end properties for systems combining trusted, untrusted and attested code. We contribute Cerisier, the first program logic for modular reasoning about trusted, untrusted and attested code, fully mechanized in the Iris separation logic and the Rocq Prover. We formalize a recent proposal, CHERI-TrEE, to extend capability machines with enclave primitives, as an extension to the Cerise capability machine and program logic. Our program logic comes with a universal contract for untrusted code, which captures both capability safety and local enclave attestation. Like Cerise, this universal contract is phrased in terms of a logical relation defining capabilities’ authority. We demonstrate Cerisier by proving end-to-end properties for three representative applications of trusted computing: secure outsourced computation, mutual attestation and a modeled trusted sensor component.
PDF · DOI · pldb

Confidential computing for population-scale genome-wide association studies with SECRET-GWAS rosenblum-2025-confidential

DOI

ZIPNet: Low-bandwidth anonymous broadcast from (dis)Trusted Execution Environments rosenberg-2025-zipnet

Anonymous Broadcast Channels (ABCs) allow a group of clients to announce messages without revealing the exact author. Modern ABCs operate in a client-server model, where anonymity depends on some threshold (e.g, 1 of 2) of servers being honest. ABCs are an important application in their own right, e.g., for activism and whistleblowing. Recent work on ABCs (Riposte, Blinder) has focused on minimizing the bandwidth cost to clients and servers when supporting large broadcast channels for such applications. But, particularly for low bandwidth settings, they impose large costs on servers, make cover traffic costly, and make volunteer operators unlikely. In this paper, we describe the design, implementation, and evaluation of ZipNet, an anonymous broadcast channel that: 1) scales to hundreds of anytrust servers by minimizing the computational costs of each server, 2) substantially reduces the servers’ bandwidth costs by outsourcing the aggregation of client messages to untrusted (for privacy) infrastructure, and 3) supports cover traffic that is both cheap for clients to produce and for servers to handle.
DOI

Hybrid Obfuscated Key Exchange and KEMs gunther-2025-hybrid

DOI

PAKE Combiners and Efficient Post-quantum Instantiations hesse-2025-pake

DOI

Hekaton: Horizontally-Scalable zkSNARKs Via Proof Aggregation rosenberg-2024-hekaton

DOI

Toleo: Scaling Freshness to Tera-scale Memory Using CXL and PIM dong-2024-toleo

DOI · arXiv

Cerise: Program Verification on a Capability Machine in the Presence of Untrusted Code georges-2024-cerise

A capability machine is a type of CPU allowing fine-grained privilege separation using capabilities , machine words that represent certain kinds of authority. We present a mathematical model and accompanying proof methods that can be used for formal verification of functional correctness of programs running on a capability machine, even when they invoke and are invoked by unknown (and possibly malicious) code. We use a program logic called Cerise for reasoning about known code, and an associated logical relation, for reasoning about unknown code. The logical relation formally captures the capability safety guarantees provided by the capability machine. The Cerise program logic, logical relation, and all the examples considered in the paper have been mechanized using the Iris program logic framework in the Coq proof assistant. The methodology we present underlies recent work of the authors on formal reasoning about capability machines [Georges et al. 2021 ; Skorstengaard et al. 2019a ; Van Strydonck et al. 2022 ], but was left somewhat implicit in those publications. In this paper we present a pedagogical introduction to the methodology, in a simpler setting (no exotic capabilities), and starting from minimal examples. We work our way up to new results about a heap-based calling convention and implementations of sophisticated object-capability patterns of the kind previously studied for high-level languages with object-capabilities, demonstrating that the methodology scales to such reasoning.
DOI

LATKE: A Framework for Constructing Identity-Binding PAKEs katz-2024-latke

DOI

Security Verification of Low-Trust Architectures tan-2023-security

DOI

Galápagos: Developing Verified Low Level Cryptography on Heterogeneous Hardwares zhou-2023-galapagos

DOI

Curbing the Vulnerable Parser: Graded Modal Guardrails for Secure Input Handling bond-2023-curbing

DOI

Siloz: Leveraging DRAM Isolation Domains to Prevent Inter-VM Rowhammer loughlin-2023-siloz

DOI

Owl: Compositional Verification of Security Protocols via an Information-Flow Type System gancher-2023-owl

DOI

zk-creds: Flexible Anonymous Credentials from zkSNARKs and Existing Identity Infrastructure rosenberg-2023-zk

DOI

SNARKBlock: Federated Anonymous Blocklisting from Hidden Common Input Aggregate Proofs rosenberg-2022-snarkblock

DOI

Labeled PSI from Homomorphic Encryption with Reduced Computation and Communication cong-2021-labeled

DOI

Boosting the Security of Blind Signature Schemes katz-2021-boosting

DOI

First-Order Logic for Flow-Limited Authorization hirsch_etal_2020

We present the Flow-Limited Authorization First-Order Logic (FLAFOL), a logic for reasoning about authorization decisions in the presence of information-flow policies. We formalize the FLAFOL proof system, characterize its proof-theoretic properties, and develop its security guarantees. In particular, FLAFOL is the first logic to provide a non-interference guarantee while supporting all connectives of first-order logic. Furthermore, this guarantee is the first to combine the notions of non-interference from both authorization logic and information-flow systems. All the theorems in this paper are proven in Coq.
DOI

Fission: Secure Dynamic Code-Splitting for JavaScript guha-2017-fission

Traditional web programming involves the creation of two distinct programs: a client-side front-end, a server-side back-end, and a lot of communications boilerplate. An alternative approach is to use a tierless programming model, where a single program describes the behavior of both the client and the server, and the runtime system takes care of communication. Unfortunately, this usually entails adopting a new language and thus abandoning well-worn libraries and web programming tools.

In this paper, we present our ongoing work on Fission, a platform that uses dynamic tier-splitting and dynamic information flow control to transparently run a single JavaScript program across the client and server. Although static tier-splitting has been studied before, our focus on dynamic approaches presents several new challenges and opportunities. For example, Fission supports characteristic JavaScript features such as eval and sophisticated JavaScript libraries like React. Therefore, programmers can reason about the integrity and confidentiality of information while continuing to use common libraries and programming patterns. Moreover, by unifying the client and server into a single program, Fission allows language-based tools, like type systems and IDEs, to manipulate complete web applications. To illustrate, we use TypeScript to ensure that client-server communication does not go wrong.

DOI

Trust Extension as a Mechanism for Secure Code Execution on Commodity Computers parno-2014-trust

DOI

Pinocchio: Nearly Practical Verifiable Computation parno-2013-pinocchio

DOI

Bootstrapping Trust in Modern Computers parno-2011-bootstrapping

DOI

Flicker: an execution infrastructure for tcb minimization mccune-2008-flicker

DOI
tag-security tag