Kasper er tilgængelig, en scanner til problemer med spekulativ udførelse af kode i Linux-kernen.

En gruppe forskere fra det Frie Universitet i Amsterdam har offentliggjort værktøjet Kasper, som er designet til at identificere kodeudsnit i Linux-kernen, som kan udnyttes til at udnytte Spectre-klasse sårbarheder forårsaget af procesorens spekulative udførelse af kode. Værktøjets kildekode distribueres under Apache 2.0-licensen.

Det skal bemærkes, at for at udføre angreb som Spectre v1, der muliggør bestemmelse af indholdet af hukommelsen, kræves en bestemt sekvens af instruktioner (gadgets) i privilegeret kode, der fører til spekulativ udførelse af instruktioner. For at optimere begynder processoren at udføre sådanne gadgets i spekulativ tilstand, hvorefter den bestemmer, at forgreningsforudsigelsen var ukorrekt og ruller operationerne tilbage til deres oprindelige tilstand, men de data, som blev behandlet under den spekulative udførelse, forbliver i cachen og mikroarkitekturbufferne og kan hentes ved hjælp af forskellige metoder til at bestemme resterende data via sidekanaler.

Tidligere tilgængelige værktøjer til scanning af gadgets for Spectre-sårbarheden, der er baseret på søgning efter typemønstre, viste en meget høj mængde falske positive resultater, samtidig med at mange rigtige gadgets blev overset (eksperimenter viste, at 99 % af de gadgets, der blev identificeret af sådanne værktøjer, ikke kunne bruges til angreb, og 33 % af de funktionelle gadgets, der kunne føre til angreb, blev ikke bemærket).

For at forbedre kvaliteten af identificeringen af problematiske gadgets modellerer Kasper de sårbarheder, som en angriber kan udnytte på hvert trin under udførelsen af Spectre-klasse angreb — det modellerer problemer, der giver mulighed for kontrol af data (for eksempel ved at injicere angribers data i mikroarkitektoniske strukturer for at påvirke den efterfølgende spekulative udførelse ved hjælp af LVI-klasse angreb), få adgang til fortrolige oplysninger (for eksempel ved at overtræde buffergrænserne eller bruge hukommelse efter dens frigivelse) og organisere lækage af fortrolig information (for eksempel ved at analysere tilstanden af procesorkassen eller ved at anvende MDS-metoden).

Kasper er tilgængelig, en scanner til problemer med spekulativ udførelse af kode i Linux-kernen.

Under test, the kernel connects with Kasper's runtime libraries and checks operating at the LLVM level. During the verification process, it simulates speculative execution of code, implemented via the checkpoint-restore mechanism, which specifically executes mispredicted branches of code and then reverts to the original state before branching. Kasper also attempts to model various software and hardware vulnerabilities, analyzes the impact of architectural and microarchitectural effects, and conducts fuzz testing of potential attacker actions. For flow analysis of execution, the DataFlowSanitizer port for the Linux kernel is used, while for fuzz testing, a modified version of the syzkaller package is applied.

Kasper er tilgængelig, en scanner til problemer med spekulativ udførelse af kode i Linux-kernen.

During the scanning of the Linux kernel using Kasper, 1,379 previously unknown gadgets were discovered, potentially leading to data leaks during the speculative execution of instructions. It is noted that only part of them may represent real issues, but to demonstrate that there is a real danger, and not just a theoretical one, a working prototype exploit was developed for one of the problematic code snippets that leads to information leakage from the kernel's memory.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster