En el vasto paisaje de la ciberseguridad, la recopilación de información de fuentes abiertas (OSINT) es una práctica fundamental para llevar a delante una investigación. Es necesario automatizar procesos tanto para recolectar como para analizar el caudal de datos recabados. Aquí es donde el scraping despliega su virtud: es una técnica poderosa que permite la extracción automatizada de datos en plataformas digitales como sitios web, redes sociales, y otras aplicaciones.
Si bien puede realizarse sobre diversas plataformas digitales (APIS, o aplicaciones determinadas), el más desarrollado es el web scraping, que extrae datos estructurados de sitios web, tanto estáticos como dinámicos —desde tendencias en redes sociales hasta variaciones de precios de un producto— mediante el uso de scripts o herramientas específicas y los almacenan para su análisis posterior.
El uso de este tipo de técnicas de extracción de datos nos permite:
- Ahorrar tiempo y esfuerzo en la recopilación de datos
- Medir la escalabilidad: nos permite analizar grandes cantidades de información de forma eficiente.
- Acceder a información oculta: normalmente cuando realizamos recabado de información de manera manual tenemos restricciones para conseguir esa información. Por medio de scraping se puede acceder a datos no disponibles a través de la navegación web normal.
¿Cómo empezar?
Si bien existen numerosas herramientas y técnicas disponibles para realizar scraping de manera efectiva —desde bibliotecas de Python como BeautifulSoup y Scrapy, hasta herramientas específicas como Octoparse y ParseHub— es importante no olvidar las bases metodológicas y entender que el scraping solo es una herramienta dentro del ciclo OSINT. Puede ser una tentación centrarnos en las herramientas y técnicas y olvidarnos del ciclo de trabajo que, al fin y al cabo, es el que nos va a permitir trabajar de manera ordenada, efectiva, y eficaz.
Echando manos a la obra, veamos algunos pasos que podemos utilizar para iniciarnos en el fantástico mundo del scrapping de datos:
1. Elegir una herramienta de scraping:
Herramientas web:
Extensiones de navegador:
Librerías de Python:
2. Seleccionar el objetivo:
Definir el tipo de información que deseas obtener:
- Perfiles de redes sociales
- Artículos de noticias
- Listas de correo electrónico
- Vulnerabilidades de seguridad
3. Aprender lenguajes de consulta:
- XPath: Lenguaje para seleccionar elementos en páginas web.
- CSS Selectors: Similar a XPath, pero más fácil de usar para principiantes.
4. Extraer los datos:
- Ejecutar la herramienta de scraping con la consulta adecuada.
- Limpiar y analizar los datos extraídos.
5. Visualizar los resultados:
- Utilizar herramientas de visualización de datos para facilitar el análisis.
- Generar informes y presentaciones para compartir tus hallazgos.
Como vimos, para realizar scraping será necesario que tengamos algunos conocimientos de lenguajes de programación, como Python, para personalizar y optimizar los scripts según las necesidades específicas de la investigación; y otros conocimientos relacionados con la gestión de datos.
Consideraciones de Seguridad y Aspectos Legales y Éticos:
Aunque los datos disponibles públicamente están a disposición del público en general, el scraping masivo o la extracción de información protegida por términos de servicio pueden violar la ley o las políticas de los sitios web.
Siempre es importante revisar los términos de servicio de un sitio web y obtener el consentimiento adecuado cuando sea necesario.
Al realizar scraping en entornos de seguridad, es importante tener en cuenta:
- La gestión adecuada de las credenciales de autenticación cuando sea necesario
- La implementación de técnicas de scraping respetuosas para evitar la detección y el bloqueo por parte de los sitios web objetivo
- La protección de los datos recopilados para garantizar su confidencialidad e integridad.
Conclusiones:
El scraping es una herramienta poderosa para los profesionales de la ciberseguridad que realizan investigaciones OSINT. Es fundamental abordar este proceso enmarcado en las fases del ciclo OSINT con las herramientas y técnicas adecuadas.
Si bien los objetivos de las investigaciones son relativos, desde el punto de vista de la seguridad defensiva, el scraping puede proporcionar información valiosa para fortalecer las defensas de una investigación y mantenerse un paso adelante en la lucha contra las amenazas digitales. En varios escenarios de ciberseguridad puede ser una herramienta invaluable para la recopilación de información sobre amenazas potenciales, por ejemplo, o el monitoreo de la actividad en línea de actores maliciosos, proporcionando datos críticos para fortalecer las defensas cibernéticas y mitigar riesgos.