Nueva imagen y algunas novedades

Herramientas de carpintero Este sitio comenzó gracias al sistema de Páginas de GitHub con Jekyll (Cuarta etapa. Elegirmos en su momento Jekyll-now que nos permitía iniciar la página con comodidad. El proyecto está abandonado desde 2018 (y entonces sólo hubo pequeños cambios), así que había llegado el momento de buscar alternativas.

Hemos sido poco creativos porque descubrimos un proyecto ‘heredero’, Forever Jekyll que nos trae una actualización del tema-plantilla original y que podía darnos menos miedo a la hora de hacer el cambio.

El cambio lo hicimos en la página de GitHub de este sitio: fernand0.github.io. Tal vez haya una forma más ‘civilizada’ de hacerlo, pero esta me funcionó sin mucha dificultad. Recomiendo haber preparado los cambios que vayamos a relizar para que el sitio esté desaparecido el menor tiempo posible:

  1. Eliminamos la página vieja, cambiándole el nombre (en este momento el sitio deja de estar disponible, cuidado).
  2. Hacemos un fork del proyecto que vamos a usar.
  3. Lo descargamos en nuestro sitio: git clone https://github.com/fernand0/fernand0.github.io.git
  4. Actualizamos las personalizaciones que podamos necesitar (mejor tenerlas ya preparadas, porque si no el sitio estará desaparecido mientras realizamos el proceso).
  5. Copiar las entradas que teníamos a _posts.
  6. Hacer commit de los cambios y subirlos (git push).
  7. ¡Ya está!

¿Qué hemos ganado con el cambio?

El aspecto parece un poco más moderno, las categorías vuelven a funcionar (y copiando el código tenemos también etiquetas; en realidad las etiquetas y las categorías se tratan de la misma forma, pero son páginas diferentes). Hay un buscador, que parece que funciona bastante bien buscando las entradas que contienen la palabras que introducimos. También tenemos iconos sociales modernizados (utilizando font awesome), entradas relacionadas para cada una de ellas. Aparecen los botones de compartir (no sé si los dejaremos, mi experiencia es que luego la gente los usamos poco). Son botones con imágenes locales, así que no hacen de espías de nuestra navegación para las distintas redes. Finalmente (hay más cosas, sólo señalo las que me llaman más la atención), un modo oscuro (pulsando el botoncito de abajo a la derecha).

Todavía faltan algunos ajustes y veremos si introducimos algún cambio más, pero ha sido mucho menos ‘doloroso’ de lo que pensábamos.

Condena personal por ocultar datos sobre una brecha de seguridad en Uber

Foso De vez en cuando vemos multas millonarias y la exposición en público de las empresas que no cumplen con sus clientes, pero algo que se da casi por supuesto es que nadie tiene problemas legales de manera personal por la ciberseguridad. Mucho menos por no hablar de los problemas de ciberseguridad de tu empresa. Sin embargo, parece que esto está cambiando y podemos leer en Former Chief Security Officer Of Uber Convicted Of Federal Charges For Covering Up Data Breach Involving Millions Of Uber User Records el caso de un juez federal en EEUU que declaró culpable de obstrucción a la ley a Joseph Sullivan por ocultar una brecha de seguridad que provocó la divulgación de datos de sus clientes.

Sullivan affirmatively worked to hide the data breach from the Federal Trade Commission and took steps to prevent the hackers from being caught. We will not tolerate concealment of important information from the public by corporate executives more interested in protecting their reputation and that of their employers than in protecting users. Where such conduct violates the federal law, it will be prosecuted.”

El caso es que no sólo hubo problemas de seguridad que afectaron a los datos de los clientes, sino que también hubo esfuerzos para ocultar estos problemas a la comisión de comercio, que vela por estos asuntos allá.

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.