Kubernetes-ийн дэд бүтэц, хиймэл оюун ухааны системийг хамгаалах шийдлүүдийг боловсруулдаг Edera компани нь санах ойтой ажиллах үед гарсан алдаанаас үүссэн эмзэг байдлын ашиглалтаас хамгаалах аргуудыг хэрэгжүүлсэн Linux цөмд зориулсан засварын багц болох OpenPaX төслийг танилцуулав. OpenPaX нь 2017 оноос хойш зөвхөн төлбөртэй бүтээгдэхүүний нэг хэсэг болгон нийлүүлэгдсэн Grsecurity төслийн PaX багцын хязгаарлалтгүй аналог байдлаар байрладаг. OpenPaX хөгжүүлэлт нь GPLv2 лицензийн дагуу нээлттэй байна.
Alpine Linux түгээлтийн хөгжүүлэгчид дараагийн хувилбар 3.21-д OpenPaX засварууд бүхий цөмийн туршилтын бүтээцийг өгөх, 3.22 хувилбарт үүнийг стандарт сонголтуудын ангилалд шилжүүлэхээр төлөвлөж байна. OpenPaX-ийг Gentoo болон Arch Linux түгээлтүүд ч ашиглаж болох бөгөөд өмнө нь PaX засвар бүхий Linux цөмийн хувилбаруудыг санал болгож байсан. OpenPaX хөгжүүлэгчид өөрсдийн боловсруулсан аюулгүй байдлын зарим механизмыг үндсэн цөм рүү шилжүүлэхийг найдаж байна.
OpenPaX-д хэрэгжсэн функцуудын дунд санах ойн хуудсуудыг зураглахдаа W^X (Write XOR execute) механизмыг ашиглаж байгааг тэмдэглэж болно, энэ нь санах ойн хуудсыг нэгэн зэрэг үүсгэх, бичих, гүйцэтгэхэд ашиглах боломжийг олгодоггүй, мөн өөрчлөхийг хориглодог. бичихээс гүйцэтгэх хүртэлх хуудасны зураглалын төрөл. OpenPaX нь мөн libffi эсвэл GCC-ээр үүсгэгдсэн трамплин функцээр код гүйцэтгэхийг хориглосон стек болон овоолгыг ашиглах боломжийг олгодог эмуляцийн механизмтай (батутуудын мөн чанар нь үүрлэсэн эсвэл залгах код юм. гадаад функцийг динамикаар үүсгэн стек дээр гүйцэтгэдэг. Гүйцэтгэх боломжгүй санах ойд код ажиллуулахыг оролдох үед хуудасны алдааг таслан зогсоож, үсрэлтийг дуурайлган хийснээр трамплиныг дуурайдаг.
Хэрэгжүүлсэн хамгаалалтын аргууд нь JIT хөрвүүлэгчийн хэвийн ажиллагааг тасалдуулж болзошгүй тул хатtr болон paxmark хэрэгслийг ашиглан гүйцэтгэгдэх файлуудтай холбоотой OpenPaX функцуудыг сонгох боломжтой. OpenPaX зөөлөн идэвхжүүлэх горим бас боломжтой (sysctl kernel.pax.softmode=1), үүнд OpenPaX нь анхдагчаар идэвхгүй байдаг ч хамгаалалт шаарддаг бие даасан програмуудад сонгон идэвхжүүлэх боломжтой.
Нэмж дурдахад бид Openwall төслөөс боловсруулсан, халдлагыг илрүүлэх, хаах, цөмийн бүтцийн бүрэн бүтэн байдлыг зөрчихөөс урьдчилан сэргийлэх зорилготой LKRG 0.9.9 цөмийн модулийг гаргасныг тэмдэглэж болно. Жишээлбэл, модуль нь ажиллаж байгаа цөмд зөвшөөрөлгүй өөрчлөлт оруулах, хэрэглэгчийн процессын зөвшөөрлийг өөрчлөх оролдлого (мөлжилтийн ашиглалтыг илрүүлэх) зэргээс хамгаалах боломжтой. Энэ модуль нь аль хэдийн мэдэгдэж байсан Линуксийн цөмийн сул талуудын мөлжлөгөөс хамгаалах (жишээлбэл, систем дэх цөмийг шинэчлэхэд хэцүү нөхцөл байдал) болон хараахан тодорхойгүй байгаа сул талуудын ашиглалтаас хамгаалахад тохиромжтой. Төслийн кодыг GPLv2 лицензийн дагуу түгээдэг. LKRG-ийн хэрэгжилтийн онцлогуудын талаар та төслийн анхны зарлалаас уншиж болно. Шинэ хувилбар нь Linux цөм 5.10.220+, 6.10.10+, 6.11 болон 6.12-rc, мөн CentOS Stream 5.14.0 болон RHEL 470-д нийлүүлсэн 9-9.el9+ цөмтэй багцуудтай нийцтэй байх боломжийг олгодог. ARM64 архитектуртай системүүд дээр "CONFIG_JUMP_LABEL" горимд угсарсан.
Эх сурвалж: opennet.ru
