Jul 14, 2023
Je jure solennellement que mon chauffeur ne fait rien de bon : recherche de logiciels malveillants signés par attestation
Au cours d'une récente enquête de réponse aux incidents, Mandiant a découvert un pilote malveillant utilisé pour mettre fin à certains processus sur les systèmes Windows. Dans ce cas-ci, le conducteur a été utilisé pour tenter de
Au cours d'une récente enquête de réponse aux incidents, Mandiant a découvert un pilote malveillant utilisé pour mettre fin à certains processus sur les systèmes Windows. Dans ce cas, le pilote a été utilisé pour tenter de mettre fin à l’agent EDR (Endpoint Detection and Response) sur le point de terminaison. Mandiant suit le pilote malveillant et son chargeur respectivement sous les noms de POORTRY et STONESTOP. Peu de temps après la découverte initiale, Mandiant a observé un échantillon de pilote POORTRY signé avec une signature Authenticode de compatibilité matérielle Microsoft Windows. Une analyse minutieuse des métadonnées Authenticode du pilote a conduit à une enquête plus approfondie sur les pilotes malveillants signés via le programme de compatibilité matérielle Windows. L’enquête a révélé un problème plus large :
Cette recherche est publiée parallèlement à un article de blog rédigé par nos collègues de SentinelOne.
Les relations sont fondées sur la confiance. Il en va de même pour la relation que nous entretenons avec les logiciels sur lesquels nous nous appuyons lorsque nous utilisons quotidiennement nos ordinateurs ; est-ce que je fais confiance à l'exécution de ce programme, et pourquoi ? Les logiciels peuvent être très opaques pour les utilisateurs finaux ; lorsqu'il prétend provenir de la société X, quels mécanismes existent pour vérifier la fiabilité du logiciel ?
[Musique de sortie de John Cena en file d'attente.]
La signature de code est entrée sur le ring.
La signature de code est un moyen de garantir l'intégrité et l'authenticité d'un fichier donné. Les fournisseurs de logiciels obtiennent les certificats utilisés pour la signature de code auprès d'autorités de certification (CA) de confiance, qui respectent les normes établies par le CA/Browser Forum et le CA Security Council. Ces directives détaillent les exigences, qui incluent la vérification de l'existence juridique et de l'identité de l'entreprise, et que le demandeur du certificat est autorisé à agir au nom de l'éditeur de logiciels qu'il prétend représenter.
Ce certificat est ensuite utilisé pour signer le logiciel et fournir un niveau de confiance entre le logiciel et le système d'exploitation. Les politiques d'application de la signature de code diffèrent selon le système d'exploitation et le type de fichier, allant de l'autorisation uniquement de l'exécution du code signé à la minimisation des avertissements de sécurité pour l'exécution du code signé, en passant par le simple fait de servir de signature numérique indiquant l'authenticité d'une application.
L'implémentation de signature de code de Microsoft pour les binaires Windows est connue sous le nom d'Authenticode. Authenticode possède plusieurs fonctionnalités spécifiques aux pilotes et aux packages de pilotes, et aide les fournisseurs de matériel à faire signer correctement leurs pilotes via le programme de compatibilité matérielle Windows.
« Le programme de compatibilité matérielle Windows est conçu pour aider votre entreprise à fournir des systèmes, des logiciels et des produits matériels compatibles avec Windows et fonctionnant de manière fiable sur Windows 10, Windows 11 et Windows Server 2022. Le programme fournit également des conseils pour développer, tester et distribuer des pilotes. . À l'aide du tableau de bord Windows Hardware Dev Center, vous pouvez gérer les soumissions, suivre les performances de votre appareil ou de votre application, consulter la télémétrie et bien plus encore.
Le processus du programme de compatibilité matérielle Windows comporte plusieurs phases.
Pour fonctionner sous Windows 10 et versions ultérieures, les pilotes peuvent être soumis à Microsoft poursignature d'attestation.
Dans ce processus de signature d'attestation, les signatures numériques sont utilisées pour vérifier l'intégrité des packages de pilotes soumis et pour vérifier l'identité de l'éditeur de logiciels qui a fourni les packages de pilotes. Ce processus nécessite que l'organisation soumettant signe son package de pilotes avec un certificat à validation étendue (EV), qui présente des exigences d'identification améliorées par rapport aux autres certificats de signature de code et doit utiliser des algorithmes de cryptage plus puissants. Ces certificats EV sont proposés par un cercle plus restreint d'autorités de certification qui ont accepté des exigences d'audit renforcées.
Comme étape supplémentaire, les fournisseurs peuvent soumettre leur pilote aux tests du Hardware Lab Kit (HLK), afin de devenir certifié Windows. Lorsqu'un pilote reçoit une signature d'attestation, il n'est pas certifié Windows. Une signature d'attestation de Microsoft indique que Windows peut faire confiance au pilote, mais comme le pilote n'a pas été testé dans HLK Studio, aucune garantie n'est donnée concernant la compatibilité, la fonctionnalité, etc.
3 and/p>