Descripción del proyecto
Mejores bases de seguridad para todos los sistemas basados en «software»
La arquitectura del conjunto de instrucciones (ISA, por sus siglas en inglés) de los ordenadores define la forma en que la unidad central de procesamiento (CPU, por sus siglas en inglés) es controlada por el «software». Las formalizaciones más avanzadas de la ISA no especifican de forma explícita las propiedades de seguridad que esa interfaz garantiza. De este modo, es fácil que se produzcan varios ataques de canal lateral de caché en la CPU. El equipo del proyecto UniversalContracts, financiado con fondos europeos, desarrollará un nuevo método para especificar las propiedades de seguridad de las ISA. Utilizará acuerdos universales que puedan registrar los límites superiores impuestos por la ISA sobre los efectos del «software» arbitrario (incluso controlado por los atacantes). Estos acuerdos pueden aplicarse a primitivas de seguridad generales, verificadas mecánicamente con la semántica operativa de la ISA.
Objetivo
The Instruction Set Architecture (ISA) is the interface that processor hardware offers to software developers. Current ISAs do not explicitly specify the security properties guaranteed by that interface, so that, for example, recent severe micro-architectural side-channel vulnerabilities like Spectre did not even violate the specifications. This project proposes a fundamentally new approach to specify ISA security properties by using what we call universal contracts. These are formal contracts in a compositional program logic that automatically hold for arbitrary code. Such contracts capture ISA-enforced upper bounds on the effects of arbitrary (even attacker-controlled) software. While this approach is widely different from traditional specifications, the approach looks extremely promising: universal contracts can be applied to general security primitives, mechanically verified against the ISA's operational semantics and they make it possible to obtain full-system security proofs by manually verifying only the trusted code of a sytem.
In this project, we will contribute reusable techniques and tools for applying universal contracts in realistic ISAs. To this end, we will (1) design, prove and evaluate universal contracts for ISAs with state-of-practice security primitives, (2) develop semi-automation machinery for verifying universal contracts of ISAs, (3) extend universal contracts to deal with semantic complications like concurrency or micro-architectural side-channels and (4) design, implement and evaluate techniques which facilitate the construction of trusted software that relies on universal contracts, particularly assembly-level reasoning support and secure compilers. If successful, the project has the potential to fundamentally improve the security foundations of all software-based systems, by (1) clearly dividing the security responsibilities between hardware and software developers and (2) enabling scalable, rigorous, full-system security proofs.
Ámbito científico (EuroSciVoc)
CORDIS clasifica los proyectos con EuroSciVoc, una taxonomía plurilingüe de ámbitos científicos, mediante un proceso semiautomático basado en técnicas de procesamiento del lenguaje natural.
CORDIS clasifica los proyectos con EuroSciVoc, una taxonomía plurilingüe de ámbitos científicos, mediante un proceso semiautomático basado en técnicas de procesamiento del lenguaje natural.
Para utilizar esta función, debe iniciar sesión o registrarse
Palabras clave
Programa(s)
- HORIZON.1.1 - European Research Council (ERC) Main Programme
Régimen de financiación
HORIZON-ERC - HORIZON ERC GrantsInstitución de acogida
3000 Leuven
Bélgica