En version av det fria UNIX-liknande operativsystemet OpenBSD 7.4 har presenterats. OpenBSD-projektet grundades av Theo de Raadt 1995 efter en konflikt med utvecklarna av NetBSD, vilket ledde till att Theo förlorade Ätkomst till CVS-repot för NetBSD. Efter detta skapade Theo de Raadt tillsammans med en grupp likasinnade ett nytt öppet operativsystem baserat pÄ kÀllkoden frÄn NetBSD, vars frÀmsta utvecklingsmÄl blev portabilitet (stöd för 13 hÄrdvaruplattformar), standardisering, korrekt funktion, proaktiv sÀkerhet och integrerad kryptografi. Den fullstÀndiga installations-ISO-avbildningen av den grundlÀggande OpenBSD 7.4-systemet Àr 630 MB.
Förutom sjĂ€lva operativsystemet Ă€r projektet OpenBSD kĂ€nt för sina komponenter, som har spridit sig till andra system och visat sig vara en av de mest sĂ€kra och kvalitativa lösningarna. Bland dessa finns: LibreSSL (en fork av OpenSSL), OpenSSH, paketfiltren PF, routingdemoner OpenBGPD och OpenOSPFD, NTP-servern OpenNTPD, postservern OpenSMTPD, terminalmultiplexern (motsvarigheten till GNU screen) tmux, identd-demonen med implementation av IDENT-protokollet, BSDL-alternativet till GNU groff â mandoc, protokollet för att skapa redundanta system CARP (Common Address Redundancy Protocol), en lĂ€ttvikts http-server, och filsynkroniseringsverktyget OpenRSYNC.
Huvudsakliga förbÀttringar:
- För arkitekturerna amd64 och i386 har komponenter för uppdatering av mikrokod till AMD-processorer lagts till. Nya versioner av mikrokoden installeras automatiskt vid uppstart. För distribution av binÀra filer med mikrokod har porten "ports/sysutils/firmware/amd" förberetts. Installation av ny mikrokod utförs med hjÀlp av det inbyggda verktyget fw_update. Liknande stöd för uppdatering av mikrokod för Intel-processorer infördes 2018 och erbjöds i versionen OpenBSD 6.3.
- Skyddsmekanismer för IBT (Indirect Branch Tracking, amd64) och BTI (Branch Target Identification, arm64) har inkluderats i kÀrnan och anvÀndarutrymmet. Dessa mekanismer Àr avsedda att blockera pÄstÄnd av normal exekveringsordning (control flow) till följd av exploater som Àndrar minneslagrade funktionpekare (det implementerade skyddet förhindrar att skadlig kod kan hoppa till mitten av en funktion).
- PÄ system med arm64-arkitektur har pekarauthentisering (Pointer Authentication) lagts till för att skydda anvÀndarutrymmet. Tekniken möjliggör anvÀndning av specialiserade ARM64-instruktioner för att verifiera returadresser med hjÀlp av digitala signaturer som lagras i de oanvÀnda översta bitarna av sjÀlva pekaren.
- InstĂ€llningar för systemkompilatorn clang samt clang och gcc frĂ„n portar har Ă€ndrats för att tillĂ€mpa de angivna skyddsmekanismerna, vilket avsevĂ€rt har ökat skyddet för alla grundlĂ€ggande program och majoriteten av program frĂ„n portar mot exploatering som anvĂ€nder tekniker för Ă„tervĂ€ndande-orienterad programmering (ROP â Return-Oriented Programming). Vid anvĂ€ndning av ROP-teknik försöker inte angriparen att placera sin kod i minnet utan arbetar med redan existerande bitar av maskininstruktioner i de inlĂ€sta biblioteken, som avslutas av instruktionen för kontrollĂ„terlĂ€mning (vanligtvis slut pĂ„ bibliotekets funktioner). Exploitens arbete reduceras till att bygga en kedja av anrop av sĂ„dana block ("gadgets") för att fĂ„ önskad funktionalitet.
- En ny systemanrop kqueue1 har lagts till, vilket skiljer sig frÄn kqueue genom att överföra flaggor. För nÀrvarande stöder kqueue1 endast flaggan O_CLOEXEC (close-on-exec) för automatisk stÀngning av filhandtag i barnprocessen efter anrop av exec().
- För arkitekturerna amd64 och i386 har stöd för pseud-enheten dt implementerats för att organisera dynamisk spÄrning av system och applikationer. Ett systemanrop utrace har lagts till för att införa anvÀndardefinierade poster i loggen ktrace.
- RÀttningar har överförts frÄn FreeBSD för att eliminera osÀkert beteende vid anvÀndning av MS-DOS filsystem.
- Alternativet för mjuk beroende montering, som anvÀnds för fördröjd aggregerad skrivning av metadata, har stÀngts av.
- Program som skyddas av systemanropet unveil fÄr tillÄtas spara core-dumpar i den aktuella arbetskatalogen.
- För ARM64-arkitekturen har möjligheten för att gÄ in i djupa inaktivitetslÀgen (idle) aktiverats, tillgÀngliga i Apple M1/M2-chips, för att spara energi och implementera vilolÀge.
- En bypass-skydd mot sÄrbarheten Zenbleed i AMD-processorer har lagts till.
- Stödet för flerprocessor-system (SMP) har förbÀttrats. Funktionerna arprequest(), koden för bearbetning av inkommande ARP-paket och implementeringen av grannnodidentifiering i IPv6-stacken har befriats frÄn lÄsningar.
- GrÀnssnittet för synkronisering av paketfiltertabellerna pfsync har skrivits om för att förbÀttra arbetet med lÄsningar och kompatibilitet med framtida arbete för att parallellisera nÀtverksstacken.
- Implementeringen av ramverket drm (Direct Rendering Manager) Ă€r synkroniserad med kĂ€rnan Linux 6.1.55 (i den tidigare versionen â 6.1.15). Prestandan har förbĂ€ttrats pĂ„ system med Intel-processorer baserade pĂ„ mikroarkitekturerna Alder Lake och Raptor Lake.
- Det har gjorts förbĂ€ttringar i hypervisorn VMM. I vmd har stöd för flertrĂ„dad modell implementerats för block- och nĂ€tverksvirtio-enheter. I blockvirtio-enheten har stöd för vektorinput/utgĂ„ng i zero-copy-lĂ€ge lagts till. Ă tkomsten för gĂ€stsystem till AMD-processorns p-state-lĂ€gen har begrĂ€nsats. Ăgare virtuella maskiner har fĂ„tt tillstĂ„nd att Ă„sidosĂ€tta den laddade kĂ€rnan via vmctl.
- En ny headerfil uchar.h har lagts till med typerna char32_t och char16_t, samt funktionerna c32rtomb(), mbrtoc32(), c16rtomb() och mbrtoc16(), som definieras i standarden C11.
- I funktionen malloc har alternativet "D" lagts till för att identifiera minneslÀckor med hjÀlp av ktrace ("MALLOC_OPTIONS=D ktrace -tu program") och kdump ("kdump -u malloc ...").
- I verktyget make har stöd för variabeln ${.VARIABLES} lagts till för att visa namnen pÄ alla angivna globala variabler.
- I verktyget kdump har alternativet "-u" lagts till för att vÀlja utrace-spÄrningspunkter efter en angiven etikett.
- I verktyget openrsync har alternativen "âsize-only" och "âignore-times" lagts till.
- I cron och crontab har stöd för slumpmÀssiga förskjutningar lagts till vid angivande av vÀrden med ett visst steg, vilket gör att man kan undvika samtidiga resursanrop frÄn olika maskiner som har samma regler i cron. Till exempel kan anvisningen "0~59/30" eller "~30" i minutfÀltet leda till att kommandot körs tvÄ gÄnger i timmen genom sekventiellt slumpmÀssigt valda intervall.
- I verktyget wsconsctl har möjligheten att mappa knappar för tryck med tvÄ eller tre fingrar pÄ touchpaden lagts till.
- Stöd för ny hÄrdvara har lagts till och nya drivrutiner har inkluderats.
- Installationen pÄ system med processorer armv7 och arm64 har förbÀttrats.
- Stöd för att ladda filer frÄn EFI-systempartitionen har lagts till.
- I installationsprogrammet har stödet för mjukvaru-RAID (softraid) förbÀttrats. Möjligheten att placera rotpartitionen i softraid pÄ system med riscv64 och arm64 har lagts till. Softraid har lagts till i ramdisk för arkitekturen powerpc64. För arm64 har stöd för disk-kryptering (Guided Disk Encryption) implementerats.
- I funktionen malloc har en kontroll av alla block i listan över fördröjd frigörelse av minne lagts till för att identifiera situationer med skrivningar till frigjord minnesomrÄde.
- För att utföra shutdown-kommandot krÀvs nu att anvÀndaren lÀggs till i gruppen «_shutdown», vilket möjliggör en uppdelning av befogenheterna relaterade till avslutning och direkt lÀsning frÄn diskdram.
- Genom systemanropet unveil begrÀnsas patch-verktyget till endast aktuell katalog, katalogen för temporÀra filer och de filer som anges i kommandoraden.
- Tillagd sysctl net.inet6.icmp6.nd6_queued för att visa antalet paket som vÀntar pÄ svar frÄn ND6 (analogt med ARP).
- Vid konfiguration av IPv6-adressen pÄ nÀtverksgrÀnssnittet sÀkerstÀlls att meddelanden sÀnds till nÀrliggande routrar via multicast-adress.
- Inledande stöd för TSO (TCP Segmentation Offload) och LRO (TCP Large Receive Offload) har lagts till för hantering av segment och sammanslagning av paket pÄ nÀtverkskortets sida.
- InlÀsning frÄn kÀrnan av paketfilterregler för pf har accelererats av verktyget pfctl. Behandling av ÄtgÀrderna «keep state» och «nat-to» för felmeddelanden via ICMP har inkluderats.
- BerÀkningar av kontrollsummor för IP, TCP och UDP har inaktiverats för loopback-grÀnssnitt.
- Inledande stöd har lagts till för VPN IPsec, som Àr beroende av routning (route-based).
- Stöd för Flowspec (RFC5575) har lagts till i bgpd (för nÀrvarande stöds endast annonsering av flowspec-regler). Implementeringen av ASPA (Autonomous System Provider Authorization) har anpassats till specifikationerna draft-ietf-sidrops-aspa-verification-16 och draft-ietf-sidrops-aspa-profile-16, och har övergÄtt till anvÀndning av söktabeller som inte Àr beroende av AFI (Address Family Indicator).
- Prestandan för rpki-client har ökats med 30-50%. Stöd för gzip- och deflate-komprimering har lagts till.
- Paketen LibreSSL och OpenSSH har uppdaterats. En detaljerad översikt av förbÀttringarna kan ses i recensionerna av LibreSSL 3.8.0, OpenSSH 9.4 och OpenSSH 9.5.
- Antalet portar för arkitekturen AMD64 har uppgĂ„tt till 11845 (tidigare 11764), för aarch64 â 11508 (tidigare 11561), för i386 â 10603 (tidigare 10572). Bland versionerna av applikationer i portarna:
- 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 och 11.2.0
- GHC 9.2.7
- GNOME 44
- Go 1.21.1
- JDK 8u382, 11.0.20 och 17.0.8
- KDE Applications 23.08.0
- KDE Frameworks 5.110.0
- Krita 5.1.5
- LLVM/Clang 13.0.0 och 16.0.6
- LibreOffice 7.6.2.1
- Lua 5.1.5, 5.2.4, 5.3.6 och 5.4.6
- MariaDB 10.9.6
- Mono 6.12.0.199
- Mozilla Firefox 118.0.1 och ESR 115.3.1
- Mozilla Thunderbird 115.3.1
- Mutt 2.2.12 och NeoMutt 20230517
- Node.js 18.18.0
- OpenLDAP 2.6.6
- PHP 7.4.33, 8.0.30, 8.1.24 och 8.2.11
- Postfix 3.7.3
- PostgreSQL 15.4
- Python 2.7.18, 3.9.18, 3.10.13 och 3.11.5
- Qt 5.15.10 och 6.5.2
- R 4.2.3
- Ruby 3.0.6, 3.1.4 och 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 och 8.6.13
- TeX Live 2022
- Vim 9.0.1897 och Neovim 0.9.1
- Xfce 4.18
- Komponenter frÄn tredjepartsutvecklare i OpenBSD 7.3 har uppdaterats:
- Grafikstacken Xenocara baserat pÄ X.Org 7.7 med xserver 21.1.8 + patchar, 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 (+ patchar)
- GCC 4.2.1 (+ patchar) och 3.3.6 (+ patchar)
- Perl 5.36.1 (+ patchar)
- NSD 4.7.0
- Unbound 1.18
- Ncurses 5.7
- Binutils 2.17 (+ patchar)
- Gdb 6.3 (+ patch)
- Awk 12.9.2023
- Expat 2.5.0.
KĂ€lla: opennet.ru
