Ho sibollotsoe tlokotsi ea sehlopha sa Meltdown ho li-processor tsa AMD tse ipapisitseng le meralo e menyenyane ea Zen+ le Zen 2.

Sehlopha sa bafuputsi ba tsoang Technical University of Dresden se khethile ho ba kotsing (CVE-2020-12965) ho li-processor tsa AMD tse thehiloeng ho Zen + le Zen 2 microarchitectures, e lumellang tlhaselo ea sehlopha sa Meltdown. Qalong ho ne ho nahanoa hore li-processor tsa AMD Zen + le Zen 2 ha li kotsing ea ho ba kotsing ea Meltdown, empa bafuputsi ba ile ba supa tšobotsi e lebisang phihlellong e inahaneloang ea libaka tsa memori tse sirelelitsoeng ha ba sebelisa liaterese tse seng tsa molao.

Mohaho oa AMD64 o sebelisa li-bits tsa pele tse 48 feela tsa aterese ea sebele mme o hlokomoloha likotoana tse 16 tse setseng. Ho hlalositsoe hore li-bits 48 ho isa ho 63 li tlameha ho kopitsa boleng ba bit 47 kamehla (sign bit extension). Haeba boemo bona bo hatakeloa 'me ho etsoa boiteko ba ho fumana aterese e nang le boleng bo holimo ba li-bits tse holimo, processor e hlahisa mokhelo. Ho tlatsa li-bits tse ka holimo khafetsa ho etsa hore sebaka se fumanehang sa aterese se aroloe ka li-blocks tse peli - e ka tlaase (ho tloha 0 ho ea ho 00007FFFFFFFFFFFFFFFF), moo li-bits tse ka holimo li behiloeng ho 800000000000, le e ka holimo (ho tloha FFFF1 ho ea FFFFFFFFFFFFFFFF), moo likarolo tsohle tse ka holimo li behiloe ho XNUMX.

Liaterese tse oelang ka har'a li-blocks tse boletsoeng li bitsoa canonical, 'me liaterese tse sa nepahalang tse nang le litaba tse ka har'a likarolo tse ka holimo li bitsoa non-canonical. Mefuta e tlase ea liaterese tsa li-canonical hangata e abeloa data ea ts'ebetso, 'me sebaka se kaholimo se sebelisoa bakeng sa data ea kernel (ho fihlella liaterese tsena ho tsoa sebakeng sa mosebelisi ho koetsoe maemong a karohano ea tokelo).

Tlokotsi ea khale ea Meltdown e ipapisitse le taba ea hore nakong ea ts'ebetso e inahaneloang ea litaelo, processor e ka fihlella sebaka sa data sa poraefete ebe e lahla sephetho hobane litokelo tse behiloeng li thibela phihlello e joalo ts'ebetsong ea mosebelisi. Lenaneong, thibelo e entsoeng ka mokhoa o nahanang e arohanngoa le khoutu e ka sehloohong ke lekala le nang le maemo, leo maemong a sebele le lulang le tuka, empa ka lebaka la hore polelo e nang le maemo e sebelisa boleng bo lekantsoeng boo processor a sa bo tsebeng nakong ea ts'ebetso ea pele. khoutu, likhetho tsohle tsa lekala li etsoa ka mokhoa o nahanang.

Kaha ts'ebetso e entsoeng ka mokhoa o nahanang e sebelisa cache e tšoanang le litaelo tse tloaelehileng, hoa khoneha nakong ea ts'ebetso e inahaneloang ho beha matšoao ka har'a cache e bonts'ang likahare tsa likotoana sebakeng sa memori ea poraefete, ebe ka mokhoa o tloaelehileng o phethiloe ho fumana boleng ba bona ka nako. tlhahlobo e fihlella ho data e bolokiloeng le e sa bolokoang.

Karolo ea bofokoli bo bocha bo amang li-processor tsa AMD Zen + le Zen 2 ke hore li-CPU li lumella ts'ebetso e inahaneloang ea ho bala le ho ngola e fihlelang mohopolo o sebelisa liaterese tse sa nepahalang tseo e seng tsa molao, ho iphapanyetsa li-bits tse 16 tse holimo. Kahoo, nakong ea ts'ebetso ea khoutu e inahaneloang, processor e lula e sebelisa li-bits tse tlase tse 48 feela, 'me bonnete ba aterese bo hlahlojoa ka thoko. Haeba, ha ho fetoleloa aterese eo e seng ea li-canonical ho aterese ea 'mele ho associative translation buffer (TLB), papali e fumanoa karolong e ka holimo ea aterese, joale ts'ebetso e nahanang ea mojaro e tla khutlisa boleng ntle le ho ela hloko litaba tse ka hare. ea li-bits tse ka holimo tsa 16, tse lumellang ho feta ho arolelana mohopolo pakeng tsa likhoele. Kamora moo, ts'ebetso e tla nkuoa e sa sebetse ebile e lahliloe, empa phihlello ea memori e tla phetheloa mme data e tla fella ka cache.

Nakong ea teko, ba sebelisa mokhoa oa ho khetholla se ka hare ho cache ea FLUSH + RELOAD, bafuputsi ba ile ba khona ho hlophisa mocha oa ho fetisetsa data e patiloeng ka lebelo la li-byte tsa 125 motsotsoana. Ntle le li-chips tsa AMD, bothata bo boetse bo ama li-processor tsohle tsa Intel, tse kotsing ea ho ba kotsing ea khale ea Meltdown. Mekhoa e tšoanang e thusang ho thibela litlhaselo tsa Meltdown, tse kang ho sebelisa litaelo tsa LFENCE, li ka sebelisoa ho sireletsa khahlanong le mofuta ona o mocha oa tlhaselo. Mohlala, haeba processor ea Intel e kenyelletsa ts'ireletso ea Hardware khahlano le Meltdown kapa sistimi e na le ts'ireletso ea software e lumelletsoeng, litlhophiso tse joalo ha li khone ho hlaseloa ke mofuta o mocha oa tlhaselo.

Ka nako e ts'oanang, bafuputsi ba hlokomela hore, ha ho bapisoa le li-processor tsa Intel, mohaho oa li-processor tsa AMD o fokotsa monyetla oa ho etsa litlhaselo tsa sebele, empa ha o kenyelle tšebeliso ea mokhoa o mocha hammoho le litlhaselo tse ling tsa microarchitectural ho eketsa katleho ea bona. Haholo-holo, tlhaselo e reriloeng ha e lumelle motho ho tseba se ka hare ho libaka tsa memori tsa kernel le lits'ebetso tse ling, empa e lekanyelitsoe ho bokhoni ba ho fumana likhoele tse ling tsa lenaneo le ts'oanang le sebetsang sebakeng se tšoanang sa mohopolo.

Kaha lenaneo le se nang tlokotsi le na le bokhoni ba ho fumana likhoele tsa lona, ​​ho ea ka pono e sebetsang mokhoa ona ke oa thahasello bakeng sa ho feta ho itšehla thajana le ho hlophisa ho kena-kenana le mosebetsi oa likhoele tse ling mananeong a lumellang ho etsoa ha motho oa boraro. khoutu, joalo ka libatli tsa marang-rang le lienjineri tsa JIT . Bafuputsi ba ile ba lekola bofokoli ba enjene ea SpiderMonkey JavaScript le kernel ea Linux ho hlasela, empa ha ba ka ba fumana tatellano ea likhoutu e kotsing e ka sebelisoang ho etsa tlhaselo. Ntle le ho hlasela lits'ebetso, mokhoa ona o ka boela oa sebelisoa ho qobella phallo e sa amoheleheng ea data pakeng tsa likarolo tsa microarchitectural tsa processor ha o ntse o sebelisa hampe bofokoli bo bong ba meralo.

Source: opennet.ru

Eketsa ka tlhaloso