Des chercheurs en sécurité ont découvert de sérieuses vulnérabilités dans la pile TCP/IP du système d'exploitation en temps réel (RTOS) Nucleus de Siemens, utilisé dans des terminaux critiques pour la sécurité dans de nombreux secteurs industriels. Les failles, découvertes par des chercheurs de Forescout et de Medigate Labs, peuvent entraîner un déni de service (DoS), des fuites d'informations et l'exécution de code à distance (RCE). Collectivement surnommées NUCLEUS:13, elles font partie du projet Memoria de Forescout qui a analysé l'an dernier 14 piles TCP/IP différentes utilisées dans les systèmes embarqués. Le RTOS Nucleus appartient à Siemens depuis 2016 avec le rachat de Mentor Graphics pour 4,5 milliards de dollars mais a 23 ans d'histoire au compteur. En raison de son âge, de son empreinte légère et de sa large prise en charge de diverses cartes de circuits imprimés et architectures de processeurs, le système d'exploitation a fait son chemin au fil des ans dans potentiellement des milliards d'appareils. Notamment dans les hôpitaux et autres installations médicales, infrastructures industrielles, systèmes automobiles et avioniques, et même des chipsets IoT et des puces radio utilisées dans les téléphones et les équipements sans fil.
Une analyse a permis à Forescout d'identifier 5 500 appareils vulnérables de 16 fournisseurs dans les réseaux de 127 clients. Treize de ces clients avaient plus de 100 appareils attaquables, la santé étant le secteur le plus touché, suivi de l'administration, de la vente au détail, de la finance et de la fabrication. Le système d'exploitation semble particulièrement répandu dans les appareils d'anesthésie, les moniteurs de patient, les défibrillateurs, les appareils à ultrasons et autres appareils de soins de santé.
Une surface d'attaque importante
Comme toutes les piles TCP/IP, la suite Nucleus NET contient les implémentations des protocoles les plus courants nécessaires pour communiquer sur les réseaux IP, notamment IPv4, TCP, UDP, ICMP, FTP, TFTP et DHCP. Parce qu'elles ingèrent et traitent une multitude de formats de paquets et de données, généralement via des communications non authentifiées avec d'autres appareils, les piles TCP/IP présentent une surface d'attaque importante. Ces suites de protocoles Internet sont également au cœur des systèmes d'exploitation, interagissant directement avec leurs noyaux, ce qui signifie que tout exploit réussi se traduira par des privilèges système complets. Les implémentations TCP/IP trouvées dans les systèmes d'exploitation à usage général comme Windows ou Linux ont fait l'objet d'un examen minutieux de la part de la communauté des chercheurs en sécurité au fil des ans, mais on ne peut pas en dire autant des piles TCP/IP généralement propriétaires des nombreuses systèmes d'exploitation en temps réel utilisés dans le monde des appareils embarqués. Les trois failles RCE qui font partie du rapport NUCLEUS:13 sont situées dans l'implémentation du serveur FTP de Nucleus NET et sont le résultat d'une validation incorrecte de la longueur de certaines commandes, ce qui peut entraîner des débordements de tampon basé sur la pile. Identifiées comme CVE-2021-31886, CVE-2021-31887 et CVE-2021-31888, les failles sont notées avec des scores de gravité de 9,8 (critique) et de 8,8 (élevé).
« À un niveau élevé, pour déclencher CVE-2021-31886, les attaquants effectuent des tentatives d'authentification sur le serveur FTP affecté, en envoyant la commande FTP 'USER' avec un nom d'utilisateur plus grand que le tampon interne désigné pour contenir l'entrée de cette commande, notez que la taille réelle de ce tampon peut varier », ont expliqué les chercheurs dans leur rapport technique. « L'envoi d'un nom d'utilisateur suffisamment grand entraîne un débordement du tampon basée sur la pile, permettant des performances d'écritures contrôlées dans la mémoire de l'appareil affecté, détournant le flux d'exécution et exécutant le code des attaquants avec peu de contraintes. Notez que l'exploitation ne nécessite aucun l'authentification sur la cible, car la vulnérabilité est déclenchée pour toute entrée de la commande 'USER' qui a une longueur spécifique ».
Les terminaux reliés à l'Internet, un arbre qui cache la forêt
L'exploitation de CVE-2021-31887 et CVE-2021-31888 est similaire mais exploite un manque similaire de validation d'entrée sur les commandes PWD/XPWD et MKD/XMKD. À l'aide de requêtes sur le moteur de recherche public Shodan, les chercheurs ont trouvé plus de 2 200 terminaux accessibles au public exécutant le serveur FTP Nucleus. Bien sûr, cela ne reflète pas l'ampleur du problème, car la plupart des appareils fragiles ne sont probablement accessibles qu'à partir des réseaux d'entreprise. Mais comme les attaquants l'ont prouvé à maintes reprises, accéder aux réseaux n'est pas très compliqué et peut être réalisé de différentes manières. Neuf autres vulnérabilités trouvées dans la pile TCP/IP Nucleus NET peuvent entraîner des conditions de DoS ou des fuites d'informations qui peuvent exposer des informations de la mémoire de l'appareil, ou parfois les deux. Ceux-ci sont évalués avec des scores de gravité compris entre 7,1 et 8,8. Pour les appareils qui sont censés être toujours allumés et prendre en charge des fonctions critiques, des plantages inattendus ou des interruptions de leur capacité à envoyer et à recevoir des données peuvent avoir un impact sérieux. Dans le cas des dispositifs médicaux, cela pourrait mettre en danger la vie d'un patient.
Deux des failles DoS sont localisées dans le serveur TCP, quatre dans le client DHCP, une dans l'implémentation ICMP et une dans l'implémentation UDP. Tous sont le résultat d'une validation incorrecte de la longueur de certaines valeurs à l'intérieur des paquets reçus via ces protocoles. La dernière vulnérabilité et la moins bien notée (5.3) est située dans ICMP et peut être exploitée pour forcer un périphérique vulnérable à envoyer des réponses d'écho ICMP à des hôtes arbitraires sur le réseau. Il s'agit d'une technique couramment utilisée dans les attaques par réflexion DDoS où l'usurpation d'adresse IP source est utilisée.
Les mesures d'atténuation des failles NUCLEUS :13
Siemens a publié des correctifs pour les vulnérabilités NUCLEUS:13, mais les utilisateurs d'appareils vulnérables devront attendre que leurs fournisseurs respectifs les intègrent et publient les mises à jour du micrologiciel. Malheureusement, comme l'a découvert Forescout au cours de son projet Memoria, de nombreux fabricants d'appareils sont incapables de publier des correctifs de sécurité en temps opportun ou même de reconnaître publiquement que leurs produits sont affectés par de graves vulnérabilités. En attendant, les propriétaires d'appareils vulnérables peuvent essayer de désactiver ou de bloquer l'accès au serveur Nucleus FTP/TFTP ou les connexions à la liste blanche via des règles de pare-feu. Ils peuvent également utiliser des mécanismes de contrôle DHCP basés sur des commutateurs pour bloquer les réponses DHCP des serveurs malveillants et peuvent placer des périphériques vulnérables derrière un pare-feu qui peut surveiller et bloquer le trafic TCP, UDP, IP et ICMP mal formé.
Forescout recommande également les stratégies d'atténuation suivantes :
- Découvrir et inventorier les terminaux exécutant Nucleus. Forescout Research Labs a publié à ce titre un script open source qui utilise les empreintes digitales actives pour détecter les appareils exécutant Nucleus. Le script est constamment mis à jour avec de nouvelles signatures.
- Appliquer des contrôles de segmentation et une bonne hygiène du réseau pour atténuer les risques liés aux appareils vulnérables.
- Restreindre les chemins de communication externes et isoler ou contenir les périphériques vulnérables dans les zones comme contrôle d'atténuation s'ils ne peuvent pas être corrigés ou jusqu'à ce qu'ils puissent être corrigés.
- Surveillez les correctifs progressifs publiés par les fournisseurs d'appareils concernés et concevez un plan de remédiation pour votre inventaire d'actifs vulnérables, en équilibrant le risque commercial et les exigences de continuité des activités.
- Vérifier tout le trafic réseau à la recherche de paquets malveillants qui tentent d'exploiter des vulnérabilités connues ou d'éventuels zero days. Le trafic anormal et malformé doit être bloqué, ou au moins alerter de sa présence les opérateurs de réseau.
Commentaire