Quand allez-vous être attaqués ?

Le 15 juillet, Twitter a été victime d'une attaque informatique.

Le pirate s'est connecté à la console d'administration interne, lui permettant de publier des messages sur des comptes de personnalités célèbres comme Barack Obama ou Jeff Bezos.

Le 23 Juillet, c'est la plateforme de prise de rendez-vous médicaux en ligne Doctolib qui a annonce être victime d'un vol de données : plus de 6000 rendez-vous, avec les coordonnées personnelles des patients.

Toujours le 23 juillet, les utilisateurs des montres connectées Garmin ne peuvent plus charger ou consulter de données issues de leurs montres sur la plate-forme Garmin Connect. Un ransomware serait la cause de cette défaillance.

La liste des services en ligne victimes d'attaques informatiques est longue. Même les entreprises qui consacrent des moyens important à la sécurité informatique ne sont pas épargnées.

Pourquoi ?

Parce qu'il existe toujours un point faible. Souvent situé entre la chaise et l'écran : nous.

Social hacking

Il est facile de se faire piéger par un mail frauduleux, ou un site malveillant. Même pour les plus prudents.

Il suffit d'un mail demandant la confirmation des coordonnées et un site qui clone le site original pour livrer un mot de passe.

Regardez cet exemple avec Github (un outil en ligne pour stocker son code source, utilisé par les développeurs) :

Etape 1 : je reçois un mail qui semble provenir de Github, qui me demande de confirmer mon adresse mail.

  • Etape 2 : le lien du mail ouvre la page d'accueil de Github, et m'invite à saisir mon login et on mot de passe.

Sauf qu'il ne s'agit pas du site officiel de Github.

Regardez bien l'adresse : gltnub.com au lieu de github.com

L'utilisateur qui saisit son login et son mot de passe le livre au pirate. Le processus se clôt par une fenêtre de confirmation "Votre adresse mail est bien validée", et l'utilisateur ne s'aperçoit pas toujours de la manipulation.

Cet exemple illustre la (relative) facilité avec laquelle il est possible de dérober un mot de passe. Et plus généralement, qu’un piratage est inévitable malgré toutes les précautions :

  • Quelqu'un de suffisamment déterminé parviendra à ses fins,
  • Les outils d'attaques sont accessibles facilement, et leur utilisation est devenue assez simple,
  • La surface d'attaque augmente avec les architectures clouds. Tout le monde est concerné : en 2019, La moitié des entreprises piratées étaient des PME.

Même les techniques d'authentification plus poussées telles que le 2FA (la connexion est confirmée par un numéro envoyé par SMS) ne constituent plus une parade ultime. Jack Dorsey, le CEO de Twitter, a été victime d'une attaque SIM swapping en 2019 détournant l'envoi des SMS vers un téléphone pirate.

Alors que faire ?

Limiter les conséquences

Supposons que votre système soit piraté, et que vos données soient dérobées ou encryptées. Quels sont les moyens de limiter les conséquences ? Par exemple :

  • minimiser la durée d'indisponibilité du système,
  • limiter les possibilités d'utilisation malveillante des données,
  • réduire le temps d'accès aux outils d'administration.

Pour cela, il existe 4 leviers :

#1 Rendre le système résilient.

Il s'agit de la capacité à assurer la reprise d'activité lorsque tout est perdu.

  • Etes-vous en mesure de TOUT ré-installer rapidement sur un autre serveur ?
  • Disposez-vous de sauvegardes des données non infectées ? Et d'un moyen de ré-injecter cette sauvegarde dans la nouvelle installation ?
  • Peut-on facilement rediriger tout le trafic utilisateur vers la nouvelle installation?

C'est n'est pas techniquement complexe, à condition d'être pris en compte à la conception.

Les architectures à base de containers (comme Docker) sont plus faciles à déployer rapidement sur un nouveau serveur. Et des exports de bases de données relationnellessous forme de fichiers textes garantissent que la sauvegarde n'est pas infectée, contrairement à des fichiers Excel.

#2 Crypter les données sensibles pour les rendre inexploitables.

Le vol de données n'est pas dramatique à condition que le pirate ne puisse rien en faire.

Une parade consiste donc à crypter les données sensibles à l'aide d'une clé différente pour chaque utilisateur. Ainsi, l'usurpation de l'identité d'un utilisateur ou d'un administrateur ne permet pas de lire toutes les données de la base.

L'intérêt est de crypter les données nominatives ou personnelles, et de conserver un stockage normal pour les données qui servent au fonctionnement de l'application. Ainsi, le logiciel manipule des identifiants numériques (le mail n° 123, l'utilisateur n° 244) sans jamais connaître les personnes réellement détentrices de ces données.

#3 Réduire la surface d'attaque

La donnée la plus résistante au piratage est ... celle qu'on ne stocke pas.

En pratique, mieux vaut utiliser des services externes pour les traitements à fort enjeu de sécurité (Ex : paiements, transactions bancaires).

Par ailleurs, j'observe régulièrement un manque de vigilance sur la transmission des logins/mots de passe dans les messageries instantanées des entreprises ou des projets(Slack, Skype, RocketChat). L'accès à ces outils collaboratifs est en général assez large, donc plus simple à obtenir. Une fois connecté, le pirate peut remonter le fil des discussions et retrouver facilement des identifiants transmis à un moment donné.

#4 Surveiller et alerter d'une anomalie.

Pour réduire le temps d'action d'une personne malveillante, il faut être en mesure de détecter une intrusion ou une manoeuvre frauduleuse.

Qui surveille le fonctionnement votre application ?

C'est probablement l'un des points les plus fréquemment oubliés dans un projet. Pourtant, chaque logiciel déverse des millions de lignes de logs qui tracent les actions, les avertissements et les erreurs. Ces données sont souvent sous-exploitées alors qu'elles fournissent un moyen simple de détection d'une anomalie ou d'une tentative d'intrusion.

Mais il n’y a pas toujours de message d'erreur en cas de piratage, par exemple lors de l'usurpation de l'identité d'un des utilisateurs. Dans ce cas, il faut avoir recours à des outils d'analyse qui repèrent les comportements anormaux parmi la masse de logs. Ce domaine tire lui aussi profit des avancées en terme d'IA pour trouver l'aiguille malveillante dans la botte de foin !

J'espère que ces exemples anxiogènes ne vont pas ternir vos vacances 😉. Mais ils peuvent inciter à prendre en compte le sujet de la cyber-sécurité dès le début de votre projet.