Post on 28-Jul-2015
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 : jdalderete@antycip.com
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.