Le OWASP Top 10 expliqué à mes étudiants

L’OWASP Top 10 est probablement le rapport le plus connu dans le domaine de la sécurité des applications web. Il répertorie les 10 risques et vulnérabilités les plus critiques, qu’il convient d’adresser en priorité. Et pourtant, il n’est pas toujours facile à comprendre.

La semaine dernière, je donnais un cours de cybersécurité à mes étudiants, et je devais leur expliquer les 10 vulnérabilités OWASP. Or, nous n’avions plus que 10 minutes ! Il a donc fallu synthétiser à l’extrême, sans perdre les concepts structurants de chacun des cas.
Et puis, j’ai réalisé que l’on me demandait assez régulièrement le même exercice. La documentation OWASP est très complète, mais je sais que vous n’avez pas le temps de tout lire. Alors, je vous ai préparé une explication « ELI5 » (Explique moi comme si j’avais 5 ans) de chacune de ces vulnérabilités, avec un petit conseil à appliquer pour chacune.

Épisode 1/3

DAST, SAST et SCA : les outils dédiés aux tests de sécurité d’applications

Pour tester et identifier les vulnérabilités de sécurité dans les applications, on distingue trois grandes familles de solutions dédiées : les outils de tests dynamiques de la sécurité des applications (DAST : Dynamic Application Security Testing), les outils de tests statiques de sécurité des applications (SAST : Static Application Security Testing) et enfin les outils d’analyse de la composition des logiciels (SCA : Software Composition Analysis)

Les DAST pour détecter les vulnérabilités des applications en temps réel

Les DAST sont des outils qui permettent d’analyser une application en cours d’exécution en simulant des attaques via ses URLs, ses APIs et ses points de terminaison dans une architecture de système distribué (les endpoints[1]).

En recherchant les faiblesses dans les protocoles de communication, l’architecture et les configurations d’exécution, les DAST peuvent déterminer si l’application est vulnérable.

Cependant, les vulnérabilités détectées par les DAST peuvent être coûteuses à corriger car elles nécessitent souvent une rétro-ingénierie approfondie.

Bien que les DAST revêtent toutes une importance cruciale dans les tests de sécurité, elles ne peuvent garantir individuellement une protection intégrale des applications. Par conséquent, pour une sécurité maximale, elles peuvent être associé avec un outil de test statique de sécurité des applications (SAST).

SAST : la sécurité du code en temps réel

Les scanners SAST sont des outils qui permettent de détecter en temps réel les pratiques de codage à risque dans le code source d’une application. Ces scanners utilisent une analyse statique pour identifier les vulnérabilités et les faiblesses en matière de sécurité du code source.

Contrairement aux scanners dynamiques qui analysent l’application en cours d’exécution, les SAST inspectent le code source de l’application pour signaler les lignes de code suspectes aux développeurs, leur permettant ainsi de prendre des décisions éclairées avant le déploiement des applications.

Cependant, il est important de noter que les scanners peuvent parfois signaler des vulnérabilités qui ne sont pas pertinentes. C’est ce qu’on appelle un « faux positif ». Cette situation peut être frustrante pour les développeurs. Elle peut en effet entraîner une perte de temps et d’efforts considérable pour évaluer ces alertes non pertinentes. C’est compréhensible, car cela peut être comparé à être accusé à tort d’une erreur que l’on n’a pas commise.

SCA : la solution de détection des vulnérabilités des librairies externes

Les solutions d’analyse de composition de logiciels (SCA) identifient les librairies, les composants tiers et open-source couramment utilisés dans le code d’une application et les comparer à des listes de vulnérabilités connues.

Même si ces librairies ont été testées, elles peuvent toujours présenter des failles exploitables par des attaquants. Pour corriger une vulnérabilité détectée, l’équipe de développement doit généralement mettre à jour la bibliothèque défectueuse.

Si le support d’une bibliothèque a été abandonné, des modifications plus importantes peuvent s’avérer nécessaires. Au pire, ils peuvent désactiver temporairement certaines fonctionnalités.

AST : Les critères d’évaluation à connaître pour sauter le pas

Les logiciels SAST et SCA ne se valent pas tous et chacun possède ses forces et faiblesses. Il est important de faire une évaluation approfondie de chaque option disponible sur le marché : ceux du coût, de la compatibilité des langages, de la facilité d’intégration, du rapport de sécurité et de la facilité d’utilisation, de la personnalisation et la précision.

Coût

Outre le prix de la solution, il est important de prendre en compte le modèle de tarification, la taille de votre base de code, le nombre d’utilisateurs et le niveau d’assistance fourni.

Compatibilité des langages

Ensuite, vous devez prendre en compte la capacité de l’outil à prendre en charge différents langages et frameworks pour détecter les vulnérabilités.

Facilité d’intégration

L’outil doit s’intégrer facilement dans les outils de développement et les pipelines CI/CD pour faciliter l’analyse de sécurité et optimiser les flux de travail.

Rapport de sécurité

Les rapports de sécurité sont également essentiels pour communiquer les résultats des analyses de sécurité. Certains outils fournissent des rapports détaillés avec des conseils de remédiation exploitables, tandis que d’autres ne fournissent que des résumés de haut niveau.

Expérience utilisateur

Bien entendu, la facilité d’utilisation, l’ergonomie de l’interface utilisateur et la rapidité de scan et d’exécution sont des facteurs clés qui influence le choix des utilisateurs.

La personnalisation

Lorsqu’il s’agit de choisir un outil de sécurité pour votre code, la personnalisation des règles de sécurité est un critère de poids à prendre en compte. Les outils qui proposent des options pour modifier ou ajouter des règles personnalisées, ainsi que définir des seuils personnalisés pour les niveaux de criticité, sont essentiels pour garantir que votre application est correctement sécurisée selon vos besoins spécifiques.

La précision

Sa précision pour identifier les vraies vulnérabilités et éviter les faux positifs (une vulnérabilité identifiée qui n’existe pas) ou les faux négatifs (une vulnérabilité non identifiée qui existe). Les faux positifs font perdre du temps aux équipes de développement, tandis que les faux négatifs peuvent rendre votre application vulnérable.

De toutes ces critères de choix, nous pensons que les deux derniers, la personnalisation et la précision, sont vraiment essentiels pour répondre aux vagues de vulnérabilités et pour choisir ce qui convient de corriger ou pas.

Qu’est-ce que le Risk Based Vulnerability Management ?

Posons le décor.  Le marché mondial DevSecOps a été évaluée à 2,79 milliards de dollars en 2020 et devrait croître de 24% par an de 2021 à 2028. C’est une inéluctable réalité : les applications doivent être hautement sécurisées, et la demande d’automatisation dans ce domaine a explosé.

De plus, la pression sur les équipes informatiques est croissante. Elles subissent les changements structurels des systèmes d’information qui découlent des régulations et des enjeux d’innovation.

Aussi, pour pouvoir tenir les engagements en termes de résilience, disponibilité et sécurité des applications, ces équipes doivent hiérarchiser leurs activités et optimiser leurs ressources limitées.

Il ne faut pas être expert pour comprendre qu’il ne sera jamais possible de corriger toutes les vulnérabilités des applications. Dès lors, il convient surtout de mettre l’accent sur les failles les plus critiques pour l’entreprise. Pour y parvenir, l’approche « secure by design », consistant à intégrer la sécurité dès la conception des systèmes logiciels, est tout indiquée.

Nous le verrons, il existe bien des outils dédiés aux tests de sécurité comme SAST, DAST, et SCA. Cependant, aucun de ces derniers ne peut répondre à tous les besoins de sécurité. Dans ce contexte, la gestion des vulnérabilités fondée sur le risque (Risk Based Vulnerability Management) peut aider les équipes IT à cibler efficacement leurs efforts pour améliorer la sécurité des applications.

Security by Design : 5 principes pour anticiper les enjeux de sécurisation

La sécurité des logiciels est un enjeu majeur pour protéger les données des utilisateurs et minimiser les risques cyber. C’est pourquoi l’industrie du développement logiciel préconise d’intégrer la sécurité dès le début des projets et tout au long de leur cycle de vie. Cette approche de la cybersécurité appelé Security by Design (ou « sécurité par la conception « ) est désormais obligatoire depuis l’adoption du Cyber Resilience Act par Bruxelles en 2022.

En pratique, la Security by Design consiste à adopter des pratiques de sécurité rigoureuses à chaque étape du processus de développement et de déploiement des logiciels. Voici ces 5 principes clés pour garantir la sécurité des logiciels dès leur conception :

Modélisation des menaces

L’une de ces pratiques clés est la « modélisation des menaces » (ou Threat Modeling). Cette action permet d’anticiper les risques et les vulnérabilités latentes dès l’amorce même de la phase de conception.

Minimiser la surface d’attaque

Réduire la surface d’attaque constitue la seconde mesure importante de sécurité pour assurer la sécurité des systèmes informatiques. L’objectif, ici, est de limiter les opportunités pour les attaquants de trouver des failles et d’exploiter des vulnérabilités. On vise ainsi à limiter l’accès aux données et fonctionnalités sensibles.

Principe de moindre privilège (PoLP)

La troisième mesure de sécurité est la mise en place du « principe de moindre privilège » (ou Principle of least privilege). Ce dernier limite les droits d’accès des utilisateurs aux seules ressources nécessaires à l’exécution de leurs tâches.

Tests de validation dédiés à la sécurité

Afin d’améliorer la résilience face aux attaques potentielles, la quatrième mesure, la mise en place de tests de validation dédiés à la sécurité, permet, entre autres, de s’assurer du bon cloisonnement des fonctionnalités, et de l’assainissement des entrées de l’application.

Code sécurisé

Enfin, pour minimiser le risque d’erreurs pouvant introduire des vulnérabilités, il est recommandé d’écrire et de déployer un code sécurisé. Pour cela, il convient d’adopter de bonnes pratiques de développement. Ces réflexes s’acquièrent par des formations aux vulnérabilités les plus communes, référencées par la communauté OWASP.

Pour ce dernier point, les développeurs peuvent également utiliser des outils dédiés tels que les tests de sécurité d’application (AST : Application Security Testing). Ces outils leur permettent d’effectuer des vérifications approfondies du code. Mais ces AST sont loin d’être parfaits. L’expérience montre que ces scans remontent beaucoup (trop ?) de vulnérabilités. Dès lors, même en ne traitant que les plus critiques, il apparaît impossible de toutes les corriger.

Alors que faire si on a trop de vulnérabilités à traiter avec un budget ou un délai limité ? La réponse est le « Risk-based vulnerability management », une méthode qui permet d’évaluer et de réduire les risques liés aux vulnérabilités en tenant compte du contexte et de l’impact potentiel sur l’activité.

Évaluer les vulnérabilités pour mieux les prioriser

Vous avez accepté le postulat selon lequel vous vous avez trop de vulnérabilités – réelles ou pas – et pas assez de temps/budget pour tout corriger. Dès lors, il est nécessaire de les prioriser, mais selon quels critères ? Plusieurs métriques sont à votre disposition :

Le Common Vulnerability Scoring System (CVSS)

Le “Common Vulnerability Scoring System” est un système d’évaluation standardisé de la criticité des vulnérabilités, selon des critères objectifs et mesurables. Le score final est compris entre 0 et 10.

Au-delà de 9, la vulnérabilité est « critique » et il est communément admis qu’une vulnérabilité au-delà de 7 (« majeure / high ») devrait être corrigée dès que possible, voire ne pas aller en production.

Common Vulnerability Scoring System,

Notons par ailleurs, qu’une version 4.0 du CVSS est en cours d’adoption depuis juin 2023.

Le score interne des outils

Les outils de détection des vulnérabilités identifient généralement des vulnérabilités bien référencées par leur identifiant CVE (Common Vulnerabilities and Exposures)[9]. Ainsi, la sévérité affichée est communément acceptée et fondée sur le CVSS que nous avons abordé précédemment.

Mais il arrive que certains outils identifient des vulnérabilités non référencées. Ainsi, les équipes de recherche et développement d’un outil SCA peuvent identifier une vulnérabilité « Zero-day » ; c’est-à-dire qui vient d’être découverte, et pour laquelle aucune mitigation n’est encore disponible.

Par exemple, l’outil BlackDuck (Synopsys) attribue des identifiants internes du type « BDSA-YYYY-XXX » ainsi qu’une sévérité interne en attendant une identification standard et reconnue.

Apache Log4j

La vulnérabilité Log4j identifiée par le SCA BlackDuck, avec son identifiant interne (BDSA) et standard (CVE)

De même, les outils SAST repèrent des vulnérabilités spécifiques au code, propre à l’environnement du projet. Par conséquent, ils ne peuvent hériter d’un identifiant ni même d’un score standard. Les outils utilisent donc leurs propres critères internes.

Par exemple, l’outil Fortify (Micro Focus) propose une notation sur 100, fondée sur la facilité de reproduction, les dommages possibles en cas d’exploitation, la facilité de localisation/découverte, etc.

Ces critères sont empiriques et peuvent parfois manquer de contexte. Il convient de les revoir avec les équipes de développement qui possèdent la connaissance de l’architecture logicielle.

Ces évaluations de vulnérabilités sont reconnues et éprouvées. Cependant, elles ne résoudront probablement pas vos enjeux de priorisation. En effet, trier les vulnérabilités ne diminuera pas leur volume. Il convient alors d’envisager une approche plus pragmatique : le « Risk Based Vulnerability Management ».

Risk Based Management : quel risque concret représente cette vulnérabilité ?

Outre la sévérité affichée d’une vulnérabilité, on peut s’interroger sur son exploitabilité. Dans les faits, est-elle actuellement et activement exploitée par des attaquants ou bien tombée dans l’oubli ?

La note EPSS

Le « EPSS », ou Exploit Prediction Scoring System[11], représente la probabilité qu’une vulnérabilité soit exploitée en ce moment. Cette note s’appuie entre autres sur l’existence d’un exploit dans la nature, et son éventuelle qualification de « zero day ».

Le rapport de PenTest

Un audit de sécurité externe peut être un outil d’aide à la priorisation. Pour cela, il nécessite une analyse affinée et pondérée par un auditeur externe. Ce dernier permettra de contextualiser la criticité de la vulnérabilité en fonction de la facilité d’exploitation, mais aussi de l’expertise requise à sa remédiation.

Mais la complexité et l’unicité des systèmes d’informations font qu’une même vulnérabilité n’aura pas forcément la même exploitabilité ni le même impact d’un environnement à l’autre. Ainsi, le risque intrinsèque à la vulnérabilité doit donc être pondéré par des critères spécifiques :

La criticité de l’actif cible

Les enjeux ne seront pas les mêmes selon que l’application vulnérable est critique pour des utilisateurs internes ou externes. De même, la criticité dépendra du volume de données traitées et du nombre d’utilisateurs. Dès lors, il conviendra de définir des engagements suffisants en termes de disponibilité et de reprise d’activité, mais aussi le délai maximum acceptable d’indisponibilité en cas d’attaque.

L’exposition de l’actif cible

Les dispositions à mettre en œuvre vont varier considérablement selon que l’application est exposée sur internet ou uniquement dans un réseau local d’entreprise. De même, son hébergement sur site nécessitera plus de moyens de redondance et de reprise que si elle est hébergée dans le cloud.

L’impact en cas d’attaque

Si la vulnérabilité est exploitée, les conséquences peuvent varier selon le risque propre au business de l’entreprise. Concrètement, il s’agit d’évaluer l’impact financier d’une exploitation de la vulnérabilité : perte de clientèle, amendes. Mais aussi l’impact non-financier : réputation, vol de données business et propriété intellectuelle.

Pour ne plus être submergé par les vulnérabilités : anticiper, évaluer, prioriser

Vous l’aurez compris, il est nécessaire de suivre des principes fondamentaux si l’on veut éviter de crouler sous les vulnérabilités.

Les bonnes pratiques de Security by Design représentent une base fondamentale qu’il faut structurer en amont et au plus tôt des projets.

De plus, il faut s’équiper d’outils d’analyse de code SAST et SCA. Toutefois, nous avons vu que ces outils, bien que nécessaires, ne sont probablement pas suffisants pour évaluer les vulnérabilités des applications. Car en réalité, le nombre de vulnérabilités reste souvent trop important pour pouvoir tout adresser et encore moins tout corriger.

Ainsi, Il est recommandé d’inclure une évaluation du risque relatif à chaque vulnérabilité afin de mesurer sa diffusion et son exploitabilité. En pratique, chaque risque doit être pondéré au regard des actifs de l’organisation, et des impacts éventuels sur le business.

Finalement, vous pourrez ainsi prioriser les efforts des équipes en fonction du risque réel. Vous permettrez alors aux équipes IT de se concentrer sur la véritable valeur ajoutée des fonctionnalités de leurs applications, tout en livrant des produits plus sécurisés.

A suivre : « DAST, SAST et SCA : les outils dédiés aux tests de sécurité d’applications »

Une brève histoire de l’avatar

Ils sont la manifestation de notre présence en ligne. Des premiers jeux de rôle aux intelligences artificielles qui prennent vie dans les environnements numériques, les avatars ne cessent de voir leurs usages évoluer. Décryptage d’un phénomène intimement lié à nos identités.

Un article écrit pour et avec Usbek & Rica.

https://usbeketrica.com/fr/article/une-breve-histoire-de-l-avatar

Avec « Recherches impliquées », une série d’articles qui fait dialoguer recherche et innovation, onepoint et Usbek & Rica retracent l’histoire des avatars et imaginent leurs évolutions à venir.

Il y a ceux que l’on s’amuse à créer à son image pour interagir avec ses amis sur Facebook, ceux que l’on choisit et personnalise avec attention dans des jeux vidéos immersifs, ou encore ceux dont rêve Mark Zuckerberg pour interagir entre collègues dans le métavers. Comme Vishnou, l’une des principales divinités de l’hindouisme qui a la faculté de prendre différentes apparences, nous interagissons dans les mondes numériques par l’intermédiaire de divers avatars. Le mot vient justement du sanskrit « avatara », désignant les avatars de Vishnou qui « descendent du ciel ».

Années 1970 : « Donjons et Dragons », les prémices des avatars modernes

Ceux qui nous sont devenus si banals dans nos interactions quotidiennes n’ont cependant rien de très ancien ou de divin. Expert en cybersécurité chez onepoint, Vincent Rémon fait remonter la naissance des avatars modernes au célèbre jeu de rôle Donjons et Dragons créé dans les années 1970, qui a permis cette « transposition de soi-même vers un personnage que l’on n’est pas  ». Très vite, le monde du jeu vidéo reprend le concept par le biais des MUD (multi-user dungeon), dans lesquels les joueurs incarnent des personnages dans un monde virtuel où ils évoluent et interagissent en tapant des commandes textuelles. 

«  Ça a été les prémices du MMORPG [jeu de rôle en ligne massivement multijoueur] type World of Warcraft, qui a démocratisé l’avatar auprès du grand public. Cela a nécessité des progrès techniques importants : il a fallu avoir accès à internet avec un débit suffisant, des cartes graphiques 3D, etc. », retrace-t-il. C’est à la même époque que Snow Crash (Le Samouraï virtuel, dans sa traduction française), le roman de science-fiction de Neal Stephenson paru en 1992, popularise le concept d’avatar. Trente ans avant le PDG de Meta, l’auteur y imagine un métavers où les internautes évoluent sous la forme d’avatar pouvant être endommagés par des virus informatiques, infligeant des lésions cérébrales dans la vraie vie.

De nos jours : l’avatar, visage de nos identités numériques

Avec la démocratisation d’Internet, des réseaux sociaux et des jeux vidéos en ligne, les avatars sont désormais partout. Prédéfinis ou personnalisables, imaginés ou fidèles à l’apparence des utilisateurs, ils manifestent notre présence dans les environnements numériques. Leur conception a néanmoins évolué depuis leur percée dans les années 1990. À cette époque, constate la chercheuse Fanny Georges dans un article, « l’avatar incarnait la liberté de se présenter dans l’anonymat nécessaire à l’expérimentation identitaire. Il s’associe aujourd’hui de plus en plus à l’identité numérique (…) L’avatar s’enfouit dans le corps qui reprend sa place de représentation de la personne. Identités ludique, virtuelle et réelle tendent à se mêler. » 

Sa définition originelle, créative et ludique, laisse place à une dimension beaucoup plus « conceptuelle », observe de son côté Adahé Saban, doctorant en psychologie du travail et en design au sein de onepoint : « L’avatar désigne avant tout le fait d’interagir avec les autres, et surtout que les autres me reconnaissent. On peut se dire que le curseur de la souris est un avatar parce qu’il permet une interaction avec un environnement numérique, de même qu’une adresse mail. » Loin de l’idée d’évasion portée par le roman de Neal Stephenson, qui donne la « sensation de s’approprier un autre corps, un autre être », l’avatar prend ainsi des formes « désincarnées », poursuit-il.

Demain : des IA parmi nous ?

Cette nouvelle conception de l’avatar, associée aux identités numériques, charrie son lot de (cyber)risques. « Pour que l’avatar soit représentatif de ce que l’on est, il faut que l’on ait confiance dans le fait qu’il ne soit pas usurpé. La garantie d’identité est cruciale », estime Vincent Rémon. À l’ère des deep fakes, permettant de créer des images animées de toutes pièces grâce aux technologies d’intelligence artificielle, «  ce n’est pas l’image qui va faire foi, car on ne peut plus lui faire confiance. » Or le recours aux identités dites fédérées, garanties par un organisme central, pose question. « Quand c’est Google ou Facebook qui dit “je sais assez de choses sur un tel pour vous garantir que c’est bien lui qui se connecte”, personnellement ça me fait peur », ajoute l’expert. Ce modèle pourrait être remplacé demain par les identités décentralisées, portées par la blockchain et restant aux mains des utilisateurs à travers l’utilisation d’un portefeuille (wallet) – sorte d’avatar sécurisé – contenant les données personnelles. 

Les usages des avatars vont continuer à évoluer. Mais dans quels cadres, et selon quelles règles ? Pourra-t-on être incriminé si notre avatar se rend coupable d’agression sexuelle, par exemple ? Reste aussi à déterminer les usages les plus pertinents dans les environnements numériques de demain. Prenons le monde du travail : « Les avatars professionnels qui nous ressemblent beaucoup, je n’y crois pas trop, car on est déjà tout le temps connectés à la webcam  », juge Vincent Rémon. Quant aux avatars non-ressemblants, en revanche, c’est une autre histoire : « Pour des personnes pouvant être discriminées dans le cadre professionnel, c’est aussi une autre manière de se présenter en mettant en avant la compétence plutôt que l’image de soi », fait valoir Adahé Saban.

Dans le futur, la percée des IA pourrait également bousculer nos interactions avec les avatars. Saura-t-on distinguer demain des chatbots perfectionnés munis d’avatars d’un être humain derrière son clavier, et comment adaptera-t-on notre comportement en fonction ? De la même façon, fera-t-on la différence entre le jeu d’acteur de Tom Hanks de son vivant avec celui de l’avatar muni d’une IA qui pourrait lui succéder après sa mort, conformément à son souhait ? Pour Vincent Rémon, la capacité à faire le distingo entre ce qui relève de l’humain ou non sera décisive : « On ira beaucoup plus favorablement vers des outils pour lesquels on a la certitude de savoir si l’entité avec laquelle on interagit est un robot ou non. » On a parfois tendance à l’oublier, mais les relations virtuelles sont avant tout des relations humaines.

Blockchain & Cybersécurité


Les bénéfices de la blockchain peuvent ils s’appliquer à la cybersécurité ? En quoi la Blockchain peut-elle apporter des solutions pour sécuriser tout ou partie de nos systèmes d’information ? Et ces solutions blockchain : sont-elles elles-mêmes sécurisées et exemptes de toute vulnérabilité ?

1. Les apports de la Blockchain à la Cybersécurité

La Blockchain a bien plus à offrir que le simple transfert d’argent. Les bénéfices de cette technologie sont avérés (Désintermédiation, Traçabilité, Certification, …), et l’adoption de cette technologie est aujourd’hui incontestable, tant les cas d’usages métier sont nombreux.

La Blockchain a initialement été créée pour transférer de l’argent de manière décentralisée, sans intermédiaire, tout en maintenant la confiance historiquement opérée par les banques. Derrière ce cas d’usage, et tous ceux qui ont découlé dans la décennie qui a suivi, se cachent des concepts techniques dont on pressent les affinités avec le monde de la cybersécurité. En quoi la Blockchain peut être un nouvel outil pour sécuriser nos systèmes d’informations ?

Les critères de sensibilité de l’information communément admis sont regroupés sus la triade CIA : Confidentiality, Integrity, Availability (Disponibilité, Intégrité et Confidentialité) :

Disponibilité, Intégrité et Confidentialité

Confidentialité : Garantir que l’information est protégée et accessible sur autorisation explicite uniquement.

La Blockchain, qu’elle soit publique ou privée, est pensée comme une architecture ouverte et s’appuie sur les protocoles de partage Pair-à-pair (P2P). Les transactions effectuées sont publiques afin de pouvoir être vérifiées par le consensus. En revanche, la capacité d’initier une nouvelle transaction reste restreinte au seul propriétaire du portefeuille. Cette gestion des accès repose sur des algorithmes de chiffrement asymétriques éprouvés (clés publiques / clés privées) garantissant un haut niveau de confidentialité.

Afin d’assurer une restriction d’accès aux données qui doivent rester confidentielles, le plus simple reste d’implémenter une Blockchain privée (accès privé) ou hybride (accès permissionné sur une Blockchain publique), sur lesquelles on pourra constituer des groupes de données et des groupes d’utilisateurs, puis implémenter des droits d’accès à l’information sur un modèle de « Contrôle d’Accès Basé sur les Rôles » (RBAC).

Cette gestion des accès n’est pas native sur les Blockchains publiques : on peut par exemple l’implémenter via des protocoles supplémentaires de type « Preuve à divulgation nulle de connaissance » (ZKP), ou bien via l’utilisation de frameworks dédiés comme Pantheon (Ethereum) ou BESU (Hyperledger).

Intégrité : Garantir que l’information est fiable, qu’elle n’a pas été falsifiée par malveillance ou corrompue par défaut d’implémentation.

Par définition, la Blockchain confère aux données un caractère immuable : toute transaction effectuée dans une Blockchain est stockée de manière irréversible. Il n’est plus possible de supprimer cette information. Elle peut être amendée a posteriori, mais on conservera toujours l’historique et la trace de la modification.

Le consensus de la Blockchain garantit que toute tentative de modification a posteriori serait immédiatement repérée dans le reste de la chaîne et, de fait, invalidée par l’ensemble des acteurs de la Blockchain.

Cette intégrité est fondée sur les signatures numériques des fonctions de hachage, est réputée inaltérable, et garantit une intégrité absolue de la donnée.

🛠 Fonctions de Hash

Le hachage est une empreinte numérique à sens unique, une signature unique qui ne peut être ni prédite ni forgée.

Le Hash change radicalement, même pour une petite modification en entrée.

Une information stockée dans une Blockchain est certifiée par son hash. Si un acteur malveillant voulait modifier cette information, il devrait s’assurer que le nouveau bloc (modifié) ait exactement le même hash, ce qui est statistiquement impossible puisque cette signature ne peut être prédite.

Impossible de changer « Alice donne 1 Bitcoin à Bob » en « Alice donne 3 Bitcoin à Bob », car on ne saurait pas comment retrouver le hash d’origine, même s’il existe.

Il existe peut-être une transaction modifiée qui présente le même hash, mais on ne peut la prédire

Ces fonctions de hachage sont présentes partout dans les Blockchains : elles sont justement la chaîne qui lie les blocs entre eux et les transactions entre elles. Pour minimiser la taille des signatures stockées, on effectue même des hash de hash de hash… dans ce que l’on appelle un « Arbre de Merkle », qui permet de ne stocker que le hash de l’ensemble :

Arbre deMerkle : un hash de hashs de hashs de hashs…

Disponibilité : Garantir un accès fiable aux données, à n’importe quel moment, quel que soit l’état du réseau.

La Blockchain est un réseau décentralisé de nœuds connectés entre eux en maillage, sur la base du modèle pair-à-pair (P2P), où chaque acteur de la Blockchain héberge, reçoit et envoie toute ou partie des données à ses pairs. L’absence de centralisation ou de point névralgique garantit que le réseau fonctionne même si une partie est indisponible ou isolée.

La robustesse de ce réseau garantit l’accès aux données, leur pérennité, mais aussi une protection face aux pannes et aux attaques de Déni de Service Distribué (DDoS).

En résumé, les données stockées sur une Blockchain sont hautement disponibles.

Traçabilité : Garantir l’imputabilité et l’auditabilité de l’information sur la base de preuves formelles.

Un quatrième critère est très souvent adjoint au triptyque CIA : la Traçabilité.

La traçabilité est un des piliers fondamentaux de la Blockchain : toute donnée peut et doit être tracée pour être validée selon les règles du consensus. Chaque transaction peut être suivie, et son historique retracé afin de reconstituer l’état d’un compte, de n’importe quelle donnée.

Transposée aux cas d’usages métiers, cette traçabilité garantit la validité de tout actif d’entreprise présent sur une Blockchain : données produits, clients, process.

Quid de l’anonymat ?

Si tous les échanges et données sont tracés et accessibles à l’ensemble des acteurs de la Blockchain, comment garantir l’anonymat ou la confidentialité de certaines données qui le nécessitent ?

Tout d’abord, il convient de rappeler que l’anonymat conféré par les Blockchains reste tout relatif. Certes, les acteurs sont anonymisés derrière des numéros de portefeuilles, mais il s’agit de pseudonymat plutôt que d’anonymat puisque qu’il est possible de remonter à la source des émetteurs / bénéficiaires d’une transaction comme on sait le faire avec des adresses IP, par exemple en reconstituant des regroupements et des schémas relationnels de comptes. (Ex : investigations criminelles et Lutte Contre le Blanchiment d’argent par Elliptic).

Si l’anonymat doit être un prérequis pour un cas d’usage, il peut être aisément implémenté dans le cadre d’une Blockchain privée. En revanche, dans le cas d’une Blockchain publique, le sujet devra être adressé dès la conception :

  • Certaines Blockchain publiques sont dédiées à l’anonymisation des transactions (Ex : Monero). Elles fournissent un anonymat extrême : les informations des transactions sont quasiment toutes inaccessibles sauf par l’expéditeur et le bénéficiaire. Cependant, leur réputation reste probablement trop équivoque pour les considérer dans le cadre d’une application industrielle.
  • Outre les techniques de mixage et d’obfuscation qui consistent à noyer les transactions parmi d’autres (Ex : protocole PrivateSend de la blockchain DASH), il est possible de concevoir des solutions de type “Blockchain Layer 2” : une surcouche aux Blockchains publiques permettant de stocker dans la chaîne, non pas une donnée, mais son empreinte numérique (hash). La donnée reste elle stockée hors-blockchain, dans une base de données classique (Ex : Woleet).
  • Il existe aussi des protocoles de chiffrement “Zero Knowledge Proof” fournissant des preuves à divulgation nulle de connaissance (ZKP) : les données stockées sur la Blockchain ne sont pas accessibles, et pourtant l’utilisateur peut fournir la preuve que cette donnée existe, qu’elle lui appartient, et peut choisir de ne pas divulguer les adresses de transactions (Ex : Zcash et son double système d’adresses transparentes & publiques vs. anonymes et masquées)

Autres apports à la cybersécurité

Outre ces bénéfices fondamentaux en matière de cybersécurité, la Blockchain apporte de nombreuses autres solutions spécifiques :

Lutte contre la fraude

Toute transaction au sein d’une Blockchain nécessite d’être validée par le réseau en suivant les règles du consensus, avant d’être formellement intégrée. La difficulté de validation du protocole peut être ajustée en fonction de la sécurisation que l’on souhaite garantir à la donnée. Un comportement malveillant qui ne suivrait pas les règles du consensus peut tout à fait être identifié comme tel, intercepté, et ne pas être diffusé au reste du réseau.

Les Blockchain publiques proposent des protocoles de validation souvent longs et complexes (Ex : une transaction sur Bitcoin n’est formellement validée qu’après plusieurs blocs, soit environ une heure), alors qu’une Blockchain privée entre acteurs de confiance peut se permettre d’abaisser ce niveau de complexité, au profit de la vitesse de validation (Ex : consensus PBFT)

Quel que soit le protocole adopté, les transactions stockées sur une Blockchain bénéficient donc de la validation du protocole, et donc d’une certification implicite favorable à la lutte contre la fraude.

Infrastructure de clés décentralisée (DPKI)

En cybersécurité, le chiffrement des données repose sur des clés. Le stockage de ces clés est un point crucial qui est historiquement adressé par des autorités centrales, organismes de confiance qui garantissent le stockage et la distribution des clés et des certificats : les PKI (Private Keys Infrastructures)

Le caractère centralisé de ces organismes crée une dépendance à des intermédiaires privés ou étatiques que l’on ne choisit pas toujours et qui imposent leur confiance au reste du réseau.

Cette centralisation présente par ailleurs un cas d’école pour les attaques de type Man in the Middle (MitM) : ARP Spoofing, IP Spoofing, DNS Spoofing, HTTPS Spoofing sont autant de méthodes exploitables pour se faire passer pour une Autorité Certifiante et délivrer des clés ou certificats corrompus (Ex : attaques sur DigiNotar).

Ce point unique de défaillance (SPOF) peut être adressé par une approche alternative décentralisée : Les Decentralized Public Key Infrastructure (DPKI). Les clés sont alors stockées dans une Blockchain décentralisée qui résout le point unique de défaillance des schémas centralisés des PKI traditionnels. La Blockchain confère une haute disponibilité de ces clés et certificats, et par ailleurs offre plus de sécurité face aux attaques de MitM.

Identity & Access Management

L’IAM est un des piliers de la cybersécurité. Les outils et solutions de l’IAM (Active Directory, Single Sign On, Revues d’accès, etc.) reposent sur des architectures centralisées qui exposent de fait un Point Unique de Défaillance.

Ce modèle est vulnérable aux attaques d’interception et manipulation des données de type MitM. On voit aussi apparaître une certaine défiance des utilisateurs à céder leurs informations personnelles à des organismes centraux (solutions privées) ou fédérés (Google, Facebook).

Des alternatives décentralisées apparaissent afin de résoudre ces vulnérabilités et défiances : L’identité Souveraine Décentralisée (Self Sovereign Identity), portée par une Blockchain, où l’utilisateur reste le seul propriétaire de ses identités numériques et accorde ou révoque les droits d’accès à ses informations à sa guise (ex : Hyperledger INDY / Sovrin).

Vote Numérique

Le vote numérique est un des cas d’usage idéal pour la Blockchain : chaque personne peut voter individuellement via une application et grâce à sa clé privée, sans avoir à transiter par un organisme central, sans avoir à se déplacer.

La confiance est garantie par un Smart Contract automatisé qui assure l’unicité des votes, puis comptabilise automatiquement les résultats, sans intervention ni validation d’un organisme tiers. La blockchain confère la confidentialité du vote, la sécurité et la transparence des résultats. (ex : Le Vote, service de Orange)

La Blockchain est donc un outil supplémentaire à notre attirail en matière de cybersécurité. Mais cet outil est-il lui-même exempt de failles ? Bien que sécurisée par construction, la Blockchain présente-t-elle des vulnérabilités connues ? Sont-elles adressées ?

2. La Blockchain face a ses propres enjeux de sécurité

Les Blockchains sont avant tout des architectures techniques possédant leurs propres infrastructures, protocoles, et applications. Elles se projettent de fait sur l’ensemble du modèle OSI, dont chacune des couches est exposée aux éventuelles attaques.

Types d’attaques classiques pour chaque couche du modèle OSI

Si les Blockchains savent résister aux cyber attaques traditionnelles, le monde du hacking a naturellement su élaborer de toutes pièces des attaques spécifiques aux Blockchains :

Vulnérabilités du réseau

Les Blockchain reposent sur des infrastructures distribuées (P2P) garantissant en théorie une réplication et une validation de l’information. En pratique, un réseau distribué n’offre pas une réplication parfaite (cf. théorème CAP) et chaque nœud d’une Blockchain n’est connecté qu’à un nombre limité de ses pairs : 9 nœuds pour le réseau Bitcoin et 13 pour Ethereum par exemple. Ainsi, il est possible d’opérer des attaques niveau réseau sur des Blockchains :

Attaque par Déni De Service (DOS)

L’attaquant perturbe le réseau en inondant les nœuds du réseau avec des nombreuses transactions de faible valeur. Cette saturation d’information peut faire tomber un nœud et le sortir du réseau, au profit d’autres nœuds contrôlés par l’attaquant.
La Blockchain Bitcoin a été victime d’une telle attaque en Septembre 2018. Cf. CVE-2018–17144

Attaque Sybil

L’attaquant prend le contrôle de plusieurs nœuds du réseau, entourant la victime de nœuds malveillants et l’isolant du reste du réseau. Les nœuds corrompus minent et valident ce qu’ils veulent et orientent la Blockchain dans le sens de l’attaquant, permettant par exemple des attaques de type double dépense.

Attaque Sybil

Attaque Eclipse

L’attaquant modifie les informations de connections sortantes du nœud de la victime, forçant ses requêtes à être adressées à des adresses IP qu’il contrôle. Ce « node spoofing » permet d’isoler la cible et de ne lui envoyer que les informations de son choix : double dépense, fausses transactions.

Vulnérabilités des Protocoles

La valeur ajoutée des Blockchains repose principalement sur leurs protocoles. Ces derniers sont bien souvent disponibles en open source, et les contributions sont nombreuses pour répondre à la frénésie de l’innovation. Encore peu éprouvés, ces protocoles s’exposent parfois à des vulnérabilités de type « zero day ».

Faille d’implémentation

Le 15 août 2010, la Blockchain du Bitcoin a été victime d’une faille dans l’implémentation de son protocole : une vulnérabilité de type « value overflow » a permis de créer 184 milliards de Bitcoins à partir de rien (la limite totale de Bitcoins étant de 21 millions…). Le code ne vérifiait pas que des montants trop importants pouvaient dépasser la limite, devenir négatifs et ainsi être validés.
L’incident a été corrigé et la transaction annulée. Cf. CVE-2010–5139

Forge de monnaie à partir de rien

Dans l’exemple précédent, il a été facile de repérer l’incident, de corriger le code, et d’annuler la transaction en revenant sur le bloc fautif. En revanche, quand ce type de malveillance arrive sur des cryptomonnaies à fort anonymat (Monero, Zcash), il est très difficile de prouver que de la monnaie a été créée (minée ou reçue) légitimement et non à partir de rien (« from thin air ») puisque par définition, ces protocoles offrent peu de traçabilité publique.

Collision de Hash

Comme vu précédemment, les Blockchains s’appuient fortement sur les fonctions de hash pour garantir l’intégrité et l’inaltérabilité des données de transactions.
Nous avons vu que les fonctions de hash généraient une signature unique… Mais en réalité pas totalement. Des collisions peuvent survenir, c’est-à-dire que 2 données différentes pourraient avoir le même hash :

Exemple de collision de hash MD5

En pratique, les algorithmes de hash garantissent que ces collisions sont très peu probables (inférieures à une chance sur 1066). En théorie, cela reste possible, et on pourrait imaginer le scénario suivant :

  1. L’attaquant altère une donnée de Blockchain dans le passé (modification d’une transaction)
  2. L’attaquant trouve une collision de hash qui permet au bloc de conserver son hash initial malgré sa modification.
  3. Le bloc conserve sa signature et ne brise pas en cascade la chaîne de hash des blocs suivants.
  4. L’altération est implicitement validée par l’ensemble du réseau puisque ce bloc a déjà été validé dans le passé.

💡 Il convient donc d’utiliser des fonctions de hash reconnues et éprouvées (ex : SHA256) et surtout de ne pas tenter de réinventer sa propre fonction, comme a voulu le faire la Blockchain IOTA, leur fonction de Hash s’étant avérée beaucoup trop sensible aux collisions.

Exploitation du Consensus

Une des vulnérabilités les plus connues de la Blockchain repose sur le consensus le plus utilisé : la preuve de travail (Proof Of Work). Dans ce protocole, le mineur qui créera le prochain bloc est déterminé au hasard, au prorata de la puissance de calcul qu’il met à contribution pour le réseau. Un mineur qui possède 1% de la puissance de calcul totale du réseau a donc 1% de chance de miner le prochain bloc.
Ainsi, un attaquant qui possèderait 51%, c’est-à-dire plus de la moitié de la puissance de calcul pourrait valider les transactions de son choix et opérer une attaque de « double dépense » :

  1. L’attaquant prétend donner un certain montant à sa cible, et récupère la contrepartie en échange.
    « 👴Charlie donne 5 BTC à 👱‍♀️Alice » (et récupère des Euros en échange par exemple)
  2. Il effectue en parallèle une autre transaction dans laquelle il renvoie le même montant à un complice.
    « 👴Charlie donne 5 BTC à 🧔Bob »
  3. L’attaquant manipule la Blockchain et grâce à ses 51%, l’oriente à sa guise de manière à invalider la 1ère transaction « 👴Charlie donne 5 BTC à 👱‍♀️Alice » au profit de la seconde « Charlie donne 5 BTC à 🧔Bob »
  4. Alice réalise — trop tard — que la transaction « Charlie donne 5 BTC à 👱‍♀️Alice » n’est plus valide. Elle a perdu sa contrepartie.
Principe d’une attaque de double dépense

Plusieurs Blockchains ont déjà été victimes d’attaques de ce type :

  • Avril 2018 : Verge (24O K$ détournés)
  • Mai 2018 : BTC Gold (18 M$ détournés)
  • Juin 2018 : ZenCash (600 K$ détournés)

💡 Une des solutions consiste à adopter un autre consensus moins sensible aux attaques de ce type (ex : Proof of Stake) ou un consensus privé (ex : Ripple). Gardons à l’esprit que cette attaque n’est envisageable que pour une Blockchain peu minée pour laquelle acquérir 51% serait envisageable, ce qui n’est pas le cas du Bitcoin, qui, par construction et par son adoption, en fait une Blockchain très résiliente.

Vulnérabilités des Applications

Même si les fondations des protocoles de Blockchain sont sécurisées et verrouillées, ces dernières mettent à disposition des interfaces d’instanciations et d’interactions qui multiplient les surfaces d’attaques. C’est tout particulièrement le cas avec les Blockchains proposant des interfaces de programmation : les fameux Smart Contracts.

Cette couche applicative crée une dimension supplémentaire de vulnérabilités qui ont depuis longtemps été exploitées. On ne compte plus les attaques sur les plateformes, les marchés, et plus globalement les services tierces s’appuyant sur des Blockchains :

DAO

DAO était une Organisation Autonome Décentralisée lancée sur la Blockchain Ethereum en 2016, proposant un modèle d’entreprise décentralisé, sans structure de gestion ni conseil d’administration. Le concept était novateur et son financement participatif a levé l’équivalent de 120 millions de $.

Mais l’aventure a tourné court lorsque le service s’est fait hacker et voler un tiers de ses fonds quelques semaines plus tard. (60 millions de $)

La vulnérabilité exploitée était applicative : une faille dans le code permettait un appel récursif à une fonction de retrait de fonds, qui opérait le transfert du montant avant de mettre à jour la balance des comptes.

Il est intéressant de noter que ce Hack a été corrigé puis résolu par la manière forte : Afin de récupérer les fonds volés, la communauté Ethereum a choisi de revenir dans le temps et de reprendre la Blockchain avant l’exploitation de la vulnérabilité, via un « hard fork » qui a donné naissance à « Ethereum Classic »

Mt. Gox

La plateforme d’échange Mt. Gox a subi en 2014 une attaque menant à sa faillite. La vulnérabilité était fondée sur la « malléabilité de transactions » de la Blockchain Bitcoin, permettant à un attaquant de changer l’identifiant d’une transaction avant sa confirmation. L’attaquant, qui avait pu récupérer une clé privée du wallet central a pu forger une signature valide et prétendre être le bénéficiaire de transactions avant même leur validation dans un bloc.

On estime que 450 millions de $ ont ainsi été détournés.

Parity

Parity est un portefeuille dédié à la blockchain Ethereum. Cette surcouche propose des services comme la gestion « MultiSgnature » des portefeuilles Ethereum, permettant d’assigner plusieurs clés d’accès à un même portefeuille.

En juillet 2017, le portefeuille Parity a été hacké. La vulnérabilité applicative venait du code du Smart Contract qui était hérité (importation d’une bibliothèque externe) dans l’implémentation de Parity. La fonction « constructeur » du portefeuille pouvait être appelée à nouveau après son instanciation et permettait à l’attaquant de devenir le propriétaire du portefeuille. Une fois propriétaire, rien de plus simple que d’en vider le contenu.

Notons qu’un groupe de White Hackers (hackers éthiques), a rapidement identifié puis exploité cette même faille pour hacker les portefeuilles encore vulnérables et mettre sous verrou les fonds restants.

On estime que 32 millions de $ ont ainsi été détournés.

Ces exploits restent malheureusement assez fréquents et leur impact souvent coûteux. Gardons à l’esprit que ces vulnérabilités peuvent survenir chez les meilleurs, tant les environnements de développement des Blockchain sont encore complexes et les technos encore peu matures.

💡 Quelques bonnes pratiques pour éviter ce type de vulnérabilités applicatives :

  • Utiliser les standards ERC des Smart Contracts, qui sont audités, éprouvés, et éviteront une majorité du rework et de générer de nouvelles failles.
  • Utiliser les dernières versions du compilateur de Solidity qui alertent sur les failles connues.
  • Vérifier le code source des Smart Contracts utilisés ou hérités (avec Etherscan par exemple)
  • Utiliser des compilateurs à Preuve Formelle qui garantissent la sortie attendue du Smart Contract (ex : langage OCaml, ou le Michelson de TEZOS)

Vulnérabilités des utilisateurs

Sur une Blockchain, les utilisateurs doivent conserver précieusement les clés privées qui leur permettent d’accéder à leur portefeuille.
Ces clés sont doublement précieuses :

  1. Elles sont le seul moyen d’accéder à son portefeuille et de dépenser ses cryptomonnaies. Un attaquant qui récupère la clé privée peut utiliser (et vider) le portefeuille sans autre contrainte.
  2. Elles ne peuvent pas être récupérées en cas de vol ou de perte. Contrairement à un mot de passe qui peut être réinitialisé, les clés privées sont uniques et non récupérables.

Ownership

La majorité des vols de cryptomonnaies sont imputables à des vols de clés privées. L’utilisateur étant totalement responsable de ses clés (True ownership), il en est le seul gestionnaire, et offre par conséquent un angle d’attaque idéal : Cette somme d’utilisateurs individuels représente une surface d’attaque étendue pour les attaquants, et la majorité des utilisateurs n’ont pas les compétences nécessaires en matière de cybersécurité pour sécuriser correctement l’accès à leurs clés.

💡 La conservation des clés n’est pas triviale et si les portefeuilles électroniques sont une bonne solution, il s’agit de bien les choisir afin de minimiser les risques :

Portefeuilles corrompus

De nombreux portefeuilles sont disponibles sous forme d’applications pour smartphones. Il a été révélé que certains d’entre eux, directement développés par des attaquants, envoient les clés ou siphonnent les comptes des victimes.

Ex : les applications « Trezor Mobile Wallet » et « Coin Wallet » qui transmettent les logins et mots de passes de la victime sur le site de l’attaquant :

Et plus récemment, GetMonero, le wallet de Monero a été piraté en novembre 2019 : la version malveillante interceptait les codes du portefeuille et les envoyait à l’attaquant.

💡 Il vaut mieux privilégier les portefeuilles physiques (hardware wallets) contenant un Secure Element qui stockent la clé et valident les transactions par confirmation physique (ex : Ledger)

Portefeuilles légers

Certains portefeuilles applicatifs, non malveillants par essence, n’utilisent pas les protocoles les plus sécurisés et s’exposent ainsi à des exploitations de failles de protocole — Blockchain ou plus classiquement HTTP.

Par exemple, les portefeuilles légers comme Mycelium ou Electrum, afin de d’optimiser le poids de l’application et le temps de validation, n’utilisent pas le protocole Bitcoin complet mais s’appuient sur un protocole léger de vérification des transactions : le « simple payment verification » (SPV). Ce dernier ne télécharge pas l’ensemble de la Blockchain mais uniquement les entêtes de blocks et demande la validation à des nœuds aléatoires.

De fait, la confiance dans nœuds n’est pas certifiée : une attaque de type « Man in the Middle » (MitM) peut bloquer ou valider certaines transactions, voire modifier les montants en manipulant les méthodes HTTP.

💡 Les protections sont plus complexes à mettre en place dans ce cas de figure. S’il semble difficile de se connecter à son propre nœud Blockchain, on peut toujours se connecter en VPN, ou a minima éviter l’envoi de transactions via les Wi-Fi publics pour éviter les attaques MitM.

Vulnérabilités structurelles

Certaines Blockchains présentent par ailleurs des vulnérabilités structurelles, dont on a souvent dit qu’elles mèneraient à leur perte à long terme :

Recentralisation

Si l’on regarde la répartition de la puissance de calcul (hashrate) de la Blockchain Bitcoin, on constate qu’une grande majorité est aujourd’hui localisée en Chine :

Répartition du Hashrate de la Blockchain Bitcoin

La Blockchain n’a pas été conçue ni prévue pour une telle recentralisation, qu’elle soit géographique ou économique. Outre les attaques à 51% qui pourraient être opérées via de tels regroupements, toute manipulation de la Blockchain serait à craindre dans l’absolu.

Les mineurs chinois ont un accès facilité à de l’énergie à bas prix, et le consensus (Proof of Work) devient hackable pour qui a les moyens de produire du hashrate. Idéalement, un consensus non contrôlable devrait reposer sur quelque chose qui ne peut pas s’acheter.

Gouvernance

La Blockchain est décentralisée par définition. Cela sous-entend une absence structurelle de gouvernance, qui a déjà causé son lot de dégâts dans le milieu des cryptomonnaies. Sans gouvernance, difficile de prendre des décisions ou d’imposer à la communauté des contraintes, qui pourraient pourtant s’avérer nécessaires vis-à-vis de la sécurité et/ou de la régulation.

Les Forks de Blockchain sont donc légion, que ce soit pour imposer une nouvelle fonctionnalité (Bitcoin Cash, Bitcoin Gold, Segwit, etc.) ou pour corriger une vulnérabilité et annuler les effets d’une attaque (Ethereum Classic).

De nouvelles Blockchains adressent ce problème, en proposant une gouvernance inscrite par construction dans l’algorithme. C’est le cas de la Blockchain française TEZOS, qui est auto-régulée par ses utilisateurs : les évolutions sont votées par la communauté, les développeurs soumettent des propositions pour faire évoluer le protocole, chaque proposition est testée, votée, puis implémentée de manière décentralisée.

Cet auto-amendement permet à la blockchain TEZOS d’éviter les forks et la division de la communauté.

En conclusion

La plupart de ces critiques sont légitimes mais concernent souvent les Blockchains les plus anciennes — et aussi les plus populaires par conséquent. Ethereum aura bientôt 5 ans et le Bitcoin en a passé le cap des 10 ans… autant dire une éternité dans le monde de l’innovation galopante des systèmes d’informations.

Aujourd’hui, de nouvelles Blockchains adressent aisément ces failles structurelles par de nouveaux consensus, de nouveaux protocoles, de nouveaux types de gouvernance. Sans parler des Blockchains privées qui couvrent encore la majorité des applications Blockchain industrielles et qui, par définition, adoptent les protocoles et consensus qui leur conviennent le mieux afin de garantir toutes ces contraintes de sécurité, régulation et gouvernance, quitte à s’éloigner des fondamentaux activistes de la Blockchain tel que Satoshi Nakamoto les avait originellement pensés.

25 biais cognitifs qui nuisent à la pensée rationnelle

Les biais cognitifs (aussi appelés biais psychologiques) sont des formes de pensée qui dévient de la pensée logique ou rationnelle et qui ont tendance à être systématiquement utilisées dans diverses situations.

Ils constituent des façons rapides et intuitives de porter des jugements ou de prendre des décisions qui sont moins laborieuses qu’un raisonnement analytique qui tiendrait compte de toutes les informations pertinentes.

Ces jugements rapides sont souvent utiles mais sont aussi à la base de jugements erronés typiques.

Le concept a été introduit au début des années 1970 par les psychologues Daniel Kahneman (prix Nobel en économie en 2002) et Amos Tversky pour expliquer certaines tendances vers des décisions irrationnelles dans le domaine économique. Depuis, une multitude de biais intervenant dans plusieurs domaines ont été identifiés par la recherche en psychologie cognitive et sociale.

Certains biais s’expliquent par les ressources cognitives limitées. Lorsque ces dernières (temps, informations, intérêt, capacités cognitives) sont insuffisantes pour réaliser l’analyse nécessaire à un jugement rationnel, des raccourcis cognitifs (appelés heuristiques) permettent de porter un jugement rapide. Ces jugements rapides sont souvent utiles mais sont aussi à la base de jugements erronés typiques.

D’autres biais reflètent l’intervention de facteurs motivationnels, émotionnels ou moraux ; par exemple, le désir de maintenir une image de soi positive ou d’éviter une dissonance cognitive (avoir deux croyances incompatibles) déplaisante.

Voici une liste de 25 biais cognitifs fréquents :

Le biais de confirmation est la tendance, très commune, à ne rechercher et ne prendre en considération que les informations qui confirment les croyances et à ignorer ou discréditer celles qui les contredisent.

Le biais de croyance se produit quand le jugement sur la logique d’un argument est biaisé par la croyance en la vérité ou la fausseté de la conclusion. Ainsi, des erreurs de logique seront ignorées si la conclusion correspond aux croyances. (Maintenir certaines croyances peut représenter une motivation très forte : lorsque des croyances sont menacées, le recours à des arguments non vérifiables augmente ; la désinformation, par exemple, mise sur la puissance des croyances : Pourquoi la désinformation fonctionne ?)

Le biais d’autocomplaisance est la tendance à s’attribuer le mérite de ses réussites et à attribuer ses échecs à des facteurs extérieurs défavorables.

L’erreur fondamentale d’attribution est la tendance à surestimer les facteurs personnels (tels que la personnalité) pour expliquer le comportement d’autres personnes et à sous-estimer les facteurs conjoncturels.

L’effet de halo se produit quand la perception d’une personne ou d’un groupe est influencée par l’opinion que l’on a préalablement pour l’une de ses caractéristiques. Par exemple, une personne de belle apparence physique sera perçue comme intelligente et digne de confiance. L’effet de notoriété est aussi un effet de halo.

Le biais rétrospectif est la tendance à surestimer, une fois un événement survenu, comment on le jugeait prévisible ou probable.

L’excès de confiance est la tendance à surestimer ses capacités. Ce biais a été mis en évidence par des expériences en psychologie qui ont montré que, dans divers domaines, beaucoup plus que la moitié des participants estiment avoir de meilleures capacités que la moyenne. Ainsi, plus que la moitié des gens estiment avoir une intelligence supérieure à la moyenne.

Le biais de négativité est la tendance à donner plus de poids aux expériences négatives qu’aux expériences positives et à s’en souvenir davantage.

L’effet Barnum (ou effet Forer) consiste à accepter une vague description de la personnalité comme s’appliquant spécifiquement à soi-même. Les horoscopes jouent sur ce phénomène.

L’aversion de la dépossession (ou effet de dotation) désigne une tendance à attribuer une plus grande valeur à un objet que l’on possède qu’à un même objet que l’on ne possède pas. Ainsi, le propriétaire d’une maison pourrait estimer la valeur de celle-ci comme étant plus élevée que ce qu’il serait disposé à payer pour une maison équivalente.

L’illusion de corrélation consiste à percevoir une relation entre deux événements non reliés ou encore à exagérer une relation qui est faible en réalité. Par exemple, l’association d’une caractéristique particulière chez une personne au fait qu’elle appartienne à un groupe particulier alors que la caractéristique n’a rien à voir avec le fait qu’elle appartienne à ce groupe.

Le biais de cadrage est la tendance à être influencé par la manière dont un problème est présenté. Par ex. la décision d’aller de l’avant ou pas avec une chirurgie peut être affectée par le fait que cette chirurgie soit décrite en termes de taux de succès ou en terme de taux d’échec, même si les deux chiffres fournissent la même information.

Le biais d’ancrage est la tendance à utiliser indument une information comme référence. Il s’agit généralement du premier élément d’information acquis sur le sujet. Ce biais peut intervenir, par exemple, dans les négociations, les soldes des magasins ou les menus de restaurants. (Dans les négociations, faire la première offre est avantageux.)

Le biais de représentativité est un raccourci mental qui consiste à porter un jugement à partir de quelques éléments qui ne sont pas nécessairement représentatifs.

Le biais de la disponibilité en mémoire consiste à porter un jugement sur une probabilité selon la facilité avec laquelle des exemples viennent à l’esprit. Ce biais peut, par exemple, amener à prendre pour fréquent un événement récent.

Le biais de statu quo est la tendance à préférer laisser les choses telles qu’elles sont, un changement apparaissant comme apportant plus de risques et d’inconvénients que d’avantages possibles. Dans divers domaines, ce biais explique des choix qui ne sont pas les plus rationnels. (Un biais se rapprochant du biais de statu quo est celui de la tendance à la justification du système qui se distingue par une plus forte composante motivationnelle.)

Le biais d’omission consiste à considérer que causer éventuellement un tort par une action est pire que causer un tort par l’inaction. Ainsi, le biais d’omission pourrait contribuer à expliquer que, dans l’incertitude, certains choisiront de refuser la vaccination pour leurs enfants.

Le biais de faux consensus est la tendance à croire que les autres sont d’accord avec nous plus qu’ils ne le sont réellement. Ce biais peut être particulièrement présent dans des groupes fermés dans lesquels les membres rencontrent rarement des gens qui divergent d’opinions et qui ont des préférences et des valeurs différentes. Ainsi, des groupes politiques ou religieux peuvent avoir l’impression d’avoir un plus grand soutien qu’ils ne l’ont en réalité.

La croyance en un monde juste est la tendance à croire que le monde est juste et que les gens méritent ce qui leur arrive. Des études ont montré que cette croyance répond souvent à un important besoin de sécurité. Différents processus cognitifs entrent en œuvre pour préserver la croyance que la société est juste et équitable malgré les faits qui montrent le contraire.

L’illusion de savoir consiste à se fier à des croyances erronées pour appréhender une réalité et à ne pas chercher à recueillir d’autres informations. La situation est jugée à tort comme étant similaire à d’autres situations connues et la personne réagit de la façon habituelle. Ainsi, une personne pourra sous-exploiter les possibilités d’un nouvel appareil. (Des campagnes électorales qui misent sur l’illusion de compréhension chez les électeurs).

L’effet Dunning-Kruger est le résultat de biais cognitifs qui amènent les personnes les moins compétentes à surestimer leurs compétences et les plus compétentes à les sous-estimer. Ce biais a été démontré dans plusieurs domaines.

Le biais de conformisme est la tendance à penser et agir comme les autres le font.

L’effet boomerang est le phénomène selon lequel les tentatives de persuasion ont l’effet inverse de celui attendu. Les croyances initiales sont renforcées face à des preuves pourtant contradictoires. Différentes hypothèses sont avancées pour expliquer ce phénomène.

L’illusion de contrôle est la tendance à croire que nous avons plus de contrôle sur une situation que nous n’en avons réellement. Un exemple extrême est celui du recours aux objets porte-chance.

L’effet de simple exposition est une augmentation de la probabilité d’un sentiment positif envers quelqu’un ou quelque chose par la simple exposition répétée à cette personne ou cet objet. Ce biais cognitif peut intervenir notamment dans la réponse à la publicité.

Pourquoi il faut lire 1984

Cet été j’ai (re)lu 1984 de George Orwell. Il faut lire ce livre. Tout le monde devrait lire ce livre.

Edit 2021 : Plus aucune excuse, l’oeuvre est dans le domaine public depuis 2021, et donc accessible gratuitement ici : https://www.librairal.org/wiki/George_Orwell:1984

Pour ceux qui n’en ont jamais entendu parler, il s’agit d’un roman d’anticipation, une dystopie, et probablement LA référence en la matière. Allégorie du despotisme moderne, écrit en 1949, il décrit avec vigueur ce que le XXe siècle pouvait offrir de pire. Il présente un monde en guerre permanente, sous la coupe d’un parti totalitaire en apparence inspiré du système soviétique, mais les liens avec le nazisme, et le fascisme sont tout aussi évidents : Parti unique, culte de la personnalité du chef « Big Brother », confusion volontaire des pouvoirs, plans de productions triennaux, parades et manifestations, rationnement, slogans, camps de travail, trucage de l’Histoire, propagande, etc. La liberté d’expression n’existe plus. Toutes les pensées sont minutieusement surveillées, et d’immenses affiches sont placardées dans les rues, indiquant à tous que « Big Brother vous regarde »

Tout au long de la lecture de ce roman, on ne peut s’empêcher d’y voir par extension les dérives dans lesquels nos propres gouvernements glissent subrepticement : régime policier totalitaire, réduction des libertés, mais aussi la société de surveillance permanente qui est déjà bien en place, portée à la fois par les industries privées (réseaux sociaux et collectes d’informations) et les gouvernements (vidéosurveillance urbaine couplée à la reconnaissance faciale). Outre la connaissance absolue de ce que vous faites et ce que vous dites, les  réseaux sociaux permettent aussi de réaliser un évènement important décrit par Orwell : les manifestations de haine collective, embrasements grégaires et cathartiques qui canalisent les ressentiments des masses, et que l’on retrouve si clairement dans les débats stériles sur internet. Sur Facebook par exemple, il est toujours de bon ton de se (dé)solidariser publiquement d’un évènement atroce et d’afficher son empathie publique, sa haine du mal, tant il est rassurant de se réunir face à un ennemi commun bien identifié. On retrouve aussi dans le quotidien de 1984 les débats mineurs, voire triviaux, alimentés par les médias afin de nous détourner des problèmes de fonds de la société. Merci le JT de 13h !

Un autre aspect pernicieux parmi les manipulations du Parti réside dans la destruction de la langue et de la logique, promue par la Novlangue, un vocabulaire simpliste et polysémique qui ne permet plus ni subtilités ni argumentations. Certains avancent même que cette Novlangue est aujourd’hui déjà apparue, matérialisée par les smileys que nous échangeons au quotidien. Un appauvrissement des interactions écrites, des petits 🙂 qui permettent de faire passer un message pour du second degré, ou pas… Le roman, avec ses 3 parties bien distinctes, n’est certes pas le plus vibrant du monde, mais sa lecture est hypnotisante, tant elle fait froid dans le dos. Chaque paragraphe nous donne à réfléchir et on y trouve de nombreux passages poignants de réalisme qui font écho à notre propre société.


Passages choisis :

« Déguiser ses sentiments, maîtriser son expression, faire ce que faisaient les autres étaient des réactions instinctives »

« Si tous les autres acceptaient le mensonge imposé par le Parti – si tous les rapports racontaient la même chose –, le mensonge passait dans l’histoire et devenait vérité. « Celui qui a le contrôle du passé, disait le slogan du Parti, a le contrôle du futur. Celui qui a le contrôle du présent a le contrôle du passé. »  »

« le véritable but du novlangue est de restreindre les limites de la pensée ? À la fin, nous rendrons littéralement impossible le crime par la pensée car il n’y aura plus de mots pour l’exprimer. »

« Le travail physique épuisant, le souci de la maison et des enfants, les querelles mesquines entre voisins, les films, le football, la bière et, surtout, le jeu, formaient tout leur horizon et comblaient leurs esprits. »

« L’isolement, dit-il, avait son prix. Chacun désirait disposer d’un endroit où se trouver seul à l’occasion. »

« c’est sur les gens incapables de la comprendre que la vision du monde qu’avait le Parti s’imposait avec le plus de succès. On pouvait leur faire accepter les violations les plus flagrantes de la réalité parce qu’ils ne saisissaient jamais entièrement l’énormité de ce qui leur était demandé et n’étaient pas suffisamment intéressés par les événements publics pour remarquer ce qui se passait. »

« En résumé, une société hiérarchisée n’était possible que sur la base de la pauvreté et de l’ignorance. »

« Si les contacts avec les étrangers lui étaient permis, il découvrirait que ce sont des créatures semblables à lui-même et que la plus grande partie de ce qu’on lui a raconté d’eux est fausse. Le monde fermé, scellé, dans lequel il vit, serait brisé, et la crainte, la haine, la certitude de son bon droit, desquelles dépend sa morale, pourraient disparaître. »

« Le but du groupe supérieur est de rester en place. Celui du groupe moyen, de changer de place avec le groupe supérieur. Le but du groupe inférieur, quand il en a un – car c’est une caractéristique permanente des inférieurs qu’ils sont trop écrasés de travail pour être conscients, d’une façon autre qu’intermittente, d’autre chose que de leur vie de chaque jour – est d’abolir toute distinction et de créer une société dans laquelle tous les hommes seraient égaux »

« Avec le développement de la télévision et le perfectionnement technique qui rendit possibles, sur le même instrument, la réception et la transmission simultanées, ce fut la fin de la vie privée. »

« il est indifférent de savoir quelles opinions les masses soutiennent ou ne soutiennent pas. On peut leur octroyer la liberté intellectuelle, car elles n’ont pas d’intelligence »

« l’espèce humaine avait le choix entre la liberté et le bonheur et que le bonheur valait mieux »

« La terre est aussi vieille que nous, pas plus vieille. Comment pourrait-elle être plus âgée ? Rien n’existe que par la conscience humaine. – Mais les rochers sont pleins de fossiles d’animaux disparus, de mammouths, de mastodontes, de reptiles énormes qui vécurent sur terre longtemps avant qu’on eût jamais parlé des hommes ? – Avez-vous jamais vu ces fossiles, Winston ? Naturellement non. Les biologistes du XIXe siècle les ont inventés. Avant l’homme, il n’y avait rien. « 

« Si vous désirez une image de l’avenir, imaginez une botte piétinant un visage humain… éternellement. »


La traduction originale date de 1950 est vieillissante et un peu lourde, mais une nouvelle traduction totalement revue vient de paraître cette année : le texte est transposé du passé au présent par exemple, ce qui lui conférerait apparemment beaucoup plus de dynamisme. C’est un texte prophétique qu’il faut lire pour saisir les écueils vers lequel nous nous dirigeons si l’on veut les éviter avec lucidité.

« Les meilleurs livres, se dit-il, sont ceux qui racontent ce que l’on sait déjà.»