Utilisateur:Thierry Petrilli/Brouillon

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. Egalement dénommés Common Criteria, ce référentiel est né d'un partenariat entre le Canada, les Etats Unis et l'Europe. Grace au cadre offert, les utilisateurs de technologies de l’informations vont pouvoir utiliser des profiles 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èes Communs décidée par les signataires d’un accord de reconnaissance mutuelle, facilite grandement l’acceptance des certificats émis. Bien que présentant de nombreux avantages, l’application de cette norme s’avère couteuse , 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
 
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 system à se défendre contre des attacks [2].

Dans le même temps l'Europe s'inspire des TCSEC[note 3] pour définir en 1991 ces propres critères d'évaluation les ITSEC[note 4]. Ils vont combler des lacunes en terme 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

Audience visée

modifier

Les besoins des utilisateurs en terme de sécurité sont des besoins de disponibilité, de confidentialité et d'authenticité des informations personnelles[7]. Les critères communs s'adressent à trois cathégories d'utilisateurs :

Les utilisateurs finaux
Les utilisateurs finaux vont pouvoir déterminer si un produit répond à leur besoins en consultant le résultat de l'évaluation[8].
Les dévelopeurs
Les développeurs se servent des CC pour identifier les éxigences de sécurité auxquelles doivent satisfaire leur produit[8].
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[8].

Documentation de la norme

modifier

Les critères communs font l'objet de 3 documents liés entre eux:

Introduction et modèle général[9]
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 uitilisés. A ce titre les 3 acronymes[10] 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[11].
TSF
TSF est l'acronyme anglais de « TOE Security Functions TSF ». Il désigne l'ensemble des fonctions de sécurité de la TOE.
Exigences fonctionnelles de sécurité[12]
Il s'agit d'un catalogue des composants fonctionnels de sécurité classifiés en famille et classe.
Exigences d'assurance de sécurité[13]
Ce document recense les éxigences pour le développeur et les taches à realiser pour l'évaluateur.

Exigences fonctionnelles

modifier

Les exigences fonctionnelles de sécurité concernent uniquement les spécifications de fonctions de sécurité. Elles sont regroupées en 11 classes couvrant chacune un domaine. Chaque classe est découpée en familles. Chaque famille contient un ensemble de composants qui constitut une exigence de sécurité[14]. Chaque classe est désignée par un nom unique dont l'abréviation est constituée de 3 caractères Fxx: F pour classe d'exigence Fonctionnelle et xx pour identifier le nom de la fonctionnalité couverte[15].

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'analyde d'informations associées à des activités touchant à la sécurité »[16].

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[17].
Classe Support Cryptographique FCS
Elle concerne la sécurité de haut niveau nécessitant l'utilisation de fonctions de cryptographie[18]. 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 Detection faux doigt : paquet d'exigences fonctionnellles
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[19].
Classe Identification et Authentification FIA
Cette classe est composée de 6 familles pour idéntifier l'utilsateur, l'authentifier et gérer ces droits d'accès[20].
Classe administration de la sécurité FMT
Elle permet entre autre de définir des rôles de sécurité. Elle est également découpée en 6 familles ayant de 1 à 3 composants[21].
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[22].
Classe prtotection 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 apparaitre comme une duplication de la classe FDP[23].
Classe utilisation des ressources FRU
Trois familles d'exigences concernant la disponibilté des ressources composent cette classe: la tolérance aux pannes, l'allocation de ressources et la priorité des services[24].
Classe d'accès à la Cible d'évaluation FTA
Elle spécifie les exigences fonctionnelles nécessaires pour controler l'établissement d'une connexion de l'utilisateur[25]. Par exemple controler 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' utilsateur et la technologie de l'information mais également entre TI[26].

Le dévelopeur va pouvoir définir un paquet de composants à partir de cette liste suivant les fonctionnalités de son produit. Cette liste n'étant pas exaustive, 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[27]. Pour la certification de ce produit, SAFRAN a également retenu des composants des familles suivantes :

  • Generationde l'audit de sécurité FAU_GEN
  • Protection des Informations Rediduelles FDP_RIP
  • Administration des données de la TSF FMT_MTD

Exigences d'assurance de sécurité

modifier

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 terme de vulnérabilité. Elle couvre la validité de la documentation et du produit ou système[28]. 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[29]. Quand à l'évaluateur, il va pouvoir identifier les tâches à réaliser pour conduire à une certification[29].

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[30]. Le nommage des classe est effectué avec trois caractères Axx : A désignant assurance suivi de deux lettres pour identifer le domaine couvert[30].

Liste des exigences d'assurance de sécurité
Classe Domaine couvert But
ADV Développement définit les exigences d'assurance à prendre en compte depuis les spécifications de la TOE jusqu'à son implémentation[31].
ACO Composition composée de 5 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[32].
AGD Documentation 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[33].
ALC Cycle de Vie traite des éxigences 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[34].
APE Evaluation Profile de protection doit s'assurer que le profile de protection est complet[35].
ASE Evaluation de la cible de sécurité démontrer que l'évaluation de la cible de sécurité est saine techniquement[36].
ATE Tests s'assurer que les tests sont suffisamment détaillés et complets[37].
AVA Estimation des Vulnérabilités traite des éxigences associées à l'identification de vulnérabilité pendant les phases de développement, configuration et exploitation[38].

Niveaux d'assurance EAL

modifier

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'éxigences d'assurance. Il existe 7 niveaux hiérarchiques qui vont déterminer le degré de confiance accordé au produit évalué. Chaque niveau contient les éxigences du niveau précédent. Ils reflètent un équilibre entre le niveau d'assurance obtenu et le coût pour parvenir à ce niveau[39].

Niveau 1
le moins couteux et ne necessite 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[40].
 
Pourcentage Produits certifiés par niveau d'assurance[41]
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[42].
Niveau 3
atteste d'une recherche de vulnérabilités évidentes[43].
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érailité relative à dse attaques élémentaires[44].
Niveau 5
atteste d'une analyse des fonctions de sécurité. Cette analyse s'appuie sur les spécifications fonstionnelles, les spcésifications complètes des interfaces, les guides et la conception de la TOE[45].
Niveau 6
destiné à des développement de TOE dans le cadre d' environnements à risques élevés[46].
Niveau 7
niveau maximum à ce jour. Il nécessite une présentation formelle des spécifications fonctionnelles et un niveau élevé des spécifications[47].

Profils de Protection

modifier

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é[48]. 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[49].
  • Une description du contexte de l'évaluation[50].
  • L'environnement d'utilisation comprenant entre autre les aspects physiques et humains. La politique de sécurité organisationnelles doit être décrite ainsi que les menaces auxquelles la cible d'évaluation sera confrontée[51].
  • Les objectifs de sécurité doivent être le reflet de l’état souhaité pour contrer les vulnérabilités identifiées[52].
  • Les exigences fonctionnelles et d'assurance de sécurité. Des packages prédefinis peuvent être utilisés[53].

Mise en oeuvre

modifier

Organisation

modifier

Seuls les pays signataires de l'accord de reconnaissance mutuelle selon les critères communs sont authorisés à émettre des certificats[54]. Ceux sont égalemnt eux qui vont accepter qu'un nouveau membre les rejoigne[55]. Ainsi l'Inde est devenu le 17éme pays signataire en 2013[56].

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[57].

Ainsi :

Aux Etats Unis
La NSA pilote le programme gouvernemental NIAP[58] 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],[58] et valide les résultats de l'évaluation en délivrant ou non le certificat final.
En France
Par décret[59], 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'évaluatuin en sécurité et Technologies CESTI qui ont en charge l'évaluation[60].
  • responsable de la délivrance ou non du certificat de validation[60].
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
Etats Unis National Information Assurance Partnership NIAP

Etapes de la certification

modifier

La certification se déroule en 3 etapes.:

 
Cerficats émis par domaine[41]
Demande d'évaluation

Le commanditaire fait une demande d'évaluation auprès de son organisme gouvernemantal en charge des certifications[61]. Il incombe à l'entreprise[62]:

  • d'établir la liste d'éxigence de sécurité de son produit[61]. 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.
Evaluation

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[63].

Certification

L'autorité en charge de le certification va s'appuyer sur le rapport d'évaluation technique pour émettre ou non le certificat d'évaluation selon les critères communs[60].


Retour d'expérience et usage

modifier

Les bénéfices, avantages, intérêts

modifier

Diminution des risques avec maitrise des couts

modifier

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[64],[65]. Celle-ci engendre un système plus robuste en réduisant les vulnérabilités de sécurité qui peuvent être trouvés dans les étapes ultérieures du développement[64],[65]. Lloyd mentionne, que pour la fabrication et la commercialisation des COTS [note 11], la hausse des couts 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[66]. 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[67].

Confiance des utilisateurs

modifier

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[64]. Selon Sauveron, la certification permet aux clients de comparer les différents produits sur le marché d'une manière objective[68].

Avantage concurrentiel des fabricants

modifier

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[68]. Les fabricants peuvent utiliser la certification comme argument marketing et ainsi d'élargir leur marché[68].

Maitrise des risques d'attaques nationale

modifier

Pour Sauveron, la certification permet aux organismes de certification gouvernementaux, de s'assurer que les produits utilisés dans leurs pays sont maitrisés. Et que, par conséquent, il n'y a pas de risque majeur d'attaques contre leurs systèmes informatiques[68].

Les contraintes, inconvénient, les freins

modifier

Mauvaise mise en œuvre

modifier

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[64]. Très souvent, la spécification des exigences de sécurité est trop succincte[64]. Les consommateurs ne sont pas en mesure d'indiquer clairement et sans ambiguïté les exigences de sécurité du produit[69]. Les exigences de sécurité sont souvent mal comprises[64]. La gestion des exigences en matière de sécurité est une question complexe pour les développeurs[70]. 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[64].

Difficile et couteux

modifier

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é[69]. Shoichi indique que les critères de la CC sont très abstraits, il est impossible d'avoir un aperçu global[71]. Il est difficile de définir entièrement les exigences à partir de zéro[72]. Selon Keblawi, l'expérience montre que les normes prescrites sont inflexibles et ne tiennent pas compte des considérations du monde réel[73]. 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é[65]. 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 de produits [74]. 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[75].

Complexe, pour des experts

modifier

Selon Ware, les CC sont difficiles à comprendre pour des personnes non spécialistes de la sécurité[76]. 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[77]. 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[65]. 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[72]. 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[78].

Ne s'applique pas toujours simplement

modifier

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[69]. Keblawi indique, que certains systèmes ne correspondent pas facilement aux concepts de sécurité des Critères communs[73]. 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[79].

Vision de l'industrie et des consommateurs

modifier

Selon Ware, les niveaux de protection de CC sont rarement utilisés dans la pratique[76]. 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[65]. Hearn indique que les vendeurs ne voient pas les CC comme un processus d'amélioration du produit[80]. Le rapport coût-bénéfice, qu'une utilisation des CC peut avoir sur un système informatique, est impossible à évaluer[80]. 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 [81]. 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[82]. 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[80]. 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[75].

Confiance gouvernementale

modifier

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[80]. 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[83]. Hearn indique que l'interêt commercial est faible, car les certifications résultent de la réglementation gouvernementale ou de l'achat du gouvernement[80].

Méthodes d'utilisation

modifier

méthodes basées sur les diagrammes de cas

modifier

La méthode proposée par Taguchi, est basée sur un diagramme de cas d'utilisation. Elle possède son propre processus de modélisation, qui se décompose en 3 éléments[84]:

  • Le diagramme est une extension de diagrammes de cas d'utilisation
  • Les éléments du modèle qui sont extraites d'un méta-modèle de la CC
  • Les modèles de sécurité qui sont ajoutés selon les contraintes de sécurité à chaque étape
 
Meta Modèle Taguchi en PNG
 
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[85]:

  • Les agents de menace
  • Les actifs
  • Les fonctions de sécurité
  • Les exigences fonctionnelles de sécurité
  • Les objectifs de sécurité de 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[85]:

  • 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[86]:

  • Phase1, Exigences de sécurité de base: Analyse des fonctions de sécurité et des menaces de sécurité de façon abstraite
  • Phase 2, Exigences et objectif de sécurité: à partir du résultat de la phase1, on analyse en détail des exigences de sécurité pour en définir des objectifs de sécurité
  • Phase 3, Sélection des exigences fonctionnelles de sécurité : Dans cette phase, on sélectionne les exigences fonctionnelles de sécurité, qui répondent aux objectifs de sécurité identifiés dans la phase précédente. Ce travail est réalisé à partir de la norme des CC partie 2 et PP. Puis on aligne, les exigences de sécurité aux exigences d'assurance en vertu de la méthodologie de CC.

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 sécurités et des exigences de sécurité[76]. 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[87]. Pour mettre en œuvre cette approche, un outil de modélisation graphique open source UML, est proposé.

 
écran: table des menaces en PNG
 
ecran: table des menaces

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[88].

Puis l'outil propose à l'utilisateur de générer un fichier de sortie dans un format HTML. L'outil propose 2 styles de rapport possibles[89]:

  • 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.

Autres approches

modifier

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[90]. Le principe est d'intégrer les activités des CC dans les phases de développement du projet[91]. Cette méthode est basée sur un processus itératif dans chaque phase du projet. A 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[91].

 
Intégration des exigences des CC dans le process SI en PNG
 
Intégrationn 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[91]. C'est dans cette phase, que doit être décidé le niveau d'EAL, et qu'elle partie du système ou produit doit être développé conformément aux CC[91].

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)[91].

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)[92].

Il y a, dans la phase de développement, des éléments d'analyse de résultat de test qui vont être important 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é dans la phase de développement[92].

Les documents pour les livraisons (class ADO) sont finalisés dans la phase de Déploiement et mise en exploitation[92].

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 membres avec une charge de 630 jours hommes[92].

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 possible, et font perdre un temps précieux au cours du projet[93].

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équaté les exigences de sécurité de la protection de la vie privée de l'utilisateur ou les exigences de juste-échange[93].

José Romero-Mariona, propose une approche qui fait correspondre les exigences de sécurité des CC aux éléments d'architecture et leurs connexions[94]. 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[95].

 
interface utilisateur du logiciel CCARCH en PNG
 
interface utilsateur 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[95]. Les modules principaux de l'outil sont[95]:

  • 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[95]:

  • 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[96]. 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[97].

 
Cible De Sécurité complétée en PNG
 
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[98]. La cible de sécurité traite les points suivant[99]:

  • 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
  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 Standard Organisation 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-shelf

Références

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

Bibliographie

modifier
  • (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", March 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,‎ , Pages 1506-1512 (ISBN 1-59593-480-[à vérifier : ISBN invalide], 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,‎ , Pages 1506-1512 (ISBN 1-59593-480-[à vérifier : ISBN invalide], 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 ),‎ , 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)