Analyse de risques d'une blockchain - Partie 3
Dans ce dernier article sur l’analyse des risques d’une blockchain (partie 1, partie 2) je vais me concentrer sur les attaques liées à l’environnement de la blockchain. Je qualifie les éléments de l’environnement tout ce qui gravite autour de l’utilisation de la blockchain mais qui n’est pas directement lié au logiciel.
Attaque sur le portefeuille
Le portefeuille est l’application qui permet d’initier des échanges sur la blockchain. Il a pour objectif de garantir la confidentialité de vos clefs privées qui permettent de signer vos transactions. Si quelqu’un possède vos clefs privées, il est en mesure de réaliser une transaction sur vos jetons à votre place. Il n’y aura pas de moyen pour la blockchain de vérifier que la transaction est frauduleuse. Les clefs privées sont donc les éléments les plus important à sécuriser.
Attaque logique
Le portefeuille étant une application, il est généralement présent sous la forme d’une application lourde, d’un service web ou bien d’une application mobile. La sécurité dépendant du maillon le plus faible, envisageons le support comme étant ce maillon faible. Les attaques sur chaque support sont variées. L’attaquant cherchera à récupérer des droits administrateurs sur la machine lui permettant de lire les données de votre application. La compromission de votre machine restant l’étape la plus simple, du phishing au 0-day en passant par l’exploitation d’une vulnérabilité du système, les solutions sont multiples. Cependant ce type d’attaque reste très difficile à mettre en place à grande échelle. En effet dans les systèmes actuels les différentes applications sont isolées pour éviter ce genre de compromission. Il faut donc contourner un système de protection supplémentaire lié à l’OS qui permettra de caser cette isolation. Les deux étapes nécessaires à cette attaque ont bien d’autres impacts sur la sécurité des systèmes d’informations. Par conséquent elles auront rapidement un plan de remédiation disponible en particulier sur la rupture d’isolation. Par conséquent une bonne sensibilisation sur les risques cyber et un système à jour devrait vous protéger d’une compromission.
Attaque physique
S’il est possible pour un attaquant d’essayer de récupérer vos clefs privées sans jamais vous rencontrer, il serait tout à fait en mesure d’utiliser des solutions plus physiques pour vous voler vos clefs. Votre portefeuille étant sur un actif physique, il serait envisageable de voler celui-ci. Très simple pour un téléphone ou un ordinateur portable, le vol est également envisageable pour un ordinateur de bureau. Le voleur devra ensuite accéder à l’application du portefeuille pour réaliser les transactions qu’il souhaite. Pour vous prémunir de ce type d’attaque, un mot de passe ou autre moyen d’authentification sur l’application du portefeuille ou l’appareil est recommandé. Envisageons un attaquant obstiné qui souhaite absolument récupérer le contenu de votre portefeuille, celui-ci peut envisager d’aller jusqu’à l’agression physique sur votre personne. Ceci c’est déjà vu comme le montre en Afrique du Sud mais également en France.
Contraintes légales
Comme dans tout projet, il faut envisager les aspects légaux, la blockchain n’y échappe pas. Il faut donc se renseigner auprès d’un avocat pour identifier tous les aspects légaux que la blockchain devra suivre. Différentes pistes sont envisageables comme les réglementations sur les projets informatiques, ou la protection des données personnelles. Il faudra également envisager d’étudier les problèmes liés aux mouvements financiers important de la blockchain.
Nous arrivons à la fin de ces 3 articles sur les risques d’une blockchain. Cette analyse se veut le plus large possible pour envisager tous les scénarios. Comme vous pouvez le constater ce type de technologie n’est pas sans risques mais des plans d’actions sont envisageables dans chaque cas pour assurer un niveau de confiance important dans votre blockchain. Les bonnes pratiques en termes de développement et d’hygiène informatique permettant de réduire les risques au minimum.