La société Imperva, s'étant déjà fait connaître au travers de plusieurs analyses de grands échantillons de données, a récemment publié les conclusions d'une analyse de plus de 10 millions de requêtes "hostiles".

La méthodologie reste simple sans pour autant être moins efficace: durant six mois, l'observatoire a placé des sondes de collecte de données sur une trentaine de sites web d'importance, secteur d'activité et notoriété variables. D'autres sondes ont également été placées sur plusieurs noeuds sortants du réseau TOR, l'un des réseaux d'anonymisation les plus utilisés par les pirates en recherche de failles de sécurité et souhaitant réduire les traces de leur visite.

Pour consulter le rapport dans son intégralité, c'est ici, pour le résumé, il suffit de lire la suite.


Forte automatisation des attaques
L'analyse de l'échantillon a révélé une importance automatisation des attaques. L'automatisation a été qualifiée sur la base du profil suivant:
  • Volume: nombreuses requêtes envoyées à chaque site
  • Fréquence: laps de temps réduit entre chaque requête (plusieurs requêtes par seconde)
  • Consistance: même structure de requêtes constatée sur plusieurs applications
  • Coordination: laps de temps réduit entre une salve d'attaques sur l'application A et l'application B
  • Violations de protocole: des erreurs protocolaires régulièrement commises, probablement dues à des scripts/programmes d'automatisation mal conçus.

3 modes opératoires
L'analyse de l'échantillon a révélé la présence de trois modes opératoires majeurs choisis par les pirates dans leur recherche de nouvelles cibles:
  • Recherche verticale: utilisation de versions piratées d'outils de sécurité commerciaux. Les sites sont inscrits comme cibles, puis leur structure et leurs points d'entrée sont analysés de façon exhaustive.
  • Recherche horizontale: l'outil de recherche de failles possède une liste de vulnérabilités ainsi qu'une base de données de signatures facilitant l'identification d'applications web partageant des similarités (même outil de gestion, même version, etc.). De nombreux sites sont alors scannés à la recherche de la même faille de sécurité.
  • Recherche opportuniste: l'outil n'effectue pas de recherche mais exécute immédiatement les procédures d'intrusion sans vérifier la présence de vulnérabilités au préalable.

4 failles de sécurité sont visées en priorité
L'analyse de l'échantillon a également permis d'identifier quatre vulnérabilités particulièrement recherchées par les outils automatisés. Elles sont triées par prévalence dans la liste ci-après:
  • Traversée de répertoires (directory traversal): 37% de l'échantillon
  • Cross-site scripting (XSS) : 36% de l'échantillon
  • Injections SQL: 23% de l'échantillon
  • Injections de fichier (remote file inclusion, RFI) : 4% de l'échantillon











Origine des attaques
A l'exception des Etats-Unis, abonnés à la première place du podium dans chaque catégorie d'attaque, l'on peut spéculer sur une possible "préférence" des pirates selon le pays dans lequel ils opèrent (ou du moins, le pays depuis lequel ils opèrent des systèmes):

Par inclusion de fichier (RFI):
  • Etats-Unis: 20'918 requêtes
  • Royaume-Uni: 1'897 requêtes
  • Pays-Bas: 1'879 requêtes
  • France: 1'253 requêtes
  • Corée du Sud: 1'070 requêtes

Par Injection SQL:
  • Etats-Unis: 91'606 requêtes
  • Chine: 47'800 requêtes
  • Suède: 8'789 requêtes
  • Indonésie: 3'604 requêtes
  • Royaume-Uni: 3'419 requêtes

Par traversée de répertoires:
  • Etats-Unis: 189'474 requêtes
  • Suède: 13'535 requêtes
  • France: 9'417 requêtes
  • Pays-Bas: 8'320 requêtes
  • Allemagne: 7'656 requêtes

Nombre d'attaquants par pays
La distribution du nombre d'attaquants distincts par pays a également été constituée. La liste ci-après représente les chiffres pour les attaques de type Injection SQL:
  • Etats-Unis: 20'424 attaquants
  • Chine: 575 attaquants
  • Royaume-Uni: 322 attaquants
  • Canada: 193 attaquants
  • Russie: 105 attaquants

L'on constate l'apparition du Canada et de la Russie, respectivement en 4ème et 5ème position du classement alors que ces pays n'apparaissent pas dans le podium précédent (origine géographique des attaques). L'analyse est toutefois limitée ici car il n'est pas déterminé avec certitude si le noeud constitue la localisation réelle du pirate informatique ou de l'un des relais qu'il exploite et contrôle à distance (p.ex.: système infecté, membre d'un réseau de zombies).
Comparativement, l'on remarque également qu'une source chinoise émet en moyenne 83 tentatives d'injection SQL alors qu'une source américaine n'en émettra en moyenne que 4.


Tentatives d'injection SQL
Deux profils de tentatives d'injection SQL sont observés. Des cycles en rafale, allant jusqu'à 45 requêtes par seconde durant moins de 60 minutes) alternés avec des cycles lents, avoisinant les 10 requêtes par minute.

L'échantillon pourrait révéler un comportement analytique des pirates, qui identifieraient des requêtes à envoyer manuellement après avoir consulté les rapports d'activité de l'outil automatique.


Tentatives d'injection de fichier
L'analyse de l'échantillon a permis l'identification d'environ 800 modèles de requêtes visant à automatiser l'injection d'un fichier (généralement, un shell à distance). Parmi ces modèles, environ 150 scripts uniques ont pu être identifiés.

L'analyse détaillée de chacun de ces scripts a montré qu'ils se basaient tous sur une dizaine de scripts, originalement mis à disposition par des groupes de pirates.

La quasi-totalité des scripts est implémentée en langage PHP.

Mais élément plus surprenant:
  • 85% des scripts observés servent uniquement à vérifier que l'exécution est possible. Aucune charge hostile n'y est incluse.
  • 10% des scripts sont plus sophistiqués et ouvrent un canal de commande/contrôle de retour vers l'attaquant.
  • 5% des scripts injectés mettent en place un système complet de commande/contrôle à distance incluant des éléments HTML, sous la forme d'un centre de commandes.

L'écart entre les scripts de première et seconde catégorie laisse présager l'existence d'une démarche d 'analyse qui ne serait pas forcément motivée par des objectifs hostiles mais plutôt par la recherche de systèmes vulnérables. Un peu comme le ferait une société de services à la recherche de nouveaux pigeons clients....mais ceci est un tout autre débat.

L'analyse ouvre également la porte à deux conclusions:
  • la technologie PHP est la première visée par ce type d'attaque (dépôt d'un remote shell sur le serveur web)
  • les chiffres observés justifient l'efficacité d'une approche de type "blacklist" (liste noire) quant à la défense contre ce type d'attaques

Attaques Cross-Site Scripting (XSS)
Cette catégorie d'attaques est la seule dont on observe une augmentation de la fréquence plutôt qu'une baisse. Cette augmentation est d'ailleurs telle qu'il s'agit carrément d'un doublement: de 25'000 requêtes collectées en décembre, l'échantillon a accueilli plus de 60'000 durant le mois de mai.

Une tendance croissante de tentatives d'attaques de type SEP-XSS est observée. Cette technique vise à injecter des requêtes contenant une charge XSS au beau milieu des résultats retournés par les moteurs de recherche.

L'analyse a révélé en particulier que le moteur de recherche Yahoo! était le plus susceptible de se faire avoir par ce type de requêtes, le moins susceptible étant le moteur de recherche de Google. Ceci sous-entend qu'un internaute cherchant sur le moteur de recherche de Yahoo! est plus susceptible de cliquer sur un lien possédant une charge XSS hostile qu'un utilisateur du moteur de recherche de Google.


Et la Suisse?
Le mot "Switzerland" n'apparaît pas dans le rapport. Ouf, l'honneur est sauf ; )


Pour télécharger le rapport complet: Imperva's web application attack report #1