Nisy vondrona mpikaroka avy amin'ny Vrije Universiteit Amsterdam nanolotra teknika fanafihana vaovao, SLAM (Spectre Linear Address Masking), izay manolotra fomba vaovao hampiasana ny fahalemen'ny microarchitectural an'ny kilasy Spectre, izay avoaka ny angona mandritra ny fandikana adiresy tsy kanônika, ary ampiasaina ny fanitarana fanaronana adiresy linear omena ao amin'ny processeur vaovao mba hialana amin'ny fanamarinana kanônika. Namoaka fitaovana misy fampiharana ny fomba ireo mpikaroka ary nanolotra fampisehoana mampiseho ny fomba ahafahana maka angona mifanaraka amin'ny saron-tava sasany avy amin'ny fahatsiarovana kernel (aseho amin'ny segondra vitsy ao anatin'ny... Ubuntu Manomeza tady misy ny tenimiafin'ny mpampiasa fototra avy amin'ny fahatsiarovana kernel).

Ny fanafihana dia azo atao amin'ny rafitra misy processeur Intel izay manohana ny fanitarana LAM (Linear Address Masking), processeur AMD miaraka amin'ny extension UAI (Upper Address Ignore), ary processeur ARM miaraka amin'ny fanitarana TBI (Top Byte Ignore). Ireo fanitarana ireo dia mamela ny sasany amin'ireo tsipika 64-bit ampiasaina hitahiry metadata tsy misy adiresy (ny programa mahazatra dia tsy mitaky fitadidiana betsaka araka izay azon'ny tondro 64-bit, ka ny bitika ambony dia azo ampiasaina amin'ny fiarovana mifandraika amin'ny fiarovana. fanamarinana, ohatra). Mahaliana fa ny Intel, AMD ary ny ARM processeur miaraka amin'ny fanohanana ny LAM, UAI ary TBI dia vao nambara, saingy tsy ao anatin'ny famokarana faobe, izay mahatonga ny SLAM ho fanafihana voalohany amin'ny CPU ho avy. Azo atao ihany koa ny fanafihana amin'ny CPU AMD Zen+ sy Zen 2 taloha izay marefo amin'ny vulnerability CVE-2020-12965.
Amin'ny fampitahana amin'ny fitrandrahana ny vulnerabilities Spectre, ny fanafihana SLAM dia mitaky ny fisian'ny filaharan'ny toromarika (gadgets) sasany ao amin'ny kernel izay mitarika amin'ny fanatanterahana toromarika. Ny toromarika toy izany dia miteraka famakiana tombantombana ny angon-drakitra avy amin'ny fitadidiana miankina amin'ny fepetra ivelany izay mety ho voataonan'ny mpanafika. Raha vao voafaritra ny vinavina diso dia ariana ny vokatry ny famonoana tombantombana, fa mijanona ao anaty cache ny angon-drakitra voarindra ary azo alaina amin'ny alalan'ny famakafakana an-tsisin-dalana. Mba hanesorana ny angona nipetraka tao amin'ny cache, ny mpikaroka dia mampiasa ny fomba Evict+Reload, izay mifototra amin'ny famoronana fepetra hamindrana angon-drakitra avy amin'ny cache (ohatra, mamorona hetsika izay mameno ny cache amin'ny atiny mahazatra) ary manao asa izay Ny fotoana famonoana dia ahafahan'ny olona mitsara ny fisian'ny data ao amin'ny cache processeur.
Mba hanatanterahana fanafihana SLAM dia ampiasaina ny gadget mifototra amin'ny kaody izay ampiasaina ho tondro ny angona fehezin'ny mpanafika (eo ambanin'ny fari-piadidiana "miafina"). Ohatra: void unmasked_gadget(long ** secret) { ** secret; }
Tsara homarihina fa matetika ampiasaina amin'ny fandaharana ireo lamina kaody ireo, ohatra, ao amin'ny kernel. Linux An'aliny maro amin'ireo fitaovana toy izany no efa fantatra, ary farafahakeliny an-jatony amin'izy ireo no azo ampiasaina. Azo sakanana ny fivoahan'ny angona amin'ny alàlan'ny fanampiana toromarika fanampiny amin'ireo fitaovana ireo izay manakana ny fampiharana vinavina. Mikasa ny hanome fomba rindrambaiko hanakanana ny fivoahan'ny angona ny Intel alohan'ny hanombohan'ny fandefasana ireo processeur ampiasain'ny LAM. Nanoro hevitra ny AMD ny hampiasana fomba efa misy hanakanana ny fanafihana Spectre v2. Mpamorona kernel Linux Mba hiarovana amin'ny fanafihana, nanapa-kevitra ny hanafoana ny fanohanan'ny LAM amin'ny alàlan'ny default izy ireo mandra-pamoakan'ny Intel tolo-kevitra momba ny fanakanana ny fahalemena.
Source: opennet.ru
