Ṣe agbekalẹ ilana tuntun fun eto ti o farapamọ ati idanimọ ẹrọ aṣawakiri

Ẹgbẹ kan ti awọn oniwadi lati Ile-ẹkọ Imọ-ẹrọ ti Graz (Austria), ti a mọ tẹlẹ fun idagbasoke awọn ọna ikọlu MDS, NetSspectre и Throwhammer, ṣiṣafihan Alaye nipa ilana itupalẹ ikanni ẹni-kẹta tuntun ti o fun ọ laaye lati pinnu ẹya gangan ti ẹrọ aṣawakiri, ẹrọ ṣiṣe ti a lo, faaji Sipiyu ati lilo awọn afikun lati dojuko idanimọ ti o farapamọ.

Lati pinnu awọn aye wọnyi, o to lati ṣiṣẹ koodu JavaScript ti a pese sile nipasẹ awọn oniwadi ninu ẹrọ aṣawakiri. Ni iṣe, ọna naa le ṣee lo kii ṣe bi orisun afikun nikan fun idanimọ aiṣe-taara ti olumulo, ṣugbọn tun lati pinnu awọn aye ti agbegbe eto fun lilo ibi-afẹde ti awọn ilokulo, ni akiyesi OS, faaji ati aṣawakiri. Ọna naa tun jẹ doko nigba lilo awọn aṣawakiri ti o ṣe awọn ọna ṣiṣe idena idanimọ ti o farapamọ, gẹgẹbi Tor Browser. Afọwọkọ koodu orisun pẹlu imuse ọna atejade labẹ iwe-aṣẹ MIT.

Ipinnu naa ni a ṣe lori ipilẹ ti idamo awọn ilana ipinlẹ ohun-ini ni JavaScript ti o jẹ ihuwasi ti awọn aṣawakiri oriṣiriṣi ati awọn abuda ti akoko ipaniyan ti awọn iṣẹ, da lori awọn abuda ti JIT, Sipiyu ati awọn ọna ipin iranti. Awọn ohun-ini asọye jẹ ṣiṣe nipasẹ ti ipilẹṣẹ atokọ ti gbogbo awọn nkan ti o wa lati JavaScript. Bi o ti wa ni titan, nọmba awọn nkan taara ni ibamu pẹlu ẹrọ aṣawakiri ati ẹya rẹ.

iṣẹ getProperties(o) {
var esi = [];
nigba (o!== asan) {
esi = result.concat (Reflect.ownKeys (o));
o = Object.getPrototypeOf (o);
}
esi pada;
}

Fun apẹẹrẹ, fun Firefox awọn iwe-ipamọ sọ atilẹyin fun awọn ohun-ini 2247, lakoko ti nọmba gangan ti awọn ohun-ini asọye, pẹlu awọn ti ko ni iwe-aṣẹ, jẹ 15709 (ni Tor Browser - 15639), fun awọn ohun-ini Chrome 2698 ti kede, ṣugbọn ni otitọ 13570 ni a funni (ninu Chrome fun Android - 13119). Nọmba ati awọn iye ti awọn ohun-ini yatọ lati ẹya ẹrọ aṣawakiri si ẹya aṣawakiri ati kọja awọn ọna ṣiṣe oriṣiriṣi.

Awọn iye ati wiwa ti awọn ohun-ini kan le ṣee lo lati pinnu iru OS. Fun apẹẹrẹ, ni Kubuntu ohun-ini window.innerWidth ti ṣeto si 1000, ati ni Windows 10 o ti ṣeto si 1001. Window.navigator.activeVRDisplays ohun ini wa lori Windows, ṣugbọn kii ṣe lori Linux. Fun Android, ọpọlọpọ awọn ipe kan pato ti pese, ṣugbọn window.SharedWorker kii ṣe. Lati ṣe idanimọ ẹrọ ṣiṣe, o tun dabaa lati lo igbekale ti awọn aye WebGL, ipo eyiti o da lori awọn awakọ. Ni afikun, pipe WEBGL_debug_renderer_infoextension faye gba o lati gba alaye nipa awọn OpenGL Rendering engine, eyi ti o yatọ si fun kọọkan ẹrọ.

Lati pinnu Sipiyu, iṣiro ti awọn iyatọ ninu akoko ipaniyan ti ọpọlọpọ awọn bulọọki koodu aṣoju ni a lo, ṣiṣe eyiti o da lori faaji ti eto ẹkọ, ni akiyesi ihuwasi JIT (o pinnu iye awọn iforukọsilẹ Sipiyu yoo ṣee lo. ati ninu awọn ọran ti JIT yoo ṣe agbekalẹ koodu daradara pẹlu awọn iṣapeye ati lilo awọn ilana ti o gbooro sii, ati nigbati kii ṣe ). Lati pinnu iru eto ipin iranti ati ẹrọ ṣiṣe, iyatọ ninu akoko ipin iranti fun awọn ẹya pupọ tun jẹ iwọn, eyiti o le ṣee lo lati ṣe idajọ iwọn awọn bulọọki iranti.

Awọn paramita ti a pinnu lakoko ipaniyan iwe afọwọkọ jẹ akawe pẹlu awọn iye itọkasi ni deede fun awọn agbegbe idanwo iṣaaju. Lakoko idanwo naa, ilana ti o dagbasoke jẹ ki o ṣee ṣe lati ṣe idanimọ deede 40 awọn agbegbe idanwo oriṣiriṣi, idamọ awọn ẹya ti awọn aṣawakiri ti a lo, olupese Sipiyu, ẹrọ iṣẹ ti a lo, ati otitọ pe o nṣiṣẹ lori ohun elo gidi tabi ni ẹrọ foju kan.

Lọtọ, o ṣe akiyesi pe o ṣee ṣe lati ṣalaye awọn afikun aṣawakiri ati paapaa awọn eto ifikun-ẹni kọọkan, pẹlu awọn afikun ti a ṣe apẹrẹ lati dènà awọn ọna idanimọ ti o farapamọ tabi iṣẹ ipo lilọ kiri ni ikọkọ. Ni ipo ti ọna ti a dabaa, iru awọn afikun di orisun miiran ti data fun idanimọ. Awọn afikun jẹ ipinnu nipasẹ ṣiṣe iṣiro awọn ipalọlọ ti awọn aye ti agbegbe atilẹba ti a ṣafihan nipasẹ awọn afikun.

Awọn ọna idanimọ miiran pẹlu gbigbe sinu apamọ iru data aiṣe-taara bii iboju ipinnu, atokọ ti awọn iru MIME ti o ni atilẹyin, awọn paramita kan pato ninu awọn akọle (HTTP / 2 и HTTPS), igbekale ti fi sori ẹrọ afikun ati awọn nkọwe, wiwa awọn API Wẹẹbu wẹẹbu kan, pato si awọn kaadi fidio awọn ẹya Rendering lilo WebGL ati kanfasi, ifọwọyi pẹlu CSS, igbekale awọn ẹya ara ẹrọ ti ṣiṣẹ pẹlu eku и keyboard.

orisun: opennet.ru

Fi ọrọìwòye kun