17
22 ème édition - Conférences 2014 19 et 20 mars 2014 VIPARIS CNIT Paris La Défense Utilisation de l’analyse statique de code pour améliorer la sécurité des applications embarquées Jérôme d’ALDERETE Email : [email protected] Tél. : +33 6 08 95 79 64

Intérêt de l'analyse statique pour la prévention des failles de sécurité

Embed Size (px)

Citation preview

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Utilisation de l’analyse statique de code pour améliorer la sécurité des applications

embarquées

Jérôme d’ALDERETE

Email : [email protected]

Tél. : +33 6 08 95 79 64

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Préambule

DO-178B | ED-12B

Aerospace

FDA | IEC 62304

Medical

ISO 26262

Automotive

IEC 61508

Industrial

CENELEC | EN 50128

Railway

Safety = sûreté (de fonctionnement) = fiabilité

Security = sécurité = protection contre les attaques malveillantes

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Systèmes embarqués sécurisés…

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Systèmes embarqués actuels…

Remote Control

Interconnections

…la connectivité accroit la vulnérabilité

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

D’où viennent les attaques?

Source: Verizon 2012 Data Breach Investigations Report

En résumé:1. Attaques de l’extérieur2. Pratique du hacking = exploitation des failles du logiciel

Source: Verizon 2012 Data Breach Investigations Report

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

La plupart des vulnérabilités logicielles sont répertoriées

SQL injections

buffer overflows

crashes

+ de 200 règles

+ de 800 règles

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Exemple de problème connu

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Exemple de problème connu

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Méthodes de vérification/prévention

• Activité complexe à automatiser

• Couverture non déterministePenetration Testing

• Faible productivité, limites en volume de code

• Couverture non déterministe

Manual Code Review

• Efficace si la menace (signature) est connue

• Solution de contournement temporaire seulement

Application Firewalls

• Couverture non déterministeDynamic Application

Security Testing

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

code analysis

L’analyse statique améliore les revues de code

• Rapide

• Exhaustif

• Automatisable

• Large spectre de vérifications:

• Crashes

• Corruption mémoire

• Débordement de tableaux

• SQL injection

• DDoS

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Technologies de pointe en analyse statique

Pour avoir le meilleur compromis vitesse / précision

• Interprocedural Analysis

• Model Checking

• SMT solving

• Abstract Data Tracking

Tous les outils ont les mêmes prétentions sur le papier…

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

NIST/DHS Study

Benchmark indépendant organisé par le gouvernement US

Généralités:

• Campagne d’évaluation annuelle

• Sélection de 5 à 10 outils commerciaux ou académiques

• Publication des résultats -> http://samate.nist.gov/

Base de test:

• Projets open source (Chromium, Wireshark, Dovecot, …)

• Suite de tests spécifiques (+ de 60.0000 cas de test)

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Synthèse du benchmark

tool A tool B tool C tool D tool E

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Assez peu de recouvrement

Chaque outil a ses propres points forts…

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Working with security and defense agencies.

Moteur d’analyse C/C++ moderne

• Abstract data tracking

• model checking

• SMT solving

• Inter-procedural analysis

…Et complet

• Erreurs d’exécution

• Règles MISRA

• Règles CERT, CWE

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

ConclusionLes systèmes embarqués affrontent les mêmes menaces que les systèmes d’information classiques.

Mais avec un impact potentiellement plus grand

Pas de solution miracle pour les protéger:

• Conception orientée sécurité

• Revues de code

• Tests

L’analyse statique de code est économique, car automatisable, et elle prémunit contre un grand nombrede failles connues.

22ème édition - Conférences 201419 et 20 mars 2014

VIPARIS – CNIT – Paris La Défense

Crédits / Références

Dr Ralf Huuck

Red Lizard Software / NICTA

https://www.securecoding.cert.org

http://cwe.mitre.org/

http://redlizards.com

[email protected]

Démonstration GOANNA:

Stand Antycip N° F19