WinAPI und „billige“ Malware-Analyse mit KI – Teil 2
Dies ist ein Nachfolge-Blog zu WinAPI und „Billige“ Malware-Analyse mit KI – Teil 1 und baut auf den dort besprochenen Themen auf – ich empfehle dringend, dass Sie es lesen, bevor Sie fortfahren.
Im ersten Teil dieses Whitepapers sind wir die Grundlagen der WinAPI und ihrer Funktionalitäten durchgegangen.
Dieser Teil wird noch tiefer in einen Abschnitt in der PE-Datei namens „Import Address Table“ eintauchen.
Nachdem wir das gelernt haben, können wir unser neu erworbenes Wissen für die Malware-Analyse verwenden, indem wir ein Tool namens „IAtelligence“ verwenden.
Die Import-Adresstabelle
Bevor wir diesen Begriff definieren, müssen wir verstehen, was eine DLL ist:
Die DLL ist eine Datei (im Format PE), die als gemeinsam genutzte Bibliothek dient. DLLs können Code, Daten oder Ressourcen enthalten.
DLLs sind eine hervorragende Möglichkeit, die Speichereffizienz unter Windows zu verbessern, und ermöglichen es Entwicklern, die integrierten Funktionen zu verwenden, ohne viele Codezeilen wiederholen zu müssen.
In unserem Fall ist die DLL der Container, der den Code der API-Funktionen speichert. Sobald ein Programm geladen ist, übernimmt es die benötigten Funktionen aus der entsprechenden DLL.
Nachdem wir nun wissen, was eine DLL ist, sprechen wir über die Importadresstabelle:
Die Importadresstabelle ist der Teil des ausführbaren Windows PE-Dateiformats, das die Adressen von Funktionen aufzeichnet, die aus anderen DLLs importiert wurden.
Wenn Ihr Programm beispielsweise aufruft GetSystemInfo(), hat die ausführbare Datei einen Eintrag in ihrer Importtabelle, der besagt: „Ich möchte die Funktion GetSystemInfo()von aufrufen können kernel32.dll.“
Wenn das Modul geladen ist, findet das System diese Funktion, erhält ihre Adresse und speichert sie in einer Tabelle, die als Import Address Table (IAT) bekannt ist. Wenn das Modul die GetSystemInfo()Funktion aufrufen muss, ruft es den Wert aus der Import-Adresstabelle ab und ruft sie auf.
Weitere Informationen zur Anatomie des IAT finden Sie in diesem Artikel.
Abschließend Malware-Analyse
Jetzt, da wir alle erforderlichen Kenntnisse haben, lassen Sie uns dies in die Praxis umsetzen:
Lernen Sie IATelligence kennen, ein Python-Skript, das die IAT einer (ausführbaren) PE-Datei extrahiert und dann Informationen zu jeder Funktion von ChatGPT abruft.
Für diejenigen unter Ihnen, die unter einem Felsen leben, ist ChatGPT ein Chatbot, der von OpenAI entwickelt und auf dem GPT3.5-KI-Modell aufgebaut wurde.
In den letzten Monaten wurde ChatGPT sehr beliebt und erwies sich in vielen Bereichen (einschließlich Infosec) als sehr einfallsreich.
Sie können ChatGPT hier ausprobieren .
In unserem Kontext hilft uns ChatGPT beim Abrufen nützlicher Informationen zu jeder einzelnen WinAPI-Funktion, die IATelligence in der analysierten Datei gefunden hat.
Auf diese Weise können wir etwas über die Eigenschaften einer bestimmten Binärdatei erfahren.
IATelligence in Aktion
IATelligence kann sich als Teil eines anfänglichen Triage-Prozesses, als Teil einer forensischen Untersuchung oder sogar als reine Aufklärungsübung als nützlich erweisen.
Hier sind Beispiele für echte Malware, die ich mit IATelligence analysiert habe:
Rote Linie
Redline Stealer ist eine beliebte Malware-Variante, die für den persönlichen Gebrauch gekauft werden kann, weshalb sie sehr häufig anzutreffen ist.
Wie unten zu sehen ist, enthalten die Ergebnisse die _lread- Funktion, deren Beschreibung zu den Zielen einer Stealer-Malware passt.
Agent Tesla
Die unten angezeigten Funktionen können ziemlich genau bestätigen, dass diese Malware die Registrierung missbraucht, um bei ihrem Opfer Persistenz zu erreichen.
Ryuk-Ransomware
Den untenstehenden Funktionen nach zu urteilen, wird dieses Ryuk-Beispiel, das ich analysiert habe, wahrscheinlich mit einem C2C-Server über die Protokolle der Anwendungsschicht kommunizieren. Außerdem kann die Funktion bind() darauf hinweisen, dass die Malware versucht, sich seitlich über das Netzwerk zu bewegen.
Sobald wir eine erste Einschätzung der von der Stichprobe verwendeten Funktionen erhalten haben, haben wir einen besseren Ausgangspunkt für unsere forensische Untersuchung.
KI & Informationssicherheit
In Zukunft werden uns ChatGPT und KI im Allgemeinen viele Sicherheitslösungen und kreative Tools zur Verfügung stellen, die das Analysten-Toolkit ergänzen werden.
Auf der anderen Seite hilft es auch Angreifern bei ihren Zielen, indem es offensive Engagements gefährlicher und potenziell schädlicher macht.
Das Vorhandensein von KI darf Sicherheitsanalysten nicht in Faulheit verfallen lassen. Ein weit verbreitetes Missverständnis ist, dass KI uns die ganze Arbeit abnehmen wird – das Gegenteil ist der Fall:
„Manche Leute nennen das künstliche Intelligenz, aber die Realität ist, dass diese Technologie uns verbessern wird. Anstelle von künstlicher Intelligenz denke ich, werden wir unsere Intelligenz erweitern.“ – Ginni Rometty
KI ist ein bahnbrechendes Gebiet, und ich freue mich, dass wir hier sind, um Zeuge ihrer Integration mit traditionellen Berufen zu werden – was meiner Meinung nach einer der größten Sprünge für die Menschheit sein wird.
Anstatt die Veränderung zu fürchten und zu meiden – begrüßen Sie sie!
Experimentieren, testen, integrieren und neue Dinge erschaffen.
Spannende Zeiten stehen bevor.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































