Attaque de point d'eauUne attaque de point d'eau (aussi appelée attaque de trou d'eau ; en anglais, Watering Hole Attack) est une technique de cyberattaque qui consiste à piéger un site Internet légitime afin d’infecter les machines des visiteurs du domaine considéré comme la cible par l’attaquant[1]. Cette technique aurait été mise en place pour la première fois par un groupe de cybercriminels appelé le gang Elderwood. En 2012, elle a alors permis au gang d'infecter plus de 500 entreprises en 24 heures. L'attaque a été détectée en juillet 2012 par RSA Security[2]. Le nom de l'attaque de point d'eau fait référence à un prédateur (par exemple, un lion) qui, au lieu d'aller attaquer sa proie (par exemple, une gazelle) sur son territoire, préfère l'attendre à un endroit où il est sûr qu'elle viendra (en l’occurrence à un point d'eau où elle viendra pour s'abreuver). PrincipeLa reconnaissanceL'attaque est précédée d'une surveillance par le hacker/prédateur des habitudes de navigation de la victime/proie (qui peut être une personne ou un ensemble de personnes travaillant pour une société cible)[3]. Parfois, les points d'eau sont faciles à localiser. Par exemple, si on souhaite attaquer un éditeur de logiciels, on peut facilement s'assurer que les développeurs de cette société visitent les sites proposant des astuces sur ses outils ou des forums traitant de ses activités. La compromission du siteSur le site point d'eau, le cybercriminel place un code (par exemple, via une vulnérabilité de type XSS) permettant d'exploiter une vulnérabilité de type jour zéro que peut avoir la victime sur sa machine. Un exemple de faille exploitée est le client Java qui permet d'installer sur la machine de la victime le cheval de Troie gh0st RAT (Remote AccessTrojan) permettant ainsi au cybercriminel d'espionner et de prendre le contrôle des machines infectées. Généralement, ce cheval de Troie infecte l'ensemble des machines et serveurs de la société permettant ainsi aux cybercriminels d'avoir accès à toutes les données informatiques de ces machines (contacts, données bancaires, codes sources, projets en cours, photos personnelles, etc.), mais également de prendre le contrôle de la machine pour effacer toute trace des accès frauduleux. Il peut s'agir d'un code JavaScript qui s'exécute au chargement de la page compromise. L'infiltrationL'un des principes de la sécurité (ACL) au niveau des routeurs ou des pare-feu est de bloquer les connexions initiées depuis l'extérieur et de laisser passer le trafic généré à l'intérieur. L'accès à ce point d'eau est considéré comme un trafic légitime (via les ports 80, 443 ou 53) et passe donc inaperçu puisque la connexion aura été initiée par une machine en interne. Notons que l'utilisation des méthodes de traduction d'adresse réseau (incluant la traduction de port PAT) permet de protéger les machines internes qui n'ont jamais d'adresses routables (RFC7535), mais se partagent une adresse fournie par leur fournisseur d'accès à Internet. Les vulnérabilitésVoici une liste des éléments susceptibles d'être exploités :
Autres variantesL'infection peut se faire à l'interne de diverses façons, par exemple :
SolutionsDes mises à jour des navigateurs web et d'Acrobat Reader sont nécessaires et doivent être faites, mais ces actions restent insuffisantes puisqu'elles ne protègent pas contre les vulnérabilités jour zéro. Le blocage du code JavaScript n'est pas une solution puisqu'elle dégradera la visualisation des pages web. Les pistes sérieuses de solutions sont :
Voir aussiArticles connexesLiens externes
Notes et références
|