Se dio a conocer el lanzamiento de OpenBSD 7.5 y en esta nueva versión se han introducido una serie de mejoras significativas que abarcan varias mejoras en el kernel, mejoras en el soporte de hardware y hardware de red, mejoras de Virtual Machine Monitor y más.
Para quiénes desconocen de OpenBSD, deben saber que es un sistema operativo tipo Unix libre y de código abierto centrado en la seguridad que pertenece a la familia de sistemas operativos BSD y que es conocido por sus componentes que se han generalizado en otros sistemas y han demostrado ser una de las soluciones más seguras y de mayor calidad.
¿Qué hay de nuevo en OpenBSD 7.5?
En esta nueva versión que se presenta de OpenBSD 7.5 una de las características destacadas es el soporte añadido al instalador para cifrar la partición root. Con ello, ahora los usuarios puede activar en el modo de instalación automatizada, el cifrado del disco al especificar una contraseña en texto claro o al proporcionar claves en un medio separado.
Otro de los cambios importantes en OpenBSD 7.5, son las mejoras en estabilidad y seguridad en el hipervisor VMM (Virtual Machine Monitor), ya que ahora la emulación del dispositivo vionet ha sido completamente reescrita para admitir subprocesos múltiples y facilitar la transferencia de datos entre el host y el invitado en modo de copia cero, evitando el almacenamiento en búfer intermedio. Además, se han añadido capas adicionales de protección para mitigar las vulnerabilidades asociadas recientemente con la ejecución especulativa de instrucciones y las fugas de datos residuales de los registros.
En OpenBSD 7.5 se ha implementado la llamada pinsyscalls, que permite un control más preciso al restringir las llamadas al sistema solo a ubicaciones específicas en el espacio de direcciones del proceso. Tanto el kernel como ld.so pueden registrar con precisión la ubicación de entrada de cada llamada al sistema utilizada por el programa y libc.so, lo que permite bloquear futuras llamadas al sistema desde ubicaciones no autorizadas.
Además de ello, se implementaron mejoras en el manejo de la memoria y el rendimiento en sistemas ARM64, con la implementación de almacenamiento en caché del contenido de grupos de tablas de páginas de memoria y descriptores PTE. Esto ha acelerado significativamente el trabajo en sistemas multinúcleo basados en ARM64, mejorando la respuesta y el rendimiento general del sistema.
Se han realizado varias mejoras en el filtro de paquetes pf, ya que ahora considera los cambios en la pila de red relacionados con la paralelización de operaciones en sistemas multiprocesador, además de que al ejecutar la utilidad tcpdump con la interfaz de red pflog, se pueden mostrar los paquetes que fueron descartados al activar la regla predeterminada con la acción «bloquear» y se agregó verificación de la corrección de las opciones en los paquetes IPv4 para desviar.
También se ha mejorado el soporte para sistemas multiprocesador SMP, pues ahora los controladores de tiempo de espera en la pila de red, el recuento de paquetes para la interfaz de bucle invertido y el módulo vscsi_filtops se han movido a la categoría mp-safe, lo que mejora la eficiencia y la estabilidad en entornos multiprocesador, además es posible realizar llamadas de sistema de vinculación y conexión en paralelo, así como operaciones con tablas UDP para IPv4 e IPv6 y se ha añadido soporte para el envío simultáneo de paquetes UDP desde diferentes flujos, lo que optimiza el rendimiento en situaciones de carga elevada.
Se ha eliminado la compatibilidad con llamadas indirectas al sistema mediante la función syscall. Esta modificación, combinada con pinsyscalls, permite desactivar el acceso directo a las llamadas del sistema sin utilizar los enlaces proporcionados en libc. Como resultado, los paquetes que realizan llamadas directas a las llamadas al sistema, como Perl y Go, han sido modificados para utilizar exclusivamente funciones proporcionadas por libc, lo que mejora la seguridad y la coherencia en el manejo de llamadas al sistema en el sistema.
De los demás cambios:
- Actualizaciones importantes en herramientas como LibreSSL, OpenSSH, GCC y Perl, entre otras.
- Compatibilidad con IPv6 se ha añadido el soporte IPv6 a la interfaz de red ppp.
- En los sistemas ARM64, se ha ampliado el uso de mecanismos de autenticación de puntero (PAC) y de BTI.
La utilidad netstat ha sido actualizada para mostrar estadísticas detalladas sobre la efectividad del almacenamiento en caché de rutas. - Se agregó el sysctl machdep.retpoline para controlar la habilitación del mecanismo retpoline, que protege contra ataques de Spectre.
- La implementación del marco DRM (Direct Rendering Manager) está ahora sincronizada con el kernel de Linux 6.6.19 (anteriormente 6.1.55).
- Se ha añadido soporte para nuevos equipos, incluyendo controladores asociados a componentes de varios SoC, soporte para controladores Ethernet y transferencia de operaciones de red al lado de las tarjetas de red.
- El subsistema de audio uaudio ahora permite la conexión de múltiples controladores para dispositivos de audio.
- Se han agregado los controladores apldcp y apldrm para controladores de pantalla utilizados en dispositivos Apple. Además, para Apple Powerbook, se ha implementado la capacidad de controlar la luz de fondo del teclado.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.