Mientras que Google eliminara la compatibilidad con el manifiesto de Chrome v2 y v3, Firefox planea mantenerla

firefox Manifest V3

firefox Manifest V3

Hace poco los desarrolladores de Mozilla que están a cargo de Firefox, dieron a conocer sus planes relacionados con el soporte de las versiones 2 y 3 del manifiesto de Chrome en Firefox. Y es que, aunque Google tiene la intención de dejar de admitir complementos que utilicen la segunda versión del manifiesto en las versiones de prueba de Chrome 127  Mozilla ha decidido no dejar de admitir la segunda versión del manifiesto en el futuro previsible.

Además de ello Mozilla asegura que mantendrá la capacidad de lanzar complementos que utilicen funciones no disponibles en la tercera versión del manifiesto. La decisión de no hacer que Firefox sea totalmente compatible con la versión 3 del manifiesto de Chrome sigue vigente. Firefox conservará la API webRequest completa, la cual cambiará al modo de solo lectura en Chrome.

Además, Firefox utilizará el mecanismo de páginas de eventos para conservar el soporte para ejecutar scripts en segundo plano basados en el DOM. Mientras que la tercera versión del manifiesto requiere el uso de Service Workers, los scripts en segundo plano basados en Service Workers aún no son compatibles con Firefox. Sin embargo, los desarrolladores tendrán la oportunidad de definir tanto un controlador basado en páginas de eventos como scripts basados en Service Workers en el complemento, lo que les permitirá crear complementos que cumplan con la tercera versión del manifiesto y funcionen en Chrome y Firefox.

El manifiesto de Chrome define las capacidades y recursos disponibles para las extensiones escritas utilizando la API WebExtensions. Desde la versión 57, Firefox pasó por completo a utilizar la API WebExtensions para desarrollar complementos, abandonando la tecnología XUL.

Esta transición permitió unificar el desarrollo de complementos con otras plataformas como Chrome, Opera, Safari y Edge, simplificó la transferencia de complementos entre diferentes navegadores web y habilitó completamente el modo multiproceso de operación. Firefox proporciona compatibilidad casi total con la segunda versión del manifiesto de Chrome para unificar el desarrollo de complementos con otros navegadores.

Como parte de una iniciativa para facilitar la creación de complementos seguros y de alto rendimiento, y dificultar la creación de complementos lentos e inseguros, Google ha desarrollado la versión tres del manifiesto. Sin embargo, ha habido descontento principalmente debido a la traducción al modo de solo lectura de la API webRequest en la tercera versión del manifiesto.

La principal preocupación con la tercera versión del manifiesto radica en la traducción de la API webRequest al modo de solo lectura, lo que ha generado cierto descontento entre los desarrolladores. Esta API permitía conectar controladores propios que tenían acceso completo a las solicitudes de red y podían modificar el tráfico de manera dinámica. En lugar de la API webRequest, la tercera versión del manifiesto agregó la API declarativaNetRequest, que tiene capacidades más limitadas y proporciona acceso al motor de filtrado integrado sin permitir el uso de algoritmos de filtrado propios.

A pesar de estas diferencias y desafíos, Firefox ha implementado características importantes al adoptar la tercera versión del manifiesto de Chrome:

  • Una nueva API de filtrado de contenido declarativo en la cual se ha mantenido la compatibilidad con el antiguo modo de bloqueo de la API webRequest.
  • Implementación del mecanismo de Páginas de eventos: Este mecanismo elimina las limitaciones asociadas con el uso de Service Workers y permite que las adiciones de páginas de fondo cumplan con los requisitos de la tercera versión del manifiesto.
  • Firefox ha introducido un nuevo modelo de permisos que requiere la aprobación del usuario para cada sitio en el que el complemento desea funcionar.
  • Se ha agregado un botón «Extensiones unificadas» para controlar directamente el acceso de cada complemento a los sitios.
  • Cambio en el procesamiento de solicitudes de origen cruzado: Se aplican las mismas restricciones de permisos a los scripts de procesamiento de contenido que a la página principal en la que están integrados.
  • Firefox ha implementado restricciones para evitar la ejecución de código descargado de fuentes externas, aumentando así la seguridad de los complementos.

Finalmene si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/LBU1Cf2
via IFTTT

GhostRace: un ataque de ejecución especulativa que afecta a procesadores Intel, AMD, ARM e IBM

GhostRace

Vulnerabilidad GhostRace

Se dio a conocer hace poco, información sobre un nuevo ataque de ejecución especulativa, bautizado como GhostRace (catalogado bajo CVE-2024-2193), este es un nuevo método desarrollado por investigadores de la Vrije Universiteit Amsterdam e IBM para explotar el mecanismo de ejecución especulativa presente en procesadores modernos de Intel, AMD, ARM e IBM.

Los investigadores mencionan que, GhostRace se enfoca en manipular condiciones de carrera especulativas para acceder a áreas de memoria previamente liberadas, lo que puede llevar a la extracción de datos sensibles del kernel de Linux, especialmente en entornos de virtualización donde un atacante en un sistema invitado puede comprometer la seguridad del sistema anfitrión o de otros sistemas invitados.

El funcionamiento del ataque se basa en la ejecución especulativa de instrucciones condicionales con primitivas de sincronización de subprocesos, como mutex y spinlock. Si el procesador predice incorrectamente ramas en el código que manejan estas operaciones, se pueden realizar accesos especulativos a la memoria que ya ha sido liberada. Aunque el procesador descarta estos accesos después de detectar la predicción errónea, los rastros de ejecución permanecen en la memoria caché y pueden ser recuperados mediante técnicas de análisis de canal lateral.

GhostRace requiere la presencia de ciertas secuencias de instrucciones en el kernel, conocidas como gadgets, que son utilizadas para la ejecución especulativa dependiendo de condiciones externas controladas por el atacante. Estos gadgets se forman a partir de secciones de código donde se verifica el estado en un bucle sin fin y se sale del bucle después de eliminar el bloqueo de acceso al recurso. Esto permite activar falsamente una transición y ejecutar instrucciones protegidas por un bloqueo, a pesar de que el recurso permanece bloqueado.

Durante el análisis de la vulnerabilidad, que se realizó en el código del kernel de Linux 5.15.83, se reveló la presencia de 1283 dispositivos que podrían conducir a un acceso especulativo a la memoria ya liberada. Este tipo de ataque representa un riesgo potencial para sistemas de virtualización, cualquier kernel del sistema operativo y programas que utilicen primitivas de sincronización de subprocesos verificadas mediante declaraciones condicionales y se ejecuten en plataformas que permitan la ejecución especulativa de operaciones de ramificación, como x86, ARM, RISC-V, entre otros.

Para probar la vulnerabilidad, los investigadores desarrollaron un prototipo de exploit que demuestra la efectividad del ataque al permitir la extracción de datos de la memoria del kernel de Linux con un rendimiento de 12 KB por segundo y un nivel de confiabilidad similar a los ataques de la clase Spectre. Es importante destacar que este tipo de ataques enfocados en la ejecución especulativa representan un desafío significativo para la seguridad de los sistemas informáticos modernos y requieren medidas de mitigación adecuadas por parte de los fabricantes de hardware y software.

Los desarrolladores del kernel de Linux y las empresas de fabricación de CPU fueron informados sobre este problema a finales de 2023. AMD ya ha publicado un informe sobre la vulnerabilidad y recomienda el uso de técnicas estándar para protegerse contra ataques similares a Spectre v1. Por otro lado, Intel y ARM aún no han respondido a esta notificación.

Aunque los desarrolladores del kernel de Linux no tienen planes inmediatos de implementar la serialización de primitivas de sincronización debido a la pérdida de rendimiento, ya han incorporado restricciones para protegerse contra la técnica de explotación IPI Storming (CVE-2024-26602). Esta técnica de ataque implica interrumpir un proceso en el momento adecuado para proporcionar una ventana de tiempo para el acceso especulativo a la memoria liberada.

Para mitigar este tipo de ataque, se propone utilizar la serialización de primitivas de sincronización mediante la inclusión de una instrucción LFENCE después de la instrucción cmpxchq que verifica el estado de bloqueo. Sin embargo, esta medida de protección conlleva una penalización de rendimiento de aproximadamente el 5 % en el punto de referencia LMBench, debido a que la instrucción LFENCE deshabilita la ejecución preventiva de instrucciones posteriores antes de confirmar todas las operaciones anteriores.

En el caso del hipervisor Xen, los desarrolladores han preparado cambios para implementar el mecanismo de bloqueo protegido LOCK_HARDEN, similar al método BRANCH_HARDEN utilizado anteriormente. Sin embargo, debido a posibles impactos negativos en el rendimiento y la falta de evidencia de ataques en Xen, el modo LOCK_HARDEN está deshabilitado de forma predeterminada.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/jPebRpv
via IFTTT

Mozilla elimina su servicio de localización MLS

MLS

El servicio de localización de mozilla es un servicio abierto y crowdsourced de geolocalización

Mozilla sigue en decadencia y desde la última década, a pesar de aportar ideas y proyectos, Mozilla se ha visto en la incapacidad financiera de poder mantener cada uno de los proyectos que ha lanzado al mercado.

Y aunque la empresa se podría escudar hoy en día con el tema de la pandemia de Covid-19, lo cierto es que la decadencia de Mozilla fue firmada desde que Google Chrome llego a arrebatarle el mercado de usuarios y con ello las ganancias que tenía el navegador se fueron en picada.

Con ello, una gran cantidad de servicios y proyectos de Mozilla han pasado a la historia o han pasado a manos de la comunidad para continuar con el desarrollo de estos proyectos que en su momento prometieron mucho. A pesar de que incluso Mozilla ha tenido que reducir su plantilla de empleados en diversas ocasiones, los fondos para mantener sus proyectos simplemente no son suficientes o eso es lo que al menos nos dice en esta ocasión Mozilla.

En esta ocasión Mozilla dio a conocer la mala noticia de que ha tomado la decisión de dejar de apoyar el servicio de «Mozilla Location Service» (MLS), un proyecto desarrollado por Mozilla desde 2013 para proporcionar un servicio público de determinación de ubicación geográfica basado en información de puntos de acceso Wi-Fi, estaciones base de operadores móviles y direcciones IP emitidas al suscriptor. Sin embargo, el proyecto ha sido cerrado debido a varios factores.

Desde 2019, MLS enfrentó limitaciones debido a acusaciones de infracción de patentes y un acuerdo extrajudicial que estableció restricciones en el número de llamadas API por día para proyectos comerciales. Esto llevó a la disminución de la precisión y a la pérdida de atractivo para Mozilla, especialmente después de que algunos proyectos se negaran a utilizar MLS debido a las restricciones.

La precisión del Servicio de localización de Mozilla (MLS) ha disminuido constantemente. Sin planes de reiniciar el programa Stumbler o aumentar las inversiones en MLS, hemos tomado la decisión de retirar el servicio.

La falta de inversión adicional y la tendencia a la baja en la precisión de la ubicación, junto con la falta de interés en reactivar programas como MozStumbler, han sido citadas como razones para el cierre del proyecto. MozStumbler, que era parte del antiguo Firefox para Android, también dejó de desarrollarse, lo que contribuyó a la disminución de nuevos datos para la base de datos de MLS.

Aunque existen alternativas como TowerCollector y bases de datos abiertas como OpenCellID, la relevancia de la información de ubicación vinculada a MLS ha disminuido significativamente, llevando al cierre del proyecto por parte de Mozilla.

Sobre el caso, también Mozilla compartió un cronograma que implementa el retiro en etapas. El plan de eliminación del servicio se llevará en 5 etapas

  1. A partir del 13 de marzo: Se detiene la emisión de nuevas claves de acceso API.
  2. El 27 de marzo: Se detiene la aceptación de solicitudes de datos POST a través de la API, y también se detiene la publicación de nuevos volcados de bases de datos para exportar a otros sistemas.
  3. El 10 de abril: Todos los volcados de bases de datos publicados anteriormente se eliminan y ya no están disponibles para su descarga.
  4. El 12 de junio: Se eliminan todas las claves de acceso a la API, excepto las claves utilizadas en proyectos de Mozilla.
  5. El 31 de julio: El repositorio con el código de la plataforma se transferirá a GitHub en modo archivo. El código fuente de la plataforma Mozilla Ichnaea subyacente a MLS seguirá estando disponible bajo la licencia Apache 2.0 para aquellos que deseen reactivar el servicio y mantenerlo internamente.

Finalmente, cabe mencionar que no todo está perdido, ya que Mozilla menciona que el código fuente de la aplicación MLS, Mozilla Ichnaea, seguirá estando disponible bajo la licencia Apache 2.0 y se espera que alguien o alguna comunidad tome cartas en el asunto y continúe con el proyecto.

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/9le03aA
via IFTTT

Void Linux, actualiza sus compilaciones y añade soporte a la Raspberry Pi 5

Void Linux

Logo de Void Linux

Si estás en busca de una distro que sea independiente y que no sea de esas que tienen su base en otras distros y que además que ofrezca un modelo Rolling Release, Void Linux es la solución ideal para ti.

Y es que Void Linux es una de esas distribuciones de Linux que pasan desapercibidas por muchos y que para quienes no la han probado, no saben de lo que se están perdiendo, ya que a diferencia de muchas de las distribuciones populares, Void Linux es una distro qué fue construida desde cero, está centrada para usuarios avanzados y que ofrece una gran cantidad de características.

Void Linux utiliza el administrador del sistema runit para inicializar y administrar servicios, lo cual es una característica distintiva de la distribución. Además, cuenta con su propio administrador de paquetes llamado xbps y sistema de compilación de paquetes llamado xbps-src.

El administrador de paquetes xbps permite instalar, desinstalar y actualizar aplicaciones, gestionar dependencias, y detectar incompatibilidades de bibliotecas compartidas. Es importante destacar que es posible utilizar Musl como biblioteca estándar en lugar de Glibc en los sistemas desarrollados por Void.

Void Linux añade soporte a la Raspberry Pi 5

Como se mencionó al inicio Void Linux es una distribucion basada en el modelo Rolling Release, pero es importante tomar en cuenta que al igual que otras distros basadas en el mismo modelo, suelen ofrecer imágenes del sistema actualizadas, esto con la finalidad de evitar que los usuarios tengan que descargar una gran cantidad de GB en actualizaciones, que desde un inicio se pueden ofrecer.

 La razón de mencionar esto es que hace poco los desarrolladores de Void Linux actualizaron las imágenes del sistema y en estas nuevas actualizaciones ofrecidas se han implementado unos cambios bastante interesantes. Los cambios en las nuevas construcciones de la distribución Void Linux incluyen:

  • Actualización de las versiones del paquete para mantenerlos actualizados y mejorar la estabilidad y seguridad del sistema.
  • En las compilaciones con el entorno de usuario Xfce, se ha añadido un widget en la pantalla de inicio de sesión que permite seleccionar la distribución del teclado. Esta funcionalidad permite a los usuarios seleccionar su distribución de teclado preferida en la pantalla de inicio de sesión.
  • En las compilaciones Live, se ha habilitado un proceso en segundo plano para sincronizar automáticamente la hora exacta del sistema. Este proceso se basa en el servidor NTP Chrony y garantiza una hora precisa en el sistema.
  • Para las placas Raspberry Pi que admiten el arranque desde unidades USB, se ha agregado la opción de instalar el sistema en unidades distintas a las tarjetas SD.  La mejora mencionada se aplica a los modelos de Raspberry Pi que admiten el arranque desde almacenamiento USB o NVMe.
  • En las compilaciones para placas Raspberry Pi, se ha aumentado el tamaño predeterminado de la partición /boot de 64 a 256 MB. Esto puede mejorar la compatibilidad y la capacidad de almacenamiento para el sistema en estas placas.
  • Se ha añadido soporte para la placa Raspberry Pi 5 a las compilaciones rpi-aarch64*. Después de la instalación, se recomienda instalar el paquete rpi5-kernel, que incluye una versión del kernel de Linux optimizada específicamente para las placas Raspberry Pi 5, mejorando así el rendimiento y la compatibilidad con este modelo específico.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Descargar y obtener Void Linux

Para los interesados en poder instalar o probar Void Linux, deben saber que las imagenes se encuentran disponibles en versiones basadas en las bibliotecas del sistema Glibc y Musl y con base en ello se han preparado imágenes en vivo con el escritorio Xfce y una consola básica para plataformas como x86_64, i686, armv6l, armv7l y aarch64.  Para el caso de las ediciones ARM de Void Linux, estas admiten placas como BeagleBone/BeagleBone Black, Cubieboard 2, Odroid U2/U3 y Raspberry Pi.

Puedes obtener las imágenes, asi como también consultar la documentación de instalación desde el siguiente enlace.

from Linux Adictos https://ift.tt/ZWIwzF5
via IFTTT

OpenSSH 9.7 ya fue liberado y estas son sus novedades

openssh

OpenSSH es un conjunto de aplicaciones que permiten realizar comunicaciones cifradas a través de una red, usando el protocolo SSH

Se dio a conocer el lanzamiento de la nueva versión de OpenSSH 9.7, versión en la cual se destaca por iniciar con la implementación de cambios para anticipar la futura obsolescencia de las claves basadas en DSA, asi como también la implementación de algunas nuevas características, correcciones de errores y más.

Para quienes desconocen de OpenSSH, deben saber que esta es una implementación gratuita y de código abierto del protocolo SSH (Secure Shell) que proporciona funcionalidades tanto de cliente como de servidor para comunicaciones seguras a través de una red. El protocolo SSH se utiliza principalmente para acceder de forma remota a sistemas y para transferir archivos de forma segura entre sistemas, especialmente en entornos de red donde la seguridad es una preocupación primordial.

¿Qué hay de nuevo en OpenSSH 9.7?

Una de las características principales de esta nueva versión de OpenSSH 9.7 y como se mencionó al inicio, es el adelanto al plan de desuso futuro del algoritmo de firma DSA y aunque OpenSSH 9.7 conserva la compilación predeterminada con soporte DSA por ahora, proporciona una opción para deshabilitar DSA en tiempo de compilación.

Es importante destacar que, por defecto, el uso de claves DSA se suspendió en 2015, pero el código para admitir DSA se mantuvo predeterminadamente y permitió la activación de DSA a través de la configuración. En la próxima versión, programada para junio, el modo de compilación cambiará para deshabilitar DSA de forma predeterminada, y OpenSSH tiene previsto eliminar el soporte para DSA a principios de 2025

Esta decisión se debe a que el algoritmo DSA fue necesario para la implementación en el protocolo SSHv2 debido a las restricciones de patentes en el momento de su creación y aprobación. Sin embargo, con el paso del tiempo, las patentes asociadas con RSA han expirado, y se han introducido algoritmos como ECDSA, que ofrece mejor rendimiento y seguridad que DSA, y EdDSA, que es aún más seguro y rápido que ECDSA. Estos avances tecnológicos han llevado a la decisión de anticipar la obsolescencia de DSA en OpenSSH.

Además de los cambios relacionados con DSA, OpenSSH 9.7 presenta varias mejoras y características adicionales y una de estas mejoras es la introducción de un nuevo tipo de tiempo de espera en ssh y sshd, que se activa al especificar el valor «global» en la directiva ChannelTimeout. Este tipo de tiempo de espera monitorea todos los canales abiertos y cerrará todos los canales abiertos si no hay tráfico en ninguno de ellos durante el intervalo especificado. Esta función es útil en situaciones donde se tienen múltiples canales abiertos, como sesiones y reenvío y se desea cerrarlos si permanecen inactivos durante un período prolongado.

Por otra parte, OpenSSH 9.7 también incluye varias correcciones de errores para mejorar la estabilidad y el rendimiento. Estas correcciones abarcan áreas como el análisis de configuración, el manejo de señales y la mejora de las pruebas de interoperabilidad contra otras implementaciones de SSH.

De los demás cambios que se destacan de esta nuevá versión de OpenSSH 9.7

  • OpenSSH incluye una mejora significativa en las pruebas de compatibilidad con el proyecto PuTTY.
  • En términos de portabilidad, se han realizado mejoras en la detección de cadena de herramientas rota y se ha mejorado el mensaje de error en ciertas situaciones, lo que contribuye a una experiencia de usuario más fluida y eficiente.

Finalmente si estás interesado en conocer más al respecto sobre esta nueva versión, puedes consultar los detalles dirigiéndote al siguiente enlace.

¿Como instalar OpenSSH 9.7 en Linux?

Para quienes estén interesados en poder instalar esta nueva versión de OpenSSH en sus sistemas, de momento podrán hacerlo descargando el código fuente de este y realizando la compilación en sus equipos.

Esto es debido a que la nueva versión aún no se ha incluido dentro de los repositorios de las principales distribuciones de Linux. Para obtener el código fuente, puedes hacer desde el siguiente enlace.

Hecha la descarga, ahora vamos a descomprimir el paquete con el siguiente comando:

tar -xvf openssh-9.7.tar.gz

Entramos al directorio creado:

cd openssh-9.7

Y podremos realizar la compilación con los siguientes comandos:

./configure --prefix=/opt --sysconfdir=/etc/ssh
make
make install

from Linux Adictos https://ift.tt/cZadhLz
via IFTTT