Vydání OpenBSD 7.4

Bylo představena verze svobodného operačního systému podobného UNIXu OpenBSD 7.4. Projekt OpenBSD byl založen Theo de Raadtem v roce 1995 po konfliktu s vývojáři NetBSD, v jehož důsledku bylo Theo uzavřeno přístup k CVS repozitáři NetBSD. Po tomto incidentu Theo de Raadt s skupinou spoluzakladatelů vytvořil na základě zdrojového stromu NetBSD nový otevřený operační systém, jehož hlavními cíli rozvoje se staly přenositelnost (podporováno 13 hardwarových platforem), standardizace, správná funkčnost, proaktivní bezpečnost a integrované kryptografické nástroje. Velikost celého instalačního ISO obrazu základního systému OpenBSD 7.4 je 630 MB.

Kromě samotného operačního systému je projekt OpenBSD známý svými komponenty, které se rozšířily do dalších systémů a prokázaly se jako jedny z nejbezpečnějších a nejkvalitnějších řešení. Mezi ně patří: LibreSSL (fork OpenSSL), OpenSSH, paketový filtr PF, směrovací démoni OpenBGPD a OpenOSPFD, NTP server OpenNTPD, poštovní server OpenSMTPD, multiplexor textového terminálu (analog GNU screen) tmux, démon identd s implementací protokolu IDENT, BSDL alternativa k balíku GNU groff — mandoc, protokol pro organizaci odolných systémů CARP (Common Address Redundancy Protocol), lehký http server, nástroj pro synchronizaci souborů OpenRSYNC.

Hlavní vylepšení:

  • Pro architektury amd64 a i386 byly přidány komponenty pro aktualizaci mikrokódu k procesorům AMD. Nové verze mikrokódu se instalují automaticky při spuštění. Pro distribuci binárních souborů s mikrokódem byla připravena port «ports/sysutils/firmware/amd». Instalace nového mikrokódu se provádí pomocí standardního nástroje fw_update. Podobná podpora pro aktualizaci mikrokódu pro procesory Intel byla zavedena v roce 2018 a byla nabízena v vydání OpenBSD 6.3.
  • Pro jádro a prostor uživatele byly zahrnuty ochranné mechanismy IBT (Indirect Branch Tracking, amd64) a BTI (Branch Target Identification, arm64), určené k blokování porušování normálního pořadí provádění (control flow) v důsledku použití exploitů, které mění uložené ukazatele na funkce v paměti (implementovaná ochrana neumožňuje škodlivému kódu přejít na střed funkce).
  • Na systémech s architekturou arm64 je pro ochranu prostoru uživatele zahrnuta autentizace ukazatelů (Pointer Authentication). Tato technologie umožňuje využití specializovaných instrukcí ARM64 k ověřování adres návratu pomocí digitálních podpisů, které jsou uloženy v nevyužívaných horních bitech samotného ukazatele.
  • Nastavení systémového kompilátoru clang, stejně jako clang a gcc z portů, byla změněna tak, aby aplikovala výše uvedené ochranné mechanismy, což výrazně posílilo ochranu všech základních aplikací a většiny aplikací z portů před exploity, které využívají metody návratově orientovaného programování (ROP — Return-Oriented Programming). Při použití techniky ROP se útočník snaží neprovádět svůj kód v paměti, ale pracuje s již existujícími v načtených knihovnách úseky strojových instrukcí, které končí instrukcí návratu řízení (obvykle se jedná o konce knihovních funkcí). Účelem exploitu je vybudování řetězce volání těchto bloků („gadgets“) pro získání požadované funkčnosti.
  • Byl přidán nový systémový volání kqueue1, které se liší od kqueue přenosem příznaků. V současnosti je v kqueue1 podporován pouze příznak O_CLOEXEC (close-on-exec) pro automatické uzavření souborových descriptorů v podprocesu po volání exec().
  • Pro architektury amd64 a i386 byla implementována podpora pseudopřístroje dt pro organizaci dynamického trasování systému a aplikací. Pro vložení uživatelských záznamů do logu ktrace byl přidán systémový volání utrace.
  • Z FreeBSD byly přeneseny opravy, které odstraňují nedefinované chování při používání souborových systémů MS-DOS.
  • Byla zakázána volba montování softdep, používaná pro odložené seskupené zápisy metadat.
  • Programům chráněným pomocí systémového volání unveil bylo povoleno ukládání core dumpů do aktuálního pracovního adresáře.
  • Pro architekturu ARM64 byla aktivována možnost přechodu do hlubokých stavů neaktivity (idle), dostupných v čipech Apple M1/M2, pro úsporu energie a realizaci spánkového režimu.
  • Byla přidána obraná ochrana proti zranitelnosti Zenbleed v procesorech AMD.
  • Vylepšená podpora pro víceprocesorové systémy (SMP). Byly odstraněny zámky funkce arprequest(), kód zpracování příchozích ARP paketů a implementace určování sousedních uzlů v IPv6 zásobníku.
  • Rozhraní pro synchronizaci tabulek filtrů paketů pfsync bylo přepracováno pro zlepšení práce se zámky a kompatibility s budoucím paralelním zpracováním síťového zásobníku.
  • Implementace frameworku drm (Direct Rendering Manager) byla synchronizována s jádrem Linux 6.1.55 (v předchozí verzi - 6.1.15). Zlepšena činnost na systémech s procesory Intel založenými na mikroarchitekturách Alder Lake a Raptor Lake.
  • Byla provedena zlepšení v hypervizoru VMM. V vmd byla implementována podpora víceprocesorového modelu pro bloková a síťová virtio zařízení. Do blokového virtio zařízení byla přidána podpora vektorového vstupu/výstupu v režimu zero-copy. Přístup hostitelských systémů do režimů p-state procesorů AMD je omezen. Vlastníkům virtuálních strojů je dovoleno přes vmctl přepsat zaváděné jádro.
  • Byl přidán nový záhlavíδήποτε файл uchar.h s typy char32_t a char16_t a funkcemi c32rtomb(), mbrtoc32(), c16rtomb() a mbrtoc16(), definovanými ve standardu C11.
  • Do funkce malloc byla přidána volba 'D' pro identifikaci úniků paměti pomocí ktrace ('MALLOC_OPTIONS=D ktrace -tu program') a kdump ('kdump -u malloc ...').
  • Do utility make byla přidána podpora proměnné ${.VARIABLES} pro zobrazení jmen všech nastavených globálních proměnných.
  • Do utility kdump byla přidána volba '-u' pro výběr bodů sledování utrace podle zadání značky.
  • Do utility openrsync byly přidány volby '—size-only' a '—ignore-times'.
  • Do cron a crontab byla přidána podpora pro náhodná zpoždění při zadávání rozsahů hodnot se stanovenou krokováním, což umožňuje vyhnout se současnému požadavku na zdroje z různých strojů s totožnými pravidly v cron. Například zadání '0~59/30' nebo '~ /30' v poli pro minuty povede k vykonání příkazu dvakrát za hodinu prostřednictvím sekvenčně náhodně vybraných intervalů.
  • Do utility wsconsctl byla přidána možnost mapování tlačítek pro stisknutí dvěma nebo třemi prsty na touchpadu.
  • Byla přidána podpora nového hardwaru a zahrnuty nové ovladače.
  • Byla vylepšena instalace na systémech s procesory armv7 a arm64.
  • Byla přidána podpora pro načítání souborů z systémové části EFI (EFI System Partition).
  • V instalátoru byla vylepšena podpora softwarového RAID (softraid). Byla přidána možnost umístění kořenového oddílu do softraidu na systémech riscv64 a arm64. Softraid byl přidán do ramdisku pro architekturu powerpc64. Pro arm64 byla implementována podpora šifrování disků (Guided Disk Encryption).
  • Do funkce malloc byla přidána kontrola všech bloků v seznamu odloženého uvolnění paměti pro zjištění případů zápisu do uvolněné oblasti paměti.
  • Pro provádění příkazu shutdown je nyní vyžadováno zařazení uživatele do skupiny „_shutdown“, což umožňuje rozdělení pravomocí týkajících se ukončení práce a přímého čtení z diskových zařízení.
  • Pomocí systémového volání unveil byla utilita patch omezená přístupem pouze na aktuální adresář, adresář se dočasnými soubory a soubory uvedené v příkazovém řádku.
  • Byl přidán sysctl net.inet6.icmp6.nd6_queued pro zobrazení počtu paketů čekajících na odpověď ND6 (podobně jako ARP).
  • Při nastavení adresy IPv6 na síťovém rozhraní je zajištěno odesílání oznámení sousedním směrovačům na multicastovou adresu.
  • Byla přidána základní podpora TSO (TCP Segmentation Offload) a LRO (TCP Large Receive Offload) pro zpracování segmentů a slučování paketů na straně síťové karty.
  • Bylo urychleno načítání z jádra pravidel paketového filtru pf utilitou pfctl. Byla zahrnuta zpracování akcí „keep state“ a „nat-to“ pro vrácené ICMP chybové zprávy.
  • Bylo vypnuto výpočty kontrolních součtů IP, TCP a UDP pro loopbackové rozhraní.
  • Byla přidána základní podpora VPN IPsec, závislých na směrování (route-based).
  • Do bgpd byla přidána podpora Flowspec (RFC5575, dosud je podporováno pouze oznamování pravidel flowspec). Implementace ASPA (Autonomous System Provider Authorization) byla přivedena do souladu se specifikacemi draft-ietf-sidrops-aspa-verification-16 a draft-ietf-sidrops-aspa-profile-16 a byla převedena na používání vyhledávacích tabulek, které nejsou závislé na AFI (Address Family Indicator).
  • Výkon rpki-client byl zvýšen o 30-50%. Byla přidána podpora komprese gzip a deflate.
  • Byly aktualizovány balíčky LibreSSL a OpenSSH. Podrobné informace o vylepšeních najdete v přehledech LibreSSL 3.8.0, OpenSSH 9.4 a OpenSSH 9.5.
  • Počet portů pro architekturu AMD64 dosáhl 11845 (bylo 11764), pro aarch64 — 11508 (bylo 11561), pro i386 — 10603 (bylo 10572). Mezi verzemi aplikací v portech:
    • Asterisk 16.30.1, 18.19.0b, 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 a 11.2.0
    • GHC 9.2.7
    • GNOME 44
    • Go 1.21.1
    • JDK 8u382, 11.0.20 a 17.0.8
    • KDE Applications 23.08.0
    • KDE Frameworks 5.110.0
    • Krita 5.1.5
    • LLVM/Clang 13.0.0 a 16.0.6
    • LibreOffice 7.6.2.1
    • Lua 5.1.5, 5.2.4, 5.3.6 a 5.4.6
    • MariaDB 10.9.6
    • Mono 6.12.0.199
    • Mozilla Firefox 118.0.1 a ESR 115.3.1
    • Mozilla Thunderbird 115.3.1
    • Mutt 2.2.12 a NeoMutt 20230517
    • Node.js 18.18.0
    • OpenLDAP 2.6.6
    • PHP 7.4.33, 8.0.30, 8.1.24 a 8.2.11
    • Postfix 3.7.3
    • PostgreSQL 15.4
    • Python 2.7.18, 3.9.18, 3.10.13 a 3.11.5
    • Qt 5.15.10 a 6.5.2
    • R 4.2.3
    • Ruby 3.0.6, 3.1.4 a 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 a 8.6.13
    • TeX Live 2022
    • Vim 9.0.1897 a Neovim 0.9.1
    • Xfce 4.18
  • Aktualizovány komponenty od třetích stran obsažené v OpenBSD 7.3:
    • Grafický stack Xenocara založený na X.Org 7.7 s xserver 21.1.8 + opravy, 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 (+ opravy)
    • GCC 4.2.1 (+ patche) a 3.3.6 (+ patche)
    • Perl 5.36.1 (+ opravy)
    • NSD 4.7.0
    • Unbound 1.18
    • Ncurses 5.7
    • Binutils 2.17 (+ patche)
    • Gdb 6.3 (+ patche)
    • Awk 12.9.2023
    • Expat 2.5.0.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster