Critères communs
Les critères communs (CC) sont un ensemble de normes (ISO 15408) internationalement reconnues dont l'objectif est d'évaluer de façon impartiale la sécurité des systèmes et des logiciels informatiques. Également dénommés Common Criteria, ce référentiel est né d'un partenariat entre le Canada, les États-Unis et l'Europe. Grâce au cadre offert, les utilisateurs de technologies de l’information vont pouvoir utiliser des profils de protection pour spécifier les exigences fonctionnelles de sécurité attendues et les évaluateurs pourront vérifier que les produits sont bien conformes au niveau d’assurance requis.
La mise en œuvre des Critères Communs décidée par les signataires d’un accord de reconnaissance mutuelle, facilite grandement l’acceptation des certificats de sécurité des technologies de l’information émis par l’un des pays signataires. Le produit certifié en toute impartialité par une autorité compétente, peut être utilisé sans nécessiter une évaluation plus poussée.
Bien que présentant de nombreux avantages, l’application de cette norme s’avère coûteuse, difficilement compréhensible pour un non initié et souvent compliquée à mettre en œuvre. C’est la raison pour laquelle plusieurs méthodes d’utilisation ont vu le jour.
Historique
modifierEn 1983, puis 1985, le NIST[note 1] et la NSA[note 2] publient l'Orange Book. Le but de ce document était d'évaluer la capacité d'un système à se défendre contre des attaques[2].
Dans le même temps l'Europe s'inspire des TCSEC[note 3] pour définir en 1991 ses propres critères d'évaluation les ITSEC[note 4]. Ils vont combler des lacunes dans l'analyse des risques[3].
En 1993, le Canada définit sa propre norme CTCPEC[note 5],[3].
Le certificat obtenu dans un pays est reconnu uniquement par les pays signataires de l'accord de reconnaissance mutuelle[4]. En Europe c'est l'accord SOG-IS[note 6] qui fait foi[5].
En 1999, l'ISO[note 7] est à l'origine des Critères Communs. Cette organisation va regrouper les différents états pour définir une norme (ISO 15408) reconnue par tous les états signataires de l'accord CC-MRA[note 8] en mai 2000[6]. En plus des 17 pays signataires, 9 pays non signataires reconnaissent ces certificats[1].
Concepts Généraux
modifierLes Critères Communs (CC) sont un guide servant de référence pour le développement et le contrôle[7] de produits et systèmes de l’information manipulant des informations. Le but est la protection contre la divulgation non autorisée, la modification, la perte d'usage. Les catégories de ces trois types de défaillances sont communément désignées par confidentialité, intégrité et disponibilité. Les CC prennent en compte les risques émanant d'activités humaines (malicieuses ou non) ou non-humaines.
Les produits contrôlés sont ceux collectant, transportant et manipulant ces informations, à savoir des réseaux informatiques, des systèmes d’exploitation, des systèmes distribués et des applications[8]. Un système sera évalué en fonction de l’usage pour lequel il est dédié. Il devra répondre à deux catégories d’exigences de sécurité : exigences fonctionnelles et d’assurance[9].
Audience visée
modifierLes besoins des utilisateurs sur le plan de la sécurité sont des besoins de disponibilité, de confidentialité et d'authenticité des informations personnelles[10]. Les critères communs s'adressent à trois catégories d'utilisateurs :
- Les utilisateurs finaux
- Les utilisateurs finaux vont pouvoir déterminer si un produit répond à leurs besoins en consultant le résultat de l'évaluation[11].
- Les développeurs
- Les développeurs se servent des CC pour identifier les exigences de sécurité que doit satisfaire leur produit[11].
- Les évaluateurs
- Les évaluateurs trouveront les critères à utiliser pour évaluer qu'un produit est conforme à sa cible d'évaluation. La norme décrit les actions à mener, mais aucunement les procédures à suivre[11].
Documentation de la norme
modifierLes critères communs font l'objet de trois documents liés entre eux:
- Introduction et modèle général[12]
- Ce document définit les concepts généraux et présente un modèle général d'évaluation. Il propose également un glossaire des termes et mots clés utilisés. À ce titre les trois acronymes[13] suivants sont régulièrement utilisés :
- TI
- TI est l'acronyme de « Technologie de l'Information ». Il est également connu sous l'acronyme IT, « Information Technology » dans la littérature anglo-saxonne.
- TOE
- TOE est l'acronyme anglophone de « Target Of Evaluation ». La TOE est la cible de l'évaluation. C'est un produit ou une TI évaluée avec la documentation associée destinée à l'administrateur d'une part et à l’utilisateur d'autre part[14].
- TSF
- TSF est l'acronyme anglais de « TOE Security Functions ». Il désigne l'ensemble des fonctions de sécurité de la TOE.
- Exigences fonctionnelles de sécurité[15]
- Il s'agit d'un catalogue des composants fonctionnels de sécurité classifiés en familles et classes.
- Exigences d'assurance de sécurité[16]
- Ce document recense les exigences pour le développeur et les tâches à realiser pour l'évaluateur.
Exigences fonctionnelles
modifierLes exigences fonctionnelles de sécurité concernent uniquement les spécifications de fonctions de sécurité. Elles sont regroupées en onze classes couvrant chacune un domaine. Chaque classe est découpée en familles. Chaque famille contient un ensemble de composants qui constitue une exigence de sécurité[17]. Chaque classe est désignée par un nom unique dont l'abréviation est constituée de trois caractères Fxx: F pour classe d'exigence Fonctionnelle et xx pour identifier le nom de la fonctionnalité couverte[18].
- Classe Audit de Sécurité FAU
- Décomposée en 6 familles regroupant chacune de 1 à 4 composants de sécurité:
« Auditer la sécurité implique la reconnaissance, l'enregistrement, le stockage et l'analyse d'informations associées à des activités touchant à la sécurité »[19].
- Classe Communication FCO
- Cette classe traite de la non répudiation des émissions et réception. Elle est par conséquent décomposée en 2 familles; la première concerne l'émission alors que la seconde porte sur la réception[20].
- Classe Support Cryptographique FCS
- Elle concerne la sécurité de haut niveau nécessitant l'utilisation de fonctions de cryptographie[21]. Elle est également composée de 2 familles; l'une concernant la gestion des clés, l'autre relative à la génération de ces clés.
- Classe Protection des Données de l'utilisateur FDP
- Découpée en 8 familles réparties dans quatre groupes, elle concerne la manipulation des données de l'utilisateur[22].
- Classe Identification et Authentification FIA
- Cette classe est composée de 6 familles pour identifier l'utilisateur, l'authentifier et gérer ces droits d'accès[23].
- Classe administration de la sécurité FMT
- Elle permet entre autres de définir des rôles de sécurité. Elle est également découpée en 6 familles ayant de 1 à 3 composants[24].
- Classe protection de la vie privée FPR
- Les exigences de cette classe couvrent la protection de l'individu contre la découverte ou l'utilisation frauduleuse de son identité par autrui[25].
- Classe protection de la TOE FPT
- Son but est de décrire les exigences de protection des fonctions de sécurité de la TOE et non plus de l'utilisateur. Les familles qui la composent peuvent apparaître comme une duplication de la classe FDP[26].
- Classe utilisation des ressources FRU
- Trois familles d'exigences concernant la disponibilité des ressources composent cette classe: la tolérance aux pannes, l'allocation de ressources et la priorité des services[27].
- Classe d'accès à la Cible d'évaluation FTA
- Elle spécifie les exigences fonctionnelles nécessaires pour contrôler l'établissement d'une connexion de l'utilisateur[28]. Par exemple contrôler le nombre de sessions, modifier des paramètres d'accès, afficher un historique des connexions.
- Classe chemin et canaux de confiance FTP
- concerne les chemins utilisés pour établir une communication sécurisée entre l'utilisateur et la technologie de l'information mais également entre TI[29].
Le développeur va pouvoir définir un paquet de composants à partir de cette liste suivant les fonctionnalités de son produit. Cette liste n'étant pas exhaustive, elle peut être complétée en fonction des besoins. Ainsi pour la certification de son dispositif biométrique de détection de faux doigts SAFRAN a ajouté la famille SPOD[note 9] à la classe FPT[30]. Pour la certification de ce produit, SAFRAN a également retenu des composants des familles suivantes :
- Génération de l'audit de sécurité FAU_GEN
- Protection des Informations Résiduelles FDP_RIP
- Administration des données de la TSF FMT_MTD
Exigences d'assurance de sécurité
modifierLa liste des exigences d'assurance est la seconde liste des Critères Communs. Elle recense les points à vérifier pour qu'un produit atteigne un certain niveau de confiance sur le plan de la vulnérabilité. Elle couvre la validité de la documentation et du produit ou système[31]. Pour le développeur il s'agit d'une liste d'éléments de preuve qu'il devra fournir dans le cadre de l'évaluation[32]. Quant à l'évaluateur, il va pouvoir identifier les tâches à réaliser pour conduire à une certification selon les Critères Communs[32].
Cette liste est également constituée de classes recouvrant un thème. Ces classes sont découpées en familles regroupant des composants. Chaque composant représente un niveau plus ou moins poussé de l'évaluation d'un point précis. Ils sont découpés en éléments d'assurance[33]. Le nommage des classes est effectuées avec trois caractères Axx : A désignant assurance suivi de deux lettres pour identifier le domaine couvert[33].
Liste des classes ;
Classe | Domaine couvert |
---|---|
ADV | Développement |
ACO | Composition |
AGD | Documentation |
ALC | Cycle de Vie |
APE | Évaluation Profile de protection |
ASE | Évaluation de la cible de sécurité |
ATE | Tests |
AVA | Estimation des Vulnérabilités |
- Classe ADV
- définit les exigences d'assurance à prendre en compte depuis les spécifications de la TOE jusqu'à son implémentation[34].
- Classe ACO
- est composée de cinq familles dont le but est de s'assurer que la cible de l'évaluation respectera la sécurité lorsqu'elle interagira avec les fonctionnalités de sécurité fournies par les logiciels ou les composants matériels déjà évalués[35].
- Classe AGD
- concerne les exigences relatives à la documentation fournie par le développeur à l'utilisateur. Cette documentation doit être compréhensible, complète et permettre d'utiliser efficacement la TOE[36].
- Classe ALC
- traite des exigences associées au cycle de vie de la TOE. Elle est décomposée en sept familles relatives à l'environnement de développement, les outils d'analyse et développement, la configuration et la prise en charge de la correction d'éventuelles anomalies détectées[37].
- Classe APE
- doit s'assurer que le profil de protection est complet[38].
- Classe ASE
- son but est de démontrer que l'évaluation de la cible de sécurité est saine techniquement[39].
- Classe ATE
- permet de s'assurer que les tests sont suffisamment détaillés et complets[40].
- Classe AVA
- traite des exigences associées à l'identification de vulnérabilité pendant les phases de développement, configuration et exploitation[41].
Niveaux d'assurance EAL
modifierTout certificat émis à la suite de l'évaluation selon les critères communs garantit que le Système d'Information évalué respecte un certain niveau d'assurance. Celui-ci équivaut à une note allant de EAL1 à EAL7 (evaluation assurance level). Ces niveaux sont associés à un paquet minimum d'exigences d'assurance. Il existe sept niveaux hiérarchiques qui vont déterminer le degré de confiance accordé au produit évalué.
Chaque niveau contient les exigences du niveau précédent. Ils reflètent un équilibre entre le niveau d'assurance obtenu et le coût pour parvenir à ce niveau[42].
- Niveau 1
- le moins coûteux et ne nécessite pas la participation du développeur. Il permet d'affirmer que la cible de l'évaluation fonctionne conformément à ce qui est décrit dans la documentation. Seules les menaces identifiées dans le domaine public sont couvertes[43].
- Niveau 2
- nécessite la participation du développeur pour communiquer des informations sur la spécification et les résultats des tests réalisés[45].
- Niveau 3
- atteste d'une recherche de vulnérabilités évidentes[46].
- Niveau 4
- représente un bon compromis entre sécurité et coûts. Il ne nécessite pas de connaissances ou d'expertise spécialisée. Il répond à une vulnérabilité relative à des attaques élémentaires[47].
- Niveau 5
- atteste d'une analyse des fonctions de sécurité. Cette analyse s'appuie sur les spécifications fonctionnelles, les spécifications complètes des interfaces, les guides et la conception de la TOE[48].
- Niveau 6
- destiné à des développements de TOE dans le cadre d'environnements à risques élevés[49].
- Niveau 7
- niveau maximum à ce jour. Il nécessite une présentation formelle des spécifications fonctionnelles et un niveau élevé des spécifications[50].
Profils de Protection
modifierUn profil de protection définit un ensemble d'exigences de sécurité pour une catégorie de produits sans tenir compte de l'implémentation. Ainsi, un client doit être en mesure d'utiliser un profil de protection pour exprimer sa politique de sécurité[51]. L'intérêt d'un tel document est d'être réutilisable. C'est la raison pour laquelle, il doit être générique et structuré avec les chapitres suivants :
- Une introduction dans laquelle figurent une description du profil de protection et une vue d'ensemble suffisamment détaillée[52].
- Une description du contexte de l'évaluation[53].
- L'environnement d'utilisation comprenant entre autres les aspects physiques et humains. La politique de sécurité organisationnelle doit être décrite ainsi que les menaces auxquelles la cible d'évaluation sera confrontée[54].
- Les objectifs de sécurité doivent être le reflet de l’état souhaité pour contrer les vulnérabilités identifiées[55].
- Les exigences fonctionnelles et d'assurance de sécurité. Des paquets prédéfinis peuvent être utilisés[56].
Mise en œuvre
modifierOrganisation
modifierSeuls les pays signataires de l'accord de reconnaissance mutuelle selon les critères communs sont autorisés à émettre des certificats[57]. Ce sont également eux qui vont accepter qu'un nouveau membre les rejoigne[58]. Ainsi l'Inde est devenu le 17e pays signataire en 2013[59].
Afin d'être impartiale, l'évaluation d'un produit informatique doit être réalisée par une entité indépendante. Les laboratoires chargés des évaluations sont accrédités par les organismes gouvernementaux représentant les pays signataires de l'accord CCMRA[60].
- Aux États-Unis
- La NSA pilote le programme gouvernemental NIAP[61] responsable des besoins de sécurité des clients et concepteurs de technologies de l'information. Elle accrédite les laboratoires d'expertises dénommés CCTLs[note 10],[61] et valide les résultats de l'évaluation en délivrant ou non le certificat final.
- En France
- Par décret[62], l'Agence nationale de la sécurité des systèmes d'information (ANSSI) est nommée autorité de certification. Cette agence a deux rôles :
- responsable de l'agrément des Centre d'évaluation de la sécurité des technologies de l'information (CESTI) qui sont chargés de l'évaluation[63].
- responsable de la délivrance ou non du certificat de validation[63].
Pays | Organisation Gouvernementale |
---|---|
Australie | Australian Signals Directorate ASD |
Canada | Canadian Common Criteria Evaluation and Certification Scheme CECS |
France | Agence Nationale de la Sécurité des Systèmes d'Information ANSSI |
Allemagne | Bundesamt für Sicherheit in der Informationstechnik BSDI |
Inde | Indian Common Criteria Certification Scheme IC3S |
Italie | Organismo di Certificazione della Sicurezza Informatica OCSI |
Japon | Japan IT Security Evaluation and Certification Scheme JISEC |
Malaisie | CyberSecurity Malaysia |
Pays-Bas | NSCIB operated by TrustCB |
Nouvelle-Zélande | Defence Signals Directorate |
Norvège | SERTIT |
République de Corée | IT Security Certification Center(ITSCC) |
Espagne | Organismo de Certificación de la Seguridad de las Tecnologías de la Información |
Suède | Swedish Certification Body for IT Security FMV/CSEC |
Turquie | Turkish Standards Institution Common Criteria Certification Scheme TSE |
Angleterre | UK IT Security Evaluation and Certification Scheme |
États-Unis | National Information Assurance Partnership NIAP |
Étapes de la certification
modifierLa certification se déroule en 3 étapes :
- Demande d'évaluation
Le commanditaire fait une demande d'évaluation auprès de son organisme gouvernemental chargé des certifications[64]. Il incombe à l'entreprise[65] :
- d'établir la liste des exigences de sécurité de son produit[64]. Cette liste est établie dès l'étude de conception. Son contenu est fonction du périmètre fonctionnel du produit.
- d'établir la liste des exigences d'assurance liée à la qualité du produit.
- de fournir une description détaillée des composants du produit qui seront soumis à l'évaluation.
- de fournir un document décrivant la cible d'évaluation, son environnement de fonctionnement et les menaces auxquelles elle devra répondre.
- Évaluation
L'évaluateur peut intervenir tout au long de la conception du produit. Il va devoir vérifier la pertinence du cahier de tests et le résultat de ces tests qui sont déroulés par le commanditaire. Il émet ensuite un rapport d'évaluation technique RTE validant le niveau d'assurance atteint[66].
- Certification
L'autorité chargée de la certification va s'appuyer sur le rapport d'évaluation technique pour émettre ou non le certificat d'évaluation selon les critères communs[63].
Retour d'expérience et usage
modifierLes bénéfices, avantages, intérêts
modifierDiminution des risques avec maitrise des coûts
modifierSelon Mellado et Taguchi la mise en œuvre de la stratégie de sécurité dans les premières phases du processus de développement est rentable[67],[68]. Celle-ci engendre un système plus robuste en réduisant les vulnérabilités de sécurité qui peuvent être trouvées dans les étapes ultérieures du développement[67],[68]. Lloyd mentionne que pour la fabrication et la commercialisation des COTS[note 11], la hausse des coûts et les contraintes de délai, obligent de nombreuses organisations et le gouvernement US à intégrer les problèmes de sécurité dans leur développement d'application[69]. Kallberg affirme que la reconnaissance mutuelle de la norme permet théoriquement d'économiser du temps et de l'argent en supprimant des assurances redondantes[70].
Confiance des utilisateurs
modifierPour Mellado, de nombreux utilisateurs des SI n'ont pas les connaissances et les ressources pour qualifier le niveau de sécurité des systèmes. L'utilisation des CC, comme base d'évaluation de la sécurité, donne confiance aux utilisateurs[67]. Selon Sauveron, la certification permet aux clients de comparer les différents produits sur le marché d'une manière objective[71].
Avantage concurrentiel des fabricants
modifierSauveron indique que la certification est obligatoire sur certains marchés (banques par ex). Le fabricant a donc accès à des marchés fermés ou spécialisés[71]. Les fabricants peuvent utiliser la certification comme argument marketing et ainsi élargir leur marché[71].
Maîtrise des risques d'attaques nationale
modifierPour Sauveron, la certification permet aux organismes de certification gouvernementaux, de s'assurer que les produits utilisés dans leurs pays sont maîtrisés. Et que, par conséquent, il n'y a pas de risque majeur d'attaques contre leurs systèmes informatiques[71].
Les contraintes, inconvénients, freins
modifierMauvaise mise en œuvre
modifierSelon Mellado et Razzazi, dans la majorité des projets logiciels, la sécurité est traitée quand les systèmes sont déjà conçus et mis en service[67]. Très souvent, la spécification des exigences de sécurité est trop succincte[67]. Les consommateurs ne sont pas en mesure d'indiquer clairement et sans ambiguïté les exigences de sécurité du produit[72]. Les exigences de sécurité sont souvent mal comprises[67]. La gestion des exigences en matière de sécurité est une question complexe pour les développeurs[73]. De nombreux développeurs ont tendance à décrire des solutions de conception en ce qui a trait aux mécanismes de protection, au lieu de faire des propositions déclaratives concernant le niveau de protection requis[67].
Difficile et couteux
modifierPour Razzazi, les CC laissent trop de place à des ambiguïtés et il est souvent difficile de comprendre précisément la signification des exigences de sécurité[72]. Shoichi indique que les critères des CC sont très abstraits, il est impossible d'avoir un aperçu global[74]. Il est difficile de définir entièrement les exigences à partir de zéro[75]. Selon Keblawi, l'expérience montre que les normes prescrites sont inflexibles et ne tiennent pas compte des considérations du monde réel[76]. Pour Taguchi, les méthodes sont très complexes sur le plan sémantique, et par conséquent, le coût de l'apprentissage est très élevé[68]. Pour Preschern, la certification impose une rigueur dans les processus de développement et de maintenance. De nos jours, la certification prend une grande partie des coûts de développement des produits[77]. Hearn indique, que pour les systèmes utilisant des COTS, l'intégration du système et de la composition de la sécurité sont des problèmes difficiles. Car ils dépendent de principes d'ingénierie de sécurité des COTS utilisés et de leur fonctionnement avec d'autres éléments. Ce travail augmentant ainsi les coûts et les délais de livraison[78].
Complexe, pour des experts
modifierSelon Ware, les CC sont difficiles à comprendre pour des personnes non spécialistes de la sécurité[79]. Keblawi affirme, que bien que le domaine de la sécurité a des méthodes d'analyse, telles que la planification de la sécurité et des analyses de risque, ils n'ont jamais été conceptualisés dans un processus de développement[80]. Pour Taguchi, un autre point crucial qui manque dans les méthodologies existantes est qu'il n'y a pas de norme sur la façon de documenter, de manière concise et systématique, les propriétés de sécurité de systèmes d'information, dans le processus de développement du système[68]. Selon Shoichi, sans mécanisme d'évaluation, le processus est long et coûteux, car difficilement accessible à des vérificateurs qui ne sont pas des mathématiciens ou familiarisés avec les méthodes formelles[75]. Selon Lloyd, la spécification des exigences de sécurité est difficile parce que les exigences englobent à la fois les aspects fonctionnels et non fonctionnels et de nombreux développeurs peuvent ne pas être familiers avec l'ensemble des questions de sécurité qui doivent être traitées[81].
Ne s'applique pas toujours simplement
modifierSelon Razzazi, les systèmes actuels n'ont pas la base technologique nécessaire pour répondre aux nouveaux besoins en matière de sécurité informatique[72]. Keblawi indique, que certains systèmes ne correspondent pas facilement aux concepts de sécurité des Critères communs[76]. Pour Lloyd, toutes les exigences des CC ne peuvent pas être directement applicables à des composants individuels de COTS en raison de leur périmètre fonctionnel plus petit par rapport aux systèmes informatiques[82].
Vision de l'industrie et des consommateurs
modifierSelon Ware, les niveaux de protection de CC sont rarement utilisés dans la pratique[79]. Pour Taguchi, les CC ne sont pas facilement applicables dans l'industrie en raison de l'inadéquation entre un processus de développement de logiciel existant et les méthodologies des CC[68]. Hearn indique que les vendeurs ne voient pas les CC comme un processus d'amélioration du produit[83]. Le rapport coût-bénéfice, qu'une utilisation des CC peut avoir sur un système informatique, est impossible à évaluer[83]. Pour Isa, de nombreux chercheurs et des représentants de l'industrie, indiquent, que la pratique des CC, dans un monde en évolution rapide, ne peut exister, que dans le contexte « utopique » des CC[84]. Selon Kallberg, avec la croissance de la guerre industrielle, il est peu probable que les CC atteignent une masse critique en tant que plate-forme mondiale de certification[85]. Selon Hearn, les acheteurs voient les certifications comme un critère mineur de l'approvisionnement. Ils lisent rarement la cible de sécurité ou de certification, et ce qui a fait l'objet de l'évaluation[83]. Le consommateur n'est pas concerné par les processus de CC, dans lequel le concept de sécurité et le modèle de menace est trop vague pour être utile[78].
Confiance gouvernementale
modifierSelon Hearn, certains obstacles concernent les préoccupations au sujet de l'harmonisation des évaluations entre les pays. Les conflits entre l'harmonisation internationale et des investissements nationaux pourraient être particulièrement important si les principaux pays européens et les États-Unis continuent à suivre des voies divergentes de plus en plus dans la poursuite des intérêts nationaux. Même si les pays membres fondateurs étaient capables de travailler à une harmonisation, l'expérience montre que la mise en application de points de détails divergent[83]. Pour Isa, il y a un manque d'intérêt des acheteurs et des vendeurs, car les CC viennent des gouvernements et augmente les prix de mise en œuvre[84]. Hearn indique que l'intérêt commercial est faible, car les certifications résultent de la réglementation gouvernementale ou de l'achat du gouvernement[83].
Méthodes d'utilisation
modifierMéthodes basées sur les diagrammes de cas
modifierLa méthode proposée par Taguchi, est basée sur un diagramme de cas d'utilisation selon plusieurs principes. Le premier de ces principes est l'utilisation d'un diagramme qui détaille les concepts de sécurité, pour faire apparaître les besoins de sécurité. Ensuite, tous les concepts du diagramme sont des éléments issus d'un méta modèle de la CC. Enfin, les modèles de sécurité sont ajoutés selon les contraintes de sécurité de chaque étape de la construction du produit[86].
Cette méthode utilise un méta modèle dérivé de la CC, qui fait partie de la fonctionnalité de sécurité de la TOE. Les concepts des CC suivants sont maintenus[87] :
- Les menaces ;
- Les agents de menace ;
- Les actifs ;
- Les fonctions de sécurité ;
- Les exigences fonctionnelles de sécurité ;
- Les objectifs de sécurité ;
- L'environnement opérationnel ;
- Les hypothèses.
L'auteur fait le choix d'enlever de son méta modèle les concepts des CC suivants[87] :
- La TOE. Celle-ci est implicitement comprise dans le modèle de sécurité ;
- La politique de sécurité organisationnelle. De nombreux organismes établissent aujourd'hui leurs propres politiques de sécurité organisationnelles pour prévenir les violations de sécurité des données hautement confidentielles sur leurs activités.
Un diagramme prototype est proposé en 3 phases. La première phase (Exigences de sécurité de base), analyse les fonctions de sécurité et les menaces de sécurité de façon abstraite. La seconde ( Exigences et objectif de sécurité), analyse en détail les exigences de sécurité pour en définir des objectifs de sécurité. Ce travail est réalisé à partir du résultat de la phase 1. Et enfin la phase 3 (Sélection des exigences fonctionnelles de sécurité), sert à la sélection des exigences fonctionnelles de sécurité, qui répondent aux objectifs de sécurité identifiés dans la phase précédente. Cette tâche est réalisée à partir de la norme des CC partie 2 et des profils de protection. Puis on aligne les exigences de sécurité aux exigences d'assurance en vertu de la méthodologie de CC[88].
La méthode proposée par Ware consiste à utiliser les profils d'acteurs pour tirer les menaces de sécurité. Puis faire la cartographie des menaces et des objectifs de sécurité. Et enfin, réaliser la cartographie des objectifs de sécurité et des exigences de sécurité[79]. La cartographie est réalisée à l'aide d'une boite à outils qui contient une liste des menaces, les objectifs et les exigences fonctionnelles des CC[89]. Pour mettre en œuvre cette approche, un outil de modélisation graphique open source UML, est proposé.
L'outil montre clairement, dans sa « table des menaces », les objectifs nécessaires pour contrer une menace spécifique et les exigences nécessaires pour satisfaire un objectif spécifique[90].
Puis l'outil propose à l'utilisateur de générer un fichier de sortie dans un format HTML. L'outil propose deux styles de rapports possibles[91] :
- Une option générale, qui génère un modèle de cas d'utilisation avec le champ de menaces contenant une liste des menaces associées à chaque acteur. Chaque menace a une liste imbriquée des exigences de sécurité qui sont nécessaires pour satisfaire les objectifs ;
- Une option « principe CC », qui génère une double cartographie, menaces / objectifs et composants fonctionnels de sécurité / objectifs.
Le rapport « principe CC » vise à produire la partie de la justification d'une cible de sécurité de la TOE. En outre, les correspondances montrent clairement les objectifs nécessaires pour contrer une menace spécifique et les exigences nécessaires pour satisfaire un objectif spécifique.
Utilisation des CC lors de la conception d’un logiciel
modifierLa méthode proposée par Vetterling, est un processus qui combine le développement de logiciels 'orienté phase' avec les activités requises par les CC[92]. Le principe est d'intégrer les activités des CC dans les phases de développement du projet[93]. Cette méthode est basée sur un processus itératif dans chaque phase du projet. À la fin de chaque itération, le résultat peut être évalué. L'itération suivante recommence avec le résultat de la phase précédente, avec l'ajout de nouvelles exigences[93].
Dans la phase de planification, le plan de gestion de configuration (class ACM) est rédigé. Le manuel du cycle de vie (class ALC), est aussi rédigé en fonction du niveau d'EAL retenu[93]. C'est dans cette phase, que doit être décidé le niveau d'EAL, et quelle partie du système ou produit doit être développée conformément aux CC[93].
Dans la phase d'analyse, la cible de sécurité (class ASE) est rédigée. C'est aussi dans cette phase que l'on commence la rédaction des premières versions du document de test (class ATE) et des guides utilisateurs (class AGD)[93].
Dans la phase de conception, on commence la rédaction de la conception et représentation (class ADV). Son niveau de détail dépend du niveau d'EAL retenu. L'Évaluation de la vulnérabilité (class AVA) est aussi initialisée dans cette phase. Cette phase apporte des informations aux manuels utilisateurs (class AGD)[94].
Il y a, dans la phase de développement, des éléments d'analyse de résultat de test qui vont être importants pour la documentation de test (class ATE). Pour les niveaux d'EAL les plus élevés, le document de conception et représentation (classe ADV) doit être complété avec une représentation de l'implémentation. L'évaluation de la vulnérabilité (class AVA) et les guides utilisateurs sont finalisés dans cette phase de développement. Les documentations pour les livraisons et l'exploitation (class ADO) sont aussi rédigés dans la phase de développement[94].
Les documents pour les livraisons (class ADO) sont finalisés dans la phase de déploiement et mise en exploitation[94].
Une étude de cas a été menée sur le développement d'une application de porte-monnaie électronique. Le projet a duré 3 mois avec une équipe de 18 personnes avec une charge de 630 jours hommes[94].
Le premier retour d'expérience, est que les CC laissent trop de place à des ambiguïtés, il est souvent difficile de trouver la juste signification des exigences de sécurité. Des interprétations différentes des exigences des CC sont souvent possibles, et font perdre un temps précieux au cours du projet[95].
Les CC rendent les documents interdépendants, ce qui augmente la charge documentaire. Cette charge documentaire est aussi accrue du fait que l'exigence des CC positionne des spécifications sur différents niveaux d'abstraction. Le champ d'application des exigences fonctionnelles de la CC est principalement dans le domaine des réseaux de communication et du commerce électronique. Il ne couvre pas de façon adéquate les exigences de sécurité de la protection de la vie privée de l'utilisateur ou les exigences de juste-échange[95].
Autres approches
modifierJosé Romero-Mariona, propose une approche qui fait correspondre les exigences de sécurité des CC aux éléments d'architecture et leurs connexions[96]. La méthode propose un guide, qui est principalement basé sur les observations du processus des CC : élaboration des exigences de sécurité. Avec l'aide de ce guide les utilisateurs devraient être en mesure de cartographier ces exigences en éléments architecturaux et leurs connexions[97].
Puis, à partir de cette cartographie, un outil va automatiser la construction d'un fichier XML après avoir effectué une vérification de la cartographie[97]. Les modules principaux de l'outil sont[97] :
- Syntaxe XML: Définition du format d'entrée des autres modules de l'outil ;
- CCARCH v1.1.: Effectue une vérification de la cartographie ;
- Générateur de composants. Automatise la construction de fichier XML.
Les composants des CC et leurs connexions sont définis en XML par 4 paramètres[97] :
- Le nom du système dans son ensemble ;
- Un numéro d'identification unique du composant ;
- Le nom du composant ;
- La liste de tous les autres composants, avec lequel est lié ce composant.
Le second module effectue une vérification de la définition réalisée par l'utilisateur et produit un digramme dans un format XDR non standard. En cas d'erreur, l'outil l'indique et fournit à l'utilisateur des informations sur ce qui est nécessaire de faire pour résoudre le problème[98]. Le troisième module génère automatiquement un fichier de sortie au format XML. L'utilisateur peut alors ajouter de nouveaux composants. L'outil créé un nouveau fichier XML qui peut être remis en entrée du second module pour vérification[99].
Shanai Ardi propose une méthode qui consiste à compléter la cible de sécurité, en y ajoutant les vulnérabilités logicielles[100]. La cible de sécurité traite les points suivants[101] :
- Prise en compte des menaces issue des vulnérabilités de l'exploitation ;
- Ajout, dans les menaces de sécurités, les risques de menaces possible et leurs conséquences sur les actifs ;
- Identification des méthodes pour prévenir les vulnérabilités ;
- Ajout des Exigences fonctionnelles de sécurité des vulnérabilités ;
- Ajout des Relations entre les objets de sécurité et les vulnérabilités.
Notes et références
modifierNotes
modifier- NIST pour National Institute of Standards and Technology qui pourrait être traduit par Institut National des normes et de la Technologie
- NSA pour Agence Nationale de la Sécurité
- TCSEC pour Trusted Cumputer System Evaluation Criteria qui pourrait être traduit par Critères d'évaluation pour Systèmes informatiques éprouvés
- ITSEC pour Information Technologie System Evaluation Criteria
- CTCPEC pour Canadian Trusted Computer Product Evaluation Criteria que l'on pourrait traduire par Critères d'évaluation Canadien des produits informatiques éprouvés
- SOG-IS pour Senior Officers Group for Information
- ISO pour International Organisation for Standardisation que l'on pourrait traduire par Organisation internationale de normalisation.
- CCMRA pour Common Criteria Mutual Recognition Arrangement que l'on pourrait traduire par Accord de reconnaissance mutuelle selon les Critères Communs
- SPOD pour Biometric Spoof Detection qui pourrait être traduit par Détection biométrique d'une usurpation
- CCTLs pour Common Criteria Testing Laboratories qui pourrait être traduit par laboratoires d'évaluation selon les Critères Communs
- COTS pour commercial off-the-shelfqui pourarit être traduit par composants pris sur étagère ou produits logiciels du commerce
Références
modifier- CCMRA membres.
- 1994 Dacier, p. 9
- Dacier 1994, p. 13
- Chochois Michael 2009, p. 1
- site Sogis
- accord de reconnaissance mutuelle
- Critères Communs Part 1: Introduction et modèle général, p. 18
- Critères Communs Part 1: Introduction et modèle général, p. 1
- Critères Communs Part 1: Introduction et modèle général, p. 26
- Critères Communs Part 1: Introduction et modèle général, p. 9
- Critères Communs Part 1: Introduction et modèle général, p. 10
- Critères Communs Part 1 : Introduction et modèle général
- Critères Communs Part 1: Introduction et modèle général, p. 3
- Critères Communs Part 1: Introduction et modèle général, p. 4
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité
- Critères Communs Part 3: Exigences d'assurance de Sécurité
- Critères Communs Part 2: Exigences Fonctionnelles de sécurité, p. 1
- Critères Communs Part 2: Exigences Fonctionnelles de sécurité, p. 11
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 21
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 37
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 43
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 49
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 87
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 103
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 119
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 129
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 165
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 173
- Critères Communs Part 2: Exigences fonctionnelles de Sécurité, p. 183
- MorphoSmart Optic 301 Public Security Target, p. 19
- Critères Communs Part 3: Exigences d'assurance de sécurité, p. 2
- CC Part3 : Exigences d'assurance de sécurité, p. 10
- >Critères Communs Part 3: Exigences d'assurance de sécurité, p. 5
- Critères Communs Part 3: Exigences d'assurance de sécurité, p. 19
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 175
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 116
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 122
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 54
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 65
- >Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 153
- >>Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 169
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 30.
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 32.
- site CCMRA stats.
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 34.
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 36.
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 38
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 40
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 42
- Critères Communs Part 3: Exigences d'assurance de sécurité version 3, p. 44
- Critères Communs Part 1: Introduction et modèle général de sécurité, p. 31
- Critères Communs Part 1: Introduction et modèle général de sécurité, p. 45
- Critères Communs Part 1: Introduction et modèle général de sécurité, p. 46
- Critères Communs Part 1: Introduction et modèle général de sécurité, p. 47
- Critères Communs Part 1: Introduction et modèle général de sécurité, p. 48
- Critères Communs Part 1: Introduction et modèle général de sécurité, p. 49
- CCMRA Certificats Article 1, p. 5
- CCMRA Comité : Procédures, p. 1
- Portail Critères communs
- CCMRA Certificats Article 5, p. 6
- NIAP and COTS Product Evaluations
- Décret no 2009-834
- Décret no 2009-834
- Common Methodology for Information Technology Security Evaluation, p. 22
- Common Methodology for Information Technology Security Evaluation, p. 26-27
- Common Methodology for Information Technology Security Evaluation, p. 30
- Mellado 2006, p. 1
- Taguchi 2010, p. 1
- Lloyd 2004, p. 1
- Kallberg 2012, p. 1
- Sauveron 2007, p. 2
- Razzazi 2006, p. 3
- Razzazi 2006, p. 1
- Shoichi 2007, p. 2
- Shoichi 2007, p. 1
- Keblawi 2006, p. 3
- Preschern 2012, p. 1
- Hearn 2004, p. 2
- Ware 2005, p. 1
- Keblawi 2006, p. 4
- Lloyd 2004, p. 2
- Lloyd 2004, p. 6
- Hearn 2004, p. 1
- Isa 2012, p. 2
- Kallberg 2012, p. 4
- Taguchi 2010, p. 3
- Taguchi 2010, p. 4
- Taguchi 2010, p. 5,6,7
- Ware 2005, p. 2
- Ware 2005, p. 4
- Ware 2005, p. 5
- Vetterling 2002, p. 2
- Vetterling 2002, p. 3
- Vetterling 2002, p. 4
- Vetterling 2002, p. 8
- Romero-Mariona 2007, p. 2
- Romero-Mariona 2007, p. 3
- Romero-Mariona 2007, p. 4
- Romero-Mariona 2007, p. 5
- Ardi 2009, p. 1
- Ardi 2009, p. 2,3
Bibliographie
modifier- (en) « Site officiel « Common Criteria » »
- (fr) « Critères Communs Part 1: Introduction et modèle general », sur ssi.gouv.fr, , p. 1-66
- (fr) « Critères Communs Part 2: Exigences Fonctionnelles de sécurité », sur ssi.gouv.fr, , p. 1-382
- (fr) « Critères Communs Part 3: Exigences d'assurance de sécurité », sur ssi.gouv.fr, , p. 1- 224
- (en) « Critères Communs Part 3: Exigences d'assurance de sécurité version 3 », sur commoncriteriaportal.org,
- (en) « CCMRA Comité : Procédures », sur commoncriteriaportal.org, , p. 1- 17
- (en) « CCMRA Certificats », sur commoncriteriaportal.org, , p. 1- 39
- (en) « Common Methodology for Information Technology Security Evaluation », sur commoncriteriaportal.org, , p. 1- 425
- (fr) « Décret no 2009- 834 », sur legifrance.gouv.fr,
- (en) « CCMRA membres », sur commoncriteriaportal.org
- (en) « site CCMRA stats », sur commoncriteriaportal.org (consulté le )
- (en) « Portail SOGIS », sur sogisportal.eu (consulté le )
- (en) « Portail Critères communs », sur commoncriteriaportal.org (consulté le )
- « Accord de reconnaissance mutuelle », sur ssi.gouv.fr (consulté le )
- (en) « MorphoSmart Optic 301 Public Security Target », sur commoncriteriaportal.org,
- (en) « NIAP and COTS Products Evaluation », sur nsa.gov
- (fr) Marc Dacier, « Vers une évaluation quantitative de la sécurité informatique », sur tel.archives-ouvertes.fr, , p. 152
- (en) Mellado, D., Fernandez-Medina, E. et Piattini, M., « A comparison of the Common Criteria with proposals of information systems security requirements », Availability, Reliability and Security, 2006. ARES 2006. The First International Conference on, (ISBN 0-7695-2567-9, DOI 10.1109/ARES.2006.2, lire en ligne)
- (en) Keblawi, F, Fed. Aviation Adm, Washington, DC et Sullivan, D., « Applying the common criteria in systems engineering », Security & Privacy, IEEE (Volume:4, Issue: 2), (ISSN 1540-7993, DOI 10.1109/MSP.2006.35)
- (en) Taguchi, K., Yoshioka, N, Tobita, T. et Kaneko, H., « Aligning Security Requirements and Security Assurance Using the Common Criteria », Secure Software Integration and Reliability Improvement (SSIRI), 2010 Fourth International Conference on, Singapore, , p. 69 - 77 (ISBN 978-1-4244-7435-6, DOI 10.1109/SSIRI.2010.30)
- (en) Romero-Mariona, J., Irvine, Ziv, H. et Richardson, D.J., « CCARCH: Architecting Common Criteria Security Requirements », Information Assurance and Security, 2007. IAS 2007. Third International Symposium on, Manchester, , p. 349 - 356 (ISBN 978-0-7695-2876-2, DOI 10.1109/IAS.2007.30)
- (en) Razzazi, M., Jafari, M., Moradi, S. et Sharifipanah, H., « Common Criteria Security Evaluation: A Time and Cost Effective Approach », Information and Communication Technologies, 2006. ICTTA '06. 2nd (Volume:2), Damascus, , p. 3287 - 3292 (ISBN 0-7803-9521-2, DOI 10.1109/ICTTA.2006.1684943)
- (en) Isa, M.A.M., Ab Manan et R Mahmod, « Finest authorizing member of common criteria certification », Cyber Security, Cyber Warfare and Digital Forensic (CyberSec), 2012 International Conference on, Kuala Lumpur, , p. 155 - 160 (ISBN 978-1-4673-1425-1, DOI 10.1109/CyberSec.2012.6246109)
- (en) Nguyen, T.D., Levin, T.E et Irvine, C.E., « High robustness requirements in a Common Criteria protection profile », Information Assurance, 2006. IWIA 2006. Fourth IEEE International Workshop on, London, , p. 10 pp. - 78 (ISBN 0-7695-2564-4, DOI 10.1109/IWIA.2006.13)
- (en) Bialas, A., « Ontology-Based Security Problem Definition and Solution for the Common Criteria Compliant Development Process », Dependability of Computer Systems, 2009. DepCos-RELCOMEX '09. Fourth International Conference on, Brunow, , p. 3 - 10 (ISBN 978-0-7695-3674-3, DOI 10.1109/DepCoS-RELCOMEX.2009.15)
- (en) Preschern, C et Dietrich, K., « Structuring Modular Safety Software Certification by Using Common Criteria Concepts », Software Engineering and Advanced Applications (SEAA), 2012 38th EUROMICRO Conference on, Cesme, Izmir, , p. 47 - 50 (ISBN 978-1-4673-2451-9, DOI 10.1109/SEAA.2012.9)
- (en) Dadeau, F., Castillos, K.C., Ledru, Y. et Triki, T., « Test Generation and Evaluation from High-Level Properties for Common Criteria Evaluations -- The TASCCC Testing Tool », Software Testing, Verification and Validation (ICST), 2013 IEEE Sixth International Conference on, Luembourg, , p. 431 - 438 (ISBN 978-1-4673-5961-0, DOI 10.1109/ICST.2013.60)
- (en) Pretre, V., Bouquet, F. et Lang, C., « Using Common Criteria to Assess Quality of Web Services », Software Testing, Verification and Validation Workshops, 2009. ICSTW '09. International Conference on, Denver, CO, , p. 295 - 302 (ISBN 978-1-4244-4356-7, DOI 10.1109/ICSTW.2009.23)
- (en) Sauveron, D. et Dusart, P., « Which Trust Can Be Expected of the Common Criteria Certification at End-User Level? », Future Generation Communication and Networking (FGCN 2007) (Volume:2), Jeju, , p. 423 - 428 (ISBN 0-7695-3048-6, DOI 10.1109/FGCN.2007.235, lire en ligne)
- (en) Ardi, S. et Shahmehri, N., « Introducing Vulnerability Awareness to Common Criteria's Security Targets », Software Engineering Advances, 2009. ICSEA '09. Fourth International Conference on, Porto, , p. 419 - 424 (ISBN 978-0-7695-3777-1, DOI 10.1109/ICSEA.2009.67)
- (en) Rannenberg, K. et Iachello, G., « Protection profiles for remailer mixes. Do the new evaluation criteria help? », Computer Security Applications, 2000. ACSAC '00. 16th Annual Conference, New Orleans, LA, , p. 107 - 118 (ISBN 0-7695-0859-6, DOI 10.1109/ACSAC.2000.898864)
- (en) Hearn, J., « Does the common criteria paradigm have a future? », Security & privacy IEEE, , p. 64 - 65 (ISSN 1540-7993, DOI 10.1109/MSECP.2004.1264857, lire en ligne)
- (en) Monika Vetterling, Guido Wimmel et Alexander Wisspeintner, « Secure systems development based on the common criteria: the PalME project », ACM SIGSOFT Software Engineering, New York, NY, USA, , p. 129 - 138 (DOI 10.1145/605466.605486, lire en ligne)
- (en) Siv Hilde Houmb, Shareeful Islam, Eric Knauss, « Eliciting security requirements and tracing them to design: an integration of Common Criteria, heuristics, and UMLsec », mars 2010, [lire en ligne]
- (en) Ware, M.S., Bowles, J.B et Eastman, C.M., « Using the Common Criteria to Elicit Security Requirements with Use Cases », SoutheastCon, 2006. Proceedings of the IEEE, Memphis, TN, , p. 273 - 278 (ISBN 1-4244-0168-2, DOI 10.1109/second.2006.1629363, lire en ligne)
- (en) Shoichi Morimoto, Shinjiro Shigematsu et Yuichi Goto, « Formal verification of security specifications with common criteria », SAC '07 Proceedings of the 2007 ACM symposium on Applied computing, ACM New York, NY, USA ©2007, , p. 1506-1512 (ISBN 1-59593-480-4, DOI 10.1145/1244002.1244325, lire en ligne)
- (en) Shoichi Morimoto, Shinjiro Shigematsu et Yuichi Goto, « Formal verification of security specifications with common criteria », SAC '07 Proceedings of the 2007 ACM symposium on Applied computing, ACM New York, NY, USA ©2007, , p. 1506-1512 (ISBN 1-59593-480-4, DOI 10.1145/1244002.1244325, lire en ligne)
- Michael Chochois et Nicolas Magnin, « Qualité des produits de SSI, les labels français », Techniques de l'ingénieur. Sécurité des systèmes d'information, , p. 1-17 (ISSN 1953-4663, lire en ligne)
- (en) WJ Lloyd, « A Common Criteria Based Approach for COTS Component Selection », Journal of Object Technology,
- (en) R Richards, D Greve, M Wilding et WM Vanfleet, « The common criteria, formal methods and ACL2 », Workshop, 2004 - cs.utexas.edu,
- (en) Karpati, Opdahl et Sindre, « Experimental Comparison of Misuse Case Maps with Misuse Cases and System Architecture Diagrams for Eliciting Security Vulnerabilities and Mitigations », Availability, Reliability and Security (ARES), 2011 Sixth International Conference on, Vienna, , p. 507 - 514 (ISBN 978-0-7695-4485-4, DOI 10.1109/ARES.2011.77, lire en ligne)
- (en) Kallberg, « Common Criteria meets Realpolitik - Trust, Alliances, and Potential Betrayal », Security & Privacy, IEEE (Volume:10, Issue: 4), , p. 50 - 53 (ISSN 1540-7993, DOI 10.1109/MSP.2012.29)
- (en) Beatty, « Common Criteria Mutual RecognitionBeatty », Science Applications International Corporation, , p. 1-9 (lire en ligne)