Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 10,000 papers for “Memory safety”

Memory Safety

Hamed Okhravi · IEEE Security & Privacy · 2024

Memory corruption attacks have impacted computer systems for decades. Recent advances in safe languages, security-aware hardware, and improved sanitization and runtime defenses provide the hope for a major shift towards memory safety.

Cited by 1

memory no safety

gatedrummer@hotmail.com · Bulletin of Miscellaneous Information (Royal Gardens Kew)

Cited by 0

Comprehensive Memory Safety Validation: An Alternative Approach to Memory Safety

Kaiming Huang, Mathias Payer, Zhiyun Qian et al. · IEEE Security & Privacy · 2024

Comprehensive memory safety validation identifies the memory objects whose accesses provably comply with all classes of memory safety, protecting them from memory errors elsewhere at low overhead. We assess the breadth and depth of comprehensive memory safety validation.

Cited by 3Open access

Memory Safety for Skeptics

Andrew Lilley Brinker · Communications of the ACM · 2026

If you’re tired of hearing about memory safety, this article is for you.

Cited by 0

Cryptographically Enforced Memory Safety

Martin Unterguggenberger, David Schrammel, Lukas Lamster et al. · 2023

C/C++ memory safety issues, such as out-of-bounds errors, are still prevalent in today's applications. The presence of a single exploitable software bug allows an adversary to gain unauthorized memory access and ultimately compromise the entire system. Typically, memory safety schemes only achieve widespread adaption if they provide lightweight and practical security. Thus, hardware support is indispensable. However, countermeasures often restrict unauthorized access to data using heavy-weight protection mechanisms that extensively reshape the processor's microarchitecture and break legacy compatibility.

Cited by 6Open access

Chapter 1 Memory Safety for Safety Critical Java

Daniel Tang, Ales Plsek, Jan Vitek · 2013

Abstract Memory is a key resource in computer systems. Safety-critical systems often must operate for long periods of time with limited available memory. Programmers must therefore take great care to use memory sparingly and avoid programming errors. This chapter introduces the memory management API of the Safety Critical Java specification and presents a static technique for ensuring memory safety. 1.1

Cited by 0

LLM Assistance for Memory Safety

Nausheen Mohammed, Akash Lal, Aseem Rastogi et al. · 2025

Memory safety violations in low-level code, written in languages like C, continues to remain one of the major sources of software vulnerabilities. One method of removing such violations by construction is to port C code to a safe C dialect. Such dialects rely on programmer-supplied annotations to guarantee safety with minimal runtime overhead. This porting, however, is a manual process that imposes significant burden on the programmer and, hence, there has been limited adoption of this technique. The task of porting not only requires inferring annotations, but may also need refactoring/rewriting of the code to make it amenable to such annotations. In this paper, we use Large Language Models (LLMs) towards addressing both these concerns. We show how to harness LLM capabilities to do complex code reasoning as well as rewriting of large codebases. We also present a novel framework for whole-program transformations that leverages lightweight static analysis to break the transformation into smaller steps that can be carried out effectively by an LLM. We implement our ideas in a tool called MSA that targets the CheckedC dialect. We evaluate MSA on several micro-benchmarks, as well as real-world code ranging up to 20K lines of code. We showcase superior performance compared to a vanilla LLM baseline, as well as demonstrate improvement over a state-of-the-art symbolic (non-LLM) technique.

Cited by 3

Memory Safety Preservation for WebAssembly

Vassena, Marco, Patrignani, Marco · CISPA Helmholtz Center · 2019

WebAssembly (Wasm) is a next-generation portable compilation target for deploying applications written in high-level languages on the web. In order to protect their memory from untrusted code, web browser engines confine the execution of compiled Wasm programs in a memory-safe sandbox. Unfortunately, classic memory-safety vulnerabilities (e.g., buffer overflows and use-after-free) can still corrupt the memory within the sandbox and allow Wasm code to mount severe attacks. To prevent these attacks, we study a class of secure compilers that eliminate (different kinds of) of memory safety violations. Following a rigorous approach, we discuss memory safety in terms of hypersafety properties, which let us identify suitable secure compilation criteria for memory-safety-preserving compilers. We conjecture that, barring some restrictions at module boundaries, the existing security mechanisms of Wasm may suffice to enforce memory-safety preservation, in the short term. In the long term, we observe that certain features proposed in the design of a memory-safe variant of Wasm could allow compilers to lift these restrictions and enforce relaxed forms of memory safety.

Cited by 0Open access

Memory Safety Preservation for WebAssembly

Marco Vassena, Marco Patrignani · arXiv (Cornell University) · 2019

WebAssembly (Wasm) is a next-generation portable compilation target for deploying applications written in high-level languages on the web. In order to protect their memory from untrusted code, web browser engines confine the execution of compiled Wasm programs in a memory-safe sandbox. Unfortunately, classic memory-safety vulnerabilities (e.g., buffer overflows and use-after-free) can still corrupt the memory within the sandbox and allow Wasm code to mount severe attacks. To prevent these attacks, we study a class of secure compilers that eliminate (different kinds of) of memory safety violations. Following a rigorous approach, we discuss memory safety in terms of hypersafety properties, which let us identify suitable secure compilation criteria for memory-safety-preserving compilers. We conjecture that, barring some restrictions at module boundaries, the existing security mechanisms of Wasm may suffice to enforce memory-safety preservation, in the short term. In the long term, we observe that certain features proposed in the design of a memory-safe variant of Wasm could allow compilers to lift these restrictions and enforce relaxed forms of memory safety.

Cited by 2Open access

Practical Memory Safety with REST

Kanad Sinha, Simha Sethumadhavan · 2018

In this paper, we propose Random Embedded Secret Tokens (REST), a simple hardware primitive to provide content-based checks, and show how it can be used to mitigate common types of spatial and temporal memory errors at very low cost. REST is simply a very large random value that is embedded into programs. To provide memory safety, REST is used to bookend data structures during allocation. If the hardware accesses a REST value during execution, due to programming errors or adversarial actions, it reports a privileged memory safety exception. Implementing REST requires 1 bit of metadata per L1 data cache line and a comparator to check for REST tokens during a cache fill. The software infrastructure to provide memory safety with REST reuses a production-quality memory error detection tool, AddressSanitizer, by changing less than 1.5K lines of code. REST based memory safety offers several advantages com-pared to extant methods: (1) it does not require significant redesign of hardware or software, (2) the overhead of heap and stack safety is 2% compared to 40% for AddressSanitizer, (3) the security of the memory safety implementation is improved compared AddressSanitizer, and (4) REST based memory safety can mitigate heap safety errors in legacy binaries without recom-pilation or source code. These advantages provide a significant step towards continuous runtime memory safety monitoring and mitigation for legacy and new binaries.

Cited by 36

The Meaning of Memory Safety

Arthur Azevedo de Amorim, Cătălin Hriţcu, Benjamin C. Pierce · SPIRE - Sciences Po Institutional REpository · 2018

International audience

Cited by 19

Memory Safety Preservation for WebAssembly

Vassena, Marco, Patrignani, Marco · Figshare · 2019

WebAssembly (Wasm) is a next-generation portable compilation target for deploying applications written in high-level languages on the web. In order to protect their memory from untrusted code, web browser engines confine the execution of compiled Wasm programs in a memory-safe sandbox. Unfortunately, classic memory-safety vulnerabilities (e.g., buffer overflows and use-after-free) can still corrupt the memory within the sandbox and allow Wasm code to mount severe attacks. To prevent these attacks, we study a class of secure compilers that eliminate (different kinds of) of memory safety violations. Following a rigorous approach, we discuss memory safety in terms of hypersafety properties, which let us identify suitable secure compilation criteria for memory-safety-preserving compilers. We conjecture that, barring some restrictions at module boundaries, the existing security mechanisms of Wasm may suffice to enforce memory-safety preservation, in the short term. In the long term, we observe that certain features proposed in the design of a memory-safe variant of Wasm could allow compilers to lift these restrictions and enforce relaxed forms of memory safety.

Cited by 0Open access

Spatial Memory Safety for C

Santosh Nagarakatte, Jianzhou Zhao, Milo Martin et al. · 2009

The serious bugs and security vulnerabilities facilitated by C/C++’s lack of bounds checking are well known. Yet, C and C++ remain in widespread use. Unfortunately, C’s arbitrary pointer arithmetic, conflation of pointers and arrays, and programmer-visible memory layout make retrofitting C/C++ with spatial safety guarantees extremely challenging. Existing approaches suffer from incompleteness, have high runtime overhead, or require non-trivial changes to the C source code. Thus far, these deficiencies have prevented widespread adoption of such techniques. This paper proposes SoftBound, a compile time transformation for enforcing complete spatial safety of C. SoftBound records base and bound information for every pointer as disjoint metadata. This decoupling enables SoftBound to provide complete spatial safety while requiring no changes to C source code. Moreover, SoftBound performs metadata manipulation only when loading or storing pointer values. A formal proof shows this is sufficient to provide complete spatial safety even in the presence of wild casts. SoftBound’s full checking mode provides complete spatial violation detection. To further reduce overheads, SoftBound has a storeonly checking mode that successfully detects all the security vulnerabilities in a test suite while adding 15 % or less overhead to half of the benchmarks. 1.

Cited by 0

Security Support on Memory Controller for Heap Memory Safety

Chaochao Zhang, Rui Hou · 2022

Memory corruption attacks have existed for multiple decades, and have become a major threat to computer systems. At the same time, a number of defense techniques have been proposed by research community. With the wide adoption of CPU-based memory safety solutions, sophisticated attackers tend to tamper with system memory via direct memory access (DMA) attackers, which leverage DMA-enabled I/O peripherals to fully compromise system memory. The Input-Output Memory Management Units (IOMMUs) based solutions are widely believed to mitigate DMA attacks. However, recent works point out that attackers can bypass IOMMU-based protections by manipulating the DMA interfaces, which are particularly vulnerable to race conditions and other unsafe interactions.State-of-the-art hardware-supported memory protections rely on metadata to perform security checks on memory access. Consequently, the additional memory request for metadata results in significant performance degradation, which limited their feasibility in real world deployments. For quantitative analysis, we separate the total metadata access latency into DRAM latency, on-chip latency, and cache latency, and observe that the actual DRAM access is less than half of the total latency. To minimize metadata access latency, we propose EMC, a low-overhead heap memory safety solution that implements a tripwire based mechanism on the memory controller. In addition, by using memory controller as a natural gateway of various memory access data paths, EMC could provide comprehensive memory safety enforcement to all memory data paths from/to system physical memory. Our evaluation shows an 0.54% performance overhead on average for SPEC 2017 workloads.

Cited by 1

AHEMS: Asynchronous Hardware-Enforced Memory Safety

Kuan-Yu Tseng, Dao Lu, Zbigniew Kalbarczyk et al. · 2014

This paper presents AHEMS (Asynchronous Hardware-Enforced Memory Safety), an architectural support for enforcing spatial and temporal memory safety to protect against memory corruption attacks. We integrated AHEMS with the Leon3 open-source processor and prototype on an FPGA. In an evaluation of the detection coverage using 677 security test cases (including spatial and temporal memory errors), selected from the Juliet Test Suite, AHEMS detected all but one memory safety violation. The missed test case involves overflow of a sub-object in a data structure whose detection is not supported by the current prototype. Performance assessment using the Olden benchmarks shows an average 10.6% overhead, and negligible impact on the processor-critical path (0.06% overhead) and power consumption (0.5% overhead).

Cited by 1

Memory safety for synchronous reactive programming

Darine Rammal · theses.fr (ABES) · 2024

Co-Encadrant)Je commence par exprimer ma profonde gratitude envers mon Dieu qui m'a soutenu quand j'en avais le plus besoin.Grce Lui, j'ai pu devenir la personne que je suis aujourd'hui.Je Le remercie sincrement, car je n'ai jamais fait face quoi que ce soit sans Le sentir prsent avant, pendant et aprs chaque tape de ma vie.Je souhaite adresser mes remerciements les plus chaleureux mon directeur de thse, Pierre Rty, ainsi qu' mes co-encadrants, Wadoud Bousdira et Frdric Dabrowski.Vous m'avez honor en acceptant de superviser ma thse, et je vous suis infiniment reconnaissante pour votre encadrement, vos encouragements et votre soutien.Votre prsence dans ma vie acadmique et personnelle au cours de ces dernires annes a t inestimable, et je ne peux pas exprimer assez combien je vous suis reconnaissante.Je nourris l'espoir sincre de m'approcher un jour de votre stature en tant que chercheurs, mais aussi en tant que personnes exemplaires sur le plan moral et humain.J'adresse galement mes remerciements aux membres du jury pour l'honneur qu'ils ont fait en acceptant de participer cet vnement important de ma vie acadmique.Je tiens adresser mes remerciements particuliers M. Signoles et M. Mourlin pour avoir rapport ma thse.Cela a t un immense plaisir de bnficier de leurs conseils aviss.Je saisis cette occasion pour remercier chaleureusement toute l'quipe du LIFO pour leur accueil chaleureux et leur efficacit, qui ont rendu ces annes de recherche agrables et enrichissantes.Un remerciement particulier mes collgues de bureau Thi Bich Hanh Diep et Guillaume Cleuziou pour leurs changes et le partage de leurs expriences.Je ne peux pas passer sous silence ma reconnaissance envers l'quipe LMV laquelle j'ai appartenu.Chacun des membres a contribu crer une atmosphre familiale au-del du simple cadre professionnel, et je chris les bons moments passs ensemble, notamment lors de nos journes d'quipe.Je tiens exprimer ma profonde gratitude envers ma famille, mes parents, Mohammad et Insaf, mes soeurs, Sanaa, Hadia et Farah, ainsi que mes beaux-frres Ali, Hussein et Mohammad.Votre soutien inconditionnel et votre amour ont t essentiels tout au long de ces annes loin de mon pays natal.Votre prsence mes cts a t un pilier essentiel de ma vie, et je vous remercie du fond du coeur.Ce travail de thse tmoigne de l'estime et de l'amour que j'ai pour vous. toi, mon fianc, Karim, je suis extrmement reconnaissante pour ta prsence et tes encouragements tout au long de ce parcours.Ta patience, ton coute et ton soutien pendant la rdaction de ce manuscrit ont t prcieux pour moi.Un remerciement spcial mes amis pour leur soutien inbranlable et leur confiance en moi.J'apprcie galement normment le soutien et la bonne humeur de mes collgues doctorants du LIFO, notamment lors de nos moments de joie partags et pendant les pauses caf.Vous avez rendu cette aventure acadmique encore plus riche.iii Finalement, je tiens remercier du fond du coeur toutes les personnes qui ont contribu, de prs ou de loin, la ralisation de cette thse.Vos encouragements, vos conseils et votre prsence ont t essentiels mon succs, et je vous en suis infiniment reconnaissante.

Cited by 0Open access