Comment un analyste de sécurité utilise un dés-assembleur pour détecter des malwares ?
Un analyste possède plusieurs dés-assembleurs car: Il faut savoir quel langage de programmation est utilisé et c'est très important car certains langages sont bas-niveaux (qui sont des langages un peu plus complexes à maitriser puisque ils communiquent directement avec le CPU et autres composants) et haut-niveaux (qui sont des langages un peu moins complexes à maitriser, ils ne communiquent directement pas avec le CPU et autres composants). Je vais te faire une liste des différents langages bas et haut niveau:
- Bas niveau
Ces langages là doivent utiliser un dés-assembleur pour pouvoir être traduit en Assembleur:
- C/C++/Objective C
- Assembleur
- Autres langages qui nécessitent une compilation avant que le code soit exécuté et qui ne doivent pas utiliser des programmes externes pour pouvoir s'exécuter. Malheureusement, ce geste semble être délicat à réaliser: https://www.developpez.net/forums/d4671/c-cpp/c/recherche-decompilateur-c/#post30436
Ces langages là doivent utiliser des outils spécifiques (indiqués entre crochets []):
- .NET (VB.NET, C#...): http://www.ilspy.net (ILSpy, excellent dé-compilateur .NET)
- Java: https://github.com/java-decompiler/jd-gui/releases (JD-GUI, lui aussi excellent dé-compilateur Java)
- Python, HTML, CSS, etc... tout langage interprété n'a pas besoin de dé-compilateur, puisque ils sont exécutés directement sans compilation.
Quelles sont les limites d'un dés-assembleur pour détecter des malwares ?
Il y a très peu de limites pour détecter un malware:
- Il se peut que le malware ait chiffré un fichier interne, donc rendant le dés-assemblement impossible. Il déchiffre donc ce fichier puis l'écrit sur le disque-dur avant de le lancer.
- Il se peut que le malware télécharge un fichier, mais l'opération est plus facile puisque pour télécharger ce fichier, il faut un URL, donc une chaîne de texte. Donc, lors du dés-assemblage, il faudra trouver cette chaîne de texte pour pouvoir le télécharger et le désassembler.
Un hacker peut il cacher des malwares dans les instructions du programme ?
Voir ce que j'ai dis plus haut, donc oui.
Mais les limites du désassembleur seraient elle que toutes les instructions ne sont pas traduites et donc certaine partie du malware "invisible"?
Non, excepté si encore une fois le fichier est chiffré ou téléchargé.
J'espère t'avoir répondu un grand nombre de tes questions,
bonne journée/soirée,
Alexis.
Message édité le 09 avril 2017 à 22:00:17 par AlexisBELM