Recientemente, varios amigos que hacen plataformas sociales se quejaron a mí que su propia dinámica de usuario y el contenido fueron rastreados hasta el fondo, y el servidor fue bloqueado por los rastreadores de todos los días. Un amigo incluso se rió amargamente y dijo: “Ahora leo los logs son PTSD, en cuanto veo el User-Agent con la palabra Python en él, quiero desenchufar el cable de red”.”
El umbral de la tecnología de rastreo es cada vez más bajo en estos días, escribir unas pocas líneas de script Python se atreverá a espigar datos, por no hablar de los que se especializan en el equipo de tráfico de datos, moviendo cientos de IP de alojamiento en la nube alrededor de bombardeo. Firewall tradicional en los ojos de esas personas es sólo como papel, confiando en una lista negra de IP para evitar que los rastreadores? Es como esperar que te toque la lotería.
He ayudado a un montón de plataformas sociales a lo largo de los años para hacer soluciones anti-escalada, las pruebas encontraron que se basan puramente en la coincidencia de reglas simplemente no puede jugar el rastreador moderno. Esos rastreadores avanzados ahora simular la curva de comportamiento humano, la trayectoria del ratón puede darle una distribución normal para crear, basándose en la frecuencia de solicitud para determinar si el rastreador? No sea ingenuo.
Una estrategia antitrepa CDN de alta defensa social realmente eficaz debe tener tres capas de defensa: cifrado de contenidos para que los rastreadores no puedan obtener datos efectivos, reconocimiento de comportamientos para distinguir con precisión entre humanos y máquinas y, por último, con mecanismos de defensa dinámicos para que el coste de los rastreadores sea alto para dudar de la vida. A continuación voy a combinar la experiencia práctica, hablar de cómo operar.
Vamos a empezar con el problema de fuga de contenido más perjudicial. Muchas plataformas piensan que todo está bien con HTTPS, pero no sé que el rastreador directamente en su nodo CDN para analizar el contenido. He visto el caso más extremo es una plataforma social API de retorno de datos JSON directamente por el rastreador de análisis por lotes, la cadena de relaciones de usuario se han subido limpio, la persona a cargo hasta que los competidores comenzaron a cavar con precisión la gente encontró algo mal.
No creas a los que dicen que “la autenticación Token es suficiente” programa, Token fuga en el círculo de rastreo ha sido durante mucho tiempo una tecnología estándar, la gente directamente descompilar su desembalaje APP, extracción de claves es tan simple como ir de compras en el supermercado. El sistema de telefonía móvil Hook directa más despiadado, la memoria en tiempo de ejecución Token están pescando a cabo.
El enfoque fiable esCifrado dinámico de contenidos. Podemos hacer una ofuscación de datos en el borde del nodo CDN, como los campos de datos clave para la codificación aleatoria, cada solicitud devuelve un nombre de campo diferente. Por ejemplo, el campo de ID de usuario puede ser llamado ”uid”, la próxima vez que se convertirá en ”z3df9″, por lo que el rastreador simplemente no puede establecer una resolución fija reglas.
He probado esta solución en CDN5, y sus nodos de computación de borde admiten lógica de procesamiento JavaScript personalizada que puede alterar dinámicamente la estructura JSON antes de exportar los datos:
Rastreadores de obtener este tipo de datos es como quitar una caja ciega, cada vez que analizar las reglas tienen que volver a evaluar, lo que aumenta en gran medida el costo de la limpieza de datos. Intencionalmente se filtró una prueba de este tipo de interfaz, colocado allí durante una semana no fueron rastreando con éxito, pero el equipo de rastreo en el foro maldijo que esta interfaz rota todos los días para cambiar la estructura.
Pero el cifrado no es suficiente, algunos rastreadores avanzados ejecutarán JS directamente para restaurar los datos. Así que también tiene que ser emparejado conPerfiles de comportamiento. Este es un ámbito en el que CDN07 ha hecho un gran trabajo, ya que su motor de biocomportamiento capta más de 200 dimensiones de las características operativas humanas.
Lo que más me impresiona es su capacidad para detectar la coincidencia de la curva de Bezier de los movimientos del ratón: las personas reales que manejan el ratón tendrán una curva de aceleración natural y una pequeña fluctuación, mientras que la simulación del movimiento de la trayectoria que hace el crawler es demasiado perfecta o demasiado aleatoria. También pueden detectar la distribución estadística del tiempo de permanencia en la página: el tiempo de navegación de las personas reales se ajusta a una distribución de ley de potencia, mientras que los rastreadores tienden a tener una periodicidad fija o una distribución de Poisson de los intervalos de visita.
Este es el conjunto de reglas que hemos configurado en 08Host:
No subestimes estos detalles, he atrapado a varios rastreadores “de gama alta” con estas reglas. Un grupo que se hizo pasar por GoogleBot utilizó el modo Headless completo de Chrome, con un referer normal para cada solicitud, y lo pillaron porque sus movimientos de ratón eran demasiado lineales -¿cómo puede una persona real moverse siempre en línea perfectamente recta?
Cuando se trata de bloqueo de IP, la primera reacción de muchas personas es tirar del segmento IP negro. Pero ahora rastreadores están utilizando proveedor de servicios en la nube IP, hoy sellado Ali nube mañana con Tencent nube, puede sellar más? Lo que es más desagradable es que los que utilizan redes proxy residencial, IP son de banda ancha doméstica real, sellando un usuario real puede ser herido por error.
Yo lo recomendaría ahora.Mecanismo de desafío dinámico.. En lugar de bloquear directamente el tráfico sospechoso, se colocan retos de validación aleatorios. Por ejemplo, los usuarios normales reciben CAPTCHAs minimalistas (por ejemplo, tocar un objeto en una imagen), mientras que las sesiones sospechosas de ser crawlers se encuentran con retos mejorados:
No subestimes este reto de problema computacional, es pan comido para la gente de verdad, pero una pesadilla para los rastreadores distribuidos. Para coordinar cientos de nodos para resolver el problema de forma sincrónica, la latencia explota directamente. Después de desplegar esta solución en CDN5, el tráfico de rastreo se redujo en 82%, y la carga de la CPU cayó directamente desde la línea de alerta hasta el rango normal.
Algunos rastreadores están empezando a utilizar IA para descifrar CAPTCHAs, así que es mejor actualizar tu banco de preguntas de desafío con regularidad. Yo suelo preparar docenas de tipos de desafío en rotación aleatoria, que van desde cálculos matemáticos hasta preguntas de lógica gráfica, para que el equipo de rastreadores siempre esté corriendo por el camino del crackeo.
Por último, los detalles de la protección de las API. Muchas API de plataformas sociales están diseñadas para ser demasiado prescriptivas, por ejemplo, las interfaces de información al usuario deben ser/api/usuario/{id}el rastreador escribe un bucle para rastrear por lotes. Se recomienda diseñar la ruta de la API de forma contraintuitiva, como ocultar el número de versión en el encabezado y aleatorizar la ruta de la interfaz:
Por cierto, la protección de la API de CDN07 es más detallada, y puedes establecer el límite de frecuencia para cada interfaz individualmente. Por ejemplo, la interfaz de la página de inicio personal tiene un máximo de 60 solicitudes por minuto, mientras que la interfaz sensible, como la lista de amigos, está limitada a 5 solicitudes por minuto, por encima de las cuales los datos falsos se devuelven automáticamente de forma degradada.
El formato de devolución de los datos también debería jugar algunas malas pasadas. No devuelva siempre datos JSON completos, puede utilizar codificación en trozos (chunked encoding), dividir los datos clave en varios paquetes para enviarlos e insertar paquetes basura en medio para interferir con el análisis sintáctico del crawler. El usuario real no lo percibe, pero el parser del crawler se confunde directamente.
¿Qué es lo más dudoso de la protección contra rastreadores? Que mata a usuarios reales por error. Por eso recomiendo encarecidamente que todas las reglas tengan unModelo de aprendizajePeriodo, primero observar sin intervención, registrar el patrón de tráfico para establecer una línea base.El Modo Inteligente de CDN5 funciona bien, aprendiendo el tráfico normal durante una semana antes de generar automáticamente los umbrales de las reglas, lo que es mucho más preciso que la configuración manual.
Por último, para dar una sugerencia real: no esperes que un conjunto de programas se coma todos los escenarios. Generalmente utilizo CDN5 para hacer la primera capa de limpieza de tráfico, 08Host para el análisis de comportamiento, CDN07 protección especial interfaz API. La combinación de los tres uso costo mensual de más de unos pocos cientos, pero más rentable que la pérdida causada por el rastreo de datos.
Anti-crawler naturaleza es un juego de costos, lo que queremos hacer es hacer que el costo de rastreo muy superior al valor de los datos. Ahora la plataforma de mi cliente es capturado una vez que los datos, el equipo de rastreo para invertir más de una docena de servidores de alto perfil + decenas de miles de costos de IP proxy por mes, y nos basamos en la programación inteligente y cifrado dinámico, por lo que los chicos cavar datos que cavar bitcoin todavía está quemando dinero.
Recientemente, he descubierto que la comunidad de reptiles también ha empezado a implosionar, y algunos equipos han empezado a utilizar el aprendizaje por refuerzo para simular el comportamiento humano. Sin embargo, el Dao mide un palmo y el diablo tres metros, nuestro bando también se dedica a los modelos de aprendizaje profundo para detectar patrones anómalos. Se estima que esta guerra de ataque y defensa va a continuar, pero una cosa es cierta - los que piensan que colgar un WAF puede evitar que la plataforma de rastreo, tarde o temprano para convertirse en el más afectado por la fuga de datos.

