Esta semana en seguridad: Retbleed, Post-Quantum, Python-atomicwrites y The Mysterious Cuteboi

Retbleed anunció esta semana otra entrada en la categoría "por qué no podemos tener cosas bonitas", como otra ejecutabilidad especulativa. Esto se suaviza en el hardware para AMD Zen 3 e Intel Generation 9 y posteriores. Para dispositivos anteriores, el rendimiento afectado en la mitigación es bastante doloroso. ¿Qué diferencia exactamente esto de las debilidades anteriores y por qué las mitigaciones anteriores no cubrieron este problema?

Spectre V2 abusa de la predicción de bifurcación indirecta de la CPU para desencadenar la ejecución especulativa de código que no debería ejecutarse en un contexto determinado. Incluso si la CPU finalmente alcanza y revierte la ejecución falsa, todavía hay huellas dactilares en el contenido del caché. La idea es que la lectura de esas huellas digitales filtre datos reales a los que el proceso atacante no debería tener acceso en absoluto. La solución en el kernel de Linux es el "webpole", un nombre inapropiado de "retorno" y "trampolín". Este dispositivo reemplaza a un jmp instrucción con algún arreglo, y finalmente un ret llamar en su lugar. Esto parecía ser una solución económica al problema.

Lo que Retbleed trae a la mesa es un método para envenenar también la ejecución especulativa de estas instrucciones de retorno. Su artículo completo (PDF) describe la técnica, que se reduce a manejar un procesador para usar el búfer de destino de rama (BTB) vulnerable en lugar del búfer de pila de retorno (RSB) más seguro. En los sistemas Intel vulnerables, esto significa llenar el RSB con datos suficientes para extraer el retorno objetivo real del búfer. Cuando se desarrolla la serie de saltos y retornos, el retorno final en realidad usa el BTB cuando el RSB se ha vaciado o sustraído. Los sistemas AMD vulnerables parecen simplemente usar BTB para predecir los rendimientos, lo que hace que la operación sea mucho más fácil allí.

Las máquinas con Windows utilizan una política de mitigación más agresiva, la especulación restringida de rama indirecta (IBRS), que parece estar mitigando por completo este problema en particular, aunque es posible que surjan más en las próximas semanas. En Linux, la mitigación de la polinización de la red finalmente se reemplaza por IBRS de forma predeterminada, lo que lleva al éxito del rendimiento que se mencionó anteriormente.

Si está en una de las CPU afectadas, hay algunos parámetros clave que puede usar para controlar qué atenuaciones se ingresan. retbleed=off utiliza la mitigación de polinización de red existente si corresponde, pero ya no perjudica el rendimiento, a expensas de la vulnerabilidad a este ataque. El valor por defecto, retbleed=auto utilizará todos los atenuadores para hacer que la máquina sea lo más segura posible prácticamente sin desactivar Simultaneous MultiThreading (SMT). Y finalmente retbleed=auto,nosmt en realidad deshabilitará SMT en los pocos modelos que técnicamente lo requieren para atenuaciones completas. Esto no está configurado de forma predeterminada, ya que dificulta aún más el rendimiento de la máquina.

NIST se vuelve poscuántico

Si bien el criptoapocalipsis cuántico aún no se ha realizado, las diversas agencias responsables de los estándares están trabajando para mantenerse a la vanguardia patrocinando investigaciones y luego seleccionando esquemas criptográficos para usar como estándares neogenéricos. En ese sentido, NIST ha publicado una actualización de su Proceso de estandarización de criptografía poscuántica. La buena noticia aquí es que se han elegido varios algoritmos. Hawk, SPHINCS, CRYSTALS-Kyber y CRYSTAL Dilithium. Definitivamente parece haber algunos fanáticos de la ciencia ficción entre los participantes, según los nombres.

CRYSTALS-Kyber es un mecanismo de encapsulación de claves (KEM), un método para compartir una clave privada utilizando solo mensajes enviados públicamente, el Diffie-Hellman. CRISTALES Dilithium y los demás son esquemas de firma, útiles para verificar datos. Esperamos desarrollar estos estándares en los diferentes proyectos y aplicaciones que usamos a diario.

PyPI, 2FA y desarrollador gruñón

Para evitar problemas de seguridad, el repositorio de PyPI ha lanzado una política de seguridad que requiere que los administradores de proyectos críticos utilicen la autenticación de dos factores para sus cuentas e incluso envía claves de dispositivos gratuitas. El criterio de inclusión es estar en el 1% superior de las descargas durante seis meses. Hay una pregunta relevante en las Preguntas frecuentes en la página: "¿Se puede eliminar un proyecto o dejar de ser crítico de alguna manera?" La respuesta oficial dice: "No, una vez que el proyecto se selecciona como crítico, mantiene ese nombre indefinidamente". Al menos un desarrollador ha descubierto una solución, con resultados interesantes.

bueno, simplemente eliminé el paquete atomicwrites, luego cargué una nueva versión. ahora ya no es un proyecto crítico

- Markus Unterwaditzer (@unttaker) 8 de julio de 2022

Lee eso de nuevo. Se eliminó uno de los paquetes más populares en PyPI y se cargó una nueva versión. Cada proyecto y cada dependencia que apuntaba a una versión anclada de atomicwrites rompió su proceso de instalación. Claro, ya no está marcado como un paquete crítico, y el autor no tiene que usar 2FA, pero hasta que los administradores de PyPI intervinieron y solucionaron el problema, muchos desarrolladores de todo el mundo estaban en lo más difícil. El desarrollador principal, [unitaker] desde entonces se ha decidido dejar el paquete en paz, pero desalentarlo.

Háganos saber lo que piensa, ¿PyPI está mal, requiere que los desarrolladores voluntarios usen 2FA, o es la cadena de suministro lo suficientemente importante como para que valga la pena?

lindoboi

Y si quiere saber por qué PyPi está preocupado por la seguridad, ha habido una actividad extraña en NPM, al ritmo de más de mil paquetes maliciosos cargados masivamente en el servicio. Todo está bajo nombres de usuarios aleatorios y parece ser una variante de eazyminer, que es un paquete simple de extracción de dinero para Node.js. El nombre viene de la configuración de ese minero que manda a un pool llamado "hermoso".

Esto parece haber sido un intento de una herramienta automatizada de crear usuarios y cargar paquetes, posiblemente preparándose para una ejecución más maliciosa. O podría ser un compañero investigador que planea publicar un informe sobre cómo automatizar la creación de usuarios. De todos modos, incluso hay un sitio web disponible para rastrear la actividad del robot, acertadamente llamado cuteboi.info. (Lo sé, parece una URL terrible. Prometo que es segura para el trabajo).

Bits y Bits

Hemos estado siguiendo la historia de la corrupción de la memoria OpenSSL AVX512 durante algunas semanas. Finalmente, hay un pin en este problema desde que se lanzó OpenSSL 3.0.5, que contiene la solución. Hasta donde sabemos, no existe una explosión completa de RCE para este error. Entonces, aunque podría ser un problema muy serio si se ve de forma aislada, es casi seguro que tendrá un impacto real que se redondea a cero.

QNAP ha emitido un aviso sobre un nuevo ataque de ransomware contra sus dispositivos NAS, y la acción recomendada se reduce a "No exponer a las PYMES a Internet". El ataque parece ser un ataque de diccionario en servicios expuestos. Hay una actualización disponible para fortalecer el servicio y QNAP recomienda usar una VPN en lugar de exponer los servicios a la red.

Microsoft finalmente está tratando de dejar atrás el pasado y bloquear las macros de forma predeterminada en los documentos de oficina. Office tiene un flujo lógico para determinar si se ejecutan macros, comenzando por si el documento es de confianza explícita, si las macros están firmadas por un editor de confianza, etc. Noticias es el comportamiento predeterminado cuando el flujo cae desde el final del diagrama. En el pasado, no se abría, rodando las macros de forma predeterminada. El nuevo comportamiento falla de forma segura y se niega a ejecutarse. Lo más loco de esto es que han recibido suficiente rechazo como para cancelar este cambio por ahora, por lo que aún puede impulsar los macrovirus. ¡Celebra como 1999, Melissa!

Y si eso no es suficiente para la locura por la seguridad, mire la historia de Aerojet Recketdyne, que contrató [Brian Markus] como "director jefe de ciberseguridad, cumplimiento y controles". Rocketdyne falsificó informes, como informar que tenían cierto equipo de seguridad cuando todavía estaba en el cajón. Todo esto en busca de contratos gubernamentales. [Markus] se negó a firmar un documento declarando que la empresa había cumplido con las reglas adecuadas. Se negó a firmar y, como resultado, fue despedido. Después de muchos años de disputa legal, las partes acordaron, con [Markus] recibiendo más de $ 2.6 millones de la empresa, y el gobierno de los EE. UU. no recibiendo el doble. A veces, aparentemente, vale la pena hacer lo correcto. (Tra Heise.de).

Marco Navarro
Marco Navarro

Deja una respuesta

Tu dirección de correo electrónico no será publicada.