Ce week-end l’actualité a été enflammée par le ransomware WannaCry, qui s’est déclenché de manière synchronisée sur énormément d’ordinateurs dans le monde. Les ransomwares sont des virus qui ont la particularité de chiffrer les données de l’ordinateur, et de promettre leur récupération contre rançon. Ce type d’attaque n’a rien de nouveau (cf. Locky, CryptoLocker, …), et les moyens de s’en protéger non plus, même s’il y a moyen de mettre en place des parades astucieuses et innovantes. Tout le monde parle des mesures de bases pour éviter la contamination, mais personne n’évoque les règles simples qui permettent d’endurcir son ordinateur ou son réseau informatique pour protéger ses fichiers même si la contamination a eu lieu. Tour d’horizon des contre-mesures de prévention des plus simples aux plus efficaces.

Les ransomwares, des virus particulièrement malicieux

Cet article s’adresse en priorité aux profils techniques, mais il pourra être lu avec intérêt par les décideurs informatiques qui pourront y trouver des pistes de réflexion.

L’hygiène de base : mises à jour, pare-feu et anti-virus

Pour débuter cet article, il fallait bien évoquer le B.A-BA. Les ransomwares sont des virus informatique souvent installés suite à l’exécution d’un binaire transmis par email, clé USB ou tout autre vecteur. Ils nuisent d’une manière bien particulière en chiffrant le contenu des fichiers accessibles en écriture par l’ordinateur (même via les lecteurs réseau) et en promettant leur restitution contre rançon. Ils peuvent se propager à la manière d’un ver sur le réseau local en tirant parti d’une faille des systèmes d’exploitation. Tous les OS sont touchés, même Linux.

Pour réduire les risques de contamination, il faut bien entendu ne jamais ouvrir les pièces jointes douteuses. Un anti-virus n’est pas du luxe, surtout sur Windows, tout d’abord pour contrôler les fichiers (téléchargements, pièces jointes) issus de l’extérieur, éventuellement empêcher leur exécution par la surveillance en tâche de fond de l’antivirus, et finalement éradiquer les infections le cas échéant. Mais les anti-virus ne sont pas la panacée car ils ont toujours un temps de retard par rapport aux menaces informatiques qui évoluent sans cesse.

Pour limiter la diffusion de virus par le réseau (local ou internet) à la manière d’un ver, il faut doter son réseau d’un pare-feu qui limitera les ports ouverts au strict minimum, et cela tout particulièrement sur les serveurs avec une adresse publique. En effet, nul besoin de laisser ouvert une farandole de ports si le serveur ne se destine qu’à servir un ou deux protocoles.

Enfin il est important de conserver son système d’exploitation à jour afin de bénéficier des derniers correctifs en date. Ceux-ci pourront combler les failles lorsque le fournisseur du système d’exploitation les découvre et les corrige.

D’autres conseils du même genre sont proposés par cet article de CNet France et un article encore plus complet a été rédigé par Sophos.

Rappeler cela ne fait pas de mal, et tout le monde peut utiliser ses conseils sur son poste de travail pour se protéger. Mais l’objet de cet article est d’aller plus loin et de s’assurer que les données seront récupérables même après avoir été contaminé. Je vais donc travailler sur la résilience du système d’information en cas d’attaque réussie, et non pas sur la protection sécuritaire ni la suppression du ransomware après infection. On pourrait m’opposer que je suis défaitiste, et que j’ai déjà jeté l’éponge vis à vis du défi que représente la sécurité maximum. Je réponds que l’un n’empêche pas l’autre, et il faut toujours se préparer au pire pour réduire les risques ; en cas de contamination je récupère mes données. Et vous que ferez-vous ?

De plus, les concepteurs de virus ont toujours un temps d’avance sur les éditeurs d’anti-virus ou de correctifs logiciels. Même en tenant sont système frénétiquement à jour, il y aura toujours une fenêtre de vulnérabilité le temps qu’un correctif soit trouvé. La solution générale contre les ransomwares est à mon avis la prévention et le hardening du système d’information.

Les sauvegardes

Les sauvegardes, c’est le seul moyen de préserver ses données d’années en années, et de faire face aux impondérables tels que les pannes disques ainsi que les erreurs volontaires (malveillance) et involontaires. Une bonne sauvegarde est pratiquée automatiquement, souvent, et sur un support de stockage différent qui réside ailleurs. En clair : sur un serveur situé dans un autre local de l’entreprise ou bien en centre serveur. L’utilisation de supports type WORM (write once, read many) comme les DVD, Bluray ou M-discs que l’on ne peut graver qu’une seule fois constitue une bonne méthode pour préserver les données.

Les ransomwares n’iront pas compromettre toutes vos sauvegardes où qu’elles se situent, c’est donc une protection efficace à la fois pour les postes de travail et les serveurs. Après une contamination il n’y aura plus qu’à transférer les données.

Mesures basées sur le système de fichiers

Les droits des fichiers

Le premier rempart contre les ransomwares, c’est une bonne gestion des droits des fichiers. Dans la plupart des cas (cela est configurable) un utilisateur lambda n’a pas le droit de voir ni de modifier les données d’un autre utilisateur. En utilisant les droits de fichiers à bon escient, on compartimente les fichiers et on réduit le risque. C’est donc une mauvaise idée de laisser 100% du patrimoine numérique d’une entreprise visible et modifiable par un même groupe d’utilisateurs. Les droits doivent être gérés finement en ce qui concerne la lecture et la modification.

Par exemple, certaines tâches (de secrétariat par exemple) requièrent la lecture seule tandis que d’autres tâches (la comptabilité par exemple) requièrent la modification.

Ce principe s’étend aux attributs étendus des fichiers qui dépendent du système de fichiers utilisé. Les attributs étendus permettent d’aller plus loin que les règles de lecture-écriture-exécution pour par exemple autoriser l’ajout d’un fichier mais pas sa suppression. Pour Windows, voici les commandes Powershell correspondantes. Pour les commandes Linux c’est ici.

Il est toujours bon de rappeler les bases mais cela est un peu léger pour se protéger. En effet, ce conseil ne serai d’aucun secours si le virus a été exécuté en tant qu’administrateur.

Le montage en lecture-seule

Le montage simple

Les systèmes de fichiers peuvent être utilisés en lecture-seule grâce à des options logicielles lors du « montage » du système de fichier, c’est à dire lorsqu’il est rendu accessible par le système d’exploitation.

Sous Windows la procédure est décrite ici. Sous Linux il suffira s’ajouter l’option de montage ro dans le fstab à l’image de la ligne qui suit.

On peut vérifier l’option de montage à tout moment comme suit.

Et même basculer en mode lecture-écriture le temps d’une modification.

Le double montage

Pour aller plus loin, un même dossier peut être accessible à deux endroits différents de l’arborescence, d’un coté en lecture seule et de l’autre en lecture-écriture. Sous Linux ont peut le faire avec la commande mount et l’attribut bind comme l’exemple ci-après.

Le double montage unifié (unionfs)

On peut même envisager un schéma hybride avec un système de fichiers en lecture-seule pour les fichiers principaux, et un autre système de fichiers en lecture-écriture qui sera destiné à recevoir les modifications que l’on veut appliquer temporairement ou définitivement. Pour cela unionfs est très utilisé notamment lorsque les LiveCD cherchent à faire de la persistance de données sans pouvoir modifier le contenu du cd-rom pour des raisons matérielles.

Conclusion partielle : la lecture-seule, c’est vieux mais ça marche

Cela réduit à néant le risque d’altérer les données d’un support, que ce soit par inadvertance ou par un virus. C’est une solution universelle, mais bien entendu, on ne peut pas l’utiliser partout comme sur les partitions système ou encore là où la modification est nécessaire.

Read-only, l'option qui peut vous sauver la vie sur le NAS

Read-only, l’option qui peut vous sauver la vie sur le NAS (ici QNAP)

Ce principe est très intéressant lorsque mis en œuvre avec un partage réseau. Sur son NAS par exemple, on peut sauvegarder des données avec le protocole Rsync (ou FTP si on veut garder un pied dans les années 90) et proposer un répertoire en partage lecture-seule. De la sorte, même un nid d’ordinateurs infestés de ransomwares ne pourront pas compromettre les données. Quitte à créer le même partage en lecture-écriture avec accès restreint par mot de passe.

Attributs de fichiers Linux

Le bit d’inamovibilité

Sous Linux il y a deux commandes qui valent de l’or pour la protection des fichiers, ce sont lsattr et chattr. Voici en exemple comment protéger un fichier avec le bit d’inamovibilité.

J’ai cherché à supprimer un fichier protégé en tant qu’administrateur du système (root) et cela m’a été refusé. Pensez-vous que les ransomwares pensent à vérifier le bit d’inamovibilité avant d’altérer vos données ? Je ne le pense pas.

Le bit a pour Append

Une alternative très intéressante, c’est l’attribut a pour Append (merci FMR en commentaire ci-après) qui est disponible avec chattr. Il permet d’écrire à la suite de fichiers existants (et non pas de remplacer leur contenu), ainsi que d’ajouter des nouveaux fichiers, mais pas de les supprimer ni d’altérer leur contenu existant. Sur un serveur de fichiers, cela est quasiment transparent à l’usage pour l’utilisateur final, et fournir u ne bonne protection.

Les attributs de fichiers Linux sont donc une technique astucieuse de protection, et que l’on peut mettre en place sur les serveurs de fichiers et les NAS basés sur Linux. Cela reste peu souple à l’usage car cela nécessite un accès ligne de commande.

Le snapshot !

Sous Linux et UNIX

Voici probablement le meilleur conseil de cet article : le snapshot est une aubaine extrêmement efficace contre les ransomwares. En effet, le snapshot consiste à figer en lecture-seule une portion du système de fichiers à un instant donné, de manière à pouvoir remonter le temps à tout moment. Toutes les opérations réalisées postérieurement au snapshot (ajout, modification, ransomware, …) pourront être annulées. Le snapshot est en quelque sorte le Ctrl+Z du système de fichiers.

Sous Linux, MacOS, Unix un tas de possibilités s’offre à vous. J’en retient deux, j’ai nommé les systèmes de fichiers Btrfs et ZFS.

Avec Btrfs, voici comment la magie opère.

Que s’est-il passé ? J’ai cherché à altérer les données d’un snapshot Btrfs réalisé en mode readonly (option -r) en tant qu’administrateur système (root), et cela m’a été refusé. Les ransomwares n’auront pas plus de chances de nuire.

Sous Windows

Sous Windows il existe un équivalent moins puissant mais néanmoins utile : les shadow copies. Pour chaque fichier, on peut accéder à des versions antérieures, les fameuses shadow copies. Pour chaque disque dur, on peut également accéder à une image antérieure et parcourir l’arborescence depuis les propriétés. Une alternative est d’utiliser ShadowExplorer.

Le snapshot est donc une excellente solution pour se prémunir contre les effets néfastes d’un ransomware. Vous êtes victime de fichiers cryptés ? Il vous suffit de récupérer le dernier snapshot valide !

Sur NAS

Quelque soit votre architecture, vous pouvez confier un jeu de données à un NAS, et comme l’immense majorité des NAS du marché tournent sous Linux ou BSD, autant profiter du snapshot. Sans surprise, le fabricant de NAS QNAP en a fait un argument de vente de poids. Pour les particuliers et petites structures, leur modèle TS-251 est plutôt bon avec 2 baies pour un tarif contenu. Pour des besoins supérieurs le TS-563 délivre des performances pro pour un tarif contenu.

Mesures matérielles

Extinction de disques durs

Si un disque dur est éteint, nul ne peut modifier son contenu, à moins de passer par des techniques d’aimants très puissants pour abîmer les enregistrements sur la piste magnétique. Il existe des interrupteurs spéciaux à destination des postes de travail et des serveurs, et qui permettent d’allumer et d’éteindre des périphériques comme par exemple des disques durs.

Au format 5,25″ on a le Lian-Li BZ-H06B vendu au prix prohibitif de plus de 80€. Il existe également en couleur silver alu. Plus raisonnable, le constructeur chinois Sisun propose un modèle 2,5″ à quatre ou six switchs. Il suffira d’un berceau pour le loger dans un emplacement 5,25″.

Interrupteur pour disques durs

Interrupteur pour disques durs

Pour des besoins particuliers qui nécessitent d’accéder à des données sur des fenêtres très réduites, le « kill switch » peut être intéressant. Cela ne résout pas le problème du virus qui sévit pendant que le switch est sur « on ».

Le bouton « lecture seule »

Certains média comme les bandes de sauvegarde ou les cartes SD disposent d’un switch que l’on peut basculer matériellement pour forcer l’utilisation en lecture-seule. Ainsi, aucun logiciel ne sera capable d’y altérer les données.

Sur les cartes SD c’est une option utilisée le plus souvent pour protéger les photos de vacances.

Bouton de lecture seule sur une carte SD

Bouton de lecture seule sur une carte SD

Sur les bandes magnétiques, cela permet d’éviter une erreur d’inattention lors de l’archivage de sauvegardes. On se croirait revenus au temps de la VHS de son film préféré « à n’effacer sous aucun prétexte ».

 

Le bouton lecture seule sur une bande HP Ultrium

Le bouton lecture seule sur une bande HP Ultrium

 

 

Voici plusieurs bonnes idées à mettre en œuvre avec un peu d’imagination pour protéger les données d’entreprise. Cet éventail de possibilités pourra être mis à profit à différents niveaux du SI, et tout cela est valable plus largement, comme dans le domaine de l’hébergement pour se prémunir des piratages et modifications contre son gré. Il n’y a plus qu’à faire le plus difficile : mettre en application ces principes dans un système informatique de production.