Un système de contrôle industriel ciblé par un code malicieux

Les systèmes informatiques sont très fréquemment utilisés pour piloter, surveiller ou contrôler à distance des sites industriels ou plus généralement des équipements s'interfaçant directement avec le monde physique.

Les systèmes de contrôle industriel aussi concernés par la sécurité
Au même titre que tout systèmes, ces équipements sont concernés par la sécurité informatique : Ces systèmes présentent des vulnérabilités et sont aussi la cible d'attaques comme nous avions pu l'évoquer dans un article précédent.
Les centrales nucléaires, raffineries ou systèmes de traitement et de distribution d'eau sont de bons exemples d'application de ces systèmes SCADA (Supervisory Control And Data Acquisition). Encore plus proche de vous et nous, les grands immeubles intègrent désormais des systèmes de ventilation ou de détection d'incendie basés sur des systèmes informatiques.

Un nouveau mode de diffusion et une nouvelle cible
Ce code malicieux a été découvert et analysé par la société VirusBlokAda, un rapport d'analyse étant disponible ICI sur le site de F-Secure. Selon les informations disponibles dans deux articles (Krebs On Security, Experts Warn of New Windows Shortcut Flaw, July 15th, 2010, H-Online, Trojan spreads via new Windows hole, July 15th, 2010) il y a des informations qui me semblent intéressantes.

Une faille "Zero-Day"
D'un coté, le code malicieux utilise une nouvelle technique pour se diffuser via des clefs USB (utilisation d'une faille dans les raccourcis Windows "*.lnk"). Ceci lui permet d'infecter tout poste de travail dès insertion de la clef dans l'un des ports USB, exactement de la même manière que via la fameuse méthode de l'autorun. Lien pour un peu plus d'informations : "Sophos, Windows zero-day vulnerability uses shortcut files on USB, July 15th, 2010"

Finalité à visée espionnage industriel
De l'autre coté, la finalité du code malicieux semble aller au-delà d'une classique prise de contrôle du poste infecté afin de grossir un botnet : Le code se connecte à la base de données SQL intégrée dans le système de contrôle industriel WinCC édité par la société Siemens. Une petite plaquette de présentation de WinCC est disponible sur Scribd.

Le coupable habituel : les mots de passe par défaut
Un rapide passage en revue des chaînes de caractères présentes dans le code de ce virus semble indiquer que celui-ci se connecte à la base de données via un compte utilisant un mot de passe par défaut (Login: WinCCConnect / password: 2WSXcder). Je vous laisse creuser plus en détail les résultats de l'analyse de Frank Boldewin sur wilderssecurity.com.

Quand on dit qu'il est important de changer les mots de passe par défaut....Oui, il faut en avoir la volonté et surtout il faut que cela soit rendu possible et documenté par l'éditeur ce qui n'est pas toujours complètement le cas.
Tant que vous y êtes, changez aussi le mot de passe du compte "WinCCAdmin" : cf ce que j'ai pu trouver sur un forum Russe (page traduite via Google).

Du code malicieux signé numériquement

Un autre point intéressant : Ce code malicieux aurait été signé numériquement par la société "Realtek". Donc aucun message d'avertissement ne prévient l'utilisateur qu'un programme demande à être intégré au système. Cela indiquerai que des clefs de signatures officielles auraient été dérobées auprès de développeurs.

Finalité du code malicieux : Les sites industriels
Le type d'application ciblé n'étant clairement ce que l'on retrouve chez soi ni dans une entreprise classique l'objectif n'est pas de voler des mots de passe ou d'envoyer du spam à l'insu du propriétaire de la machine. Nous serions donc face à une attaque visant spécifiquement des sites industriels.

Une attaque ciblée et techniquement de bonne facture
D'un coté une nouvelle faille pour automatiser l'exécution dès introduction de la clef USB, de l'autre du code malicieux signé numériquement pour une installation silencieuse et au milieu des systèmes de contrôle industriel. Le "cocktail" est plutôt intéressant et montre que nul n'est à l'abri d'attaques ciblées et techniquement évoluées.

Quelques préconisations
Se méfier des clefs USB "étrangères" et ne pas mettre sa clef dans tous les ports USB qui passent. Les clefs USB sont l'équivalent des disquettes 5"1/4 des années 80 : A cette époque on parlait de virus comme PingPong, Frodo, DarkAvenger, etc... Fondamentalement rien n'a changé depuis.

Changer les mots de passe par défaut des applicatifs est important : C'est très très très très (j'insiste !) rarement fait. Le plus souvent ce type de mot de passe est "enfoui" dans un obscur fichier de configuration lui-même inconnu de l'intégrateur... Changez ce mot de passe lors du déploiement initial est le minimum à faire.
Jean-François Audenard

Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la sensibilisation à la sécurité. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens