Consilia ad confirma OpenBSD scriptor W ^ X Securitatis Mechanismum

Theo De Raadt shared consilia ad confirmandum W^X (Scribe XOR Execute) memoriae praesidium mechanismum. Ratio mechanismi est quod processus memoriae paginae non possunt simul accedere ad scripturam et ad executionem. Ita codice exsecutioni mandari potest nisi postquam scriptura debilitata est, et scriptura ad memoriam pagina fieri potest, nisi postquam exsecutio debilitata est. Mechanismus W^X adiuvat applicationes usoris spatii a communibus obiectionibus exundantibus, inclusis ACERVUS scatet, et in OpenBSD activa est. per default.

Ab initio laboris in W^X apparebat hanc longam viam fuisse, cum notabilis numerus applicationum JIT utentium. JIT exsecutiones in tria genera dividi possunt;

  • Commutatio memoriam inter W et X civitates, "sumptum" vocationis systematis accipiendo mprotect.
  • Aliases inter binas W et X mappings eiusdem memoriae creans.
  • Optio maxime "sordida" requirit W|X memoriae exemplum quod simultaneum memoria et exsecutio concedit.

In praesenti, signanter pauciores programmata sunt tertia optione et magis prima et secunda utentes. Tamen, cum opus esset ut programmata cum W|X JIT (maxime Chromium et Iridum decurrerent), a "wxallowed" optio filesystem montis addita est, quae memoria simul pro utroque scripto et execu- tione adhibenda permisit, in casu si ELF exsecutabile fasciculus notatur "wxneeded" titulum, et applicationes ipsae machinationibus utentes superaddita sunt. pignus ΠΈ `revelare indicem systematis vocat adhibitum circumscribere et partium tabellariorum applicationi respective.

Ut ulterius iniicias abusionem vulnerum in huiusmodi applicationibus, additio mechanismi proponitur MAP_STACKquae an ratio vocationis sistit ex pagina memoriae writable peragitur. Si pagina writable est, processus terminare cogatur. Hoc modo, oppugnator vocatus systema fictum non poterit, et cogetur experiri ut necessarias gadgetes in JIT exsecutionem invenire, vel etiam opus difficilius deprehendendi ratio vocationis stipulas directe intus includat. accidens coniunctum libc.

Processus Chrome/Iridium iam satis fideliter custodiuntur utendi pignus et detege, sed facultatem tollendi utendi, exempli gratia, ratio scribentis, ratio vocationis manifesto aliquid habet utilitatis, cum adiectis difficultatibus oppugnanti creet. Difficultates tamen etiam oriri possunt si JIT exsecutionem systematis nativi usus vocat ex memoria W|X. Sed sperandum est hoc non fore, cum ABI aliquoties mutatum est, at nemo problemata retulit.

Mutationes iam praesto sunt in regularibus snapshots rami OpenBSD-Currentis, omnes quorum interest ad experiendum invitantur.

Related news de specie modi in Chrome/Iridium commentarium separatum meretur a Theo JITless. Ex eius sententia hoc placet aliquibus exemplaribus adhibitis, sed probabiliter non omnibus, quia hic modus in processu onus augebit manifesto. In statu, Chrome maxime laborabit si "usr/locum" "wxallowed" disable, quamvis problemata sint cum aliquibus extensionibus (symbrium est exemplum). Uno modo vel alio modo, Theo sperat opus plenum mobilem in JITless modo ad statum perfecte perficiendum in proximo futurum.

Source: opennet.ru