Quand trop de sécurité tue la sécurité

Antoine Flamant
INSA TC
Published in
9 min readJan 5, 2020

La gestion de la sécurité informatique est un sujet primordial pour les entreprises et également pour les particuliers. Cependant, en voulant faire face à cette menace, on peut être amené à mettre en place des solutions contre-productives à des problématiques de sécurité, qui augmentent le risque lié aux attaques plus qu’elles ne le diminuent. Nous allons présenter plusieurs de ces situations, où certaines pratiques utilisées voire recommandées peuvent créer un risque supplémentaire pour la sécurité d’un système.

Mot de passe trop complexe ?

Exemple de restrictions trop grandes sur le choix de mot de passe.

En 2003, Bill Burr rédigeait un rapport de 8 pages (le “NIST Special Publication 800–63. Appendix A”) où il établissait des méthodes pour créer un mot de passe “fort”. Parmi ces recommandations :

  • utiliser des majuscule/minuscule ;
  • utiliser des caractères spéciaux ;
  • utiliser des chiffres ;
  • changer régulièrement (~90 jours) ;
  • avoir des mots de passes différents pour chaque site.

“It just drives people bananas and they don’t pick good passwords no matter what you do“ — Bill Burr

Au fur et à mesure des années, la plupart des sites web ont appliqué ces mesures et obligé les utilisateurs à utiliser ces recommandations pour créer leurs mots de passe. Cependant en 2015, la GCHQ recommandait d’arrêter la politique consistant à changer régulièrement de mot de passe . Aujourd’hui, c’est Bill Burr qui revient sur ses recommandations et s’excuse dans une interview au Wall street journal. Mais pourquoi revenir sur cette décision ?

Des mots passe difficiles à retenir

Le principal problème est la difficulté pour l’utilisateur de retenir tous les mots de passe. Un utilisateur lambda est souvent abonné à des dizaines de sites différents donc il doit en théorie créer plusieurs dizaines de mots de passes différents. Imaginons maintenant qu’il doive changer de mot de passe tous les 90 jours et retenir de nouveau tous ces mots de passe. C’est une tâche impossible. Il arrive alors que l’utilisateur stocke ces mots de passe de manières non sécurisé (en dur ou dans un cloud par exemple) ce qui augmente les risques de piratage.

Des mots de passe faciles à décrypter

L’erreur majeur de Bill Burr est de penser qu’un mot de passe difficile à retenir (et créer) est synonyme de difficile à cracker. En effet, très souvent, les utilisateurs utilisent le même mot de passe qu’ils modifient légèrement en suivant les spécifications de Bill Burr. Ils ont alors un mot de passe maître assez court et faible (car il est plus facile à retenir) puis ils ajoutent des caractères spéciaux, chiffres et majuscule. On se retrouve alors avec des mots de passe du type “a4Ze5rty@” . Or ces mots de passe sont faciles à cracker. Il sont courts et suivent souvent un même motif. Il suffit à un attaquant de tester les possibilités de motifs sur une liste de mots de passe “courants” pour les cracker.

“Through 20 years of effort, we have correctly trained everyone to use passwords that are hard for humans to remember, but easy for computers to guess” — Randall Munroe

Quelle stratégie adopter ?

Mais alors, quelle stratégie adopter pour choisir son mot de passe ? Aujourd’hui les experts du NIST (dont faisait parti Bill Burr) recommandent d’utiliser des “phrases de passe” c’est à dire une suite de mots “simples” et faciles à retenir. On peut alors créer des mots de passe longs très facilement tout en variant les mots de passe. Un mot de passe compliqué mais court écrit en caractères spéciaux prends en moyenne quelques jours à craquer alors qu’un mot de passe long comme “cybersécurité_boeuf_bourguignon_grève” prendrait plusieurs centaines d’années.

https://xkcd.com/936/

Afin de pouvoir choisir un mot de passe long qui soit différent pour chaque service, on peut également utiliser un gestionnaire de mots passe. Un gestionnaire de mots de passe est un programme qui génère et enregistre un mot de passe pour chaque service. L’utilisateur n’a alors à se souvenir que d’un mot de passe “maître” pour avoir accès à tous les autres. Bien souvent, ce programme est également synchronisé entre les différents appareils de l’utilisateur, pour fonctionner sur son ordinateur fixe comme son portable par exemple. Toutes ces caractéristiques facilitent beaucoup la tâche de création et mémorisation de mots de passes forts à l’utilisateur, ce qui est un énorme atout pour la sécurité, face à la “friction” : plus il est facile de mettre en place une mesure de sécurité, meilleure elle est. C’est pour cela que l’agence nationale de cybersécurité du Royaume-Uni, le NCSC recommande leur utilisation.

Trop de sécurité dans les entreprises

Utilisateur qui s’adapte

Souvent, dans une entreprise, les salariés n’ont pas accès à tous les outils et possèdent des restrictions en fonctions de leurs besoins. Évidemment, ces restrictions sont nécessaires d’un point de vue sécuritaire. Il serait impensable qu’un commercial ait accès à l’administration du site web de l’entreprise par exemple. Cependant, il y a une limite, parfois difficile à définir, entre des mesures de sécurités trop laxistes et trop restrictives. Dans le cas de règles trop restrictives, le salarié ne pourra pas travailler dans des conditions convenables et cherchera par tous les moyens à les contourner et c’est là qu’une faille peut apparaître. Par exemple, si on empêche un employé de travailler à distance, celui-ci pourra être tenté d’emporter des outils ou des données sensibles sur sa machine personnelle ou même de mettre en place un reverse shell pour pouvoir avoir accès à son matériel depuis l’extérieur. Ce sont des failles de sécurités très conséquentes, en effet, on peut citer l’exemple de cet employé de la NSA qui a emporté sur une clé USB personnelle des outils de travail secrets ce qui a entraîné leur fuite.

Il y a donc de réelles questions à se poser concernant les règles de sécurité liées aux activités des salariés. S’il est évident qu’il est nécessaire d’empêcher certaines actions de base, il n’est pas évident de fixer la liberté accordée aux salariés. Quel que soit la politique mise en place, le pôle cyber-sécurité doit chercher au maximum anticiper les besoins et les contournements éventuels des salariés. On peut alors légitimement se poser la question d’introduire volontairement mais de manière sécurisée des trous dans le système de sécurité laissant une plus grande liberté aux salariés. En contrôlant ces trous, cela éviterait la création de failles non contrôlées par des employés trop contraints.

Système trop compliqué à assurer

Le problème avec un système trop “sécurisé” est sa complexité à le gérer et l’administrer. Certaines entreprises mettent en place des mesures de sécurités très complexes avec beaucoup de systèmes différents ( external/internal IPS, firewall, proxy, IDS, SIEM, …). Le principe d’un système de sécurité en “couches” peut être très efficace quand les systèmes sont complémentaire et n’interfèrent pas entre eux . En revanche, si les systèmes mis en place sont trop complexes et se chevauchent les uns avec les autres la ils deviennent moins efficaces voire dangereux. Si tous ces systèmes sont gérés par des vendeurs différents alors imaginez la complexité en cas d’attaque pour identifier le système défectueux et contacter le vendeur qui à coup sûr redirigera la faute vers les autres systèmes. De plus, la maintenance d’un tel système est très compliqué (mise à jour des logiciels, signature..). En définitive, ce cocktail de complexité apporte son lot de failles. Le système étant difficile à gérer, il devient alors très difficile d’identifier la nature d’une attaque et de réagir rapidement pour y contrer.

Dans un même temps, la difficulté de maintenance du système peut amener à utiliser des logiciels obsolètes en termes de sécurité et donc d’injecter des failles dans le système. En 2017, l’agence de crédit américaine Equifax à été victime d’une attaque pendant près de 2 mois touchant plus de 145 millions de personne. La faille était dû à un problème dans un framework utilisé (Apache Struts) qui permettait l’exécution de code à distance. Bien que la faille soit technique, son ampleur a été augmenté par des erreurs humaines. Une note concernant la mise à jour du framework défectueux avait bien été émise mais par manque de communication et de négligence la faille n’a pas été détectée.

En somme, il serait trop facile de dire que “trop de sécurité nuit à la sécurité” mais il est certains qu’un trop plein de règles/systèmes de sécurité et restrictions des utilisateurs peut avoir des conséquences néfastes. Il faut réfléchir un un systèmes efficace, compréhensible et surtout dialoguer avec les utilisateurs sur leurs besoins.

Comment sensibiliser efficacement les utilisateurs sans les réprimander ?

Pour sécuriser un système, il semble également nécessaire de sensibiliser les utilisateurs aux risques de sécurité et aux bonnes pratiques. Il faut par exemple leur apprendre à ne pas cliquer sur un lien dans un mail de phishing ou à ne pas brancher sur le système une clé USB inconnue trouvée quelque part.

Dans l’exemple du phishing, pour essayer de sensibiliser les utilisateurs, une méthode couramment employée par les responsables de la sécurité en entreprise est d’organiser de fausses campagnes de phishing en envoyant eux-même des e-mails typiques d’une vraie attaque. Les utilisateurs qui cliquent sur un lien, voire vont jusqu’à entrer leurs informations de connexion dans les faux sites mis en place peuvent ensuite être repérés, puis dans de nombreux cas réprimandés pour cette erreur.

L’idée derrière cette méthode est qu’en apprenant par l’exemple, les utilisateurs fautifs vont être plus facilement sensibilisés au risques de telles attaques et à leur mode de fonctionnement. Le problème est qu’elle peut s’avérer être contre-productive.

En effet, piéger ainsi les utilisateurs pour ensuite leur dire qu’ils ont fait une erreur et qu’ils auraient dû faire plus attention entraîne forcément un sentiment de honte pour l’utilisateur qui s’est fait avoir. Cela peut ensuite amener l’utilisateur à ne rien dire le jour où il aura réellement cliqué sur un véritable lien de phishing afin de ne pas se faire réprimander. Or, il est primordial pour le service de sécurité d’être alerté aussi tôt que possible dans un cas comme celui-là, afin de prendre les mesures nécessaires (révocation d’accès, nettoyage des matériels compromis, etc.). Pour que ce genre d’informations remontent rapidement, il est nécessaire que l’utilisateur se sente en confiance pour signaler l’incident sans qu’il y ait de jugement ou de conséquences disciplinaires.

De plus, ce genre de campagne va avoir tendance à créer une méfiance des employés vis à vie de leur hiérarchie, mais aussi entre les employés, en les faisant douter de la véracité de chaque email reçu par leurs collègues. Cela peut entraîner une baisse de leur productivité, mais aussi augmenter le risque d’attaque de l’intérieur menée par un employé facilitée par un ressentiment envers sa hiérarchie.

La vérité est qu’il est presque impossible d’empêcher les utilisateurs de cliquer sur un lien de phishing. Une étude menée en 2014 a montré que les tentatives de sensibilisation n’améliorent pas le taux de réussite d’une campagne. Cela peut facilement être expliqué : cliquer sur un lien de phishing est très semblable à ce que les utilisateurs font en permanence dans leur métier : cliquer sur des liens. Dans le cadre de la lutte contre le phishing, il faudrait donc créer des systèmes qui prennent en compte que des attaques de ce type vont fonctionner, plutôt que de prétendre qu’il est possible de les éliminer complètement.

Une meilleure approche face au phishing doit donc se baser sur le signalement aux services de sécurité de mails malveillants, afin que ceux-ci aient l’information à temps et puissent prendre les mesures nécessaires. C’est pour cela que la Société Générale a mis en place pour ses utilisateurs un système très simple de signalement de mails suspicieux. Un bouton intégré dans le client e-mail permet en un clic de signaler un mail en cas de doute sur sa véracité. Le service compétent peut ensuite répondre à l’utilisateur afin de lui dire si ce mail est sécurisé ou non. Grâce à cette approche, ils ont constaté une forte hausse du taux de signalement des mails frauduleux.

Conclusion

Une des similarités que l’on peut voir entre ces différents exemples est qu’à chaque fois, on essaie de forcer l’utilisateur à s’adapter à des systèmes de sécurité contre-intuitifs et contraignants, plutôt que de réfléchir dans l’autre sens en adaptant les systèmes de sécurité aux utilisateurs et à leurs pratiques. Le spécialiste de la sécurité informatique Bruce Schneier a dit :

“Usable security does not mean “getting people to do what we want.” It means creating security that works, given (or despite) what people do” — Bruce Schneier

En effet, les utilisateurs continueront toujours à cliquer sur des liens de phishing par exemple, et c’est normal puisqu’on leur a appris dans leur utilisation quotidienne que les liens sont faits pour être cliqués !

Plutôt que de rejeter la faute sur l’utilisateur, il faut donc réfléchir à créer des systèmes qui prennent en compte le comportement des utilisateurs plutôt que tenter de le restreindre.

--

--