Contrôles d'identification des clients pour la gestion des robots - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Contrôles d'identification des clients pour la gestion des robots

Si le trafic lié à une attaque ne peut pas être facilement reconnu par le biais d'attributs statiques, la détection doit être en mesure d'identifier avec précision le client à l'origine de la demande. Par exemple, les règles basées sur le débit sont souvent plus efficaces et plus difficiles à contourner lorsque l'attribut limité au débit est spécifique à une application, tel qu'un cookie ou un jeton. L'utilisation d'un cookie lié à une session empêche les opérateurs de botnet de dupliquer des flux de demandes similaires entre de nombreux robots.

L'acquisition de jetons est couramment utilisée pour l'identification des clients. Pour l'acquisition de jetons, un JavaScript code collecte des informations pour générer un jeton qui est évalué côté serveur. L'évaluation peut aller de la vérification de ce qui JavaScript s'exécute sur le client à la collecte d'informations sur le périphérique pour la prise d'empreintes digitales. L'acquisition de jetons nécessite l'intégration d'un JavaScript SDK dans le site ou l'application, ou nécessite qu'un fournisseur de services effectue l'injection de manière dynamique.

Le fait d'avoir besoin d' JavaScript assistance constitue un obstacle supplémentaire pour les robots qui tentent d'émuler des navigateurs. Lorsqu'un SDK est impliqué, par exemple dans une application mobile, l'acquisition de jetons vérifie l'implémentation du SDK et empêche les robots d'imiter les requêtes de l'application.

L'acquisition de jetons nécessite l'utilisation de SDK implémentés côté client de la connexion. Les AWS WAF fonctionnalités suivantes fournissent un SDK JavaScript basé sur les navigateurs et un SDK basé sur des applications pour les appareils mobiles : Bot Control, prévention du rachat de compte Fraud Control (ATP) et prévention de la fraude lors de la création de comptes Fraud Control (ACFP).

Les techniques d'identification des clients incluent le CAPTCHA, le profilage du navigateur, l'empreinte digitale de l'appareil et l'empreinte TLS.

CAPTCHA

Le test public de Turing entièrement automatisé pour différencier les ordinateurs des humains (CAPTCHA) est utilisé pour distinguer les visiteurs robotiques des visiteurs humains et pour empêcher le scraping Web, le bourrage d'informations d'identification et le spam. Il existe une variété de mises en œuvre, mais elles impliquent souvent un casse-tête qu'un humain peut résoudre. Les CAPTCHA offrent une couche de défense supplémentaire contre les robots courants et peuvent réduire le nombre de faux positifs lors de la détection des robots.

AWS WAF permet aux règles d'exécuter une action CAPTCHA sur les requêtes Web qui répondent aux critères d'inspection d'une règle. Cette action est le résultat de l'évaluation des informations d'identification des clients collectées par le service. AWS WAF les règles peuvent nécessiter la résolution de problèmes CAPTCHA pour des ressources spécifiques fréquemment ciblées par des robots, telles que la connexion, la recherche et les soumissions de formulaires. AWS WAF peut directement servir le CAPTCHA par des moyens interstitiels ou en utilisant un SDK pour le gérer côté client. Pour plus d'informations, voir CAPTCHA et Challenge dans. AWS WAF

Profilage du navigateur

Le profilage du navigateur est une méthode de collecte et d'évaluation des caractéristiques du navigateur, dans le cadre de l'acquisition de jetons, afin de distinguer les vrais humains utilisant un navigateur interactif de l'activité des robots distribués. Vous pouvez établir un profilage de navigateur de manière passive par le biais des en-têtes, de l'ordre des en-têtes et d'autres caractéristiques des demandes inhérentes au fonctionnement des navigateurs.

Vous pouvez également effectuer le profilage du navigateur dans le code à l'aide de l'acquisition de jetons. En utilisant JavaScript le profilage du navigateur, vous pouvez rapidement déterminer si un client est compatible JavaScript. Cela vous permet de détecter les robots simples qui ne le supportent pas. Le profilage du navigateur ne se limite pas à vérifier les en-têtes et le JavaScript support HTTP ; le profilage du navigateur complique l'émulation complète d'un navigateur Web pour les robots. Les deux options de profilage du navigateur ont le même objectif : trouver des modèles dans un profil de navigateur qui indiquent une incohérence avec le comportement d'un navigateur réel.

AWS WAF le contrôle par bot pour les robots ciblés indique, dans le cadre de l'évaluation des jetons, si un navigateur présente des preuves d'automatisation ou des signaux incohérents. AWS WAF marque la demande afin d'effectuer l'action spécifiée dans la règle. Pour plus d'informations, consultez la section Détecter et bloquer le trafic des bots avancés dans le blog sur la AWS sécurité.

Empreinte digitale de l'appareil

L'empreinte digitale de l'appareil est similaire au profilage des navigateurs, mais elle ne se limite pas aux navigateurs. Le code exécuté sur un appareil (qui peut être un appareil mobile ou un navigateur Web) collecte et rapporte les détails de l'appareil à un serveur principal. Les détails peuvent inclure les attributs du système, tels que la mémoire, le type de processeur, le type de noyau du système d'exploitation (OS), la version du système d'exploitation et la virtualisation.

Vous pouvez utiliser les empreintes digitales de l'appareil pour savoir si un bot émule un environnement ou s'il existe des signes directs indiquant que l'automatisation est utilisée. En outre, les empreintes digitales de l'appareil peuvent également être utilisées pour reconnaître les demandes répétées provenant du même appareil.

La reconnaissance des demandes répétées provenant du même appareil, même si celui-ci essaie de modifier certaines caractéristiques de la demande, permet au système principal d'imposer des règles de limitation de débit. Les règles de limitation de débit basées sur l'empreinte digitale de l'appareil sont généralement plus efficaces que les règles de limitation de débit basées sur les adresses IP. Cela vous permet de limiter le trafic de bots qui alterne entre VPN ou proxys, mais qui provient d'un petit nombre d'appareils.

Lorsqu'il est utilisé avec des SDK d'intégration d'applications, AWS WAF le contrôle des robots ciblés peut agréger le comportement des demandes de session client. Cela vous permet de détecter et de séparer les sessions clients légitimes des sessions client malveillantes, même lorsque les deux proviennent de la même adresse IP. Pour plus d'informations sur le AWS WAF contrôle des bots pour les robots ciblés, consultez la section Détecter et bloquer le trafic des bots avancés dans le blog sur la AWS sécurité.

Empreinte TLS

Les empreintes digitales TLS, également connues sous le nom de règles basées sur les signatures, sont couramment utilisées lorsque les robots proviennent de nombreuses adresses IP mais présentent des caractéristiques similaires. Lors de l'utilisation du protocole HTTPS, le client et le serveur échangent des messages pour s'accuser réception et se vérifier mutuellement. Ils établissent des algorithmes cryptographiques et des clés de session. C'est ce qu'on appelle une poignée de main TLS. La façon dont une poignée de main TLS est mise en œuvre est une signature souvent utile pour reconnaître les attaques de grande envergure réparties sur de nombreuses adresses IP.

L'empreinte TLS permet aux serveurs Web de déterminer l'identité d'un client Web avec un haut degré de précision. Il ne nécessite que les paramètres de la première connexion par paquets, avant tout échange de données d'application. Dans ce cas, le client Web fait référence à l'application qui lance une demande, qui peut être un navigateur, un outil CLI, un script (bot), une application native ou un autre client.

L'une des approches d'empreinte SSL et TLS est l'empreinte digitale JA3. JA3 enregistre une connexion client en fonction des champs du message Client Hello issu de la poignée de main SSL ou TLS. Il vous permet de profiler des clients SSL et TLS spécifiques sur différentes adresses IP sources, différents ports et différents certificats X.509.

Amazon CloudFront prend en charge l'ajout d'en-têtes JA3 aux demandes. Un CloudFront-Viewer-JA3-Fingerprint en-tête contient une empreinte de hachage de 32 caractères du paquet TLS Client Hello d'une demande d'affichage entrante. L'empreinte digitale encapsule les informations relatives à la façon dont le client communique. Ces informations peuvent être utilisées pour établir le profil des clients qui partagent le même schéma. Vous pouvez ajouter l'CloudFront-Viewer-JA3-Fingerprinten-tête à une politique de demande d'origine et associer cette politique à une CloudFront distribution. Vous pouvez ensuite inspecter la valeur de l'en-tête dans les applications d'origine ou dans Lambda @Edge et CloudFront Functions. Vous pouvez comparer la valeur de l'en-tête à une liste d'empreintes de logiciels malveillants connus pour bloquer les clients malveillants. Vous pouvez également comparer la valeur de l'en-tête à une liste d'empreintes attendues pour autoriser uniquement les demandes provenant de clients connus.