Travaux soutenus par l ANR Jean-François CAPURON (DGA) Bruno LEGEARD (Smartesting) 03 Avril 2012
1. Test de sécurité et génération de tests à partir de modèle 2. Le projet SecurTest à DGA Maîtrise de l information Retours d expérience 3. Du test des fonctions de sécurité au test de vulnérabilités 2 03 Avril 2012 Test de sécurité des systèmes d information
1- Test de sécurité et génération de tests à partir de modèle 3 03 Avril 2012 Test de sécurité des systèmes d information
Failles de sécurité Les failles de sécurité toujours à un haut niveau 4 03 Avril 2012 Test de sécurité des systèmes d information
Types de vulnérabilités 90 % des vulnérabilités proviennent de catégories de problèmes connus mais insuffisamment. Testés Une grande majorité des failles de sécurité provient d une mauvaise implémentation logicielle (Source SEI) Les failles de sécurité se situent actuellement beaucoup plus au niveau applicatif qu au niveau OS Overall Top Ten Vulnerability Classes of 2010 11th WhiteHat Website Security Statistic Report 5 03 Avril 2012 Test de sécurité des systèmes d information
Test des exigences de sécurité Vise à tester le respect des propriétés de sécurité du système sous test : Confidentialité, Intégrité, Disponibilité. Exemples d objectifs de test: Est-ce qu il est possible de contourner les fonctions d authentification? Est-ce les protocoles de gestion des accès aux informations sont efficaces? Test de sécurité Test fonctionnel Cherche à détourner l usage des fonctions et services proposés par le système sous test S appuie sur une forte combinatoire mettant en œuvre de comportements applicatifs non prévus et/ou non autorisés 6 03 Avril 2012 Test de sécurité des systèmes d information
Les technologies pour le test de sécurité Source Projet ITEA2 Diamonds Multi-Domain Security Testing Technologies 7 03 Avril 2012 Test de sécurité des systèmes d information
Génération de tests à partir de modèle (test fonctionnel) Modélisation Modèle de test Spécifications Exigences Plan de test & Scripts de test Testeurs Traçabilité Génération de tests Publish Spécifications Model-based Testing Gestion des tests Experts Métier Analystes de test Automaticiens de test 8 03 Avril 2012 Test de sécurité des systèmes d information
Modélisation pour la génération de tests Modèle de processus métier Modèle des points de contrôle et d observation et des données logiques de test Modélisation des comportements et règles métier 9 03 Avril 2012 Test de sécurité des systèmes d information
Génération de tests de sécurité à partir de modèle Spécifications fonctionnelles Objectifs de test de sécurité Modèle comportemental Ingénieur test de sécurité Schémas de test Approche développée sur le projet DGA Secur_Test Génération de tests Publication Application 10 03 Avril 2012 Test de sécurité des systèmes d information Exécution Référentiel de tests
2- Le projet SecurTest à DGA Maîtrise de l information : Retours d expérience 11 03 Avril 2012 Test de sécurité des systèmes d information
Activités d évaluation de DGA MI Evaluer des composants, équipements, ou logiciels de sécurité dans un cadre réglementaire Utilisation importante de la cryptographie Besoin d un niveau de confiance élevé (minimum EAL4+) Formalisation des méthodes de validation et de vérification Analyse statique de code Exécution automatique des tests Génération de tests à partir des spécifications L intérêt de ces méthodes est double: Améliorer la confiance dans la qualité et la conformité du produit Dégager du temps pour les tests d efficacité des mécanismes de sécurité 12 03 Avril 2012 Test de sécurité des systèmes d information
Objectifs du projet DGA SecurTest Test de composants de sécurité S assurer que les fonctions de sécurité sont correctement implémentées et robustes aux attaques S assurer que les propriétés de sécurité sont respectées: - Ex1 - Lors des opérations de configuration d'un équipement, les interfaces de communications doivent être inhibées. - Ex2 - Toute altération ou perte d'intégrité d'un élément sensible doit être détectée. Objectif de SecurTest Vérifier la capacité du MBT à répondre à ces problématiques Développer la techno sur les aspects sécurité Applications sur des composants matériel et logiciel Bibliothèque cryptographique (développée en C) Composant matériel (type FPGA) 13 03 Avril 2012 Test de sécurité des systèmes d information
Modèle pour la génération de tests Vue statique - UML - Modélisation des données logiques de test - Modélisation des points de contrôle et d observation -Modélisation de l environnement de la cible 14 03 Avril 2012 Test de sécurité des systèmes d information
Modèle pour la génération de tests Vue dynamique - OCL - Modélisation des comportements à tester, en tenant compte des propriétés de sécurité considérées - Gestion des cas d erreurs multiples (n-wise) - Configurabilité du modèle pour gérer l explosion combinatoire 15 03 Avril 2012 Test de sécurité des systèmes d information
Expression des propriétés de sécurité sous la forme de schémas - Piloter la génération pour couvrir les propriétés de sécurité - Un schéma est un meta scénario de test - Itération des objectifs, comportements, opérations - Un schéma de test pilote la génération d un ensemble de tests (plusieurs dizaines ou plus). 16 03 Avril 2012 Test de sécurité des systèmes d information
Validations de l approche par injection d erreurs Objectif: Vérifier la capacité de l approche MBT à détecter des erreurs Protocole Exécution des tests sur une version de référence instrumentée Introduction d erreurs par le développeur dans le code Comparaison des résultats des exécutions sur les 2 versions et localisation des erreurs Résultats On constate des erreurs dans le modèle, dans la documentation ou dans le banc de test ( Tester les tests!!!) Après corrections, toutes les erreurs détectables sont détectées. 17 03 Avril 2012 Test de sécurité des systèmes d information
Synthèse et résultats du projet SecurTest Le MBT nécessite un processus mature et un environnement de test outillé. 2500 tests générés et exécutés automatiquement Nécessite puissance de calcul et maîtrise 120 h.jour pour modéliser la librairie et exécuter les 2500 tests 4 propriétés de sécurité couvertes Gain notable de couverture des comportements et du code La modélisation peut intervenir dès la phase de spécification Réduit le chemin critique et améliore la qualité globale L approche par schéma est pertinente mais doit être affinée 18 03 Avril 2012 Test de sécurité des systèmes d information
Synthèse et résultats du projet SecurTest Le MBT nécessite un processus mature et un environnement de test outillé. 2500 tests générés et exécutés automatiquement Nécessite puissance de calcul et maîtrise 120 h.jour pour modéliser la librairie et exécuter les 2500 tests 4 propriétés de sécurité couvertes Gain notable de couverture des comportements et du code La modélisation peut intervenir dès la phase de spécification Réduit le chemin critique et améliore la qualité globale L approche par schéma est pertinente mais doit être affinée Il est essentiel de tester les tests 19 03 Avril 2012 Test de sécurité des systèmes d information
3- Du test des fonctions de sécurité au test de vulnérabilités 20 03 Avril 2012 Test de sécurité des systèmes d information
Analyse de vulnérabilités et utilisation de patterns de test Analyse de vulnérabilités Spécifications fonctionnelles Modèle comportemental Ingénieur test de sécurité Pilotage du test de sécurité par des patterns de test Génération de tests Publication Patterns de test de vulnérabilités Application 21 03 Avril 2012 Test de sécurité des systèmes d information Exécution Référentiel de tests
Les Prochaines étapes Pré-standardisation et définition de patterns de test pour les vulnérabilités les plus fréquentes (sur application web: Cross-scripting, SQL Injection, ) Synthèse d une partie de la modélisation comportementale par l analyse du code de l application (sur application web : remontée du graphe d appel) Définition des indicateurs de couverture de vulnérabilités et remontée du suivi de couverture 22 03 Avril 2012 Test de sécurité des systèmes d information
Synthèse Génération de tests pour le test de propriétés de sécurité Mais aussi: Test applicatif couverture des exigences fonctionnelles Test de bout-en-bout couverture des cas d utilisation et des processus métiers Test ERP Test de montée de version, déploiement de module, Intégration système au sein du SI 23 03 Avril 2012 Test de sécurité des systèmes d information