La Cybersécurité

Ce terme très à la mode aujourd’hui reprend la majorité des thèmes de la sécurité de l’information placés dans un contexte d’Internet (cyber espace) avec un focus sur les différentes (cyber-)menaces : cyber-vandalisme (défaçage de sites web, dénis de service sans but secondaire), cyber-crime (le vol d’informations pour leur usage illégitime ou leur revente), cyber-terrorisme, cyber-guerre, etc. Il suffit de remplacer les menaces déjà connues et identifiées par le préfixe Cyber et le tour est joué. Le but, bien évidemment, est de vendre davantage de sécurité en créant un effet Waouh! comme diraient les communicants.

Dans ces catégories de menaces, nous pouvons distinguer les menaces non dirigées (de commodité, regroupant les attaques par du malware non contrôlé) et les menaces dirigées : l’espionnage industriel, l’hacktivisme (profiter de coups de pub médiatiques d’attaques pour attirer l’attention sur une cause), le crime organisé, etc.

Les agents de menace (les entités à l’origine de la menace) mettent en oeuvre des attaques dans le but, rien d’exceptionnel, de voler des données (ou d’y accéder de manière non autorisée), de modifier les données ou d’empêcher l’accès légitime aux données, à un service, à une infrastructure ou  un système. Les actions de (cyber-)défense consistent bien évidemment à protéger la confidentialité des données, leur intégrité et l’intégrité et la disponibilité des systèmes. La confidentialité, l’intégrité et la disponibilité sont les 3 propriétés essentielles associées à une donnée/information. Ce sont également des objectifs de sécurité à atteindre. Mais ce ne sont pas les seuls : on peut ajouter l’authenticité (s’assurer de la véracité d’une identité ou de l’origine d’un message) et l’imputabilité (traduction du terme « accountability ») qui consiste à permettre d’imputer un événement malveillant à une personne, une entreprise ou un pays, afin de donner des suites adaptées (poursuite judiciaire par exemple).

Le principal paradigme de la sécurité est de penser qu’aucun bien ne peut durablement être exonéré d’attaques, que ce soit depuis l’interne ou depuis l’externe, si bien que les objectifs de sécurisation visent essentiellement à rendre les attaques plus difficiles, plus onéreuses, plus longues à mettre en oeuvre. Il s’agit de rendre la vie de l’attaquant plus difficile, et la sécurité logique comme la sécurité physique se basent sur ce principe fondamental.

Parmi les mesures de sauvegarde (controls) ou de protection des propriétés de l’information, on peut citer le chiffrement des données (s’assurer de la confidentialité), la signature électronique (authentifier une personne ou une entreprise), l’empreinte numérique ou hash (s’assurer de l’intégrité d’une donnée), la résilience (s’assurer de la disponibilité des données ou des systèmes). Il y a bien-sûr bien d’autres catégories de mesures, la plus courante étant le contrôle d’accès (système, réseau) consistant à ne donner accès à un actif/bien qu’à des personnes légitimes et correctement authentifiées. La théorie du contrôle d’accès définit une relation entre une « entité active » qui souhaite accéder à une ressource, et une « entité passive » qui est la ressource accédée. Les modalités d’accès peuvent être attribuées aussi bien à l’accédant qu’à la ressource, gérée en local dans un système ou bien centralisé dans une base comme les Active Directory.

Il existe beaucoup de méthodes pour accorder et contrôler l’accès, la plus courante est le contrôle d’accès basé sur l’identité (identity-based access control ou IBAC).
Cette identité peut être n’importe quel attribut associé à une personne : nom, pseudonyme, adresse IP, etc. Les mesures d’authentification auront pour but de garantir que l’identité présentée est bien celle qu’elle prétend être. Pour cela on utilise une, et de préférence plusieurs, méthodes d’authentification distinctes :

  • Ce que je possède : un badge, un token, un identifiant
  • Ce que je sais : un mot de passe, des informations personnelles
  • Ce que je suis : des informations biométriques telles que l’empreinte digitale

Les services associés au contrôle d’accès sont généralement résumés par l’acronyme anglais IAAA (Identification, Authentication, Authorization, Accountability). L’identification est la présentation d’un élément de son identité. L’authentification est la garantie relative que l’identité présentée est bien celle qu’elle prétend être. L’autorisation (en France un méchant terme a toujours eu le vent en poupe sans pour autant contenir une définition unique et claire, on parle d’habilitation) consiste à associer aux identités (ou aux rôles, ou à n’importe quel attribut) des droits et des permissions d’accès à une ressource. Les droits sont en général portés par une identité dans une « liste de capacités » (capabilities matrix, chaque ligne d’une table correspond à une personne ou à un système, et chaque colonne correspond à un type d’accès et à la ressource concernée), tandis que les permissions sont portées par la ressource elle-même dans une « liste de contrôle d’accès » ou ACL (Access Control List).

CapList_ACL ACL

Pour compliquer les choses inutilement, on parle plus globalement de « privilège ».

Il faut penser la sécurité en termes de contrôle d’accès autant que possible. Si ce concept est facile à manier dans le contexte d’un système de fichiers, celui-ci permet de saisir également l’usage tout type d’équipement intégrant des capacités de filtrage. Un firewall et un proxy sont des équipements de contrôle d’accès. Dans le premier cas, la ressource protégée peut être aussi bien un réseau qu’un serveur identifié par son adresse IP; dans le second cas, la ressource est le contenu d’un site web.
A chaque fois qu’il faut sécuriser une ressource, il est nécessaire de penser les services liés au contrôle d’accès, en précisant les modalités d’accès (permissions). Penser également où placer le point de contrôle de l’accès, sur ou près de la ressource ou bien distante, dédiée ou bien encore mutualisée (comme un firewall).