Avalikustatud on OpenBSD 7.4, vabavaraline UNIX-sarnane operatsioonisĂŒsteem. OpenBSD projekt asutati Theo de Raadt'i poolt 1995. aastal pĂ€rast konflikti NetBSD arendajatega, mille tĂ”ttu suleti Theo juurdepÀÀs NetBSD CVS-repositooriumile. PĂ€rast seda lĂ”i Theo de Raadt koos mĂ”ttekaaslastega uue avatud operatsioonisĂŒsteemi, kasutades NetBSD lĂ€htekoodipuud, mille peamisteks arengueesmĂ€rkideks said ĂŒhilduvus (toetatakse 13 riistvaraplatvormi), standardiseerimine, korrektne töö, proaktiivne turvalisus ja integreeritud krĂŒptograafilised vahendid. OpenBSD 7.4 pĂ”hiversiooni tĂ€isinstalli ISO-pildi suurus on 630 MB.
Lisaks operatsioonisĂŒsteemile on OpenBSD projekt tuntud oma komponentide poolest, mis on levinud teistes sĂŒsteemides ja tĂ”estanud end ĂŒhtede kĂ”ige turvalisemate ja kvaliteetsemate lahendustena. Nende hulgas: LibreSSL (OpenSSL haru), OpenSSH, pakifilter PF, OpenBGPD ja OpenOSPFD marsruutimise demonid, OpenNTPD NTP-server, OpenSMTPD postiserver, tekstiterminali multiplexer (sarnane GNU ekraanile) tmux, identd demon, mis rakendab IDENT protokolli, BSDL alternatiiv GNU groff paketile - mandoc, protokoll tĂ”rketaluvate sĂŒsteemide korraldamiseks CARP (Common Address Redundancy Protocol), kergekaaluline http-server, failide sĂŒnkroniseerimise utiliidi OpenRSYNC.
Peamised tÀiustused:
- Amd64 ja i386 arhitektuuride jaoks on lisatud komponendid AMD protsessorite mikrokoodi uuendamiseks. Uued mikrokoodi versioonid installitakse automaatselt kÀivitamisel. Mikrokoodi binaarfailide levitamiseks on ette valmistatud port "ports/sysutils/firmware/amd". Uue mikrokoodi installimine toimib tavalise utiliidi fw_update abil. Sarnane toe mikrokoodi uuendamiseks Intel protsessoritele rakendati 2018. aastal ja seda pakuti OpenBSD 6.3 versioonis.
- Kernelis ja kasutaja ruumis on aktiveeritud kaitsemehhanismid IBT (Indirect Branch Tracking, amd64) ja BTI (Branch Target Identification, arm64), mis on mĂ”eldud juhtimisvoo rikkumiste (control flow) blokeerimiseks, mis tulenevad eksploitide kasutamisest, mis muudavad mĂ€lu salvestatud funktsioonide nĂ€itajaid (rakendatud kaitse ei luba pahatahtlikel koodidel teostada ĂŒleminekut funktsiooni keskpunkti).
- Arm64 arhitektuuriga sĂŒsteemidel on kasutaja ruumi kaitseks aktiveeritud nĂ€itajate autentimine (Pointer Authentication). Tehnoloogia vĂ”imaldab kasutada spetsialiseeritud ARM64 kĂ€sklusi tagasipöördumisaadresside kontrollimiseks digitaalsete allkirjade abil, mis on salvestatud ise nĂ€itaja ĂŒlemiste mittekasutatavate bittide sisse.
- Clang sĂŒsteemi koostaja seaded, samuti clang ja gcc portidest, on muudetud, et rakendada ĂŒlalnimetatud kaitsemehhanisme, mis on oluliselt tugevdanud kĂ”igi pĂ”hirakenduste ja enamikus portidest pĂ€rit rakenduste kaitset ROP (Return-Oriented Programming) pĂ”histe eksploitide eest. ROP tehnika kasutamisel ei pĂŒĂŒa rĂŒndaja oma koodi mĂ€lu laadida, vaid opereerib juba laetud teegis olevate masina kĂ€skude fragmentidega, mis lĂ”ppevad juhtimise tagastamise kĂ€suga (tavaliselt teegifunktsioonide lĂ”petamisel). Eksplooti töö seisneb selliste plokkide ("gadgetide") kĂ”nede ahelate koostamises soovitud funktsionaalsuse saavutamiseks.
- Uus sĂŒsteemikĂ”ne kqueue1 on lisatud, mis erineb kqueue'st lipu edastamise poolest. Praegu toetab kqueue1 ainult lippu O_CLOEXEC (close-on-exec) failidesse, mis automaatselt sulgevad failihaldurid tĂŒtre protsessis pĂ€rast exec() vĂ€ljakutset.
- Arhitektuuridele amd64 ja i386 on toetatud pseudoseadet dt sĂŒsteemi ja rakenduste dĂŒnaamiliseks jĂ€lgimiseks. Kasutaja logikirjete lisamiseks ktrace'i on lisatud sĂŒsteemikĂ”ne utrace.
- FreeBSD-st on ĂŒlevĂ”etud parandused, mis kĂ”rvaldavad mÀÀramatut kĂ€itumist MS-DOS failisĂŒsteemide kasutamisel.
- Softdep montaaĆŸi valik on deaktiveeritud, mida kasutatakse metainformatsiooni hilinenud grupitud salvestamiseks.
- Rakendustele, mis on kaitstud sĂŒsteemikĂ”ne unveil abil, lubatakse salvestada core dump'e praegusesse töökausta.
- ARM64 arhitektuuri jaoks on rakendatud sĂŒgavale mitteaktiivsusse (idle) liikumise vĂ”imalust, mis on saadaval Apple M1/M2 kiipides, et sÀÀsta energiat ja rakendada ootereĆŸiimi.
- Lisatud on Zenbleedi haavatavuse eest kaitse AMD protsessorites.
- TĂ€psemalt on parendatud mitme protsessoriga sĂŒsteemide (SMP) toetust. Lockidest on vabastatud funktsioon arprequest(), sissetulevate ARP-pakettide töötlemise kood ja naaberĂ”nneliste mÀÀramise teostamine IPv6 protokollis.
- Pakettide filtreerimise pfsync tabelite sĂŒnkroniseerimise liides on ĂŒmber kirjutatud, et parandada blokeeringute töötlemist ja kooskĂ”la tulevaste tööstustega vĂ”rgu staki paralelleerimise osas.
- DRM (Direct Rendering Manager) raamistiku rakendamine on sĂŒnkroniseeritud Linuxi tuumaga 6.1.55 (eelmine versioon - 6.1.15). Parandatud on toimivust Intel'i protsessorite sĂŒsteemides, mis pĂ”hinevad mikroarhitektuuridel Alder Lake ja Raptor Lake.
- VMM hĂŒpervisevĂ”tmes on tehtud tĂ€iustusi. VMD-s on rakendatud toimetuse toetust mitme protsessori mudelile plokk- ja vĂ”rgus virtio seadmetele. Plokk-virtio seadmesse on lisatud vektorkirjutuse/loetuse tugi zero-copy reĆŸiimis. AMD protsessorite p-state reĆŸiimide juurde pÀÀsemine on piiratud kĂŒlalissĂŒsteemide jaoks. Omanikele virtuaalmasinate on lubatud vmctl kaudu laaditavat tuuma ĂŒle kirjutada.
- Uus pealkirjade fail uchar.h on lisatud, mis sisaldab tĂŒĂŒpe char32_t ja char16_t, ning funktsioone c32rtomb(), mbrtoc32(), c16rtomb() ja mbrtoc16(), mis on mÀÀratletud C11 standardis.
- Malloc funktsioonile on lisatud valik âDâ mĂ€lulekkete mÀÀratlemiseks ktraceâi abil (âMALLOC_OPTIONS=D ktrace -tu programâ) ja kdumpi abil (âkdump -u malloc âŠâ).
- Make utiliidile on lisatud tugi muutuja ${.VARIABLES} jaoks, et kuvada kÔigi mÀÀratud globaalsete muutujate nimesid.
- Kdump utiliidile on lisatud valik â-uâ, et valida utrace'i jĂ€lgimispunkte antud sildiga.
- Openrsync utiliidile on lisatud valikud ââsize-onlyâ ja ââignore-timesâ.
- Cron ja crontab tuuendavad nĂŒĂŒd juhuslikke nihkeid, kui mÀÀratakse vÀÀrtuste vahemikud kindla sammuga, et vĂ€ltida sama ressursi samaaegset pĂ€rimist erinevatest masinatest, millel on cronis samad reeglid. NĂ€iteks mĂ€rkimine â0~59/30â vĂ”i â~/30â minutite vĂ€ljal kĂ€ivitab kĂ€skluse kaks korda tunnis jĂ€rjestikuste juhuslikult valitud intervallide kaudu.
- Wsconsctl utiliidile on lisatud vÔimalus nuppude kaardistamiseks kahe vÔi kolme sÔrmega klikkimise jaoks puuteplaadil.
- Uue riistvara tugi on lisatud ja uued draiverid on ametlikult lisatud.
- Installer toetab nĂŒĂŒd paremat installimist armv7 ja arm64 protsessoritega sĂŒsteemides.
- Toetust failide laadimiseks EFI sĂŒsteemiosast (EFI System Partition) on lisatud.
- Installeerijas on parandatud tarkvara RAID (softraid) toetust. Lisatud on vĂ”imalus juurepartitsioon paigutada softraidi riscv64 ja arm64 sĂŒsteemides. Softraid on lisatud ramdiski powerpc64 arhitektuuri jaoks. Arm64 puhul on rakendatud ketaste krĂŒpteerimise tugi (Guided Disk Encryption).
- Malloc funktsioonile on lisatud kontroll kogu viivitusega vabastamise mÀlupesa loendis, et tuvastada olukordi, kus kirjutatakse vabastatud mÀluruumi.
- KĂ€skluste shutdown tĂ€itmiseks on nĂŒĂŒd vajalik kasutaja lisamine rĂŒhma â_shutdownâ, mis vĂ”imaldab jagada Ă”igusi, mis on seotud sĂŒsteemi sulgemise ja otse lugemise ketta seadmetest.
- SĂŒsteemikĂ”ne unveil abil on tööriist patch piiratud juurdepÀÀsuga ainult praegusele kataloogile, ajutiste failide kataloogile ja kĂ€sureal loetletud failidele.
- Lisatud sysctl net.inet6.icmp6.nd6_queued, et nÀidata ND6 vastust ootavate pakettide arvu (sarnaselt ARP-iga).
- IPv6 aadressi seadistamise korral vÔrguinterfÀÀsile on tagatud naaberruuteritele multicasti aadressi kaudu kuulutuse saatmine.
- Lisatud algtoetuseks TSO (TCP Segmentation Offload) ja LRO (TCP Large Receive Offload) segmenteerimise ja pakettide ĂŒhendamise jaoks vĂ”rguadapteri poolel.
- Sujuvam laadimine pf paketifiltri reeglitest pfctl utiliidi kaudu. Aktiveeritud on âkeep stateâ ja ânat-toâ toimete kĂ€sitlemine ICMP kaudu tagastatud veateadetele.
- IP, TCP ja UDP kontrollsummade arvutamine on keelatud loopback-interfÀÀside jaoks.
- Algtoetuse lisamine VPN IPsec, mis sÔltub marsruutimisest (route-based).
- Bgpd-s on lisatud tugi Flowspec (RFC5575, hetkel toetab see ainult flowspec reeglite kuulutamist). ASPA (Autonomous System Provider Authorization) rakendamine on viidud vastavusse spetsifikatsioonidega draft-ietf-sidrops-aspa-verification-16 ja draft-ietf-sidrops-aspa-profile-16 ning muudetud AFI (Address Family Indicator) sÔltumatuks otsingulaudade kasutamiseks.
- Rpki-clienti jÔudlust on suurendatud 30-50%. Lisatud on gzip ja deflate tihenduse tugi.
- LibreSSL ja OpenSSH paketid on vĂ€rskendatud. Ăksikasjaliku ĂŒlevaate parendustest leiate LibreSSL 3.8.0, OpenSSH 9.4 ja OpenSSH 9.5 ĂŒlevaadetest.
- AMD64 arhitektuuri sadamate arv oli 11845 (oli 11764), aarch64 puhul 11508 (oli 11561), i386 puhul 10603 (oli 10572). Rakenduste versioonid sadamates:
- 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
- Firefox 123.0.1, ESR 115.8.0
- GCC 8.4.0 ja 11.2.0
- GHC 9.2.7
- GNOME 44
- Go 1.21.1
- JDK 8u382, 11.0.20 ja 17.0.8
- KDE rakendused 23.08.0
- KDE raamistiku 5.110.0
- Krita 5.1.5
- LLVM/Clang 13.0.0 ja 16.0.6
- LibreOffice 7.6.2.1
- Lua 5.1.5, 5.2.4, 5.3.6 ja 5.4.6
- MariaDB 10.9.6
- Mono 6.12.0.199
- Mozilla Firefox 118.0.1 ja ESR 115.3.1
- Mozilla Thunderbird 115.3.1
- Mutt 2.2.12 ja NeoMutt 20230517
- Node.js 18.18.0
- OpenLDAP 2.6.6
- PHP 7.4.33, 8.0.30, 8.1.24 ja 8.2.11
- Postfix 3.7.3
- PostgreSQL 15.4
- Python 2.7.18, 3.9.18, 3.10.13 ja 3.11.5
- Qt 5.15.10 ja 6.5.2
- Ruby 3.1.4, 3.2.3, 3.3.0
- Ruby 3.0.6, 3.1.4 ja 3.2.2
- Rust 1.72.1
- SQLite 3.42.0
- Suricata 7.0.3
- Sudo 1.9.14.2
- Suricata 6.0.12
- Tcl/Tk 8.5.19 ja 8.6.13
- TeX Live 2022
- Vim 9.0.1897 ja Neovim 0.9.1
- Xfce 4.18
- Ălevaatavad komponendid kolmandate osapoolte arendajatelt, mis on OpenBSD 7.3-sse integreeritud:
- Xenocara graafikastek X.Org 7.7, xserver 21.1.8 + patchid, 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 (+ plaastrid)
- GCC 4.2.1 (+ plaastrid) ja 3.3.6 (+ plaastrid)
- Perl 5.36.1 (+ plaasikud)
- NSD 4.7.0
- Unbound 1.18
- Ncurses 5.7
- Binutils 2.17 (+ patchid)
- Gdb 6.3 (+ plaastrid)
- Awk 12.9.2023
- Expat 2.5.0.
Allikas: opennet.ru
