Master II Contrats et contentieux

 

Introduction à la cybersécurité

 

Université Paris Nanterre | 2020 – 2021

 

Inti Rossenbach     |     @secucrypt     |     cryptosec.org

Brendan Guevel    |     bguevel@protonmail.com

whoami

- 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

whoami

- Brendan Guevel, consultant en cybersécurité

- Études en mathématiques, puis cryptologie et sécurité informatique

- bguevel@protonmail.com

Quizz

 

kahoot.it

> Les objectifs du cours

- 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

> Thématiques

- Ordinateur et réseaux

- Cryptologie

- Données et anonymat

- Manipulation/harcèlement

- Cybersécurité

Quelles sont vos attentes?


Les composants

> Quels composants d’un ordinateur connaissez-vous ?

Le processeur

La RAM

Le disque dur

L'alimentation

La carte mère

Le système d'exploitation

Quelques exemples de systèmes d'exploitation

À quoi ça sert ?

Les logiciels

Quelques exemples de logiciels

Quelle est la différence entre Microsoft Word et Google Docs ?

Le navigateur web

Application bureautique

- 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

Application web

- 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

Les réseaux informatiques

Un petit réseau

Comment les ordinateurs communiquent-ils ?

- 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

Le signal électrique

La table ASCII

L'adresse IP

> adresses IP

- 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

> adresses IP

- 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 ?

> solution : IP privées et publiques

- 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

> Analogie : les rues et les villes en France

- 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

Le modèle client-serveur

> Qu'est-ce qu'un serveur ?

- 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

> Exemple d'un réseau privé domestique

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

Le peer-to-peer

> Modèle Client-serveur

Un unique serveur et plusieurs clients

Facile à implémenter

Possibilité de surcharge réseau

Données centralisées

Problème de la sauvegarde

> Modèle Peer-to-peer

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

> DNS

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?

> DNS (Domain Name System)

- 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

> DNS (Domain Name System)

- 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

> DNS (Domain Name System): Démos!

- requếter un serveur DNS "à la main" avec nslookup

- observer des entrées DNS chez un registrar (gandi.net)

Démo: visualisation de paquets - Wireshark

> 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

> Qu'est-ce que IPv6 ?

- 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

> Qu'est-ce que IPv6 ?

- 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

> IOT : Internet Of Things

- 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

Cryptologie : la science du secret

où est la cryptographie?

dans les navigateurs

sur votre banque

dans votre téléphone

dans les distributeurs de billets

les cryptomonnaies - le bitcoin

la diplomatie, l'Etat

les militaires et services secrets

les délinquants

les entreprises

la presse

les ONG qui défendent les droits humains ou la nature

vous, qui croyez n'avoir rien à cacher

> Cryptologie : la science du secret

-> dwwdtxh ghpdlq pdwlq

- comment déchiffrer ce message ?

> Le code de César
> Le code de César

-> dwwdtxh ghpdlq pdwlq

-> attaque demain matin

> Une amélioration

- on peut améliorer notre système de césar

- on substitue chaque lettre de l'alphabet par une autre


> Exemple avec un chiffrement par substitution

STL IGDDTL FAOLLTFM TM RTDTWKTFM SOZKTL TM TUAWV TF RKGOML. STL ROLMOFEMOGFL LGEOASTL FT HTWXTFM TMKT YGFRTTL JWT LWK S'WMOSOMT EGDDWFT

Avez-vous une idée de comment déchiffrer ça ?
> Analyse par fréquence
> Exemple avec un chiffrement par substitution

STL IGDDTL FAOLLTFM TM RTDTWKTFM SOZKTL TM TUAWV TF RKGOML. STL ROLMOFEMOGFL LGEOASTL FT HTWXTFM TMKT YGFRTTL JWT LWK S'WMOSOMT EGDDWFT

_ES ____ES _AISSE__ E_ _E_E__E__ _I__ES E_ E_A__ E_ ___I_S. _ES _IS_I___I__S S__IA_ES _E _E__E__ E__E ____EES __E S__ _'__I_I_E ______E
> Exemple avec un chiffrement par substitution

LES HOMMES NAISSENT ET DEMEURENT LIBRES ET EGAUX EN DROITS. LES DISTINCTIONS SOCIALES NE PEUVENT ETRE FONDEES QUE SUR L'UTILITE COMMUNE
> Un peu de terminologie

- 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

> Différence chiffrement et code

- 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)

> Cryptologie, à ne pas confondre avec :

- la stéganographie : cacher un message


> Autre exemple de stéganographie
> Vers une cryptologie moderne

- 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

> Vers une cryptologie moderne : les principe de Kerckhoffs

- 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

> Chiffrement symétrique

- 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

Le chiffrement asymétrique : une nouvelle façon de chiffrer un message

> Chiffrement asymétrique

- 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

> Multiplication nombre premier

Calculez 31 * 23
> Décomposez 779 en facteurs premiers

bien plus dur...
> Décomposez 779 en facteurs premiers

bien plus dur...

779 = 41 * 19
> Des problèmes difficiles

- 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

> Chiffrement asymétrique
> Chiffrement asymétrique

- 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

> Chiffrement asymétrique
> Le chiffrement asymétrique est utilisé partout sur internet !

- 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)

> Une attaque réelle
piratage du compte Twitter de Trump en 2016

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é

Un condensé?? Un hash??

C'est une fonction qui prend en entrée des données quelconques et donne en sortie une empreinte unique

> exemple : la fonction de hash md5
> Caractéristiques de ces fonctions:

- 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 ?

> Retour sur l'attaque réelle
piratage du compte Twitter de Trump en 2016:
quels problèmes voyez vous?


- 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

> qu'est-ce qu'un sel cryptographique

Traces et anonymat

> Qu'est-ce qu'une trace informatique, un log?

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.

Quelques exemples

"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

Quelles traces est-ce que je laisse en faisant une recherche sur le web? :

- 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

Qu’est-ce qu’un cookie ?

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)

Recherche sur le web

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

Opérateurs de recherche :

" "

-

*

AND

OR

 

Illustration!

Opérateurs avancés :

site :

filetype :

inurl :

cache :

link :

Exemple :

inurl:/host.txt + filetype:txt + "password"

 

Si je clique sur un résultat, est-ce une intrusion ?

Enregistrement d'un fichier

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

Effacement d’un fichier

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

Récupération de fichiers effacés

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)

Logiciels

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

Effacement définitif

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)

Fichiers et fichiers

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.

Pseudo-anonymat sur les réseaux

> VPN

> 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

> VPN

- 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

TOR

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

Tor

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

Cyber attaques

La sécurité et les risques

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.

Équilibre entre la sécurité et les usages

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)

Paysage des menaces

Pour faire de la bonne sécurité, il faut savoir penser comme un attaquant.

Et donc essayer de savoir qui ils peuvent être...

Cyberdélinquance

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.)

Script kiddies

Objectifs : Divers / Opportunistes

Moyens : Opportuniste, utilisation d'outils et de services d'attaques

Vous connaissez ?

États et groupes paraétatiques

Objectifs : Espionnage, désinformation, cyberguerre

Moyens très importants : dénis de service, attaques ciblées, portes dérobées...

Concurrence

Objectifs : Espionnage industriel, avantage concurrentiel

Moyens : Dénis de services, vol de données, attaques ciblées, ransomwares, via des mercenaires

 

Malveillances internes

Objectifs : Divers

Moyens : Accès à des ressources non protégées, exploitation de lacunes de sécurité

Cyber protestations

Objectifs : Impact médiatique, politique

Moyens : Défacements, dénis de service, vol de données

 

Erreurs, négligences

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

Une attaque réelle (1/4)

Target - Décembre 2013

Une attaque réelle (2/4)

Target - Décembre 2013

Une attaque réelle (3/4)

Attaque de l'infrastructure SWIFT de la Banque centrale du Bangladesh - 2016

Une attaque réelle (4/4)

Attaque de l'infrastructure SWIFT de la Banque centrale du Bangladesh - 2016

Détails sur

https://www.cryptosec.org/docs/BBheist

> qu'est-ce qu'une vulnérabilité?

- 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)

> exemples de vulnérabilités exploitables (1/2)

- 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

> exemples de vulnérabilités exploitables (2/2)

- 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

> Les deux principaux scénarios où vous pouvez vous faire pirater :

1/ L'ingénierie sociale

2/ Des logiciels non mis à jour

Nous allons étudier ces deux scénarios

> 1/ L'ingénierie sociale

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)

> 1/ L'ingénierie sociale

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

> 1/ L'ingénierie sociale

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"

- ...

> 1/ L'ingénierie sociale

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

> 1/ L'ingénierie sociale

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)

> 1/ L'ingénierie sociale

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

> 1/ L'ingénierie sociale
> 1/ L'ingénierie sociale

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

> 1/ L'ingénierie sociale

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...

> 1/ L'ingénierie sociale: cas typique

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?

> 2/ Des logiciels non mis à jour

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, ...)

> 2/ Des logiciels non mis à jour

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é

> 2/ Des logiciels non mis à jour

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

> 2/ Des logiciels non mis à jour

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

> Exercice: trouvez le bug potentiel
> [Petit aparté]

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

> 2/ Des logiciels non mis à jour

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

> 2/ Des logiciels non mis à jour

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

> 2/ Des logiciels non mis à jour

Certains logiciels sont donc beaucoup plus critiques que d'autres :

- Navigateur web

- Client mail bureautique

- Lecteur image, musique, pdf (Acrobat Reader), ...

> 2/ Des logiciels non mis à jour

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

> 2/ Des logiciels non mis à jour - les failles 0day

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

> 2/ Des logiciels non mis à jour

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

> 2/ Des logiciels non mis à jour

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

> 2) Des logiciels non mis à jour

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

> 2) Des logiciels non mis à jour

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

> 2) Des logiciels non mis à jour

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

> Pour résumer

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

Aspects juridiques des intrusions

> Loi Godfrain

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 »

BONUS : fonctionnement d'une blockchain

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

"Bonjour, monde!0" ⇒ a9efd73638806846d0495fb92e2deba6e2e1ad5bc453e28e5fdc1334c97c21a8 "Bonjour, monde!1" ⇒ f767b47fd98fab25d08bd155c42708b434ac86bfa8d8b95b1457146e86b728e5 "Bonjour, monde!2" ⇒ fad41d13e759487a3d70a09c66c3e8ae8e9803f1fadba5411e039c35ac01f8b9 … "Bonjour, monde!33678" ⇒ c8c15f22d9c2a9ce84f6c8ca5d5943e3bbc2d39758474c3d969c17359e6cf212 "Bonjour, monde!33679" ⇒ d109eb920aef296041c7b878eea20f1abc8fb957ea59bdf130d1dcd810722c2a "Bonjour, monde!33680" ⇒ 0000abebe9c6554c85176b8e9f9f3f4ed9b7e8dc856a7b5cb9177bf7b22e1871

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

BONUS: Manipulations, harcèlement

> Cas réels

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)

> Cas réels

- 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

> Cas réels

- 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

> harcèlement

- moral, sexuel, physique...

- tous les milieux sociaux, tous les environnements (familial, professionnel, école, université, rue...)
 

> manipulation

- 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

> aspect techniques

- la psychologie humaine

- des sites web dont la légitimité n'est qu’apparente

- les réseaux sociaux (bien mal nommés)

> aspects juridiques

- 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 »

> aspects juridiques

- 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

> Cas pratiques

Que faire en cas de harcèlement?

> cas pratiques

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"...)

> travaux pratiques
Manipulations et complots:

Comment vérifier des informations?

> cas pratiques
Comment vérifier des informations?

- 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"...

> cas pratiques: Comment vérifier des informations?

- 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 ;)

> cas pratiques: exemple du "paradoxe" de Simpson

> cas pratiques: exemple du "paradoxe" de Simpson

> cas pratiques: Comment vérifier des informations?

- 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...