Vous vous êtes peut-être déjà posé la question : pourquoi, lorsque je crée un compte en ligne, me demande-t-on le lieu de naissance de ma mère ou le nom de ma première institutrice ? Le site web n’essaie pas de faire la conversation, mais bien d’établir une relation de confiance avec vous, pour votre sécurité.
Lors de l’ouverture d’un compte en ligne, on vous demande parfois de donner une réponse à une question de confiance. Cela peut être le nom de votre animal de compagnie, le nom de jeune fille de votre mère ou votre film préféré… Et ce n’est pas pour compléter votre profil, mais pour une histoire de confiance. Mais c’est quoi, la confiance en sécurité informatique ?
C’est l’élément central sur lequel la sécurité repose au quotidien. Par exemple, quand on utilise le chiffrement pour communiquer de manière sécurisée, on fait confiance aux logiciels qui chiffrent. On suppose qu’ils sont sans failles, une confiance battue en brèche ces dernières années par des failles comme Heartbleed ou Shellshock par exemple. On a aussi confiance dans la robustesse des mathématiques qui sous-tendent ce chiffrement, confiance qui est remise en question par les ordinateurs quantiques qui, s’ils sont mis au point, permettront sans problème de casser les chiffrements actuels.
La confiance, c’est quoi ?
Cette même confiance est aussi centrale dans la technique du phishing, par exemple : en essayant de faire en sorte que son message soit le plus réaliste possible, l’attaquant espère que vous aurez suffisamment confiance en lui pour cliquer sur le lien malveillant qu’il vous propose.
D’un point de vue philosophique, la confiance est un abandon : on s’abandonne à quelqu’un, baissant sa garde, pour lui confier quelque chose de précieux. En sécurité informatique, il en va de même : en tant qu’individu ou en tant que système informatique, la confiance est la remise en cause de sa sécurité pour permettre un échange. N’interagir avec personne confère une forme de sécurité. Interagir avec une autre entité, c’est remettre en question cette sécurité, et donc courir un risque.
S’isoler pour être en sécurité est une méthode classique dans les milieux les plus critiques : dans les installations militaires ou nucléaires par exemple, les réseaux informatiques sont physiquement isolés, les transferts de fichiers étant effectués quand ils sont nécessaires via des supports physiques (clé USB par exemple). Mais même cette isolation très contraignante n’est pas infaillible comme l’a prouvé Stuxnet : cette attaque des centrifugeuses iraniennes d’enrichissement d’uranium a été réalisée en concevant un virus qui ne s’activait que dans leur environnement isolé. Il s’est répandu, et a fait son chemin à travers toutes les barrières physiques et logicielles qui existaient entre lui et sa cible, pour finalement détruire ces centrifugeuses.
Isoler pour mieux protéger
Il existe des modèles de sécurité classiques que l’on applique en entreprise. Le plus utilisé depuis la fin des années 1990 est la segmentation réseau : on sépare les ressources informatiques en sous-réseaux, et des pare-feux contrôlent le trafic entre ceux-ci. On organise ces sous-réseaux en profondeur : les ressources exposées au monde, comme les sites web par exemple, sont en zones démilitarisées, mais les ressources les plus critiques (comptabilité, RH, production…) sont dans des sous-réseaux cachés par de nombreux pare-feux : l’attaquant doit donc les passer pour pouvoir accéder à ces ressources.
Mais ce modèle de sécurité est mis à mal par 2 éléments : le phishing et l’explosion de l’utilisation post-Covid des réseaux privés virtuels, ou VPN (pour virtual private networks). Lors d’une tentative de phishing, un lien malveillant sur lequel on clique peut permettre d’installer un logiciel de prise de contrôle à distance d’une machine. Une fois installé, ce logiciel va contacter de façon sécurisée un serveur à distance pour lui demander les instructions à exécuter sur la machine dont l’attaquant vient de prendre le contrôle. La connexion étant initiée par la machine à l’intérieur du réseau, et étant chiffrée, elle passe inaperçue aux yeux des pare-feux qui protègent les machines des attaques extérieures.
Lors d’une communication par VPN, la machine extérieure à l’entreprise se retrouve à l’intérieur même du réseau : le VPN crée une communication sécurisée (appelée tunnel) pour que les communications de la machine extérieure soient envoyées directement dans le réseau de l’entreprise, comme si elle était physiquement installée dans ce réseau. Cela permet donc d’accéder aux ressources de l’entreprise de manière transparente, mais au prix d’avoir une machine extérieure dans un réseau potentiellement sensible. Dans le cas du phishing comme d’un VPN, les pare-feux sont contournés, laissant les machines du sous-réseau sans défense. À l’intérieur d’un sous-réseau, toutes les machines se font en effet mutuellement et implicitement confiance, et aucun contrôle n’est effectué en son sein.
Un nouveau modèle, appelé Zero Trust (aucune confiance) essaie de pallier à cette confiance implicite, et suit une devise simple, mais trompeuse : « never trust, always verify » (ne jamais faire confiance, toujours vérifier). Dans ce modèle, une entité au sein du réseau est chargée de continuellement évaluer la confiance que l’on peut accorder à toute communication. Elle vérifie que l’utilisateur à l’origine d’une requête est bien identifié, que son compte n’est pas piraté, et qu’il a utilisé des moyens sûrs pour prouver son identité, en donnant à la fois un mot de passe et un code qu’on lui a envoyé sur son téléphone, par exemple. La confiance est donc toujours là, mais elle est dans ces systèmes évaluée et quantifiée : chaque communication a un score de confiance. En dessous d’un certain seuil, elle est refusée. Mais comment quantifie-t-on la confiance ?
Estimer et quantifier la confiance
Cela dépend d’à quoi on accorde de la confiance. Pour une information, cela va dépendre de sa crédibilité par rapport à notre propre connaissance ou de la fiabilité et de la compétence de la source. La confiance ne s’évalue donc pas sur une, mais sur plusieurs dimensions. Pour avoir confiance dans l’identité d’une entité avec laquelle on communique, on va lui demander des preuves qui vont toujours reposer sur une des trois notions suivantes : ce qu’elle sait, ce qu’elle est, ou ce qu’elle possède. Pour un humain, on va lui demander ses identifiants. On peut aussi essayer de lui demander ce qu’il est, par exemple en lui demandant de montrer ses empreintes digitales, ou encore lui demander de montrer qu’il possède un certificat numérique (l’équivalent d’une pièce d’identité).
Mais aucune de ses mesures n’est infaillible. Ce que je sais, je peux le divulguer, ce que j’ai, on peut me le voler, et ce que je suis, on peut le recopier. Il est maintenant possible, à partir d’une photo haute définition, de reproduire les empreintes digitales de quelqu’un qui salue ! Mais comment quantifier ce risque ou la confiance dans les compétences de quelqu’un, dans sa loyauté, ou dans sa capacité à garder son mot de passe secret ?
D’une manière générale, il est compliqué de donner un pourcentage de confiance : la notion est trop souple, et les risques trop variables. De plus, c’est souvent un humain qui va quantifier la confiance à accorder, et il nous est difficile de différencier une confiance de 67 % d’une confiance de 68 %… Pour pallier cela, on utilise souvent un ensemble de valeur (« totalement confiance », « peu crédible »…) pour exprimer une quantité de confiance, et on définit des fonctions mathématiques qui permettent d’agréger les différentes dimensions de la confiance pour obtenir un score.
Diminuer le doute et mesurer l’incertitude
Si le doute existe toujours, on peut cependant renforcer la confiance. Par exemple, en utilisant plusieurs méthodes d’authentification de manière simultanée : c’est que ce qu’on appelle l’authentification multifacteur. Vous l’avez déjà utilisée quand on vous demande à la fois de fournir un identifiant et un mot de passe, puis qu’on vous demande un code par SMS. Dans ce cas, la confiance est renforcée parce que vous avez prouvé que vous savez quelque chose (vos identifiants) et que vous possédez quelque chose (votre téléphone).
L’incertitude est une notion compagne de la confiance, puisqu’une confiance ne peut être absolue. On distingue classiquement deux dimensions dans l’incertitude : aléatoire et épistémique. L’incertitude aléatoire est irréductible et fait référence à la variabilité intrinsèque d’un évènement, tel qu’un lancer de pièce par exemple. L’incertitude épistémique provient d’un manque de connaissances et pourrait être réduite en recueillant plus d’information : il est possible d’établir si une pièce est biaisée et quel est son biais en effectuant un nombre suffisant de lancers, et donc réduire cette incertitude.
L’incertitude épistémique, votre opérateur va essayer de la réduire en établissant votre profil. Si votre comportement est habituel, il n’éveillera pas ses soupçons. Si par contre il est inhabituel, il va essayer de renforcer sa confiance en vous proposant un challenge. Vous avez déjà sûrement dû donner un code envoyé par SMS, quand vous partez à l’étranger, ou que vous vous connectez depuis un réseau inhabituel. L’entité avec laquelle vous communiquez essaie de renforcer sa confiance en faisant baisser son incertitude épistémique. Il en va de même lorsque vous avez oublié votre mot de passe : si l’on revient à la question de confiance évoquée plus haut, c’est à ce moment-là qu’on va vous demander d’y répondre à nouveau.
Vers plus de confiance
Cette information que l’on vous demande n’est donc pas utilisée pour vous profiler, mais pour établir une confiance en votre identité. Il n’y a donc pas de risques de divulgation de votre vie privée ou d’exploitation de vos données personnelles sans votre consentement dans ce cas. Par contre, on a en fait déjà collecté suffisamment d’informations pour établir votre profil, sauf que cette collecte a été faite de manière automatique : en relevant vos habitudes de connexion, les machines depuis lesquelles vous vous connectez, et la façon dont vous travaillez.
Dans la plupart des systèmes informatiques, une activité suspecte se traduit par une alerte. Cette alerte doit être examinée et traitée, ce qui est long et fastidieux, et leur nombre rend pénibles les métiers liés à la sécurité informatique en temps réel. Or, 80 à 90 % des alertes sont bénignes ! Il est donc nécessaire de réduire au maximum l’incertitude. Dans ce domaine, la tendance est à l’augmentation des types de données collectées et à l’utilisation massive de l’intelligence artificielle pour améliorer la qualité de l’estimation des scores de confiance.