Sortie de OpenBSD 7.4

La version du système d'exploitation UNIX libre OpenBSD 7.4 a été annoncée. Le projet OpenBSD a été fondé par Theo de Raadt en 1995 après un conflit avec les développeurs de NetBSD, qui a entraîné la fermeture de l'accès de Theo au dépôt CVS de NetBSD. Après cela, Theo de Raadt et un groupe de sympathisants ont créé un nouveau système d'exploitation ouvert basé sur l'arborescence des codes sources de NetBSD, dont les principaux objectifs sont la portabilité (soutien de 13 plates-formes matérielles), la normalisation, le bon fonctionnement, la sécurité proactive et les moyens cryptographiques intégrés. La taille de l'image ISO complète de la version de base d'OpenBSD 7.4 est de 630 Mo.

En plus du système d'exploitation lui-même, le projet OpenBSD est connu pour ses composants qui ont été adoptés dans d'autres systèmes et qui se sont avérés être parmi les solutions les plus sûres et de la plus haute qualité. Parmi eux : LibreSSL (un fork d'OpenSSL), OpenSSH, le filtre de paquets PF, les démons de routage OpenBGPD et OpenOSPFD, le serveur NTP OpenNTPD, le serveur de messagerie OpenSMTPD, le multiplexeur de terminal texte (similaire à GNU screen) tmux, le démon identd implémentant le protocole IDENT, une alternative BSDL au paquet GNU groff — mandoc, le protocole pour la mise en place de systèmes tolérants aux pannes CARP (Common Address Redundancy Protocol), un serveur HTTP léger, et l'outil de synchronisation de fichiers OpenRSYNC.

Améliorations principales :

  • Pour les architectures amd64 et i386, des composants pour la mise à jour du microcode des processeurs AMD ont été ajoutés. Les nouvelles versions du microcode sont installées automatiquement au démarrage. Un port pour la distribution des fichiers binaires contenant le microcode a été préparé : "ports/sysutils/firmware/amd". L'installation du nouveau microcode se fait à l'aide de l'outil fw_update. Un support similaire pour la mise à jour du microcode des processeurs Intel a été mis en œuvre en 2018 et a été proposé dans la version OpenBSD 6.3.
  • Des mécanismes de protection IBT (Indirect Branch Tracking, amd64) et BTI (Branch Target Identification, arm64) ont été intégrés au noyau et à l'espace utilisateur, visant à bloquer les violations de l'ordre normal d'exécution (control flow) résultant de l'utilisation d'exploits modifiant les pointeurs de fonction stockés en mémoire (la protection mise en œuvre empêche le code malveillant d'effectuer un saut au milieu d'une fonction).
  • Sur les systèmes à architecture arm64, l'authentification des pointeurs (Pointer Authentication) a été intégrée pour protéger l'espace utilisateur. Cette technologie permet d'utiliser des instructions ARM64 spécialisées pour vérifier les adresses de retour à l'aide de signatures numériques qui sont stockées dans les bits supérieurs inutilisés du pointeur lui-même.
  • Les paramètres du compilateur système clang, ainsi que clang et gcc des ports, ont été modifiés pour appliquer les mécanismes de protection mentionnés ci-dessus, ce qui renforce considérablement la sécurité de toutes les applications de base et de la plupart des applications des ports contre les exploits utilisant des méthodes de programmation orientée retour (ROP - Return-Oriented Programming). Lors de l'utilisation de la technique ROP, l'attaquant ne tente pas de placer son code en mémoire, mais utilise déjà des morceaux d'instructions machine existants dans les bibliothèques chargées qui se terminent par une instruction de retour de contrôle (généralement, il s'agit des terminaisons de fonctions de bibliothèque). Le fonctionnement de l'exploit consiste à construire une chaîne d'appels de ces blocs (appelés « gadgets ») pour obtenir la fonctionnalité souhaitée.
  • Un nouvel appel système kqueue1 a été ajouté, qui diffère de kqueue par le passage de drapeaux. Actuellement, seul le drapeau O_CLOEXEC (close-on-exec) est pris en charge dans kqueue1 pour fermer automatiquement les descripteurs de fichiers dans le processus fils après l'appel de exec().
  • Pour les architectures amd64 et i386, une prise en charge du pseudo-dispositif dt a été mise en œuvre pour organiser le traçage dynamique du système et des applications. Pour insérer des enregistrements utilisateur dans le journal ktrace, un appel système utrace a été ajouté.
  • Des correctifs ont été transférés depuis FreeBSD pour éliminer les comportements indéfinis lors de l'utilisation des systèmes de fichiers MS-DOS.
  • L'option de montage softdep, appliquée pour l'écriture groupée différée des métadonnées, a été désactivée.
  • Les programmes protégés par l'appel système unveil sont autorisés à sauvegarder des dumps core dans le répertoire de travail actuel.
  • Pour l'architecture ARM64, la possibilité de passer à des états d'inactivité profonds (idle) disponibles dans les puces Apple M1/M2 a été activée, pour économiser de l'énergie et réaliser un mode veille.
  • Une protection par contournement contre la vulnérabilité Zenbleed dans les processeurs AMD a été ajoutée.
  • La prise en charge des systèmes multiprocesseurs (SMP) a été améliorée. Les fonctions arprequest(), le code de traitement des paquets ARP entrants et la mise en œuvre de la détection des nœuds voisins dans la pile IPv6 ont été débarrassés des verrous.
  • L'interface de synchronisation des tables de filtrage des paquets pfsync a été réécrite pour améliorer le fonctionnement avec les verrous et la compatibilité avec les travaux futurs de parallélisation de la pile réseau.
  • La mise en œuvre du cadre drm (Direct Rendering Manager) est synchronisée avec le noyau Linux 6.1.55 (la version précédente était 6.1.15). Les performances ont été améliorées sur les systèmes équipés de processeurs Intel basés sur les microarchitectures Alder Lake et Raptor Lake.
  • Des améliorations ont été apportées à l'hyperviseur VMM. Le support d'un modèle multiprocessus pour les périphériques virtio de bloc et réseau a été implémenté dans vmd. Le périphérique virtio de bloc a ajouté le support de l'E/S vectorielle en mode zero-copy. L'accès des systèmes invités aux modes p-state des processeurs AMD est limité. Aux propriétaires machines virtuelles il est permis de redéfinir le noyau de démarrage via vmctl.
  • Un nouveau fichier d'en-tête uchar.h a été ajouté avec les types char32_t et char16_t, ainsi que les fonctions c32rtomb(), mbrtoc32(), c16rtomb() et mbrtoc16(), définies dans la norme C11.
  • L'option «D» a été ajoutée à la fonction malloc pour détecter les fuites de mémoire à l'aide de ktrace («MALLOC_OPTIONS=D ktrace -tu program») et de kdump («kdump -u malloc …»).
  • L'utilitaire make a été amélioré avec le support de la variable ${.VARIABLES} pour afficher les noms de toutes les variables globales définies.
  • L'utilitaire kdump a ajouté l'option «-u» pour sélectionner les points de trace utrace par étiquette spécifiée.
  • L'utilitaire openrsync a ajouté les options «—size-only» et «—ignore-times».
  • Dans cron et crontab, le support des décalages aléatoires a été ajouté lors de l'indication de plages de valeurs avec un pas spécifié, ce qui permet d'éviter les demandes simultanées de ressources depuis différentes machines ayant les mêmes règles dans cron. Par exemple, indiquer «0~59/30» ou «~/30» dans le champ des minutes entraînera l'exécution de la commande deux fois par heure à des intervalles aléatoirement choisis de manière séquentielle.
  • L'utilitaire wsconsctl a ajouté la possibilité de mapper des boutons pour des appuis avec deux ou trois doigts sur le pavé tactile.
  • Le support du nouveau matériel a été ajouté et de nouveaux pilotes intégrés.
  • L'installation sur les systèmes équipés de processeurs armv7 et arm64 a été améliorée.
  • Le support du chargement des fichiers depuis la partition système EFI (EFI System Partition) a été ajouté.
  • L'installateur a amélioré le support des RAID logiciels (softraid). La possibilité de placer la partition racine dans softraid sur des systèmes riscv64 et arm64 a été ajoutée. Softraid a été ajouté dans ramdisk pour l'architecture powerpc64. Le support du cryptage des disques (Guided Disk Encryption) a été mis en œuvre pour arm64.
  • La fonction malloc a ajouté une vérification de tous les blocs dans la liste de libération différée de mémoire pour détecter les situations d'écriture dans une zone mémoire libérée.
  • Pour exécuter la commande d'arrêt, l'ajout d'un utilisateur au groupe «_shutdown» est désormais requis, ce qui permet de diviser les pouvoirs liés à l'arrêt et à la lecture directe à partir des disques.
  • Avec l'appel système unveil, l'outil patch est limité à l'accès uniquement au répertoire actuel, au répertoire des fichiers temporaires, et aux fichiers énumérés dans la ligne de commande.
  • Ajout du sysctl net.inet6.icmp6.nd6_queued pour afficher le nombre de paquets en attente de réponse ND6 (similaire à l'ARP).
  • Lors de la configuration d'une adresse IPv6 sur l'interface réseau, un envoi d'annonce aux routeurs voisins est assuré via l'adresse multicast.
  • Ajout du support initial pour TSO (TCP Segmentation Offload) et LRO (TCP Large Receive Offload) pour le traitement des segments et la fusion de paquets au niveau de la carte réseau.
  • Le chargement à partir du noyau des règles du filtre de paquets pf par l'outil pfctl a été accéléré. Le traitement des actions «keep state» et «nat-to» pour les messages d'erreur retournés via ICMP a été inclus.
  • Le calcul des sommes de contrôle IP, TCP et UDP pour les interfaces loopback a été désactivé.
  • Ajout du support initial VPN IPsec, dépendant de la routage (route-based).
  • Le bgpd a ajouté le support de Flowspec (RFC5575, actuellement seul l'annonce de règles flowspec est supporté). La mise en œuvre de l'ASPA (Autonomous System Provider Authorization) a été mise en conformité avec les spécifications draft-ietf-sidrops-aspa-verification-16 et draft-ietf-sidrops-aspa-profile-16, et a été mise à jour pour utiliser des tables de recherche indépendantes de l'AFI (Address Family Indicator).
  • La performance du rpki-client a été améliorée de 30 à 50 %. Ajout du support pour la compression gzip et deflate.
  • Les paquets LibreSSL et OpenSSH ont été mis à jour. Un aperçu détaillé des améliorations peut être consulté dans les critiques de LibreSSL 3.8.0, OpenSSH 9.4 et OpenSSH 9.5.
  • Le nombre de ports pour l'architecture AMD64 s'élève à 11845 (contre 11764), pour aarch64 à 11508 (contre 11561), et pour i386 à 10603 (contre 10572). Parmi les versions des applications dans les ports :
    • Asterisk 16.30.1, 18.19.0, 20.4.0
    • Audacity 3.3.3
    • CMake 3.27.5
    • Chromium 117.0.5938.149
    • Emacs 29.1
    • FFmpeg 4.4.4
    • GCC 8.4.0 et 11.2.0
    • GHC 9.2.7
    • GNOME 44
    • Go 1.21.1
    • JDK 8u382, 11.0.20 et 17.0.8
    • KDE Applications 23.08.0
    • KDE Frameworks 5.110.0
    • Krita 5.1.5
    • LLVM/Clang 13.0.0 et 16.0.6
    • LibreOffice 7.6.2.1
    • Lua 5.1.5, 5.2.4, 5.3.6 et 5.4.6
    • MariaDB 10.9.6
    • Mono 6.12.0.199
    • Mozilla Firefox 118.0.1 et ESR 115.3.1
    • Mozilla Thunderbird 115.3.1
    • Mutt 2.2.12 et NeoMutt 20230517
    • Node.js 18.18.0
    • OpenLDAP 2.6.6
    • PHP 7.4.33, 8.0.30, 8.1.24 et 8.2.11
    • Postfix 3.7.3
    • PostgreSQL 15.4
    • Python 2.7.18, 3.9.18, 3.10.13 et 3.11.5
    • Qt 5.15.10 et 6.5.2
    • R 4.2.3
    • Ruby 3.0.6, 3.1.4 et 3.2.2
    • Rust 1.72.1
    • SQLite 3.42.0
    • Shotcut 23.07.29
    • Sudo 1.9.14.2
    • Suricata 6.0.12
    • Tcl/Tk 8.5.19 et 8.6.13
    • TeX Live 2022
    • Vim 9.0.1897 et Neovim 0.9.1
    • Xfce 4.18
  • Mise à jour des composants de développeurs tiers compris dans OpenBSD 7.3 :
    • La pile graphique Xenocara basée sur X.Org 7.7 avec xserver 21.1.8 + correctifs, freetype 2.13.0, fontconfig 2.14.2, Mesa 22.3.7, xterm 378, xkeyboard-config 2.20, fonttosfnt 1.2.2.
    • LLVM/Clang 13.0.0 (+ correctifs)
    • GCC 4.2.1 (+ patchs) et 3.3.6 (+ patchs)
    • Perl 5.36.1 (+ correctifs)
    • NSD 4.7.0
    • Unbound 1.18
    • Ncurses 5.7
    • Binutils 2.17 (+ correctifs)
    • Gdb 6.3 (+ patch)
    • Awk 12.9.2023
    • Expat 2.5.0.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster