Rechercher
Fermer ce champ de recherche.

Vous êtes victime d’un incident de sécurité ? Contactez notre CERT

03/05/2021

Cybersecurity Insights

Introduction, comprendre la Blockchain | Partie 1

La blockchain est à la confiance ce que l’internet a été à la communication

Le Nouvel Economiste.fr

Définitions

La Blockchain est vue différemment selon qui nous sommes.

Technique

La blockchain est une base de données transactionnelle sécurisée, distribuée, décentralisée et sans organe central de contrôle.

Juridique

La blockchain valide des transactions, elle remplace l’entité de confiance.

Business

Un réseau d’échange de transactions, de valeur, d’actifs auditables entre des confrères sans l’assistance d’un intermédiaire.

Rentrons plus en détails dans la définition technique.
Pour cela, revenons sur chacun des mots.

BASE DE DONNEES

Transactionnelle

  • Auditable
  • Les données sont sous un format de transaction entre 2 interlocuteurs
  • Une transaction est composée de transactions

Sécurisée

  • Cryptographie avancée
  • Théorie des jeux
  • Pas de single point of failure

Distribuée

  • Intégrité
  • Tous les participants du réseau Peer To Peer ont une copie

Décentralisée

  • Transparence
  • Chaque block possède un Hash du block précédent
  • Tout le monde possède les mêmes droits

Sans organe central

  • Confiance
  • Suppression des tiers de confiance
  • La Blockchain est une base de données transactionnelle, la donnée de base stockée est une transaction.
  • La Blockchain est sécurisée by design grâce à des outils de cryptographie, elle utilise la théorie des jeux dans la résolution de problème et elle ne possède pas de point de défaillance unique.
  • Une copie de la Blockchain est distribuée à un ensemble de participants.
  • La Blockchain fonctionne sur un réseau P2P, tout le monde est Client et Serveur.
  • La gestion de la Blockchain est effectuée par la communauté, donc il n’y a pas d’organe central de contrôle.

Création de la blockchain

Le 31 Octobre 2008, Satoshi Nakamoto publie « Bitcoin: A Peer-to-Peer Electronic Cash System » sur le blog de cryptographie Metzdown.com. Cet article résout quelques problèmes :

  • Le problème de double dépense dans un réseau P2P
  • Pas de tiers de confiance
  • Les participants peuvent être anonymes
  • L’apport de monnaie s’effectue lors d’une validation, exemple Proof-Of-Work

Satoshi Nakamoto échange des mails du mois d’Octobre au 9 Janvier 2009 avec la liste de diffusion du blog Metzdown.com afin d’améliorer la première implémentation du code Bitcoin. Le 9 Janvier 2009, le code du Bitcoin est publié.

Qui est Satoshi Nakamoto ?

Satoshi Nakamoto est un pseudonyme. On possède peu d’information le concernant.

  • Il est probablement Japonais
  • Il possède 1 million de BTC

Dorian Prentice Satoshi Nakamoto, un développeur de logiciels, est présenté comme Satoshi Nakamoto par le média Newsweek dans un article de mars 2014. Avec un tel nom, difficile d’échapper aux questions. La nouvelle provoque un mini séisme dans le milieu des crypto-monnaies. La communauté crypto est à l’époque consternée par ce procédé, elle soutient d’ailleurs fortement Dorian Nakamoto, et met en place un fonds pour lui permettre de collecter 67 BTC.

Bitcoin vs. Blockchain

Le Bitcoin est une implémentation de la Blockchain, c’est un cas d’utilisation financier.

Le Bitcoin est une manière d’utiliser la Blockchain. Comme l’argent ou le papier journal sont des utilisations du papier.

bitcoin blockchain

Un système financier décentralisé et distribué

Le Bitcoin est une implémentation de la Blockchain, c’est un cas d’utilisation financier.

Le Bitcoin est une manière d’utiliser la Blockchain. Comme l’argent ou le papier journal sont des utilisations du papier.

Il y a 1500 ans, il était une fois l’île de Yap…

Afin de vous vulgariser la Blockchain, voici une vidéo :

Contexte: Un système financier non centralisé avec une monnaie non transportable

La base de donnée distribuée et décentralisée

Comparons ici une base de données classique et une Blockchain :

Actions possibles sur la Blockchain

A la différence d’une BDD classique où les actions sont Create-Read-Update-Delete, il y a deux actions possibles sur la Blockchain :

En conséquence les autres actions sont prohibées

Les types de données

La Blockchain possède 2 types de données.

Donnée transaction

  • Composée de transactions
  • Possède un destinataire et un expéditeur
  • Peut être associée à une valeur (Bitcoin) ou un binaire (un hash)

Donnée logique

  • Nommée Smart Contract
  • Se déclenche sous certaines préconditions
  • Effectue des actions sur la Blockchain
  • Langage de développement spécifique pour chaque Blockchain

Les Smart Contracts

Afin de faciliter la compréhension de ce qu’est un Smart Contract, voici un exemple :

  1. Déploiement du Smart Contract sur la Blockchain
  2. Un utilisateur souscrit une assurance retard lors de la réservation de son vol
  3. Le vol a un retard
  4. Le Smart contract déclenche l’indemnisation de l’utilisateur

Acteurs de la validation de donnée

Blockchain Privée

  • Une entité possède la Blockchain
  • Stockée sur des serveurs internes
  • B2C
  • Acteurs connus
  • Besoin d’authentification

Blockchain de consortium

  • Un groupe d’entité possède la Blockchain
  • Chaque entité stocke la Blockchain
  • B2C – B2B
  • Acteurs connus
  • Besoin d’authentification

Blockchain Publique

  • La Blockchain est en ligne
  • Personne ne la possède
  • N’importe qui peut stocker la Blockchain
  • C2C
  • Acteurs inconnus

Validation de la donnée

A chaque validation, seul un acteur est autorisé à valider la donnée. Pour déterminer cet acteur il existe deux procédés, le vote et la compétition.

Le type de validation dépend également de l’architecture de la Blockchain (privé, public, consortium).

L’algorithme utilisé afin de valider la donnée se nomme consensus.

Le consensus

Voici un tableau de quelques algorithmes de validation de donnée :

Consensus
Type
Principe
Blockchain
Avantages
Inconvénients
Proof of Stake (PoS)
Compétition
Vote basé sur le rapport solde/quantité de monnaie sur le réseau
Publique, consortium ou privée
  • Haute scalabilité
  • Peu polluant
Pas vraiment décentralisé
Proof of Work (PoW)
Vote
Compétition pour trouver un Hash aléatoire en premier
Publique, consortium ou privée
  • Rend le réseau très difficile à attaquer
  • Consensus décentralisé
  • Très énergivore
  • Basse scabilité
Proof of Authority (PoA)
Vote
Vote entre des nœuds de confiance. Les nœuds qui valident sont appelés valideurs. Les valideurs sont définis en amont
Consortium ou privée
  • Pas d’attaque externe possible car les valideurs sont connus
  • Transaction rapide, Bloc 5min
  • Peu polluant
  • Pas vraiment décentralisé car valideurs internes
  • Si le valideur est compromis, danger
Proof of Elapsed Time (PoET)
Vote
Chaque participant dans le réseau reçoit une quantité de temps aléatoire à attendre. Le premier participant qui a son temps à 0 valide le Bloc
Consortium ou privée
  • Hautement scalable
  • Peu polluant
  • Très dépendant aux technos Intel, même si l’algorithme est open source

Les consensus de type compétition sont plus sécurisées que ceux de type vote. Pour le moment les Blockchain de type public utilisent principalement des consensus de type compétition. Le consensus le plus utilisé est le Poof-Of-Work (PoW).

Proof Of Work

Voici en exemple l’implémentatoin du Proof-of-Work par la Blockchain Bitcoin

  1. Récupération du nouveau lot de transactions & le header du bloc précédent
  2. Calcul du Hash (lot transaction + header + Nonce)
  3. La valeur du Hash est-elle inférieure à la valeur du « difficulty target » ?
  4. Oui – c’est votre bloc qui est ajouté à la Blockchain, vous êtes récompensé avec 6,25 BTC
  5. Non – y a-t-il un autre mineur qui a réussi ?
  6. Oui – son bloc est ajouté
  7. Non – on incrémente la valeur du Nonce et recalcule le Hash (lot transaction + header + Nonce) et on recommence tant qu’aucun bloc n’est validé

Ce qu'il faut retenir

  • La Blockchain est une base de données décentralisée et distribuée
  • Le process de validation de donnée sur la Blockchain se nomme consensus
  • Il existe plusieurs algorithmes de consensus
  • Il y a une donnée logique stockée sur la Blockchain, les Smarts Contracts
  • Un Smart Contract se déclenche lors de certaines préconditions et il exécute une action sur la Blockchain
  • Seules deux actions sont possibles : la lecture et l’écriture
  • Le Bitcoin est une implémentation de la Blockchain, comme le billet est une implémentation du papier

Hamza ARFAOUI

Consultant

Voir les derniers Cybersecurity Insights

25 novembre 2024
Avec une souche éprouvée, des outils bien choisis et des cibles stratégiques, 8Base se distingue comme une menace particulièrement redoutable. […]
12 novembre 2024
L'IA est devenue un facilitateur de la conduite des affaires cybercriminelles. La résilience exigée au sein de diverses organisations pour […]
29 octobre 2024
L'usurpation d'identité vous effraie ? De l'arnaque corporate jusqu'aux manipulations à l'échelle globale, l'essor des deepakes incarnant des personnalités publiques […]
28 octobre 2024
2024 is the year of elections. But how does it impact the threat landscape? Almond would like to share a […]
22 octobre 2024
Les interfaces que vous utilisez chaque jour subissent de multiples assauts, et leur manipulation met en danger de nombreuses entreprises […]
2 octobre 2024
Le Moyen Orient attire tous les regards après l'attaque sur la chaine d'approvisionnement des bippers et de talkies-walkies. L'Iran, acteur […]
17 juillet 2024
CWATCH vous invite au travers de cet article à vous interroger sur l’écosystème d’attribution actuel et les impacts de celui-ci […]
26 juin 2024
À l'approche des Jeux olympiques de Paris, la communauté de la cybersécurité a déjà observé une augmentation des activités malveillantes.
20 juin 2024
Ce Cybersecurity Insights a pour but de naviguer entre l’intérêt, le fonctionnement et l’étendue du marché des scanners de vulnérabilités. 
10 juin 2024
2024 is the year of elections. But how does it impact the threat landscape? Almond would like to share a […]

Jour 12 | Challenge OSINT

Réponse :

Jour 11 | Parmi ces propositions, quelle technique Mitre Atta&ck est la plus utilisée par les attaquants ?

  • Réponse 1 : OS Credential Dumping
  • Réponse 2 : Valid Account
  • Réponse 3 : Impair Defenses
  • Réponse 4 : Remote services

Laïus explicatif : L’achat ou la récupération de comptes valides sont de plus en plus commun. Certains cybercriminels appelés Initial Access Broker se spécialisent dans la compromission de victimes dans le but de récupérer des identifiants valides qui seront ensuite vendus à d’autres cybercriminels comme les groupes de ransomware.

Jour 10 | Parmi ces structures de données de la mémoire dans Windows, quelle est celle qui permet de lister les processus en cours d’exécution ?

  • Réponse 1 : EPROCESS
  • Réponse 2 : Kernel Debugger Data Block (KDBG)
  • Réponse 3 : Kernel Processor Control Region (KPCR)
  • Réponse 4 : Process Environment Block (PEB)

Laïus explicatif : La structure EPROCESS (Executive Process) est utilisée par Windows pour gérer chaque processus en cours d’exécution. Elle contient des informations essentielles comme l’identifiant du processus (PID), l’état, les threads associés, et d’autres données nécessaires au système pour suivre les processus actifs. En analysant les structures EPROCESS, on peut lister les processus actuellement en mémoire. Le PEB est lié à chaque processus de manière individuelle. Enfin le KPCR est nécessaire pour trouver l’adresse du KDB qui à son tour permettra de pointer vers le EPROCESS.  

Jour 9 | Quel est le problème si la suite cryptographique TLS_RSA_WITH_AES_256_CBC_SHA256 est utilisée avec l'extension encrypt_then_mac pour la sécurité d'une communication TLS ?

  • Réponse 1 : L’algorithme de chiffrement est trop faible

  • Réponse 2 : L’intégrité de la communication n’est pas assurée

  • Réponse 3 : Il n’y a pas la propriété de confidentialité persistante (Perfect Forward Secrecy)

  • Réponse 4 : Le serveur n’est pas correctement authentifié

Laïus explicatif : La bonne réponse est le manque de confidentialité persistante.

La suite TLS_RSA_WITH_AES_256_CBC_SHA256 utilise la clé publique RSA du serveur pour chiffrer le secret partagé utilisé pour sécuriser les échanges de la session TLS : en cas de compromission de la clé privée du serveur, l’ensemble des échanges des sessions passées peuvent être déchiffrés par un attaquant.
La confidentialité persistante (connue sous le nom de Perfect Forward Secrecy en anglais) consiste en l’utilisation d’un échange Diffie-Hellman éphémère pour négocier le secret partagé, sans utilisation de la clé RSA du serveur.

Jour 8 | Quel est l'avantage d'utiliser un outil de couverture de code lors d'une session de fuzzing ?

  • Réponse 1 : Réduire le temps de fuzzing en optimisant certaines instructions assembleur.

  • Réponse 2 : Utiliser la technique de « pré-chauffage » du harnais (« warming code attack »).

  • Réponse 3 : Pouvoir analyser facilement les sections de code atteintes par le fuzzer.

  • Réponse 4 : Ne pas prendre en compte les vulnérabilités de type use-after-free.

Laïus explicatif : Les outils de couverture de code (“code coverage” en anglais) permettent de savoir avec précision quelles lignes de code d’un programme qui ont réellement été exécutées. Lors d’une session de “fuzzing”, ces outils peuvent aider l’analyste à savoir si les fonctions ciblées ont été atteintes par le fuzzer. Cette technique a notamment été utilisée par un membre de l’équipe Offsec pour trouver une vulnérabilité dans une bibliothèque open-source (voir notre article de blog)

Jour 7 | Quelle est la principale éthique qui doit être prise en compte dans le développement de l’Intelligence Artificielle ?

  • Réponse 1 : L’équité et la non-discrimination

  • Réponse 2 : La transparence des algorithmes utilisés

  • Réponse 3 : La sécurité et la confidentialité des données

  • Réponse 4 : Toutes les réponses

Laïus explicatif : L’équité et la non-discrimination sont des principes fondamentaux dans le développement de l’IA. Les systèmes d’IA doivent être conçus pour éviter les biais et assurer qu’ils ne favorisent pas des groupes spécifiques au détriment d’autres, afin de garantir un traitement juste et égal pour tous les utilisateurs. La transparence des algorithmes est cruciale. Les utilisateurs doivent comprendre comment les décisions sont prises par l’IA, ce qui inclut la possibilité d’expliquer les résultats ou actions générés par un système d’intelligence artificielle, afin d’éviter des décisions opaques ou injustes. La sécurité et la confidentialité des données sont enfin des préoccupations majeures lorsque l’on développe des systèmes d’IA, car ces technologies peuvent collecter et traiter des informations sensibles, ce qui soulève des questions sur la protection des données personnelles et la vie privée.

Jour 6 | Selon vous, en moyenne combien de ransomware ont eu lieu par jour en 2023 dans le monde ?

  • Réponse 1 : 1 par jour

  • Réponse 2 : 100 par jour

  • Réponse 3 : 30 par jour

  • Réponse 4 : 12 par jour

Laïus explicatif : En moyenne 12 attaques ransomware ont été signalées par jour par des victimes dans le monde en 2023 selon les chiffres d’Almond. Pour plus d’informations, n’hésitez pas à consulter notre Threat Landscape.

Jour 5 | Challenge de stéganographie

Réponse : PASSI RGS, PASSI LPM, CESTI, ANJ, Cybersecurity made in Europe, PCI QSA Company et Swift

Etape 1 : Observer l’image, trouver 3 logos cachés (Cybersecurity made in Europe, PCI QSA Company & Swift) et une indication pour chercher dans les métadonnées du fichier. 

Etape 2 : Challenge de stéganographie

En lançant dans son terminal un des outils les plus courants, « binwalk », on trouve une image JPEG dans le PDF. En extrayant les données grâce au même outil et en renommant le fichier en .jpeg, on voit apparaitre une image cachée. Ensuite, en utilisant « steghide », on peut extraire le fichier avec le mot de passe « Almond ». Ce fichier contient une suite de caractère encodée en base64. En la déchiffrant, on obtient les quatre autres certifications : PASSI RGS, PASSI LPM, CESTI et ANJ. 

Jour 4 | Concernant les accompagnements de la nouvelle qualification PACS de l’ANSSI, sur la portée Sécurité des Architectures, quels sont les domaines qui font partie du périmètre possible d’un accompagnement ?

  • Réponse 1 : la sécurité réseau, l’authentification, et l’administration du SI

  • Réponse 2 : la sécurité réseau, la sécurité système, et les mécanismes de chiffrement

  • Réponse 3 : l’administration du SI, le cloisonnement, les sauvegardes, et la stratégie de détection/réponse

  • Réponse 4 : tous ces sujets et plus encore

  • Laïus explicatif : Le référentiel PACS, sur la portée Sécurité des Architectures, porte bien sur tous les sujets liés de près ou de loin aux infrastructures du SI. La liste n’est pas exhaustive et est à adapter à chaque prestation d’accompagnement suivant le périmètre d’intervention. Dans le référentiel, l’ANSSI propose une liste de sujets à adresser dans un rapport PACS page 28 et 29.

    https://cyber.gouv.fr/sites/default/files/document/PACS_referentiel-exigences_v1.0.pdf

Jour 3 | Quel référentiel permet la certification de produits de sécurité ?

  • Réponse 1 : NIS2

  • Réponse 2 : Critères Communs

  • Réponse 3 : PASSI

  • Réponse 4 : ISO27001

Laïus explicatif : Le schéma Critères Communs est un ensemble de normes et méthodologies permettant de cadrer les moyens utilisés pour évaluer, de manière impartiale, la sécurité d’un produit de sécurité (logiciel ou matériel). Ce schéma est reconnu internationalement au travers de plusieurs accords (SOG-IS, CCRA et prochainement EUCC).

Le référentiel PASSI permet la qualification, par l’ANSSI, des prestataires d’audit de la sécurité des SI. ISO27001 est la norme décrivant les bonnes pratiques à suivre dans la mise en place d’un SMSI. Enfin, NIS2 est une directive visant à harmoniser et à renforcer la cybersécurité du marché européen.

Jour 2 | Quel est l’artefact forensique qui permet de prouver une exécution d’un programme sous Windows ?

  • Réponse 1 : JumpList

  • Réponse 2 : ShimCache

  • Réponse 3 : $MFT

  • Réponse 4 : Prefetch

Laïus explicatif : Le Prefetch est un artefact spécifique à Windows qui optimise le chargement des programmes. Lorsqu’un programme est exécuté pour la première fois, Windows crée un fichier dans le dossier C:\Windows\Prefetch, qui contient des informations sur le programme et les ressources qu’il a utilisées. Ces fichiers incluent également des horodatages correspondant à la première et aux dernières exécutions. L’existence d’un fichier Prefetch (.pf) pour un programme est une preuve solide qu’il a été exécuté. C’est l’un des artefacts forensiques les plus fiables pour prouver l’exécution d’un programme.

Jour 1 | Quel texte européen permettra qu’à partir de fin 2027, tous les produits vendus dans l’UE et comprenant des composants numériques seront exempts de vulnérabilités et maintenus pendant tout leur cycle de vie ? #DigitalTrust

  • Réponse 1 : Le Cyber Security Act
  • Réponse 2 : Le Cyber Resilience Act
  • Réponse 3 : La Directive REC
  • Réponse 4 : La Directive NIS2 

Laïus explicatif : Le Cyber Resilience Act, qui a été publié ces derniers jours au Journal Officiel de l’Union Européenne est entré en vigueur le 10 décembre 2024. A compter de cette date, les fabricants et éditeurs doivent adapter leur processus pour pouvoir continuer à vendre des produits au sein de l’UE après le 10/12/2027.

EU Cyber Resilience Act | Shaping Europe’s digital future