Pjanijiet biex Tissaħħaħ il-Mekkaniżmu tas-Sigurtà W^X ta' OpenBSD

Theo De Raadt maqsuma jippjana li jsaħħaħ il-mekkaniżmu ta 'protezzjoni tal-memorja W^X (Write XOR Execute). L-essenza tal-mekkaniżmu hija li l-paġni tal-memorja tal-proċess ma jistgħux jiġu aċċessati simultanjament għall-kitba u l-eżekuzzjoni. Għalhekk, il-kodiċi jista 'jiġi eżegwit biss wara li l-kitba tkun diżattivata, u l-kitba f'paġna tal-memorja hija possibbli biss wara li l-eżekuzzjoni tkun diżattivata. Il-mekkaniżmu W^X jgħin biex jipproteġi l-applikazzjonijiet tal-ispazju tal-utent minn attakki komuni ta' buffer overflow, inklużi stack overflows, u huwa attiv f'OpenBSD b'kontumaċja.

Mill-bidu tax-xogħol fuq W^X, kien ċar li din kienet triq twila, peress li kien hemm numru sinifikanti ta' applikazzjonijiet li jużaw JIT. L-implimentazzjonijiet tal-JIT jistgħu jinqasmu fi tliet kategoriji:

  • Taqleb il-memorja bejn l-istati W u X, taċċetta l-"ispiża" tas-sejħa tas-sistema mprotect.
  • Ħolqien ta' psewdonimi bejn par ta' mappings W u X tal-istess memorja.
  • L-iktar għażla "maħmuġa" teħtieġ mudell ta 'memorja W|X li jippermetti reġistrazzjoni u eżekuzzjoni simultanja.

Bħalissa, hemm ħafna inqas programmi li jużaw it-tielet għażla u aktar li jużaw l-ewwel u t-tieni. Madankollu, peress li kien meħtieġ li jitmexxew programmi b'W|X JIT (prinċipalment Chromium u Iridum), ġiet miżjuda għażla ta 'muntaġġ ta' sistema ta 'fajls "wxallowed", li ppermettiet li l-memorja tintuża simultanjament kemm għall-kitba kif ukoll għall-eżekuzzjoni, f'każ li l-ELF eżekutibbli Il-fajl huwa mmarkat bil-markatur "wxneeded", u l-applikazzjonijiet infushom kienu protetti wkoll permezz ta' mekkaniżmi rahan и tikxef biex jillimitaw il-lista tas-sejħiet tas-sistema użati u partijiet tas-sistema tal-fajls disponibbli għall-applikazzjoni, rispettivament.

Biex tikkomplika aktar l-isfruttament tal-vulnerabbiltajiet f'applikazzjonijiet bħal dawn, qed tiġi proposta żieda mal-mekkaniżmu MAP_STACK, li jiċċekkja jekk is-sejħa tas-sistema tkunx qed tiġi esegwita minn paġna tal-memorja li tista' tinkiteb. Jekk il-paġna tista' tinkiteb, il-proċess jiġi sfurzat jintemm. B'dan il-mod, attakkant ma jkunx jista' jisfrutta s-sejħiet tas-sistema u se jkun sfurzat jipprova jsib l-aġġeġġi meħtieġa fl-implimentazzjoni tal-JIT jew saħansitra jagħmel ix-xogħol aktar diffiċli li jiskopri s-sejħiet tas-sistema direttament ġewwa. libc marbuta aċċidentalment.

Il-proċessi Chrome/Iridium huma diġà protetti b'mod pjuttost affidabbli bl-użu ta 'rahan u żvelat, iżda t-tneħħija tal-abbiltà li tuża, pereżempju, is-sejħa tas-sistema write(2) ovvjament għandha xi vantaġġ, peress li toħloq diffikultajiet addizzjonali għall-attakkant. Madankollu, jistgħu jinqalgħu wkoll diffikultajiet jekk l-implimentazzjoni JIT tuża sejħiet tas-sistema nattiva mill-memorja W|X. Madankollu, hemm raġuni biex wieħed jittama li dan mhux se jkun il-każ, peress li l-ABI inbidel diversi drabi, iżda ħadd qatt ma rraporta problemi.

Il-bidliet huma diġà disponibbli fi snapshots regolari tal-fergħa OpenBSD-kurrent, kull min hu interessat huwa mistieden biex jittestja.

Aħbarijiet relatati dwar id-dehra tal-mod f'Chrome/Iridium jistħoqqilhom kumment separat minn Theo JITless. Mill-perspettiva tiegħu, dan huwa aċċettabbli għal xi mudelli ta 'użu, iżda probabbilment mhux għal kulħadd, peress li dan il-mod ovvjament se jżid it-tagħbija fuq il-proċessur. Bħalissa, Chrome se jaħdem l-aktar jekk tiddiżattiva "wxallowed" għal /usr/local, għalkemm jista 'jkun hemm problemi b'xi estensjonijiet (ghostery huwa eżempju). B'xi mod jew ieħor, Theo jittama li x-xogħol sħiħ fil-modalità JITless jinġieb għal stat kompletament operattiv fil-futur qarib.

Sors: opennet.ru

Żid kumment