Una introducción breve a las APIs y su seguridad

Tricas Invaders... En What to Know about APIs, the “On-Ramps to the Digital World” se habla de la forma de acceder a diversas plataformas, que son las interfaces de programación que ponen a nuestra disposición diferentes primitivas sobre los datos para desarrollar los proyectos que deseemos.

An application programming interface, or API, is a defined process that allows data to be shared between applications or programs. Each API consists of a set of rules that dictates how communication occurs between a client and a server or external program.

Ya llevamos muchos años hablando de APIs (Application Programming Interface) pero en los últimos tiempos la tendencia se ha acelerado y vale la pena leer introducciones como esta.

Al tratarse de un sitio de seguridad también nos recuerda algunos de los problemas principales, que tendrían que ver con:

  • La autorización en el acceso a los diversos objetos.
  • La autentificación de los usuarios.
  • Los datos que se exponen a través de este mecanismo (en ocasiones demasiados).
  • Las malas configuraciones de seguridad.

Finalmente, nos dan una serie de buenas prácticas que tal vez deberíamos tener en cuenta a la hora de desarrollar nuestras propias APIs.

Más fallos sofisticados: Thunderbird y la lectura de mensajes cifrados

Bolas chinas concéntricas En Exploit Disclosure: Turning Thunderbird into a Decryption Oracle nos cuentan varios fallos de seguridad y privacidad en alguna versión reciente del cliente de correo Thunderbird.

La peor de ellas, según el autor, sería la que permite engañar al programa para que descifre un mensaje y lo envíe de vuelta al atacante.

At worst these vulnerabilities can by exploited by an adversary with access to a collection of intercepted encrypted messages to trick Thunderbird into decrypting any given message and sending the resulting plaintext back to the adversary.

La detección se hizo utilizando fuzzing. La cuestión es que, como en otros fallos que hemos comentado recientemente, el ataque es sofisticado y necesita unos cuantos pasos. Implica tener un mensaje de correo en texto formateado con html (que el programa no interetará en su configuración por defecto), pero que contenga una etiqueta meta (meta tag) con una directiva refresh. El refresco tenía dos consecuencias, por lo visto: se accedía a la URL (fallo de privacidad), y algunas protecciones de Thunderbird se podían evitar.

However, through fuzzing, we were able to find that when opening a text/html email containing a meta tag with a refresh directive, in the compose window, we were able to trigger a refresh of the rendering context.

Si se incluía una etiqueta de objeto (tag object) que hiciera referencia a una URL inválidad se podía conseguir ejecutar Javascript en un gestor (handle) de sucesos onerror.

By also including an object tag referencing an invalid url we were able to execute javascript in the onerror handler.

A partir de aquí nos cuenta cómo pudo utilizar estos fallos para descifrar y enviar el mensaje, pero dejamos la lectura para las personas interesadas.

Lo que pueda fallar, fallará. Y alguien lo descubirá.

OAuth como herramienta para ataques de envío de spam

Rimas populares OAuth es un estándar para delegar el acceso a aplicaciones que es muy útil cuando no queremos compartir una contraseña con un sitio (al menos no todas las veces) pero necesitamos identificarnos y poder realizar acciones. Se utiliza con bastante frecuencia en APIs, pero también en aplicaciones móviles (a través de APIs también, la verdad) para gestionar mejor la autenficación (y la autorización) en diversos servicios. En este caso, este tipo de autorización se ha utilizado simplemente como herramienta de ataque.

En Malicious OAuth applications abuse cloud email services to spread spam nos hablaban de un caso donde aplicaciones maliciosas usaban el estándar para acceder a recursos en la nube y enviar spam.

Microsoft researchers recently investigated an attack where malicious OAuth applications were deployed on compromised cloud tenants and then used to control Exchange Online settings and spread spam.

Este tipo de problemas son relativamente sencillos de evitar con sistemas de autentificación multifactor pero en este caso se atacaba precisamente a los que no lo tenían activdado.

The investigation revealed that the threat actor launched credential stuffing attacks against high-risk accounts that didn’t have multi-factor authentication (MFA) enabled and leveraged the unsecured administrator accounts to gain initial access.

El atacante primero compromete las cuentas de usuarios con suficientes privilegios, lo que le permite crear aplicaciones en el entorno.

For the attack to succeed, the threat actor needed to compromise cloud tenant users with sufficient permissions that would allow the actor to create an application in the cloud environment and give it admin consent

Luego modifica la configuración del servidor de correo y lo utiliza para enviar los mensajes.

Como medios de mitigación se indican:

Reducir el riesgo de ataques de intento de adivinar las credenciales, activando la autentificación multi factor.

The most common initial access vector observed in this attack was account compromise through credential stuffing, and all the compromised administrator accounts did not have MFA enabled. Implementing security practices that strengthen account credentials such as enabling MFA raises the cost of an attack.

Activar las políticas de acceso condicional, basadas en dispositivos, dirección IP, ….

Conditional access policies are evaluated and enforced every time the user attempts to sign in. Organizations can protect themselves from attacks that leverage stolen credentials by enabling policies such as device compliance or trusted IP address requirements.

Activar la evaluación contínua de acceso, que permite revocar automáticamente el acceso cuando se observan determinadas acciones de riesgo.

Continuous access evaluation (CAE) revokes access in real time when changes in user conditions trigger risks, such as when a user is terminated or moves to an untrusted location.

Activar las opciones de seguridad por defecto, que son gratuitas y suficientes para mitigar los riesgos.

sufficient to better protect the organizational identity platform, as they provide preconfigured security settings such as MFA, protection for privileged activities, and others.

Y también habla de las técnicas de detección que hay disponibles.

Reflejos y videoconferencias. ¿Estás mostrando demasiado?

Reflejos en la pasarela Durante la pandemia, una de las cosas que llamó mi atención, sobre todo al principio fue la naturalidad con la que la mayoría mostrábamos nuestros hogares (bueno, una parte) en las múltimples reuniones por videoconferencia. Luego surgieron los fondos que oscurecen u ocultan esa información, pero no todo el mundo sabía/podía usarlos.

Ciertamente, seguro que todos tratábamos de mostrar una parte de nuestras habitaciones que pensábamos que podíamos enseñar sin problemas (¿quién no ha quitado una fotografía de una estantería, o movido algunos libros a otra parte?).

Sin embargo, el medio es nuevo para casi todos y seguro que hemos hecho cosas mal. Pero aunque así no fuera, nos cuentan en Lens reflections may betray your secrets in Zoom video calls que todavía hay preocupaciones que debemos tener: nuestras gafas pueden reflejar el contenido que tenemos delante y podrían mostrar más información de la que nos gustaría.

Los investigadores de la Universidad de Michigan y la de Zheijian, Yan Long, Chen Yan, Shilin Xiao, Shivan Prasad, Wenyuan Xu, y Kevin Fu han publicado un artículo analizando las amenazas que suponen estos reflejos en nuestras videoconferencias.

“Our work explores and characterizes the viable threat models based on optical attacks using multiframe super resolution techniques on sequences of video frames,” the computer scientists explain in their paper.

En un ambiente controlado de laboratorio se puede recomponer bastante información (más de un 75%).

“Our models and experimental results in a controlled lab setting show it is possible to reconstruct and recognize with over 75 percent accuracy on-screen texts that have heights as small as 10 mm with a 720p webcam.”

Pero si lo que se quiere conocer es, por ejemplo, el sitio web que estamos visitando mientras estamos en la reunión, la tasa de aciertos mejora mucho.

When the goal was to identify just the specific website visible on the screen of a video meeting participant from an eyeglass reflection, the success rate rose to 94 percent among the Alexa top 100 websites.

Atención.

Previsualización y ataques

CEDI. The ideal of Verified Software. Parece que nos cuesta aprender: si hay una característica que permite conectarse a internet en algo que no se ha desarrollado cuidadosamente, alguien la aprovechará para atacarnos.

En este caso hablamos de Hackers use PowerPoint files for ‘mouseover’ malware delivery una característica de las que llamaríamos ‘chulas’: cuando pasas el ratón por encima de un enlace en un ‘PowerPoint’ se puede ver una vista previa de la cosa. En este caso se intenta descargar una imagen.

When opening the lure document in presentation mode and the victim hovers the mouse over a hyperlink, a malicious PowerShell script is activated to download a JPEG file (“DSC0002.jpeg”) from a Microsoft OneDrive account.

Pero la imagen resulta ser una DLL cifrada y se arma el lío.

The JPEG is an encrypted DLL file (lmapi2.dll), that is decrypted and dropped in the ‘C:\ProgramData' directory, later executed via rundll32.exe. A registry key for persistence is also created for the DLL.