Cyflwyno techneg newydd ar gyfer adnabod systemau cudd a phorwyr

Grŵp o ymchwilwyr o Brifysgol Dechnegol Graz (Awstria), a oedd yn adnabyddus yn flaenorol am ddatblygu dulliau ymosod MDS, NetSbectr и Throwhammer, dadorchuddio Gwybodaeth am dechneg dadansoddi sianel trydydd parti newydd sy'n eich galluogi i bennu union fersiwn y porwr, y system weithredu a ddefnyddir, pensaernïaeth y CPU a'r defnydd o ychwanegion i frwydro yn erbyn adnabod cudd.

Er mwyn pennu'r paramedrau hyn, mae'n ddigon rhedeg cod JavaScript a baratowyd gan ymchwilwyr yn y porwr. Yn ymarferol, gellir defnyddio'r dull nid yn unig fel ffynhonnell ychwanegol ar gyfer adnabod y defnyddiwr yn anuniongyrchol, ond hefyd i bennu paramedrau amgylchedd y system ar gyfer defnyddio campau wedi'u targedu, gan ystyried yr OS, pensaernïaeth a porwr. Mae'r dull hefyd yn effeithiol wrth ddefnyddio porwyr sy'n gweithredu mecanweithiau rhwystro adnabod cudd, megis Porwr Tor. Prototeip cod ffynhonnell gyda gweithredu dull cyhoeddi dan drwydded MIT.

Gwneir y penderfyniad ar sail nodi'r patrymau cyflwr eiddo yn JavaScript sy'n nodweddiadol o wahanol borwyr a nodweddion amser gweithredu gweithrediadau, yn dibynnu ar nodweddion y mecanweithiau JIT, CPU a dyrannu cof. Diffinio priodweddau yn cael ei wneud drwy gynhyrchu rhestr o'r holl wrthrychau hygyrch o JavaScript. Fel y digwyddodd, mae nifer y gwrthrychau yn cydberthyn yn uniongyrchol â'r peiriant porwr a'i fersiwn.

ffwythiant getProperties(o) {
var canlyniad = [];
tra (o!== null) {
canlyniad = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
canlyniad dychwelyd;
}

Er enghraifft, ar gyfer Firefox mae'r ddogfennaeth yn nodi cefnogaeth ar gyfer 2247 eiddo, tra bod nifer gwirioneddol yr eiddo diffiniedig, gan gynnwys rhai heb eu dogfennu, yn 15709 (yn Porwr Tor - 15639), ar gyfer eiddo Chrome 2698 yn cael eu datgan, ond mewn gwirionedd cynigir 13570 (yn Chrome ar gyfer Android - 13119) . Mae nifer a gwerthoedd eiddo yn amrywio o fersiwn porwr i fersiwn porwr ac ar draws gwahanol systemau gweithredu.

Gellir defnyddio gwerthoedd a phresenoldeb eiddo penodol i bennu'r math o OS. Er enghraifft, yn Kubuntu mae'r eiddo window.innerWidth wedi'i osod i 1000, ac yn Windows 10 mae wedi'i osod i 1001. Mae eiddo window.navigator.activeVRDisplays ar gael ar Windows, ond nid yw ar gael ar Linux. Ar gyfer Android, darperir llawer o alwadau penodol, ond nid yw window.SharedWorker. Er mwyn nodi'r system weithredu, cynigir hefyd defnyddio dadansoddiad o baramedrau WebGL, y mae ei gyflwr yn dibynnu ar y gyrwyr. Yn ogystal, mae galw WEBGL_debug_renderer_infoextension yn caniatáu ichi gael gwybodaeth am yr injan rendro OpenGL, sy'n wahanol ar gyfer pob system weithredu.

I bennu'r CPU, defnyddir asesiad o wahaniaethau yn amser gweithredu amrywiol flociau cod nodweddiadol, y mae eu prosesu yn dibynnu ar bensaernïaeth y set gyfarwyddiadau, gan ystyried ymddygiad JIT (pennir faint o gofrestrau CPU a ddefnyddir ac mewn achosion lle bydd JIT yn cynhyrchu cod effeithlon gydag optimeiddio a defnyddio cyfarwyddiadau estynedig, a phryd na fyddant ). Er mwyn pennu'r math o system dyrannu cof a system weithredu, mae'r gwahaniaeth mewn amser dyrannu cof ar gyfer strwythurau amrywiol hefyd yn cael ei fesur, y gellir ei ddefnyddio i farnu maint blociau cof.

Mae'r paramedrau a bennir yn ystod gweithredu sgript yn cael eu cymharu â gwerthoedd cyfeirio sy'n nodweddiadol ar gyfer amgylcheddau a brofwyd yn flaenorol. Yn ystod y prawf, roedd y dechneg ddatblygedig yn ei gwneud hi'n bosibl nodi 40 o wahanol amgylcheddau prawf yn gywir, gan nodi'r fersiynau o borwyr a ddefnyddiwyd, y gwneuthurwr CPU, y system weithredu a ddefnyddiwyd, a'r ffaith ei fod yn rhedeg ar galedwedd go iawn neu mewn peiriant rhithwir.

Ar wahân, nodir ei bod yn bosibl diffinio ychwanegion porwr a hyd yn oed gosodiadau ychwanegion unigol, gan gynnwys ychwanegion sydd wedi'u cynllunio i rwystro dulliau adnabod cudd neu weithgaredd modd pori preifat. Yng nghyd-destun y dull arfaethedig, mae ychwanegiadau o'r fath yn dod yn ffynhonnell arall o ddata ar gyfer adnabod. Pennir ychwanegiadau trwy asesu afluniadau paramedrau'r amgylchedd gwreiddiol a gyflwynwyd gan yr ychwanegiadau.

Mae dulliau adnabod eraill yn cynnwys ystyried data anuniongyrchol fel datrysiad sgrin, rhestr o fathau MIME a gefnogir, paramedrau penodol mewn penawdau (HTTP / 2 и HTTPS), dadansoddiad o osod ategion a ffontiau, argaeledd APIs Gwe penodol, sy'n benodol i gardiau fideo Nodweddion rendro gan ddefnyddio WebGL a Canvas, trin gyda CSS, dadansoddiad o nodweddion gweithio gyda llygoden и bysellfwrdd.

Ffynhonnell: opennet.ru

Ychwanegu sylw