2

Je voudrais explorer un ensemble de sites Web aléatoires reçus d'un générateur d'URL, en utilisant ChromeDriver de Selenium avec Crawljax pour effectuer une analyse de code statique sur les états DOM capturés.L'utilisation de Selenium WebDriver pour l'exploration Web automatisée peut-elle être dangereuse?

Est-ce dangereux pour la machine qui effectue l'exploration? Mon inquiétude est que l'un des sites générés aléatoirement est malveillant et que l'exécution de JavaScript à partir de ChromeDriver (qui est utilisé pour capturer les nouveaux états DOM) infecte la machine exécutant le test d'une manière ou d'une autre. Devrais-je utiliser ceci dans un environnement en bac à sable?

--edit--

S'il importe, le robot est mis en œuvre entièrement en Java.

+1

Chrome fonctionne tout dans un environnement sandbox. Si vous n'installez aucun add-ons de chrome, je ne vois pas cela comme un gros problème. Toutefois, de nombreux sites utilisent un outil de suivi et le système de suivi peut suivre les sites communs que vous avez parcourus. Vous pouvez donc créer un profil individuel pour chaque domaine. Mais comme vous ne faites que ramper et ne pas stocker de cookies privés, réutiliser la même instance pour différents domaines ne devrait pas poser de problème. –

+0

Merci beaucoup @TarunLalwani, il semble que votre commentaire devrait être une réponse. –

Répondre

1

Réponse simple, non. Seulement si vous avez peur des cookies, et même si vous l'êtes, votre machine ne l'est pas.

+0

donc essentiellement, si vous utilisez la même instance de ChromeDriver pour tous les sites, n'importe quel site pourrait potentiellement laisser des cookies qui l'informent des activités du robot sur d'autres sites, n'est-ce pas? Si c'est le cas, ouais ce n'est pas si effrayant. Je suppose également que les cookies sont supprimés une fois que l'instance de ChromeDriver est morte, mais c'est quelque chose que je devrais vérifier, je suppose. –

0

Il est difficile de dire qu'il est très sûr, vous devez au courant qu'il n'y a pas sécurisé absolu network.Recently, un RCE de chrome a été mis hors, les détails: SSD Advisory – Chrome Turbofan Remote Code Execution – SecuriTeam Blogs

Peut-être que cela peut avoir un effet sur ChromeDriver de Sélénium

Mais vous pouvez faire un peu d'application sur votre système, comme changer votre mode de pare-feu en liste blanche, seulement permettre à votre script python et sélénium d'accéder à internet sur le port 80,443.

Même si votre système pwned par RCE, le code malveillant ne peut toujours pas accéder à Internet, à moins qu'il ne vous injecte un processus python (je pense que c'est très difficile avec le script js dans le navigateur RCE). Une autre option: Installez HIPS, si votre script python veut faire autre chose que d'explorer une page web (comme démarrer un autre processus) ou de lire/écrire d'autres fichiers, vous le saurez et déciderez quoi faire.

Dans mon oppion, faites votre chose crawl dans une machine virtuelle et faire un peu d'application sur le pare-feu (pare-feu Windows ou iptables Linux), fermer les services inutiles dans windows.That suffit.

En un mot, il est trop difficile de trouver le juste équilibre entre la sécurité et la commodité et ne croient pas que votre système est incassable

+0

Merci pour votre réponse @ElizabethAnne. J'ai jeté un coup d'œil sur le lien que vous avez posté, et il a mentionné: "Le PoC suivant lancera calc en attaquant une version -no-sandbox chrome 59." Pensez-vous que cette déclaration implique qu'une version en bac à sable de Chrome ne serait pas sensible à une telle vulnérabilité? Je me demande si l'exécution du robot dans une machine virtuelle et la restriction de l'utilisation du port sont redondantes si vous utilisez Chrome en mode bac à sable. –