Ilianzisha mbinu mpya ya kitambulisho cha mfumo uliofichwa na kivinjari

Kundi la watafiti kutoka Chuo Kikuu cha Kiufundi cha Graz (Austria), kilichojulikana hapo awali kwa kutengeneza mbinu za kushambulia MDS, NetSpecter ΠΈ Nyundo ya kutupa, kufunuliwa Taarifa kuhusu mbinu mpya ya uchanganuzi wa chaneli ya wahusika wengine ambayo hukuruhusu kubainisha toleo halisi la kivinjari, mfumo wa uendeshaji unaotumika, usanifu wa CPU na matumizi ya viongezi ili kupambana na utambulisho uliofichwa.

Kuamua vigezo hivi, inatosha kuendesha msimbo wa JavaScript ulioandaliwa na watafiti kwenye kivinjari. Kwa mazoezi, njia hiyo inaweza kutumika sio tu kama chanzo cha ziada cha kitambulisho cha moja kwa moja cha mtumiaji, lakini pia kuamua vigezo vya mazingira ya mfumo kwa matumizi yaliyolengwa ya unyonyaji, kwa kuzingatia OS, usanifu na kivinjari. Njia hiyo pia inafaa wakati wa kutumia vivinjari vinavyotumia njia zilizofichwa za kuzuia vitambulisho, kama vile Kivinjari cha Tor. Mfano wa msimbo wa chanzo na utekelezaji wa mbinu iliyochapishwa chini ya leseni ya MIT.

Uamuzi unafanywa kwa msingi wa kutambua mifumo ya hali ya mali katika JavaScript ambayo ni tabia ya vivinjari tofauti na sifa za muda wa utekelezaji wa shughuli, kulingana na sifa za JIT, CPU na taratibu za ugawaji kumbukumbu. Kufafanua sifa hufanywa kwa kutoa orodha ya vitu vyote vinavyopatikana kutoka kwa JavaScript. Kama ilivyotokea, idadi ya vitu inahusiana moja kwa moja na injini ya kivinjari na toleo lake.

kazi getProperties(o) {
var matokeo = [];
wakati (o !== null) {
matokeo = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
matokeo ya kurudi;
}

Kwa mfano, kwa Firefox nyaraka zinasema msaada wa mali 2247, wakati idadi halisi ya mali iliyofafanuliwa, ikiwa ni pamoja na zisizo na nyaraka, ni 15709 (katika Tor Browser - 15639), kwa Chrome 2698 mali zinatangazwa, lakini kwa kweli 13570 hutolewa (katika Chrome kwa Android - 13119) . Nambari na thamani za sifa hutofautiana kutoka toleo la kivinjari hadi toleo la kivinjari na katika mifumo tofauti ya uendeshaji.

Thamani na uwepo wa mali fulani zinaweza kutumika kuamua aina ya OS. Kwa mfano, katika Kubuntu mali ya window.innerWidth imewekwa 1000, na katika Windows 10 imewekwa 1001. Sifa ya window.navigator.activeVRDisplays inapatikana kwenye Windows, lakini haipatikani kwenye Linux. Kwa Android, simu nyingi maalum hutolewa, lakini window.SharedWorker haijatolewa. Ili kutambua mfumo wa uendeshaji, inapendekezwa pia kutumia uchambuzi wa vigezo vya WebGL, hali ambayo inategemea madereva. Kwa kuongeza, kupiga simu kwa WEBGL_debug_renderer_infoextension hukuruhusu kupata maelezo kuhusu injini ya uwasilishaji ya OpenGL, ambayo ni tofauti kwa kila mfumo wa uendeshaji.

Kuamua CPU, tathmini ya tofauti katika wakati wa utekelezaji wa vizuizi anuwai vya kawaida hutumiwa, usindikaji ambao unategemea usanifu wa seti ya maagizo, kwa kuzingatia tabia ya JIT (imedhamiriwa ni rejista ngapi za CPU zitatumika. na katika hali ambazo JIT itatoa nambari bora na uboreshaji na utumiaji wa maagizo yaliyopanuliwa, na wakati sio ). Kuamua aina ya mfumo wa ugawaji wa kumbukumbu na mfumo wa uendeshaji, tofauti katika muda wa ugawaji wa kumbukumbu kwa miundo mbalimbali pia hupimwa, ambayo inaweza kutumika kuhukumu ukubwa wa vitalu vya kumbukumbu.

Vigezo vilivyobainishwa wakati wa utekelezaji wa hati hulinganishwa na thamani za marejeleo za kawaida kwa mazingira yaliyojaribiwa hapo awali. Wakati wa jaribio, mbinu iliyotengenezwa ilifanya iwezekane kutambua kwa usahihi mazingira 40 tofauti ya majaribio, kubainisha matoleo ya vivinjari vilivyotumika, mtengenezaji wa CPU, mfumo wa uendeshaji uliotumika, na ukweli kwamba ilikuwa inaendeshwa kwenye maunzi halisi au kwenye mashine pepe.

Kando, inabainika kuwa inawezekana kufafanua viongezi vya kivinjari na hata mipangilio ya programu-jalizi ya mtu binafsi, ikiwa ni pamoja na programu-jalizi iliyoundwa kuzuia njia za utambulisho zilizofichwa au shughuli ya hali ya kuvinjari ya kibinafsi. Katika muktadha wa njia iliyopendekezwa, nyongeza kama hizo huwa chanzo kingine cha data kwa utambuzi. Nyongeza imedhamiriwa kwa kutathmini upotoshaji wa vigezo vya mazingira ya asili yaliyoletwa na nyongeza.

Mbinu zingine za kitambulisho ni pamoja na kuzingatia data isiyo ya moja kwa moja kama azimio la skrini, orodha ya aina za MIME zinazotumika, vigezo maalum kwenye vichwa (HTTP / 2 ΠΈ HTTPS), uchambuzi wa imewekwa programu-jalizi na fonti, upatikanaji wa API fulani za Wavuti, maalum kwa kadi za video makala utoaji kwa kutumia WebGL na Canvas, ghiliba na CSS, uchambuzi wa vipengele vya kufanya kazi na panya ΠΈ kibodi.

Chanzo: opennet.ru

Kuongeza maoni