Inti Rossenbach | @secucrypt | cryptosec.org
Brendan Guevel | bguevel@protonmail.com
- Inti Rossenbach, expert / manager en cybersécurité depuis 1998
- Etudes de physique, cryptographie puis cybersécurité, expédition en Patagonie en kayak de mer, RSSI
- Cours de cybersécurité à Paris XIII
- www.cryptosec.org
- iro@cryptosec.org
- Twitter @secucrypt
- Brendan Guevel, consultant en cybersécurité
- Études en mathématiques, puis cryptologie et sécurité informatique
- bguevel@protonmail.com
kahoot.it
- 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
- 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
> Quels composants d’un ordinateur connaissez-vous ?
- S’exécute directement sur votre bureau
- "Dialogue" avec votre système d’exploitation
- En général plus rapide car on parle directement à l’OS
- S’exécute au travers d’un navigateur web
- "Dialogue" avec le navigateur web
- En général plus lent car cela rajoute une couche entre l’application et l’OS
- Dans les câbles : une suite de 0 et de 1
- Sous forme de signal électrique ou onde radio pour le wifi
- Un paquet est une courte série de 0 et de 1
- Les ordinateurs s’échangent des paquets pour communiquer
- Des protocoles sont utilisés pour communiquer
- c'est comme votre adresse postale, mais dans le contexte d'un réseau informatique
- c’est un numéro attribué à votre PC pour l'identifier dans le réseau
- exemple : 192.168.0.42
- cela permet aux paquets d'être acheminés à destination dans le réseau
- l'IP sert aussi au routage (acheminement) des paquets sur Internet
- quatre nombres compris entre 0 et 255 (en v4)
- cela fait 255*255*255*255 = à peu près 4 milliards de possibilités
- problème : nous sommes bientôt 8 milliards sur Terre, comment faire ?
- les réseaux domestiques utilisent les mêmes adresses IP privées
- exemple d'adresse privée : 192.168.0.x avec x qui peut varier de 0 à 255
- seul le routeur (box free, bouygues, ...) est relié directement à internet
- seul ce routeur a donc une IP unique : c'est l'IP publique
- les villes ont toutes un nom unique différent
- les rues n'ont pas un nom unique
- si je dis "la rue Victor Hugo", on ne sait pas d'où je parle car il y en a plusieurs en France
- si je dis "la rue Victor Hugo à Paris" on sait la situer
- c'est un ordinateur un peu particulier
- il n'a pas vocation à être utilisé avec un écran, clavier ou une souris
- il héberge des données (pages web, données bancaires, ...)
- il envoie ses données aux autres ordinateurs quand on lui demande
Voyez-vous un équipement qui pourrait être un serveur sur l'image ?
> Architectures client - serveur
- des cas très caractéristiques de serveurs sont les serveurs web
- lorsque vous consultez un site web, votre ordinateur envoie des requêtes vers des ordinateurs, qui hébergent les serveurs web
- le serveur web répond aux requêtes en envoyant des pages web (html) que votre navigateur affichera
Un unique serveur et plusieurs clients
Facile à implémenter
Possibilité de surcharge réseau
Données centralisées
Problème de la sauvegarde
Tout le monde est client et serveur à la fois
Un peu plus dur à gérer
Plus rare d’avoir une surcharge réseau
Données décentralisées
Pas de problème de sauvegarde
Pourquoi, pour aller sur www.wikipedia.org, n'écrit-on pas son adresse IP ?
Comment se fait-il que vous n'ayez pas des adresses IP à retenir?
- 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
- le système dans son ensemble est distribué (pas d’autorité centrale)
- si un serveur DNS n'a pas la réponse, la requête est transmise à d'autres serveurs DNS
- les noms de domaines peuvent être acquis auprès de bureaux d’enregistrement, ou registrars
- requêter un serveur DNS "à la main" avec nslookup
- observer des entrées DNS chez un registrar (gandi.net)
> routage
L'@IP sert au routage (acheminement) des paquets sur Internet.
Le routage permet de sélectionner les chemins au sein d’un réseau pour convoyer des données d’un expéditeur à un ou plusieurs destinataires
Le routage est un processus décentralisé: chaque routeur dispose des informations sur son voisinage
Les routeurs ont des « table de routage » (association à des réseaux / routeurs voisins) qui contiennent 3 types de routes :
- réseaux directement connectés
- les routes statiques, en dur (par exemple pour les admins)
- les routes dynamiques, acquises via un protocole de routage dynamique : réseaux disponibles
Si un routeur est trop occupé pour traiter des paquets ou que le « time to live » le paquet est détruit
> 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
- Une "nouvelle" version de IPv4 (elle date de 1998)
- IPv4 reste aujourd'hui la version la plus utilisée
- Avantage IPv6 : 2128 adresses possibles au lieu de 232
- 232 = 4294967296
- 2128 = 340282366920938463463374607431768211456
- plus de problème de pénurie d'adresse comme IPv4
- IPv6 pourrait donc permettre de donner une IP publique à tous les ordinateurs du monde
- mais est-ce qu'on veut vraiment faire ça ?
- comme expliqué avant, donner une IP publique à un ordinateur revient à le rendre accessible depuis internet
- aujourd'hui de + en + d'équipements sont "connectés"
- caméra, réfrigérateur, télévision, domotique, ...
- avec IPv6, tous ces équipements pourraient être accessibles directement depuis internet
- si un logiciel vulnérable se trouve sur un de ces équipements -> compromission possible de l'équipement
- 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
É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
- 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 ?
Dans quelles situations un mot de passe peut être compromis ?
- 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
- 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 ?)
- 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
- "Multi Factor Authentication"
- Quelque chose que vous connaissez
- Quelque chose que vous possédez
- Quelque chose dont vous héritez
- 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)
- 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
- 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
Exercice : https://phishingquiz.withgoogle.com/
- Fraude au président
- L'appel de "Kaspersky"
- Par SMS
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?
- 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)
- 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
- 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
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, ...)
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
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
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
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
- 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)
-> dwwdtxh ghpdlq pdwlq
- comment déchiffrer ce message ?
-> dwwdtxh ghpdlq pdwlq
-> attaque demain matin
- on peut améliorer notre système de césar
- on substitue chaque lettre de l'alphabet par une autre
- la clef -> élément secret connu seulement de l'expéditeur et du destinataire
- le système -> mécanisme qui prend un texte à chiffrer avec une clef, et le rend inintelligible
en bref : chiffrer un message revient à transformer un grand secret en un petit secret
- un chiffrement consiste à rendre un message inintelligible avec un système et une clef secrète
- un encodage consiste à réécrire une information avec un code (souvent publique)
- la stéganographie : cacher un message
- lors de la seconde guerre mondiale, cacher le système était vital
- si le système tombait dans les mains de l'ennemi, il s'en trouvait affaibli voire compromis
- exemple d'Enigma, la machine utilisée par les militaires allemands
- Le système de chiffrement/déchiffrement doit être robuste
- Le système doit pouvoir tomber dans les mains de l'ennemi sans crainte
- La clef doit pouvoir être retenue sans le secours de notes écrites
- En bref -> la seule chose secrète est la clef
- tout ce que l'on vient de voir précédemment concerne le chiffrement symétrique
- la clef utilisée pour chiffrer et déchiffrer un message est identique
- problématique de l'échange de clef -> comment échanger la clef ?
- pendant la seconde guerre mondiale, il y avait des carnets de code
- utilise une clef différente pour chiffrer et déchiffrer
- les deux clefs ne doivent pas pouvoir être retrouvées l'une à partir de l'autre
- cette asymétrie entre un problème mathématique facile d'un côté et difficile de l'autre est la base des chiffrements asymétriques
- le chiffrement RSA, un des premiers chiffrements asymétriques, repose sur la factorisation des nombres premiers
- si vous trouvez un moyen de factoriser rapidement les nombres, vous cassez RSA
- et vous devenez riche
- on parle de clef publique pour chiffrer un message
- et de clef privée pour déchiffrer
- nous n'avons plus besoin d'échanger une clef de façon secrète au préalable pour communiquer de manière chiffrée
- chacun doit avoir un couple clef privée/publique
- pour accéder aux sites web de manières sécurisée
- pour chiffrer vos messages sur whatsapp et autre application de chat
- en bref : pour établir n'importe quel canal sécurisé entre 2 machines (voir VPN plus tard)
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
- 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
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/
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
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
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
La sécurité est une situation objective caractérisée par la seule présence de risques maitrisés.
> La sûreté est relative aux risques accidentels tandis que la sécurité traite des actes malveillants.
> Mais dans le domaine informatique, le terme utilisé est « sécurité » (« sûreté » est utilisé en sécurité physique).
Les risques sont des contingences indésirables qui peuvent être avérées, potentielles ou futures.
Ils découlent d'une probabilité qu'une menace exploite, intentionnellement ou non, une vulnérabilité.
Il y a quatre façons de traiter un risque unitaire :
> le réduire
> l'accepter
> le refuser
> le transférer
La sécurisation résulte toujours d'une dynamique.
La façon classique de présenter les risques :
> Risque = (Menace) x (Vulnérabilité)
> Quantification du risque = (Impact) x (Probabilité d'occurrence)
Quel est le problème de cette approche de quantification des risques ?
Les impacts peuvent se décliner en trois catégories :
> Intégrité
> Confidentialité
> Disponibilité
Enfin, les mesures de sécurité peuvent se diviser en trois catégories :
> Prévention : mesures visant à empêcher la matérialisation d'un risque, ou retarder les actions d'attaquants. Réduisent la probabilité d'occurrence, la surface d'attaque.
> Détection : nécessaires si l'on admet qu'aucune mesure de sécurité préventive ne peut arrêter un attaquant suffisamment motivé, compétent ou doté de moyens assez importants.
> Réaction : mesures qui visent à réduire l'impact d'une attaque, suite à sa détection.
Trouver cet équilibre est essentiel.
Non seulement le risque 0 ne peut pas exister, mais il n'y a pas de vie sans risques.
Et la sécurité a un cout, en énergie, en temps, en argent, mais aussi en usage et en liberté.
Il faut toujours se demander si le cout des moyens de sécurité n'est pas disproportionné, ou ne met pas en jeu certains principes essentiels.
La bonne sécurité résulte toujours d'un équilibre...
(et ce n'est pas dans l'ère du temps)
Pour faire de la bonne sécurité, il faut savoir penser comme un attaquant.
Et donc essayer de savoir qui ils peuvent être...
Objectifs : Gains financiers
Moyens : vol et revente de données, fraudes et détournements de fonds, demandes de rançons, mise à disposition d'infrastructures d'attaques (CaaS, botnets, etc.)
Objectifs : Divers / Opportunistes
Moyens : Opportuniste, utilisation d'outils et de services d'attaques
Objectifs : Espionnage, désinformation, cyberguerre
Moyens très importants : dénis de service, attaques ciblées, portes dérobées...
Objectifs : Espionnage industriel, avantage concurrentiel
Moyens : Dénis de services, vol de données, attaques ciblées, ransomwares, via des mercenaires
Objectifs : Divers
Moyens : Accès à des ressources non protégées, exploitation de lacunes de sécurité
Objectifs : Impact médiatique, politique
Moyens : Défacements, dénis de service, vol de données
Objectifs : Gain de temps, aucun
Moyens : Manque de sensibilisation à la sécurité, complexité du SI
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)
> 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)
> 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
> 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
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
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
> 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
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).
Vol de 81 millions de dollars, via l'infrastructure SWIFT
Détails sur
> 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?
> 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
> Compromission d'un fournisseur de logiciel
> Distribution aux clients / utilisateurs de versions compromises
> Très difficile de s'en prémunir
> 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...)
> 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
Loi Godfrain du 5 janvier 1988
Loi 88-19 relative à la fraude informatique
Article 462-2: Quiconque, frauduleusement, aura accédé ou se sera maintenu dans tout ou partie d'un système de traitement automatisé de données sera puni d'un emprisonnement de deux mois a un an et d'une amende de 2 000 F a 50 000 F ou de l'une de ces deux peines. Lorsqu'il en sera résulté soit la suppression ou la modification de données contenues dans les systèmes, soit une altération du fonctionnement de ce système, l'emprisonnement sera de 2 mois a 2 ans et l'amende de 10 000 F a 100 000 F.
Article 462-3
Quiconque aura, intentionnellement et au mépris des droits d'autrui, entravé ou faussé le fonctionnement d'un système de traitement automatisé de données sera puni d'un emprisonnement de trois mois à 3 ans et d'une amende de 10 000 F a 100 000 F ou de l'un de ces deux peines.
Article 462-4
Quiconque aura, intentionnellement et au mépris des droits d'autrui, directement ou indirectement, introduit des données dans un système de traitement automatisé ou supprimé ou modifié les données qu'il contient ou leurs modes de traitement ou de transmission sera puni d'un emprisonnement de 3 mois a 3 ans et d'une amende de 2000 F a 500 000 F ou de l'une de ces deux peines.
En mai 2015, jurisprudence de la Cour de Cassation dans l’affaire « Bluetouff »
Détenir et manipuler des outils et techniques permettant des intrusions est-il légal ?
En 2004, la Loi pour la confiance dans l'économie numérique modifie ajoute un article :
L. 323-3-1 : « le fait, sans motif légitime, d'importer, de détenir, d'offrir, de céder ou de mettre à disposition un équipement, un instrument, un programme informatique ou toute donnée conçus ou spécialement adaptés pour commettre une ou plusieurs des infractions prévues par les articles 323-1 à 323-3 »
Détenir et manipuler des outils et techniques permettant des intrusions est-il légal ?
En 2013 loi 2013-1168 du 18 décembre 2013, dite « programmation militaire » amende cet article (article 25) en ajoutant une exception, « un motif légitime, notamment de recherche ou de sécurité informatique »
La défense périmétrique, ce sont toutes les mesures de sécurité visant à isoler un système d’information de « l’extérieur ».
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).
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).
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...
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).
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...
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
La sécurité ce ne sont jamais que des logiciels, des produits ; la sécurité ce sont des processus.
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.
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
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.
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
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…
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 des données "at rest"
Chiffrement des données "in transit"
Exemple: Gestion (chiffrées) de vos mots de passe: https://keepass.info
La sécurisation doit être homogène : la sécurité globale est toujours celle du maillon le plus faible.
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...
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
Types de pentests:
A des fins de conception, de maintenance et de sécurité, les logiciels journalisent l'historique des évènements qu'ils traitent ou subissent
Un fichier de log ou journal d'évènements est un fichier qui contient ces entrées.
Tous les logiciels peuvent en générer, avec différents niveaux de détail.
"access.log" d'un serveur web:
logs d'erreur d'un logiciel:
historique d'un navigateur:
> Les traces / logs peuvent servir à:
- Identifier un dysfonctionnement, une erreur
- Identifier des tendances, faire des statistiques
- la sécurité
- comme élément de preuve
- Dans l'historique de votre navigateur
- Sur les équipements réseau qu'ont traversé vos requêtes
- Sur les serveur DNS
- Sur les moteurs de recherche que vous avez utilisés
- Sur le serveur qui héberge le site que vous consultez
C’est un petit fichier défini et envoyé par un serveur à un navigateur, que ce dernier renvoie au serveur lorsque nécessaire
Dans le cas d’une authentification précédente, un cookie peut contenir :
-la langue du visiteur
-divers réglages comme l’écran et couleur du visiteur
-un identifiant de session qui évite de se ré-authentifier
> Exemple de cookie (1/2)
> Exemple de cookie (2/2)
Au début il y avait des annuaires, puis sont apparus les moteurs de recherche, comme Google.
Ses algorithmes de classement ne sont pas publics.
Mais l’idée générale est que plus une page est référencée ou vue, plus elle est haut dans le classement. Sauf si le propriétaire paie…
Estimation du stockage cumulé Google, Amazon, Microsoft and Facebook :
1200 petaoctets = 1.2 millions de teraoctets (1 teraoctet = 1000 gigaoctets)
Une grande partie de ces données sont indexées : analogie avec une bibliothèque
Une entrée d'un index comporte une valeur extraite des données et un pointeur vers son emplacement
" "
-
*
AND
OR
Illustration!
site :
filetype :
inurl :
cache :
link :
…
Exemple :
inurl:/host.txt + filetype:txt + "password"
Si je clique sur un résultat, est-ce une intrusion ?
Les fichiers, sur un disque dur ou une clé USB, sont organisés par un système de fichiers (filesystem en anglais)
Exemples de systèmes de fichiers : FAT (Windows), FAT32 (Windows), NTFS (Windows), ext3fs (Linux), ext4fs (Linux), HFS (MacOS)…
Les fichiers écrits sur le disque sont référencés par des métadonnées (données descriptives d'autres données)
Données décrivant la façon dont sont stockées les données
Lorsque l’on met un fichier à la « corbeille » (Windows / MAC), il est simplement déplacé
Lorsqu’à lieu un effacement définitif (manuel ou que la « corbeille » est vidée), les métadonnées sont modifiées:
L’espace occupé par les données sur le disque redevient disponible
Tant que de nouvelles données ne sont pas réécrites sur cet espace, les anciennes données sont « récupérables »
Un formatage simple n’efface pas non plus les données
Il est possible de « récupérer » les données qui ont perdu leurs données d’indexation (synonyme, dans ce contexte, de "métadonnées")
Quelques prérequis : on doit avoir accès au disque, le disque ne doit pas être chiffré
En général les fichiers ont quelques octets, au début ou à la fin, qui permettent de les identifier
(par exemple 0xFFD8 signifie SOI – start of image – pour JPEG)
Exemple de logiciel permettant la récupération de fichiers effacés : photorec
Permet de récupérer des images (jpg, etc.), mais aussi des mp3, docx, pdf, zip, etc.
Autres outils : foremost ou PC Inspector File Recovery
Parfois les fichiers peuvent être endommagés, parce qu’une partie des secteurs qui ont été libérés pendant son effacement ont commencé à être réécrits
Si l’ordinateur est utilisé, plus le temps passe moins on a de chances de récupérer des fichiers complets
Si la MFT (Windows - Master File Table. Ce sont les métadonnées dans le cas du système de fichier NTFS - Microsoft. Filesystem successeur de FAT) ou les inodes (Unix / Linux) ne sont pas écrasés, on peut espérer retrouver les noms et autres métadonnées
Si l’on veut effacer des données définitivement, il faut réécrire de multiples fois sur les secteurs libérés
Il existe des logiciels d’effacement sécurisé (« wipe » en anglais)
En SSD (Solid-State Drive) c’est beaucoup plus complexe qu’en HDD (Hard Drive Disk, les disques durs traditionnels). Les données ne sont pas nécessairement réécrites à l’ancienne place du fichier effacé
(HDD et SSD sont les deux "types" de stockage de masse (disques durs). HDD, les classiques, anciens. Stockage magnétique. Disque dur qui tourne et une tête qui lit. SSD: les nouvelles technos de stockage. Typiquement les clés USB. Ou dans vos ordis portables modernes. Beaucoup plus rapide. Plus compacte. Stocke plus)
Il existe des dispositifs matériels (microscope à force magnétique), complexes d’utilisation, qui permettent de récupérer des données. Typiquement utilisées par certains acteurs gouvernementaux
Incertitude sur les capacités matérielles de recouvrement des données effacées
Mais si on veut effacer de façon sécurisée il faut procéder à des réécritures, ou, mieux, démagnétiser / détruire le disque
Concernant les réécritures, sur les supports modernes de stockage il n’est pas évident que plus d’une réécriture soit nécessaire. Il faut prendre en compte la durée de telles opérations
À noter que l’effacement des données est nécessaire dans toutes les organisations après que les ordinateurs soient amortis et avant qu’ils ne soient revendus à des brokers (revendeurs)
Les fichiers manipulés par les utilisateurs (documents, musique, images, etc.) ne représentent qu’une faible proportion des fichiers enregistrés par le système : fichiers temporaires, caches, traces, fichiers spécifiques des applications, etc.
> VPN
- "réseau privé virtuel"
- deux objectifs possibles :
- créer un tunnel chiffré entre 2 ordinateurs / réseaux
- créer un réseau privé qui passe par internet
- possibilité de l'utiliser pour cacher son IP publique
- c'est donc l'IP de l'ordinateur VPN qui sera visible sur les paquets réseau
- attention : l'hébergeur du VPN, lui, est toujours au courant des sites que vous visitez
- cela ne sécurise en rien votre ordinateur, cela permet tout au plus de cacher votre identité
- selon les législations, les hébergeurs de VPN sont tenus de donner des informations aux autorités si besoin
The onion router
Réseau composé de noeuds, qui permet:
- l'anonymat (relatif) des connexions
- la confidentialité et l'intégrité des échanges
A été conçu par la marine US, puis est rapidement devenu un outil populaire pour échapper à la surveillance d'internet
Comme toute invention, connaît des usage détournés: DarkWeb
1/ Construction d'un circuit où chaque noeud ne connait que son prédécesseur et son successeur
2/ Chiffrement du paquet TCP pour chaque noeud... en couches successives