Skip to main content
European Commission logo
español español
CORDIS - Resultados de investigaciones de la UE
CORDIS

Code Sanitization for Vulnerability Pruning and Exploitation Mitigation

Descripción del proyecto

Eliminación de datos maliciosos para proteger el software

La eficacia de la protección es una cuestión importante para el software de sistemas y se han hecho grandes esfuerzos para encontrar una solución. Con todo, se calcula que se detectan aproximadamente sesenta errores de seguridad al mes. Esto sucede porque el software de sistemas es vulnerable a los errores de bajo nivel generados por comportamientos no definidos. El proyecto CodeSan, financiado con fondos europeos, propone un método integrador que mejora la calidad del código. El software de desinfección del código ofrece una detección automática de errores durante el desarrollo y protege el software establecido a través de remedios reflexivos. CodeSan es un método fascinante, integrador y flexible que permite gestionar de manera eficaz comportamientos no definidos de sistemas de software complejos. Puede defender de manera fiable grandes sistemas de software, como Google Chromium y Mozilla Firefox.

Objetivo

Despite massive efforts in securing software, about 60 security bugs are publicly reported each month. Systems software is prone to low level bugs caused by undefined behavior (memory corruption, type confusion, or API confusion). Exploits abuse undefined behavior to execute attacker specified code, or to leak information. We propose code sanitization (CodeSan), a comprehensive approach to improve code quality. CodeSan will sanitize software by (i) automating bug discovery during development through software testing and (ii) protecting deployed software through reflective mitigations. CodeSan trades formal completeness for practical scalability in three steps: First, policy-based sanitization makes undefined behavior (through violations of memory safety, type safety, or API flow safety) explicit and detectable given concrete test inputs. Second, automatic test case generation increases testing coverage for large programs without the need for pre-existing test cases, enabling broader and automated use of policy-based sanitization. Third, for deployed software, reflective mitigations place runtime checks precisely where they are needed based on data-flow and control-flow coverage from our testing efforts. CodeSan complements formal approaches by protecting software that is currently out of reach due to its size, complexity, or low level nature.

CodeSan is a compelling, comprehensive, and adaptive approach to thoroughly address undefined behavior for complex software. The three proposed thrusts complement each other naturally and will immediately guard large software systems such as Google Chromium, Mozilla Firefox, the Android system, or the Linux kernel, making them resilient against attacks.

In line with PI Payer’s track record on open sourcing his group’s research artifacts on cast sanitization, transformative fuzzing, or control-flow hijacking mitigations, all prototypes produced during CodeSan will be released as open-source.

Régimen de financiación

ERC-STG - Starting Grant

Institución de acogida

ECOLE POLYTECHNIQUE FEDERALE DE LAUSANNE
Aportación neta de la UEn
€ 1 499 970,00
Dirección
BATIMENT CE 3316 STATION 1
1015 Lausanne
Suiza

Ver en el mapa

Región
Schweiz/Suisse/Svizzera Région lémanique Vaud
Tipo de actividad
Higher or Secondary Education Establishments
Enlaces
Coste total
€ 1 499 970,00

Beneficiarios (1)