Inti Rossenbach | @secucrypt | cryptosec.org
Brendan Guevel | bguevel@protonmail.com
- Inti Rossenbach, expert / manager en cybersécurité depuis 1998
- Etudes de physique, cryptographie puis cybersécurité, expédition en Patagonie en kayak de mer, RSSI
- Cours de cybersécurité à Paris XIII
- www.cryptosec.org
- iro@cryptosec.org
- Twitter @secucrypt
- Brendan Guevel, consultant en cybersécurité
- Études en mathématiques, puis cryptologie et sécurité informatique
- bguevel@protonmail.com
kahoot.it
- Avoir les bases en informatique pour comprendre des notions de sécurité informatique
- Passer en revue les grands domaines de la sécurité des systèmes d’information
- Donner des clés pour comprendre les sujets cyber
- Faire manipuler et transmettre quelques pratiques concrètes
- Ordinateur et réseaux
- Cryptologie
- Données et anonymat
- Manipulation/harcèlement
- Cybersécurité
> Quels composants d’un ordinateur connaissez-vous ?
- S’exécute directement sur votre bureau
- "Dialogue" avec votre système d’exploitation
- En général plus rapide car on parle directement à l’OS
- S’exécute au travers d’un navigateur web
- "Dialogue" avec le navigateur web
- En général plus lent car cela rajoute une couche entre l’application et l’OS
- Dans les câbles : une suite de 0 et de 1
- Sous forme de signal électrique ou onde radio pour le wifi
- Un paquet est une courte série de 0 et de 1
- Les ordinateurs s’échangent des paquets pour communiquer
- Des protocoles sont utilisés pour communiquer
- c'est comme votre adresse postale, mais dans le contexte d'un réseau informatique
- c’est un numéro attribué à votre PC pour l'identifier dans le réseau
- exemple : 192.168.0.42
- cela permet aux paquets d'être acheminés à destination dans le réseau
- l'IP sert aussi au routage (acheminement) des paquets sur Internet
- quatre nombres compris entre 0 et 255 (en v4)
- cela fait 255*255*255*255 = à peu près 4 milliards de possibilités
- problème : nous sommes bientôt 8 milliards sur Terre, comment faire ?
- les réseaux domestiques utilisent les mêmes adresses IP privées
- exemple d'adresse privée : 192.168.0.x avec x qui peut varier de 0 à 255
- seul le routeur (box free, bouygues, ...) est relié directement à internet
- seul ce routeur a donc une IP unique : c'est l'IP publique
- les villes ont toutes un nom unique différent
- les rues n'ont pas un nom unique
- si je dis "la rue Victor Hugo", on ne sait pas d'où je parle car il y en a plusieurs en France
- si je dis "la rue Victor Hugo à Paris" on sait la situer
- c'est un ordinateur un peu particulier
- il n'a pas vocation à être utilisé avec un écran, clavier ou une souris
- il héberge des données (pages web, données bancaires, ...)
- il envoie ses données aux autres ordinateurs quand on lui demande
Voyez-vous un équipement qui pourrait être un serveur sur l'image ?
> Architectures client - serveur
- des cas très caractéristiques de serveurs sont les serveurs web
- lorsque vous consultez un site web, votre ordinateur envoie des requêtes vers des ordinateurs, qui hébergent les serveurs web
- le serveur web répond aux requêtes en envoyant des pages web (html) que votre navigateur affichera
Un unique serveur et plusieurs clients
Facile à implémenter
Possibilité de surcharge réseau
Données centralisées
Problème de la sauvegarde
Tout le monde est client et serveur à la fois
Un peu plus dur à gérer
Plus rare d’avoir une surcharge réseau
Données décentralisées
Pas de problème de sauvegarde
Pourquoi, pour aller sur www.cryptosec.org n'écrit-on pas son adresse IP ?
Comment se fait-il que vous puissiez ne vous retenir que de noms et pas d'adresses IP?
- les serveurs DNS stockent et donnent une équivalence entre une @IP et un nom de domaine (ex.: www.cryptosec.org <--> 212.47.226.183)
- lorsque vous faites une requête web vers wikipedia.com, votre navigateur va d'abord interroger un serveur DNS pour connaître son @IP
- ensuite il utilise cette adresse IP pour envoyer ses requêtes au serveur web
- le système dans son ensemble est distribué (pas d’autorité centrale)
- si un serveur DNS n'a pas la réponse, la requête est transmise à d'autres serveurs DNS
- les noms de domaines peuvent être acquis auprès de bureaux d’enregistrement, ou registrars
- requếter un serveur DNS "à la main" avec nslookup
- observer des entrées DNS chez un registrar (gandi.net)
> routage
L'@IP sert au routage (acheminement) des paquets sur Internet.
Le routage permet de sélectionner les chemins au sein d’un réseau pour convoyer des données d’un expéditeur à un ou plusieurs destinataires
Le routage est un processus décentralisé: chaque routeur dispose des informations sur son voisinage
Les routeurs ont des « table de routage » (association à des réseaux / routeurs voisins) qui contiennent 3 types de routes :
- réseaux directement connectés
- les routes statiques, en dur (par exemple pour les admins)
- les routes dynamiques, acquises via un protocole de routage dynamique : réseaux disponibles
Si un routeur est trop occupé pour traiter des paquets ou que le « time to live » le paquet est détruit
> Rouage: Démo!
- les route entre deux réseaux IP peut être visualisées via traceroute
- l’accessibilité et le « temps de parcours » d’un paquet via un ping
> Translation d'adresse
- Internet est l'interconnexion de réseaux. Les ordinateurs dans les réseaux privés ont des @IP. Les routeurs qui font l'interface avec internet ont des @IP "publiques": connues sur internet.
- Pour que des ordinateurs dans un réseau privé puissent communiquer avec des ordinateurs sur internet, il faut donc "faire correspondre" des @IP.
- C'est une sécurité -> On ne peut pas se connecter "directement" à votre PC
- Comment pourrait-on faire pour permettre une connexion initiée depuis internet vers votre PC ?
> Redirection de port
> Redirection de port
- Une "nouvelle" version de IPv4 (elle date de 1998)
- IPv4 reste aujourd'hui la version la plus utilisée
- Avantage IPv6 : 2128 adresses possibles au lieu de 232
- 232 = 4294967296
- 2128 = 340282366920938463463374607431768211456
- plus de problème de pénurie d'adresse comme IPv4
- IPv6 pourrait donc permettre de donner une IP publique à tous les ordinateurs du monde
- mais est-ce qu'on veut vraiment faire ça ?
- comme expliqué avant, donner une IP publique à un ordinateur revient à le rendre accessible depuis internet
- aujourd'hui de + en + d'équipements sont "connectés"
- caméra, réfrigérateur, télévision, domotique, ...
- avec IPv6, tous ces équipements pourraient être accessibles directement depuis internet
- si un logiciel vulnérable se trouve sur un de ces équipements -> compromission possible de l'équipement
-> dwwdtxh ghpdlq pdwlq
- comment déchiffrer ce message ?
-> dwwdtxh ghpdlq pdwlq
-> attaque demain matin
- on peut améliorer notre système de césar
- on substitue chaque lettre de l'alphabet par une autre
- la clef -> élément secret connu seulement de l'expéditeur et du destinataire
- le système -> mécanisme qui prend un texte à chiffrer avec une clef, et le rend inintelligible
en bref : chiffrer un message revient à transformer un grand secret en un petit secret
- un chiffrement consiste à rendre un message inintelligible avec un système et une clef secrète
- un encodage consiste à réécrire une information avec un code (souvent publique)
- la stéganographie : cacher un message
- lors de la seconde guerre mondiale, cacher le système était vital
- si le système tombait dans les mains de l'ennemi, il s'en trouvait affaibli voire compromis
- exemple d'Enigma, la machine utilisée par les militaires allemands
- Le système de chiffrement/déchiffrement doit être robuste
- Le système doit pouvoir tomber dans les mains de l'ennemi sans crainte
- La clef doit pouvoir être retenue sans le secours de notes écrites
- En bref -> la seule chose secrète est la clef
- tout ce que l'on vient de voir précédemment concerne le chiffrement symétrique
- la clef utilisée pour chiffrer et déchiffrer un message est identique
- problématique de l'échange de clef -> comment échanger la clef ?
- pendant la seconde guerre mondiale, il y avait des carnets de code
- utilise une clef différente pour chiffrer et déchiffrer
- les deux clefs ne doivent pas pouvoir être retrouvées l'une à partir de l'autre
- cette asymétrie entre un problème mathématique facile d'un côté et difficile de l'autre est la base des chiffrements asymétriques
- le chiffrement RSA, un des premiers chiffrements asymétriques, repose sur la factorisation des nombres premiers
- si vous trouvez un moyen de factoriser rapidement les nombres, vous cassez RSA
- et vous devenez riche
- on parle de clef publique pour chiffrer un message
- et de clef privée pour déchiffrer
- nous n'avons plus besoin d'échanger une clef de façon secrète au préalable pour communiquer de manière chiffrée
- chacun doit avoir un couple clef privée/publique
- pour accéder aux sites web de manières sécurisée
- pour chiffrer vos messages sur whatsapp et autre application de chat
- en bref : pour établir n'importe quel canal sécurisé entre 2 machines (voir VPN plus tard)
3 chercheurs analysent une base de données de 120M d'identifiants LinkedIn hackée en 2012 et publiée en 2016
ils trouvent le condensé (hash en anglais) du mot de passe de Trump, non salé
C'est une fonction qui prend en entrée des données quelconques et donne en sortie une empreinte unique
- irréversibles
- deux jeux de données différents ont des condensés différents
- une infime modification des données change complètement le condensé
- Dans notre exemple: les condensés sont utilisés pour ne pas stocker les mots de passe
... donc, les chercheurs ont un condensé du mot de passe de Trump. Mais il n'est pas utilisable en l'état pour s'authentifier
- le condensé : 07b8938319c267dcdb501665220204bbde87bf1d
- comment faire pour récupérer le mot de passe ?
- mot de passe très faible
- mots de passe non salés
- réutilisation du même mot de passe sur plusieurs sites
- pas d'utilisation d'authentification multi-facteurs
- pas de surveillance des leaks
- les autorités US n'ont pas réagi lorsque l'info leur a été transmise
A des fins de conception, de maintenance et de sécurité, les logiciels journalisent l'historique des évènements qu'ils traitent ou subissent
Un fichier de log ou journal d'évènements est un fichier qui contient ces entrées.
Tous les logiciels peuvent en générer, avec différents niveaux de détail.
"access.log" d'un serveur web:
logs d'erreur d'un logiciel:
historique d'un navigateur:
> Les traces / logs peuvent servir à:
- Identifier un dysfonctionnement, une erreur
- Identifier des tendances, faire des statistiques
- la sécurité
- comme élément de preuve
- Dans l'historique de votre navigateur
- Sur les équipements réseau qu'ont traversé vos requêtes
- Sur les serveur DNS
- Sur les moteurs de recherche que vous avez utilisés
- Sur le serveur qui héberge le site que vous consultez
C’est un petit fichier défini et envoyé par un serveur à un navigateur, que ce dernier renvoie au serveur lorsque nécessaire
Dans le cas d’une authentification précédente, un cookie peut contenir :
- la langue du visiteur
- divers réglages comme l’écran et couleur du visiteur
- un identifiant de session qui évite de se ré-authentifier
> Exemple de cookie (1/2)
> Exemple de cookie (2/2)
Au début il y avait des annuaires, puis sont apparus les moteurs de recherche, comme Google.
Ses algorithmes de classement ne sont pas publics.
Mais l’idée générale est que plus une page est référencée ou vue, plus elle est haut dans le classement. Sauf si le propriétaire paie…
Estimation du stockage cumulé Google, Amazon, Microsoft and Facebook :
1200 petaoctets = 1.2 millions de teraoctets (1 teraoctet = 1000 gigaoctets)
Une grande partie de ces données sont indexées : analogie avec une bibliothèque
Une entrée d'un index comporte une valeur extraite des données et un pointeur vers son emplacement
" "
-
*
AND
OR
Illustration!
site :
filetype :
inurl :
cache :
link :
…
Exemple :
inurl:/host.txt + filetype:txt + "password"
Si je clique sur un résultat, est-ce une intrusion ?
Les fichiers, sur un disque dur ou une clé USB, sont organisés par un système de fichiers (filesystem en anglais)
Exemples de systèmes de fichiers : FAT (Windows), FAT32 (Windows), NTFS (Windows), ext3fs (Linux), ext4fs (Linux), HFS (MacOS)…
Les fichiers écrits sur le disque sont référencés par des métadonnées (données descriptives d'autres données)
Données décrivant la façon dont sont stockées les données
Lorsque l’on met un fichier à la « corbeille » (Windows / MAC), il est simplement déplacé
Lorsqu’à lieu un effacement définitif (manuel ou que la « corbeille » est vidée), les métadonnées sont modifiées:
L’espace occupé par les données sur le disque redevient disponible
Tant que de nouvelles données ne sont pas réécrites sur cet espace, les anciennes données sont « récupérables »
Un formatage simple n’efface pas non plus les données
Il est possible de « récupérer » les données qui ont perdu leurs données d’indexation (synonyme, dans ce contexte, de "métadonnées")
Quelques prérequis : on doit avoir accès au disque, le disque ne doit pas être chiffré
En général les fichiers ont quelques octets, au début ou à la fin, qui permettent de les identifier
(par exemple 0xFFD8 signifie SOI – start of image – pour JPEG)
Exemple de logiciel permettant la récupération de fichiers effacés : photorec
Permet de récupérer des images (jpg, etc.), mais aussi des mp3, docx, pdf, zip, etc.
Autres outils : foremost ou PC Inspector File Recovery
Parfois les fichiers peuvent être endommagés, parce qu’une partie des secteurs qui ont été libérés pendant son effacement ont commencé à être réécrits
Si l’ordinateur est utilisé, plus le temps passe moins on a de chances de récupérer des fichiers complets
Si la MFT (Windows - Master File Table. Ce sont les métadonnées dans le cas du système de fichier NTFS - Microsoft. Filesystem successeur de FAT) ou les inodes (Unix / Linux) ne sont pas écrasés, on peut espérer retrouver les noms et autres métadonnées
Si l’on veut effacer des données définitivement, il faut réécrire de multiples fois sur les secteurs libérés
Il existe des logiciels d’effacement sécurisé (« wipe » en anglais)
En SSD (Solid-State Drive) c’est beaucoup plus complexe qu’en HDD (Hard Drive Disk, les disques durs traditionnels). Les données ne sont pas nécessairement réécrites à l’ancienne place du fichier effacé
(HDD et SSD sont les deux "types" de stockage de masse (disques durs). HDD, les classiques, anciens. Stockage magnétique. Disque dur qui tourne et une tête qui lit. SSD: les nouvelles technos de stockage. Typiquement les clés USB. Ou dans vos ordis portables modernes. Beaucoup plus rapide. Plus compacte. Stocke plus)
Il existe des dispositifs matériels (microscope à force magnétique), complexes d’utilisation, qui permettent de récupérer des données. Typiquement utilisées par certains acteurs gouvernementaux
Incertitude sur les capacités matérielles de recouvrement des données effacées
Mais si on veut effacer de façon sécurisée il faut procéder à des réécritures, ou, mieux, démagnétiser / détruire le disque
Concernant les réécritures, sur les supports modernes de stockage il n’est pas évident que plus d’une réécriture soit nécessaire. Il faut prendre en compte la durée de telles opérations
À noter que l’effacement des données est nécessaire dans toutes les organisations après que les ordinateurs soient amortis et avant qu’ils ne soient revendus à des brokers (revendeurs)
Les fichiers manipulés par les utilisateurs (documents, musique, images, etc.) ne représentent qu’une faible proportion des fichiers enregistrés par le système : fichiers temporaires, caches, traces, fichiers spécifiques des applications, etc.
> VPN
- "réseau privé virtuel"
- deux objectifs possibles :
- créer un tunnel chiffré entre 2 ordinateurs / réseaux
- créer un réseau privé qui passe par internet
- possibilité de l'utiliser pour cacher son IP publique
- c'est donc l'IP de l'ordinateur VPN qui sera visible sur les paquets réseau
- attention : l'hébergeur du VPN, lui, est toujours au courant des sites que vous visitez
- cela ne sécurise en rien votre ordinateur, cela permet tout au plus de cacher votre identité
- selon les législations, les hébergeurs de VPN sont tenus de donner des informations aux autorités si besoin
The onion router
Réseau composé de noeuds, qui permet:
- l'anonymat (relatif) des connexions
- la confidentialité et l'intégrité des échanges
A été conçu par la marine US, puis est rapidement devenu un outil populaire pour échapper à la surveillance d'internet
Comme toute invention, connaît des usage détournés: DarkWeb
1/ Construction d'un circuit où chaque noeud ne connait que son prédécesseur et son successeur
2/ Chiffrement du paquet TCP pour chaque noeud... en couches successives
La sécurité est une situation objective caractérisée par la seule présence de risques maitrisés.
> La sûreté est relative aux risques accidentels tandis que la sécurité traite des actes malveillants.
> Mais dans le domaine informatique, le terme utilisé est « sécurité » (« sûreté » est utilisé en sécurité physique).
Les risques sont des contingences indésirables qui peuvent être avérées, potentielles ou futures.
Ils découlent d'une probabilité qu'une menace exploite, intentionnellement ou non, une vulnérabilité.
Il y a quatre façons de traiter un risque unitaire :
> le réduire
> l'accepter
> le refuser
> le transférer
La sécurisation résulte toujours d'une dynamique.
La façon classique de présenter les risques :
> Risque = (Menace) x (Vulnérabilité)
> Quantification du risque = (Impact) x (Probabilité d'occurrence)
Quel est le problème de cette approche de quantification des risques ?
Les impacts peuvent se décliner en trois catégories :
> Intégrité
> Confidentialité
> Disponibilité
Enfin, les mesures de sécurité peuvent se diviser en trois catégories :
> Prévention : mesures visant à empêcher la matérialisation d'un risque, ou retarder les actions d'attaquants. Réduisent la probabilité d'occurrence, la surface d'attaque.
> Détection : nécessaires si l'on admet qu'aucune mesure de sécurité préventive ne peut arrêter un attaquant suffisamment motivé, compétent ou doté de moyens assez importants.
> Réaction : mesures qui visent à réduire l'impact d'une attaque, suite à sa détection.
Trouver cet équilibre est essentiel.
Non seulement le risque 0 ne peut pas exister, mais il n'y a pas de vie sans risques.
Et la sécurité a un cout, en énergie, en temps, en argent, mais aussi en usage et en liberté.
Il faut toujours se demander si le cout des moyens de sécurité n'est pas disproportionné, ou ne met pas en jeu certains principes essentiels.
La bonne sécurité résulte toujours d'un équilibre...
(et ce n'est pas dans l'ère du temps)
Pour faire de la bonne sécurité, il faut savoir penser comme un attaquant.
Et donc essayer de savoir qui ils peuvent être...
Objectifs : Gains financiers
Moyens : vol et revente de données, fraudes et détournements de fonds, demandes de rançons, mise à disposition d'infrastructures d'attaques (CaaS, botnets, etc.)
Objectifs : Divers / Opportunistes
Moyens : Opportuniste, utilisation d'outils et de services d'attaques
Objectifs : Espionnage, désinformation, cyberguerre
Moyens très importants : dénis de service, attaques ciblées, portes dérobées...
Objectifs : Espionnage industriel, avantage concurrentiel
Moyens : Dénis de services, vol de données, attaques ciblées, ransomwares, via des mercenaires
Objectifs : Divers
Moyens : Accès à des ressources non protégées, exploitation de lacunes de sécurité
Objectifs : Impact médiatique, politique
Moyens : Défacements, dénis de service, vol de données
Objectifs : Gain de temps, aucun
Moyens : Manque de sensibilisation à la sécurité, complexité du SI
On voit que tous ces types d'attaquants vont déployer divers types d'attaques :
> Attaques « au filet dérivant »: courriels piégés (phishing), sites compromis avec malwares, faux sites...
> Attaques ciblées: envoi de courriels personnalisés (spear phishing), clés USB piégées, faux sites ciblés...
> Intrusion en ciblant des défauts de protection, des vulnérabilités applicatives...
> Dénis de service (DoS), Dénis de service distribués (DDoS)
> Distribution de matériel ou logiciels piégés (trappes - backdoors...)
> ...
Exemples de ces divers types d'attaques (1/2) :
> Attaques « au filet dérivant »: tous les "scams" et malwares de phishing que vous recevez, non personalisés
> Attaques ciblées: En 2012, dans le cadre du G20, contre les banques centrales; en 2012, contre l'Elysée, utilisation de "Flame" et FB...
Exemples de ces divers types d'attaques (2/2) :
> Intrusion en ciblant des défauts de protection, des vulnérabilités applicatives: 2016 contre la Banque centrale du Bangladesh
> Dénis de service (DoS), Dénis de service distribués (DDoS): Dyn (provider de DNS), en 2016: botnet IoT, plusieurs centaines de Gbps
> Distribution de matériel ou logiciels piégés (trappes - backdoors...): Stuxnet en 2010
Détails sur
- ce peut être un défaut de configuration
- un défaut de spécification (vulnérabilités fonctionnelles)
- un bug qui, une fois exploité par l'attaquant, va permettre d'outrepasser des mesures de sécurité
- une fonction volontairement introduite, une backdoor (ou porte dérobée)
- des fichiers contenant des données confidentielles en libre accès sur un serveur (cf. jurisprudence "Bluetouff")
- des mécanismes de cloisonnement non spécifiés, permettant à un utilisateur de voire des données d'un autre utilisateur
- des logiciels non mis à jour, qui ont des bugs exploitables, permettant à un attaquant d'exécuter le code qu'il veut sur un ordinateur
Exemples: https://www.hacksplaining.com/lessons
- vous. Une utilisatrice, un utilisateur. Entre la chaise et le clavier.
La grande majorité des attaques commencent par une phase d'ingénierie sociale, où les attaquants réussissent à faire quelque chose à la cible
Typiquement: cliquer sur un lien ou un code malveillant
1/ L'ingénierie sociale
2/ Des logiciels non mis à jour
Nous allons étudier ces deux scénarios
Si un attaquant veut prendre la main sur votre ordinateur
il va chercher à vous faire exécuter du code malveillant (via un fichier .exe par exemple)
Mettons qu'un inconnu vous envoie un mail avec un fichier .exe
il vous dit de l'exécuter
dit comme ça, cela semble suspect, et avec un peu d'intuition et d'expérience vous n'allez pas le faire
On va voir comment cet inconnu peut essayer de vous faire exécuter son code malveillant
un fichier exécutable .exe peut faire n'importe quelle action à votre ordinateur:
- récupérer vos fichiers et photos
- installer un keylogger pour récupérer identifiants et mots de passe
- suivre toute votre activité
- transformer votre ordinateur en "bot"
- ...
Il existe beaucoup de types de fichiers pouvant contenir du code
exe, msi, dll, ...
Il faut donc faire attention avant d'ouvrir des fichiers dont on ne connaît pas l'extension
Windows intègre par défaut un mécanisme de prévention
Windows connaît ces types de fichier dangereux, et vous alertera si le type fichier peut être malveillant
Attention, ici on ne parle pas de savoir si le fichier est malveillant, mais s'il PEUT être malveillant
C'est le rôle d'un antivirus / antimalware de savoir si le fichier est malveillant ou pas (avec plus ou moins de réussite)
Au lieu d'utiliser un fichier exécutable "brut", qui est très suspect,
un attaquant peut camoufler son attaque :
En effet, les documents Microsoft Office (Word, Excel, ...) possèdent un mécanisme de "macro"
Ces macros sont un mécanisme qui permet de programmer certaines actions dans un document office
Mais elles intègrent également des moyens d’exécuter du code en dehors d'office, sur votre ordinateur
https://powerspreadsheets.com/how-to-enable-macros-excel/
comme on peut le voir, les messages d'avertissement ne sont pas toujours identiques
ils dépendent de la version d'Office utilisée
Il y a donc deux mécanismes de base pour un attaquant qui souhaite faire exécuter du code sur une machine
- envoyer un fichier exécutable
- envoyer un fichier office avec une macro malveillante
Il existe d'autres mécanismes similaires, mais ces deux là sont les plus courants
C'est une catégorie d'attaque qui nécessite FORCEMENT qui vous acceptiez un risque
"Enable content", ou "Accepter d'exécuter ce code provenant d'une source inconnue", etc...
Pourtant... parfois il faut bien faire confiance, aussi.
Imaginons que vous receviez un message de securite@paris-nanterre.fr vous indiquant un lien où télécharger une mise à jour de Microsoft Teams pour mettre à jour votre système suite à une vulnérabilité...
Que faites-vous?
Contrairement à la catégorie précédente,
ce scénario peut vous rendre vulnérable sans AUCUNE interaction de votre part
Vous n'aurez donc ni cliqué sur "enable content" ni sur "faire confiance à tel exécutable"
Et pourtant l'attaquant aura pu pirater votre ordinateur avec les mêmes objectifs
(ie., voler vos fichiers, poser un keylogger, ...)
Vous savez qu'un logiciel peut contenir des bugs
Un bug, en apparence a souvent l'air anodin, simplement un dysfonctionnement
A l'origine, c'est toujours un problème dans le code du logiciel
Mais un bug peut créer une faille de sécurité
La grande majorité des bugs sont détectés lors des phases de développement
Mais, inexorablement, sur des gros logiciels certains bugs passent entre les mailles du filet
Les utilisateurs normaux (non malveillants) peuvent tomber sur des bugs en utilisant le logiciel
Et rapporter le bug aux développeurs en les contactant
Mais les personnes mal intentionnées peuvent _chercher_ des bugs:
- en analysant le code du programme (analyse statique)
- en utilisant le programme de manière non prévue (analyse dynamique)
Exemple de test dynamique : entrer "bonjour" dans un formulaire qui attend une date d'anniversaire
Ça a l'air bête comme ça, mais si le code est mal géré sur le serveur, cela peut engendrer un bug
Le code d'un logiciel peut être accessible publiquement
C'est ce que l'on appelle un code "open source"
Si le code source n'est pas public, l'attaquant peut toutefois accéder au "code machine"
C'est le code qui est exécuté par votre ordinateur, il est beaucoup plus dur à lire pour un humain
Mais pas impossible. Pour ce faire, un attaquant fait ce qu'on appelle de la rétro ingénierie
Une fois que l'attaquant a trouvé un bug, il peut voir quelle est la cause du bug
La gravité "sécurité" du bug peut en varier grandement
Certains bugs exploités peuvent par exemple permettre à l'attaquant de découvrir des informations techniques
alors que d'autres permettent de compromettre totalement la machine sur laquelle est exécuté le logiciel
Exemple : si le bug se trouve sur votre navigateur web, c'est potentiellement votre machine
toute entière qui peut être compromise
Exemple : si le bug se trouve sur un site web (wikipedia par ex), c'est la machine
qui héberge le site wikipédia qui peut être compromise
Certains logiciels sont donc beaucoup plus critiques que d'autres :
- Navigateur web
- Client mail bureautique
- Lecteur image, musique, pdf (Acrobat Reader), ...
Certains logiciels sont donc beaucoup plus critiques que d'autres :
- Navigateur web
- Client mail bureautique
- Lecteur image, musique, pdf (Acrobat Reader), ...
Car ces logiciels manipulent des données qui proviennent souvent d'internet
Un logiciel peut donc contenir des bugs exploitables : ce sont des failles de sécurité
Si une faille est découverte, mais que l'éditeur n'en est pas prévenu
on parle de faille 0day : "0 jour que l'éditeur est au courant du bug"
Les 0day peuvent se vendre très cher sur le dark web, selon le logiciel impacté et la sévérité de la faille
A l'inverse, si l'éditeur est mis au courant du problème
alors celui-ci va faire un correctif de sécurité rapidement
et proposer une mise à jour aux utilisateurs
Tant que vous ne mettez pas à jour votre logiciel, vous êtes donc exposé à une faille de sécurité PUBLIQUE
que n'importe qui peut essayer d'exploiter
Voilà pourquoi il faut mettre à jour ses logiciels régulièrement
Attention à ne pas être paranoïaque sur les 0days
OUI, il est possible (et presque certain), que des failles 0day existent
aujourd'hui même sur des navigateurs comme Firefox ou Chrome
mais un attaquant possédant une telle faille n'a probablement pas intérêt à vous cibler
En effet, les 0days sont des failles précieuses
qui peuvent valoir très cher
Et elles nécessitent parfois des dizaines voire des centaines d'heures pour être trouvées
Utiliser une 0day contre un utilisateur lambda, c'est prendre le risque que la vulnérabilité soit exposée au public
Les 0day sont plus souvent utilisés par des gouvernements pour
des attaques étatiques. Exemples:
- Stuxnet qui utilise quatre vulnérabilités 0day
- Outils de la NSA révélés par Shadow Broker en aout 2016
Les deux scénarios principaux sont :
1/ De l'ingénierie sociale pour essayer de vous faire cliquer/exécuter un programme malveillant
--> C'est le scénario le plus courant
2/ Une exploitation via une faille de sécurité non mise à jour sur un de vos logiciels
(par oubli de votre part par exemple)
Scénario moins courant, mais existe, d'où la nécessité de mettre à jour régulièrement
Ce dernier scénario est toutefois très malveillant, dans le sens où il ne nécessite aucune action de votre part pour être exploité
A noter que le scénario 1 peut se servir de vulnérabilités du scénario 2
Loi Godfrain du 5 janvier 1988
Loi 88-19 relative à la fraude informatique
Article 462-2: Quiconque, frauduleusement, aura accédé ou se sera maintenu dans tout ou partie d'un système de traitement automatisé de données sera puni d'un emprisonnement de deux mois a un an et d'une amende de 2 000 F a 50 000 F ou de l'une de ces deux peines. Lorsqu'il en sera résulté soit la suppression ou la modification de données contenues dans les systèmes, soit une altération du fonctionnement de ce système, l'emprisonnement sera de 2 mois a 2 ans et l'amende de 10 000 F a 100 000 F.
Article 462-3
Quiconque aura, intentionnellement et au mépris des droits d'autrui, entravé ou faussé le fonctionnement d'un système de traitement automatisé de données sera puni d'un emprisonnement de trois mois à 3 ans et d'une amende de 10 000 F a 100 000 F ou de l'un de ces deux peines.
Article 462-4
Quiconque aura, intentionnellement et au mépris des droits d'autrui, directement ou indirectement, introduit des données dans un système de traitement automatisé ou supprimé ou modifié les données qu'il contient ou leurs modes de traitement ou de transmission sera puni d'un emprisonnement de 3 mois a 3 ans et d'une amende de 2000 F a 500 000 F ou de l'une de ces deux peines.
En mai 2015, jurisprudence de la Cour de Cassation dans l’affaire « Bluetouff »
Détenir et manipuler des outils et techniques permettant des intrusions est-il légal ?
En 2004, la Loi pour la confiance dans l'économie numérique modifie ajoute un article :
L. 323-3-1 : « le fait, sans motif légitime, d'importer, de détenir, d'offrir, de céder ou de mettre à disposition un équipement, un instrument, un programme informatique ou toute donnée conçus ou spécialement adaptés pour commettre une ou plusieurs des infractions prévues par les articles 323-1 à 323-3 »
Détenir et manipuler des outils et techniques permettant des intrusions est-il légal ?
En 2013 loi 2013-1168 du 18 décembre 2013, dite « programmation militaire » amende cet article (article 25) en ajoutant une exception, « un motif légitime, notamment de recherche ou de sécurité informatique »
La blockchain est le mécanisme derrière le Bitcoin et autres projets décentralisés
Intérêt majeur de la blockchain : la décentralisation
Dans le cas du bitcoin, plus besoin d'un tiers (la banque) pour faire vos transactions
Tout peut être fait directement entre les deux parties
-Fonctionnement d'une blockchain
Un block de la blockchain consiste en une série de transactions faites à un instant t
La blockchain relie tous ces blocks pour garder trace de toutes les transactions faites depuis la création de la blockchain
La blockchain est accessible publiquement: tout le monde peut voir TOUTES les transactions
-Comment sont ajoutés les nouveaux blocs à la blockchain ?
Dans le cas du bitcoin par exemple, un bloc est ajouté toutes les 10 minutes
N'importe qui dans le monde peut proposer un bloc à ajouter dans la blockchain
Évidemment, si tout le monde proposait un bloc... comment choisir collectivement quel bloc on ajoute ?
> Comment sont ajoutés les nouveaux blocs à la blockchain ?
La solution utilisée par le bitcoin est la "preuve de travail" (Proof of work)
Toutes les 10 minutes, on propose à tout le monde un "challenge mathématique" à résoudre
Celui qui résout ce challenge gagne le droit de PROPOSER un bloc à ajouter à la blockchain
Si une majorité est d'accord pour ajouter ce bloc, alors il est ajouté à la blockchain
-A quoi ressemblent ces "challenges mathématiques" ?
Vous vous souvenez des fonctions de hash ?
L'idée du challenge consiste à prendre le bloc (donc les transactions) que l'on souhaite ajouter
et à faire en sorte que son hash commence par 20 zéros
Pour se faire, on prend le bloc, et on va lui rajouter un "nonce" pour essayer d'atteindre ce but
Pour résoudre ce type de challenge la seule méthode possible est de tester différents nonces successivement jusqu'à en trouver un qui marche
La difficulté du challenge peut être ajustée pour que cela soit très long à trouver
Ceux qui cherchent à résoudre ces challenges s'appellent les "mineurs" car dans le cas du Bitcoin, ces mineurs sont rémunérés en bitcoin pour avoir résolu le challenge
Conceptuellement, l'idée du Bitcoin et des blockchains est que la majorité est de bonne foi. Puisqu'on fait un "effort" pour valider une transaction, c'est qu'on croit qu'elle est "correcte".
Aujourd'hui pour avoir une chance de "miner" un bloc, il faut associer sa puissance de calcul entre plusieurs entités
Problème majeur de ce type de challenge "preuve de travail"
--> le bilan énergétique et donc environnemental est considérable
C'est pour ça que d'autres techniques sont utilisées aujourd'hui
La seconde technique la plus utilisée est la "preuve d'enjeu"
Elle consiste à "mettre en jeu" une partie de la cryptomonnaie (bitcoin, ...) en jeu pour émettre un bloc
Si on émet un mauvais bloc (par erreur ou malveillance), alors on est puni et on perd les cryptomonnaies mises en jeu
Cela incite les gens à proposer des blocs valident pour la blockchain
La technologie de la blockchain est très récente
--> Le bitcoin date de 2009
De nombreux changements voient donc le jour régulièrement
Mais la technologie est très prometteuse pour décentraliser de nombreux secteurs
Une monnaie décentralisée par exemple permettrait de se soustraire du contrôle
des banques sur l'économie mondiale, ça laisse rêveur non :-)
C'est un sujet complètement d'actualité
--> Le FMI reconnaît lui-même que les monnaies actuelles sont à bout de souffle
(c'est Kristalina Gueorguieva, la cheffe du FMI qui le dit)
Leur objectif est de créer des monnaies digitales
Les CBDC : central bank digital currency
Ces CBDC seraient donc tout comme l'argent liquide actuel, sous le contrôle des banques
Et AUCUNEMENT décentralisé comme une monnaie comme le bitcoin basé sur une blockchain
Les CBDC sont potentiellement même encore plus dangereuses que la monnaie liquide
L'argent liquide a une forme d'anonymat que ne possède pas les monnaies digitales
Une banque centrale qui contrôle une CBDC aura donc accès aux informations concernant TOUTES les transactions de cette monnaie, et pourra réguler les
transactions comme elle le souhaite (prohiber certains achats, ...)
La Chine est déjà très en avance sur sa CBDC (Yuan numérique)
Les autres banques centrales sont actuellement en train de préparer des CBDC
Et visent des échéances aux alentours de 2024/2025 pour les mettre sur le marché
Nous citoyens, avons donc un rôle à jouer, pour choisir si nous souhaitons nous intéresser à des monnaies décentralisées, ou accepter les CBDC que nous proposerons les banques centrales, quittent à continuer de rester sous leur contrôle économique
Cambridge Analytica
- Élections US 2016
- Entreprise spécialisée en communication politique et analyse de données de masse
- Données "aspirées" de Facebook - consentement
- Messages, visuels, vidéos ciblés en faveur du Brexit et de l'élection de Trump (27M d'Américains ciblés)
- Ligue du LOL
- Groupe Facebook de gens de la pub, journalistes, communicants créé en 2010
- Mènent des "attaques" coordonnées sur Twitter principalement, via des pseudos
- Les victimes sont en général des minorités (militantes féministes, homosexuels, militants anti-grossophobie, parfois des attaques antisémites...)
- Agissements révélés en février 2019 dans un article de Libération, de nombreux témoignages de victimes s'en suivent
- moral, sexuel, physique...
- tous les milieux sociaux, tous les environnements (familial, professionnel, école, université, rue...)
- souvent à des fins de déstabilisation, mais aussi de purs délires ("théories du complot")
- tous les milieux sociaux, très difficile à déjouer
- la psychologie humaine
- des sites web dont la légitimité n'est qu’apparente
- les réseaux sociaux (bien mal nommés)
- harcèlement: cadre juridique assez clair
Code pénal, article 222-33 : « Le fait de harceler autrui par des propos ou comportements répétés ayant pour objet ou pour effet une dégradation des conditions de travail susceptible de porter atteinte à ses droits et à sa dignité, d’altérer sa santé physique ou mentale ou de compromettre son avenir professionnel, est puni de deux ans d’emprisonnement et de 30 000 € d’amende »
- manipulations: loi contre la manipulation de l'information (loi "fake news", projet de loi "Avia"). Mais difficile d'application et peut s'avérer liberticide
Article L97 du Code électoral : « Ceux qui, à l'aide de fausses nouvelles, bruits calomnieux ou autres manœuvres frauduleuses, auront surpris ou détourné des suffrages, déterminé un ou plusieurs électeurs à s'abstenir de voter, seront punis d'un emprisonnement d'un an et d'une amende de 15 000 euros »
- absence de régulation des GAFA et réseaux numériques
Que faire en cas de harcèlement?
- en parler à des gens de confiance, bienveillants - ne pas rester seul-e
- numéro vert 3020
- rassembler des preuves (courriels avec en-têtes techniques, SMS, captures d'écran avec date, certificats médicaux, enregistrements...), solliciter des témoignages
- porter plainte
- le dénoncer publiquement (cela peut poser des questions - "cancel culture"...)
- Se faire une idée de la plausibilité, mais se méfier du "bon sens"
- Identifier la source
- Vérifier les sources (se méfier des sources inconnues)
- Vérifier la cohérence des dates
- Avoir un regard critique sur la forme de l'information: se méfier des messages tonitruants, les images ne sont pas des "preuves"...
- Connaître les limites de son expertise
- Se référer à des sources que l'on considère fiables - choisir des "référents"
- Attention aux biais (exemples: biais d'autorité - effet "blouse blanche", de confirmation, etc.)
- Ne pas croire que ce qui est beaucoup répété est davantage vrai, en particulier sur les réseaux numériques ;)
- Connaître les ressorts classiques des "théories du complot": la réalité est une apparence, la vérité est cachée, on peut douter de tout, les liens entre les évènements sont cachés, il y a un grand pouvoir central caché, ce qui advient est toujours le fait d'une volonté occulte, s'il n'y a pas de preuve, c'est bien la preuve qu'ils sont forts...