Atụmatụ iji wusie usoro nchekwa W^X OpenBSD ike

Theo De Raadt akọrọ na-eme atụmatụ iwusi usoro nchekwa nchekwa nchekwa W^X (Dee XOR Execute). Ihe kacha mkpa nke usoro a bụ na enweghị ike ịnweta ibe ebe nchekwa usoro n'otu oge maka ide na igbu. Ya mere, koodu nwere ike igbu naanị mgbe enwere nkwarụ ederede, na ide ihe na ibe ebe nchekwa ga-ekwe omume naanị mgbe emechara ya. Usoro W^X na-enyere aka ichekwa ngwa-oghere onye ọrụ site na mbuso oke oke ibu, gụnyere oke njupụta, ma na-arụ ọrụ na OpenBSD ndabara.

Site na mmalite nke ọrụ na W^X, o doro anya na nke a bụ ogologo ụzọ, ebe ọ bụ na e nwere ọnụ ọgụgụ dị ịrịba ama nke ngwa na-eji JIT. Enwere ike kewaa mmejuputa JIT ụzọ atọ:

  • Ịgbanwe ebe nchekwa n'etiti steeti W na X, na-anabata "ego" nke oku sistemụ imeghari.
  • Ịmepụta utu aha n'etiti ụzọ abụọ W na X nke otu ebe nchekwa.
  • Nhọrọ kachasị "unyi" chọrọ ụdị ebe nchekwa W|X nke na-enye ohere ịdekọ na igbu oge.

Ugbu a, enwere obere mmemme na-eji nhọrọ nke atọ yana ndị ọzọ na-eji nke mbụ na nke abụọ. Agbanyeghị, ebe ọ dị mkpa iji W | X JIT mee mmemme (karịsịa Chromium na Iridum), agbakwunyere “wxallowed” filesystem mount option, nke kwere ka ejiri ebe nchekwa mee ihe n'otu oge maka ide na igbu, ma ọ bụrụ na ELF nwere ike ime ya. akara faịlụ na “wxneeded” marker, na-echekwara ngwa ndị ahụ n'onwe ha site na iji usoro nkwa и kpughee iji kpachie ndepụta oku sistemu eji na akụkụ nke sistemụ faịlụ dị na ngwa ahụ, n'otu n'otu.

Iji mekwuo mgbagwoju anya nrigbu nke adịghị ike na ngwa ndị dị otú ahụ, a na-atụ aro mgbakwunye na usoro ahụ. MAP_STACK, nke na-enyocha ma a na-eme oku sistemụ site na ibe ebe nchekwa ederede. Ọ bụrụ na ibe a na-ede ede, a na-amanye usoro ahụ ka ọ kwụsị. N'ụzọ dị otú a, onye na-awakpo agaghị enwe ike iji usoro oku na-eme ihe, a ga-amanye ya ịnwale ịchọta ngwa ndị dị mkpa na mmejuputa JIT ma ọ bụ ọbụna rụọ ọrụ siri ike karị nke ịchọpụta stubs usoro oku ozugbo n'ime. njikọ libc na mberede.

A na-echekwa usoro Chrome/Iridium nke ọma site na iji nkwa na mkpughe, mana iwepụ ikike iji, dịka ọmụmaatụ, oku usoro dee (2) nwere uru ụfọdụ, ebe ọ na-emepụta ihe isi ike ndị ọzọ maka onye na-awakpo. Agbanyeghị, ihe isi ike nwekwara ike ibilite ma ọ bụrụ na mmejuputa JIT na-eji oku sistemụ ala sitere na ebe nchekwa W|X. Otú ọ dị, e nwere ihe mere a ga-eji nwee olileanya na nke a agaghị adị, ebe ọ bụ na ABI agbanweela ọtụtụ ugboro, ma ọ dịghị onye kọrọ nsogbu.

Mgbanwe ndị ahụ adịlarị na foto ọ bụla nke ngalaba OpenBSD-Ugbu a, a na-akpọ onye ọ bụla nwere mmasị ka ọ nwalee.

Ozi metụtara gbasara ọdịdị nke ọnọdụ na Chrome/Iridium kwesịrị ikwu okwu dị iche na Theo JITless. Site n'echiche ya, a na-anabata nke a maka ụfọdụ ụdị eji eme ihe, ma eleghị anya ọ bụghị maka ihe niile, ebe ọ bụ na ọnọdụ a ga-apụta ìhè na-abawanye ibu na processor. Ugbu a, Chrome ga-arụkarị ọrụ ma ọ bụrụ na ị gbanyụọ "wxallowed" maka / usr / mpaghara, n'agbanyeghị na enwere ike inwe nsogbu na ndọtị ụfọdụ (ghostery bụ ọmụmaatụ). Otu ụzọ ma ọ bụ ọzọ, Theo na-atụ anya na a ga-ebute ọrụ zuru oke na ọnọdụ JITless na ọnọdụ ọrụ zuru oke n'ọdịnihu dị nso.

isi: opennet.ru

Tinye a comment