Direkt zum Inhalt
Symbolfoto: Das AIT ist Österreichs größte außeruniversitäre Forschungseinrichtung

Maschinencode-Analyse

Beim Einsatz von Fremdsoftware müssen Sie darauf vertrauen können, dass das Produkt keine versteckte Funktionalität oder systematischen Schwachstellen enthält, die Ihr Unternehmen gefährden oder von einem Angreifer ausgenützt werden könnten. Insbesondere Software mit kryptographischen Algorithmen muss vor dem Einsatz auf versteckte Schwachstellen untersucht werden.

Penetrationstests, Fuzzing und andere (ebenfalls von AIT angebotene) Techniken helfen Ihnen, Ihre Risiken zur verringern. Um volles Vertrauen in die Software zu gewinnen, ist jedoch eine manuelle Analyse erforderlich. Dies ist ein kosten- und zeitaufwendiger Prozess, der meist auf Maschinencodeebene durchgeführt wird, da der Quellcode der Software üblicherweise nicht verfügbar ist. Der Machine Code Analyzer von AIT hilft Ihnen bei der Analyse, da er gezielt auf Stellen im Maschinencode hinweisen kann, die eine genauere Untersuchung erfordern.

Der Machine Code Analyzer verwendet ein zu prüfendes Programm und einen Satz maschinenlesbarer Anforderungen als Input. Das Tool startet in der Folge die Applikation und überwacht deren Ausführung. Es beobachtet den Datenfluss innerhalb der Applikation und die Nutzung des Speichers, überwacht ganz allgemein die Abdeckung des Kontrollflusses und überprüft, ob die Applikation die definierten Anforderungen erfüllt. Auf diese Weise können potentiell unsichere Anweisungen, Informationslecks und andere kritische Punkte identifiziert werden.

Darüber hinaus generiert das Tool automatisch neue Programminputs, so dass bei der nächsten Ausführung der Applikation bisher unbenutzte Pfade im Kontrollflussgraphen durchlaufen werden. Auf diese Weise kann das Tool etwaige in der Applikation verborgene Funktionalitäten entdecken, die nur durch spezielle Inputs ausgelöst werden.