Il nous est tous déjà arrivé, de tomber sur une clé USB (ou quelque chose qui y ressemble) dans la rue, à l’école ou en entreprise. Sans une station blanche, il est difficile de ne pas prendre de risque.
NB : cet article est un résumé d’un projet qui s’est déroulé sur plusieurs mois où je me suis donné pour objectif de découvrir et mettre en place ma propre station blanche. Certains éléments ont été sujet à interprétation.
Qu’est-ce qu’une station blanche ?
Une station blanche, c’est un poste de travail isolé du réseau opérationnel dédié à l’analyse des médias amovibles afin de déterminer si elles peuvent être utilisées sur ledit réseau.
Concrètement, c’est un ordinateur avec un système d’exploitation qui va avoir pour objectif de scanner les appareils branchés afin de nous informer s’ils semblent sains.
On retrouve très rarement ce dispositif chez les particuliers, mais c’est assez fréquent dans le secteur de la défense, dans les bases militaires, dans l’industrie pharmaceutique et les laboratoires de recherche.
Constat
Énormément de piratages passent par les médias amovibles. Les attaquants jouent sur un maillon faible, l’humain qui a plusieurs défauts, notamment la gentillesse (tenir la porte ouverte à quelqu’un, ce qui ne permet pas de s’assurer qu’il possède un badge l’autorisant d’accéder au bâtiment) mais aussi la curiosité.
Soyons bien clair, en temps normal ce sont des qualités mais dans notre cas, ces éléments sont des défauts.
Il est très simple de laisser une clé usb infectée par terre, en plein milieu d’un couloir ou devant les bureaux d’une entreprise que vous ciblez.
La curiosité de l’humain va alors le pousser à brancher la clé usb sur son poste et il n’y a pas énormément de moyen de s’assurer de la légitimité des données avant de l’avoir branchée. Si l’antivirus prévient l’utilisateur, il y a de grandes chance pour qu’il accepte le risque afin de répondre à sa curiosité. Tout un réseau peut alors être compromis.
Une solution peut être de mettre en place une station blanche (aussi appelée station de désinfection mais je suis moins d’accord avec ce terme car cela sous-entend que la station doit alors nettoyer la clé, ce qui peut empêcher d’analyser le périphérique plus en détail s’il y a une alerte).
Problèmes
Avant de continuer, je vais vous exposer le problème principal auquel j’ai fait face lorsque j’ai réalisé ce projet. J’ai eu des petits problèmes tout au long du projet, ce qui est normal et même rassurant. Ces problèmes ont toujours été résolus.
Par contre, le problème majeur que j’ai eu est l’absence d’informations, de projets open source et de documentation. À part le rapport de l’ANSSI qui est très complet, la majorité des projets sont à but lucratif, ce qui fait que je n’ai pas pu m’inspirer, regarder le code source, etc.
Ce problème était peut-être un avantage, j’ai été obligé d’interpréter et imaginer certaines choses.
Menaces envers la station blanche
Pour réaliser une station blanche efficace, il faut définir les différentes menaces :
- Utilisateur légitime : insertion d’un média compromis ou réalisation d’une erreur de manipulation.
- Utilisateur non autorisé : accès physique à la station blanche.
- Attaquant avec droits administrateurs : l’attaquant a réussi à compromettre le compte d’un administrateur.
Pour se protéger des menaces que présente l’utilisateur légitime, il faut donner le minimum de permissions à celui-ci et qu’il y ait le moins d’interactions avec l’interface homme-machine (IHM).
Pour se protéger d’un utilisateur non autorisé, les deux solutions auxquelles j’ai pensé sont la mise à disposition de la station dans un endroit sécurisé. Dans un bâtiment uniquement accessible par les employés de l’entreprise via un badge par exemple. Aussi, vous pouvez mettre cette station dans un lieu fréquenté pour toujours avoir un oeil sur les utilisateurs. Une série d’actions de durcissement (hardening) permettront de réduire la surface d’attaque.
Pour se protéger d’un attaquant ayant obtenu les droits administrateurs, on isole la machine du réseau opérationnel, ou encore mieux, on la met en hors ligne. Parallèlement, on met en place du hardening sur le système d’exploitation.
Fonctionnalités de la station blanche
Le premier choix est de trouver la machine. Pour se POC, j’ai travaillé sur une machine virtuelle, mais dans l’optique de déployer cette solution en entreprise, il est indispensable de définir une machine, de préférence vielle en cas de réception d’un média amovible tel que les USB Killer qui envoient des décharges électriques. Autre élément omis, mais qui devra être présent lors d’une implémentation, il faut mettre la machine sous vidéo surveillance pour vérifier qu’il n’y a pas d’actions physiques. Associé à un contrôle physique, les risques seront grandement réduits.
J’ai choisi un système d’exploitation léger avec une base Debian. En effet, le budget étant souvent faible en cybersécurité, il y a de grande que la machine accueillant le système d’exploitation soit de faible configuration. En plus, il est fort probable qu’elle se casse de temps en temps. Un petit OS sera plus rapide à installer. Le disque dur est chiffré, ce qui est un élément de protection face à la menace des utilisateurs non autorisés et qui ont obtenu un accès physique à la machine.
La fonctionnalité principale va être d’analyser les médias amovibles. Pour ce faire, j’ai choisi plusieurs antivirus dont ClamAV. L’antivirus possède une base de données de signatures virales en hors ligne.
Lorsque je branche un appareil sur un port USB, je lance un script qui exécute ClamAV et qui regarde /media. Voici à quoi ressemble la commande :
clamscan -i -r -z /media/
Ensuite, on peut ajouter différents outils de sécurité que nous verrons après.
Hardening de la station blanche
Au début de ce projet, je pensais que la partie scan de la station blanche était la plus importante et c’est le cas mais vient en deuxième position le durcissement du système. C’est l’étape que j’ai trouvé la plus intéressante car elle s’applique pour tous projets finalement. Malheureusement, c’est souvent une étape qu’on oublie par manque de connaissance ou par procrastination.
Pour faire mon hardening, j’ai découvert l’outil Lynis. Son utilisation est extrêmement simple, la commande ci-dessous va vous permettre d’auditer votre système :
sudo lynis audit system
L’audit dure quelques minutes et vous allez obtenir une série d’avertissements, conseils et erreurs afin d’améliorer votre système. Que l’on soit clair, c’est un travail très chronophage et je n’ai toujours pas fini sur ma station blanche mais j’ai appliqué le principe de Pareto, c’est-à-dire 20% d’efforts pour 80% de résultats. Il me reste donc 80% d’efforts pour obtenir les derniers 20% de résultats.
En recommandation on peut retrouver :
- protéger le Boot Loader GRUB
- installer un Intrusion Detection System (IDS)
- activer la journalisation (aussi appelé log ou historique) de certains services
Bref, une quantité de conseils qui peuvent être utiles aussi bien sur une station blanche qu’un serveur web.
Mise à jour de la station blanche
Même si nous nous efforçons à diminuer les surfaces d’attaques de la station blanche à un instant donné, celle-ci verra ses vulnérabilités augmenter avec le temps. De ce fait, il faut la mettre à jour régulièrement. Pour cela, il y a différentes manières de faire.
Au départ, j’avais opté pour brancher la station blanche à internet, mais dans un autre réseau que celui de l’entreprise. J’avais donc configuré un pare-feu avec une politique stricte, ce qui me permettait de faire les mises à jours de l’OS et de la base de données de ClamAV. Grâce à Lynis, j’ai découvert des outils comme Debsecan qui permet de lister les CVE associés aux outils que la station blanche possède, Debsums qui permet de vérifier la signature MD5 du paquet associé à sa vraie valeur, etc.
La meilleure méthode reste de ne jamais brancher la station blanche à internet et de faire les mises à jour manuellement en téléchargent les paquets via une autre machine saine puis de les transférer via USB sur la station blanche (méthode que je n’ai pas encore mise en place).
Axes d’améliorations de la station blanche
Vous l’aurez compris, la station blanche est un projet sans fin. J’ai pris énormément de plaisir et j’ai appris énormément de choses. Ce que je retiens, c’est que cet outil est utile mais pas infaillible. Pour les curieux, je vous invite à vous essayer à cet exercice. Pour les autres, qui n’ont toujours pas d’outil similaire dans leur entreprise, il existe différentes solutions payantes sur internet.
Laisser un commentaire