Mois : décembre 2019

La sécurité informatique

Introduction à la sécurité informatique

Le but de cette fiche est de familiariser les lecteurs avec les notions de base de la sécurité informatique, telles que définies dans la norme ISO 7498-2 par exemple.

Les objectifs de la sécurité informatique

La sécurité informatique à plusieurs objectifs, bien sûr liés aux types de menaces ainsi qu’aux types de ressources, etc… Néanmoins, les points principaux points sont les suivants :

  • empêcher la divulgation non-autorisée de données
  • empêcher la modification non-autorisée de données
  • empêcher l’utilisation non-autorisée de ressources réseau ou informatiques de façon générale

Les champs d’application de la sécurité informatique

Ces objectifs s’appliquent dans différents domaines ou champs d’applications, chacun faisant appel à des techniques différentes pour atteindre le ou les mêmes objectifs; ces champs sont :

  • la sécurité physique
  • la sécurité personnelle
  • la sécurité procédurale (audit de sécurité, procédures informatiques…)
  • la sécurité des émissions physiques (écrans, câbles d’alimentation, courbes de consommation de courant…)
  • la sécurité des systèmes d’exploitation
  • la sécurité des communications

Terminologie de la sécurité informatique

La sécurité informatique utilise un vocabulaire bien défini que nous utilisons dans nos articles. De manière à bien comprendre ces articles, il est nécessaire de définir certains termes :

  • Les vulnérabilités : ce sont les failles de sécurité dans un ou plusieurs systèmes. Tout système vu dans sa globalité présente des vulnérabilités, qui peuvent être exploitables ou non.
  • Les attaques (exploits): elles représentent les moyens d’exploiter une vulnérabilité. Il peut y avoir plusieurs attaques pour une même vulnérabilité mais toutes les vulnérabilités ne sont pas exploitables.
  • Les contre-mesures : ce sont les procédures ou techniques permettant de résoudre une vulnérabilité ou de contrer une attaque spécifique (auquel cas il peut exister d’autres attaques sur la même vulnérabilité).
  • Les menaces : ce sont des adversaires déterminés capables de monter une attaque exploitant une vulnérabilité.

Pour d’autres définitions, consultez la norme ISO 7498-2 qui définit pas moins de 59 termes; d’autres définitions sont également disponibles dans notre lexique.

Types d’attaques

Les attaques peuvent à première vue être classées en 2 grandes catégories :

  • les attaques passives : consistent à écouter sans modifier les données ou le fonctionnement du réseau. Elles sont généralement indétectables mais une prévention est possible.
  • les attaques actives : consistent à modifier des données ou des messages, à s’introduire dans des équipements réseau ou à perturber le bon fonctionnement de ce réseau. Noter qu’une attaque active peut être exécutée sans la capacité d’écoute. De plus, il n’y a généralement pas de prévention possible pour ces attaques, bien qu’elles soient détectables (permettant ainsi une réponse adéquate).

Profils et capacités des attaquants

Les attaquants peuvent être classés non-seulement par leurs connaissances (newbies, experts, etc…) mais également suivant leurs capacités d’attaques dans une situation bien définie. Ainsi, on dénombrera les capacités suivantes :

  • transmission de messages sans capacité d’écoute (IP spoofing…)
  • écoute et transmission de messages
  • écoute et perturbation des communications (blocage de paquets, DoS et DDoS…)
  • écoute, perturbation et transmissions de messages
  • écoute et relai de messages (attaques type man-in-the-middle)

Une autre caractéristique des attaquants va être leur emprise uni-directionnelle ou bi-directionnelle sur les communications, du fait de la nature asymétrique de celles-ci. En effet, la plupart des canaux de transmissions sur Internet ou sur tout autre réseau hétérogène sont uni-directionnels et empruntent des chemins différents suivant les règles de routage. Ainsi, de nombreux protocoles de sécurité sont également unidirectionnels et il faut établir plusieurs canaux pour permettre un échange en « duplex ». Ces canaux qui sont au nombre de 2 minimum, sont la plupart du temps gérés de façon totalement indépendante par les protocole de sécurité. C’est le cas pour SSL/TLS mais également pour IPSec dont les associations de sécurité (SA) sont unidirectionnelles et indépendantes, chacune définissant son propre jeu de clés, algorithmes, etc…

Services principaux de la sécurité informatique

Pour remédier aux failles et pour contrer les attaques, la sécurité informatique se base sur un certain nombre de services qui permettent de mettre en place une réponse appropriée à chaque menace. A ce niveau, aucune technique n’est encore envisagée; il ne s’agit que d’un niveau d’abstraction visant à obtenir une granularité minimale pour déployer une politique de sécurité de façon optimale (les aspects pratiques tels qu’analyses de risques, solutions technologiques et coûts viendront par la suite. Voir le « Site Security Handbook », RFC 1244 pour plus de détails). Décrivons les principaux services de sécurité :

  • confidentialité
  • authentification (entité, origine des données)
  • intégrité
    • machines (tamper-résistance, tamper-proofness, exécution sécurisée…)
    • données (avec possibilité de récupération)
    • flux :
      • mode non-connecté, au niveau paquet (échanges de type requête-réponse, comme UDP)
      • mode orienté-connexion (ensemble de l’échange, comme TCP)
      • intégrité de séquences partielles (VoIP, applications, etc… permet d’éviter les DoS par exemple)
  • contrôle d’accès (= autorisation, à différentier de l’authentification)
  • non-répudiation (avec preuve d’émission ou avec preuve de réception)

Notez que le chiffrement, les signatures digitales et autres techniques correspondent au niveau d’abstraction inférieur, décrit comme l’ensemble des mécanismes de sécurité permettant de réaliser les services décrits ci-dessus. Plusieurs mécanismes peuvent par exemple réaliser le service d’authentification (schémas d’authentification, chiffrement, signatures digitales…). Néanmoins, ces mécanismes de sécurité ne correspondent pas encore aux solutions finales qui seront réellement implémentées. Il faudra pour cela effectuer un dernier raffinement, consistant à choisir les algorithmes symétriques, les algorithmes asymétriques, la tailles des clés, etc…

Enfin, il existe d’autres notions qui ne peuvent être classées directement dans ces listes; la confiance (trust) est un bon exemple. En effet, bien qu’elle soit très coûteuse, la confiance est obligatoire pour garantir l’efficacité des mécanismes de sécurité mis en place. Citons l’exemple d’un protocole d’encapsulation chiffrée (tunneling), développé en soft, permettant d’échanger des données tout en préservant leur confidentialité. Or, si seules les données sont protégées, il est plus simple pour un attaquant de s’introduire dans l’une des machines aux extrémités (PC ou autres), de modifier les librairies correspondantes de façon à fausser le mécanisme de sécurité (nombres aléatoires forcés à une valeur constante, valeurs de clés prédéfinies, algorithmes NULL) et enfin de pouvoir accéder à loisir aux données transmises. D’où la nécessité de mettre en place un schéma de confiance visant à interdire ce type d’attaque; il est nécessaire de pouvoir faire confiance aux équipements de sécurité car dans le cas contraire, l’utilité même des mécanismes de sécurité est remise en question.

L’urbanisation des systèmes d’informations

Etat de l’art

Dans les grandes entreprises, le Système d’Information est de plus en plus complexe et manque d’agilité. Il peut être assimilé au syndrome du « plat de spaghettis », avec de trop nombreux composants surnuméraires et des interfaces multiples et insuffisamment normalisées.

De plus, on constate un fonctionnement en silos, avec peu ou pas de communication entre les équipes, une absence de vision transverse préjudiciable à des choix cohérents, et une mauvaise connaissance du patrimoine applicatif.

Lorsque la Direction des Systèmes d’Information achève sa mue et se transforme en fournisseur de services, alors la Production Informatique devient un métier à part entière, évolue d’un centre de coûts vers un centre de profits. Des efforts toujours plus importants lui sont demandés en termes de rationalisation des coûts et il lui est demandé d’accompagner la stratégie de l’Entreprise.

Définitions

Qu’est-ce que l’urbanisation ?

Définition proposée par le Club Urba-EA : Urbaniser, c’est organiser la transformation progressive et continue du système d’information visant à le simplifier, à optimiser sa valeur ajoutée et à le rendre plus réactif et flexible vis à vis des évolutions stratégiques de l’entreprise, tout en s’appuyant sur les opportunités technologiques du marché. L’urbanisme définit des règles ainsi qu’un cadre cohérent, stable et modulaire, auquel les différentes parties prenantes se réfèrent pour toute décision d’investissement dans le système d’information.

Définition plus concise : Urbaniser, c’est piloter la transformation continue du système d’information pour le rendre plus agile, plus efficient et plus cohérent afin de le simplifier durablement.

Objectifs, enjeux et bénéfices de l’urbanisation des Systèmes d’Information

Objectifs

La démarche d’alignement stratégique et d’urbanisation d’un Système d’Information vise à répondre à 4 objectifs majeurs :

  • Synchroniser les actions du Système d’Information avec la stratégie de l’Entreprise, afin de renforcer la valeur d’usage du Système d’Information et en faire un atout pour l’Entreprise 
  • Rendre le Système d’Information « lisible » pour favoriser le dialogue et la communication avec les directions métiers, les Maîtrises d’ouvrage (MOA) et les Maîtrises d’œuvre (MOE)
  • Disposer d’un Système d’Information agile, capable d’évoluer rapidement et en toute sécurité tant d’un point de vue métier que technique 
  • Contribuer à la maîtrise des coûts informatiques

Enjeux

Urbaniser le Système d’Information de la Production Informatique, c’est répondre positivement aux enjeux suivants :

  • Positionner le Système d’Information de Production par rapport au Système d’Information Interne de l’Entreprise
  • Aligner les priorités d’investissements sur le Système d’Information de Production par rapport aux objectifs stratégiques
  • Clarifier les responsabilités sur les différentes zones du Système d’Information que ce soit en termes de MOE ou MOA
  • Etablir et communiquer des règles d’urbanisme pour le Système d’Information de Production
  • Evaluer les opportunités technologiques du marché
  • Définir un plan de progrès pour le Système d’Information de Production 
  • Contribuer au choix de solutions et faciliter leur intégration dans le Système d’Information

Bénéfices

Les bénéfices attendus d’une approche urbanisée du Système d’Information sont principalement :

  • Un alignement facilité du Système d’Information sur la stratégie de l’entreprise et une contribution significative à l’apport de valeur
  • Une réduction de la complexité et un renforcement de la cohérence 
  • Une meilleure préparation des décisions sur l’évolution du Système d’Information (impacts, risques, valeur apportée…)
  • Une diminution de la redondance applicative, mutualisation des outils informatiques, réduction des coûts d’intégration 
  • Une réduction du coût des projets du Système d’Information et des processus en favorisant une optimisation globale
  • Une définition claire des rôles et responsabilités des différents acteurs.

Soutenir la démarche d’urbanisation

La démarche d’urbanisation vise à améliorer progressivement la performance et la gouvernance du Système d’Information pour en faire un avantage concurrentiel décisif. Pour cela, l’urbanisation s’appuie sur un outil essentiel – la cartographie – grâce à laquelle l’entreprise va disposer d’une vision claire, documentée et valorisée de son patrimoine.

La mise en œuvre d’une démarche de cartographie / urbanisation va permettre de bâtir progressivement un Système d’Information modulaire, réactif, plus apte à servir la stratégie de l’entreprise.

Les différents niveaux de cartographie

Cartographier : pourquoi faire ?

La cartographie est un instrument indispensable pour la gouvernance du Système d’Information de l’entreprise. Elle contribue à donner une vision claire et partagée du patrimoine, à maîtriser les évolutions, à réduire les coûts de maintenance et de développement, à faciliter les analyses d’impact et à valoriser le patrimoine applicatif.

Cartographier le Système d’Information, c’est d’abord auditer l’existant, évaluer les besoins, et délimiter le périmètre d’un projet fédérateur pour l’entreprise. Pour cela, il convient de répondre aux questions suivantes :

  • Quelle sont les enjeux autour de la mise en œuvre d’une cartographie de votre Système d’Information ?
  • Quelle est la stratégie à court et moyen terme pour la cartographie ?
  • Quels sont les apports attendus : pourquoi et pour qui ?
  • Quels sont les dysfonctionnements majeurs constatés qui justifient de la mise en place d’une cartographie ?
  • Quel est le budget ?
  • Quel est le périmètre (on privilégie généralement les périmètres métiers regroupant le plus grand nombre d’applications) ?
  • Quels sont les types de constituants (applications, composants, référentiels de données, …) ? Quelles sont les normes et règles d’architecture applicative ?

Cartographier : avec quel outil ?

Il convient également de faire un choix d’outil de modélisation, de publication, … Parmi les outils du marché, on citera bien sûr des éditeurs comme MEGA ou ARIS ; mais dans un premier temps, l’usage de Microsoft Visio peut suffire.

Cartographier : comment ?

Pour produire une cartographie de tout ou partie du Système d’Information, il est possible de s’appuyer sur la démarche suivante :

  • Préparer la collecte des informations nécessaires à la production des cartographies :
    • Informer les populations contributrices sur la démarche et les objectifs à atteindre
    • Décliner le mode opératoire (workshops, réunions individuelles, …)
    • Produire le planning des interviews et les points de revue et validation
  • Réaliser la collecte :
    • Par itérations successives selon une approche pragmatique (le « just enough »)
    • Sur la base de documents prédéfinis (questionnaires, tableaux de collecte, …) 
  • Produire les cartographies :
    • Consolider l’ensemble des données recueillies
    • Matérialiser les flux inter-applicatifs
    • Identifier les principaux référentiels partagés 
  • Faire valider et publier les cartographies.

L’entreprise dispose alors d’une vision claire, documentée, valorisée de son patrimoine au travers d’une cartographie partagée de son Système d’Information.

Créer une cartographie, c’est bien, la maintenir, c’est mieux !

Dans toute démarche d’urbanisation, il convient d’accompagner le changement et d’assurer la maintenance des cartographies.

En effet, la production d’une cartographie n’est pas une fin en soi et il est souvent nécessaire d’accompagner les équipes dans la maintenance des cartographies. Il convient donc de former les contributeurs et de les sensibiliser à la nécessité de disposer d’une vision « à jour » du Système d’Information de l’entreprise.

L’accompagnement au changement est donc un élément fondamental pour la réussite d’un projet d’urbanisation du Système d’Information.

Concepts, règles et principes d’urbanisation

Les concepts manipulés peuvent s’apparenter à ceux de l’urbanisation de l’habitat humain (organisation des villes, du territoire), concepts qui ont été réutilisés en informatique pour formaliser ou modéliser la réingénierie du Système d’Information.

L’urbanisation s’appuie sur deux règles de base :

  • Une application doit appartenir à un et un seul bloc afin de limiter les impacts lorsqu’on remplace celle-ci 
  • Les dépendances doivent respecter des notions de cohérence forte
    • Entre les applications
    • Entre les modules d’une même application 
    • Entre les composants d’un même module

Le terme « cible » définit l’application que l’on cherche à avoir. Elle s’oppose à l’existant. La méthode pour passer l’existant à la cible souhaitée est appelée la roadmap (feuille de route). Cette roadmap peut prendre des formes « transitoires » car l’atteinte de la cible ne se fait pas en un jour et nécessite de passer par des paliers. Ainsi, on entend parler de roadmap à 3 ans, mais de formes transitoires année par année.

Le Système d’Information peut donc être comparé au quartier d’une ville : si ce dernier est bien bâti et bien urbanisé, il est possible de raser un bâtiment au cœur du quartier sans mettre en péril tout le secteur, et de le remplacer par ou de reconstruire un autre bâtiment. L’urbanisation consiste donc à créer un SI agile, modulable et évolutif.

Plan d’urbanisme du Système d’Information

Pour faciliter la planification des évolutions du Système d’Information, l’urbanisation s’appuie sur un plan d’urbanisme qui consiste à représenter le Système d’Information en s’appuyant sur une cartographie fonctionnelle et un découpage de plus en plus fin.

On distingue alors :

  • La zone : elle représente un domaine fonctionnel
  • Le quartier : il représente une opération à l’intérieur d’un métier
  • L’îlot : il représente une application
  • Le bloc fonctionnel : il représente la fonction.

Le Plan d’Urbanisme doit faciliter la construction d’une architecture optimisée du point de vue fonctionnel du Système d’Information, qui permet d’aligner le point de vue du métier et le point de vue informatique.

Plus particulièrement, l’urbanisation vise :

  • A renforcer la capacité à construire et à intégrer des sous-systèmes d’origines diverses 
  • A renforcer la capacité à faire interagir les sous-systèmes du Système d’Information et les faire interagir avec d’autres Systèmes d’Information 
  • A renforcer la capacité à pouvoir remplacer certains de ces sous-systèmes 

Et de manière générale pour le Système d’Information à :

  • Favoriser son évolutivité, sa pérennité et son indépendance 
  • Renforcer sa capacité à intégrer des solutions hétérogènes (progiciels, éléments de différentes plates-formes, etc.).

Quelques règles

Règle 1 : Réaliser un découpage par processus ou par métier

Règle 2 : Une fonction appartient à un bloc et un seul

Règle 3 : Une fonction ne peut être couverte que par une application et une seule

Règle n : …

Implémenter une démarche d’urbanisation

Définir le périmètre du projet d’urbanisation

Définir le périmètre d’un projet d’urbanisation, c’est répondre aux questions suivantes :

  • Quelle sont les enjeux autour de la mise en œuvre d’une démarche d’urbanisation du Système d’Information ?
    • Un renforcement de la gouvernance du Système d’Information ?
    • Une rationalisation de l’outillage et des coûts de production / exploitation ?
    • Une situation par rapport à l’état de l’art (benchmarking) ?
    • o L’Identification des besoins prioritaires, la production d’une roadmap.
  • Quels sont les apports attendus : pourquoi et pour qui ?
    • Une meilleure préparation des projets et un accompagnement facilité des acteurs 
    • o Un meilleur respect des règles (réutilisation des composants, redondance des données, unicité des référentiels, …).
  • Quel est le niveau de qualité des cartographies existantes, de maîtrise de l’utilisation des référentiels et des flux inter-applicatifs ?
  • Quel est le taux de pénétration des concepts d’urbanisation ?

Elaborer le plan d’urbanisme du Système d’Information

Elaborer le plan d’urbanisme du Système d’Information, c’est :

  • Comprendre les objectifs stratégiques, s’assurer de l’alignement des objectifs du Système d’Information sur les objectifs du métier et prendre en compte les impacts potentiels 
  • Analyser le système existant en s’aidant des cartographies produites pour en tirer un bilan : forces / faiblesses, manques / redondances, orientations & opportunités technologiques 
  • Définir une cible urbanisée pour le Système d’Information de Production sur la base des enjeux et des orientations validées 
    • Concevoir plusieurs scénarios d’architecture pour le système cible 
    • Proposer des critères de choix (gains financiers, complexité de mise en œuvre, gestion des compétences, valeur ajoutée, …) facilitant l’évaluation des scénarios 
    • Elaborer une trajectoire tenant compte des priorités, de la complexité et des coûts de mise en œuvre, des contraintes techniques et de la valeur ajoutée produite.

Définir le cadre méthodologique et la gouvernance associée

La mise en place du cadre méthodologique passe par :

  • La définition des règles d’urbanisation 
  • La production d’un guide méthodologique 
  • La sensibilisation et la formation des contributeurs MOA, MOE 
  • Une communication sur les apports de la démarche

La mise en place de la gouvernance passe par :

  • La définition d’une organisation propre 
  • L’intégration de la démarche d’urbanisation dans la démarche projet appliquée dans l’entreprise 
  • Une révision de la documentation

Soutenir la démarche

La mise en place d’une démarche d’urbanisation nécessite un temps d’adaptation et il est souvent nécessaire d’accompagner les équipes sur les premiers projets. Il est donc essentiel que l’organisation mise en place agisse en soutien aux équipes (MOA, MOE) dans la phase d’appropriation, dans la réalisation des analyses d’impact, dans le respect des règles, dans la production des nouveaux livrables, …

Cet investissement est nécessaire pour s’assurer de l’atteinte des objectifs, et permettre ainsi un véritable retour sur investissement.