¿Qué es la apropiación de datos?

Los atacantes pueden usar herramientas de apropiación web para acceder a los datos mucho más rápido de lo previsto. Esto puede dar lugar a que los datos se utilicen para fines no autorizados.

Share facebook icon linkedin icon twitter icon email icon

Apropiación de datos

Metas de aprendizaje

Después de leer este artículo usted podrá:

  • Definir la apropiación de datos
  • Explicar los propósitos detrás de la apropiación web
  • Comprender los métodos para mitigar la apropiación de datos
  • Diferenciar entre la apropiación de datos y la araña web de datos

¿Qué es la apropiación de datos?

La apropiación de datos, en su forma más general, se refiere a una técnica en la cual un programa de computadora extrae datos de la salida generada por otro programa. La apropiación de datos se manifiesta comúnmente en la apropiación web, el proceso de usar una aplicación para extraer información valiosa de un sitio web.

Data Scraping

¿Por qué apropiarse de los datos del sitio web?

Por lo general, las empresas no desean que su contenido exclusivo se descargue y reutilice para fines no autorizados. Como resultado, no exponen todos los datos a través de una API consumible u otro recurso de fácil acceso. Los bots de apropiación, por otro lado, están interesados en obtener datos del sitio web independientemente de cualquier intento por limitar el acceso. Como resultado, existe un juego del gato y el ratón entre los bots de apropiación web y varias estrategias de protección de contenido, y cada uno intenta superar tácticamente al otro.

El proceso de apropiación web es bastante simple, aunque la implementación puede ser compleja. La apropiación web ocurre en 3 pasos:

  1. Primero, la parte del código utilizado para extraer la información, que llamamos un bot de apropiación, envía una solicitud HTTP GET a un sitio web específico.
  2. Cuando el sitio web responde, el scraper analiza el documento HTML en busca de un patrón de datos específico.
  3. Una vez que se extraen los datos, se convierten a cualquier formato específico diseñado por el autor del bot de apropiación.

Los bots de apropiación pueden diseñarse para muchos propósitos, tales como:

  1. Apropiación de contenido: el contenido se puede extraer del sitio web para replicar la ventaja única de un producto o servicio en particular que se basa en el contenido. Por ejemplo, un producto como Yelp se basa en las reseñas; un competidor podría apropiarse de todo el contenido de las reseñas de Yelp y reproducir el contenido en su propio sitio, fingiendo que el contenido es original.
  2. Apropiación de precios: al apropiarse los datos de precios, los competidores pueden agregar información sobre su competencia. Esto puede permitirles formular una ventaja única.
  3. Apropiación de contactos: muchos sitios web contienen direcciones de correo electrónico y números de teléfono en texto sin formato. Al apropiarse de las ubicaciones como un directorio de empleados en línea, un scraper puede agregar detalles de contacto para listas de correo masivas, robollamadas o intentos maliciosos de ingeniería social. Este es uno de los métodos principales que utilizan tanto los spammers como los estafadores para encontrar nuevos objetivos.

¿Cómo se mitiga la apropiación web?

Por lo general, todo el contenido que un visitante del sitio web puede ver debe transferirse a la máquina del visitante y cualquier información a la que el visitante pueda acceder puede ser objeto de apropiación por un bot.

Se pueden realizar esfuerzos para limitar la cantidad de apropiación web. A continuación presentamos 3 métodos para limitar la exposición a los esfuerzos de apropiación de datos:

  1. Solicitudes de límite de velocidad: para un visitante humano que hace clic en una serie de páginas web en un sitio web, la velocidad de interacción con el sitio web es bastante predecible; por ejemplo, un humano nunca podría navegar 100 páginas web por segundo. Las computadoras, por otro lado, pueden hacer solicitudes de una magnitud más rápida que un humano y los scrapers de datos novatos pueden usar técnicas de apropiación sin estrangulamiento para intentar apropiarse de un sitio web completo muy rápidamente. La limitación de velocidad es el número máximo de solicitudes que una determinada dirección IP es capaz de hacer durante una ventana de tiempo dada, los sitios web son capaces de protegerse de las solicitudes de explotación y limitar la cantidad de apropiación de datos que puede ocurrir dentro de una cierta ventana.
  2. Modificar el marcado HTML a intervalos regulares: los bots de apropiación de datos dependen de un formato consistente para recorrer de manera efectiva el contenido del sitio web y analizar y guardar los datos útiles. Un método para interrumpir este flujo de trabajo es cambiar regularmente los elementos del marcado HTML para que la apropiación consistente se vuelva más complicada. Al anidar elementos HTML o al cambiar otros aspectos del marcado, los esfuerzos simples de apropiación de datos se verán obstaculizados o frustrados. Para algunos sitios web, cada vez que se muestra una página web, se aleatoriza e implementa alguna forma de modificación de protección de contenido. Otros sitios web cambiarán su código de marcado ocasionalmente para evitar esfuerzos de apropiación de datos de plazos más largos.
  3. Usar CAPTCHA para solicitantes de gran volumen: además de usar una solución de limitación de velocidad, otro paso útil para desacelerar las apropiaciones de contenido es el requisito de que un visitante del sitio web responda a un desafío que es difícil de superar para una computadora. Si bien un ser humano puede responder razonablemente al desafío, un navegador sin cabeza* involucrado en la apropiación de datos probablemente no pueda hacerlo y sin duda no lo hará de manera consistente en muchas instancias del desafío. Sin embargo, los desafíos constantes del CAPTCHA pueden afectar negativamente la experiencia del usuario.

Otro método menos común de mitigación requiere incrustar contenido dentro de objetos de medios como imágenes. Debido a que el contenido no existe en una cadena de caracteres, copiar el contenido es mucho más complejo y requiere reconocimiento óptico de caracteres (OCR) para extraer los datos de un archivo de imagen. Sin embargo, esto también puede ser un obstáculo para los usuarios web que necesitan copiar contenido como una dirección o número de teléfono de un sitio web en lugar de memorizarlo o volver a escribirlo.

*Un navegador sin cabeza es un tipo de navegador web, muy parecido a Chrome o Firefox, pero no tiene una interfaz de usuario visual por defecto, lo que le permite moverse mucho más rápido que un navegador web típico. Al ejecutarse esencialmente en el nivel de una línea de comando, un navegador sin cabeza puede evitar mostrar aplicaciones web completas. Los scrapers de datos escriben bots que usan navegadores sin cabeza para solicitar datos más rápidamente, ya que ningún humano está viendo la página de la que se está haciendo la apropiación.

¿Cómo se detiene completamente la apropiación web?

La única forma de detener totalmente la apropiación web es evitar poner todo el contenido en un sitio web. Sin embargo, el uso de una solución avanzada de gestión de bots puede ayudar a los sitios web a eliminar el acceso a los bots de apropiación casi por completo.

¿Cuál es la diferencia entre la apropiación de datos y la araña web (crawler)?

La araña web (crawler) se refiere al proceso que los grandes motores de búsqueda como Google realizan cuando envían sus arañas web robots, como Googlebot, a la red para indexar el contenido de Internet. La apropiación, por otro lado, generalmente está estructurada específicamente para extraer datos de un sitio web en particular.

Estas son 3 de las prácticas en las que se involucrará un bot de apropiación que difieren del comportamiento de un bot de araña web (crawler):

  1. Los bots de apropiación pretenderán ser navegadores web, mientras que un bot de araña web (crawler) indicará su propósito y no intentará engañar a un sitio web para que crea que es algo que no es.
  2. A veces, los scrapers tomarán medidas avanzadas, como completar formularios o participar en comportamientos para llegar a cierta parte del sitio web. Las arañas web (crawler) no lo harán.
  3. Los scrapers generalmente no toman en cuenta el archivo robots.txt, que es un archivo de texto que contiene información específicamente diseñada para indicar a las arañas web (crawler) qué datos analizar y qué áreas del sitio deben evitarse. Debido a que un scraper está diseñado para extraer contenido específico, puede estar diseñado para extraer contenido marcado explícitamente para que se ignore.

La gestión de bots de Cloudflare utiliza el aprendizaje automático y el análisis de comportamiento para identificar bots maliciosos, como los scrapers que protegen contenido único y evitan que los bots abusen de una propiedad web.