Kasper est disponible, un scanner de problèmes liés à l'exécution spéculative de code dans le noyau Linux.

Un groupe de chercheurs de l'Université Vrije d'Amsterdam a publié l'outil Kasper, conçu pour identifier dans le noyau Linux des extraits de code pouvant être exploités pour des vulnérabilités de type Spectre, causées par l'exécution spéculative de code par le processeur. Les sources de l'outil sont distribuées sous la licence Apache 2.0.

Rappelons que pour mener des attaques telles que Spectre v1, qui permettent de déterminer le contenu de la mémoire, il faut qu'une séquence spécifique d'instructions (gadgets) se trouve dans le code privilégié, menant à une exécution spéculative des instructions. Pour optimiser, le processeur commence à exécuter de tels gadgets en mode spéculatif, puis détermine que la prédiction de branchement était erronée et annule les opérations à leur état initial, mais les données traitées durant l'exécution spéculative demeurent dans le cache et les buffers microarchitecturaux, accessibles pour extraction par diverses méthodes de détection de données résiduelles par des canaux latéraux.

Les outils précédemment disponibles pour scanner les gadgets pour la vulnérabilité Spectre, basés sur la recherche de modèles typiques, montraient un très haut taux de faux positifs, tout en manquant de nombreux vrais gadgets (les expériences ont montré que 99 % des gadgets identifiés par ces outils ne pouvaient pas être utilisés pour des attaques, tandis que 33 % des gadgets valides capables d'engendrer une attaque n'étaient pas détectés).

Pour améliorer la qualité de la détection des gadgets problématiques, Kasper modèle les vulnérabilités que l'attaquant pourrait exploiter à chaque étape des attaques de type Spectre - les problèmes modélisés permettent de contrôler les données (par exemple, en injectant des données de l'attaquant dans les structures microarchitecturales pour influencer l'exécution spéculative ultérieure via des attaques de type LVI), d'accéder à des informations confidentielles (par exemple, en dépassant les limites d'un tampon ou en utilisant de la mémoire après sa libération) et d'organiser des fuites d'informations confidentielles (par exemple, en analysant l'état du cache processeur ou en utilisant la méthode MDS).

Kasper est disponible, un scanner de problèmes liés à l'exécution spéculative de code dans le noyau Linux.

Lors des tests, le noyau se connecte aux bibliothèques runtime Kasper et aux vérifications fonctionnant au niveau LLVM. Pendant le processus de vérification, une émulation de l'exécution spéculative du code est réalisée à l'aide du mécanisme de checkpoint-restore, qui exécute spécifiquement la branche de code mal prédite, puis revient à l'état initial avant le début de la bifurcation. Kasper tente également de modéliser diverses vulnérabilités logicielles et matérielles, analyse l'impact des effets architecturaux et microarchitecturaux, et effectue des tests de fuzzing sur les actions possibles d'un attaquant. Pour analyser les flux d'exécution, le port DataFlowSanitizer pour le noyau Linux est utilisé, et pour les tests de fuzzing, une version modifiée du paquet syzkaller.

Kasper est disponible, un scanner de problèmes liés à l'exécution spéculative de code dans le noyau Linux.

Lors de l'analyse du noyau Linux à l'aide de Kasper, 1379 gadgets précédemment inconnus ont été identifiés, pouvant potentiellement causer des fuites de données lors de l'exécution spéculative des instructions. Il est noté qu'il est probable qu'une partie d'entre eux puisse poser de réels problèmes, mais pour démontrer qu'il existe un véritable danger et pas seulement un risque théorique, un prototype fonctionnel d'exploit a été développé pour l'un des extraits de code problématiques, entraînant une fuite d'informations de la mémoire du noyau.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster