Fuafuaga e Fa'amalosia le OpenBSD's W^X Security Mechanism

Theo De Raadt fefaʻasoaaʻi fuafuaga e fa'amalosia le W^X (Write XOR Execute) masini puipuia o manatuaga. O le ute o le masini o le faagasologa o itulau manatua e le mafai ona maua i le taimi e tasi mo le tusitusi ma le faʻatinoina. O le mea lea, e mafai ona faʻatinoina le code pe a uma ona faʻaletonu le tusitusi, ma o le tusitusi i se itulau manatua e mafai ona faatoa mafai pe a maeʻa le faʻatinoga. O le masini W^X e fesoasoani e puipuia ai le fa'aoga-avanoa talosaga mai osofa'iga fa'afefe masani, e aofia ai fa'aputu, ma o lo'o galue i OpenBSD. lē mafai.

Mai le amataga o le galuega i le W^X, na manino mai o se auala umi lenei, talu ai sa i ai se numera tele o talosaga e faʻaaoga ai le JIT. JIT faʻatinoga e mafai ona vaevaeina i ni vaega se tolu:

  • Suia mafaufauga i le va o W ma X setete, talia le "tau" o le telefoni feaveaʻi mpuipui.
  • Fausia igoa i le va o se pea o W ma X mappings o le manatua tutusa.
  • Ole filifiliga pito sili ona "palapala" o mea ia e mana'omia se W | X fa'ata'ita'iga fa'ata'ita'iga e fa'ataga ai le pu'eina fa'atasi ma le fa'atinoina.

I le taimi nei, e matua itiiti lava polokalame e faʻaaoga ai le filifiliga lona tolu ma sili atu le faʻaaogaina o le muamua ma le lua. Ae ui i lea, talu ai e tatau ona faʻatautaia polokalame ma W | X JIT (tele Chromium ma Iridum), na faʻaopoopoina ai le "wxallowed" filesystem mount option, lea na mafai ai ona faʻaogaina le manatua i le taimi e tasi mo le tusitusi ma le faʻatinoina, pe a fai o le ELF faʻatinoina. faila ua faailogaina i le faailoga "wxneeded", ma o talosaga lava latou na puipuia atili e ala i masini. tautoga и afe le veli e faʻatapulaʻa le lisi o telefoni faʻaoga faʻaoga ma vaega o le faila faila o loʻo avanoa i le talosaga, taʻitasi.

Ina ia atili faʻalavelaveina le faʻaogaina o faʻafitauli i ia talosaga, o se faʻaopoopoga i le masini ua faʻatulagaina. MAP_STACK, lea e siaki pe o le polokalama telefoni o loʻo faʻatinoina mai se itulau manatua tusitusia. Afai o le itulau e mafai ona tusia, o le faagasologa e faamalosia e faamuta. I lenei auala, o le a le mafai e le tagata osofaʻi ona faʻaaogaina telefoni feaveaʻi ma o le a faʻamalosia e taumafai e suʻe mea e manaʻomia i le JIT faʻatinoga, poʻo le faia foi o le galuega sili atu ona faigata o le suʻeina o paʻu telefoni i totonu. fa'afuase'i feso'ota'i libc.

Chrome / Iridium faiga ua leva ona faʻatuatuaina puipuia e faʻaaoga ai le tautoga ma le faʻaalia, ae o le aveesea o le gafatia e faʻaaoga, mo se faʻataʻitaʻiga, o le tusi (2) telefoni feaveaʻi e mautinoa lava e iai se avanoa, talu ai e mafua ai faʻafitauli faaopoopo mo le osofaʻiga. Ae ui i lea, e mafai foʻi ona tulaʻi mai faʻafitauli pe a faʻaaogaina e le JIT faʻaogaina telefoni mai le W | X memory. Ae ui i lea, e iai le mafuaaga e faʻamoemoe ai e le o le tulaga lea, talu ai ua suia le ABI i le tele o taimi, ae leai se tasi na lipotia faʻafitauli.

O suiga ua uma ona maua i ata masani o le OpenBSD-Current lala, o tagata uma e fiafia e valaʻaulia e suʻe.

Tala faʻatatau e uiga i le faʻaalia o le faiga i Chrome / Iridium e manaʻomia se faʻamatalaga ese mai Theo JITless. Mai lona manatu, e talia lenei mea mo nisi faʻataʻitaʻiga faʻaoga, ae masalo e le mo tagata uma, talu ai o lenei faiga o le a faʻateleina ai le uta i luga o le processor. I le taimi nei, e tele lava ina galue Chrome pe afai e te faʻamalo le "wxallowed" mo / usr / local, e ui lava e iai faʻafitauli i nisi faʻaopoopoga (ghostery o se faʻataʻitaʻiga). I se tasi auala poʻo se isi, e faʻamoemoe Theo o le galuega atoatoa i le JITless mode o le a aumaia i se tulaga faʻatinoina atoatoa i se taimi lata mai.

puna: opennet.ru

Faaopoopo i ai se faamatalaga