Cheval de Troie/rootkit sur routeur CISCO IOS: Le langage TCL incriminé

Le principal "terrain de jeu" des chevaux de Troie et rootkits sont les environnement basés sur les systèmes d'exploitation de type Microsoft Windows. Pour se "convaincre" (si vous faites encore partie des sceptiques) il suffit de regarder du succès des faux antivirus (aussi appelés sous le terme un peu barbare de "scareware") utilisés par les cybercriminels pour prendre le contrôle de dizaines de milliers de machines à l'insu de leurs propriétaires.... Le plus souvent en les faisant payer une somme de l'ordre de 29 Dollars...

L'étendue de cette "peste numérique" reste encore assez limitée pour les environnements basés sur Linux ou Mac. Hormis quelques apparitions cantonnées à des systèmes embarqués basés eux aussi sur des systèmes à base de Linux (ZDNet, Les routeurs Linux cibles d'un nouveau ver, 24 Mars 2009), les équipements de type routeurs ou autres systèmes spécialisés étant quant à eux quasiment épargnés.

Jusqu'alors, les équipements de chez CISCO étaient épargnés avec uniquement quelques études/proof-of-concepts demandant de très fortes compétences en ingénierie inverse réservés aux adeptes du développement bas niveau en langage machine. Pour ceux intéressés, il faut revenir en 2008 : Sebastian Muniz, Da IOS Rootkit, May 2008 ; avec la réponse de CISCO (CISCO, Rootkits on Cisco IOS Devices, May 2008) et la publication d'un outil (CIR, Cisco Incident Response) permettant d'analyser le contenu d'une image IOS afin de détecter d'éventuelles manipulations suspectes. Techniquement de haute voltige.

On peut raisonnablement dire que cette barrière du niveau de compétence (associé au caractère "fermé" des systèmes CISCO) était une protection naturelle.

La mise à disposition de nouvelles fonctionnalités intégrées dans les équipements CISCO serait-elle sur le point de provoquer une inflexion de cette tendance ? J'aurai tendance à dire que c'est peut-être ce qui est en train de se passer.

Le nom de ce "coupable" s'écrit en trois 3 lettres : TCL (Tool Command Language), langage vieux comme le monde (1988). Le support de ce langage TCL est intégrée dans les moutures du logiciel CISCO IOS à compter de la version 12.3(2)T. Via quelques lignes de TCL, il est désormais possible de rajouter de nouvelle fonctions pour répondre à des besoins spécifiques non disponibles en standard.

Mais le revers de la médaille, c'est que cette souplesse ouvre la porte du développement de codes malicieux sur les équipements basés sur l'IOS de CISCO.
Pour preuve de concept, un document récemment publié via le SANS InfoSec Reading Room décrit comment infecter ; explications et code source à l'appui ; un routeur CISCO afin de rediriger du trafic réseau de façon masquée. La boite de pandore vient-elle d'être ouverte ? Le code source commenté est d'ailleurs proposé et sa lecture reste à la portée de tout informaticien.

La simplicité de mise en œuvre est telle que cette menace est à considérer avec tout le sérieux qu'il convient: Les routeurs et switchs étant des points de passage naturels de trafic réseau, ils sont des cibles particulièrement intéressantes pour un attaquant : Quoi de mieux que d'écouter à distance des communications directement à la source ? De plus, sur ces environnements pas d'antivirus ou de systèmes évolués de détection.

Par ailleurs, les recommandations décrites afin de se protéger sont assez limitées : Mise en avant de la signature numérique des programmes TCL pour en vérifier leur intégrité ; utilisation d'une version du CISCO IOS sans le support de ce langage. Mesures à priori assez complexe à mettre en place dans la vraie vie...ou du moins réservées aux environnements les plus sécurité et pour un nombre restreint d'équipements. Clairement pas ou de peu de solutions "simple" pour tous les environnements.

Je vous laisse découvrir par vous-même le papier de Manuel Humberto Santander Peláez intitulé "IOSTrojan: Who really owns your router ?" (PDF).
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