Peut-on avoir une confiance sans limite dans la Blockchain ?

Cloud & Next-Gen IT Security

Publié le

La garantie de confiance est bien souvent un argument lié à la Blockchain. En effet, la Blockchain dispose de qualités sécurité intrinsèques : son caractère décentralisé et distribué permet une disponibilité forte du système, la traçabilité est assurée par la conservation de toutes les transactions dans le registre, et l’intégrité est garantie par les mécanismes cryptographiques.

Malgré tout, de plus en plus d’attaques sur des environnements Blockchain sont constatées, avec des fraudes s’élevant souvent à plusieurs dizaines de millions d’euros.

Mais alors, quel niveau de confiance peut-on vraiment accorder à cette technologie ? Décryptage des attaques visant la Blockchain et retour sur les mesures à prendre pour améliorer ce niveau de confiance.

Protéger les services et applications accédant à la Blockchain

Un membre d’un réseau Blockchain est identifié grâce à une paire de clés cryptographiques : une clé privée, qui lui permet de signer ses transactions et de bénéficier des transactions reçues ; et une clé publique, qui permet aux autres membres du réseau d’identifier les transactions émises de sa part et de lui en transmettre. S’assurer de bien conserver et protéger sa clé privée est donc vital. Or, celle-ci est souvent stockée par son propriétaire sur son ordinateur ou téléphone, périphériques connus pour être aisément attaquable.

Aussi, de plus en plus d’utilisateurs choisissent de confier leur clé privée à des intermédiaires. Force est de constater que la plupart des attaques impactant Bitcoin ont en réalité directement ciblé ces plateformes intermédiaires. Il est donc primordial de protéger la manipulation des clés privées et plus globalement l’ensemble des services accédant au réseau Blockchain.

Dans le cas d’une Blockchain s’appuyant sur des smart-contracts, le niveau d’interaction avec l’extérieur du réseau peut être important, puisque ces derniers s’appuient sur la vérification de paramètres d’entrée, potentiellement externes au réseau. Il n’est alors plus question de sécuriser seulement les plateformes accédant à la Blockchain, mais également celles accédées par la Blockchain pour valider les conditions d’une transaction.

services accédant à la blockchain

Exemples de services accédant à la Blockchain Bitcoin

Surveiller la puissance de calcul des mineurs pour éviter une attaque 51%

L’attaque 51% consiste à avoir plus de 51% de la puissance de calcul du réseau dans le but d’annuler, ajouter ou modifier des transactions présentes dans un bloc. L’idée est de créer une chaine alternative et plus longue que la Blockchain existante afin de la remplacer. Cela est rendu possible en exploitant un paramètre essentiel de la Blockchain : lorsque deux chaînes sont concurrentes, la chaine la plus longue est considérée comme la chaine légitime.

explicaition attaque 51

Explication de l’attaque 51%

Ce risque est plus important dans le cadre de Blockchains privées ou hybrides, composées d’un nombre restreint d’utilisateurs, et pouvant donc plus facilement représenter plus de la moitié de la puissance de calcul. Aussi, des mesures de sécurité doivent être mises en place pour prévenir et détecter ce type d’attaque : engagements contractuels, mécanismes de surveillance et de contrôle, etc.

Sécuriser le code des smart-contracts

Un smart-contract est un programme informatique inscrit dans une Blockchain et qui s’exécute de manière automatique une fois les conditions du contrat réunies.

Les conséquences d’une erreur de codage peuvent être catastrophiques et difficilement réversibles, comme en témoigne l’affaire TheDAO (application basée sur la Blockchain Ethereum et se présentant comme un fond d’investissement participatif et mutualisé). À partir d’une vulnérabilité découverte dans le code source du smart-contract TheDAO, un membre du réseau a pu drainer le compte principal de l’application à hauteur de 50 millions de dollars. Ces fonds furent en partie récupérés suite à une opération appelée « hard fork », s’apparentant à une attaque 51% concertée.

En soi, ceci n’était pas une attaque car le contrat a été respecté, seule sa conception était défaillante. La création de cas d’usage basés sur des smart-contracts doit impérativement être associée à des mesures de sécurité applicative et un développement sécurisé.

Un système Blockchain est souvent considéré comme sécurisé par nature, mais les attaques présentées témoignent du contraire. La nature des plateformes accédant ou accédées par la Blockchain, la complexité des éventuels smart-contracts ou le nombre de mineurs du réseau sont autant d’éléments pouvant influer sur la sécurité du service fourni.

dao

Affaire TheDAO