Avalikustatud on vabavaraline UNIX-laadne operatsioonisüsteem OpenBSD 7.4. OpenBSD projekt loodi Theo de Raadti poolt 1995. aastal pärast konflikti NetBSD arendajatega, mille tõttu kadus Theol juurdepääs CVS hoidla NetBSD. Pärast seda moodustas Theo de Raadt koos toredate inimestega uue avatud operatsioonisüsteemi, mis põhines NetBSD allikate puul. Selle arengu peamised eesmärgid olid portatiivsus (toetatakse 13 riistvaraplatvormi), standardiseerimine, täpne töö, proaktiivne turvalisus ja integreeritud krüptograafilised vahendid. OpenBSD 7.4 põhikerija täieliku installatsioon ISO-faili suurus on 630 MB.
Lisaks operatsioonisüsteemile on OpenBSD projekt tuntud oma komponentide poolest, mis on levinud teistes süsteemides ja tuntud kui ühed kõige turvalisemad ja kvaliteetsemad lahendused. Nende hulka kuuluvad: LibreSSL (OpenSSL i haak), OpenSSH, paketifilter PF, marsruuterite demonid OpenBGPD ja OpenOSPFD, NTP-server OpenNTPD, meiliserver OpenSMTPD, tekstiterminali multiplexer (analoog GNU ekraanile) tmux, identd demon, mis rakendab IDENT protokolli, BSDL alternatiiv GNU groff paketile — mandoc, protokoll talitlushäirete korraldamiseks CARP (Common Address Redundancy Protocol), kergekaaluline http-server, failide sünkroniseerimise utiliit OpenRSYNC.
Peamised parandused:
- AMD protsessorite mikrokoodide värskendamiseks on lisatud komponendid amd64 ja i386 arhitektuuridele. Uued mikrokoodi versioonid installitakse automaatselt käivitamisel. Mikrokoodibinaaride jaotamiseks on ette valmistatud port „ports/sysutils/firmware/amd“. Uue mikrokoodi installimine toimub utiliidiga fw_update. Sarnane mikrokoodi uuendamise tugi Intel protsessoritele rakendati 2018. aastal ja see pakuti OpenBSD 6.3 väljaandel.
- Tuuma ja kasutaja ruumi jaoks on sisse lülitatud kaitsemehhanismid IBT (Indirect Branch Tracking, amd64) ja BTI (Branch Target Identification, arm64), mis on mõeldud tavalise teostusjärjestuse rikkumise (control flow) takistamiseks, kui kuritarvitatakse mälu funktsioonide osutajaid (rakendatud kaitse ei luba kahjuliku koodi funktsiooni keskossa pöörduda).
- Arm64 arhitektuuriga süsteemides on kasutaja ruumi kaitseks sisse lülitatud näitajate autentimine (Pointer Authentication). Tehnoloogia võimaldab kasutada spetsialiseeritud ARM64 käske tagasipöörde aadresside kontrollimiseks, kasutades digitaalallkirju, mis salvestatakse ise näitaja mittetäidetud ülemisse bitti.
- Süsteemi kompilaatori clang seadeid, samuti clang ja gcc portidest, on muudetud, et rakendada eespool mainitud kaitsemehhanisme, mis on oluliselt tugevdanud kaitset kõigi põhi- ja enamikus portidest pärit rakenduste suhtes, mis võivad kasutada tagasipöördumisprogrammeerimise (ROP - Return-Oriented Programming) meetodeid. ROP tehnikat kasutav ründaja ei püüa oma koodi mälu paigutada, vaid opereerib juba olemasolevate laaditud raamatukogude masiinakooditükkide abil, mis lõpevad juhtimise tagastamise käsku andva juhisega (enamikul juhtudel raamatukogufunktsiooni lõpetustega). Eksplooti töö seisneb selliste plokkide („gadgetite“) kutsuvate ahelate ülesehitamises, et saavutada soovitud funktsionaalsus.
- Lisatud on uus süsteemi kutsumine kqueue1, mis erineb kqueue'st lipu edastamise poolest. Praegu toetab kqueue1 ainult lippu O_CLOEXEC (close-on-exec), et automaatselt sulgeda failide deskriptorid lapsprotsessis pärast exec() kutsumist.
- Amd64 ja i386 arhitektuuridele on rakendatud toetust pseudoseadmestikule dt, et korraldada süsteemi ja rakenduste dünaamilist jälgimist. Kasutajate logi ktrace lisamiseks on lisatud süsteemi kutsumine utrace.
- FreeBSD-st on kantud parandusi, mis kõrvaldavad määramatud käitumised MS-DOS failisüsteemide kasutamisel.
- Keelatud on muktamise valik softdep, mis on rakendatud metadata edasilükatud grupi kirjutamiseks.
- Rakendustele, mida kaitseb süsteemi kutse unveil, on lubatud säilitada core-dumpe praeguses töökataloogis.
- ARM64 arhitektuurile on rakendatud võimalus liikuda sügavale mitteaktiivsetesse (idle) olekutesse, mis on kergesti kätte saadavad Apple M1/M2 kiipides, et energia kokku hoida ja ooteolekut teostada.
- Lisatud on kaitsemehhanism amd protsessorite Zenbleed haavatavuse vastu.
- Parandatud on mitme protsessori süsteemide (SMP) toetust. Üksused arprequest(), sissetulevate ARP-pakettide töötlemise kood ja naabrite määramise rakendamine IPv6 virnas on vabastatud lukustustest.
- Pakettide filtreerimise pfsync tabeli sünkroniseerimise liidest on ümber kirjutatud, et parandada lukustusjärje ja ühitamise tööd tuleviku võrgu virna tööde jagamisega.
- DRM (Direct Rendering Manager) raamistik on sünkroonitud Linuxi kerneliga 6.1.55 (eelmine väljaanne — 6.1.15). Parandatud on tööd Intel protsessorite süsteemides, mis põhinevad Alder Lake ja Raptor Lake mikroarhitektuuridel.
- Hüperviisorit VMM on täiustatud. VMD-s on rakendatud mitme protsessori mudeli toetust plokk- ja võrgustikuvaba virtio-seadmete jaoks. Plokk-virtio-seadmestikus on lisatud zero-copy režiimis vektorite sisse/funktsionaalsuse tugi. Piiratud on külalisjärgsete süsteemide juurdepääs AMD protsessorite p-state režiimidele. virtuaalmasinad vmctl kaudu on lubatud laaditavat tuuma ümber kirjutada.
- Uus pealkirja fail uchar.h on lisatud tüüpidest char32_t ja char16_t, samuti funktsioonidega c32rtomb(), mbrtoc32(), c16rtomb() ja mbrtoc16(), mis on määratletud C11 standardis.
- Malloc funktsiooni on lisatud võimalus „D“ mälulekkete määramiseks ktrace'i abil („MALLOC_OPTIONS=D ktrace -tu program“) ja kdump'i kaudu („kdump -u malloc …“).
- Make utiliidile on lisatud ${.VARIABLES} muutuja tugi, et kuvada kõigi määratud globaalsete muutujate nimed.
- Kdump utiliiti on lisatud võimalus „-u“ utrace'i jälgimispunktide valimiseks määratud sildiga.
- Openrsync utiliidi on lisatud võimalused „—size-only“ ja „—ignore-times“.
- Cron ja crontab on saanud toetuse juhuslike nihkete määramiseks, kui määratakse väärtuste vahemikud määratud sammu järgi, mis võimaldab vältida sama ressursi samaaegset pärimist erinevatest masinatest, millel on cron'is samad reeglid. Näiteks „0~59/30“ või „~/30“ minutite väljale määramine käivitab käsu kaks korda tunnis järjestikuste juhuslike vahede kaudu.
- Wsconsctl utiliidile on lisatud võimalus klahvide kaardistamiseks kahe või kolme sõrme vajutustele puuteplaadil.
- Uue riistvara tugi ja uute draiverite lisamine.
- Parandatud installatsioonide toetust armv7 ja arm64 protsessoritega süsteemidesse.
- Lisatud tugi failide laadimiseks EFI süsteemipartitsioonilt.
- Installeerimisse on lisatud parem tugi tarkvaralistes RAID süsteemides (softraid). Lisatud on võimalus paigutada juurpartitsioon softraid süsteemides riscv64 ja arm64. Softraid on lisatud ramdisk'i powerpc64 arhitektuurile. Arm64 jaoks on rakendatud ketaste krüpteerimise toetus (Guided Disk Encryption).
- Malloc funktsioonile on lisatud kontroll kõigi eraldatud mälu plokkide loendis, et tuvastada olukordi, kus kirjutatakse vabastatud mälu aladele.
- Shutdown käsu täitmiseks on nüüd nõutav, et kasutaja kuuluks rühma „_shutdown“, mis võimaldab jagada õigusi, mis on seotud süsteemi sulgemise ja otseketta seadmetelt lugemisega.
- Patch utiliit on piiratud juurdepääsuga ainult praegusele kataloogile, ajutiste failide kataloogile ja käsklusridakese failidele süsteemikõnes.
- Lisatud sysctl net.inet6.icmp6.nd6_queued, et näidata ND6 vastust ootavate paketide arvu (sarnaselt ARP-iga).
- IPv6 aadressi seadistamisel võrgu liideses on tagatud naaberruuteritele kuulutamine multikaadressile.
- Lisatud algtugi TSO (TCP segmenteerimise väljalaskmine) ja LRO (TCP suure vastuvõtu väljalaskmine) segmentide töötlemiseks ja paketide ühendamiseks võrkaartide küljest.
- Pakettfilteri reeglite laadimist on kiirendatud pfctl utiliidiga. On rakendatud tegevuste „keep state“ ja „nat-to“ töötlemine ICMP vigade tagasi saadetud sõnumite jaoks.
- IP, TCP ja UDP kontrollsummade arvutamine on välja lülitatud loopback liidese jaoks.
- Algne tugi on lisatud VPN IPsec, mis sõltub marsruutimisest (route-based).
- Bgpd-le on lisatud Flowspec (RFC5575) tugi (praegu toetatakse ainult flowspeci reeglite kuulutamist). ASPA (Autonomous System Provider Authorization) tõlgendamine on viidud kooskõlla spetsifikatsioonidega draft-ietf-sidrops-aspa-verification-16 ja draft-ietf-sidrops-aspa-profile-16 ning see on muudetud otsingutabelite kasutamiseks, mis ei sõltu AFI-st (Address Family Indicator).
- rpki-clienti jõudlust on suurendatud 30-50%. Lisatud on gzip ja deflate tihendamise tugi.
- LibreSSL ja OpenSSH paketid on uuendatud. Üksikasjalikku teavet täiustuste kohta leiate LibreSSL 3.8.0, OpenSSH 9.4 ja OpenSSH 9.5 ülevaadates.
- AMD64 arhitektuuri portide arv oli 11845 (oli 11764), aarch64 puhul 11508 (oli 11561), i386 puhul 10603 (oli 10572). Portides olevate rakenduste versioonide seas:
- 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 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 raamistikud 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
- R 4.2.3
- Ruby 3.0.6, 3.1.4 ja 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 ja 8.6.13
- TeX Live 2022
- Vim 9.0.1897 ja Neovim 0.9.1
- Xfce 4.18
- Värskendatud komponentide hulka, mis kuuluvad OpenBSD 7.3-sse:
- Xenocara graafikusteem X.Org 7.7 põhjal, xserver 21.1.8 + plaastrid, 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 (+ patšid)
- GCC 4.2.1 (+ patšid) ja 3.3.6 (+ patšid)
- Perl 5.36.1 (+ plaastritega)
- NSD 4.7.0
- Unbound 1.18
- Ncurses 5.7
- Binutils 2.17 (+ plaastritega)
- Gdb 6.3 (+ патч )
- Awk 12.9.2023
- Expat 2.5.0.
Allikas: opennet.ru
