Un ensemble de trois vulnérabilités critiques de type "zero-day" désormais suivies sous le nom de "TLStorm" pourrait permettre aux pirates de prendre le contrôle des dispositifs d'alimentation sans coupure (UPS) d'APC, une filiale de Schneider Electric.
Les failles affectent les systèmes APC Smart-UPS qui sont populaires dans une variété de secteurs d'activité, y compris le gouvernement, la santé, l'industrie, l'informatique et la vente au détail.
Les onduleurs agissent comme des solutions d'alimentation de secours d'urgence et sont présents dans des environnements critiques tels que les centres de données, les installations industrielles, les hôpitaux.
Risque d'impact physique
Les chercheurs d'Armis, une société fournissant des solutions de sécurité pour les appareils connectés dans les entreprises, ont découvert les trois problèmes de la famille de produits SmartConnect et Smart-UPS d'APC.
Deux des vulnérabilités, CVE-2022-22805 et CVE-2022-22806 se trouvent dans l'implémentation du protocole TLS (Transport Layer Security) qui connecte les appareils Smart-UPS avec la fonction « SmartConnect » au cloud de gestion de Schneider Electric.
Le troisième, identifié comme CVE-2022-0715, concerne le micrologiciel de "presque tous les appareils APC Smart-UPS", qui n'est pas signé cryptographiquement et son authenticité ne peut pas être vérifiée lorsqu'il est installé sur le système.
Bien que le micrologiciel soit crypté (symétrique), il lui manque une signature cryptographique, ce qui permet aux pirates d'en créer une version malveillante et de la fournir sous forme de mise à jour aux périphériques UPS cibles pour obtenir l'exécution de code à distance (RCE).
Les chercheurs d'Armis ont pu exploiter la faille et créer une version malveillante du firmware APC qui a été acceptée par les appareils Smart-UPS comme une mise à jour officielle, un processus qui se déroule différemment selon la cible :
- Les derniers appareils Smart-UPS dotés de la fonctionnalité de connexion au cloud SmartConnect peuvent être mis à niveau à partir de la console de gestion du cloud via Internet.
- Les anciens appareils Smart-UPS qui utilisent la carte de gestion réseau (NMC) peuvent être mis à jour sur le réseau local.
- La plupart des appareils Smart-UPS peuvent également être mis à niveau à l'aide d'une clé USB.
Considérant que les onduleurs APC vulnérables sont utilisés dans environ huit entreprises sur 10 - selon les données d'Armis - et les environnements sensibles qu'ils desservent (installations médicales, réseau ICS, salles de serveurs), les implications peuvent avoir des conséquences physiques importantes.
Les vulnérabilités liées à TLS découvertes par Armis semblent être plus graves car elles peuvent être exploitées par un attaquant non authentifié sans interaction de l'utilisateur, dans ce que l'on appelle une attaque "zero-click".
"[CVE-2022-22806 et CVE-2022-22805] impliquent la connexion TLS entre l'onduleur et le cloud de Schneider Electric. Les appareils qui prennent en charge la fonction SmartConnect établissent automatiquement une connexion TLS au démarrage ou chaque fois que les connexions cloud sont temporairement perdues"
Les deux vulnérabilités sont causées par une mauvaise gestion des erreurs TLS dans la connexion TLS entre le Smart-UPS et le serveur Schneider Electric, et elles conduisent à l'exécution de code à distance lorsqu'elles sont correctement exploitées.
L'un des problèmes de sécurité est un contournement d'authentification causé par une "confusion d'état dans la poignée de main TLS", l'autre est un bogue de corruption de la mémoire.
Recommandations d'atténuation
Le rapport des chercheurs explique les aspects techniques des trois vulnérabilités TLStorm et fournit un ensemble de recommandations pour sécuriser les onduleurs :
- Installez les correctifs disponibles sur le site Web de Schneider Electric.
- Si vous utilisez la NMC, changez le mot de passe NMC par défaut (« apc ») et installez un certificat SSL signé publiquement afin qu'un attaquant sur votre réseau ne puisse pas intercepter le nouveau mot de passe. Pour limiter davantage la surface d'attaque de votre NMC, reportez-vous au Manuel de sécurité de Schneider Electric pour NMC 2 et NMC 3.
- Déployez des listes de contrôle d'accès (ACL) dans lesquelles les onduleurs ne sont autorisés à communiquer qu'avec un petit ensemble d'équipements de gestion et le Cloud Schneider Electric via des communications cryptées.
Armis a également publié un livre blanc technique avec tous les détails de la recherche.