Sécurité des systèmes informatiques



Documents pareils
Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin


DNS : types d attaques et. techniques de. sécurisation. Le DNS (Domain Name System), un élément essentiel de l infrastructure Internet

Tech-Evenings Sécurité des applications Web Sébastien LEBRETON

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

Vulnérabilités et sécurisation des applications Web

Présenté par : Mlle A.DIB

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Sécurité des réseaux Les attaques

Attaques applicatives

DNSSEC. Introduction. les extensions de sécurité du DNS. Les dossiers thématiques de l AFNIC. 1 - Organisation et fonctionnement du DNS

Protection des protocoles

OZSSI NORD 4 JUIN LILLE. Conférence thématique: Sécurité des applications

Sécurité d IPv6. Sécurité d IPv6. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

TEST D INTRUSION : UNE SIMULATION DE HACKING POUR IDENTIFIER LES FAIBLESSES DE VOTRE SYSTÈME

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Devoir Surveillé de Sécurité des Réseaux

Domain Name System Extensions Sécurité

Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Impression de sécurité?

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

S Catalogue des Formations Sécurité. Présentation. Menu. Présentation P.2 Nos formations P.3 Modalités P.9 Bulletin d inscription P.

Vulnérabilités et solutions de sécurisation des applications Web

networks NOTE DE SYNTHESE SÉCURITÉ WORDPRESS

Cours 14. Crypto. 2004, Marc-André Léger

DNSSEC. Que signifie DNSSEC? Pourquoi a-t-on besoin de DNSSEC? Pour la sécurité sur Internet

Sécurité des applications Retour d'expérience

DenyAll Detect. Documentation technique 27/07/2015

The Mozilla Art Of War. David Teller. 20 septembre Laboratoire d Informatique Fondamentale d Orléans. La sécurité des extensions.

Rôle des FAI et des Datacenters dans les dispositifs de cyber-sécurité Ou comment tenter de rendre l Internet plus sûr.

Création d un «Web Worm»

Les rootkits navigateurs

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Découvrir les vulnérabilités au sein des applications Web

Audits Sécurité. Des architectures complexes

ISEC. Codes malveillants

GESTION DES INCIDENTS DE SÉCURITÉ DE L INFORMATION

La sécurité dans les grilles

Hébergement de sites Web

Groupe Eyrolles, 2006, ISBN : X

FORMATION PROFESSIONNELLE AU HACKING

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Les formations. ENI Ecole Informatique

Charte d installation des réseaux sans-fils à l INSA de Lyon

Cryptographie. Cours 3/8 - Chiffrement asymétrique

«Obad.a» : le malware Android le plus perfectionné à ce jour

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Sécurité des Postes Clients

Dr.Web Les Fonctionnalités

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

Protocoles cryptographiques

Rappels réseaux TCP/IP

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

ÉPREUVE COMMUNE DE TIPE Partie D

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

L'écoute des conversations VoIP

Les menaces informatiques

Projet Sécurité des SI

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

PHISHING/PHARMING. Les Nouvelles Techniques qui portent atteinte à l intégrité des S.I

Chap. I : Introduction à la sécurité informatique

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

les techniques d'extraction, les formulaires et intégration dans un site WEB

La Sécurité des Données en Environnement DataCenter

Mysql. Les requêtes préparées Prepared statements

Sécurité des réseaux sans fil

Indicateur et tableau de bord

Sécurité informatique

Meilleures pratiques de l authentification:

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Groupe Eyrolles, 2004, ISBN :

TD n o 8 - Domain Name System (DNS)

Concilier mobilité et sécurité pour les postes nomades

Fiche Technique. Cisco Security Agent

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Réseau - Sécurité - Métrologie - Data Center. Le leader du marché allemand des UTM débarque en France avec des arguments forts!

CATALOGUE DES FORMATIONS SECURITE INFORMATIQUE

Sécuriser les applications web

Club des Responsables d Infrastructures et de la Production

Signature électronique. Romain Kolb 31/10/2008

Compromission d'un environnement VOIP Cisco Exploitation du Call Manager SSTIC Francisco. Juin 2013 LEXFO 1

Cryptographie et fonctions à sens unique

DenyAll Protect. Sécurité & accélération. Parefeux pour applications et services Web. de vos applications.

Organisation de la Cyberse curite. E ric Jaeger, ANSSI/SDE/CFSSI Journe e SPECIF-Campus du 7 novembre 2014, CNAM, Paris

Sécurité des réseaux wi fi

Authentification de messages et mots de passe

FleXos : Présentation Zscaler

Le protocole RADIUS Remote Authentication Dial-In User Service

Menaces du Cyber Espace

Le protocole SSH (Secure Shell)

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Transcription:

Sécurité des systèmes informatiques Alex Auvolat, Nissim Zerbib 4 avril 2014 Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 1 / 43

Introduction La sécurité est une chaîne : elle est aussi solide que le plus faible de ses maillons. Facteurs les plus souvent en cause : erreur humaine faille dans l implémentation Intérêts nationaux et économiques majeurs mis en cause : certaines administrations et certains dirigeants des principales puissances mondiales sont encore vulnérables! vol d informations et de technologies cybercriminalité et surveillance des populations Bien sûr les illustrations ne sont pas de nous. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 2 / 43

Niveau de conscience de l utilisateur lambda quant à l importance de ces questions Une majorité de gens utilise des systèmes peu sécurisés. Les mots de passe les plus utilisés actuellement : 123456, password, motdepasse, qwerty, azerty etc. Certains chefs d état et de services de renseignements, de polices manquent d une formation basique à la cryptographie. Entre la corbeille non vidée de l affaire Clear Stream, les agendas papiers de gens qui touchent 500000 euros de prime d indic en liquide, ou un certain Paul Bismuth qui pense échapper à des écoutes en changeant de portable, il y a encore fort à faire pour éveiller les esprits. Pendant ce temps, les services secrets de divers pays écoutent toutes les communications mondiales, de nombreux cyber-attaquants sont aux aguets. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 3 / 43

Trouver le bon équilibre Il faut adapter la sécurité de son infrastructure à l ampleur de la menace et à la chaîne entière. Inutile de tout chiffrer si les utilisateurs sont totalement imprudents. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 4 / 43

I. Failles de sécurité et exploitation Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 5 / 43

La sécurité sous Unix Entités fondamentales pour la sécurité : utilisateurs groupes d utilisateurs (par exemple users ou wheel) Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 6 / 43

La sécurité sous Unix Entités fondamentales pour la sécurité : utilisateurs groupes d utilisateurs (par exemple users ou wheel) Permissions pour un fichiers : trois bits de droits (lecture, écriture, exécution) attribués à trois entités (utilisateur, groupe, autre) plus le bit setuid Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 6 / 43

Le bit setuid : un bon modèle de sécurité? Un programme appartenant à root et ayant le bit setuid sera exécuté en tant que root dans tous les cas, même s il est lancé par un utilisateur Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 7 / 43

Le bit setuid : un bon modèle de sécurité? Un programme appartenant à root et ayant le bit setuid sera exécuté en tant que root dans tous les cas, même s il est lancé par un utilisateur Intérêt : permet l implémentation de commandes telles que su ou sudo. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 7 / 43

Le bit setuid : un bon modèle de sécurité? Un programme appartenant à root et ayant le bit setuid sera exécuté en tant que root dans tous les cas, même s il est lancé par un utilisateur Intérêt : permet l implémentation de commandes telles que su ou sudo. Inconvénient : si le programme est vulnérable (buffer overflow par exemple), ou s il a été modifié, cela permet une escalade des privilèges. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 7 / 43

Le chroot : un bon modèle de sécurité? C est un appel système qui permet de restreindre la portion du système de fichiers qui est visible pour l application. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 8 / 43

Le chroot : un bon modèle de sécurité? C est un appel système qui permet de restreindre la portion du système de fichiers qui est visible pour l application. Intérêt : exécuter un service ou un programme dangereux dans un environnement restreint, où il ne pourra pas faire trop de mal. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 8 / 43

Le chroot : un bon modèle de sécurité? C est un appel système qui permet de restreindre la portion du système de fichiers qui est visible pour l application. Intérêt : exécuter un service ou un programme dangereux dans un environnement restreint, où il ne pourra pas faire trop de mal. Inconvénient : un programme qui tourne en tant que root dans un environnement chrooté peut facilement s échapper. D autre part, seul root peut appeller l appel système chroot. Il faut donc penser à toujours abandonner ses privilèges root après avoir fait un chroot. http://www.bpfh.net/simes/computing/chroot-break.html Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 8 / 43

Le chroot : un bon modèle de sécurité? C est un appel système qui permet de restreindre la portion du système de fichiers qui est visible pour l application. Intérêt : exécuter un service ou un programme dangereux dans un environnement restreint, où il ne pourra pas faire trop de mal. Inconvénient : un programme qui tourne en tant que root dans un environnement chrooté peut facilement s échapper. D autre part, seul root peut appeller l appel système chroot. Il faut donc penser à toujours abandonner ses privilèges root après avoir fait un chroot. http://www.bpfh.net/simes/computing/chroot-break.html D autres méthodes d isolement ont été développées : Jails de FreeBSD, virtualisation,... Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 8 / 43

La faille classique : le buffer overflow Origine de la faille : erreur de programmation (omission volontaire ou erreur d inattention) Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 9 / 43

La faille classique : le buffer overflow Origine de la faille : erreur de programmation (omission volontaire ou erreur d inattention) Tous les programmes écrits dans un langage non managé comme C ou C++ sont vulnérables Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 9 / 43

La faille classique : le buffer overflow Origine de la faille : erreur de programmation (omission volontaire ou erreur d inattention) Tous les programmes écrits dans un langage non managé comme C ou C++ sont vulnérables En particulier : le noyau, les services réseau (serveur mail, web, SQL,... ), etc. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 9 / 43

La faille classique : le buffer overflow Origine de la faille : erreur de programmation (omission volontaire ou erreur d inattention) Tous les programmes écrits dans un langage non managé comme C ou C++ sont vulnérables En particulier : le noyau, les services réseau (serveur mail, web, SQL,... ), etc. L exploitation d un buffer overflow permet d exécuter du code arbitraire (injection de code) Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 9 / 43

Le buffer overflow en pratique Désolé, pas de démo (ça marche pas... ) http://www.skullsecurity.org/wiki/index.php/example_4 Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 10 / 43

Stratégies de protection Addess space layout randomization : on met la pile et le tas à des adresses aléatoires, pour qu il soit plus dur d y écrire du code qui sera à une position prévisible. Il est donc plus dur de déterminer, entre autres, l adresse à laquelle faire un jump. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 11 / 43

Stratégies de protection Addess space layout randomization : on met la pile et le tas à des adresses aléatoires, pour qu il soit plus dur d y écrire du code qui sera à une position prévisible. Il est donc plus dur de déterminer, entre autres, l adresse à laquelle faire un jump. Data execution prevention : on sépare les parties de la mémoire qui sont du code, que l on met en lecture seule, et les parties qui sont des données sur lesquelles on peut ecrire (typiquement, la pile). On interdit l exécution des données (c est le CPU qui gère ça) Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 11 / 43

Stratégies de protection Addess space layout randomization : on met la pile et le tas à des adresses aléatoires, pour qu il soit plus dur d y écrire du code qui sera à une position prévisible. Il est donc plus dur de déterminer, entre autres, l adresse à laquelle faire un jump. Data execution prevention : on sépare les parties de la mémoire qui sont du code, que l on met en lecture seule, et les parties qui sont des données sur lesquelles on peut ecrire (typiquement, la pile). On interdit l exécution des données (c est le CPU qui gère ça) Certification statique des programmes : tout le monde connaît Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 11 / 43

Plus sur les buffer overflow Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 12 / 43

Attaques sur le réseau : les attaques DoS et DDoS Attaque DoS : denial of service. Principe : on envoie un nombre massif de requêtes à un serveur pour l empêcher d effectuer son travail correctement. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 13 / 43

Attaques sur le réseau : les attaques DoS et DDoS Attaque DoS : denial of service. Principe : on envoie un nombre massif de requêtes à un serveur pour l empêcher d effectuer son travail correctement. De telles attaques peuvent être empêchées en bloquant tout le trafic venant d une addresse IP si on voit qu elle abuse. De plus, elles sont de puissance limitée. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 13 / 43

Attaques sur le réseau : les attaques DoS et DDoS Attaque DoS : denial of service. Principe : on envoie un nombre massif de requêtes à un serveur pour l empêcher d effectuer son travail correctement. De telles attaques peuvent être empêchées en bloquant tout le trafic venant d une addresse IP si on voit qu elle abuse. De plus, elles sont de puissance limitée. Attaque DDos : distributed denial of service. Principe : on utilise un nombre important de machines connectées au réseau pour lancer toutes ces requêtes. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 13 / 43

Attaques sur le réseau : les attaques DoS et DDoS Attaque DoS : denial of service. Principe : on envoie un nombre massif de requêtes à un serveur pour l empêcher d effectuer son travail correctement. De telles attaques peuvent être empêchées en bloquant tout le trafic venant d une addresse IP si on voit qu elle abuse. De plus, elles sont de puissance limitée. Attaque DDos : distributed denial of service. Principe : on utilise un nombre important de machines connectées au réseau pour lancer toutes ces requêtes. De telles attaques sont bien plus difficiles à mitiger. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 13 / 43

Attaques sur le réseau : les attaques DoS et DDoS Attaque DoS : denial of service. Principe : on envoie un nombre massif de requêtes à un serveur pour l empêcher d effectuer son travail correctement. De telles attaques peuvent être empêchées en bloquant tout le trafic venant d une addresse IP si on voit qu elle abuse. De plus, elles sont de puissance limitée. Attaque DDos : distributed denial of service. Principe : on utilise un nombre important de machines connectées au réseau pour lancer toutes ces requêtes. De telles attaques sont bien plus difficiles à mitiger. En pratique, ce sont souvent des botnets qui sont utilisés pour les Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 13 / 43

Attaques sur le réseau : les attaques DoS et DDoS Attaque DoS : denial of service. Principe : on envoie un nombre massif de requêtes à un serveur pour l empêcher d effectuer son travail correctement. De telles attaques peuvent être empêchées en bloquant tout le trafic venant d une addresse IP si on voit qu elle abuse. De plus, elles sont de puissance limitée. Attaque DDos : distributed denial of service. Principe : on utilise un nombre important de machines connectées au réseau pour lancer toutes ces requêtes. De telles attaques sont bien plus difficiles à mitiger. En pratique, ce sont souvent des botnets qui sont utilisés pour les Les hacktivistes d anonymous aiment bien ce genre d attaques... Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 13 / 43

Étude de cas : amplification DNS Le système DNS a pour but de nous permettre de nous y retrouver dans l internet : il rend possible la résolution nom de domaine vers adresse IP. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 14 / 43

Étude de cas : amplification DNS Le système DNS a pour but de nous permettre de nous y retrouver dans l internet : il rend possible la résolution nom de domaine vers adresse IP. Le protocole DNS utilise des sockets UDP. Conséquence : on peut envoyer une requête DNS en se faisant passer pour n importe qui, et la réponse est envoyée à cette personne. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 14 / 43

Étude de cas : amplification DNS Le système DNS a pour but de nous permettre de nous y retrouver dans l internet : il rend possible la résolution nom de domaine vers adresse IP. Le protocole DNS utilise des sockets UDP. Conséquence : on peut envoyer une requête DNS en se faisant passer pour n importe qui, et la réponse est envoyée à cette personne. Il existe une requêtes DNS qui demande une liste de tous les domaines gérés par le serveur en question... Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 14 / 43

Étude de cas : amplification DNS Le système DNS a pour but de nous permettre de nous y retrouver dans l internet : il rend possible la résolution nom de domaine vers adresse IP. Le protocole DNS utilise des sockets UDP. Conséquence : on peut envoyer une requête DNS en se faisant passer pour n importe qui, et la réponse est envoyée à cette personne. Il existe une requêtes DNS qui demande une liste de tous les domaines gérés par le serveur en question... vous voyez où je veux en venir? Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 14 / 43

Les failles du web : les injections SQL Prenez par exemple la requête SQL suivante : statement = "SELECT * FROM users ". "WHERE name = " + username + " ;" Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 15 / 43

Les failles du web : les injections SQL Prenez par exemple la requête SQL suivante : statement = "SELECT * FROM users ". "WHERE name = " + username + " ;" Maintenant, supposons que la variable username soit définie librement par l utilisateur. Par exemple : or 1 = 1 Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 15 / 43

Les failles du web : les injections SQL Prenez par exemple la requête SQL suivante : statement = "SELECT * FROM users ". "WHERE name = " + username + " ;" Maintenant, supposons que la variable username soit définie librement par l utilisateur. Par exemple : or 1 = 1 Ou pire encore : a ;DROP TABLE users; SELECT * FROM groups WHERE t = t Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 15 / 43

Les failles du web : les injections SQL Ce genre de failles arrive souvent sur des sites Web codés avec les pieds en PHP (mais pas que!) Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 16 / 43

Les failles du web : les injections SQL Ce genre de failles arrive souvent sur des sites Web codés avec les pieds en PHP (mais pas que!) Conséquence : on peut voler des informations (typiquement, liste de nom d utilisateurs/emails/mots de passes), et exécuter n importe quelle modification sur le serveur. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 16 / 43

Les failles du web : les injections SQL Ce genre de failles arrive souvent sur des sites Web codés avec les pieds en PHP (mais pas que!) Conséquence : on peut voler des informations (typiquement, liste de nom d utilisateurs/emails/mots de passes), et exécuter n importe quelle modification sur le serveur. La solution la plus élémentaire consiste à rajouter les caractères d échapement qu il faut au bon endroit, avec une fonction du type mysql real escape string (fonction dépréciée de PHP). Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 16 / 43

Les failles du web : les failles XSS XSS : cross-site scripting Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 17 / 43

Les failles du web : les failles XSS XSS : cross-site scripting Vulnérabilité attaquée : Javascript, ou autres possibilités de scripter le client (Flash, Java). Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 17 / 43

Les failles du web : les failles XSS XSS : cross-site scripting Vulnérabilité attaquée : Javascript, ou autres possibilités de scripter le client (Flash, Java). Il est parfois possible d injecter du code Javascript dans les pages d un site web mal sécurisé. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 17 / 43

Les failles du web : les failles XSS XSS : cross-site scripting Vulnérabilité attaquée : Javascript, ou autres possibilités de scripter le client (Flash, Java). Il est parfois possible d injecter du code Javascript dans les pages d un site web mal sécurisé. Schéma de l attaque : insérer un code javascript malicieux sur une page que d autres utilisateurs sont susceptibles de visiter. Ce script peut, par exemple, capturer les cookies de l utilisateur et les transmettre à l attaquant, ce qui lui permettera d usurper l identité de la victime. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 17 / 43

Les failles du web : les failles XSS XSS : cross-site scripting Vulnérabilité attaquée : Javascript, ou autres possibilités de scripter le client (Flash, Java). Il est parfois possible d injecter du code Javascript dans les pages d un site web mal sécurisé. Schéma de l attaque : insérer un code javascript malicieux sur une page que d autres utilisateurs sont susceptibles de visiter. Ce script peut, par exemple, capturer les cookies de l utilisateur et les transmettre à l attaquant, ce qui lui permettera d usurper l identité de la victime. Sécurisation : il faut empêcher l utilisation de balises <script> par les utilisateurs du site, avec un filtrage approprié (on peut vouloir garder d autres balises HTML par ailleurs). Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 17 / 43

Les failles du web : les failles CSRF CSRF : cross-site request forgeries Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 18 / 43

Les failles du web : les failles CSRF CSRF : cross-site request forgeries Idée : on veut effectuer une requête sur un site pour, par exemple, supprimer un message, mais on n a pas les droits nécessaires pour effectuer l action. On veut donc faire faire cette action par quelqu un qui a les droits, à son insu. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 18 / 43

Les failles du web : les failles CSRF CSRF : cross-site request forgeries Idée : on veut effectuer une requête sur un site pour, par exemple, supprimer un message, mais on n a pas les droits nécessaires pour effectuer l action. On veut donc faire faire cette action par quelqu un qui a les droits, à son insu. Méthode : envoyer à l administrateur du forum un message privé avec une image dont l adresse est l adresse de la page à appeller pour supprimer le message cible. Cette image sera automatiquement chargée par le navigateur, ce qui causera la suppression du message. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 18 / 43

Les failles du web : les failles CSRF CSRF : cross-site request forgeries Idée : on veut effectuer une requête sur un site pour, par exemple, supprimer un message, mais on n a pas les droits nécessaires pour effectuer l action. On veut donc faire faire cette action par quelqu un qui a les droits, à son insu. Méthode : envoyer à l administrateur du forum un message privé avec une image dont l adresse est l adresse de la page à appeller pour supprimer le message cible. Cette image sera automatiquement chargée par le navigateur, ce qui causera la suppression du message. Sécurisation : utiliser des tokens à usage unique pour toutes les actions sensibles de ce type ; vérifier l en-tête referer ; nécessiter des requêtes POST pour les actions sensibles. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 18 / 43

Les attaques Man-in-the-Middle Illustration avec Wireshark. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 19 / 43

Exploitation de failles humaines : l ingéniérie sociale Exemple classique : le phishing... Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 20 / 43

Exploitation de failles humaines : l ingéniérie sociale Exemple classique : le phishing... Principe : abuser de la crédulité des gens pour obtenir des informations qui nous seraient autrement privées. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 20 / 43

Exploitation de failles humaines : l ingéniérie sociale Exemple classique : le phishing... Principe : abuser de la crédulité des gens pour obtenir des informations qui nous seraient autrement privées. Méthode : le plus souvent, se faire passer pour quelqu un que l on n est pas (ex : un administrateur système). Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 20 / 43

Exploitation de failles humaines : l ingéniérie sociale Exemple classique : le phishing... Principe : abuser de la crédulité des gens pour obtenir des informations qui nous seraient autrement privées. Méthode : le plus souvent, se faire passer pour quelqu un que l on n est pas (ex : un administrateur système). Sécurisation : impossible (il y aura toujours quelqu un de suffisament abruti pour donner son mot de passe) Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 20 / 43

Introduction de failles dans le code source La plupart des logiciels propriétaires possèdent (probablement) des backdoors : https://www.schneier.com/blog/archives/2013/09/the_nsa_is_brea.html Mais les logiciels libres ne sont pas non plus à l abris : http://www.infoq.com/news/2013/10/linux-backdoor?utm_source=tuicool Pour ceux qui voudraient utiliser un maximum de services et logiciels libres, sûrs etc. : https://prism-break.org/fr/ Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 21 / 43

Exploitation de failles humaines : l ingénierie sociale Mêmes les infrastructures les mieux protégées ne sont pas à l abri : http://www.thesecurityblogger.com/?p=1903 Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 22 / 43

Failles et fuites matérielles Tempest Article Shamir : Unsafe and sound : https://www.cs.tau.ac.il/~tromer/acoustic/ Composants électroniques Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 23 / 43

Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 24 / 43

Objectifs de la cryptographie Confidentialité : le message reste secret Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 25 / 43

Objectifs de la cryptographie Confidentialité : le message reste secret Authentification : le message vient bien de la bonne entité Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 25 / 43

Objectifs de la cryptographie Confidentialité : le message reste secret Authentification : le message vient bien de la bonne entité Intégrité : le message n a pas été modifé Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 25 / 43

Objectifs de la cryptographie Confidentialité : le message reste secret Authentification : le message vient bien de la bonne entité Intégrité : le message n a pas été modifé Anonymat : on ne peut trouver de qui vient le message Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 25 / 43

% Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 26 / 43

% Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 27 / 43

Fondamentaux On n invente pas son propre algorithme de cryptographie (à moins d être cryptologue)! Il est probable qu il soit vulnérable. Cela vaut aussi pour les protocoles, implémentations, etc... Principe numéro 2 de Kerchoffs : Il [le cryptosystème] faut qu il n exige pas le secret, et qu il puisse sans inconvénient tomber entre les mains de l ennemi. Le seul secret doit être un paramètre de l algorithme : la clé. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 28 / 43

Cryptographie symétrique Le principe général : le chiffrement doit cacher les propriétés statistiques du message. Chaque bit du message crypté doit idéalement dépendre de tous les bits du message original. Le nombre de clés disponibles doit être grand pour empêcher une recherche exhaustive. Primitif : César, Vigenère Standards : DES, AES et autres Modes de chiffrement Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 29 / 43

Scénario 1 : envoi de mail chiffré et cryptographie asymétrique Comment échanger la clé? Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 30 / 43

Solution : cryptographie asyymétrique, GPG, explication technique Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 31 / 43

Fonctionnement : chiffrage Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 32 / 43

Fonctionnement : déchiffrage Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 33 / 43

L exemple d EL Gamal Repose sur le logarithme discret. Proche de Diffie-Hellman, mais une des parties conserve un des paramètres. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 34 / 43

Scénario 2 : communication sécurisée Empêcher les attaques de type Man in the Middle : comment être sûr qu on se connecte bien au bon serveur. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 35 / 43

Solution : SSL, explication technique Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 36 / 43

Scénario 3 : stockage de mots de passe Pour les services webs : L astuce est de ne jamais les stocker! Faille Adobe : les mots de passe étaient chiffrés et pourtant... http://nakedsecurity.sophos.com/2013/11/04/ anatomy-of-a-password-disaster-adobes-giant-sized-cryptographic-blunder/ Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 37 / 43

Solution : le hachage, explication technique Utiliser des algorithmes à jour : attaques connu sur SHA-1 Ajouter du sel pour empêcher l utilisation efficace de tables précalculées. https://security.stackexchange.com/questions/211/ how-to-securely-hash-passwords Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 38 / 43

Scénario 4 : anonymiser ses actions sur Internet L exemple de Tor : à partir de primitives cryptographiques de base, on peut réaliser différentes architectures. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 39 / 43

Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 40 / 43

Les virus Un virus est un programme auto-reproducteur. Charge finale : le virus est vecteur de l attaque. Polymorphisme : résister à la détection. Dissimuler son code et son comportement. Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 41 / 43

Autres malwares Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 42 / 43

Conclusion La mise en place et le maintien d une infrastructure sécurisée repose à la fois sur une expertise (respect à la lettre des standards cryptographiques, utilisation de logiciels reconnus) et sur une bonne connaissance des utilisateurs. On n est jamais à l abri... Alex Auvolat, Nissim Zerbib Sécurité des systèmes informatiques 43 / 43