mer, 04/07/2012 - 10:26
Matthieu Estrade, Directeur Technique de Bee Ware décrit l'importance du protocole HTTP et du Web dans les "Advanced Persistent Threats".
Si l'on parle souvent de "nouvelles technologies de l'information et de la communication" pour évoquer Internet, on oublie souvent que le Web, principal protocole de communication du réseau, repose sur des technologies vieilles de plus de vingt ans qui n'ont que très peu évoluées…
Conçu en 1989 et mis en pratique un an plus tard par Tim Berners-Lee du CERN, le protocole HTTP véhicule aujourd'hui le contenu du "Web" sur des spécifications dont la dernière version date de 1999 soit il y a plus de 13 ans.
Désormais omniprésent et utilisé à diverses fins (applications communautaires et métier, sites vitrines et transactionnels, Intranet/Extranet, etc.), ce protocole est devenu de plus en plus dynamique, s'adaptant ainsi aux besoins des utilisateurs du Web.
Or cette course à la sophistication n'a pas été suivie d'une évolution équivalente en termes de sécurité et de fiabilité des données véhiculées. Ce décalage entre utilisation massive et sécurité provoque aujourd'hui une brèche importante dans les systèmes d'information, faisant du protocole HTTP un vecteur privilégié d'attaques et de compromission de données.
Les cybercriminels l'ont bien compris et en font une cible principale… Il ne se passe pas une semaine sans qu'une société ou organisation se fasse compromettre via le protocole HTTP (Sony, RSA, Oracle, etc.)
Identifiées par le terme APT pour Advanced Persistent Threat, ces attaques sont orchestrées dans la durée avec un but précis : récupérer des données sensibles.
Anatomie d'une APT
De plus en plus médiatisées et nocives pour l'image des sociétés, les APT se décomposent en 4 étapes principales :
- l'intrusion
- le maintien dans le système d'information
- le rebond et la progressions en profondeur
- l'extraction de données.
L'intrusion est opérée en attaquant une zone exposée au public sur Internet (Site Web, Blog, etc.). Cette porte d'entrée permet le plus souvent de poser un premier pied dans l'infrastructure et offre ainsi un point de départ permettant de récolter des informations importantes pour la suite (mots de passe utilisateurs, destinations réseau et machine, connecteurs vers d'autres systèmes, etc.).
De plus, selon la localisation de l'application dans l'infrastructure et le manque de cloisonnement, il est possible qu'une application simple et peu utilisée se retrouve à coté ou sur le même serveur qu'une application métier, qui deviendra alors accessible via ce rebond, et avec des droits plus élevés.
J'y suis... j'y reste...
Une fois le premier pied posé dans l'infrastructure, il est nécessaire d'assurer le fait de pouvoir revenir sur la machine et de l'utiliser sans éveiller les soupçons des administrateurs systèmes.
Pour rester le plus furtif possible, l'idéal est d'insérer une backdoor dans l'application Web ou sur le service applicatif, en vue d'utiliser les connexions HTTP comme une connexion directe et/ou un tunnel vers les autres applications (sans être filtré et sans attirer l'attention sur un processus ouvrant un port inconnu sur le système).
Les étapes d'intrusion et de maintien sont ensuite répétées autant de fois que nécessaire jusqu'à atteindre les données sensibles.
Le protocole HTTP prend une place importante dans cette évolution au sein du système d'information car ce dernier est souvent laissé ouvert pour permettre aux administrateurs de naviguer ou de mettre à jours les machines (dialogue entre serveurs applicatifs, Web Services, interface d'administration, etc.).
Une fois la cible atteinte, le protocole HTTP, dont les restrictions en sortie sont généralement faibles, reste à nouveau le moyen le plus discret pour faire sortir les données sensibles.
Comment se protéger ?
Dans l'idéal, la sécurité doit être abordée dès la conception de l'application ou de l'infrastructure applicative. La norme PCI DSS recommande par exemple d'associer à chaque zone de l'infrastructure applicative des politiques de sécurités adaptées à leur contenu, que ce soit sur le flux entrant ou sortant (compliquant ainsi les différents rebonds nécessaires pour atteindre les données sensibles).
La sécurité réseau reste assez conventionnelle et s'appuie sur du filtrage de destinations, sources, IP et Ports pour la majorité des cas. Cependant, les firewalls réseaux classiques ne filtrent pas les protocoles applicatifs et restent clairement insuffisants dans le cadre des APT.
La sécurité applicative est plus complexe car elle touche des applications souvent uniques, conçues sur mesure ou déployées avec plusieurs spécificités liées à l'infrastructure. Chaque zone contenant des applications Web doit donc être filtrée autant en entrée qu'en sortie, sur le contenu et l'utilisation du protocole HTTP lui-même. Ce type de déploiement est souvent appelé "défense en profondeur" et permet de contrôler les différentes attaques tant au niveau réseau qu'au niveau applicatif.
Pour répondre à ce besoin, la mise en place d'un Web Application Firewall (ou WAF), considéré comme une extension applicative d'un firewall réseau, est fortement conseillé par le point 6.6 de la norme PCI DSS.
Un WAF analysera le protocole HTTP ainsi que le contenu qu'il véhicule, et permettra d'alerter en cas de menace pour une réaction rapide (blocage de l'IP de l'attaquant via un protocole de dialogue avec les firewalls réseaux, etc.). Fréquemment utilisé en mode reverse-proxy, un WAF permet notamment d'effectuer une rupture protocolaire et de structurer plus facilement les zones entre applications.
Le document WAFEC (Web Application Firewall Evaluation Criteria) du WASC permet de comprendre et d'évaluer les différents vendeurs en fonction des besoins sécuritaires.
Un Web Services Firewall (extension du WAF) sera enfin un moyen efficace de sécuriser les protocoles véhiculant du contenu XML sur HTTP (comme par exemple les protocoles SOAP ou REST).
Les Web Services, vulnérables aux mêmes attaques que les applications Web, nécessitent le même type de protection mais leur situation dans l'infrastructure applicative est en revanche beaucoup plus critique (car souvent au cœur de l'information sensible et ils sont souvent reliés aux infrastructures des partenaires).
Un Web Service Firewall assurera ainsi une sécurité sur le format des messages et leur contenu, mais également sur l'utilisation même du service.
Comprendre pour prévenir…
Comprendre un comportement anormal sur une application permet de localiser une attaque, cependant, une infrastructure applicative peut comporter des centaines d'applications. Pour comprendre l'attaque dans sa globalité et en suivre l'évolution (Découverte, agression, compromission), il est nécessaire d'avoir une vue d'ensemble.
Pour cela, il est impératif de mettre en place une corrélation de logs pour avoir en temps réel cette analyse globale et comprendre le type de menace.
Le dialogue entre les équipes applicatives, sécurité et réseaux est souvent complexe au sein d'une organisation. La formalisation, sous forme de rapports, des attaques et de l'utilisation de l'application permet d'avoir une base de travail et une compréhension de la menace applicative pour ces différentes équipes.
Les processus d'alerting permettront quant à eux de réagir et de déclencher des procédures, que ce soit au niveau réseau avec le blocage de l'IP de l'attaquant, ou au niveau applicatif avec l'interdiction d'accès à certaines ressources/zones ou plus directement le renvoi vers un honeypot pour analyser le comportement de l'attaquant.
Pour chaque zone compromise, il est important de comprendre quels sont les éléments compromis, et de retracer l'attaque sur la base de l'intrusion, la compromission avec installation de backdoor, le rebond vers d'autres zones et/ou l'extraction de données. L'aspect "forensics" est donc essentiel.
Les moyens mis en œuvre pour réaliser une APT sont souvent conséquents et généralement proportionnels à la criticité des données ciblées. Les APT ne sont donc pas de simples attaques temporaires, mais de vraies menaces permanentes et latentes qu'il faut combattre sur le long terme.
Même si 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ée ainsi que l'anticipation des incidents possibles et l'étude de forensics sont aujourd'hui la meilleure réponse face à ces attaques applicatives.
Matthieu Estrade, Directeur Technique de Bee Ware
A propos de l'auteur