Kasper, en skanner för problem med spekulativ kodexekvering i Linux-kÀrnan, Àr tillgÀnglig.

En grupp forskare frÄn Vrije Universiteit Amsterdam har publicerat verktyget Kasper, som Àr avsett att identifiera kodavsnitt i Linux-kÀrnan som kan utnyttjas för att exploatera sÄrbarheter av typen Spectre, orsakade av processorns spekulativa kodexekvering. KÀllkoden för verktyget distribueras under Apache 2.0-licensen.

Det Àr vÀrt att pÄminna om att sÄdana attacker som Spectre v1, som möjliggör bestÀmning av minnesinnehÄll, krÀver en viss sekvens av instruktioner (gadgets) i privilegierad kod, vilket leder till spekulativ exekvering av instruktioner. För att optimera pÄbörjar processorn att utföra dessa gadgets i spekulativt lÀge, för att sedan faststÀlla att grenprediktionen var felaktig och ÄterstÀlla operationerna till sitt ursprungliga tillstÄnd, men de data som hanterats under den spekulativa exekveringen stannar kvar i cachen och mikroarchitektoniska buffertar och Àr tillgÀngliga för extraktion med hjÀlp av olika metoder för att identifiera resterande data via sidokanaler.

Tidigare tillgÀngliga verktyg för att skanna gadgets för Spectre-sÄrbarheten, baserade pÄ mönsterigenkÀnning, visade en mycket hög nivÄ av falska positiva resultat, samtidigt som de missade mÄnga verkliga gadgets (experiment har visat att 99% av de gadgets som upptÀcktes med sÄdana verktyg inte kunde anvÀndas för attacker, och 33% av de funktionella gadgets som kunde leda till en attack togs inte upp).

För att förbĂ€ttra kvaliteten pĂ„ identifieringen av problematiska gadgets modellerar Kasper sĂ„rbarheter som en angripare kan utnyttja i varje steg av genomförandet av Spectre-klassatta attacker — problem som möjliggör kontroll över data (t.ex. injicera angriparens data i mikroarkitektoniska strukturer för att pĂ„verka efterföljande spekulativ exekvering med hjĂ€lp av LVI-attacker), fĂ„ Ă„tkomst till konfidentiell information (t.ex. nĂ€r man gĂ„r utanför buffer grĂ€nser eller anvĂ€nder minne efter frigöring) och organisera lĂ€ckage av konfidentiell information (t.ex. genom att analysera tillstĂ„ndet i processorns cache eller anvĂ€nda MDS-metoden).

Kasper, en skanner för problem med spekulativ kodexekvering i Linux-kÀrnan, Àr tillgÀnglig.

Vid testning kopplas kÀrnan till runtime-biblioteken Kasper och kontroller som arbetar pÄ LLVM-nivÄ. Under kontrollprocessen emuleras spekulativ körning av koden genom en checkpoint-restore-mekanism, som specifikt kör den felaktigt förutsagda kodgrenen och ÄtergÄr till det ursprungliga tillstÄndet före förgrening. Kasper försöker ocksÄ modellera olika program- och hÄrdvarusÄrbarheter, analyserar pÄverkan av arkitektoniska och mikroarkitektoniska effekter och utför fuzzing-testning av möjliga angripares handlingar. För analys av exekveringsflöden anvÀnds porten DataFlowSanitizer för Linux-kÀrnan, och för fuzzing-testning en modifierad version av paketet syzkaller.

Kasper, en skanner för problem med spekulativ kodexekvering i Linux-kÀrnan, Àr tillgÀnglig.

Under skanning av Linux-kÀrnan med hjÀlp av Kasper har 1379 tidigare okÀnda gadgets identifierats, som potentiellt kan leda till datalÀckor under spekulativ exekvering av instruktioner. Noteras bör att endast en del av dem kan utgöra verkliga problem, men för att demonstrera att det finns verkliga faror och inte bara teoretiska, har en arbetsprototyp av en exploit utvecklats för ett av de problematiska kodavsnitten, vilket leder till informationslÀckage frÄn kÀrnans minne.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster