SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Histoire d’une technique pour faire des trous
                     d’épingles
                         ou
  la difficile gestion d’un problème de sécurité

                           Éric Leblond

                                   OISF


                      Kernel Recipes 2012




Éric Leblond (OISF)    Histoire d’une faille de sécurité   Kernel Recipes 2012   1 / 14
Eric Leblond (Regit)


   Spécialiste de la sécurité des réseaux
   Créateur du projet NuFW, co-fondateur de la société EdenWall
   Auteur de coccigrep, un grep sémantique basé sur coccinelle
   Développeur Netfilter :
          Ulogd2: démon de journalisation de Netfilter
          Contributions diverses:
                  Bibliothèques NFQUEUE et dépendances.
                  Travail sur le journalisation.
   Actuellement :
          Consultant indépendant en sécurité
          Développeur financé de l’IDS/IPS Suricata




   Éric Leblond (OISF)          Histoire d’une faille de sécurité   Kernel Recipes 2012   2 / 14
Une "nouvelle" technique d’attaque



Des couches OSI indépendantes
   Les couches 2 et 3 sont traités indépendamment
   Il est donc possible d’usurper une identité du niveau 3
   En utilisant une couche 2 valide




   Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   3 / 14
Une "nouvelle" technique d’attaque



Des couches OSI indépendantes
   Les couches 2 et 3 sont traités indépendamment
   Il est donc possible d’usurper une identité du niveau 3
   En utilisant une couche 2 valide

Une attaque locale
   L’attaquant doit être connecté sur le même réseau Ethernet que le
   pare-feu
   Pas d’ouverture distante possible




    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   3 / 14
Essai sur Netfilter




                              Video



   Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   4 / 14
Essai sur Netfilter




                               Video
Prenons un pare-feu avec une politique de filtrage autorisant
seulement le port 21 et ouvrons une connexion vers le port 22 du
serveur FTP.



    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   4 / 14
Violation de la politique de sécurité


      Nous sommes parvenus à
      ouvrir une connexion sur le
      port 22.




    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   5 / 14
Violation de la politique de sécurité


      Nous sommes parvenus à
      ouvrir une connexion sur le
      port 22.
      Avec une politique de
      filtrage ne le permettant
      pas.




    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   5 / 14
Violation de la politique de sécurité


      Nous sommes parvenus à
      ouvrir une connexion sur le
      port 22.
      Avec une politique de
      filtrage ne le permettant
      pas.




    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   5 / 14
Violation de la politique de sécurité


      Nous sommes parvenus à
      ouvrir une connexion sur le
      port 22.
      Avec une politique de
      filtrage ne le permettant
      pas.
      Tout doux, chaton, tout
      doux!




    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   5 / 14
Contre-mesures




   L’anti-spoofing est suffisant pour bloquer l’attaque.
   Reverse path filtering est notre ami:
          Accepter seulement les paquet arrivant sur une interface si on a
          une route vers cette source passant par cette interface.
          Le noyau ne traitera alors pas le paquet d’attaque.
   C’est si facile d’être protégé?




   Éric Leblond (OISF)       Histoire d’une faille de sécurité   Kernel Recipes 2012   6 / 14
Contre-mesures




   L’anti-spoofing est suffisant pour bloquer l’attaque.
   Reverse path filtering est notre ami:
          Accepter seulement les paquet arrivant sur une interface si on a
          une route vers cette source passant par cette interface.
          Le noyau ne traitera alors pas le paquet d’attaque.
   C’est si facile d’être protégé? Oui




   Éric Leblond (OISF)       Histoire d’une faille de sécurité   Kernel Recipes 2012   6 / 14
Contre-mesures




   L’anti-spoofing est suffisant pour bloquer l’attaque.
   Reverse path filtering est notre ami:
          Accepter seulement les paquet arrivant sur une interface si on a
          une route vers cette source passant par cette interface.
          Le noyau ne traitera alors pas le paquet d’attaque.
   C’est si facile d’être protégé? Oui
   Mais il reste quelques surprises.




   Éric Leblond (OISF)       Histoire d’une faille de sécurité   Kernel Recipes 2012   6 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.




   Éric Leblond (OISF)    Histoire d’une faille de sécurité   Kernel Recipes 2012   7 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.
   Désactivée par défaut.




   Éric Leblond (OISF)    Histoire d’une faille de sécurité   Kernel Recipes 2012   7 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.
   Désactivée par défaut.
          Une vérification de routage pour chaque paquet est trop couteuse




   Éric Leblond (OISF)      Histoire d’une faille de sécurité   Kernel Recipes 2012   7 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.
   Désactivée par défaut.
          Une vérification de routage pour chaque paquet est trop couteuse
          Activée par tous les scripts de filtrage décents




   Éric Leblond (OISF)      Histoire d’une faille de sécurité   Kernel Recipes 2012   7 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.
   Désactivée par défaut.
          Une vérification de routage pour chaque paquet est trop couteuse
          Activée par tous les scripts de filtrage décents
   Pour l’activer:
   echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r




   Éric Leblond (OISF)                    Histoire d’une faille de sécurité            Kernel Recipes 2012   7 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.
   Désactivée par défaut.
          Une vérification de routage pour chaque paquet est trop couteuse
          Activée par tous les scripts de filtrage décents
   Pour l’activer:
   echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r

   Hummmmm




   Éric Leblond (OISF)                    Histoire d’une faille de sécurité            Kernel Recipes 2012   7 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.
   Désactivée par défaut.
          Une vérification de routage pour chaque paquet est trop couteuse
          Activée par tous les scripts de filtrage décents
   Pour l’activer:
   echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r

   Hummmmm et pour IPv6 ?




   Éric Leblond (OISF)                    Histoire d’une faille de sécurité            Kernel Recipes 2012   7 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.
   Désactivée par défaut.
          Une vérification de routage pour chaque paquet est trop couteuse
          Activée par tous les scripts de filtrage décents
   Pour l’activer:
   echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r

   Hummmmm et pour IPv6 ?
   Trop facile, positionnons la valeur dans /proc:
   echo " 1 " > / proc / sys / n e t / i p v 6 / c o n f / a l l / r p _ f i l t e r
     / proc / sys / n e t / i p v 6 / c o n f / a l l / r p _ f i l t e r : No such f i l e o r d i r e c t o r y




   Éric Leblond (OISF)                    Histoire d’une faille de sécurité            Kernel Recipes 2012     7 / 14
Protection de Netfilter
   Il suffit d’utiliser la fonctionnalité rp_filter.
   Elle est disponible depuis le siècle dernier dans tout les noyaux
   Linux.
   Désactivée par défaut.
          Une vérification de routage pour chaque paquet est trop couteuse
          Activée par tous les scripts de filtrage décents
   Pour l’activer:
   echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r

   Hummmmm et pour IPv6 ?
   Trop facile, positionnons la valeur dans /proc:
   echo " 1 " > / proc / sys / n e t / i p v 6 / c o n f / a l l / r p _ f i l t e r
     / proc / sys / n e t / i p v 6 / c o n f / a l l / r p _ f i l t e r : No such f i l e o r d i r e c t o r y


        Okay, Houston, we’ve had a problem here.
                                                                                       (Jack Swigert)
   Éric Leblond (OISF)                    Histoire d’une faille de sécurité              Kernel Recipes 2012   7 / 14
Phase 1 (mai 2011) : contacter les développeurs




   Envoi d’un mail à des membres de la Coreteam de Netfilter
   Ils reconnaissent le problème
   Des règles de filtrage manuelles permettent de prévenir l’attaque
   Nécessité de communiquer sur le sujet




   Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   8 / 14
Phase 2 (juin 2011)


Prévenir les développeurs de frontend
    Les implémentations testées sont vulnérables en IPv6
    Les développeurs sont très coopératifs

Prévenir les gens du noyau
    La solution de protection manuelle est complexe à mettre en
    oeuvre
    Envoi d’un mail à security@kernel.org pour évoquer la nécessité
    de rp_filter pour IPv6
    Réponse d’un des principaux développeurs :
    Security issues are just bugs, and we report bugs on the public
    mailing list and try to fix them.




    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   9 / 14
Phase 3 (juin 2011) : proposer un patch

Utilisation d’un code déjà proposé
    Code déjà proposé en 2006 par Denis Semmau
    Rebasé sur la branche net-next
    Eric Dumazet me signale que la RFC sur le sujet n’est pas
    respectée
    Je modifie le patch en conséquence et resoumet

David Miller n’aime pas
    Mauvais pour les performances
    Ce type de sécurité doit être fait dans Netfilter
    Les détails:
    http://permalink.gmane.org/gmane.linux.network/197607


    Éric Leblond (OISF)    Histoire d’une faille de sécurité   Kernel Recipes 2012   10 / 14
Phase 5 (juin 2011) : contacter les CERTs

Une attaque à prendre en compte
    Nécessité de protection sur les frontends
    Et sur les scripts maisons
    Une coordination de haut niveau semble parfaite
           Contacter de nombreux acteurs
           Faire des annonces suffisamment publiques pour attirer l’attention

Les CERTs refusent de traiter
    Le CERT français ne m’a même par répondu (malgré relance)
    Le CERT US a refusé de traiter
           Alors que l’attaque est générique et
           Que des pare-feu comme Checkpoint sont impactés en
           configuration par défaut


    Éric Leblond (OISF)       Histoire d’une faille de sécurité   Kernel Recipes 2012   11 / 14
Phase 6 (aout 2011) : définition d’un plan d’action

Présentation de l’attaque au Netfilter Workshop
    Présentation de l’étude sur les helpers
    Description de l’attaque
    Discussion ouverte sur les mesures à prendre

Plan d’action
    Rédaction d’un document expliquant les contre-mesures:
    https://home.regit.org/netfilter-en/
    secure-use-of-helpers/
    Assistance à Florian Westphal pour son implémentation
    Ajout d’une option pour désactiver l’assignation automatique des
    helpers


    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   12 / 14
Phase 7 : divulgation



CansecWest (mars 2012)
   Description détaillée de l’attaque
   Annonce de la mise à disposition sur demande d’un outil de tests

Présentation au SSTIC (juin 2012)
   Description détaillée de l’attaque
   Mise à disposition publique de opensvp




    Éric Leblond (OISF)   Histoire d’une faille de sécurité   Kernel Recipes 2012   13 / 14
Questions

                          Avez-vous des questions ?

Merci à
    Pablo Neira, Patrick McHardy: les développeurs noyaux peuvent
    être sympas.
    Florian Westphal: pour son implémentation Netfilter de RP filter.

Plus d’information
    Mon blog : https://home.regit.org
    Secure use of Iptables and connection tracking helpers:
    http://home.regit.org/netfilter-en/secure-use-of-helpers/


Me joindre
    Courriel: eric@regit.org
    Twitter: @Regiteric
    Éric Leblond (OISF)        Histoire d’une faille de sécurité   Kernel Recipes 2012   14 / 14

Weitere ähnliche Inhalte

Andere mochten auch

Valtech - What's Hot - décembre 2011
Valtech - What's Hot - décembre 2011Valtech - What's Hot - décembre 2011
Valtech - What's Hot - décembre 2011Valtech
 
Iafchapter paris
Iafchapter paris Iafchapter paris
Iafchapter paris IAF France
 
Cours solidarité numérique #master 2 infocom
Cours solidarité numérique #master 2 infocomCours solidarité numérique #master 2 infocom
Cours solidarité numérique #master 2 infocomJean Pouly
 
Présentation des résultats du tn3 rosine
Présentation des résultats du tn3 rosinePrésentation des résultats du tn3 rosine
Présentation des résultats du tn3 rosineRosine-GF-03
 
iFRAP - 100 Jours pour réformer la France
iFRAP - 100 Jours pour réformer la FranceiFRAP - 100 Jours pour réformer la France
iFRAP - 100 Jours pour réformer la FranceFondation iFRAP
 
Visite Guidée de la Bretagne
Visite Guidée de la BretagneVisite Guidée de la Bretagne
Visite Guidée de la Bretagnekelrencontre
 
Des logements trop chers en france une strategie pour la baisse des prix
Des logements trop chers en france une strategie pour la baisse des prixDes logements trop chers en france une strategie pour la baisse des prix
Des logements trop chers en france une strategie pour la baisse des prixJean-Michel Boudon
 
10 COMPORTEMENT DU CRÉATEUR D'ENTREPRISE
10 COMPORTEMENT DU CRÉATEUR D'ENTREPRISE10 COMPORTEMENT DU CRÉATEUR D'ENTREPRISE
10 COMPORTEMENT DU CRÉATEUR D'ENTREPRISEAdoter Julien Romeo
 
2ème édition du concours de dessins manga
2ème édition du concours de dessins manga2ème édition du concours de dessins manga
2ème édition du concours de dessins mangaCdi_LgtBaimbridge
 
Demarrage efe
Demarrage efeDemarrage efe
Demarrage efeMingiBE
 
Technique opératoire de la multiplication
Technique opératoire de la multiplicationTechnique opératoire de la multiplication
Technique opératoire de la multiplicationEsteban Alvarado Vega
 
Présentation : les français et le commerce de proximité
Présentation : les français et le commerce de proximitéPrésentation : les français et le commerce de proximité
Présentation : les français et le commerce de proximitéMarché de Gros Lyon Corbas
 

Andere mochten auch (20)

Valtech - What's Hot - décembre 2011
Valtech - What's Hot - décembre 2011Valtech - What's Hot - décembre 2011
Valtech - What's Hot - décembre 2011
 
Iafchapter paris
Iafchapter paris Iafchapter paris
Iafchapter paris
 
Cours solidarité numérique #master 2 infocom
Cours solidarité numérique #master 2 infocomCours solidarité numérique #master 2 infocom
Cours solidarité numérique #master 2 infocom
 
Présentation des résultats du tn3 rosine
Présentation des résultats du tn3 rosinePrésentation des résultats du tn3 rosine
Présentation des résultats du tn3 rosine
 
iFRAP - 100 Jours pour réformer la France
iFRAP - 100 Jours pour réformer la FranceiFRAP - 100 Jours pour réformer la France
iFRAP - 100 Jours pour réformer la France
 
Visite Guidée de la Bretagne
Visite Guidée de la BretagneVisite Guidée de la Bretagne
Visite Guidée de la Bretagne
 
Rapport d'activité
Rapport d'activitéRapport d'activité
Rapport d'activité
 
Des logements trop chers en france une strategie pour la baisse des prix
Des logements trop chers en france une strategie pour la baisse des prixDes logements trop chers en france une strategie pour la baisse des prix
Des logements trop chers en france une strategie pour la baisse des prix
 
Admon De Proyectos
Admon De ProyectosAdmon De Proyectos
Admon De Proyectos
 
2 deversoires
2 deversoires2 deversoires
2 deversoires
 
Sabiduria Antigua Conceptos Modernos
Sabiduria Antigua Conceptos ModernosSabiduria Antigua Conceptos Modernos
Sabiduria Antigua Conceptos Modernos
 
Leviatán
LeviatánLeviatán
Leviatán
 
1 part
1 part1 part
1 part
 
Protecionismo Ante La Crisis
Protecionismo Ante La CrisisProtecionismo Ante La Crisis
Protecionismo Ante La Crisis
 
10 COMPORTEMENT DU CRÉATEUR D'ENTREPRISE
10 COMPORTEMENT DU CRÉATEUR D'ENTREPRISE10 COMPORTEMENT DU CRÉATEUR D'ENTREPRISE
10 COMPORTEMENT DU CRÉATEUR D'ENTREPRISE
 
Dantes Prayer Lm 2007
Dantes Prayer Lm 2007Dantes Prayer Lm 2007
Dantes Prayer Lm 2007
 
2ème édition du concours de dessins manga
2ème édition du concours de dessins manga2ème édition du concours de dessins manga
2ème édition du concours de dessins manga
 
Demarrage efe
Demarrage efeDemarrage efe
Demarrage efe
 
Technique opératoire de la multiplication
Technique opératoire de la multiplicationTechnique opératoire de la multiplication
Technique opératoire de la multiplication
 
Présentation : les français et le commerce de proximité
Présentation : les français et le commerce de proximitéPrésentation : les français et le commerce de proximité
Présentation : les français et le commerce de proximité
 

Ähnlich wie Pinhole story

Sonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletSonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletGenevaJUG
 
Ubuntu est il un système sécuritairement sain PDF
Ubuntu est il un système sécuritairement sain PDFUbuntu est il un système sécuritairement sain PDF
Ubuntu est il un système sécuritairement sain PDFMohamed Ben Bouzid
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009JUG Lausanne
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
Mettre en place votre pare-feu sous Linux avec iptables.pdf
Mettre en place votre pare-feu sous Linux avec iptables.pdfMettre en place votre pare-feu sous Linux avec iptables.pdf
Mettre en place votre pare-feu sous Linux avec iptables.pdfjupiter63
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPjulien pauli
 
Inversion of control with nuun
Inversion of control with nuunInversion of control with nuun
Inversion of control with nuunÉpo Jemba
 
Retour BreizhCamp 2023
Retour BreizhCamp 2023 Retour BreizhCamp 2023
Retour BreizhCamp 2023 SpikeeLabs
 
Firewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureFirewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureJohan Moreau
 
Neopod: une base de données objet distribuée
Neopod: une base de données objet distribuéeNeopod: une base de données objet distribuée
Neopod: une base de données objet distribuéeParis, France
 
Ubuntu est il un système sécuritairement sain ODP
Ubuntu est il un système sécuritairement sain ODPUbuntu est il un système sécuritairement sain ODP
Ubuntu est il un système sécuritairement sain ODPMohamed Ben Bouzid
 
Les paquets snaps « les paquets d’applications linux universels, nouvelle g...
Les paquets snaps   « les paquets d’applications linux universels, nouvelle g...Les paquets snaps   « les paquets d’applications linux universels, nouvelle g...
Les paquets snaps « les paquets d’applications linux universels, nouvelle g...Vincent JOBARD
 
Sonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de LausanneSonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de LausanneFreddy Mallet
 
Cours- Sécurité des réseaux
Cours- Sécurité des réseaux Cours- Sécurité des réseaux
Cours- Sécurité des réseaux Yassmina AGHIL
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsCocoaHeads France
 
Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYlaurenthuet
 
Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Frederic Leger
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Khalid EDAIG
 

Ähnlich wie Pinhole story (20)

Sonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy MalletSonar 2.0 au GenevaJUG par Freddy Mallet
Sonar 2.0 au GenevaJUG par Freddy Mallet
 
Ubuntu est il un système sécuritairement sain PDF
Ubuntu est il un système sécuritairement sain PDFUbuntu est il un système sécuritairement sain PDF
Ubuntu est il un système sécuritairement sain PDF
 
Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009Sonar - Freddy Mallet - April 2009
Sonar - Freddy Mallet - April 2009
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
Mettre en place votre pare-feu sous Linux avec iptables.pdf
Mettre en place votre pare-feu sous Linux avec iptables.pdfMettre en place votre pare-feu sous Linux avec iptables.pdf
Mettre en place votre pare-feu sous Linux avec iptables.pdf
 
AlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHPAlterWay SolutionsLinux Outils Industrialisation PHP
AlterWay SolutionsLinux Outils Industrialisation PHP
 
Inversion of control with nuun
Inversion of control with nuunInversion of control with nuun
Inversion of control with nuun
 
Retour BreizhCamp 2023
Retour BreizhCamp 2023 Retour BreizhCamp 2023
Retour BreizhCamp 2023
 
Firewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructureFirewall opensource et gestion de configuration pour l'infrastructure
Firewall opensource et gestion de configuration pour l'infrastructure
 
Neopod: une base de données objet distribuée
Neopod: une base de données objet distribuéeNeopod: une base de données objet distribuée
Neopod: une base de données objet distribuée
 
Ubuntu est il un système sécuritairement sain ODP
Ubuntu est il un système sécuritairement sain ODPUbuntu est il un système sécuritairement sain ODP
Ubuntu est il un système sécuritairement sain ODP
 
Les paquets snaps « les paquets d’applications linux universels, nouvelle g...
Les paquets snaps   « les paquets d’applications linux universels, nouvelle g...Les paquets snaps   « les paquets d’applications linux universels, nouvelle g...
Les paquets snaps « les paquets d’applications linux universels, nouvelle g...
 
Sonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de LausanneSonar devant le Java User Group de Lausanne
Sonar devant le Java User Group de Lausanne
 
Cours- Sécurité des réseaux
Cours- Sécurité des réseaux Cours- Sécurité des réseaux
Cours- Sécurité des réseaux
 
Backup mondo
Backup mondoBackup mondo
Backup mondo
 
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et JenkinsBuild automatique et distribution OTA avec Xcode 4.x et Jenkins
Build automatique et distribution OTA avec Xcode 4.x et Jenkins
 
Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIY
 
Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023Slides du meetup devops aix-marseille d'ocotbre 2023
Slides du meetup devops aix-marseille d'ocotbre 2023
 
Messages queues - Socloz@PHPForum 2013
Messages queues - Socloz@PHPForum 2013Messages queues - Socloz@PHPForum 2013
Messages queues - Socloz@PHPForum 2013
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
 

Mehr von Anne Nicolas

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIAnne Nicolas
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
 

Mehr von Anne Nicolas (20)

Kernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream firstKernel Recipes 2019 - Driving the industry toward upstream first
Kernel Recipes 2019 - Driving the industry toward upstream first
 
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIKernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMI
 
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelKernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernel
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
Kernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and futureKernel Recipes 2019 - Kernel documentation: past, present, and future
Kernel Recipes 2019 - Kernel documentation: past, present, and future
 
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...
 
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataKernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary data
 
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...
 
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxEmbedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and Barebox
 
Embedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less specialEmbedded Recipes 2019 - Making embedded graphics less special
Embedded Recipes 2019 - Making embedded graphics less special
 
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconEmbedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre Silicon
 
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureEmbedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) picture
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Embedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmakerEmbedded Recipes 2019 - Herd your socs become a matchmaker
Embedded Recipes 2019 - Herd your socs become a matchmaker
 
Embedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integrationEmbedded Recipes 2019 - LLVM / Clang integration
Embedded Recipes 2019 - LLVM / Clang integration
 
Embedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debuggingEmbedded Recipes 2019 - Introduction to JTAG debugging
Embedded Recipes 2019 - Introduction to JTAG debugging
 
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaEmbedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimedia
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
 
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)
 

Pinhole story

  • 1. Histoire d’une technique pour faire des trous d’épingles ou la difficile gestion d’un problème de sécurité Éric Leblond OISF Kernel Recipes 2012 Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 1 / 14
  • 2. Eric Leblond (Regit) Spécialiste de la sécurité des réseaux Créateur du projet NuFW, co-fondateur de la société EdenWall Auteur de coccigrep, un grep sémantique basé sur coccinelle Développeur Netfilter : Ulogd2: démon de journalisation de Netfilter Contributions diverses: Bibliothèques NFQUEUE et dépendances. Travail sur le journalisation. Actuellement : Consultant indépendant en sécurité Développeur financé de l’IDS/IPS Suricata Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 2 / 14
  • 3. Une "nouvelle" technique d’attaque Des couches OSI indépendantes Les couches 2 et 3 sont traités indépendamment Il est donc possible d’usurper une identité du niveau 3 En utilisant une couche 2 valide Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 3 / 14
  • 4. Une "nouvelle" technique d’attaque Des couches OSI indépendantes Les couches 2 et 3 sont traités indépendamment Il est donc possible d’usurper une identité du niveau 3 En utilisant une couche 2 valide Une attaque locale L’attaquant doit être connecté sur le même réseau Ethernet que le pare-feu Pas d’ouverture distante possible Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 3 / 14
  • 5. Essai sur Netfilter Video Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 4 / 14
  • 6. Essai sur Netfilter Video Prenons un pare-feu avec une politique de filtrage autorisant seulement le port 21 et ouvrons une connexion vers le port 22 du serveur FTP. Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 4 / 14
  • 7. Violation de la politique de sécurité Nous sommes parvenus à ouvrir une connexion sur le port 22. Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 5 / 14
  • 8. Violation de la politique de sécurité Nous sommes parvenus à ouvrir une connexion sur le port 22. Avec une politique de filtrage ne le permettant pas. Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 5 / 14
  • 9. Violation de la politique de sécurité Nous sommes parvenus à ouvrir une connexion sur le port 22. Avec une politique de filtrage ne le permettant pas. Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 5 / 14
  • 10. Violation de la politique de sécurité Nous sommes parvenus à ouvrir une connexion sur le port 22. Avec une politique de filtrage ne le permettant pas. Tout doux, chaton, tout doux! Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 5 / 14
  • 11. Contre-mesures L’anti-spoofing est suffisant pour bloquer l’attaque. Reverse path filtering est notre ami: Accepter seulement les paquet arrivant sur une interface si on a une route vers cette source passant par cette interface. Le noyau ne traitera alors pas le paquet d’attaque. C’est si facile d’être protégé? Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 6 / 14
  • 12. Contre-mesures L’anti-spoofing est suffisant pour bloquer l’attaque. Reverse path filtering est notre ami: Accepter seulement les paquet arrivant sur une interface si on a une route vers cette source passant par cette interface. Le noyau ne traitera alors pas le paquet d’attaque. C’est si facile d’être protégé? Oui Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 6 / 14
  • 13. Contre-mesures L’anti-spoofing est suffisant pour bloquer l’attaque. Reverse path filtering est notre ami: Accepter seulement les paquet arrivant sur une interface si on a une route vers cette source passant par cette interface. Le noyau ne traitera alors pas le paquet d’attaque. C’est si facile d’être protégé? Oui Mais il reste quelques surprises. Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 6 / 14
  • 14. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 15. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Désactivée par défaut. Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 16. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Désactivée par défaut. Une vérification de routage pour chaque paquet est trop couteuse Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 17. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Désactivée par défaut. Une vérification de routage pour chaque paquet est trop couteuse Activée par tous les scripts de filtrage décents Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 18. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Désactivée par défaut. Une vérification de routage pour chaque paquet est trop couteuse Activée par tous les scripts de filtrage décents Pour l’activer: echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 19. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Désactivée par défaut. Une vérification de routage pour chaque paquet est trop couteuse Activée par tous les scripts de filtrage décents Pour l’activer: echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r Hummmmm Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 20. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Désactivée par défaut. Une vérification de routage pour chaque paquet est trop couteuse Activée par tous les scripts de filtrage décents Pour l’activer: echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r Hummmmm et pour IPv6 ? Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 21. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Désactivée par défaut. Une vérification de routage pour chaque paquet est trop couteuse Activée par tous les scripts de filtrage décents Pour l’activer: echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r Hummmmm et pour IPv6 ? Trop facile, positionnons la valeur dans /proc: echo " 1 " > / proc / sys / n e t / i p v 6 / c o n f / a l l / r p _ f i l t e r / proc / sys / n e t / i p v 6 / c o n f / a l l / r p _ f i l t e r : No such f i l e o r d i r e c t o r y Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 22. Protection de Netfilter Il suffit d’utiliser la fonctionnalité rp_filter. Elle est disponible depuis le siècle dernier dans tout les noyaux Linux. Désactivée par défaut. Une vérification de routage pour chaque paquet est trop couteuse Activée par tous les scripts de filtrage décents Pour l’activer: echo " 1 " > / proc / sys / n e t / i p v 4 / c o n f / a l l / r p _ f i l t e r Hummmmm et pour IPv6 ? Trop facile, positionnons la valeur dans /proc: echo " 1 " > / proc / sys / n e t / i p v 6 / c o n f / a l l / r p _ f i l t e r / proc / sys / n e t / i p v 6 / c o n f / a l l / r p _ f i l t e r : No such f i l e o r d i r e c t o r y Okay, Houston, we’ve had a problem here. (Jack Swigert) Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 7 / 14
  • 23. Phase 1 (mai 2011) : contacter les développeurs Envoi d’un mail à des membres de la Coreteam de Netfilter Ils reconnaissent le problème Des règles de filtrage manuelles permettent de prévenir l’attaque Nécessité de communiquer sur le sujet Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 8 / 14
  • 24. Phase 2 (juin 2011) Prévenir les développeurs de frontend Les implémentations testées sont vulnérables en IPv6 Les développeurs sont très coopératifs Prévenir les gens du noyau La solution de protection manuelle est complexe à mettre en oeuvre Envoi d’un mail à security@kernel.org pour évoquer la nécessité de rp_filter pour IPv6 Réponse d’un des principaux développeurs : Security issues are just bugs, and we report bugs on the public mailing list and try to fix them. Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 9 / 14
  • 25. Phase 3 (juin 2011) : proposer un patch Utilisation d’un code déjà proposé Code déjà proposé en 2006 par Denis Semmau Rebasé sur la branche net-next Eric Dumazet me signale que la RFC sur le sujet n’est pas respectée Je modifie le patch en conséquence et resoumet David Miller n’aime pas Mauvais pour les performances Ce type de sécurité doit être fait dans Netfilter Les détails: http://permalink.gmane.org/gmane.linux.network/197607 Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 10 / 14
  • 26. Phase 5 (juin 2011) : contacter les CERTs Une attaque à prendre en compte Nécessité de protection sur les frontends Et sur les scripts maisons Une coordination de haut niveau semble parfaite Contacter de nombreux acteurs Faire des annonces suffisamment publiques pour attirer l’attention Les CERTs refusent de traiter Le CERT français ne m’a même par répondu (malgré relance) Le CERT US a refusé de traiter Alors que l’attaque est générique et Que des pare-feu comme Checkpoint sont impactés en configuration par défaut Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 11 / 14
  • 27. Phase 6 (aout 2011) : définition d’un plan d’action Présentation de l’attaque au Netfilter Workshop Présentation de l’étude sur les helpers Description de l’attaque Discussion ouverte sur les mesures à prendre Plan d’action Rédaction d’un document expliquant les contre-mesures: https://home.regit.org/netfilter-en/ secure-use-of-helpers/ Assistance à Florian Westphal pour son implémentation Ajout d’une option pour désactiver l’assignation automatique des helpers Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 12 / 14
  • 28. Phase 7 : divulgation CansecWest (mars 2012) Description détaillée de l’attaque Annonce de la mise à disposition sur demande d’un outil de tests Présentation au SSTIC (juin 2012) Description détaillée de l’attaque Mise à disposition publique de opensvp Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 13 / 14
  • 29. Questions Avez-vous des questions ? Merci à Pablo Neira, Patrick McHardy: les développeurs noyaux peuvent être sympas. Florian Westphal: pour son implémentation Netfilter de RP filter. Plus d’information Mon blog : https://home.regit.org Secure use of Iptables and connection tracking helpers: http://home.regit.org/netfilter-en/secure-use-of-helpers/ Me joindre Courriel: eric@regit.org Twitter: @Regiteric Éric Leblond (OISF) Histoire d’une faille de sécurité Kernel Recipes 2012 14 / 14