Master II Droit du numérique

 

Introduction à la cybersécurité

 

Université Paris Nanterre | 2021 – 2022

 

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

- Acquérir 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

> Sommaire

- Les composants

- Les mots de passe

- L'ingénierie sociale

- Les vulnérabilités

- Cryptologie: la science du secret

- Sécurité, risques et menaces

- Cyberattaques

- Mesures de sécurité

- Traces et anonymat

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.wikipedia.org, n'écrit-on pas son adresse IP ?

Comment se fait-il que vous n'ayez pas des adresses IP à retenir?

> DNS (Domain Name System)

- les serveurs DNS stockent et donnent une équivalence entre une @IP et un nom de domaine (ex.: www.wikipedia.org <--> 91.198.174.192)

- 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

> Routage: 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

> Concept de port réseau

- Les ordinateurs possèdent 65526 ports réseaux

- Un programme peut "écouter" sur un port pour recevoir des paquets réseau

- C'est typiquement le cas d'un serveur web, dont le programme associé écoute sur le port 80

- Quand vous envoyez une requête vers un serveur web, vous envoyez une requête sur le port 80 du serveur en question

> 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

Les mots de passe

> Le mot de passe

- Série de caractères (lettres, chiffres, caractères spéciaux, ...)

- Peut être un mot ou une phrase secrète (passphrase)

- Sert à prouver son identité

- Central pour la sécurité de son identité : risque d'usurpation

> Le mot de passe

Élément classique des mécanismes d'authentification, qui peuvent se décomposer en trois facteurs:

- Quelque chose que je sais

- Quelque chose que je suis

- Quelque chose que je possède

> Le problème de la réutilisation des mots de passe

- Si la base de donnée (BdD) d’authentification d'un site est compromise, révélée (leak), ce sont "presque" tous les mots de passe sont compromis

- Pourquoi "presque" ?

- Selon vous, quel est le mot de passe le plus important ?

> Risques associés aux mots de passe

Dans quelles situations un mot de passe peut être compromis ?

> Risques associés aux mots de passe

- Regarder par dessus votre épaule (shouldersurfing)

- Connexion non chiffrée

- Keylogger / malware

- Mot de passe écrit en clair quelque part

- Base de donnée compromise / réutilisation de mots de passe

> Comment un attaquant fait-il pour "deviner" un mot de passe ?
> Qu'est-ce qu'un bon mot de passe ?
> Qu'est-ce qu'un bon mot de passe ?

- Il doit être résistant contre le bruteforce -> dépend de l'application

- Théoriquement, faut-il plutôt augmenter la longueur du mot de passe, ou ajouter différents caractères ?

- Il ne doit pas avoir de rapport avec vous

- Il est unique (comment faire ?)

> Le gestionnaire de mot de passe

- Plus de problème en cas d'attaque d'un serveur

- Plus besoin de retenir des mots de passe compliqués

- Gestionnaire local et gestionnaire en ligne

- Démo

> MFA

- "Multi Factor Authentication"

- Quelque chose que vous connaissez

- Quelque chose que vous possédez

- Quelque chose dont vous héritez

> MFA et 2FA

- Authenfication à deux facteurs

- Mot de passe + code pin ("token")

- Le token change toutes les 30 secondes

- Si votre mdp est compromis, on ne peut pas accéder à votre compte sans le token

- Donne un excellent niveau de sécurité pour la majorité des cas (discussion threat model)

L'ingénierie sociale

Le phishing

> Le phishing

- Tromper la victime, par exemple en se faisant passer pour quelqu'un d'autre

- But : récupérer des informations sensibles, installer un malware

- C'est le moyen plus utilisé par les pirates

- Il demande peu de connaissances techniques, mais peut engendrer des dégâts importants

> Le phishing : deux types

- Phishing de masse : message identique à des centaines de destinataires

- L'idée étant que statistiquement une petite proportion peut se faire tromper

- Phishing ciblé (spear phishing) : message personnalisé pour une victime (particulier, entreprise)

- Recueillir des informations sa cible pour augmenter les chances de réussite de l'attaque

> Le phishing

Exercice : https://phishingquiz.withgoogle.com/

> Le 2FA protège-t-il du phishing ?
> Autres exemples

- Fraude au président

- L'appel de "Kaspersky"

- Par SMS

L'ingénierie sociale pour prendre le contrôle de votre ordinateur

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)

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

bat, 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

Il 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 de savoir si le fichier est malveillant (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...

Comment vous y prendriez-vous pour induire quelqu'un à activer les macros offices ?

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?

Les vulnérabilités

> 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 (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 inexistant ou mal programmés, permettant à un utilisateur de voir des données d'un autre utilisateur (exemple univ Nanterre)

- 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 personne 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 faire quelque chose à la cible

Typiquement: cliquer sur un lien ou un code malveillant comme vu dans le chapitre précédent

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

1/ L'ingénierie sociale, que nous avons vu au chapitre précédent avec des macros et/ou fichier exécutables

2/ Des logiciels non mis à jour

Nous allons étudier ce deuxième scénario

Contrairement aux macros offices/fichier exécutables, qui nécessitait une action "d'acceptation de risque"

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 conséquences

(ie., voler vos fichiers, poser un keylogger, ...)

> Comment est-ce possible ?

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 *pratiquement 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 directement (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

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

Car ces logiciels manipulent des données qui proviennent souvent d'internet

> 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

A l'inverse, si l'éditeur est mis au courant du problème

-> celui-ci va développer et publier un correctif de sécurité rapidement

Les utilisateurs pourront alors installer une mise à jour aux utilisateurs

Tant que vous ne mettez pas à jour votre logiciel, vous êtes donc exposé à une faille de sécurité PUBLIQUE

N'importe qui peut essayer de l'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 pratiquement / probablement aucun intérêt à vous cibler

En effet, les 0days sont des failles précieuses qui peuvent valoir très cher

Elles nécessitent souvent 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 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

- Logiciel de piratage des mobile Pegasus

> 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 car beaucoup plus technique pour l'attaquant

Mais existe, d'où la nécessité de mettre à jour régulièrement

Ce dernier scénario est toutefois très efficace, 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

> Bug bounty

- Programme de recherche de vulnérabilités contre rémunération

- Chaque site, fournisseur de logiciel, peut proposer un programme de bug bounty

- Lorsque que quelqu'un trouve une vulnérabilité sur le site, il est payé en fonction de la sévérité

- Activité en développement et de plus en plus courante (mais n'a pas que des vertues)

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 de nombres premiers

Calculez de tête 31 * 23
> Décomposez, de tête, 779 en facteurs premiers
> 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)

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 SHA-256

> 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

> qu'est-ce qu'un sel cryptographique
Algorithmes et longueurs de clés

Appliquer les recommandations des cryptographes, ne pas "improviser"

En 2021, recommandations:

- Asymétrique: RSA 2048 bits

- Symétrique: AES 128 bits

- Algorithme de condensation / hash: SHA-256

Référence: https://www.keylength.com/fr/

Pour finir, un peu de vocabulaire (1/3)

Cryptographie : science visant à transformer, à l'aide de conventions secrètes, des informations en clair en informations inintelligibles sans connaître la clé

Cryptanalyse : science visant à analyser un message chiffré pour le rendre intelligible sans connaître la clé

Cryptologie : science regroupant la cryptographie et la cryptanalyse

Stéganographie : discipline de la cryptographie visant à camoufler des informations sur un support

Code : méthode de chiffrement substitant des mots du clair par d'autres mots

Pour finir, un peu de vocabulaire (2/3)

Chiffrer : convertir de l'information intelligible (texte clair) en information inintelligible (texte chiffré)

Déchiffrer : opération inverse, permet de retrouver le texte clair à partir du texte chiffré

Confidentialité : chiffrement de données qui assure que seules les entités autorisées y auront accès

Signature : preuve de l'intégrité de données et de l'identité de son auteur

Pour finir, un peu de vocabulaire (3/3)

Intégrité : garantie que des données n‘ont pas été modifiées ou altérées, toute modification doit être décelable

Authentification : processus visant à établir de manière formelle et intangible l'identification d’entités ou de données

Non-répudiation : caractéristique qui garantit qu’une action ou transaction ne puisse pas être mise en cause par son ou ses auteurs

Sécurité, risques et menaces

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

Cyberattaques

Les attaquants vont déployer divers types d'attaques :

> Attaques « au filet dérivant »

> Attaques ciblées

> Intrusion en ciblant des défauts de protection

> Rançongiciels

> Attaques par chaine d'approvisionnement

> Matériels ou logiciels piégés

> Dénis de service (DoS), Dénis de service distribués (DDoS)

Attaques « au filet dérivant »

> Tous les "scams" que vous recevez, non personalisés

> Courriels de phishing, contenant des malwares ou des liens (par exemple vers des fausses mires d'authentification)

> Attaques de point d'eau (Watering Hole)

Attaques ciblées (ingénierie sociale ou intrusions sans interaction utilisateur)

> Courriels malveillants personnalisés, spear phishing

> Faux sites ciblés, typosquatting

> Clés USB piégées...

> Exploitation de vulnérabilités sur les services en ligne

Attaques ciblées: cas réels

> En 2012, contre l'Elysée, utilisation de "Flame" et FB...

> De 2013 à aujourd'hui, contre des journalistes, politiques, opposants, militants... ciblés sur leurs mobiles par le logiciel Pegasus

> Compte Twitter de Trump

> Target et Banque centrale du Bangladesh

Compte Twitter de Trump (1/3)

Avant l'élection US de 2016, trois experts néerlandais avaient réussi à s'authentifier sur le compte Twitter de Trump. Comment ? En cherchant l’intéressé dans une base de comptes ayant fuité en 2012, provenant de LinkedIn. La base ne contenait pas les mots de passe, mais leurs condensés.

Pour savoir si vous apparaissez sur un leak: https://haveibeenpwned.com

Compte Twitter de Trump (2/3)

Le condensé associé à Trump était : 07b8938319c267dcdb501665220204bbde87bf1d

Comment retrouver le mot de passe correspondant ?

Ils ont utilisé un outil, John the Ripper, pour trouver le mot de passe.

Mais dans ce cas, parce que les mots de passes n’étaient pas salés, ils auraient aussi pu utiliser des rainbow table, comme celles accessibles sur https://crackstation.net

Compte Twitter de Trump (2/3)

> 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

Target - Décembre 2013 (1/2)

Vol de 40 millions de numéros de carte de crédit et des données personnelles de 70 millions de personnes.

Dommages estimés : plus de 150 millions de dollars (mais les estimations de pertes financières sont toujours sujettes à caution).

Target - Décembre 2013 (2/2)
Banque centrale du Bangladesh - 2016 (1/2)

Vol de 81 millions de dollars, via l'infrastructure SWIFT

Banque centrale du Bangladesh - 2016 (2/2)

Détails sur

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

Rançongiciels (ransomwares)

> Chiffrement des données de la cible et demande de rançon

> Eventuellement, vol et publication de données pour augmenter la pression

> Paiement? Assurances cyber?

Rançongiciels: cas réels

> Avril 2020: d'après une étude, 46% des PME / TPE britanniques ont été ciblées par des rançongiciels et 73% de celles chez qui les attaques ont fonctionné... ont payé.

> 2017: WannaCry. Victimes: Nissan, Telefónica, FedEx...

> 2017: Petya / NotPetya. Victimes: Maersk, Saint-Gobain, DHL...

> 2021: Colonial Pipeline

Attaques par chaine d'approvisionnement (supply chain attacks)

> Compromission d'un fournisseur de logiciel

> Distribution aux clients / utilisateurs de versions compromises

> Très difficile de s'en prémunir

Matériel ou logiciels piégés

> Trappes - backdoors

> Historiquement, les services de renseignement (Exemple: Stuxnet 2010)

> Ce que vous téléchargez sur des sources non sûres peut être compromis (logiciels, apps, extensions des navigateurs...)

Dénis de service (DoS), Dénis de service distribués (DDoS)

> Rendre des sites / services indisponibles en envoyant des requêtes pour saturer le service

> Soit depuis une ou quelques sources: Denial of Service (DoS)

> Soit depuis de très nombreuses sources (bots), Distributed Denial of Service (DDoS)

> Exemples: Dyn (provider de DNS), en 2016: botnet IoT, plusieurs centaines de Gbps

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 »

Mesures de sécurité

Défense périmétrique

La défense périmétrique, ce sont toutes les mesures de sécurité visant à isoler un système d’information de « l’extérieur ».

Défense périmétrique

Mesures et dispositifs permettant par exemple de :

- Dissimuler le réseau et les services internes de l’extérieur

- Filtrer le trafic entrant et sortant

- Filtrer les données entrantes, i.e. le contenu du trafic

- Délimiter des zones de confiance variable: réseau local, internet

- Détecter des tentatives d’intrusion

- Créer des points d’accès distants (pour connexions à d’autres réseaux, à Internet).

Pare-feu

Un pare-feu est un équipement de sécurité réseau qui permet de filtrer et surveiller le trafic entre des zones réseau, selon des règles préétablies.

Options de règles typiques :

- Tout ce qui n’est pas explicitement interdit est autorisé : liste noire (blacklist) ;

- Tout ce qui n’est pas explicitement autorisé est interdit : liste blanche (whitelist).

DMZ

Une « zone démilitarisée » est une zone entre deux zones de sensibilité différentes, par exemple un réseau interne et Internet.

On y met les serveurs et composants qui sont "à cheval" sur les deux zones et cela permet de filtrer et d'interrompre les flux.

Exemples de composants: Serveurs web, serveurs de messagerie, accès VPN, répartiteurs de charge, proxy web...

IDS / IPS

Une sonde IDS (Intrusion Detection System) est un dispositif qui surveille le trafic réseau pour détecter des signes de malveillance ou des violations des politiques de sécurité.

Les sondes qui savent bloquer un flux sont appelées IPS (Intrusion Prevention System).

Filtrage des courriels

Les virus et codes malveillants (malwares) sont un risque connu depuis longtemps, ils arrivent souvent par courriel.

Filtrer les courriels entrants est un enjeu important: spams, scams (selon réputation), liens et pièces jointes malveillantes, spoofing...

Filtrage des accès web

Dans la plupart des organisations existent des proxys web, qui relaient les requêtes des utilisateurs au sein d’un réseau local.

Ces équipements ont des fonctions de sécurité importantes: filtrage par catégories / réputation, listes noires, contenu

INTERLUDE

La sécurité ce ne sont jamais que des logiciels, des produits ; la sécurité ce sont des processus.

Défense en profondeur

La défense en profondeur consiste à mettre des défenses au cœur du système d’information (SI), et pas uniquement en périphérie. Cela vise à ralentir ou stopper un attaquant qui aurait percé les défenses périmétriques.

Défense en profondeur

On modélise en général la défense en profondeur en quatre activités :

- Sécuriser le réseau

- Sécuriser les hôtes (serveurs, postes de travail)

- Sécuriser les applications

- Sécuriser les données

Cloisonnement interne

Un réseau interne peut-être « à plat » ou cloisonné.

S’il est « à plat », toute @IP peut être jointe par toute @IP

Le cloisonnement réseau consiste à définir des sous-réseaux différents, et à filtrer les flux entre ces sous-réseaux.

Antivirus

Logiciels, parfois appelés antimalwares, destinés à détecter, stopper et supprimer les logiciels malveillants (virus, vers, keyloggers, rootkits, ransomwares, chevaux de Troie…).

Les malwares détectés peuvent être bloqués, supprimés ou mis en quarantaine.

Détections sur le principe de signatures ou de comportements

Exemples d’antivirus : https://www.virustotal.com

VPM (Vulnerability and Patch Management)

Il s’agit du processus de gestion continue des vulnérabilités techniques. C’est un pilier de ce que l’on appelle le maintien en conditions de sécurité (MCS).

Tous les jours sont publiées des vulnérabilités affectant les OS, les logiciels, les firmware…

Durcissement (hardening)

Le durcissement des systèmes consiste à en réduire la surface d’attaque, c’est-à-dire les potentielles vulnérabilités, en modifiant les configurations.

Exemples:

- Désactivation de comptes non nécessaires

- Modifications des mots de passe par défaut

- Désinstallation des logiciels inutiless

- Restrictions d’accès à certaines ressources

- Restriction de l’usage des droits administrateur

Chiffrement

Chiffrement des données "at rest"

Chiffrement des données "in transit"

Exemple: Gestion (chiffrées) de vos mots de passe: https://keepass.info

INTERLUDE

La sécurisation doit être homogène : la sécurité globale est toujours celle du maillon le plus faible.

Détection et réaction

Sur la base des traces, logs et alertes:

- Détecter les tentatives d'intrusion, au plus vite. Outil de traitement des évennements de sécurité: SIEM

- Investiguer, pour connaitre les impacts (forensics - anayse "post mortem")

- Réagir, pour limiter les impacts et empêcher que ça n'arrive à nouveau

Organisation:

SOC, CERT, cellules de crise, communication...

Tests de sécurité - Pentests (1/2)

Faire tester ses systèmes par des professionnels de la sécurité offensive

- Découvrez vos propres faiblesses avant qu’un tiers ne le fasse

- Corriger / réduire les risques

- La connaissance des attaques oriente la défense

Tests de sécurité - Pentests (2/2)

Types de pentests:

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