Avec la pression d'expédier le plus tôt possible, surtout en ce qui concerne le matériel, quelles garanties avons-nous que le matériel est vraiment propre et que les mises à jour futures ne seront pas piratées? Ici, au Virus Bulletin 2018, la conversation sur la façon de garder toute la chaîne d'approvisionnement propre de bout en bout et pour le cycle de vie de l'appareil, est au premier plan des préoccupations.

Il y a dix ans, le matériel situé sur le réseau était relativement simpliste, mais plus maintenant. Même les petits appareils connectés (IdO), qui peuvent avoir un système d'exploitation complet et une pile réseau (maintenant une marchandise), ont souvent le potentiel de contenir du code cassé ou compromis, et pourtant sont positionnées dans des réseaux de confiance faisant des choses comme regarder tranquillement une porte de sortie dans votre bâtiment pour les acteurs malveillants. Bien que vous ne pensiez pas aux risques que ces appareils représentent, les criminels y réfléchissent activement.

Dans les logiciels de systèmes d'exploitation traditionnels, l'établissement de liens vers des bibliothèques qui peuvent être mises à jour au fil du temps est une fonctionnalité courante. Souvent, dans le monde des appareils intégrés, c'est une façon d’avoir un produit qui survit à l’épreuve du temps. Si des problèmes sont découverts plus tard, les bibliothèques mises à jour, ou des ressources externes, peuvent être utilisées pour y remédier, de préférence sans briser les fonctionnalités de base du logiciel.

Mais si les bibliothèques ciblées par ce lien sont modifiées, aujourd’hui ou dans le futur, le logiciel peut l'exécuter et (potentiellement) activer toutes sortes de fonctionnalités malveillantes.

De nos jours, il est courant qu'un fournisseur de logiciels fournisse un bout de logiciel qui s'installe, puis appelle une série de ressources externes, souvent sous la forme d'une chaîne successive de logiciels importés, provenant parfois de tierces parties. Mais cela peut causer des problèmes similaires si l'un des maillons de la chaîne d'approvisionnement du logiciel est compromis.

Du point de vue de la détection, il est difficile de déclarer la pièce maîtresse d'un logiciel propre, alors qu'elle pourrait éventuellement mener à un exploit enfoui dans un code qu'elle importera à l'avenir.

Certains logiciels sont très simples, et demeurent tout simplement tranquillement à l'affût, avant de se réveiller en réponse à une commande à distance et lance un code malveillant. Que se passerait-il si un tel programme était introduit dans un chipset, de la même manière décrite potentiellement dans un article de dernière heure de Bloomberg? (Notons cependant que l'histoire a été fortement démentie par un certain nombre d'entreprises mentionnées dans l'article.)

Souvent, de tels échantillons peuvent résider dans des logiciels ou du matériel et être de simples scripts, qui sont très difficiles à détecter, puisqu'ils ne sont qu'un auditeur silencieux et qu'ils ne font pas eux-mêmes quelque chose de manifestement malveillant.

Ensuite, il y a l'ancien code sur le micrologiciel qui a été déclaré en fin de vie par le fournisseur, mais qui fonctionne encore dans des milliers ou des millions d'instances, comme les routeurs domestiques. Ces machines sont généralement beaucoup moins sophistiquées, du point de vue de la sécurité, que les implémentations actuelles, mais elles ont quand même accès à des réseaux de confiance et peuvent être zombifiées avec du code malveillant, puis utilisées comme point de départ pour la reconnaissance ou autres exploits. Un code qui a été discrètement retiré du développement actif (à l'insu du client), peut fournir un point d'entrée dans un environnement de confiance.

Certaines implémentations plus modernes ont une fonctionnalité de mise à jour automatique, mais si elles se mettent à jour « par magie », donc sans requérir d’interaction de l'utilisateur, elles peuvent automatiquement tirer des vulnérabilités ou des exploits sur un périphérique, et commencer à exfiltrer discrètement des données sensibles.

Pour les fabricants de logiciels malveillants, il est de plus en plus important de voler les certificats utilisés pour établir la confiance avec d'autres matériels ou logiciels. Voilà pourquoi les chercheurs gardent un œil sur les tendances des certificats malhonnêtes comme indicateur d'un acte criminel.

À quel point est-ce difficile à repérer?

Je faisais partie d'un groupe d'utilisateurs de réseautage qui se demandait si un opérateur pointu pouvait attraper une tentative d'exfiltration en utilisant un ensemble d'outils et de techniques standard, mais bien configuré. Alors qu'un déversement massif de documents en plein milieu de la nuit ferait apparaître un drapeau, une exfiltration silencieuse de quelques chaînes de texte à un débit de données très faible serait très difficile à détecter, en particulier sur un grand réseau.

Il est difficile de tout capter et, à mesure que le volume du réseau augmente d'année en année, le fait d'attraper l'aiguille dans une botte de foin d'informations d'identification ou de code minuscule représente un défi de taille.

Heureusement, ici à Virus Bulletin, on observe une tendance commune, soit de mettre au point des outils et des techniques pour aborder les problèmes liés aux chaînes d'approvisionnement compromises, y compris la collaboration d'autres personnes chargées de la sécurité, la publication d'outils gratuits ou largement disponibles et des conversations de couloir avec les chercheurs sur les meilleures techniques.

Ainsi, même si les chaînes de confiance utilisées dans les logiciels modernes seront toujours suspectes, le verrouillage de la chaîne aidera à assurer la sécurité des utilisateurs finaux et la pérennité de cet essaim d'appareils connectés partout autour de nous.