Critères communs

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Les Critères Communs 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[modifier | modifier le code]

Liste des pays signataires ou reconnaissants l'accord CC-MRA[1].

En 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 en termes d'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[modifier | modifier le code]

Les critères communs 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 données personnelles. Les produits contrôlés sont ceux collectant, transportant et manipulant ces données, à 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[modifier | modifier le code]

Les besoins des utilisateurs en termes de 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 doivent 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[modifier | modifier le code]

Les 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[modifier | modifier le code]

Les 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.
Certification Détection faux doigt : paquet d'exigences fonctionnelles
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ée 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é[modifier | modifier le code]

La 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 en termes de 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 ;

Exigences d'assurance de sécurité
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 inter agira 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 profile 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[modifier | modifier le code]

Tout certificat émis suite à 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. 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. Seule les menaces identifiées dans le domaine public sont couvertes[43].
Pourcentage Produits certifiés par niveau d'assurance[44].
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éveloppement 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[modifier | modifier le code]

Un 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[modifier | modifier le code]

Organisation[modifier | modifier le code]

Seuls 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].

Pour ê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] en charge 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 des systèmes d'information ANSSI est nommée autorité de certification. Cette agence a deux rôles :
  • responsable de l'agrément des centres d'évaluation en sécurité et Technologies CESTI qui ont en charge l'évaluation[63].
  • responsable de la délivrance ou non du certificat de validation,[63].
Organisation gouvernementales par pays signataire ,[1]
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
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

Etapes de la certification[modifier | modifier le code]

La certification se déroule en 3 étapes :

Certificats émis par domaine,[44]
Demande d'évaluation

Le commanditaire fait une demande d'évaluation auprès de son organisme gouvernemental en charge 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é en charge 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[modifier | modifier le code]

Les bénéfices, avantages, intérêts[modifier | modifier le code]

Diminution des risques avec maitrise des coûts[modifier | modifier le code]

Selon 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[modifier | modifier le code]

Pour 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[modifier | modifier le code]

Sauveron 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 d'élargir leur marché[71].

Maîtrise des risques d'attaques nationale[modifier | modifier le code]

Pour 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[modifier | modifier le code]

Mauvaise mise en œuvre[modifier | modifier le code]

Selon 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 mise 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 termes de mécanismes de protection, au lieu de faire des propositions déclaratives concernant le niveau de protection requis[67].

Difficile et couteux[modifier | modifier le code]

Pour 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 en termes de 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[modifier | modifier le code]

Selon 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[modifier | modifier le code]

Selon 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[modifier | modifier le code]

Selon 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[modifier | modifier le code]

Selon 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[modifier | modifier le code]

Méthodes basées sur les diagrammes de cas[modifier | modifier le code]

La 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étail 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].

Meta Modèle Taguchi

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 politiques 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 objectives de sécurités et des exigences de sécurités[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é.

écran: table des menaces du logiciel Open Source Violet

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 2 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 fonctionnelles 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[modifier | modifier le code]

La 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].

Intégration des exigences des CC dans le process SI

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[modifier | modifier le code]

José 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].

interface utilisateur ccarch

Puis, à partir de 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].

Cible De Sécurité complétée

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 Relation entre les objets de sécurité et les vulnérabilités.

Notes et références[modifier | modifier le code]

Notes[modifier | modifier le code]

  1. NIST pour National Institute of Standards and Technology qui pourrait être traduit par Institut National des normes et de la Technologie
  2. NSA pour Agence Nationale de la Sécurité
  3. TCSEC pour Trusted Cumputer System Evaluation Criteria qui pourrait être traduit par Critères d'évaluation pour Systèmes informatiques eprouvés
  4. ITSEC pour Information Technologie System Evaluation Criteria
  5. CTCPEC pour Canadian Trusted Computer Product Evaluation Criteria que l'on pourrait traduire par Critères d'évaluation Canadien des produits informatiques éprouvés
  6. SOG-IS pour Senior Officers Group for Information
  7. ISO pour International Organisation for Standardisation que l'on pourrait traduire par Organisation Internationale de normalisation
  8. CCMRA pour Common Criteria Mutual Recognition Arrangement que l'on pourrait traduire par Accord de reconnaissance mutuelle selon les Critères Communs
  9. SPOD pour Biometric Spoof Detection qui pourrait être traduit par Détection biométric d'une usurpation
  10. CCTLs pour Common Criteria Testing Laboratories qui pourrait être traduit par laboratoires d'évaluation selon les Critères Communs
  11. COTS pour commercial off-the-shelfqui pourarit être traduit par composants pris sur étagère ou produits logiciels du commerce

Références[modifier | modifier le code]

  1. a, b et c CCMRA membres.
  2. Dacier 1994, p. 9
  3. a et b Dacier 1994, p. 13
  4. Chochois Michael 2009, p. 1
  5. site Sogis
  6. accord de reconnaissance mutuelle
  7. CC Part1 Introduction et modèle général, p. 18
  8. CC Part1 Introduction et modèle général, p. 1
  9. CC Part1 Introduction et modèle général, p. 26
  10. CC Part1 Introduction et modèle général, p. 9
  11. a, b et c CC Part1 Introduction et modèle général, p. 10
  12. CC Part1 Introduction et modèle général
  13. CC Part1 Introduction et modèle général, p. 3
  14. CC Part1 Introduction et modèle général, p. 4
  15. CC Part2 Exigences Fonctionnelles de sécurité
  16. CC Part3 Exigences d'Assurance de sécurité
  17. CC Part2 Exigences Fonctionnelles de sécurité, p. 1
  18. CC Part2 Exigences Fonctionnelles de sécurité, p. 11
  19. CC Part2 Exigences Fonctionnelles de sécurité, p. 21
  20. CC Part2 Exigences Fonctionnelles de sécurité, p. 37
  21. CC Part2 Exigences Fonctionnelles de sécurité, p. 43
  22. CC Part2 Exigences Fonctionnelles de sécurité, p. 49
  23. CC Part2 Exigences Fonctionnelles de sécurité, p. 87
  24. CC Part2 Exigences Fonctionnelles de sécurité, p. 103
  25. CC Part2 Exigences Fonctionnelles de sécurité, p. 119
  26. CC Part2 Exigences Fonctionnelles de sécurité, p. 129
  27. CC Part2 Exigences Fonctionnelles de sécurité, p. 165
  28. CC Part2 Exigences Fonctionnelles de sécurité, p. 173
  29. CC Part2 Exigences Fonctionnelles de sécurité, p. 183
  30. Certification MorphoSmart Optic 301, p. 19
  31. CC Part3 : Exigences d'assurance de sécurité, p. 2
  32. a et b CC Part3 : Exigences d'assurance de sécurité, p. 10
  33. a et b >CC Part3 : Exigences d'assurance de sécurité, p. 5
  34. CC Part3 : Exigences d'assurance de sécurité, p. 19
  35. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 175
  36. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 116
  37. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 122
  38. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 54
  39. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 65
  40. >CC Part3 : Exigences d'assurance de sécurité Version 3, p. 153
  41. >>CC Part3 : Exigences d'assurance de sécurité Version 3, p. 169
  42. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 30.
  43. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 32.
  44. a et b site CCMRA stats.
  45. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 34.
  46. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 36.
  47. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 38
  48. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 40
  49. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 42
  50. CC Part3 : Exigences d'assurance de sécurité Version 3, p. 44
  51. CC Part1 : Introduction et modèle général, p. 31
  52. CC Part1 : Introduction et modèle général, p. 45
  53. CC Part1 : Introduction et modèle général, p. 46
  54. CC Part1 : Introduction et modèle général, p. 47
  55. CC Part1 : Introduction et modèle général, p. 48
  56. CC Part1 : Introduction et modèle général, p. 49
  57. CC Roles, p. 5
  58. CC Commité - Nouveau membre signataire, p. 1
  59. CC News
  60. Acréditation centres d'évaluation, p. 6
  61. a et b NIAP and COTS Product Evaluations
  62. Decret 2009-834 - Artcle 1
  63. a, b et c Decret 2009-834 - Artcle 4
  64. a et b Methodologie pour l'évaluation, p. 22
  65. Methodologie pour l'évaluation, p. 26-27
  66. Methodologie pour l'évaluation, p. 30
  67. a, b, c, d, e, f et g Mellado 2006, p. 1
  68. a, b, c, d et e Taguchi 2010, p. 1
  69. Lloyd 2004, p. 1
  70. Kallberg 2012, p. 1
  71. a, b, c et d Sauveron 2007, p. 2
  72. a, b et c Razzazi 2006, p. 3
  73. Razzazi 2006, p. 1
  74. Shoichi 2007, p. 2
  75. a et b Shoichi 2007, p. 1
  76. a et b Keblawi 2006, p. 3
  77. Preschern 2012, p. 1
  78. a et b Hearn 2004, p. 2
  79. a, b et c Ware 2005, p. 1
  80. Keblawi 2006, p. 4
  81. Lloyd 2004, p. 2
  82. Lloyd 2004, p. 6
  83. a, b, c, d et e Hearn 2004, p. 1
  84. a et b Isa 2012, p. 2
  85. Kallberg 2012, p. 4
  86. Taguchi 2010, p. 3
  87. a et b Taguchi 2010, p. 4
  88. Taguchi 2010, p. 5,6,7
  89. Ware 2005, p. 2
  90. Ware 2005, p. 4
  91. Ware 2005, p. 5
  92. Vetterling 2002, p. 2
  93. a, b, c, d et e Vetterling 2002, p. 3
  94. a, b, c et d Vetterling 2002, p. 4
  95. a et b Vetterling 2002, p. 8
  96. Romero-Mariona 2007, p. 2
  97. a, b, c et d Romero-Mariona 2007, p. 3
  98. Romero-Mariona 2007, p. 4
  99. Romero-Mariona 2007, p. 5
  100. Ardi 2009, p. 1
  101. Ardi 2009, p. 2,3

Bibliographie[modifier | modifier le code]

  • (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 ),‎ avril 2006 (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,‎ juin 2010, 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,‎ Aug. 2007, 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,‎ 2006, 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,‎ juin 2012, 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,‎ avril 2006, 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,‎ juillet 2009, 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,‎ septembre 2012, 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,‎ mars 2013, 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,‎ avril 2009, 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,‎ décembre 2007, 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,‎ septembre 2009, 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,‎ décembre 2000, 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,‎ février 2004, 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,‎ 2002, 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,‎ avril 2005, 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,‎ 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,‎ 2007, p. 1506-1512 (ISBN 1-59593-480-4, DOI 10.1145/1244002.1244325, lire en ligne)
  • (en) Kallberg, « Common Criteria meets Realpolitik - Trust, Alliances, and Potential Betrayal », Security & Privacy, IEEE (Volume:10 , Issue: 4 ),‎ July-Aug 2012, p. 50 - 53 (ISSN 1540-7993, DOI 10.1109/MSP.2012.29)
  • (en) Beatty, « Common Criteria Mutual RecognitionBeatty », Science Applications International Corporation,‎ 2007, p. 1-9 (lire en ligne)