Kasper, in scanner foar spekulative koade-útfierproblemen yn 'e Linux-kernel, is no beskikber

In team fan ûndersikers fan 'e Frije Universiteit fan Amsterdam hat in Kasper-toolkit publisearre dy't ûntworpen is om koadefragmenten yn' e Linux-kernel te identifisearjen dy't brûkt wurde kinne om kwetsberens fan Specter-klasse te eksploitearjen dy't feroarsake binne troch spekulative koade-útfiering op 'e prosessor. De boarnekoade foar de toolkit wurdt ferspraat ûnder de Apache 2.0-lisinsje.

Lit ús ûnthâlde dat om oanfallen út te fieren lykas Specter v1, dy't it mooglik meitsje om de ynhâld fan ûnthâld te bepalen, is de oanwêzigens yn 'e befoarrjochte koade fan in bepaalde folchoarder fan kommando's (gadgets) nedich, wat liedt ta spekulative útfiering fan ynstruksjes . Foar optimisaasjedoelen begjint de prosessor sokke gadgets út te fieren yn spekulative modus, dan bepaalt dat de tûkefoarsizzing net rjochtfeardige wie en rôlet de operaasjes werom nei har oarspronklike steat, mar de gegevens ferwurke tidens spekulative útfiering einigje yn 'e cache en mikro-arsjitektoanyske buffers en is beskikber foar opheljen fan harren mei help fan ferskate metoaden bepale oerbleaune gegevens fia tredden kanalen.

Earder beskikbere ark foar it scannen fan gadgets foar de Spectre-kwetsberens, basearre op sykjen nei typyske patroanen, lieten in heul heech nivo fan falske positiven sjen, wylst in protte echte gadgets ûntbrekke (eksperiminten lieten sjen dat 99% fan gadgets identifisearre troch sokke ark net brûkt wurde foar oanfallen , en 33% fan wurkjende gadgets dy't liede kinne ta in oanfal, waarden net opmurken).

Om de kwaliteit fan it identifisearjen fan problematyske gadgets te ferbetterjen, modelleart Kasper kwetsberens dy't in oanfaller kin eksploitearje by elke stap fan it útfieren fan Spectre-klasse oanfallen - problemen dy't gegevenskontrôle mooglik meitsje wurde modeleare (bygelyks it ferfangen fan oanfallergegevens yn mikroarsjitektoanyske struktueren om de folgjende spekulative útfiering te beynfloedzjen mei LVI-klasse oanfallen), fa tagong ta fertroulike ynformaasje (Bygelyks, doe't giet fierder as buffer grinzen of brûkend ûnthâld neidat it is befrijd) en lek fertroulike ynformaasje (Bygelyks, troch analysearjen fan de steat fan de prosessor cache of mei help fan de MDS metoade).

Kasper, in scanner foar spekulative koade-útfierproblemen yn 'e Linux-kernel, is no beskikber

By it testen is de kernel keppele oan Kasper runtime-biblioteken en kontrolearret op it LLVM-nivo. It kontrôleproses emulearret de útfiering fan spekulative koade, ymplementearre mei it kontrôlepunt-herstelmeganisme, dy't spesifyk in ferkeard foarsein koadetûke útfiert, en dan werom rôlet nei de oarspronklike steat foardat de tûke begon. Kasper besiket ek ferskate software- en hardware-kwetsberheden te simulearjen, analysearret de ynfloed fan arsjitektoanyske en mikro-arsjitektoanyske effekten, en fiert fuzz-testen út fan mooglike oanfalleraksjes. Om útfieringsstreamen te analysearjen, wurdt de DataFlowSanitizer-poarte foar de Linux-kernel brûkt, en foar fuzzing-testen wurdt in wizige ferzje fan it syzkaller-pakket brûkt.

Kasper, in scanner foar spekulative koade-útfierproblemen yn 'e Linux-kernel, is no beskikber

In scan fan de Linux-kernel mei Kasper identifisearre 1379 earder ûnbekende gadgets dy't mooglik liede ta gegevenslekkage by spekulative útfiering fan ynstruksjes. It wurdt opmurken dat miskien mar guon fan harren meie posearje echte problemen, mar om te demonstrearjen dat der in echte gefaar, en net allinnich in teoretysk ien, in wurkjende prototype fan in eksploitaasje waard ûntwikkele foar ien fan de problematyske koade fragminten, dy't liedt ta ynformaasje lekkage út kernel ûnthâld.

Boarne: opennet.ru

Add a comment