Une grande partie de la lutte contre les nouveaux virus consiste à comprendre comment ils fonctionnent. Pour ce faire, vous devez procéder à une ingénierie inverse. La Agence de Sécurité Nationale (NSA) doit évidemment effectuer ce type de travail souvent. Elle a donc créé son propre outil, appelé Ghidra, pour les aider à le faire.
Au fait, c'est prononcé Ghee-dra. Il a été rendu public gratuitement et en open source le 5 e5 mars 2019 à la RSA Conference de San Francisco. Vous pouvez même voir les notes de présentation de Ghidra de Robert Joyce, conseiller principal auprès de la National Security Agency (NSA).
Pour vraiment comprendre que libérer Ghyrra était important, nous devons comprendre à quoi sert la reverse engineering et à quoi elle sert.
Qu'est-ce qui est inverse? L'ingénierie et pourquoi est-il utilisé?
En règle générale, l'ingénierie inverse (RE) désigne le processus consistant à séparer une chose pour en déterminer la fabrication. Vous vous êtes peut-être fait cela avec un petit appareil ménager à la maison, en essayant simplement de trouver un moyen de vous réparer. Mais nous parlons d’ER en tant que programme. C’est juste du code, non? Ne nous contentons-nous pas de regarder le code qui le cache?
Lorsque vous écrivez un programme dans un langage comme C ou Java, il existe une étape entre l'écrire et pouvoir l'utiliser sur un ordinateur. La langue dans laquelle vous programmez est lisible par vous, mais pas nécessairement par l'ordinateur. Cela doit être traduit en quelque chose que l'ordinateur peut utiliser. Ce processus s'appelle la compilation.
Une fois qu'un programme est compilé, il n'est plus lisible par les humains.
In_content_1 all: [300x250] / dfp: [640x360]->Si vous voulez comprendre le fonctionnement de ce programme, vous devez le distinguer au niveau où vous pouvez voir ce qu’il contient. Vous avez besoin d’atoolkit pour cela, tout comme vous avez besoin d’une boîte à outils contenant des tournevis et des clés pour manipuler un petit appareil ou un moteur.
C’est là que Ghidra entre en jeu. C’est un logiciel de renforcement de la boîte à outils à part pour voir comment il fonctionne. Il existe déjà d'autres outils similaires tels que IDA, Radare et Binary Ninja.
La NSA utilise Ghidra pour s'attaquer aux virus, logiciels malveillants et autres programmes pouvant constituer une menace pour la sécurité nationale. Ensuite, sur la base de leurs constatations, ils élaborent un plan d’action pour faire face à la menace. Avec le nombre d'événements de piratage sponsorisés par les États dans les nouvelles récemment, vous savez que c'est un gros problème.
Quelqu'un peut-il utiliser Ghidra?
Pas exactement. Vous devez au moins maîtriser les programmes. Vous n’avez pas besoin d’être un ingénieur en logiciel, mais si vous avez suivi quelques cours universitaires en programmation, vous pouvez vous familiariser avec Ghidra.Apprenez-vous à l'utiliser.
La NSA s’emploie à «… améliorer les outils de cybersécurité…» et à «… créer une communauté…» de chercheurs compétents en Ghidra et contribuant à sa croissance, comme l'indique la présentation de Robert Joyce.
Alors pourquoi Ghidra est-il un gros problème?
Cela vient de la NSA. Quelle entreprise a le genre de ressources dont dispose une agence fédérale américaine? Quel genre d'expérience même la meilleure entreprise de sécurité peut-elle avoir comparée à une agence chargée de la sécurité du pays le plus puissant de la planète?
Donc, oui, c’est un outil très puissant. Le chercheur en sécurité Joxen Coret a tweeté «Ainsi, Ghidra est présent sur n’importe quel autre outil d’ER, à la seule exception de l’IDA.»
Ensuite, il y a l'aspect libre. En étant capable d'obtenir gratuitement ce qui est sans doute le plus puissant outil d'ER, la barre d'accès à la recherche en sécurité vient d'être réduite à la simple possession d'un ordinateur et d'un accès à Internet.
Cela fait partie de la raison pour laquelle la NSA l'a publié. Ils espèrent qu'une nouvelle génération de chercheurs y maîtrisera et envisagera une carrière au sein de la NSA.
Ensuite, il y a l'open source aspect. Les agences de sécurité ne sont pas connues pour laisser les gens regarder derrière le rideau pour une bonne raison. Si vous savez comment ils font ce qu'ils font, il devient plus facile de les contrecarrer. Cependant, tout le code source de Ghidra est rendu public afin que tout le monde puisse le consulter et voir comment il fonctionne.
Et, non, il n'y a aucune mention de backdoors du gouvernement. Ron Joyce a répondu rapidement à cette question en indiquant que la communauté de la recherche sur la sécurité "est la dernière communauté vers laquelle vous souhaitez diffuser quelque chose avec une porte dérobée installée. Elle s'adresse aux personnes qui recherchent ce produit à déchirer en pièces."
D'un point de vue pédagogique, Ghidra permet également aux ingénieurs en logiciel de prendre programmes à part pour voir comment ils travaillent et ensuite apprendre à faire quelque chose de similaire avec leurs propres projets. Examiner le code d’une autre personne est depuis longtemps une pratique acceptée par les programmeurs et les développeurs pour devenir de meilleurs programmeurs. Si ce code était ouvertement partagé, bien sûr.
Peut-être le plus gros problème est-il que Ghidra a été conçu pour être utilisé en collaboration. Vous pouvez avoir un référentiel partagé avec vos collègues ou amis afin que vous puissiez tous travailler sur un projet à la fois. Cela accélère considérablement le processus d'analyse.
Et maintenant?
Le gouvernement fédéral américain s'est engagé à publier de plus en plus de logiciels liés à la sécurité. Certains seront de nature très technique, comme Ghidra, et d’autres plus conviviaux, comme un version renforcée d'Android.
Tout cela annonce une période unique de collaboration entre le gouvernement et les civils pour maintenir notre infrastructure de données aussi sûre que possible.
Les États-Unis. Service secret - https://www.secretservice.gov/data/press/reports/USSS_FY2013AR.pdf
https://media.defense.gov/2012/Apr/27/2000157039/-1/-1/0/120417-F-JM997-405.JPG