Malwareanalyse in 4 Schritten (Artikel 3: Statische Codeanalyse)

Ein weiterer Schritt in dem Prozess der Malwareanalyse stellt die statische Codeanalyse dar. Bei diesem Schritt kommt es nicht zur Ausführung der mutmaßlichen Malware, stattdessen findet eine genaue Betrachtung des Programmcodes statt. Ziel ist es die inneren Abläufe und Komponenten der vorliegenden schädlichen Datei noch besser zu verstehen.Da die Malware in der Regel als Binärdatei zur Untersuchung vorliegt, müssen Techniken des Reverse Engineerings angewandt werden. D.h. die in Maschinencode vorliegende Binärdatei muss mithilfe einer Disassemblierung zurück in Assemblersprache übersetzt werden, sodass sie für Menschen lesbar wird. Anzumerken ist hier, dass der Malware-Analyst sehr gute Kenntnisse über die Assemblersprache haben muss, insbesondere auch deshalb, da diese von der jeweiligen Prozessorarchitektur abhängig ist. Ein gewisses Grundverständnis einer bestimmten Architektur erleichtert hier jedoch die Transformation auf andere Prozessorarchitekturen. Am häufigsten auf dem Markt vertreten ist die Prozessorarchitektur IA-32 von Intel. 
Nach dem Disassemblieren folgt die Analyse des Assemblercodes. Der Analyst sollte hier nicht Zeile für Zeile analysieren, da dies sehr zeitaufwendig werden kann, sondern vielmehr versuchen den Code zu gruppieren und auf einzelne Konstrukte zu fokussieren. Diese Konstrukte bieten letztlich Anhaltspunkte für die Übersetzung in eine Hochsprache (meist die Hochsprachen C und C++).