La Web está llena de páginas maliciosas. Por desgracia, éstas también pueden existir en los sitios de sus clientes o proveedores.
Hoy en día, ningún negocio carece de alguna integración que se alimente o proporcione entradas al sitio web de un cliente o proveedor. Por supuesto, su negocio no existirá sin estos servicios, pero a veces es una amenaza debido a ellos. Los sitios externos con los que interactúa pueden tener contenido malicioso (ya sea instalado a propósito o puesto en peligro por un tercero), y si ese contenido encuentra el camino hacia el lugar predeterminado, las consecuencias pueden ser desastrosas.
¿No podemos escanear manualmente los sitios web en busca de páginas maliciosas?
Podría parecer que un desarrollador competente debería ser capaz de escanear las páginas en busca de vulnerabilidades. Desgraciadamente, esto no se acerca a la realidad por muchas razones:
- Los desarrolladores no están especializados en detección/seguridad. Su experiencia consiste en construir software complejo juntando muchos subsistemas más pequeños; en otras palabras, simplemente no tienen las habilidades necesarias.
- Incluso si diera con un desarrollador con el talento suficiente, la tarea simplemente sería demasiado. Una página web típica, rica en funciones, contiene miles de líneas de código: coserlas todas juntas para resolver tanto el panorama general como las pequeñas lagunas es poco menos que una pesadilla. ¡Bien podría ordenar a alguien que se comiera un elefante entero para almorzar!
- Para reducir los tiempos de carga de las páginas, los sitios web suelen comprimir y minificar sus archivos CSS y JavaScript. Esto da como resultado un lío de código tan espeso que es perfectamente imposible de leer.
Si esto todavía parece legible, es porque las buenas almas de allí decidieron preservar los nombres de las variables en un contexto amplio. Pruebe el código fuente de jQuery, que alguien puede alojar en su sitio web y manipular (dos líneas en algún lugar de este lío):
Por no mencionar que el código fuente tiene cerca de 5.000 líneas de código. 😎
Estamos hablando de un solo script. Una página web suele tener entre 5 y 15 scripts adjuntos, y es probable que esté trabajando con entre 10 y 20 páginas web en total. Imagínese tener que hacer esto todos los días. . . O peor aún, ¡varias veces al día!
Afortunadamente, es posible escanear las URL de forma rápida y sencilla a través de las API. Puede escanear no sólo páginas web, sino también archivos que se le proporcionen para su descarga. Veamos algunas de las herramientas API que le ayudarán a hacerlo. Y oh, ya que se trata de APIs, los esfuerzos de su desarrollador serán mucho mejores si les pide que construyan una herramienta de escaneo de sitios web utilizando estas APIs. 😀
Riesgo web de Google
No es de extrañar que un comprobador de páginas web provenga de la empresa que prácticamente es dueña de Internet (de todas sus páginas web, quiero decir). Google Web Risk es bastante sencillo.
Utilizar la API también es superfácil. Para comprobar una sola página mediante la línea de comandos, basta con enviar una solicitud como la siguiente
curl -H "Content-Type: application/json" "https://webrisk.googleapis.com/v1beta1/uris:search?key=YOUR_API_KEY&threatTypes=MALWARE&uri=http://testsafebrowsing.appspot.com/s/malware.html"
Si la solicitud se ha realizado correctamente, la API responde con el tipo de vulnerabilidad de la página:
{
"amenaza": {
"threatTypes": [
"MALWARE"
],
"expireTime": "2019-07-17T15:01:23.045123456Z"
}
}
Como puede ver, la API confirma que se sabe que la página contiene malware.
Tenga en cuenta que la API de riesgos web de Google no realiza un diagnóstico a petición de una URL o un archivo de su elección. Consulta una lista negra mantenida por Google basada en los resultados e informes de búsqueda e informa de si la URL está o no en esa lista negra. En otras palabras, si esta API dice que una URL es segura, cabe suponer que es bastante segura, pero no hay garantías.
VirusTotal
VirusTotal es otro servicio genial que puede utilizar para escanear no sólo URL, sino también archivos individuales (en ese sentido, lo pongo por encima de Google Web Risk en términos de utilidad). Si tiene ganas de probar el servicio, sólo tiene que dirigirse al sitio web y, justo en la página de inicio, hay una opción para ponerse en marcha.
Aunque VirusTotal está disponible como una plataforma gratuita construida y curada por una vibrante comunidad, ofrece una versión comercial de su API. He aquí por qué querría pagar por el servicio premium:
- Tasa de solicitud flexible y cuota diaria (frente a las escasas cuatro solicitudes por minuto de la API pública)
- El recurso enviado es escaneado por VirusTotal por su antivirus, y se devuelve información de diagnóstico adicional.
- Información basada en el comportamiento de los archivos que envíe (los archivos se colocarán en diferentes entornos aislados para supervisar las actividades sospechosas)
- Consulta de diversos parámetros en la base de datos de archivos de VirusTotal (se admiten consultas complejas)
- SLA y tiempos de respuesta estrictos (los archivos enviados a VirusTotal a través de la API pública se ponen en cola y tardan un tiempo considerable en ser analizados)
Si opta por la API privada de VirusTotal, puede ser una de las mejores inversiones que haya hecho nunca en un producto SaaS para su empresa.
Scanii
Otra recomendación para API de escáneres de seguridad es Scanii. Se trata de una sencilla API REST que puede escanear documentos/archivos enviados para detectar la presencia de amenazas. Piense en ello como un escáner de virus a la carta que puede ejecutarse y escalarse sin esfuerzo
Estas son las bondades que ofrece Scanii
- Capaz de detectar malware, scripts de phishing, contenido spam, contenido NSFW (Not Safe For Work), etc.
- Está construido sobre Amazon S3 para facilitar el escalado y el almacenamiento de archivos sin riesgos.
- Detecta texto ofensivo, inseguro o potencialmente peligroso en más de 23 idiomas.
- Un enfoque sencillo, sin florituras y centrado en el escaneado de archivos basado en API (en otras palabras, sin funciones innecesariamente «útiles»)
Lo realmente bueno es que Scanii es un metamotor; es decir, no realiza escaneos por sí mismo, sino que utiliza un conjunto de motores subyacentes para hacer el trabajo preliminar. Es una gran ventaja, ya que no tiene que estar atado a un motor de seguridad concreto, lo que significa que no tiene que preocuparse por cambios de API rotos y demás.
Veo Scanii como una gran ayuda para las plataformas que dependen del contenido generado por los usuarios. Otro caso de uso es el de escanear archivos generados por un servicio de un proveedor en el que no se puede confiar al 100%.
Metadefender
Para algunas organizaciones, escanear archivos y páginas web en un único punto final no es suficiente. Tienen un flujo de información complejo y ninguno de los puntos finales puede verse comprometido. Para esos casos de uso, Metadefender es la solución ideal.
Piense en Metadefender como un guardián paranoico que se sitúa entre sus activos de datos principales y todo lo demás, incluida la red. Digo «paranoico» porque esa es la filosofía de diseño que hay detrás de Metadefender. No puedo describirlo mejor que ellos, así que allá va:
La mayoría de las soluciones de ciberseguridad se basan en la detección como su principal función de protección. El saneamiento de datos de MetaDefender no se basa en la detección. Asume que todos los archivos podrían estar infectados y reconstruye su contenido mediante un proceso seguro y eficaz. Admite más de 30 tipos de archivos y genera archivos seguros y utilizables. La higienización de datos es extremadamente eficaz para prevenir ataques dirigidos, ransomware y otros tipos de amenazas de malware conocidas y desconocidas.
Metadefender ofrece algunas funciones interesantes:
- Prevención de pérdida de datos: En términos sencillos, se trata de la capacidad de anular y salvaguardar la información confidencial detectada dentro del contenido de los archivos. Por ejemplo, un recibo en PDF con el número de la tarjeta de crédito visible será ofuscado por Metadefender.
- Impleméntelo localmente o en la nube (¡depende de lo paranoico que sea!).
- Mira a través de 30 tipos de formatos de archivo (zip, tar, rar, etc.), y 4.500 trucos de suplantación de tipo de archivo.
- Implantaciones multicanal: asegure sólo los archivos, o vaya a lo loco con el control del correo electrónico, la red y el inicio de sesión.
- Flujos de trabajo personalizados para aplicar diferentes tipos de canalizaciones de escaneado basadas en reglas personalizadas.
Metadefender incluye 30 motores pero los abstrae muy bien, para que nunca tenga que pensar en ellos. Si es una empresa mediana o grande que no puede permitirse pesadillas de seguridad, Metadefender es una gran opción.
Urlscan.io
Si trabaja principalmente con páginas web y siempre ha querido tener una visión más profunda de lo que hacen entre bastidores, Urlscan.io es un arma excelente en su arsenal.
La cantidad de información que Urlscan.io vuelca es nada menos que impresionante. Entre otras cosas, usted consigue ver
- El número total de direcciones IP contactadas por la página.
- Lista de geografías y dominios a los que la página envió información.
- Tecnologías utilizadas en el front-end y back-end de la página (no se hace ninguna afirmación sobre su precisión, ¡pero es alarmantemente precisa!).
- Información sobre el dominio y el certificado SSL
- Interacciones HTTP detalladas junto con la carga útil de la solicitud, los nombres de los servidores, los tiempos de respuesta y mucho más.
- Redirecciones ocultas y solicitudes fallidas
- Enlaces salientes
- Análisis de JavaScript (variables globales utilizadas en los scripts, etc.)
- Análisis del árbol DOM, contenido de formularios y mucho más.
Así es como se ve todo:
La API es simple y directa, y le permite enviar una URL para su análisis, así como comprobar el historial de análisis de esa URL (los análisis realizados por otros, es decir). En definitiva, Urlscan.io proporciona una gran cantidad de información para cualquier empresa o particular interesado.
SUCURI
SUCURI es una plataforma muy conocida en lo que respecta al escaneado en línea de sitios web en busca de amenazas y malware. Lo que quizá no sepa es que también disponen de una API REST, que permite aprovechar la misma potencia de forma programática.
No hay mucho de lo que hablar aquí, salvo que la API es sencilla y funciona bien. Por supuesto, Sucuri no se limita a una API de escaneado, así que ya que está, le recomiendo que eche un vistazo a algunas de sus potentes funciones, como el escaneado del lado del servidor (básicamente, usted proporciona las credenciales FTP, ¡y él se conecta y escanea todos los archivos en busca de amenazas!)
Quttera
Nuestra última entrada en esta lista es Quttera, que ofrece algo ligeramente diferente. En lugar de escanear el dominio y las páginas enviadas bajo demanda, Quttera también puede realizar una supervisión continua, ayudándole a evitar vulnerabilidades de día cero.
La API REST es sencilla y potente y puede devolver algunos formatos más que JSON (XML y YAML, por ejemplo). Las exploraciones son totalmente compatibles con multihilo y concurrencia, lo que le permite ejecutar múltiples exploraciones exhaustivas en paralelo. Dado que el servicio se ejecuta en tiempo real, tiene un valor incalculable para las empresas que se dedican a ofertas de misión crítica en las que el tiempo de inactividad significa la desaparición.
Conclusión
Las API de escaneado de seguridad como las tratadas en este artículo son simplemente una línea extra de defensa (o de precaución, si lo prefiere). Al igual que un antivirus, éstas pueden hacer muchas cosas, pero de ninguna manera pueden proporcionar un método de escaneado a prueba de fallos. Eso se debe simplemente a que un programa escrito con intenciones maliciosas es igual para el ordenador que el escrito para tener un impacto positivo — ambos piden recursos del sistema y hacen peticiones a la red; el diablo está en el contexto, que no es para que los ordenadores funcionen con éxito.
Dicho esto, estas API proporcionan una sólida cobertura de seguridad que es deseable en la mayoría de los casos — ¡tanto para sitios web externos como para el suyo propio! 🙂