Versioni e sistemit operativ UNIX me burim të lirë OpenBSD 7.4 është paraqitur. Projektin OpenBSD e themeloi Theo de Raadt në vitin 1995 pas një konflikti me zhvilluesit e NetBSD, i cili rezultoi në mbylljen e aksesit të Theo në depot CVS të NetBSD. Pas kësaj, Theo de Raadt së bashku me një grup mbështetësish krijuan një sistem të ri operativ të hapur bazuar në pemën e kodit burimor të NetBSD, ku qëllimet kryesore të zhvillimit përfshinin portabilitetin (mbështet 13 platforma harduerike), standardizimin, funksionimin e saktë, sigurinë proaktive dhe mjetet e kriptografisë të integruara. Madhësia e imazhit të plotë të instalimit ISO të sistemit bazë OpenBSD 7.4 është 630 MB.
PĂ«rveç sistemit operativ, projekti OpenBSD njihet pĂ«r komponentĂ«t e tij, tĂ« cilĂ«t janĂ« shpĂ«rndarĂ« nĂ« sisteme tĂ« tjera dhe janĂ« treguar si disa nga zgjidhjet mĂ« tĂ« sigurta dhe me cilĂ«si tĂ« lartĂ«. NdĂ«r to: LibreSSL (fork i OpenSSL), OpenSSH, filtri i paketave PF, demonĂ«t e ruterizimit OpenBGPD dhe OpenOSPFD, serveri NTP OpenNTPD, serveri i postĂ«s OpenSMTPD, shumĂ«kĂ«shtuesi i terminaleve tekstuale (analog i GNU screen) tmux, demo identd me pĂ«rvetĂ«simin e protokollit IDENT, alternativa BSDL e paketĂ«s GNU groff â mandoc, protokolli pĂ«r organizimin e sistemeve tĂ« qĂ«ndrueshme CARP (Protokolli i RedundancĂ«s sĂ« Adresave tĂ« Zakonshme), serveri http i lehtĂ«, utilitari i sinkronizimit tĂ« skedarĂ«ve OpenRSYNC.
Përmirësimet kryesore:
- Për arkitekturat amd64 dhe i386 janë shtuar komponentë për përditësimin e mikro-kodit për procesorët AMD. Versionet e reja të mikro-kodit installet automatikisht gjatë ngarkimit. Për shpërndarjen e skedarëve binarë me mikro-kod është përgatitur porta «ports/sysutils/firmware/amd». Instalimi i mikro-kodit të ri kryhet me ndihmën e utilitarit të zakonshëm fw_update. Mbështetje të ngjashme për përditësimin e mikro-kodit për procesorët Intel u realizua në vitin 2018 dhe u ofrua në lëshimin e OpenBSD 6.3.
- Për bërthamën dhe hapësirën e përdoruesit janë përfshirë mekanizmat e mbrojtjes IBT (Indirekt Shkëputja e Ndihmonve, amd64) dhe BTI (Identifikimi i Qëllimit të Shkëputjes, arm64), të destinuara për të bllokuar shkeljen e rendit normal të ekzekutimit (kontrolli i fluksit) si rezultat i aplikimit të eksploiteve që ndryshojnë treguesit në funksione që ruhen në memorie (mbrojtja e realizuar nuk lejon që kodi keqdashës të bëjë kalimin në mes të funksionit).
- Në sistemet me arkitekturë arm64 është përfshirë autentifikimi i treguesve (Pointer Authentication) për mbrojtjen e hapësirës së përdoruesit. Teknologjia lejon përdorimin e instruksioneve të specializuara ARM64 për të verifikuar adresat e rikthimit me anë të nënshkrimeve digjitale, të cilat ruhen në bitët e sipërm të pavendosur të treguesit të vet.
- Cilësitë e kompajlerit sistemik clang, si dhe clang dhe gcc nga portet, janë modifikuar për t'u aplikuar mekanizmat e mbrojtjes të përmendur më sipër, duke forcuar ndjeshëm mbrojtjen e të gjitha aplikacioneve bazë dhe shumicës së aplikacioneve nga portet nga shpërthimet që përdorin metodat e programimit të orientuar nga kthimi (ROP - Return-Oriented Programming). Duke përdorur teknikën ROP, sulmuesi nuk përpiqet të vendosë kodin e tij në memorje, por operon me copëza të udhëzimeve makine që tashmë ekzistojnë në bibliotekat e ngarkuara, që përfundojnë me një udhëzim për kthimin e kontrollit (zakonisht, këto janë fundet e funksioneve të bibliotekave). Funksionimi i shpërthimit reduktohet në ndërtimin e një zinxhiri thirrjesh nga këto blloqe "gadgets" për të fituar funksionalitetin e kërkuar.
- Janë shtuar një thirrje e re sistemike kqueue1, e cila ndryshon nga kqueue në mënyrën e transmetimit të flakëve. Aktualisht në kqueue1 mbështetet vetëm flaka O_CLOEXEC (close-on-exec) për mbylljen automatike të descriptorëve të skedarëve në procesin e fëmijës pas thirrjes exec().
- Për arkitekturat amd64 dhe i386, është realizuar mbështetje për pseudopajisjen dt për organizimin e ndjekjes dinamike të sistemit dhe aplikacioneve. Për të futur regjistrime të përdoruesve në log ktrace është shtuar thirrja sistemike utrace.
- Janë transferuar rregullimet nga FreeBSD që eliminojnë sjelljen e pazakontë kur përdoren sistemet e skedarëve MS-DOS.
- ĂshtĂ« çaktivizuar opsioni i montimit softdep, i aplikuar pĂ«r shkrimin e grupuar tĂ« vonuar tĂ« metadatat.
- Programet e mbrojtura me thirrjen sistemike unveil lejohen të ruajnë core-dumps në katalogun aktual të punës.
- Për arkitekturën ARM64 është aktivizuar mundësia e kalimit në streset e thella inactive (idle), të disponueshme në çipat Apple M1/M2, për kursimin e energjisë dhe realizimin e gjendjes së pritjes.
- ĂshtĂ« shtuar njĂ« mbrojtje anashkalimi ndaj dobĂ«sisĂ« Zenbleed nĂ« procesorĂ«t AMD.
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r sistemet shumĂ«pĂ«rpunuese (SMP). ĂshtĂ« eliminuar bllokimi i funksionit arprequest(), kodi i pĂ«rpunimit tĂ« paketave ARP hyrĂ«se dhe implementimi i pĂ«rcaktimit tĂ« fqinjĂ«ve nĂ« rrjetin IPv6.
- Interface i sinhronizimit të tabelave të filtrit të paketave pfsync është riparuar për të përmirësuar funksionimin me bllokimet dhe pajtueshmërinë me punën e ardhshme për paralelizimin e piles së rrjetit.
- Implementimi i framework-ut drm (Direct Rendering Manager) Ă«shtĂ« sinkronizuar me kernelin Linux 6.1.55 (nĂ« versionin e mĂ«parshĂ«m â 6.1.15). ĂshtĂ« pĂ«rmirĂ«suar puna nĂ« sistemet me procesorĂ« Intel tĂ« bazuar nĂ« mikroarkitekturĂ«n Alder Lake dhe Raptor Lake.
- JanĂ« bĂ«rĂ« pĂ«rmirĂ«sime nĂ« hipervizorin VMM. NĂ« vmd Ă«shtĂ« realizuar pĂ«rkrahja e modelit shumĂ«-procesor pĂ«r pajisje virtio bllok dhe rrjetesh. NĂ« pajisjen virtio bllok Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r hyrje/ dalje vektoriale nĂ« modalitetin zero-copy. ĂshtĂ« kufizuar aksesin e sistemeve mikse nĂ« modet p-state tĂ« procesorĂ«ve AMD. PronarĂ«t makinat virtuale lejohet qĂ« pĂ«rmes vmctl tĂ« ripĂ«rcaktojnĂ« kernelin e ngarkimit.
- ĂshtĂ« shtuar njĂ« skedar i ri pĂ«rfshirĂ«s uchar.h me tipet char32_t dhe char16_t, dhe funksionet c32rtomb(), mbrtoc32(), c16rtomb() dhe mbrtoc16(), tĂ« pĂ«rcaktuara nĂ« standardin C11.
- NĂ« funksionin malloc Ă«shtĂ« shtuar njĂ« opsion "D" pĂ«r tĂ« identifikuar shkarkimet e memories duke pĂ«rdorur ktrace ("MALLOC_OPTIONS=D ktrace -tu program") dhe kdump ("kdump -u malloc âŠ").
- Në utilitarin make është shtuar mbështetje për variablën ${.VARIABLES} për të printuar emrat e të gjitha variablave globale të vendosura.
- Në utilitarin kdump është shtuar opsioni "-u" për të zgjedhur pikat e gjurmimit utrace sipas etiketës së dhënë.
- NĂ« utilitarin openrsync janĂ« shtuar opsionet "âsize-only" dhe "âignore-times".
- Në cron dhe crontab është shtuar mbështetje për zhvendosje të rastësishme kur specifikohen intervale vlerash me hap të caktuar, duke lejuar shmangien e kërkesës së menjëhershme për burime nga makina të ndryshme që kanë rregulla të njëjta në cron. Për shembull, specifikimi "0~59/30" ose "~/30" në fushën e minutave do të çojë në ekzekutimin e komandës dy herë në orë nëpërmjet intervaleve të rastësisht të zgjedhura në radhë.
- Në utilitarin wsconsctl është shtuar mundësia e hartimit të butonave për prekjet me dy ose tre gishta në touchpad.
- Shtuar mbështetje për pajisje të reja dhe përfshirë në grup ne driver-a të rinj.
- ĂshtĂ« pĂ«rmirĂ«suar instaluar nĂ« sisteme me procesorĂ« armv7 dhe arm64.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ngarkimin e skedarĂ«ve nga ndarja EFI (EFI System Partition).
- NĂ« instalues Ă«shtĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r RAID softuerik (softraid). ĂshtĂ« shtuar mundĂ«sia e vendosjes sĂ« ndarjes rrĂ«njĂ«sore nĂ« softraid nĂ« sistemet riscv64 dhe arm64. Softraid Ă«shtĂ« shtuar nĂ« ramdisk pĂ«r arkitekturĂ«n powerpc64. PĂ«r arm64 Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r enkriptimin e disqeve (Guided Disk Encryption).
- Në funksionin malloc është shtuar kontrolli i të gjitha blloqeve në listën e çlirimit të vonuar të memories për të identifikuar situatat e shkrimit në zonën e çliruar të memories.
- Për të kryer komandën shutdown tani kërkohet shtimi i përdoruesit në grupin «_shutdown», i cili mundëson ndarjen e autorizimeve lidhur me përfundimin e punës dhe leximin e drejtpërdrejtë nga pajisjet e diskut.
- Nëpërmjet thirrjes së sistemit unveil, utilitari patch është i kufizuar në qasje vetëm në katalogun aktual, katalogun e skedarëve përkohësorë dhe skedarët e listuar në komandën e linjës.
- ĂshtĂ« shtuar sysctl net.inet6.icmp6.nd6_queued pĂ«r tĂ« treguar numrin e paketave qĂ« presin pĂ«rgjigje ND6 (nĂ« pĂ«rputhje me ARP).
- Gjatë konfigurimit të adresës IPv6 në ndërfaqen rrjet, është siguruar dërgimi i njoftimeve për routeurët fqinjë për adresën multicast.
- ĂshtĂ« shtuar mbĂ«shtetje fillestare pĂ«r TSO (TCP Segmentation Offload) dhe LRO (TCP Large Receive Offload) pĂ«r pĂ«rpunimin e segmenteve dhe bashkimin e paketave nĂ« anĂ«n e kartĂ«s rrjet.
- ĂshtĂ« pĂ«rshpejtuar ngarkimi nga bĂ«rthamja e rregullave tĂ« filtrit tĂ« paketave pf nga utilitari pfctl. ĂshtĂ« pĂ«rfshirĂ« trajtimi i veprimeve «keep state» dhe «nat-to» pĂ«r mesazhet e gabimeve qĂ« kthehen pĂ«rmes ICMP.
- Janë çaktivizuar llogaritjet e kontrollit të shumave IP, TCP dhe UDP për ndërfaqet loopback.
- Shtuar mbështetje fillestare për VPN IPsec, të varura nga routing (route-based).
- Në bgpd është shtuar mbështetje për Flowspec (RFC5575, aktualisht mbështetet vetëm shpallja e rregullave flowspec). Implementimi i ASPA (Autonomous System Provider Authorization) është përshtatur sipas specifikimeve draft-ietf-sidrops-aspa-verification-16 dhe draft-ietf-sidrops-aspa-profile-16, dhe është kaluar në përdorimin e tabelave të kërkimeve që nuk varen nga AFI (Address Family Indicator).
- Performanca e rpki-client Ă«shtĂ« rritur me 30-50%. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r kompresimin gzip dhe deflate.
- Janë përditësuar paketat LibreSSL dhe OpenSSH. Një pasqyrë e detajuar e përmirësimeve mund të shikohet në pasqyrat e LibreSSL 3.8.0, OpenSSH 9.4 dhe OpenSSH 9.5.
- Numri i porteve për arkitekturën AMD64 arriti në 11845 (ishte 11764), për aarch64 - 11508 (ishte 11561), për i386 - 10603 (ishte 10572). Ndër versionet e aplikacioneve në porte:
- 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 dhe 11.2.0
- GHC 9.2.7
- GNOME 44
- Go 1.21.1
- JDK 8u382, 11.0.20 dhe 17.0.8
- KDE Applications 23.08.0
- KDE Frameworks 5.110.0
- Krita 5.1.5
- LLVM/Clang 13.0.0 dhe 16.0.6
- LibreOffice 7.6.2.1
- Lua 5.1.5, 5.2.4, 5.3.6 dhe 5.4.6
- MariaDB 10.9.6
- Mono 6.12.0.199
- Mozilla Firefox 118.0.1 dhe ESR 115.3.1
- Mozilla Thunderbird 115.3.1
- Mutt 2.2.12 dhe NeoMutt 20230517
- Node.js 18.18.0
- OpenLDAP 2.6.6
- PHP 7.4.33, 8.0.30, 8.1.24 dhe 8.2.11
- Postfix 3.7.3
- PostgreSQL 15.4
- Python 2.7.18, 3.9.18, 3.10.13 dhe 3.11.5
- Qt 5.15.10 dhe 6.5.2
- R 4.2.3
- Ruby 3.0.6, 3.1.4 dhe 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 dhe 8.6.13
- TeX Live 2022
- Vim 9.0.1897 dhe Neovim 0.9.1
- Xfce 4.18
- Komponentët e zhvilluesve të tretë që përfshihen në OpenBSD 7.3 janë përditësuar:
- Stoku grafik Xenocara i bazuar në X.Org 7.7 me xserver 21.1.8 + patch, 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 (+ patch)
- GCC 4.2.1 (+ patch) dhe 3.3.6 (+ patch)
- Perl 5.36.1 (+ patches)
- NSD 4.7.0
- Unbound 1.18
- Ncurses 5.7
- Binutils 2.17 (+ patch)
- Gdb 6.3 (+ patch)
- Awk 12.9.2023
- Expat 2.5.0.
Burimi: opennet.ru
