David Naccache
Transcription
David Naccache
Pourquoi les entreprises ont-elles besoin d'une cyberstraétgie? David Naccache (ENS) La guerre électronique classique • Ecoute de l’adversaire • Localisation de l’adversaire • Brouillage des communications de l’adversaire La cyberguerre Perturbation et prise de contrôle sur les systèmes d’information de l’adversaire. Facilitée car de nombreux enjeux de souveraineté sont gérés par des entreprises privées obéissant à une logique commerciale: e.g. télécommunications, monétique, signalisation. Science fiction? Il nous a été demandé d’évaluer la sécurité d’une assez grande entreprise Singapourienne dans le domaine de l’agroalimentaire. Conditions pour effectuer l’audit: ne pas être arrêtés par une décision politique mais par notre seule capacité d’aller plus loin. Science fiction? Après un premier tour du système d’information, il s’est avéré que l’entreprise utilisait un logiciel de filtrage d’URL (dont on change ici le nom à « filtre.com ») Cela a pour but d’éviter que le employés ne surfent pas sur Youtube, Facebook,… et autres sites indésirables. Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client client client Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client client client Le client souhaite accéder à boulot.com Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client Le client souhaite accéder à boulot.com Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client Le client demande d’accéder à boulot.com Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client Le serveur de l’entreprise demande à filtre.com si boulot.com est autorisé. Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client filtre.com vérifie dans sa base de données Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client boulot.com n’est pas sur liste noire Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client filtre.com signale cela au serveur de l’entreprise Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de boulot.com serveur de l’entreprise client le serveur de l’entreprise accepte de connecter le client à boulot.com Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de bikini.com serveur de l’entreprise client Le client souhaite accéder à bikini.com Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de bikini.com serveur de l’entreprise client Le client demande d’accéder à bikini.com Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de bikini.com serveur de l’entreprise client Le serveur de l’entreprise demande à filtre.com si bikini.com est autorisé. Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de bikini.com serveur de l’entreprise client filtre.com vérifie dans sa base de données Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de bikini.com serveur de l’entreprise client bikini.com est sur liste noire Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de bikini.com serveur de l’entreprise client filtre.com signale cela au serveur de l’entreprise Comment fonctionne filtre.com? serveur de filtre.com Base de données de sites interdits serveur de bikini.com serveur de l’entreprise client le serveur de l’entreprise refuse de connecter le client à bikini.com Le rôle de filtre.com serveur de filtre.com Base de données de sites interdits Enrichir en permanence la base de données de sites interdits pour que les entreprises n’aient pas à le faire (mutualisation). Sur le serveur de l’entreprise Un logiciel (filtre.exe) qui reçoit les requêtes des clients et assure le lien avec le site filtre.com Ce logiciel s’exécute avec un très haut niveau de privilèges (admin) serveur de l’entreprise exécute filtre.exe Zoom sur filtre.exe On utilise un logiciel de rétro-conception IdaPro Il apparait que Le client envoie l’URL à une routine de filtre.exe La routine sauvegarde l’URL dans une variable. variable variable variable variable pointeur d’exécution code Il apparait que Le client envoie l’URL à une routine de filtre.exe La routine sauvegarde l’URL dans une variable. variable URL variable variable pointeur d’exécution code Débordement de tampons Mais le logiciel ne contrôle pas la taille de l’URL Donc en injectant une URL trop longue… On peut « exécuter » la fin de l’URL! variable URL pointeur d’exécution code URL comme véhicule d’attaque On va donc coder en fin d’URL un petit code en assembleur qui nous ouvrira la porte de l’intérieur variable URL pointeur d’exécution hack code URL comme véhicule d’attaque On va donc coder en fin d’URL un petit code en assembleur qui nous ouvrira la porte de l’intérieur variable URL hack code L’écriture d’un tel code est technique car le code ne peut comporter que des caractères affichables. Le code va déchiffrer la partie haute de l’URL codée comme texte (ASCII) et lui transférer le contrôle. En niveau de privilège admin! Reste à transférer cette URL Nous avons crée un blog avec un texte choquant sur l’un des cadres et lui avons envoyé un email disant: « … click here to see his mistress… » Bien sur - derrière click here il y avait notre URL magique. Il a cliqué. Photo de la maîtresse On a le contrôle du serveur • Création de nouveau logon script. • Téléchargement de rootkit sur les clients. • Nous sommes invisibles: fix des fichiers log. • Filtrage des mails entrants provenant du SOC. • Copie locale d’une partie du serveur mail. • Accès à la base de paie de la RH. • Accès à au serveur PVCS de la R&D. • Accès à la base contrats du service juridique. • Calcul SHA local des clients du comité exécutif. On a le contrôle du serveur • Scan par mots clés des fichiers sur le client d’un responsable de la production. • Mots de passe des serveurs de prod trouvés. Invasion de serveurs de prod 1. Accès au serveur de production (Indonésie). 2. Visualisation passive des flux. 3. Alerte SOC par mail interceptée. Réponse spoof « …we are under load balance testing, no issue…incident closed on our side. ». « … OK thanks, could you please advise us in advance next time?… ». « …Sure, don’t worry about the disconnect for reconfig of the T4000 patch panel scheduled this evening… » « … OK thanks… » Implantation de bombes 1. Script avec bombe factice. 2. En 4 jours couverture de 84% des clients. 3. Arrêt de l’expérience (16 jours), rapport d’audit. 4.Débriefe détaillé avec les équipes techniques de l’entreprise en du SOC. Cyberguerre: définition Ce genre d’attaque en simultané sur nos: Réseaux électriques, feux-rouges, sécurité sociale, opérateurs de télécommunications, impôts, DABs, administrations centrales, centrales nucléaires, hôpitaux, entreprises stratégiques… Les questions 1. Si des universitaires peuvent le faire - quid des puissances étrangères malveillantes? 2. Investissons-nous assez en sécurité? 3. Sommes nous assez protégés? 4. Que dit notre droit? Mystery Attacks Are Unpleasant • • • • • Non previsible patching and replacement costs Loss of hardly-earned certificates & reputation Must explain and find excuses Crisis management entropy Negative image impact Industry hates mystery attacks The Four Most Common Sources of Post-Certification Mystery Attacks Academia Hackers Criminals Agencies If we only could… No Real Commercial Impact • Will keep things secret by nature • Will exploit flaws in a focused way • Will exploit flaws very very discreetly Sporadic Commercial Issues • Average-level skills, just-enough minded • Detection will usually be quick • All or nothing attacks Sporadic Commercial Issues • Uneven level, usually lone & monochromatic • Will widely publicize their findings • Usually an image impact The Problem The Problem The Black Swan Factory • Highly specialized creatives who have time • Work in teams and widely publicize findings • First image impact then mafia may take over A brief walk through works we are into Ant Security Innovation lots of small steps incremental evolutionary convergent Grasshopper Security Innovation great leaps unguided revolutionary divergent and breaking through APPLIED STATISTICS Statistical Suspect Localization • Extraction and consolidation of information from handsets, using specifically written tools. • Heavy duty data clustering to infer criminal rings Statistical Suspect Localization Automated analysis of probable activity areas. Statistical Suspect Localization Automated contraband route inference. FORENSIC DATA MINING Advanced Data Reconstruction in Erased Handset Memory se se bon pour demain pour ok bonne soir soirée il non pour nulle occuper pas suite bien arriver heure est il en pologne pologne il il dis demain je reçois un mail secret secret store store robert reçu reçu ok bonne et bonjour locataire ok acheter marco tout hasard reçu une pas il rien capital iphone femme tu rejoint quand tu reçu ok merci ok il et toi maintenant en bas ok en face toi dans il va rien besoin te parler heure sa ok quoi avec amis couteaux couteaux sas pneu bonbons mou si je et bien ok le goût je sais pas faut ok moi qui le alors me faire chier tous tu vue mai me pas bonne nuit tu connais un super comme en ok aucun ok moi le trouver le numéro pas moi une ok reçu le mail tu répond pas lu ok je sais pas appel qui qui ok et ils dis quand ni il dehors appel maurice comme tu veux raison ok va super tu peut si reçu chose je je fini alors demain je peut numéro ok quel belle couleur le soit ce confirmation parti il faut tu toute heures si possible merci je dois envoyer un autre confirmation pour celui merci et toi comme tout jours boulot fin alors ok tu te heure ok jaune ok appelle veut tu cet chez moi je te me dis ok frérot tiens moi au courant maurice veut tu il veut parler dis qui ce et lui mon pour bon vende par merci pas merci quand un champion arriver ben merci ok je non dehors avec ok pour moi et ok partout numéro descend ce qui pris chez ok peut être ok tu viens au cash sa va tu fait dort tu boire un café besoin tu me pour pour pas joindre pu me le dire avant maintenant et fermer je vais devoir courir dimanche pote en france pour maurice dis le moi rapide si bon je le refait pas encore chéri je pas encore arriver hier chez eux il le pauvre prochaine quand je le saurai tu seras pas je pour je sans questions en train griller au soleil fera couleurs pour au pire on prendra un taxi ok encore dans je salut occuper ok super et toi avec mômes pourquoi tout seul tu ok je dans gratuit pour toi en merci elle et milles mille mille bien et toi vers il appelle ok comment se ok bonjour il et se salut tu as fait bon pas vendredi pour ce tu demander je pas réussi trouver ce tu demander avoir une entrée cette semaine le pourquoi mon je fait le mon retour si tout ce comme prévu pour moi moi pouvoir au moment tu en le plus besoin je tai écrit le pas encore tout le encore depuis je suis je comme et un lion en cage qui tout le non pas encore acheter il il voit chose il va savoir quoi je le rien en bonne serai plus pas quoi le je vous appel pas encore confirmer je le saurai heure chez vous poser question je te tiens au courant on va prendre il était occuper reçu le texto ok attend je viens pourquoi pas chéri tout va bien se passer pas encore être bon pas avant tu comprend tout le je sais pas me demander je te le dirai moi voilà je viens pas arriver appel moi dans plus wifi je pourrai pas jetait au lit non gagner pour je suis rentrer tu dors rentrer hier cousin toi entendu je suis au dans je descend ok tu dors au petit girls girls va tu fait quoi rappel coucou il sauter non rien monter et le tournoi rien et toi va vous monter un tournoi déjà gagner beaucoup dans le sud non lundi scapital scapalsace scan scra schewppes scwheppes sfr stp starih states stam steeve story sahalik salj salfaty samir sameah samsic sapir sapak sava safaricr safarigulliver safarigoogle safarisegway safaritravelist safargoogle sakeup sannule sarra suchi sucant sushi surperformance suoi soeur souied souka soukka sokolovska spec spece spigol spas seagate sexio sefer sede sederot segway senvolent sentai senregistre see sete seure seror sergo serieu semglobes secre sdv sdf snir snif snifim sniper shana shandy shabbat shabat s'habitue shazam shavoua shakira shukri shlomi shoul shop shekelseeeeeeeee smc smile sino sinequanone sihot siddur simen skekels sketche skipes syna synas sqmm swift slovaqui slovequie israel israelingo israir israco ish isacovitch islash issa itty ilsit ily ila installous inn inpi inportent inconciament igo igotya ice ichour icoyote ireine irgoun iiitttssshhhaaaak iiiiiiittttttsssssshhhhaaaakkkk iiiiiiittttttsssssshhhhaaaakkkkj iban ip impossiblede ika moshe moshey moquupe moin momo mof mouloud moublie mora morgane morganise mohamedaline moov mt marce marlboro malha mall malboa malmaison malaassote machou maspik massoupir massure mazel mazal maniak manifique manip mangerp mank mankal manqer manyak mag maguiz maguis maga magazin magnifik magic mapel mapele mapeler mapelle mainfacebook maincapital mainteneant mainrtfx mainpoker maihassidout maide mails maim maud mauricezeitoun mamounia mamouchka mama mami maaser maaral maalox matabler mayo mayanne maboul mabrouk mavancer michele michté miki mikololo mikadj miklat mikvé mike mikwé mitsva mito mitram milka milene miam miammiam mirgoun minha mizrahi mistva misrad migdal mimialbou mieu miittrraaiilleettttteeeee mylene mmessagerie mmmmmm mma mr mrdrr mrdrrr mrdrrrrr meuf mehake mehila mehes meteor mettoufer metoufer megrie mega mein meir mendy mendel mendort mendoul menvoi menvoie mennuirai memup mezouzot mercj merki merav merit medpi mee meberge mesage messidor m'ecoute mdr mdrr mdrrr mdrrrr mdd mda multiprise muuum mumm mumbai mnaychalik mfgw mjjf mcdonalds rtfx rosanic roul roudy rouchjean rope roki rony ronit rrue raspberry rav razon ralave racroche ratte rapetou rapele raphi rany rebeeo rei reformater referencement repette repre repo rejoi rest resto reston resieste revlon reventon reverefie reveillor reconfirme reconner reconnecte recop rerentrer relou relol rehov rehovot reum reesaye retoune rigol rigolerk rigat ricain rib ribat riboua ribeauville riani riahi ringstone rihanna rif rdv rdq rkcm rudboy rudylam ruddy rueil runner rsistance rcj rcz ympagesjaunes yoannsultan yoav yoel you youd youda youtbet york yoni yonilebeaugosse yohai yoffi yy yyeeee yes yesh yeouda yeeeeeeee yerouchalaim yehouda ya yaakov yaacov yaffa yatik yaniv yad yavait yahoortfx yael ytravelist ytzhakalboo ynet co courneuve coui couill couille couilles county conti contamin connai conard comprendo comencer combiens corn corpsdomme coeur cz czdistribution chui chuuuuttt cho choco chouchounette chouchouna choua choulem choize chel chelha chely cheli chekel chekels cheket chemla cheap checker cheva chabat chabad chabbat chalom challom chavoua chavouatove chana charli charon charonne chartered chawarma chauso chaumont chaudasses chaudchaud chmone chmouel chto chnoua chneor chibida chiotte chip chimone chilled chirt city cinequanone cinque cinois cimat croyai croa crevard clim cloppes clopes caz cazard candy cannebiere canola caniote calj call cagoles cam carpentras carambar carglass cadburry cata caspomate casimir caculer cai cek celal cendrine cb cbon cup customer ccx cchabat cydia cyoni cts cdiscount leray l'ept lepessah lenculer lenclume lentete l'entrecote letudier léha lempoter lemon leoumi lexclusivite lexpert leszar lestrade leviathane levana ldim ladim l'adamhoute ladhof l'addon lakahat lamalo lamene lamehadrin lamborghini lavi l'apres lappele lappeler l'appeler lannuller lannuler labo labriout laurentalbou laassot laysteur lahmania lachs laccompte lagriculteur latelier lasvegas lascenseur laffut lc lcl lyron lysopaine ll lllooolllll lo loss loose looser look loca l'om lomgtemps l'ov l'onglet louvrirai light limmeuble limporter limprimeur lisraelos lidl libstnt lilou lirone ls lsa lublu ltd traidinginternational traiteaus travel travelist trade trades INNOVATIVE CHIP GEOMETRIES How to Scatter Secrets? How to Scatter Secrets? Mathematical Problem Treatment Regular and Irregular Constructions Regular and Irregular Constructions Protecting 3D Chip Cores The industry is steadily moving towards 3D chip integration. An increase in the number of metal layers that can fit on a chip. Can we generate on-chip 3D cages? In co-operation with Secure IC and ENST ADVANCED EMBEDDED FORENSICS Advanced Hardware Forensics mémoire externe mémoire externe fils de connexion fils de connexion grille de connexion grille de connexion microcontrôleur microcontrôleur In co-operation with CEA LETI Advanced Hardware Forensics A4 A4 7 motifs de taille très similaire 7 motifs = 7 octets 7 motifs = 7 octets DISCOVERING NEW THREATS Take a PC Remove all peripherals Put it in a perfect Faraday cage Add total sound isolation Add tamper-resistant protection Produce two of these. Enclose them in a rack. Ship the rack to the Israeli-Syrian border. Connect each PC to a different power plant. And boot. The Syrian PC picks a random R and sends it to the Israeli PC. R And the Israeli acknowledges by echoing R. R Science Fiction? We did a similar experiment between: two processes running on the same PC two IP cores within the same FPGA two PCs How? PCs have an internal fan. Speed is regulated automatically as a function of the motherboard’s temperature. an increase in processor activity causes an increase in temperature causes an increase in fan speed which is software readable! Why does it work? Because modern µPs produce a lot of heat. And this heat is measureable. Syrian stabilises successive heat levels using Proportional Integral Derivative regulation PID is a classic signal regulation algorithm setpoint K p e(t ) t sub Ki e( )d t de(t ) Kd dt add And the Israeli reads the information at a rate of one bit per three minutes. setpoint K p e(t ) t sub Ki e( )d t de(t ) Kd dt add Successfully tested on: - A PC running Debian Linux 2.6.22 (Intel Core2 Duo, 1.80GHz, 2GB RAM) - A MacBookPro, running Mac OS X 10.5.2 (Intel Core2 Duo, 2.16GHz, 3GB RAM) TWO DIFFERENT HARDWARE PLATFORMS Syrian communication log: $ ./Sender type in a word :Hello PARENT: Done spawning childs Child n0 = 6154 (Running) Child n1 = 6155 (Running) Child n2 = 6156 (Running) Child n3 = 6157 (Running) Stopping 4 childs 0 sec Sending 'H' (0x48 131 sec Sending 'H' (0x48 273 sec Sending 'H' (0x48 416 sec Sending 'H' (0x48 549 sec Sending 'e' (0x65 639 sec Sending 'e' (0x65 729 sec Sending 'e' (0x65 864 sec Sending 'e' (0x65 994 sec Sending 'l' (0x6c 1129 sec Sending 'l' (0x6c 1276 sec Sending 'l' (0x6c 1407 sec Sending 'l' (0x6c 1543 sec Sending 'l' (0x6c 1676 sec Sending 'l' (0x6c 1829 sec Sending 'l' (0x6c 1971 sec Sending 'l' (0x6c 2101 sec Sending 'o' (0x6f 2244 sec Sending 'o' (0x6f 2334 sec Sending 'o' (0x6f 2461 sec Sending 'o' (0x6f or or or or or or or or or or or or or or or or or or or or 72) 72) 72) 72) 101) 101) 101) 101) 108) 108) 108) 108) 108) 108) 108) 108) 111) 111) 111) 111) at at at at at at at at at at at at at at at at at at at at index index index index index index index index index index index index index index index index index index index index 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 in in in in in in in in in in in in in in in in in in in in [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 [1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 0] 0] 0] 0] 1] 1] 1] 1] 0] 0] 0] 0] 0] 0] 0] 0] 3] 3] 3] 3] : : : : : : : : : : : : : : : : : : : target target target target target target target target target target target target target target target target target target target speed speed speed speed speed speed speed speed speed speed speed speed speed speed speed speed speed speed speed set set set set set set set set set set set set set set set set set set set to to to to to to to to to to to to to to to to to to to 4500 3500 4000 4000 4000 4500 4000 3500 5000 4500 4000 3500 5000 4500 4000 5000 5000 4500 4000 Israeli communication log: $ ./Receiver Found 00 (Mean Found 10 (Mean Found 00 (Mean Found 01 (Mean So far : H Found 01 (Mean Found 01 (Mean Found 10 (Mean Found 01 (Mean So far : He Found 00 (Mean Found 11 (Mean Found 10 (Mean Found 01 (Mean So far : Hel Found 00 (Mean Found 11 (Mean Found 10 (Mean Found 01 (Mean So far : Hell Found 11 (Mean Found 11 (Mean Found 10 (Mean Found 01 (Mean So far : Hello speed speed speed speed is is is is 3539) 4442) 3525) 4004) current=0 current=8 current=8 current=72 (00) (08) (08) (48) speed speed speed speed is is is is 3966) 3951) 4460) 3976) current= 1 current= 5 current= 37 current=101 (01) (05) (25) (65) speed speed speed speed is is is is 3545) 4825) 4492) 4074) current= 0 current= 12 current= 44 current=108 (00) (0c) (2c) (6c) speed speed speed speed is is is is 3612) 4912) 4448) 3985) current= 0 current= 12 current= 44 current=108 (00) (0c) (2c) (6c) speed speed speed speed is is is is 4848) 4916) 4488) 4013) current= 3 current= 15 current= 47 current=111 (03) (0f) (2f) (6f) Temperature-correlated plot (fan speed vs. time) fan angular speed (radians/sec) 6000 5000 4000 3000 2000 1000 0 1 144 287 430 573 716 859 1002 1145 1288 1431 1574 1717 1860 2003 2146 2289 2432 2575 2718 2861 3004 3147 3290 3433 3576 seconds Amplitude modulation fan angular speed (radians/sec) 6000 02011121032103213321 5000 4000 3000 2000 1000 0 1 144 287 430 573 716 859 1002 1145 1288 1431 1574 1717 1860 2003 2146 2289 2432 2575 2718 2861 3004 3147 3290 3433 3576 seconds Amplitude modulation 02011121032103213321 Reverse the order of digits 02011121032103213321 12331230123012111020 Consider as bytes 02011121032103213321 12331230123012111020 Convert from base 4 to hexadecimal 02011121032103213321 12331230123012111020 6F 6C 6C 65 48 Reverse the order of bytes 02011121032103213321 12331230123012111020 6F 6C 6C 65 48 48 65 6C 6C 6F and convert to ASCII 02011121032103213321 12331230123012111020 6F 6C 6C 65 48 48 65 6C 6C 6F H E L L O EN8720-008 PC Blades 8 PCs Eight individually powered PC Blades Each PC Blade = Two dual-core Intel Xeon 5100 µPs + 12GB RAM + 80GB HD Each processor kept below 65° C while running CPU in full.