Descripción del proyecto
Modernización del «software» heredado mediante levantamiento binario
El «software» heredado de las infraestructuras depende de cadenas de herramientas obsoletas, lo que limita el acceso a los beneficios de los compiladores modernos y requiere «hardware» obsoleto. Su modernización se ve obstaculizada por dependencias no documentadas y la dificultad de hacer coincidir el código fuente con los binarios. El proyecto REVITALIZE, financiado por el Consejo Europeo de Investigación, utilizará un método innovador que parte de un binario autorizado y lo eleva a la representación intermedia de la infraestructura del compilador LLVM, lo que permitirá que el «software» existente aproveche diversas herramientas de confiabilidad y pases de optimización disponibles en LLVM. El equipo del proyecto convertirá los binarios heredados de x86 en reemplazos reforzados en seguridad para la arquitectura RISC-V, tanto con extensiones de seguridad CHERI como sin ellas. Para garantizar que el «software» revitalizado sirva como un reemplazo directo y preciso, el proyecto reutilizará ideas desarrolladas originalmente en el contexto de entornos de ejecución multivariante.
Objetivo
A lot of everyday infrastructure is powered by legacy software that depends on obsolete toolchains. Such software is literally “stuck in time” and cannot benefit from innovations in modern compilers such as automated security mitigations applied during compilation. There are often other undesirable consequences, such as a need to use outdated hardware platforms.
Unfortunately, modernizing such legacy software isn’t as simple as taking the ancient source code (if it exists) and re-running it through a modern compiler. In practice, hidden undocumented dependencies on specific compiler versions, build systems, and other parts of older toolchains often make it infeasible to recreate legacy programs from old source code. There is also the related problem of identifying which of several surviving source code versions might be the one that corresponds to an existing authoritative binary.
In this project, the PI proposes an ambitious approach that bypasses these concerns by starting at the existing authoritative binary and then “lifting” it to the intermediate representation of the LLVM compiler infrastructure. Once “lifted,” the existing software can immediately take advantage of the vast array of software reliability tools and optimization passes that already exist for LLVM. Our project will take existing x86 legacy binaries and automatically translate them to security-hardened replacement binaries for the open standard RISC-V architecture, both with and without CHERI security extensions.
In order to provide assurance that replacement software revitalized via “lifting” actually performs exactly as a functional drop-in replacement of the original (but lacking security vulnerabilities lurking in the original), the PI proposes a novel use of Multivariant Execution Environments (MVEEs) for the fine-grained differential testing of replacement against original. This can also be used to confirm that existing legacy source code truly matches the authoritative binary.
Á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. Véas: El vocabulario científico europeo..
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. Véas: El vocabulario científico europeo..
Para utilizar esta función, debe iniciar sesión o registrarse
Palabras clave
Palabras clave del proyecto indicadas por el coordinador del proyecto. No confundir con la taxonomía EuroSciVoc (Ámbito científico).
Palabras clave del proyecto indicadas por el coordinador del proyecto. No confundir con la taxonomía EuroSciVoc (Ámbito científico).
- binary lifting from machine code to compiler IR
- binary to binary cross-compilation between instruction set architectures
- security retrofitting of binary executables
- legacy code revitalization
- differential testing of binaries directly against each other with deep state introspection using multivariant execution
Programa(s)
Programas de financiación plurianuales que definen las prioridades de la UE en materia de investigación e innovación.
Programas de financiación plurianuales que definen las prioridades de la UE en materia de investigación e innovación.
-
HORIZON.1.1 - European Research Council (ERC)
PROGRAMA PRINCIPAL
Ver todos los proyectos financiados en el marco de este programa
Tema(s)
Las convocatorias de propuestas se dividen en temas. Un tema define una materia o área específica para la que los solicitantes pueden presentar propuestas. La descripción de un tema comprende su alcance específico y la repercusión prevista del proyecto financiado.
Las convocatorias de propuestas se dividen en temas. Un tema define una materia o área específica para la que los solicitantes pueden presentar propuestas. La descripción de un tema comprende su alcance específico y la repercusión prevista del proyecto financiado.
Régimen de financiación
Régimen de financiación (o «Tipo de acción») dentro de un programa con características comunes. Especifica: el alcance de lo que se financia; el porcentaje de reembolso; los criterios específicos de evaluación para optar a la financiación; y el uso de formas simplificadas de costes como los importes a tanto alzado.
Régimen de financiación (o «Tipo de acción») dentro de un programa con características comunes. Especifica: el alcance de lo que se financia; el porcentaje de reembolso; los criterios específicos de evaluación para optar a la financiación; y el uso de formas simplificadas de costes como los importes a tanto alzado.
HORIZON-ERC - HORIZON ERC Grants
Ver todos los proyectos financiados en el marco de este régimen de financiación
Convocatoria de propuestas
Procedimiento para invitar a los solicitantes a presentar propuestas de proyectos con el objetivo de obtener financiación de la UE.
Procedimiento para invitar a los solicitantes a presentar propuestas de proyectos con el objetivo de obtener financiación de la UE.
(se abrirá en una nueva ventana) ERC-2024-ADG
Ver todos los proyectos financiados en el marco de esta convocatoriaInstitución de acogida
Aportación financiera neta de la UE. Es la suma de dinero que recibe el participante, deducida la aportación de la UE a su tercero vinculado. Considera la distribución de la aportación financiera de la UE entre los beneficiarios directos del proyecto y otros tipos de participantes, como los terceros participantes.
10623 Berlin
Alemania
Los costes totales en que ha incurrido esta organización para participar en el proyecto, incluidos los costes directos e indirectos. Este importe es un subconjunto del presupuesto total del proyecto.