Plus tôt ce mois-ci, les experts en sécurité ont
découvert deux nouvelles vulnérabilités dans le noyau Linux: SegmentSmack et FragmentSmack. Les deux sont liés au travail de la pile TCP et permettent aux attaquants de mener des attaques DoS et DDoS sur le système de la victime. Des "correctifs" pour la plupart des distributions ont déjà été publiés.
Sous la coupe - plus sur l'essence.
/ photo Eli Duke CCPourquoi ces vulnérabilités sont-elles dangereuses?
La «racine du mal» SegmentSmack - fonctions tcp_collapse_ofo_queue () et tcp_prune_ofo_queue (). Un attaquant les appelle à l'aide de segments TCP spécialement modifiés envoyés au serveur, à l'ordinateur personnel ou à l'appareil mobile de la victime.
Cela conduit à une utilisation excessive de la mémoire et des ressources processeur. Ainsi, un pirate peut «bloquer» un hôte ou un périphérique avec un trafic de seulement 2 000 paquets par seconde.
Le site Web RedHat
fournit un exemple du résultat d'une telle attaque. La commande supérieure affiche la pleine charge de quatre cœurs de processeur et les retards dans le traitement des paquets réseau:
$ top %Cpu25 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.5 si, 0.0 st %Cpu26 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st %Cpu28 : 0.0 us, 0.3 sy, 0.0 ni, 0.7 id, 0.0 wa, 0.0 hi, 99.0 si, 0.0 st %Cpu30 : 0.0 us, 0.0 sy, 0.0 ni, 1.4 id, 0.0 wa, 0.0 hi, 98.6 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 141 root 20 0 0 0 0 R 97.3 0.0 1:16.33 ksoftirqd/26 151 root 20 0 0 0 0 R 97.3 0.0 1:16.68 ksoftirqd/28 136 root 20 0 0 0 0 R 97.0 0.0 0:39.09 ksoftirqd/25 161 root 20 0 0 0 0 R 97.0 0.0 1:16.48 ksoftirqd/30
Notez que le maintien d'un «état DoS» nécessite une session TCP ouverte, donc une attaque ne peut pas être effectuée en utilisant l'usurpation d'adresse IP.
L'attaque FragmentSmack exploite les fonctionnalités
de fragmentation des datagrammes IP . Lorsqu'un datagramme IP est transmis à la couche liaison, il est fragmenté s'il ne rentre pas dans la
trame . Ainsi, il est transmis en morceaux, et l'hôte le recueille ensuite ensemble. Cependant, il ne connaît la longueur finale du datagramme que lorsqu'il reçoit le dernier fragment.
Les attaquants utilisent cette fonctionnalité et ajustent les valeurs de décalage des fragments de sorte que le processeur serveur assemble constamment les paquets IPv4 et IPv6.
FragmentSmack vous permet de travailler avec de fausses adresses IP pour tromper les systèmes de sécurité (vous pouvez utiliser l'usurpation d'adresse IP). Cependant, il nécessite plus de vitesse d'envoi de paquets que SegmentSmack - 30 000 paquets par seconde.
RedHat donne également le résultat d'une attaque similaire (le noyau est chargé à 99%):
top - 08:59:45 up 1:34, 2 users, load average: 0.39, 0.15, 0.08 %Cpu9 : 0.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi,100.0 si, 0.0 st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 54 root 20 0 0 0 0 R 99.7 0.0 0:47.53 ksoftirqd/9
De telles vulnérabilités ne sont pas découvertes pour la première fois. Dans les années 90, un bogue similaire a été
trouvé dans les versions du noyau Windows NT 4.0, Windows 95 et Linux jusqu'à 2.0.32. L'exploit est connu sous le nom d'
attaque en forme de larme - un attaquant a également envoyé des paquets fragmentés vers un périphérique cible (réseau), provoquant DoS. La vulnérabilité a été corrigée, mais elle est apparue plus tard.
En 2009, le bogue a de nouveau été
détecté dans Windows 7 et Windows Vista.
Qui fait mal
FragmentSmack
menace toutes les versions du noyau Linux à partir de 3.9, et SegmentSmack menace avec 4.9. Vous pouvez trouver une liste de fournisseurs dont les systèmes présentent ces vulnérabilités
sur le site Web du CERT .
La semaine dernière, Cisco a
signalé que son système d'exploitation AsyncOS avait été attaqué par SegmentSmack et FragmentSmack. Par conséquent, la société a
publié un certain nombre de correctifs.
Comme indiqué dans Cisco, les "symptômes" des vulnérabilités peuvent être suivis à l'aide de la commande netstat (un exemple se trouve sur le site Web de Cisco dans
la section Indicateurs de compromis ). Si la sortie de la commande affiche un grand nombre de connexions TCP dans l'état CLOSE_WAIT, le périphérique est susceptible d'être affecté par ces vulnérabilités.
Que traiter
Des détails sur les correctifs SegmentSmack pour un certain nombre de distributions ont déjà été publiés
sur CVE (par exemple, voici un correctif pour
Ubuntu 14.04 LTS ). Vous y trouverez des instructions et des fichiers de correctifs pour toutes les distributions Linux. Quant à FragmentSmack, les correctifs contre cette vulnérabilité ont déjà été
déployés par les développeurs d'Ubuntu, Red Hat, Debian et Android OS.
/ photo Christopher Michel CCEn tant que solution temporaire au problème FragmentSmack (si le correctif ne peut pas être installé pour une raison quelconque), vous pouvez modifier les valeurs de net.ipv4.ipfrag_high_thresh et net.ipv4.ipfrag_low_thresh à 256 et 192 Ko, respectivement (au lieu de 4 Mo et 3 Mo).
Le premier paramètre définit la quantité maximale de mémoire allouée à la file d'attente de paquets fragmentés. Si la longueur de la file d'attente la dépasse, le gestionnaire de fragments ignore tous les paquets jusqu'à ce que la longueur de la file d'attente soit inférieure à la valeur ipfrag_low_thresh.
Les propriétaires d'Android, selon Kevin Beaumont, un expert en cybersécurité (ainsi que l'auteur d'un
blog indépendant sur le sujet), peuvent modifier ces valeurs en utilisant de
telles commandes (elles devraient fonctionner sans redémarrer l'appareil).
Ce que nous faisons dans IT-GRAD - les principaux domaines:
• Infrastructure virtuelle (IaaS) • Hébergement PCI DSS • Cloud FZ-152
Autre contenu de notre blog IaaS: