Découverte d'une nouvelle option d'attaque Spectre avec la possibilité de recevoir à distance des données sur le réseau

Plus tôt cette année, les types d'attaque Spectre et Meltdown étaient déjà affichés. Ils vous permettent d'attaquer la victime avec une utilisation minimale des ressources. Un JavaScript spécialement conçu peut être utilisé pour effectuer une attaque Spectre. Les services cloud, pour autant que l'on puisse comprendre, sont sûrs - les deux types d'attaques ne s'appliquent qu'à la pénétration de ressources réseau discrètes.

Maintenant, il y a des informations sur un nouveau type d'attaque. Il a été fourni par des chercheurs de l'Université de technologie de Graz du nom de Karl et Franz. Le spécialiste de la cybersécurité Daniel Grass, qui a découvert l'attaque originale de Meltdown, a également été impliqué dans la découverte d'un nouveau type d'attaque. Quant au nouveau produit, il s'appelle NetSpectre. Sa particularité est qu'un attaquant peut lire à distance les données de la mémoire sans exécuter de code sur le système de la victime.

Il convient de noter que toutes les options d'attaque Spectre sont basées sur le même ensemble de principes. Chaque processeur est caractérisé par un comportement architectural et microarchitectural. Ils peuvent varier, mais pas de façon spectaculaire. Par exemple, dans le premier cas, un programme qui charge une valeur à partir d'une zone de mémoire spécifique attendra que l'adresse soit connue avant de démarrer le téléchargement. Dans le second cas, le processeur peut essayer de deviner l'adresse pour commencer à recevoir la valeur de la mémoire, avant même que l'adresse exacte ne soit connue.

Si le processeur fait une erreur, le téléchargement sera effectué d'une nouvelle manière, cette fois avec la bonne adresse. La valeur «devinée» sera ignorée et le comportement défini par l'architecture sera préservé. Mais l'erreur affectera d'autres éléments, en particulier le contenu du cache. Ces violations peuvent être détectées et identifiées par des logiciels malveillants. Cette méthode d'obtention de données est connue sous le nom de canal tiers. Ou plutôt - comme une attaque sur des canaux tiers (ou secondaires).

Ce n'est pas du tout un nouveau type d'attaque, ils sont connus d'eux depuis les années 80 du siècle dernier, mais ils se sont généralisés après la couverture par Paul Kocher dans la 96e année. NetSpectre s'appuie sur ces principes d'attaque bien connus, mais les développeurs ont apporté quelque chose qui leur est propre. En particulier, l'attaque vous permet d'initier une fuite de données de la mémoire en manipulant des paquets réseau envoyés sur le réseau.

Pour déterminer les données résiduelles du processeur, les experts qui ont parlé de l'attaque suggèrent d'utiliser des fragments de code existants dans les applications ou le noyau, qui sont activés lorsque certains types de requêtes réseau apparaissent. Par exemple, afin d'extraire des données qui se sont déposées dans le cache, les chercheurs proposent de modifier la méthode Evict + Reload. Il est basé sur la création de conditions d'éviction des données du cache, ainsi que sur le traitement des requêtes, dont le temps d'exécution nous permet de juger de la disponibilité des données dans le cache du processeur.

Une attaque peut être considérée comme très dangereuse si ce n'est pour ses faibles performances. Dans des conditions optimales, la nouvelle méthode peut déterminer de 15 à 60 bits par heure. Un jour - pas plus de 45-180 octets. Mais les conditions optimales sont très rares, donc dans des conditions normales, la vitesse d'attaque est minimale - seulement 1 à 3 octets en 3 à 8 heures d'attaque. Pour vérifier un bit dans ce cas, environ 20 millions de contrôles sont nécessaires.

Selon les experts, au fil du temps, de nouvelles méthodes seront proposées pour augmenter l'efficacité de l'attaque. Mais l'extraction, par exemple, d'une clé AES prendra des jours entiers. Une telle attaque est bloquée par des méthodes de défense efficaces contre la première version de la vulnérabilité Spectre (CVE-2017-5753).



Afin d'augmenter les performances d'attaque dans des conditions réelles, mais pas optimales, jusqu'à 60 bits par heure, les chercheurs suggèrent d' utiliser des gadgets avec des instructions AVX2 comme canal supplémentaire pour la fuite d'informations. Cette méthode utilise les fonctionnalités de transfert de l'unité AVX2 en mode d'économie d'énergie. Dans le cas d'une utilisation inactive d'AVX2, un mode d'économie d'énergie est fourni dans lequel l'unité AVX2 continuera à fonctionner, bien qu'avec une baisse des performances. Si AVX2 est inactif pendant 1 ms, le processeur le désactive, ce qui entraîne un retard lors de la prochaine opération.

Les attaquants peuvent déterminer le fait de l'exécution de code spéculatif en fonction de la disparition du délai pour réveiller le bloc ci-dessus. Et cela, à son tour, vous permet de réduire le nombre de contrôles pour déterminer chaque bit d'information.

Pour effectuer ce travail, vous pouvez utiliser un utilitaire spécialisé. Selon les experts, les fragments de code mentionnés ci-dessus peuvent être contenus dans toutes les applications réseau. Y compris - le code des serveurs http, SSH et autres gestionnaires de paquets réseau. Sous certaines conditions, vous pouvez obtenir un accès complet au contenu de la mémoire système entière.

Source: https://habr.com/ru/post/fr418465/


All Articles