Skip to main content
Go to the home page of the European Commission (opens in new window)
English en
CORDIS - EU research results
CORDIS

VALIDATing SEcurity Safeguards in Binaries Compiled with Memory-Safe Languages Pre-Execution

Project description

Ensuring security in memory-safe binaries

Memory-safe programming languages like Rust, Go, and Swift enhance security by reducing vulnerabilities without significant performance loss. These languages allow compilers to check code security directly. However, the lack of runtime protection poses risks, as developers may unintentionally introduce vulnerabilities in seemingly secure binaries. Supported by the Marie Skłodowska-Curie Actions programme, the VALIDATE project will create a validation mechanism that ensures binaries compiled with memory-safe languages maintain their security properties before execution. Operating at the final executable level, the project guarantees that security measures established at compile time remain intact at load time. The results will enhance cybersecurity and user trust by confirming that advertised memory-safe software is genuinely safe before execution.

Objective

The emergence of memory-safe programming languages like Rust, Go, and Swift has significantly enhanced security by mitigating common memory-related vulnerabilities with minimal performance loss. Traditionally, memory safety was enforced through run-time support (e.g. Java), which executes bytecode but incurs significant performance overhead. In contrast, Rust, Go, Swift, and similar languages provide memory safety without heavy run-time support, delivering fast, secure machine code instead of virtual bytecode assessed at run-time. The core idea is to let the compiler vet about the security of a program by rejecting insecure code and by injecting certain checks in the produced machine code. However, the lack of run-time protection introduces a new attack vector. Specifically, developers themselves can become attackers by subtly manipulating binaries compiled with memory-safe languages, introducing deliberate vulnerabilities. These compromised binaries, disguised as secure, can bypass app store screening processes and become malicious post-installation through remote exploitation. This underscores the need for a robust validation mechanism to complement existing screening processes. To address this, we introduce VALIDATE (VALIDATing SEcurity Safeguards in Binaries Compiled with Memory-Safe Languages Pre-Execution), a validation mechanism ensuring that binaries compiled with memory-safe languages retain their intended security properties before execution. VALIDATE operates at the final executable level, where no further code alterations can occur, providing accurate end-to-end security guarantees. By advancing static and dynamic analysis techniques beyond the state-of-the-art, VALIDATE ensures that security guarantees enforced at compile-time remain intact at load-time. Integrating VALIDATE with app store screening processes enhances cybersecurity and maintains user trust by ensuring that memory-safe advertised software is indeed safe before execution.

Fields of science (EuroSciVoc)

Keywords

Programme(s)

Topic(s)

Funding Scheme

HORIZON-TMA-MSCA-PF-EF - HORIZON TMA MSCA Postdoctoral Fellowships - European Fellowships

See all projects funded under this funding scheme

Call for proposal

(opens in new window) HORIZON-MSCA-2024-PF-01

See all projects funded under this call

Coordinator

TECHNISCHE UNIVERSITEIT DELFT
Net EU contribution
€ 217 076,16
Total cost
No data

Partners (1)