detección de bots a través de huellas dactilares del navegador

13

Recientemente he notado que algunas compañías han comenzado a ofrecer servicios de protección contra bots y raspados basados en la idea de que las huellas dactilares del navegador las detecten, y luego impidan que la huella digital específica acceda al sitio (en lugar de bloquear la IP).

Aquí hay algunos ejemplos:

Hay diferencias entre ellos, pero al parecer todas esas compañías usan Javascript para obtener campos específicos del navegador como complementos, fuentes, tamaño de pantalla y resolución, los combinan con lo que se puede obtener de los encabezados HTTP y utilizan estos datos para clasifica al cliente como bot / human.

Mi pregunta entonces es: ¿Es este enfoque lo suficientemente robusto? ¿Qué tan difícil sería para un atacante falsificar todos los campos de datos que el cliente de Javascript detecta (complementos, fuentes, sistema operativo, etc.)? ¿Qué medida de protección ofrece este enfoque - solo contra bots no muy sofisticados, o es realmente tan difícil de superar?

    
pregunta WeaselFox 29.10.2014 - 07:31
fuente

4 respuestas

7

He visto servicios similares que funcionan como proxy y codifican todas sus páginas web en un Javascript realmente confuso, de modo que un navegador real no tendría problemas para navegar ese sitio mientras que sería realmente difícil, si no imposible (¿qué pasaría si El JS fue aleatorio y diferente con cada solicitud) para que un raspador convencional haga lo mismo.

El problema es que es realmente fácil vencer todos estos enfoques simplemente ejecutando un navegador real y sin perder el tiempo creando un raspador.

Eche un vistazo a Selenium WebDriver , que le permite adjuntar a un navegador real y controlarlo mediante programación, ninguno Una de estas soluciones lo detectará ya que aparece como una instalación limpia de Firefox (o Chrome, o cualquiera de los navegadores compatibles) en el mundo exterior.

En lugar de perder el tiempo intentando bloquear los bots, pregúntese por qué desea bloquearlos: si están sobrecargando su servidor web, implemente límites de velocidad basados en IP, si son spam, implementen algunos captchas, de lo contrario déjalos ser, no te están haciendo ningún daño.

    
respondido por el user42178 28.11.2014 - 17:11
fuente
4

Este procedimiento probablemente sea útil para identificar y bloquear una gran cantidad de bots, pero las personas que quieran robar sus datos, personalizarán y aleatorizarán tanto como sea posible para evitar la detección. Entonces No. Este enfoque no es el más efectivo contra los raspadores más sofisticados.

He visto raspadores cambiando completamente sus solicitudes HTTP varias veces al día. Estas compañías están invirtiendo dinero para realizar su actividad e intentarán encontrar una manera de evitar estas detecciones static .

La única forma de bloquear este tráfico es agregando reglas de bloqueo manualmente o desarrollando un gran algoritmo que elabore otros comportamientos, como: diferencias de tiempo entre solicitudes, órdenes de parámetros, identificadores de sesión compartidos, etc.

    
respondido por el Cristian - ScrapeSentry.com 24.02.2015 - 11:32
fuente
3

Al leer la copia de marketing de los enlaces, el tipo de 'bot' del que está hablando no es un 'navegador' típico, sino que a menudo es solo un simple script o incluso el venerable wget .

Si ese es el caso, entonces es trivial determinar si un script está navegando o si un navegador completo lo está. Pero, como sospecha, si alguien está interesado en derrotar a estos bloqueadores de bots, también es trivial proporcionar datos falsos al servidor para que aparezcan como un navegador válido.

Por ejemplo, he creado un raspador web basado en Python que suministra un UA preconfigurado al servidor (que se anuncia como un script, en mi caso). En cuanto a los otros datos (fuentes instaladas), aunque no lo he hecho yo mismo, estoy seguro de que si un navegador puede configurarse para responder con los datos, también puede hacerlo un "bot".

    
respondido por el schroeder 29.10.2014 - 15:51
fuente
2

Como todos ya han respondido, no es posible detectar los robots solo mediante la identificación de huellas digitales del navegador.

ShieldSquare, como empresa de detección de bots, pasamos la mayor parte del tiempo con bots, yo diría que la detección de bots es posible, junto con la huella digital del dispositivo JS, algunas cosas más se considerarán:

  • Comportamiento del usuario [Puede analizar lo que el usuario está haciendo en el sitio web, ya sea que el usuario esté haciendo un patrón de amplitud primero o un patrón de profundidad primero. Cuántos minutos está gastando el usuario en el sitio web, cuántas páginas visitó el usuario]

  • Reputación de IP [Al observar el historial de IP, no hay visitas de IP o tiene patrones y también se puede realizar análisis forense de la red en la solicitud recibida e identifica si la solicitud proviene de Tor / Proxy IP.]

  • Validación del navegador

De hecho, todos estos cálculos se pueden hacer en 7 ms.

    
respondido por el Raviraj Hegde 09.04.2015 - 13:58
fuente

Lea otras preguntas en las etiquetas