ASFWS 2103 - Rump Session - The Password Hashing Competition, Jean-Philippe Aumasson
ASFWS 2011 - L’importance du protocole HTTP dans la menace APT
-
Upload
application-security-forum-western-switzerland -
Category
Technology
-
view
889 -
download
1
description
Transcript of ASFWS 2011 - L’importance du protocole HTTP dans la menace APT
Application Security ForumWestern Switzerland
27 octobre 2011 - HEIGVD Yverdon-les-Bainshttp://appsec-forum.ch
L’importance du web et du protocole HTTP dans les Advanced Persistent Threat (APT)
Matthieu EstradeCTOBee Ware
Agenda
Historique du protocole HTTP Anatomie d’une APT Comment faire face à ces menaces
Speaker
Matthieu Estrade CTO Bee Ware Co-fondateur d’Axiliance en 2001 Expert en sécurité Web Membre du chapitre Français de l’OWASP WASC Officer Committer Apache HTTPd
Un peu d’histoire !
Le protocole HTTP
Inventé par Tim Berners-Lee (CERN) en même temps que le HTML pour créer le World Wide Web
HTTP 0.9 -> 1989/1990 HTTP 1.0 -> Mai 1996 HTTP 1.1 -> 1997 / 1999
http://www.w3.org/Administration/HTandCERN.txt
Un protocole qui a peu évolué Dernières spécifications en 1999… Stateless…– Pas de suivi de session sécurisé
Dépassé par le contenu qu’il véhicule– HTML au début– Flash, Javascript, ActivX etc.– De plus en plus complexe– De plus en plus riche
Les contraintes actuelles… Plus de performances Plus de fiabilité– 24 / 7 / 365
Plus de sécurité– Confidentialité
Plus de médias– Video– Audio– Etc.
Intégration d’interpréteurs de langages directement dans les navigateurs
Le browser devient un client riche universel !– Pas de client natif à installer– Déjà présent sur les systèmes– Et sur toutes les plateformes (mobiles, pc, mac etc.)
Tout est bien plus simple avec le Web
Aujourd’hui !
Le Web prend le pouvoir !
Paiement en ligne Gestion des comptes
bancaires en ligne
Paiement en ligne Gestion des comptes
bancaires en ligne
Numéro de carte de crédit
Virements externes
Publication de données « corporate »
Publication de données sensibles
Publication de données « corporate »
Publication de données sensibles
Image de la société
Données métiers et confidentielles
Sites communautaires– Facebook/LinkedIN/
etc.
Informations patient
Divertissement– PSN/XBox live/etc.
Sites communautaires– Facebook/LinkedIN/
etc.
Informations patient
Divertissement– PSN/XBox live/etc.
Données personnelles– Habitudes– Choix– Croyances
Données médicales
Données bancaires
Et la sécurité dans tout ça ?
Les firewall réseaux classiques ne filtrent pas le contenu
Les applications sont de plus en plus sécurisées mais quid des anciennes, de celles dont on ne maitrise pas le code source, des erreurs de conception et de développement ?
La responsabilité de la sécurité web est souvent floue, entre équipe réseau, développement, exploitation etc.
Les méchants !
Ils ont bien compris l’enjeu du système
Peuvent commettre leurs délis de l’autre bout du monde– Bien moins risqué que la criminalité classique– Une image High Tech qui banalise cette criminalité
Ne risquent strictement rien dans certains pays– Peu de lois
N’ont pas besoin d’avoir recours à la violence
Anatomie d’une APT
Définition
Une attaque orchestrée, complexe, qui cible principalement les données sensibles
Dure plusieurs semaines/mois/années
N’a pas pour but principal d’être médiatisées ou détectées
A qui profite une APT ?
A un concurrent qui récupère les informations sensibles au fur et à mesure– Décisions stratégiques– Résultats de recherches– Salaires, ressources humaines
A une organisation criminelle– Données bancaires– Détournement de fonds
HTTP, principal vecteur d’intrusion
Les port 80 et 443 sont très souvent ouverts vers Internet
Les employés d’une société naviguent sur Internet
Les sociétés sont interconnectées entre elles grâce aux Webservices qui utilisent HTTP
La surface d’attaque augmente
Le moindre site web de l’infrastructure peut être une porte d’entrée (Le Blog du Playstation Network)
Un seul partenaire compromis peut rebondir dans votre infrastructure
Un employé peut être connecté en VPN de chez lui et naviguer sur des sites web compromis
Les cibles: utilisateurs et employés Objectif: les forcer à naviguer sur des données ou
des applications compromises• Phishing• Spam• Malware
Il y aura toujours une personne dont l’antivirus n’est pas à jour et qui cliquera sur un lien compromis…
Les cibles: les applications et services Objectif: exploiter les vulnérabilités
• Exploits• 0 Day
Les applications « publiques » et exposées sont souvent bien protégées, bien plus que celles qui sont peu utilisées…
Se maintenir
Une fois introduit sur une machine, il est nécessaire de pouvoir y revenir quand nécessaire, et d’installer ses outils ou établir un tunnel pour continuer l’attaque.
Comment ? Les backdoors « web » Peuvent être de simples applications déposés
dans l’arborescence– C99.php etc.
Peuvent être des hooks sur les sockets pour avoir un tunnel (LD_PRELOAD)
Les backdoors sont souvent installées sur les applications utilisant le protocole HTTP.
L’évolution dans le SI
Pour atteindre les données sensibles, il est souvent nécessaire de traverser plusieurs zones.– DMZ– Présentation– Applicatives– Données– LAN– Etc.
Rebondir via …
Interconnexion de WebServices Interface/GUI de produits et applications Ports d’administration en HTTP Dialogue entre Serveur Web frontal et serveur
web applicatif Connexion vers une base de donnée Connexion vers un annuaire LDAP Etc.
Rebond
Le protocole HTTP est souvent ouvert entre les différentes zones.
Rares sont les infrastructures avec des zones filtrées sur le trafic entrant ET sortant…
Les crédentiels utilisés sont souvent identiques entre les différentes zones
L’extraction de données
L’objectif final d’une APT Ponctuelle ou permanente Le plus discrètement possible
Le protocole HTTP est toujours autorisé à sortir au niveau de l’infrastructure
Dans le pire des cas, un proxy filtrant rendra les choses plus compliquées
Comment se protéger ?
Prévenir Filtrer Authentifier/autoriser Monitorer Comprendre / analyser
Prévenir
Définir une infrastructure applicative sécurisée– Cloisonnement des réseaux• Sas de contrôles
– Séparation des applications• Par criticité• Par type de données manipulées
– Anticiper les différentes réactions possibles• Monitoring• Compréhension d’une attaque
Analyse de risque et modélisation des attaques– Lister les composants– Comprendre les menaces– Anticiper les incidents– Mesurer l’impact d’une intrusion en fonction des
données compromises
Formation des développeurs aux techniques d’attaques web et au développement sécurisé– Librairies de filtrage d’input– OWASP TOP10 / WASC TC v2
Auditer régulièrement– Si vous avez accès au code source des applications• Analyse de code et recherche de vulnérabilités
– Si vous n’avez pas accès au code source• Scanner de vulnérabilités applicatives• Tests d’intrusions
Mettre en place une réponse appropriée
Au niveau de l’infrastructure– En complément du pare-feu réseau– Devant chaque zone manipulant le protocole HTTP– Défense en profondeur– Association du contexte utilisateur avec la politique de
sécurité
Filtrer les flux: Le Web application Firewall– Extension applicative du pare-feu réseau– Analyse du contenu HTTP (Niveau 7 OSI)– Protection contre les attaques• SQL Injection• XSS / XSRF• Parser Evasion• Remote command• Etc.
Filtrer les flux: Le Web Services Firewall– Extension du WAF sur les échanges SOAP/REST– Analyse du contenu XML– Protection contre les attaques Web– Protection contre les attaques de parseur– Signature et chiffrement des messages
Authentifier, Autoriser– Vérification des identités– Association d’un profil de sécurité par identité
(PICWIC)– Autorisation par groupe d’utilisateurs• Business• HR• Admin
Assurer la continuité de service– Bloquer les Dénis de service– Bloquer les comportements anormaux• Robots• Taches automatisées
– Répartition de charge– Accélération SSL
Exploiter
Monitorer– Comprendre quelle est la cible de l’attaquant– Suivre l’évolution de la menace– Détecter en temps réel les utilisations abusives– Détecter en temps réel les tentatives d’exploitations
Corrélation des logs– Entre les différentes attaques sur les applications de
l’infrastructure– Comportement de l’utilisateur– Evolution de l’attaque• Détection/compréhension• Exploitation• Compromission (backdoor)
Reporting et Alerting– Rapports sur les attaques– Rapports d’utilisation de l’application– Alertes en fonction du type d’attaque– Déclenchement de procédures• Blacklist automatique• Redirection vers Honeypot
– Audit de authentifications
Forensics
Comprendre la portée d’une attaque Pour chaque zone compromise– Trouver la technique d’intrusion utilisée– Analyser la méthode de backdoor pour le maintien sur
le système– Analyser les données compromises et extraites du
système d’information– Analyser les volumes de données sortantes
Analyse des systèmes– Utilisateurs ajoutés récemment– Erreurs d’exécution• Segfault
– Fichiers de configuration modifiés– Démons en cours d’exécution– Owner et group des démons exécutés
Analyse de logs Recherche de traces pour l’historique de
l’incident Logs d’accès et logs d’erreur– Sur les équipements de filtrage– Sur les serveurs web– Sur les bases de données– Sur les systèmes d’exploitation– Etc.
Recherche de backdoor Analyse des systèmes de fichiers– Fichiers • modifiés• Effacés• Ajoutés
– Backdoors • Sur les binaires• Déposées directement sur le FS
Conclusion
La sécurité d’une infrastructure applicative devrait se jouer principalement lors de sa conception.
La réalité du terrain met en évidence des difficultés à appliquer toutes les bonnes pratiques
Une étude approfondie des menaces, une réponse approprié ainsi que l’anticipation des incidents possibles sont aujourd’hui la meilleure réponse aux attaques applicatives
Questions ?