[Newsletter HSC] N°106 - Juin 2013

Newsletter d'information de HSC newsletter at hsc-news.com
Mer 5 Juin 09:45:55 CEST 2013


========================================================================
              HSC Newsletter  --  N°106 --  juin 2013
========================================================================





     « Les peuples n'ont jamais que le degré de liberté
       que leur audace conquiert sur la peur »


                                             [ Stendhal ]




--[ Sommaire ]----------------------------------------------------------

      1. Éditorial
      2. Le saviez-vous ? La question
      3. Compte-rendu de la conférence Hackito Ergo Sum
      4. Compte-rendu de la conférence NoSuchCon
      5. Compte-rendu du colloque Stratégie et réseaux
      6. Nouvelle formation SANS SEC504 techniques de hacking
      7. Nouveautés du site web HSC
      8. Offres d'emploi pour consultants
      9. Agenda des interventions publiques
     10. Prochaines formations HSC
     11. Actualité des associations : Club 27001, Clusif et OSSIR
     12. Le saviez-vous ? La réponse

  **FLASH**  CISSP à Luxembourg du 10 an 14 juin
  **FLASH**  ISO27LA à Toulouse du 24 au 28 juin


--[ 1. Éditorial - Hervé Schauer ]--------------------------------------

     Il y a déjà quelques temps des drones américains atterissaient en
 Iran [1], il y aurait 25 Millions de fichiers malfaisants, 110 000 de plus
 chaque jour [2], quelques individus détournent 45 Millions de dollars [3], la
 professionnalisation de la menace apporte-elle une professionnalisation de
 la défense ? Pas toujours... le mode pompier demeure dominant même si les
 employés ne divulguent plus, comme avant, que leur entreprise ou organisme
 est victime. 
 Pourtant les menaces que certains découvrent ont été annoncées il y a 10
 ans, mais il a fallu attendre Stuxnet pour que les consultants en sécurité
 ne soient plus considérés comme des extra-terrestres.

 Une conséquence est que l'inforensique se développe, c'est pourquoi HSC est
 expert judiciaire en tant qu'entreprise et que nous formons à 
 l'inforensique, voir à titre d'exemple nos investigations sommaires menées
 sur un échantillon des binaires utilisés lors de l'attaque nommée APT1 par
 Mandiant [4].

 Cependant, la gestion des incidents liés à la sécurité de l'information, les
 ISIRT (Information Security Incident Response Team) sont en plein
 développement, de nombreux industriels s'organisent, l'état aussi, par
 exemple le CALID [5] du Ministère de la Défense a traité 196 attaques en 
 2011 contre 420 en 2012, et il déménage aujourd'hui pour rejoindre l'ANSSI.
 Ce mouvement est très positif et HSC accompagne les ISIRT des entreprises
 dans leur mise en place et la formation de leurs équipes.

 [1] http://korben.info/drone-iran-2.html
 [2] http://www.mcafee.com/us/resources/data-sheets/ds-deep-defender.pdf
 [3] http://www.lemonde.fr/economie/article/2013/05/10/des-hackers-detournent-45-millions-de-dollars-sur-des-comptes-bancaires_3174821_3234.html
 [4] http://www.hsc.fr/ressources/articles/reverse_apt1/
 [5] Centre d'Analyse de Lutte Informatique Défensive 
 


--[ 2. Le saviez-vous ? La question ]-----------------------------------

 Prenons en exemple la page web suivante, contenant un script JavaScript (JS)
 et un script PHP, le but étant simplement d'assigner une valeur fournie en
 paramètre GET par le visiteur à la variable 'a' JS :

<html>
<head><title>HSC</title></head>
<body>
<script type="text/javascript">
var a="<?php if(isset($_GET['param'])) echo str_replace(array('"', '\\'), array('', ''), (string)$_GET['param']); ?>";
</script>
</body>
</html>

 Les appels à la fonction str_replace() suppriment les caractères " et \ afin
 d'empêcher l'injection de code dans le script JS. De plus, le script PHP est
 correctement interprété, la page est visitée via un navigateur supportant et
 exécutant le JS.
 À partir de ce code, pensez-vous qu'il soit possible d'injecter du code JS
 arbitraire dans la page ? Si oui, comment ?

     Réponse au paragraphe 12.



--[ 3. Compte-rendu de la conférence Hackito Ergo Sum ]-----------------
    Par Baptiste Dolbeau et Olivier Zheng

     La quatrième édition de la conférence "Hackito Ergo Sum" s'est déroulée
 du 2 au 4 mai dans les bâtiments de la Cité des Sciences.
 Au menu de cette manifestation internationale sur l'échange de travaux
 informatiques spécialisés dans la sécurité : conférences, workshops et
 'wargames' toujours grâce à la collaboration des participants.


 Keynote d'ouverture : Adam Laurie
 ===================
	
 Adam Laurie, travaillant à Aperture Labs, a ouvert la conférence avec
 RFcat (Radio Frequency ChipCon-based Attack Tool), projet qui comporte
 un ensemble de scripts Python permettant l'écoute et l'émission d'ondes
 radios. Adam utilise "Funcube", un petit composant émulant une carte son
 sur un ordinateur. Initialement conçu dans le but de capter les signaux
 satellites, il est utilisé ici pour son large spectre radiofréquence
 (64MHz - 1,7GHz).
     Il montre ensuite, démonstrations à l'appui, comment, par le biais
 d'enregistrements sons, il peut envoyer ou recevoir des données à destination
 d'un détecteur de gaz naturel. Funcube écoute les ondes émises, les
 retranscrit en fichiers son que l'on peut ensuite éditer via un logiciel
 dédié (en l'occurrence Audacity). Une fois le signal démodularisé grâce aux
 scripts ainsi qu'à l'outil GNU Radio Companion, il est simple de déduire à
 partir du graphe les données présentes sous forme binaire.
     D'autres scénarios sont facilement imaginables comme le dernier
 présenté, consistant à l'ouverture d'une voiture (récente) via un rejeu du
 signal radio émis par la clef du propriétaire.
     Un ensemble d'outils est proposé à un prix avoisinant les 40 euros. Il est
 composé d'une montre programmable, d'un amplificateur et du Funcube.


 NFC/RFID security & privacy : Philippe Teuwen
 ===========================

	Présentée par Philippe Teuwen, de chez NXP Semiconductors, cette
 conférence attire notre attention sur la sécurité des puces RFID, puces qui
 sont par exemple contenues dans les passeports et qui sont présumées
 sécurisées. Le principal argument est la faible portée théorique des ondes
 émises. En effet, la portée maximale serait de 15 cm.
     Cependant, des études ont prouvé que certaines puces RFID sont lisibles
 avec des capteurs sur une portée de 22m, rendant le principal argument
 caduque. Cela implique plusieurs dangers, notamment l'usurpation d'identité.
     En démonstration, nous avons assisté à la lecture, à proximité, du RFID
 d'un passe Navigo. L'itinéraire de la personne peut alors être retracé
 (trois derniers passages). Il a ensuite présenté un cassage par force
 brute d'une puce RFID et l'extraction de ses données, et enfin la lecture
 de ces mêmes données, via un ordiphone, qui pourrait également être réalisée
 au travers d'une poche de pantalon.


 The truth about Red October : Paul Rascagneres
 ===========================

     Membre du projet malwasm (analyse de programmes malveillants), Paul
 Rascagnères livre une rétro-ingénierie complète du virus "Red October".
 Son objectif était de conduire son analyse puis la comparer à celle
 effectuée par Kaspersky afin de se faire sa propre opinion. Ce programme
 se base sur une vulnérabilité décrite dans la CVE-2012-0158, via un fichier
 Rich Text Format (RTF) spécialement conçu.
     Le fichier en question était intégralement en hexadécimal, un effort
 particulier a été fourni de manière à le rendre le plus difficile à
 désassembler possible. Il a fallu doubler l'opération "XOR" avant d'avoir
 l'exécutable. De plus, cet exécutable est "packé", ce qui requiert une étape
 supplémentaire d'analyse. Le programme nuisible crée trois fichiers à
 l'exécution : msc.bat, svchost.exe et un fichier ".ltp", nommé aléatoirement.
 L'exécutable déchiffre ensuite le fichier ltp via l'algorithme de chiffrement
 RC4, ce qui fait apparaître un fichier compressé. Celui-ci contient le
 programme malicieux réel : une bibliothèque qui sera chargée par un service
 Windows. "Red October" possède plusieurs fonctionnalités, présentes à
 l'intérieur de son propre code. Il attend régulièrement des ordres du canal de
 contrôle qui peuvent être :
     - Exécuter des fichiers
     - Télécharger sans exécuter
     - Se mettre à jour
     - etc.
     Le programme malfaisant final est donc rudimentaire, tout en étant
 efficace. N'hésitez pas à lire son analyse sur son site (malware.lu) et celle
 de Kaspersky pour de plus amples détails.


 Virtually Secure, Analyse to remote root 0day on an industry leading
 ====================================================================
 SSL-VPN Appliance : Tal Zelzer
 =================

     Tal Zelzer, chercheur indépendant, nous présente ici le travail qu'il
 a dû effectuer lors d'un audit. Celui-ci s'est révélé particulièrement
 difficile notamment du fait de l'analyse en boîte noire.
     Ici, il a du pénétrer une application réalisée par l'entreprise F5 et
 utilisée par un grand nombre d'entreprises importantes. Il a tout d'abord
 essayé d'activer une version vulnérable de l'application. Ceci n'a pas
 fonctionné car, malgré plusieurs tentatives d'ingénierie sociale, l'équipe
 technique de F5 refusait d'activer son produit.
    Après un balayage de ports, il voit trois ports ouverts : HTTP, HTTPS et
 SSH. Les deux premiers semblent logiques, mais pas SSH. En réalité, c'est une
 version modifiée de SSH. Le F5_SSH est ici dans le but de permettre à l'équipe
 technique d'accéder à la machine en utilisateur root pour effectuer la
 maintenance lorsqu'un problème est déclaré. Nous sommes en présence de ce qui
 est assimilable à une porte dérobée.
     Il décide de prendre le disque dur et de le lire à partir d'un autre
 système d'exploitation. Cependant, celui-ci est chiffré. En remplaçant le
 fichier losetup, il a pu voir la commande utilisée pour déchiffrer le disque,
 qu'il a réutilisée en montant le disque sur son système. Les données enfin
 accessibles, il procède à une analyse en boîte blanche. Sachant que les ports
 HTTP/HTTPS sont ouverts, il essaye d'accéder aux scripts PHP, mais ceux-ci
 sont illisibles, obfusqués.
     En recherchant plus en profondeur, la plupart des programmes installés
 (Apache, MySQL, etc.) sont dans des versions vieilles de plus de 10 ans,
 possédant des vulnérabilités connues. L'injection SQL et la chaîne de format
 ne donnaient pas de résultat car la version 3.23 de MySQL ne supportait pas
 certaines commandes (l'union, le join, l'export dans un autre fichier, etc.).
 Une fois ces informations prises en compte, le test d'intrusion n'a pas duré
 beaucoup plus longtemps. 


 Nifty Stuff that you can still do with Android : Xavier Martin
 ==============================================

     Xavier Martin, ingénieur co-fondateur d'Immunapp, nous présente ici le
 fruit de son travail : le projet Immunapp. Ce dernier est un "SaaS" (Software
 as a Service) sous la forme d'une API développeur. Cette API offre l'assurance
 aux développeurs d'avoir une application inviolable aux "repackages" de leur
 application. En effet, certains programmes malfaisants utilisent cette
 technique, par exemple lorsqu'une application est mise en distribution sur une
 plateforme d'échange, et se rajoutent à l'intérieur de l'application légitime
 dans l'optique d'infecter les personnes téléchargeant cette dernière.
     L'utilisation de cette API permet notamment de détecter les modifications
 apportées à l'application en envoyant une alerte et de les désactiver à
 distance.
     Immunapp a aussi la propriété de ne pas ralentir l'application et serait,
 selon Xavier Martin, facilement acceptée sur la plateforme d'échange
 d'applications Google Play.


 Panel - Dark side of the force : Philippe Langlois, Okhin et Jean-Marc Manach
 ==============================

     Pour clôturer cette première journée, nous avons eu le plaisir d'assister
 à une discussion sur les enjeux et les responsabilités de chacun au sujet de
 la sécurité informatique.
     Animée par Philippe Langlois, Okhin ainsi que Jean-Marc Manach, cette
 dernière conférence nous rappelle qu'Hackito Ergo Sum n'est pas seulement un
 évènement axé sur l'aspect technique et qu'il est important de pouvoir parler
 d'autres sujets comme le non-partage des connaissances entre hackers,
 principalement dû à la revente au marché noir.
     Des échanges très intéressants ont eu lieu lors de cette discussion entre
 membres d'une même communauté. Ont été également abordés comme sujets les
 responsabilités sociales et politiques, le constat de la "marchandisation"
 de la sécurité informatique (achat/revente des failles 0day. Pourquoi ? Par
 qui ?). Tout ceci dans un seul but, nous interroger sur le véritable objectif
 de notre travail dans ce domaine. Mettre en avant les valeurs auxquelles nous
 croyons, ouvrir les yeux sur ce qui se passe autour de nous avec les
 différences notamment entre pays.


 Carrier-Grade Insecurity : Emmanuel Gadaix
 ========================

	Emmanuel Gadaix redécrit la pratique du phreaking (hacking des
 télécommunications) au travers du temps. Il nous raconte les débuts, dans les
 années 70 avec la figure emblématique qu'est Captain Crunch (John Draper). Les
 années 80 qui marquent la naissance du protocole X.25, qui ne propose pas
 le chiffrement des données. Une amélioration est donnée avec le "Signaling
 System #7" dans les années 90 tandis que le X.25 est devenu une plateforme de
 jeu pour les hackers. C'est notamment à cette époque qu'apparaît et s'étend
 l'internet et le GSM.
     Ce que souhaite mettre en avant Emmanuel est que, malgré ce que la plupart
 des gens pensent, le phreaking n'est pas mort, loin de là. De nos jours, alors
 que la plupart des gens se tournent vers Internet, les opérateurs
 téléphoniques sont victimes de piratages chaque jour. Le secteur des
 télécommunications est loin d'être sécurisé. Des failles dans le chiffrement
 du GSM sont trouvées, les ondes deviennent lisibles par qui veut s'en donner
 la peine, le protocole SS7 ainsi que le chiffrement GSM/3G sont également
 tombés sous les coups de pirates expérimentés.
     Les opérateurs de télécommunications ouvrent de plus en plus de services
 (VAS, IP, etc.), augmentant la surface d'attaque. La sécurité est un combat
 qui ne peut pas être gagné par les opérateurs, au vu du nombre grandissant de
 pirates et de services à surveiller.
     Aujourd'hui, il est légitime de penser que les gouvernements soient à
 l'écoute de nos communications. Effectivement, pourquoi soumettre une demande
 officielle de mise sur écoute alors que tant de moyens plus simples sont mis à
 disposition ? Il ne faut pas non plus devenir paranoïaque. Après tout,
 n'y a-t-il pas de problème tant que l'on a rien à cacher ?


 Frida IRE : Ole André Vadia Ravnas
 =========
	
     Cette conférence a été particulièrement appréciée par l'audience. Ole
 travaille chez Soundrop, il est rétro-ingénieur à ses heures perdues et
 participe à plusieurs projets dont le sujet de sa présence : Frida. Frida est
 une bibliothèque Python capable d'énumérer les modules chargés, de lire/écrire
 dans la mémoire des autres programmes, etc. Il possède une grande portabilité,
 fonctionnant sur Windows, Linux ou Mac et communique entre ses deux modules
 grâce au langage JavaScript. 
     Sa présentation est agrémentée de nombreuses petites, mais efficaces,
 démonstrations afin d'appuyer ses propos. Le principe de Frida est vraiment de
 "s'attacher" au processus d'exécution et d'interagir avec celui-ci. Nous avons
 pu voir le changement de label d'une application sur iPhone, puis l'affichage
 d'informations système à propos du processus attaché (Spotify). Le fait de
 pouvoir modifier le comportement d'une exécution sans affecter celle-ci, par
 exemple en modifiant le code source, est effectivement une chose qui ravira
 les personnes souhaitant débogguer leurs applications. Ole nous illustre cet
 exemple en modifiant le comportement d'un simple compteur en l'arrêtant ou en
 modifiant son affichage. Dès que les instructions de Frida sont finies, le
 compteur continue son exécution comme si rien ne s'était passé.


Paparazzi over IP : Daniel Mende
=================

     Dans cette conférence, Daniel Mende représente son travail relatif à un
 appareil photographique. En effet, aujourd'hui les nouveaux modèles
 d'appareils photographiques tendent à la communication avec d'autres systèmes
 informatisés. Sur le modèle présenté, ceci est possible via Ethernet, ou par
 WiFi. Ce dernier offre des possibilités intéressantes.
     Lorsque l'appareil est placé dans le mode utilisant la communication,
 il est possible, via une connexion au même point d'accès, de récupérer les
 données transitant sur le réseau. Daniel Mende nous prouve également (par une
 démonstration) qu'il est possible d'avoir un accès distant sur l'appareil,
 récupérer sa sortie vidéo et, très certainement, la sortie son.
     Les différents modes de communication sont :
       - Serveur FTP.
       - DLNA (Digital Living Network Alliance) permet l'affichage directement
         sur une télévision par exemple.
       - Serveur Web HTTP.
       - EOS Utility.
     Le serveur Web propose une interface HTTP qui permet la communication avec
 l'appareil. Il faut tout d'abord passer par une étape d'authentification.
 Lorsqu'elle est complétée, un cookie est créé de manière à ne pas avoir à
 s'authentifier systématiquement. Ce cookie de session ne contient qu'une
 donnée sur deux octets, ce qui est donc facilement cassable par bruteforce. Il
 récupère ainsi la session (le compte) d'une autre personne. Le bruteforce
 complet du cookie avec un script Python prend environ 20 minutes, avec comme
 seule limitation la pile réseau de l'appareil photographique. Depuis ce
 serveur web, il est donc possible d'accéder à l'ensemble des données stockées
 ainsi que de modifier les paramètres de réglage de l'appareil.


HackRF - Low Cost Software Defined Radio Platforme : Benjamin Vernoux
==================================================

     Pour cette conférence, Benjamin aborde à nouveau le sujet des ondes radio.
 Il nous présente le projet "HackRF" (github.com/mossman/hackrf) qui se veut
 être une plateforme logicielle et hardware puissante et à bas coût, que
 n'importe quel possesseur d'ordinateur pourrait s'offrir.
     Le projet se compose d'un logiciel et d'une antenne. L'alliance de ces
 deux permet, moyennant quelques réglages au niveau du logiciel, de capter les
 ondes radios (RFID, GSM, GPS, AM/FM, télévision, etc.) environnantes. Une
 démonstration a été faite de l'écoute d'une chaîne de radio bien connue.
 S'ensuit une capture d'un échange radio par talkie walkie rejoué ensuite sur
 un des talkies walkies, nous montrant ainsi autant la capacité de réception
 que celle d'émission.
     On peut alors s'interroger sur une autre utilisation comme la capture
 de l'établissement d'une communication (handshake). Ce projet est une base 
 disponible à toute personne souhaitant travailler avec les ondes radios
 et, par la même occasion, l'améliorer.


Information retrieval and machine learning tools for interactive bug hunting :
============================================================================
 Fabian Yamaguchi

     Fabian nous parle ici d'un projet qu'il a développé afin de rendre
 automatique la détection des erreurs de programmation en s'appuyant sur le
 code disponible.
     Le but de ce projet est de :
       - Trouver des méthodes et "l'apprentissage" de la machine dans l'optique
         de rendre la découverte de vulnérabilités plus efficace, la machine
         étant capable d'analyser rapidement de grands blocs de code
       - Faciliter l'audit d'applications
     Ce projet ne se revendique pas en tant qu'intelligence artificielle
 destinée à trouver des vulnérabilités d'elle-même. L'auditeur doit se servir
 des données générées par ce programme.

     Le programme se nomme Chucky. Il analyse le code grâce au moteur d'analyse
 syntaxique ANTLRv4. Le principe de ce programme est de parser l'intégralité du
 code, de construire un arbre syntaxique (AST), sémantique et de contrôle de
 flux afin d'apprendre les pratiques courantes de programmation, notamment pour
 les appels de fonctions ou le traitement des valeurs de retour. Il a été
 développé avec "Gremlin", un langage impératif de traversée de graphes.
     L'apprentissage s'effectue par statistiques, ce qui signifie qu'il n'est
 pas fiable à 100%. Si plus de 50% des appels à une fonction donnée ne
 vérifient pas la validité d'un paramètre, Chucky ne relèvera pas ces erreurs
 non plus. Pire : il établira ces appels comme étant les bons, et marquera les
 appels effectuant le contrôle comme incorrects. C'est pourquoi l'auditeur est
 indispensable.
     En revanche, Chucky est plus efficace face aux fonctions non-standards.
 Par exemple, étant donnée une fonction propre au code à analyser, il n'est pas
 évident de savoir si les paramètres donnés sont corrects ou non. Chucky, de
 par son analyse statistique, peut relever les paramètres incorrects (ou les
 contrôles non effectués) de ces fonctions, qui n'auraient peut-être pas été
 vus par l'auditeur.
     Une démonstration nous montre le résultat de Chucky sur une vulnérabilité
 décrite dans une ancienne CVE (2010) relative au navigateur Mozilla Firefox.
 Chucky met en avant les fonctions vulnérables et les appels de fonction dont
 le contrôle des paramètres n'est pas effectué, tout en montrant les contrôles
 effectués sur ces paramètres dans les autres fonctions.
	https://github.com/fabsx00/joern.git



--[ 4. Compte-rendu de la conférence NoSuchCon ]------------------------
    Par Christophe Berger, Baptiste Dolbeau et Olivier Zheng

     NoSuchCon est la dernière-née parmi les conférences sécurité françaises,
 issue de Hackito Ergo Sum 2012 de par ses organisateurs, celle-ci s'est
 révélée conforme à ses promesses : 0% bullshit, "there is no winner or
 rockstar"... L'espace Oscar Niemeyer a donc une fois de plus reçu quelques
 grands noms de la sécurité dans une ambiance bon enfant mais avec un très
 haut niveau technique.

 À noter que les supports de présentation ont été mis en ligne avant chaque
 présentation afin de permettre à tous de suivre la conférence sur le net,
 c'est une belle initiative ! Vous les retrouverez aujourd'hui sur le site de
 la conférence http://www.nosuchcon.fr/talks/.

 Première Keynote : Andrea Barisani
 ================

     Fondateur de la société Inverse Path et de l'oCERT, Andrea Barsani
 rappelle les vraies qualités d'une conférence et les responsabilités qui
 incombent aux personnes la présentant.
     Dans un premier temps, il déplore que, de nos jours, la plupart des
 présentations aient plutôt un rôle commercial, de publicité, pour accroître la
 renommée de la personne ou de l'entreprise qui les effectue. De plus, beaucoup
 d'entre elles sont des prétextes pour ensuite revendre des codes
 d'exploitation de vulnérabilités. Selon lui, cette pratique est indécente,
 car les conférenciers devraient au moins révéler ce pour quoi ils ont été
 conviés, le fruit de leur travail. On a affaire à la dualité entre la
 renommée et l'argent. Ces personnes sont en quête des deux, ce qu'il trouve
 inacceptable.
     D'après lui, les sujets qui manquent cruellement dans les conférences de
 ce type sont les recherches n'ayant pas abouties, ce genre d'études peut
 montrer qu'un système est réellement sécurisé. Il rappelle aussi que la
 qualité d'une présentation ne repose pas que sur le fond : son contenu peut
 être excellent, si la forme et le style n'y sont pas, alors celle-ci perd
 beaucoup de son intérêt.
     Enfin, Andrea Barisani insiste sur le fait que l'image du monde de la
 sécurité informatique repose sur les conférenciers. En effet, le public de ces
 conférences contient aussi des journalistes, qui peuvent être un gros
 problème. Les journalistes peuvent n'entendre que les propos "choquants",
 qui provoquent la peur et la confusion. Mais ce sont eux qui sont l'interface
 entre les spécialistes et le grand public.
     En conclusion, les conférenciers se doivent d'être responsables et de
 réfléchir aux conséquences que peuvent avoir leur discours. Ces conférences
 sont l'occasion de rendre le monde du hacking respectable.


 Abusing the Windows Kernel : Mateusz "j00ru" Jurczyk
 ==========================

     Mateusz Jurczyk est un ingénieur sécurité chez Google. Cette conférence
 montre le fonctionnement interne de certaines fonctions système de Windows
 ainsi que les failles qui y sont présentes. Il rappelle que le système
 d'exploitation a bien évolué au cours des années, et s'est amélioré notamment
 sur sa stabilité et sa sécurité. Cependant, malgré la difficulté de trouver
 des codes d'exploitation locaux, il existe encore des endroits du noyau
 contenant du code fragile : certains codes n'ont pas été modifié depuis 1993 !
     Ici, Mateusz aborde principalement le thème de la copie de mémoire entre
 l'environnement noyau et l'environnement utilisateur. Il existe 4 fonctions
 permettant un tel déplacement/copie :
     - nt!memcpy (librairie C dans le WDK)
     - nt!memmove (librairie C dans le WDK)
     - nt!RtlCopyMemory (API du noyau)
     - nt!RtlMoveMemory (API du noyau)
 Il est important de noter que ces fonctions sont implémentées en copiant dans
 l'ordre inverse : en commençant de la fin pour terminer vers le début. Cette
 façon de copier permet de gérer correctement les zones de mémoires source et
 destinations qui se chevaucheraient. En effet, dans ce cas, copier les
 premiers octets de la source vers la destination écraseraient les derniers
 octets de la source. En copiant à l'envers, les derniers octets de la source
 ont déjà été copiés, rendant l'écrasement de ceux-ci possibles. En manipulant
 la source et le nombre d'octets à copier, il est possible d'écrire ce que
 l'on veut où l'on veut.


 Ninjas and Harry Potter, "Spell"unking in Apple SMC Land : Alex Ionescu
 ========================================================

     Alex Ionescu est un consultant et architecte sécurité connu, notamment
 pour ses connaissances sur le noyau Windows.
     Cette conférence présente une petite puce présente dans toutes les
 machines Mac, mais qui reste très méconnue car non lisible. En revanche,
 celle-ci peut être mise à jour par n'importe qui. Elle contrôle plusieurs
 composants de l'ordinateur, contient une porte dérobée et le mot de passe
 "File Vault", permettant de déchiffrer le volume.
 Cette puce SMC (System Management Controller) se met à jour grâce au fichier
 SMCFlasher.efi qui n'est en fait que l'outil SMCUtil renommé. Cet outil permet
 de récupérer plusieurs informations contenues dans la puce, de modifier des
 paramètres, et de remettre à zéro plusieurs parties de la puce.
 Les fonctionnalités de la SMC sont utilisées en reliant des valeurs à des
 clefs, qui sont des chaînes de 4 caractères. Ces dernières sont privées, mais
 une fuite d'un technicien Apple a permis de comprendre quelques clefs
 importantes. L'une d'elles révèle l'existence d'une horloge "ninja" permettant
 d'effectuer des actions à un temps donné.
 Cependant, il existe deux clefs qui ne sont pas officiellement mentionnées :
 KPPW et KPST. Pour que la première réussisse son exécution, il faut que le
 paramètre donné contienne un mot de passe bien spécifique, qui explique la
 référence à Harry Potter : "SpecialisRevelio" (une formule magique du livre).
 Lorsque KPPW réussit, KPST obtient la valeur 1, ceci permet par la suite de
 lire le contenu de la RAM, de la pile, etc.
     Enfin, Alex Ionescu procède à une démonstration, où il monte la vitesse du
 ventilateur bien au-dessus de la limite recommandée en modifiant les valeurs
 de la SMC. Cela montre bien qu'il est possible d'endommager le matériel si
 l'on venait à contrôler cette puce.


 Nifty Tricks and Sage Advice for Shellcode on Embedded Systems :
 ==============================================================
 Travis Goodspeed

     Travis Goodspeed est connu pour ses travaux sur les interfaces USB, il est
 le créateur de Facedancer, un périphérique pour l'exploitation USB.
     L'exposé démarre sur la présentation du badge de la conférence qui est un
 circuit de Facedancer, ne restant aux visiteurs qu'à fournir les composants et
 à l'assembler. La suite de l'exposé permettra de comprendre que ce qui parait
 simple ne l'est pas pour tout le monde. 
     Travis Goodspeed nous plonge dans la problématique d'exploitation des
 systèmes embarqués qui ne sont pas mieux protégés qu'autre chose, mais qui
 manquent cruellement d'interfaces pour permettre leur analyse et leur
 débogage. Il entre ensuite dans le vif du sujet en présentant quelques
 microprocesseurs et leurs spécificités, notamment les architectures de type
 Harvard, dont les mémoires données et instructions sont séparées et celles de
 type Von Neumann qui n'ont qu'une mémoire. Ces différences influent sur les
 scénarios d'exploitation dans la mesure où la RAM est rarement exécutable sur
 ces derniers.
 Une fois l'architecture maitrisée, quelques exemples d'appareils de tous
 les jours suivent afin de démontrer que ces microcontrôleurs sont très
 populaires. Les enjeux sont alors d'identifier le type de contrôleur utilisé
 pour arriver à en exploiter les spécificités. L'identification passe par
 l'observation des circuits, quelques fois au microscope électronique afin de
 déceler les marques des constructeurs.
     La finalité des différentes attaques présentées après est d'exfiltrer le
 firmware du périphérique attaqué pour pouvoir l'analyser.
 Les différentes techniques présentées sont bien connues et adaptées ici aux
 microcontrôleurs, telles que l'exfiltration par un canal secondaire (les LED
 disponibles sur une carte) ou le Return-to-Bootloader permettant d'obtenir une
 porte d'entrée vers le précieux graal.


 Dumb fuzzing XSLT engines in a smart way : Nicolas Grégoire
 ========================================

     Nicolas Grégoire, fondateur d'Agarri, réalise du "fuzzing" pour les
 moteurs XSLT. Le fuzzing est un procédé consistant à générer des données
 plus ou moins aléatoires qui seront données comme entrées pour un programme
 à tester dans le but de trouver des erreurs par exemple. On parle de fuzzing
 basé sur des mutations lorsqu'on utilise des échantillons de fichiers pour
 la génération des entrées. Ce procédé est ce que Nicolas Grégoire appelle
 le "dumb fuzzing".
     De nos jours, les moteurs XSLT sont intégrés à un grand nombre de
 logiciels, aussi bien dans Microsoft Sharepoint que dans la quasi-totalité des
 navigateurs web, en passant également par les bases de données et les lecteurs
 de fichiers PDF.
 Le problème avec le "fuzzing" est qu'il doit être efficace au possible, les
 applications prenant du temps à démarrer ou consommant beaucoup réduisent
 cette efficacité. Il est alors plus simple de "fuzzer" le moteur XSLT utilisé
 plutôt que l'application elle-même.
     Il utilise l'application "Radamsa" pour générer les fichiers tests. A
 l'aide de plusieurs machines virtuelles venant de l'info-nuage et de scripts
 python, développés pour l'occasion, une plate-forme de fuzzing a été créée.
 Elle génère les fichiers tests, les utilise dans le moteur XSLT et attend un
 plantage système. Dans ce cas, celui-ci est sauvegardé, répertorié et un mail
 est envoyé. C'est ici que le "smart way" intervient, l'utilisation d'une
 méthode simple dans un procédé intelligent, permettant d'automatiser de
 nombreux tests et de ne se concentrer que sur l'analyse des journaux
 d'erreurs.


 Deadly Pixels : Saumil Shah
 =============

     Saumil Shah; fondateur de Net-Square, montre comment des codes
 d'exploitation peuvent être délivrés à l'insu d'un grand nombre
 d'utilisateurs par le biais, ici, des navigateurs web. Il existe déjà quelques
 techniques permettant de dissimuler le code malfaisant. Saumil décide
 d'encoder le code d'exploitation dans une image.
 Chaque caractère remplacé par une nuance de gris (référence à un certain
 livre), le tout représentant une image parfaitement valide. Donner ce texte
 à une fonction eval permettrait alors d'exécuter le code.
     Une autre méthode serait d'ajouter le code JavaScript sous forme d'image
 (script src="img.gif"), image qui serait aussi bien sous forme visible depuis
 le navigateur qu'en code JavaScript. Cette technique est possible en modifiant
 la structure de l'en-tête du fichier gif, qui contient la longueur et la
 hauteur. Il s'agit simplement de faire en sorte que la longueur soit la valeur
 ASCII du caractère '/' et que la hauteur soit celle de '*'. Ainsi, '/*' qui
 représente le début de commentaire en JavaScript est obtenu. A la fin de
 l'image, ce "commentaire" est terminé (par "*/") et le code à exécuter est
 ajouté, tout ceci constituant une image gif parfaitement valable. Couplé avec
 de la stéganographie, cette technique est un moyen élégant et furtif
 d'exécuter du code chez autrui. La première méthode servant juste à extraire
 le texte caché dans l'image afin de l'exécuter.
     Illustrant ce dernier point, Saumil Shah fait une démonstration depuis son
 navigateur Firefox où le simple fait de passer la souris sur l'image affichée
 par le site web permet d'ouvrir la calculatrice sur son Windows.


Pythonect-Fu, From Function to Language : Itzik Kotler
=======================================

     Itzik Kotler, consultant et concepteur des projets Pythonect et Hackersh
 décrit en détail l'utilité et le fonctionnement de ces deux projets.
     Pythonect est un Domain-Specific Language (DSL), spécifique au langage
 Python. Il s'utilise avec le paradigme de la programmation par flux de
 données. Ce type de programmation a l'avantage d'être très simple à écrire et
 génère peu de lignes de code. La parallélisation à l'aide de fils d'exécution
 s'effectue automatiquement. En revanche, cela requiert la formation à une
 nouvelle forme de logique, qui n'est traditionnellement pas utilisée, ce qui
 peut rendre son apprentissage plus difficile.
     La présentation montre par des exemples simples comment utiliser son outil
 et les résultats qui en découlent.
     A partir de Pythonect, Itzik a développé SMALL (Simple Malware AnaLysis
 Language), un script Python conçu pour l'analyse de logiciels malfaisants.
 L'avantage de cet outil est qu'il permet de récupérer facilement des données
 souvent intéressantes dans ce type de logiciels (adresses IP, chaînes de
 caractères encodées en Base64, etc.).
     Hackersh est un interpréteur de commandes écrit lui aussi sur la base de
 Pythonect. Son intérêt est qu'il vise à réutiliser au maximum le code
 existant. Il contient déjà une bibliothèque standard incluant beaucoup
 d'outils fréquemment utilisés pour les tests d'intrusion ainsi que les
 fonctions internes de Pythonect.
     L'association de Pythonect et de Hackersh donne un résultat intéressant
 qui peut être très utile, par exemple, pour des tests d'intrusion. Il s'agit
 juste de dépasser la barrière de l'apprentissage de la programmation par flux
 de données.


 Seconde Keynote : Thomas Lim
 ===============

     La seconde journée démarre avec l'humour décalé de Thomas Lim. Le début
 de la présentation étale des millénaires d'échecs chinois, entre Grande
 Muraille passante et invasions mongoles, mandchoue ou japonaise... Tout cela
 pour dire que la Chine n'est pas insurmontable, militairement. La Chine pirate
 tout ce qui bouge car tout est informatisé et elle a besoin de savoir ce
 qui se passe dans le monde qui l'entoure. Son moteur est économique et
 politique, l'armée n'est qu'un outil qui n'est pas toujours bien contrôlé par
 l'état confronté à de multiples problèmes internes (pauvreté, unité du
 pays...).
	Ainsi, ne croyez pas que la Chine mène une cyber-guerre, tout cela
 n'est fait que par pur intérêt, l'expérience de Thomas Lim, un Singaporien
 très remonté contre ses voisins chinois parle lors de cette présentation
 faite au second degré.


"BIOS Chronomancy" Fixing the Static Root of Trust for Measurement : 
==================================================================
John Butterworth, Corey Kallenberg, Xeno Kovah  (MITRE)

     Le MITRE, organisme de recherche fédéral américain intervient ici pour
 présenter ses recherches sur les BIOS Dell et leurs mécanismes de démarrage
 sécurisé.
     La présentation, très didactique, expose le fonctionnement du TPM et
 comment sont contrôlées les différentes mémoires (BIOS et ROM) lors du
 démarrage au sein du Platform Configuration Register (PCR) afin de contrôler
 leur intégrité avant d'autoriser le démarrage. Ils présentent ensuite la
 faille liée au SRTM (Static Root of Trust for Measurement) qui est chargé
 d'effectuer les contrôles mais qui n'est pas intégré à ceux-ci : permettant
 à un attaquant de modifier une grande partie du BIOS sans modifier la valeur
 du PCR, les contrôles sont donc contournés. L'attaque consiste donc à
 modifier le SRTM afin qu'il retourne la valeur attendue même si l'ensemble
 du BIOS a été modifié.
     Le MITRE est en relation avec Dell qui a d'ores et déjà corrigé le bug.
 La suite de la présentation montre le fonctionnement d'un "bug" développé
 pour résister aux mises à jour du BIOS. Celui-ci détecte le changement
 d'état et se place dans une autre mémoire durant le processus pour
 ré-infecter le BIOS une fois le processus fini.
 Ils terminent la présentation sur une idée de contre mesure basée sur des
 boucles importantes et une mesure temporelle dont les résultats sont comparés
 à une source externe.
     Cette présentation montre bien que de petites erreurs d'implémentations
 peuvent avoir des conséquences graves et que le matériel devient une cible de
 choix pour l'attaque.


 "ARM Exploitation and Hardware Hacking" convergence memoirs : Stephen Ridley
 ===========================================================

    Les systèmes embarqués reviennent pour cette présentation où l'orateur
 fait une vaste promotion des produits et formations dispensées par
 lui-même, ce qui laissera peu de temps pour la partie intéressante.
     Il termine néanmoins sur les différentes techniques de hardware hacking
 pour identifier les ports de débogage, les ports série et s'y connecter et
 enchaîne trop rapidement sur les attaques. La présentation contient les
 explications sur les techniques de ROP sur ARM et pourra servir de référence.
 L'audience reste néanmoins sur sa faim à l'issue de cette présentation.


 Advanced Heap Manipulation in Windows 8 : Zhenhua(Eric) Liu
 =======================================

     Zhenhua Liu est un chercheur en sécurité informatique chez Fortinet. Il
 se spécialise dans les mesures de sécurités mises en place par les systèmes
 d'exploitation.
     Le système d'exploitation Windows 8 apporte beaucoup d'améliorations en
 termes de sécurité. Il est devenu plus difficile d'exploiter des
 vulnérabilités de corruptions de la mémoire. Ainsi, cette conférence montre
 une autre technique, la manipulation de la mémoire dans le tas, qu'il appelle
 aussi le "heap feng shui". Cette technique est capable de fonctionner malgré
 les mesures de sécurité telles que l'ASLR.
 La clé est la défragmentation. En effet, le problème réside dans le fait
 que les séquences de défragmentation de la mémoire vont activer le LFH
 (Low-Fragmentation Heap) qui empêchent d'avoir les allocations au bon endroit.
     Zhenhua Liu commence en rappelant les concepts de l'allocation dans le
 tas. En jouant sur la taille des allocations et des désallocations, il est
 possible de créer des "trous" dans le tas, qui permettront de placer des
 objets arbitraires.
 Il est donc important d'avoir la possibilité d'allouer/désallouer de la
 mémoire de taille arbitraire. Une solution possible est l'utilisation de
 relais (proxys) d'allocation et de désallocation. De plus, la première
 allocation dans une page sera effectuée au début de celle-ci tandis que les
 prochaines allocations seront faites à la fin. Cela crée bien un trou au
 milieu de la page.
 L'autre difficulté est de placer ces zones à des adresses prédictibles. La
 technique utilisée pour cela est le spray du tas.
     En résumé, il faut se souvenir que le but est d'empêcher l'activation du
 LFH en contrôlant la taille des allocations et des désallocations. Cela créera
 des trous où il sera possible d'allouer la zone mémoire vulnérable.


 A hesitation step into the blackbox : Heuristic based Web-App Reverse-eng.
 ==========================================================================
 Fabien Duchene, Sanjay Rawat, Jean-Luc Richier, Roland Groz


     Fabien Duchene est étudiant en doctorat au LIG de l'université de
 Grenoble et son sujet de recherche repose sur le fuzzing pour détecter les
 vulnérabilités exclusivement en boîte noire.
 La majorité des analyses qui sont faites en boîte grise et supposent que de
 la rétro-ingénierie est effectuée sur l'application. Ici, il est capable,
 via cependant un flux important de données reçues et envoyées, de reconstruire
 un graphe de l'application web analysée. Ce graphe construit à l'aide du
 fuzzing montre les liens qui existent entre les différentes pages de
 l'application ainsi que les paramètres qui sont pris en compte. Ce graphe est
 créé avec une approche heuristique, qui attribue des points à chaque noeud du
 graphe, qui est la base de la rétro-ingénierie en boîte noirede l'application
 Web.
 Cependant, il est à noter que, lors de sa démonstration sur une application
 web vulnérable, le nombre de données important envoyé à celle-ci peut avoir
 des conséquences visibles et persistantes. En effet, le fuzzing peut, par
 exemple, remplir la base de données de l'application au vu des tests qui sont
 effectués automatiquement par sa méthode.
     Pour finir, il compare l'implémentation de sa méthode, nommée H-WAR, avec
 les différents scanners de vulnérabilités existants sur le marché. Il montre
 ainsi que sa méthode permet une meilleure couverture des pages de
 l'application, du nombre de vulnérabilités trouvées ainsi que de son
 efficacité et rapidité pour compléter l'analyse que l'état de l'art en
 matière de scanners d'applications web.


 Corroding Immobilizer Cryptography : Karsten Nohl
 ==================================

     Chercheur en sécurité chez Security Labs, Karsten aborde la sécurité des
 "immobilizers" qui sont employés principalement sur les voitures en tant
 qu'anti-démarreurs. Ces puces sont présentes dans une partie de la clef d'une
 voiture.
     Le système de sécurité est représenté par un défi/réponse cryptographique
 entre la clef et le contrôleur de la voiture. Bien qu'il y ait trois groupes
 en concurrence, Karsten explique que la sécurité est relativement mal
 implémentée : nos ordiphones seraient plus sécurisés que nos voitures.
     En effet, une attaque de type "bruteforce" permet de trouver la clef d'un
 défi réponse d'une puce Texas Intrument. Le Hi-Tag2 de Philips quant à lui
 peut aussi être cassé via une attaque de bruteforce, en résolvant le problème
 de SATisfaisabilité. Enfin, l'optimisation de Megamos (EM Micro) dégrade
 fortement la sécurité du défi/réponse puisqu'il n'y a plus besoin d'avoir
 une clef pour collecter des informations.
     Les trois vulnérabilités des trois principaux fabriquant mènent
 logiquement à la création de machines de duplications de clefs. Etant donné
 que la plupart des mécanismes de sécurité présents sur les ordiphones ne
 sont pas disponibles pour les clefs de voitures, Karsten prévoit une forte
 hausse du vol de voitures par piratage.


Taint nobody got time for crash analysis : Richard Johnson & Pa_kt
========================================

     Actuellement directeur de l'équipe des chercheurs de vulnérabilités chez
 SourceFire, Richard Johnson accompagné de Pa_kt, chercheur sénior également
 dans la même entreprise, présentent leur projet d'automatisation de recherche
 de vulnérabilités.
	Selon eux, il n'existe actuellement pas d'outils pouvant effectuer
 une analyse automatique et efficace de bogues logiciels. Leur projet suit
 un protocole précis comportant trois étapes clefs :
      - L'analyse par coloration;
      - Le pistage/traçage;
      - L'exécution symbolique.
 Le premier point consiste en une analyse dynamique afin de mettre en avant
 les zones mémoires qui intéragissent avec les entrées/sorties du programmes
 lors de son exécution.
 La seconde étape permet d'établir les dépendances entre les variables sous
 forme d'une arborescence.
 Enfin, l'exécution symbolique (variables non résolues, sans valeurs
 concrètes) donne en résultat une formule ne comportant que des variables.
 Ainsi, celles qui n'ont pas de relations avec l'utilisateur pourront être
 écartées. Il sera possible d'analyser l'exploitabilité de ces bogues systèmes.

     Richard et Pa_kt concluent leur présentation en insistant sur le rôle
 de l'automatisation de l'analyse sur les plantages système. Ces analyses
 permettent d'évaluer ces bogues. Le protocole utilisé permet, malgré quelques
 faux-positifs, offre donc une solution efficace pour ce type d'analyse.


 Transporting evil code into the Business: Attacks on SAP TMS :
 ============================================================
 Juan Perez-Etchegoyen

     Juan Perez-Etchegoyen est le CTO de Onapsis, et se spécialise dans la
 recherche de vulnérabilités des principaux ERP tels que SAP, Oracle...
     Dû au retard accumulé de la journée, cette présentation a été faite dans
 la plus grande rapidité, ce qui implique que les démonstrations n'ont pas été
 faites au public.
 Il est bien connu que les plus grandes entreprises mondiales stockent leurs
 données critiques de leur business dans SAP, le plus grand des ERP existants.
 SAP dispose de plusieurs milliers de programmes intégrés et permet aussi de
 développer d'autres programmes plus adaptés à l'utilisation de l'entreprise.
 Cependant, cette grande liberté apporte aussi de nombreux dangers, et il est
 nécessaire de bien définir les différents environnements.
     Une mauvaise application de ces mesures de sécurité ne sont pas sans
 conséquences, il en résulte des pertes ou des modifications de données, ou de
 l'espionnage par les concurrents. La sécurité du SAP de l'entreprise est donc
 une composante critique de la santé de l'entreprise.
     Cette présentation fait suite aux déjà nombreux travaux présentés par
 Onapsis dans les plus grandes conférences (Blackat pour ne citer qu'elle) et
 aborde un nouveau sujet, TMS, l'ensemble d'outils et de protocoles destinés à
 gérer la personalisation d'un environnement SAP et à gérer les changements,
 notamment pour le passage du développement à la production.
     Même si SAP s'améliore, la conclusion de cette présentation montre que TMS
 met en oeuvre de nombreux mots de passe par défaut qui ne sont que trop
 rarement modifiés.
 L'orateur termine sur des recommandations, notamment de ne pas donner plus
 de droits que nécessaire à l'utilisateur TSADM. Il est également nécessaire de
 prendre garde aux systèmes de fichiers contenants les patchs transportés par
 TMS dans la mesure où ceux-ci sont de simples archives compressées et
 contiennent l'ensemble des modifications appliquées sur la base SAP, une
 modification indue pourrait y passer inaperçu!


 Troisième Keynote : Dmitri Alperovitch
 =================

     Dmitri Alperovitch est un des co-fondateurs de CrowdStrike, qui
 dit se spécialiser dans la sécurité offensive. Dans cette conférence, il
 présente le déséquilibre qui existe entre les forces des attaquants et des
 défenseurs.
 Essayer de trouver une solution pour régler tous les problèmes n'est pas
 une approche viable. Les attaquants trouveront toujours des chemins détournés
 pour passer à travers les défenses mises en place. Pourquoi se sentir en
 sécurité en ligne lorsqu'on est toujours inquiet pour son coffre-fort ? C'est
 par cette analogie qu'il tente de faire comprendre que l'internet n'est pas un
 endroit sécurisé.
 Les attaquants changent souvent de cible, pour se concentrer sur les cibles
 plus faciles. C'est pourquoi résister à une attaque ne veut pas dire qu'ils
 vont arrêter. En effet, peu importe à quel point il est difficile de passer
 une sécurité, les organisations (nationales ou privées) ne s'arrêteront
 jamais de rechercher des vulnérabilités. Cela s'explique par le retour sur
 investissement très avantageux qu'ont les attaquants. Même si le résultat est
 infructueux pendant des années, trouver une vulnérabilité rentabilisera
 largement l'argent dépensé. Les défenseurs, quand à eux, doivent constamment
 renforcer leurs systèmes, et il y a peu de retour sur investissement à
 défendre. De plus, les attaquants ont l'avantage de l'attaque par surprise :
 ce sont eux qui décident du moment et de la manière de l'attaque, rendant la
 défense d'autant plus  difficile.
     L'exemple pris est celui des missiles. Un défenseur ne peut se défendre
 qu'à la limite de ses intercepteurs disponibles. L'attaquant peut toujours
 construire plus de missiles.


 Crashdmp-ster Diving the Windows 8 Crash Dump Stack : Aaron LeMasters
 ===================================================

     Aaron LeMasters, ingénieur chez CrowdStrike expose son analyse d'un
 fichier très peu documenté par Microsoft : le fichier généré par Windows 8
 lorsqu'un plantage système a lieu.
     En soi, Aaron n'utilise pas de vulnérabilité, il abuse seulement des
 fonctionnalités de journalisation lors du plantage. Un journal d'erreur est
 alors créé au moment de l'erreur ou lors de la mise en veille prolongée.
 Contrairement à Windows 7, ce système d'exploitation ajoute des fonctions de
 lecture du journal. Le but étant de pouvoir lire ou écrire sur tout le
 périphérique de stockage.
 En général, le fichier contenant les journaux d'erreurs sont situés dans
 C:\DumpStack.log.tmp. Le fichier est maintenu ouvert dans le pointeur
 "GlobalContext" de la structure "_FILTER_CONTEXT". Si ce pointeur est modifié
 avec un pointeur vers un autre fichier, comme un fichier exécutable du noyau,
 il est possible d'écrire la journalisation dans cet exécutable, et ainsi
 corrompre le noyau.


 Exploiting Hardcore Pool Corruptions in Windows Microsoft Kernel :
 ================================================================
 Nikita Tarakanov

     Nikita Tarakanov est un chercheur indépendant en sécurité informatique et
 ancien salarié de Vupen. Il présente aujourd'hui l'exploitation d'une
 corruption d'un groupe de ressources au niveau du noyau Windows.
     Tout d'abord Nikita rappelle les principes de gestion de la mémoire au
 niveau du noyau. Il décrit les structures manipulées lors de ces opérations
 (allocation et désallocation) et cite les attaques déjà effectuées :
      - Write4 par Kortchinsky
      - BlockSize Attack & Split Chunk Attack par Tarjei
     Le problème est que ces attaques demandent des prérequis, qui ne sont pas
 forcément satisfaisables.
 La réponse apportée par Nikita est le Direct Kernel Object Header
 Manipulation (DKOHM). Il ne va pas s'attaquer aux mécanismes d'allocations
 mémoire dans le tas mais aux objets noyaux eux-mêmes. Les attaques présentées
 se basaient sur les entêtes : les objets noyaux en possèdent également !
 Le principe de cette attaque réside dans la manipulation des entêtes des
 objets noyaux afin de provoquer le déréférencement de ces objets. Elle permet
 de déclencher des dépassements de tampons mémoire qui permettent de prendre le
 contrôle du registre EIP.
     À la fin de cette présentation, Nikita modère ses propos en annonçant que
 ces types d'attaques allaient être de plus en plus difficiles. En effet, un
 des correctifs de sécurité Microsoft permettait de corriger l'attaque
 présentée. De plus, ce type d'attaque serait également inefficace contre le
 système d'exploitation Windows 8.


 XML Out-Of-Band Exploitation : Yunusov Timur & Alexei Osipov
 ============================

     Yunusov et Alexei présentent ici une exploitation du langage XML de type
 "Out-Of-Band". La conférence débute avec rappel de l'utilisation des
 "entités paramètres" XML ainsi que du principe des attaques de type XML
 eXtended Entity (XXE).
     Ils aborde,t le principe de l'attaque "Out-Of-Band" : envoyer un document
 XML contenant des références externes à un serveur. Celui-ci, lors de
 l'interprétation, va alors accéder à une machine compromise contenant les
 références manquantes. C'est ce fichier contenu sur la machine malfaisante qui
 va contenir la charge utile.
     Grâce à cela, nous pouvons passer outre certaines règles de sécurité du
 module ModSecurity entre autre. Une démonstration est faite de l'exfiltration
 des données par le biais de requêtes formées lors de l'interprétation du
 fichier XML.


 Revisiting Mac OS X Kernel Rootkits : Pedro Vilaca
 ===================================

     Pedro aborde dans sa présentation les outils de dissimulation d'activité
 (rootkit) pour le noyau Mac OS X. Ceci est assez original car il n'existe à
 l'heure actuelle que très peu d'outils de ce genre pour ce type de noyau.
 Pedro explique les difficultés liées à la création d'un tel outil et au
 maintien de sa stabilité. Par un jeu de "problèmes/idées/solutions", il
 montre le fruit de ses recherches.
     Un des premiers problèmes était l'accessibilité des symboles noyau,
 utiles pour son fonctionnement (résolutions de variables, fonctions, etc.).
 En effet, un grand nombre d'entre eux ne sont pas exportés et le rootkit,
 agissant dans l'espace noyau, ne peut pas les utiliser. La solution apportée
 pour une compatibilité optimale est la résolution de ces symboles via l'espace
 utilisateur, ceci étant possible en accédant au système de fichiers. Pedro se
 sert de l'interface de programmation noyau afin d'accéder au système de
 fichiers virtuels. Un des points était de récupérer le contexte du système de
 fichiers virtuel. Ceci a été accompli par un tour de passe passe grâce à une
 lecture du code. Il obtient ainsi la possibilité de lire le noyau à partir du
 disque. Les symboles seront donc traduits et récupérés dans une mémoire
 tampon.
 L'intégration d'un désassembleur, ici doStorm, va également faciliter
 l'accessibilité des fonctions, variables et des recherches par structures
 (recherche de chaînes de caractères par exemple) et également permettre une
 analyse dynamique.
     Dans la suite et fin de cette présentation, Pedro présente les actions et
 tests qu'il a effectué à l'aide de son rootkit notamment l'exécution de code
 arbitraire dans l'espace utilisateur ou encore l'invisibilité face à
 "volatility" qui est utilisé pour la détection de rootkit.



 Exploiting Game Engines For Fun And Profit : Donato Ferrante & Luigi Auriemma
 ==========================================

     Donato et Luigi montrent les domaines d'utilisation des moteurs de jeux.
 Ces derniers ne sont en effet pas exploités uniquement pour les jeux vidéos
 mais également à d'autres fins :
     - militaire par l'US Air Force pour des logiciels de simulation.
     - systèmes SCADA.
 Les utilisateurs finaux des moteurs de jeux se comptent donc par millions,
 chacun représentant une cible potentielle. Du fait du partage du même moteur
 de jeux par plusieurs jeux, la corruption d'un moteur impacte tous les jeux
 qui l'utilisent.
     L'attaque est possible au niveau réseau via la fragmentation des paquets.
 En effet, cette technique est utilisée par les moteurs de jeux pour
 implémenter une sorte de TCP sur UDP. Chaque paquet contiendra l'index, la
 taille ainsi que la donnée elle-même afin de pouvoir les reconstituer en
 fusionnant les paquets reçus. Cependant, plusieurs erreurs sont présentes
 dans l'algorithme de réassemblage, notamment des oublis de vérification sur
 les données rendant la corruption possible.
 D'autres vulnérabilités pour un moteur de jeux sont présentes dans les
 protocoles utilisés par les jeux. Ils sont semblables pour tous les jeux
 partageant le même moteur, les différences n'étant que de l'obfuscation d'un
 jeu à l'autre. Il suffira donc de tables de correspondance dans le but de
 rendre notre exploitation valable sur le plus de machines possible.
 Un moyen d'infecter un maximum de machines est de passer par le "serveur
 maître" qui fournit les adresses IP utilisant le moteur de jeux spécifié.
 Cet élément est donc très utile, car assimilable à un catalogue de cibles
 pour un moteur de jeux donné.
     Après une série d'explications sur ces vulnérabilités de type 0-Day, une
 démonstration conclut la présentation. Donato et Luigi utilisent le serveur
 maître en lui fournissant le moteur de jeux pour retrouver l'adresse de leur
 propre serveur puis exploitent ce dernier par le biais d'une vulnérabilité
 propre au moteur de jeux. Ils démontrent leur exploitation en lançant
 l'exécution de la calculatrice Windows.


 Killing RATs, The Arsenic Framework : Robinson Delaugerre & Adrien Chevalier
 ===================================

     Robinson et Adrien présentent le fruit de leur travail : The Arsenic
 Framework. Consultants spécialisés en inforensique, ils rappellent les
 principes de leur métier et leurs contraintes. Le fait que les attaquants
 soient déjà présents, qu'ils aient une meilleure vision de l'infrastructure
 cible est en effet un grand avantage pour les attaquants.
     La plupart de ces attaques sont planifiées et spécifiques pour la cible.
 Lorsque l'on confronte la ligne de vie d'une attaque avec celle d'une défense
 associée, on constate que chaque partie veut gagner le plus de temps possible.
 Afin de gagner le plus de temps possible, il est vital pour le défenseur de
 pouvoir dresser une frise chronologique des actions effectuées par
 l'attaquant.
     Arsenic a développé la possibilité via une banque de signatures d'analyser
 les paquets réseaux. Cette analyse peut aussi être basée sur le comportement
 de la machine ou les protocoles utilisés. Pour l'analyse d'une machine
 infectée, Arsenic collecte les informations via un exécutable. Cette partie
 est interprétée par des modules, qui peuvent donc être spécifiques. La
 dernière partie se charge de l'analyse réseau au sens large. C'est ici que le
 défenseur obtiendra la frise chronologique du ou des attaquants.
     Pour finir, Robinson et Adrien montrent l'emploi d'Arsenic sur une machine
 infectée par le virus "Poison Ivy" puis expliquent les possibilités
 d'améliorations comme, par exemple, la compatibilité avec une architecture x64
 et l'IPv6.



--[ 5. Compte-rendu du colloque "Stratégie et Réseaux" ]----------------
    Par Jean-Jacques Cayet

     Le colloque "Stratégie et réseaux" organisé par le Club participation
 et progrès s'est déroulé le 27 mai 2013 après-midi à l'École Militaire [1].
 
 Introduction par Daniel Ventre (titulaire de la chaire de Cyberdéfense)
 ============
 
     Selon Daniel Ventre il ne faut pas amalgamer les notions « Cyber » et
 réseau, cette dernière est une notion ancienne étudiée par des sociologues
 depuis longtemps par exemple George Simmel (19éme siècle) et plus récemment
 John A Barnes (1950), 1er à avoir parlé de « réseaux sociaux »
 Le réseau : est un notion très large que l'on peut considérer sous 2 angles : 
     - ensemble des relations
     - physiquement, sous l'angle des infrastructures et des Unités
 Réseau et Stratégie : 
     - quelles relations pour quelles relations
     - poids des infrastructures
 Le réseau, étymologiquement vient de «filet», il implique donc des notions de 
 surface, de n½uds et de  liens. Son rôle 1er est d'irriguer, de faciliter les
 échanges (canaux, routes, voies ferrées, électricité, télécom... ).
 Se pose alors le contrôle du réseau. Le réseau a un double usage, il permet
 de construire ou de détruire.
 
 Table ronde : La réticulation du monde affecte-t-elle la stratégie  ?
 =====================================================================
 Présidée par François-Bernard Huyghe, directeur de recherche à  l'IRIS

 Olivier Kempf : le réseau modifie-t-il la stratégie ?
 Ce qui caractérise un réseau et justifie sa mise en place : l'absence
 d'obstacle. Il compense l'impossibilité d'occuper toute la ligne de front,
 le réseau permet donc le contrôle indirect d'un territoire.
 Une stratégie se décline classiquement selon 3 dimensions qui traduites sous
 l'angle du réseau sont : 
     - Espace : capillarité
     - Temps : densité du flux 
     - Force : ordonnancement et régulation
 
 Frederick Douzet, : Stratégie de dissuasion et réseaux
 L'époque est à la guerre « cool » . Nous constatons l'enchevêtrement des
 réseaux IT et des autres réseaux, physiques et humains.
 La notion de Dissuasion implique que l'attaque coûte davantage qu'elle ne
 rapporte. Quatres facteurs la mesure : 
    - les bénéfices escomptés
    - la probabilité d'atteindre ces bénéfices
    - les coûts pour l'attaquant
    - la crédibilité de l'attaqué : il doit montrer ses forces
 Une attaque implique que l'on puisse identifier l'attaquant.
 La solution réside en la capacité à continuer à fonctionner sous l'attaque,
 le parallèle n'est pas possible avec la dissuasion nucléaire, car une
 cyber-attaque ne crée pas de dégâts matériels et il est souvent impossible
 d'identifier l'attaquant
 
 Nicolas Vanbremeersch : réseaux numériques et démocratie  ?
 Pour lui nous sommes dans une 3éme ère : la 1ére est celle de l'information,
 la 2ème celle des réseaux, la 3ème est celle de l' « empowerment » les deux
 précédentes ères arrivent dans la vraie vie et créent la force des liens
 faibles.
 Le réseau devient une des structures de base de la société, cela entraîne : 
    - hyper abondance de données et d'informations
    - confrontation de la presse
    - collaboration de masse
    - transformation du temps : on est dans l'hyper temps réel et la mémoire
      est allongée
 Conséquence pour la société : : 
   - le chaos permanent (modernité liquide de Zygmunt Bauman)
   - réduction de la valeur institutionnelle
   - hyper concurrence
 Il engage le débat en évoquant : 
   - le Geek contre le bourgeois : selon Habermas
   - la collaboration de masse contre le monopole
 Son blog : http://vanb.typepad.com/versac/
 
- Nicolas Mazzucchi, : Asie centrale : les réseaux de tubes, effet d'une
  stratégie géoéconomique de l'énergie
  Discussion sur les enjeux entre USA, Russie et Chine autour des gazoducs et
  oléoducs en Asie Centrale.


 Table ronde : Cybernétisation du monde et stratégie
 ===================================================
 Présidée par Olivier Kempf, maître de conférences à Sciences Po
 
 - Jarno Limnéll : Defining the Qualities of Cyber Warfare
     Selon Jarno il n'y aura pas de cyberguerre, mais toutes les guerres
 comportent ou comporteront un élément cyber. Il n'y a plus d'état de paix
 ou de de guerre mais un mélange permanent de ces 2 états. Il y a des coupes
 importantes dans les budgets militaires mais pas dans ceux consacrés à la
 Cyber Attaque/Défense. Les pays de l'OTAN coopèrent sur de nombreux aspects
 militaires, mais pas du tout dans le domaine du Cyber. Chacun a une bonne
 connaissance des capacités militaires des différents pays, mais pas de leurs
 capacités de cyberguerre. 
 Avec Stuxnet une étape a été franchie, c'est la première attaque
 officiellement attribuée à un état et qui avait des finalités d'actions
 physiques. Selon lui la Cyber Security n'est pas une question technologique,
 mais une question stratégique.
 La Cyber Securirty se définit selon 4 métriques :
    - Capacités offensives
    - Capacités défensives
    - Résilience
    - Dépendances au numérique
 
- Kave Salamatian : De la cyberdéfence à la cyberstratégie qu'est qui change ?
 
     Kave ne nous fait pas un exposé technique mais philosophique. La
 Cyber Stratégie est l'art de diriger, coordonner ses forces et ressources
 dans le cyber espace, utiliser au mieux Internet. Il préfère cette définition
 positive à celle de Cyber Defense. Il y a des risques : de tous temps, tous
 les réseaux ont été utilisés comme vecteurs d'attaque et plus ils sont
 puissants et plus ils sont utilisables par des attaquants. Pour contrer les
 traffics en tout genre on peut mettre un check-point tous les 10 km sur les
 autoroutes, les bénéfices d'un tel contrôle sont très nettement inférieurs
 aux coûts. Ses réflexions :
    - Art de créer des opportunités
    - Soit réflexion stratégique ou de défense
    - Quel espace / quelles sont nos forces / quels objectifs / où positionner
      ses forces
 Il insiste sur la création de l'EINS, Excellence in Internet Science
 (internet-science.eu), groupe  pluridisciplinaire de réflexion sur la
  « Science de l'Internet » 
 
 - Dominique Lacroix : Le nommage des domaines, expression de la stratégie
   américaine de domination des réseaux ?
     Exposé sur les enjeux géostratégiques et économiques du contrôle des DNS
 de l'Internet, les nouvelles extensions de nom de domaine, majoritairement
 sous contrôle américain et demandées à partir de filiales dans des paradis
 fiscaux. Son blog : http://reseaux.blog.lemonde.fr 

 [1] : http://club-participation-progres.blogspot.fr/2013/04/colloque-strategie-et-reseaux-27-mai.html



--[ 6. Nouvelle formation SANS SEC504 : Techniques de hacking ]---------

     HSC propose une nouvelle formation SANS SEC 504 : Techniques de hacking,
 exploitation de failles et gestion des incidents.

 Les objectifs de cette formation sont de comprendre les techniques d'attaques
 et de piratage réseau et système et apprendre à lutter contre ces
 attaques, en identifiant les indicateurs de compromission et en sachant
 gérer les incidents de sécurité.

 La formation détaille les phases de reconnaissance et de découverte avec
 mise en pratique avec des exercices pour les attaques wifi, réseau,
 applications web, dénis de service, cassage de mots de passe, etc.
 Sont expliqués l'utilisation des journaux et la détection des rootkits.

 Les outils utilisés sont gratuits, chaque stagiaire pouvant repartir avec
 une fois la formation terminée.

     Cette formation prépare à la certification GIAC Certified Incident
 Handler (GCIH).

      Le responsable de la formation est Mouad Abouhali, il est accompagné 
 de Julien Reveret.

 Première session à Paris du 16 au 20 décembre 2013.

 Objectifs, durée, public visé et prérequis, méthode pédagogique, support,
 plan détaillé :
 http://www.hsc-formation.fr/formations/sec504_hacker_techniques.html

 Pour tout renseignement, ou inscription, contactez Lynda Benchikh
 formations at hsc.fr -- +33 141 409 704
	


--[ 7. Nouveautés du site web HSC ]-------------------------------------

 - Présentation "Extraction de données authentifiantes de la mémoire Windows"
   par Steeve Barbeau le 29 mai 2013 à Solutions Linux
   http://www.hsc.fr/ressources/presentations/solutionslinux2013_sessiondump/index.html.fr



--[ 8. Offres d'emploi pour consultants en sécurité ]-------------------

  +------------------------------------------------------------------------+
  | HSC recherche des consultants techniques expérimentés 2 à 6 ans d'exp. |
  +------------------------------------------------------------------------+

     Les ingénieurs sélectionnés pourront être formés à la sécurité par HSC,
 (intrusion, inforensique, Windows, SCADA, etc) soit 2 à 6 semaines de
 formations suivies dans le cadre de la prise de fonction.

     Tous les postes sont basés à Levallois-Perret (Paris), à 5 minutes de la
 gare Saint-Lazare. Les locaux sont spacieux et climatisés (735 m2), avec
 réfectoire et espace détente. Si vous souhaitez proposer votre candidature,
 nous vous remercions d'envoyer votre CV en texte ascii (pas de .doc ni .docx)
 par courrier électronique à cv at hsc.fr.



--[ 9. Agenda des interventions publiques ]-----------------------------

 - 5 juin 2013 - Matinée Sécurité CNIS-Mag - Paris, Hôtel Intercontinental
   "Vulnérabilités et Menaces : entreprise, environnement scada ou
   administration, quelle Cyberdéfense ?"
   Conférence d'ouverture
   Hervé Schauer
http://www.cnis-mag.com/vulnerabilites-et-menaces-du-si-entreprise-environnement-scada-ou-administration-quelle-cyberdefense.html

 - 5 juin 2013 - 17ième Mélée Numérique - Toulouse, Diagora Labège
   Table-ronde "La parole des Experts de la Cybersécurité : les dessous
   d'une révolution ?" Hervé Schauer, représentant le Clusif
   http://www.meleenumerique.com/contenu/programme

 - 21 juin 2013 - RSSIA du Clusir Aquitaine - Bordeaux
   "Introduction à la série des normes ISO22301 sur la continuité d'activité"
   Hervé Schauer
   http://www.clusir-aquitaine.fr/rssia

 Retrouvez l'agenda de nos interventions publiques sur
 http://www.hsc.fr/conferences/agenda.html.fr



--[ 10. Prochaines formations HSC ]-------------------------------------

     Nos prochaines formations sont les suivantes :

 - Paris
        Risk Manager Avancé    .................    : 6 et 7 juin
        Tests d'intrusion des applications web et
        hacking éthique (SANS SEC542 / GIAC GWAPT)  : 10 au 14 juin (*)(#)
        Essentiels de l'ISO27001    ............    : 17 juin
        Mesures de sécurité ISO 27002   ........    : 18 et 19 juin
        Gestion des incidents de sécurité/ISO27035  : 20 juin
        Indicateurs & tableaux de bord SSI/ISO27004 : 21 juin
        Tests d'intrusion avancés, exploits,
        hacking éthique (SANS SEC560 / GIAC GPEN)   : 24 au 28 juin (*)(#)
        ISO 27005 Risk Manager    ..............    : 1 au 3 juillet (#)
        ISO 27001 Lead Implementer    ..........    : 1 au 5 juillet (#)
        ISO 27005 Risk Manager    ..............    : 4 au 6 septembre (#)
        ISO 27001 Lead Auditor    ..............    : 9 au 13 septembre (#)
        Sécurité du WiFi    ....................    : 12 et 13 septembre (*)
        Inforensique Windows (SANS FOR408/GIAC GCFE): 16 au 20 septembre (*)(#)
        ISO 27001 Lead Implementer    ..........    : 16 au 20 septembre (#)
        Formation CISSP    .....................    : 23 au 27 septembre (#)
        ISO 22301 Lead Auditor    ..............    : 23 au 27 septembre (#)
        Sécurité du Cloud Computing    .........    : 30 septembre au 2 octobre
        Fondamentaux & principes de la SSI 
        (SANS SEC401/GIAC GSEC)   ..............    : 30 sept au 5 oct (*)(#)
        Essentiels de l'ISO22301    ............    : 3 octobre
        EBIOS Risk Manager    ..................    : 7 au 9 octobre (#)
        Formation RSSI    ......................    : 7 au 11 octobre
        Protéger les applis web (DEV522 /GIAC GWEB) : 14 au 18 octobre (*)(#)
        ISO 27005 Risk Manager    ..............    : 14 au 16 octobre (#)
        Rétroingénierie de logiciels malfaisants :
        Outils et techniques d'analyse 
        (SANS FOR610/GIAC GREM)   ..............    : 4 au 8 novembre (*)
        ISO 27001 Lead Implementer    ..........    : 4 au 8 novembre (#)
        Essentiels techniques de la SSI    .....    : 12 et 13 novembre
        PKI : principes et mise en oeuvre    ...    : 12 au 14 novembre (*)
        Essentiels juridiques pour gérer la SSI     : 14 et 15 novembre
        Sécurité SCADA  ........................    : 15 novembre
        Essentiel de PCI-DSS    ................    : 21 novembre
        RGS : la SSI pour le secteur public    .    : 22 novembre
        Analyse Inforensique avancée et réponse aux
        incidents (SANS FOR508 / GIAC GCFA)    .    : 18 au 22 novembre (*)(#)
        Formation DNSSEC   .....................    : 28 et 29 novembre (*)
        Tests d'intrusion avancés, exploitation de
        failles et hacking éthique (SEC660/GXPN)    : 25 au 30 novembre (*)(#)
        Correspondant Informatique et Libertés      : 2 et 3 décembre (@)
        Sécuriser Windows (SANS SEC505/GIAC GCWN)   : 2 au 6 décembre (*)(#)
        ISO 22301 Lead Implementer    ..........    : 9 au 13 décembre (#)
        Techniques de hacking, exploitation de failes
        et gestion des incidents (SEC504/GCIH)      : 16 au 20 décembre (*)(#)
        Inforensique réseau & infrastruct. (FOR558) : 1er semestre 2014 (*)
        Inforensique téléphones/ordiphones (FOR563) : 1er semestre 2014 (*)(#)

 (*) : formations avec travaux pratiques, avec un ordinateur par stagiaire
 (#) : formations certifiantes par LSTI, ISC2 ou GIAC
 (@) : formation labellisée par la CNIL (www.cnil.fr)


 - Luxembourg
        Formation CISSP    .....................    : 10 au 14 juin (#)
        ISO 27001 Lead Implementer    ..........    : 14 au 18 octobre (#)
        ISO 27001 Lead Auditor    ..............    : 18 au 22 novembre (#)
        ISO 22301 Lead Implementer    ..........    : février 2014 (#)
        ISO 27005 Risk Manager    ..............    : avril 2013 (#)

 - Le Mans
        Correspondant Informatique et Libertés      : 28 au 29 novembre (@)

 - Lille
        Correspondant Informatique et Libertés      : 2014 (@)

 - Limoges
        Correspondant Informatique et Libertés      : mars 2014 (@)

 - Lyon
        ISO 27001 Lead Implementer    ..........    : 17 au 21 juin (#)
        Correspondant Informatique et Libertés      : 19 et 20 sept (@)
        ISO 27005 Risk Manager    ..............    : 2 au 4 octobre (#)
        Essentiels juridiques pour gérer la SSI     : 8 et 9 octobre

 - Marseille
        ISO 22301 Lead Implementer    ..........    : 4ieme trimestre 2014 (#)
        Correspondant Informatique et Libertés      : mars 2014 (@)

 - Montpellier
        Correspondant Informatique et Libertés      : 17 et 18 octobre 2013 (@)

 - Nancy
        Correspondant Informatique et Libertés      : 12 et 13 décembre (@)

 - Nantes
        Correspondant Informatique et Libertés      : mai 2014 (@)

 - Nice
        ISO 27005 Risk Manager    ..............    : 26 au 28 juin (#)
        Correspondant Informatique et Libertés      : 26 et 27 septembre (@)

 - Pau
        Correspondant Informatique et Libertés      : mai 2014 (@)

 - Poitiers
        Correspondant Informatique et Libertés      : 27 et 28 juin (@)

 - Reims
        Correspondant Informatique et Libertés      : 21 et 22 novembre (@)

 - Rennes
        Correspondant Informatique et Libertés      : 20 et 21 juin (@)

 - Strasbourg
        Correspondant Informatique et Libertés .    : juin 2014 (@)

 - Toulouse
        ISO 27001 Lead Auditor    ..............    : 24 au 28 juin (#)
        Essentiels juridiques pour gérer la SSI     : 24 et 25 octobre
        Correspondant Informatique et Libertés .    : 19 et 20 décembre (@)
        ISO 27005 Risk Manager    ..............    : mai 2014 (#)
        ISO 27001 Lead Implementer    ..........    : juin 2014 (#)

 (#) : formations certifiantes
 (@) : formation labellisée par la CNIL (www.cnil.fr)

 HSC est certifiée OPQF (http://www.opqf.com/) et ISO9001 par Moody sur
 ses formations.

 Pour tout renseignement, ou inscription, contactez Lynda Benchikh :
 formations at hsc.fr -- +33 141 409 704

 Retrouvez les tarifs des formations dans la Newsletter n° 64 de janvier 2010
 au chapitre 6 : http://www.hsc-news.com/archives/2010/000064.html

 Retrouvez le détail de nos formations (plan pédagogique, agenda) ainsi que
 notre catalogue 2012 en PDF sur http://www.hsc-formation.fr/



--[ 11. Actualité des associations : Club 27001, Clusif et OSSIR ]--------

  o Club 27001 (http://www.club-27001.fr/)
     . Prochaine réunion à Paris le mercredi 19 septembre 2013 avec
       l'assemblée générale annuelle.
          - Programme en cours d'élaboration
     . Prochaines réunions à Toulouse, Marseille, Rennes et Lyon annoncées sur
       www.club-27001.fr et dans les listes électroniques. Inscrivez-vous
       sur les listes de chaque ville sur www.club-27001.fr pour suivre
       l'activité du Club 27001 en région.

 o Clusif (http://www.clusif.fr/)
     . Création par le Clusif d'un groupe de travail Sécurité SCADA co-animé
       par Hervé Schauer. Seconde réunion mercredi 18 juin à 14h00.
       Accès réservé aux membres. Inscription obligatoire :
       Olivier.Guerin at clusif.fr

 o OSSIR (http://www.ossir.org/)
     . Prochaine réunion à Paris le mardi 11 juin à 14h00 à l'INRIA 13ième
        ou - HackRF par Benjamin Vernoux (Eurogiciel) (en cours de
             confirmation)
        ou - La sécurité d'Android par Philippe Prados (Octo) (en cours de
             confirmation)
        ou - La sécurité des bases de données par Serge Frezefond (SkySQL)
             (en cours de confirmation)
           - Revue d'actualité par Nicolas Ruff (EADS)
     . Réunion suivante à Paris le mardi 9 juillet 2013
     . Réunion suivante à Paris le mardi 10 septembre 2013
     . Prochaine réunion à Rennes jeudi 27 septembre 2013
     . Prochaine réunion à Toulouse mardi 17 septembre 2013



--[ 12. Le saviez-vous ? La réponse ]------------------------------------

     Le script PHP n'est pas en cause ici. Il effectue correctement son travail
 en supprimant les caractères qui auraient permis de terminer prématurément
 l'affectation du paramètre dans la variable JS.
 Il est cependant possible de terminer le script JS lui-même en injectant la
 balise fermante </script>.
 
 En effet, lorsque les navigateurs réalisent leur analyse syntaxique du code
 HTML, ils ne doivent pas évaluer le contenu des balises <script>, comme
 l'indique les recommandations W3C[1] (spécifiques au HTML4), mais l'envoyer
 directement à l'interpréteur local.
 Ainsi, un navigateur ne distinguera pas une balise script fermante </script>
 d'une variable JS contenant le texte d'une balise script fermante "</script>",
 dans les deux cas, la balise </script> sera détectée et analysée comme balise
 fermante du script JS.
 
 Concrètement, il est possible d'exploiter le code donné en exemple avec
 l'appel suivant :
 http://www.monsite.fr/xss.php?param=</script><script>alert(1);</script>
 (ou en version encodée)
 http://www.monsite.fr/xss.php?param=%3C%2fscript%3E%3Cscript%3Ealert%281%29%3B%3C%2fscript%3E
 
 Le résultat de la page sera alors le suivant :
 <html>
 <head><title>HSC</title></head>
 <body>
 <script type="text/javascript">
 var a="</script><script>alert(1);</script>";
 </script>
 </body>
 </html>
 
 Lors de l'analyse syntaxique du contenu HTML, le navigateur va définir deux
 blocs JS distincts :
 
 <script type="text/javascript">
 var a="</script>
 
 et
 
 <script>alert(1);</script>";
 
 (une balise fermante </script> se retrouve orpheline, mais la plupart des
 navigateurs récents n'en tiennent pas compte)
 
 Notre script JS sera donc bien interprété \o/
 
 Une solution rapide, et conforme aux spécifications W3C[2], est de remplacer
 les débuts de fermeture de balise </ par <\/ (en plus des autres échappements
 précédents).
 Notre fonction deviendrait ainsi :
 var a="<?php if(isset($_GET['param'])) echo str_replace(array('</', '"', '\\'), array('<\\/', '', ''), (string)$_GET['param']); ?>";
 
 -- Rémi Chauchat
 
 [1] http://www.w3.org/TR/html4/types.html#type-script
 [2] http://www.w3.org/TR/html4/appendix/notes.html#h-B.3.2




Plus d'informations sur la liste de diffusion newsletter