idw – Informationsdienst Wissenschaft

Nachrichten, Termine, Experten

Grafik: idw-Logo
Science Video Project
idw-Abo

idw-News App:

AppStore

Google Play Store



Instance:
Share on: 
12/14/2022 09:22

Schwachstellen in Software schnell und effizient finden

Dr. Julia Weiler Dezernat Hochschulkommunikation
Ruhr-Universität Bochum

    Nahezu jeder neue Programmcode besitzt Fehler, die schlimmstenfalls sicherheitskritisch sein können. Um sie schnell und gründlich aufzuspüren, haben Forscher vom Horst-Görtz-Institut für IT-Sicherheit der Ruhr-Universität Bochum ein neues System entwickelt – Fuzzware genannt. Es ist auf die Analyse von eingebetteten Systemen spezialisiert, also Mini-Computern, die sich etwa in smarten Glühlampen, intelligenten Thermostaten oder Steuerungssystemen in der Industrie finden. Über die Arbeit berichtet das Wissenschaftsmagazin Rubin der Ruhr-Universität.

    Die Ergebnisse hat der Bochumer Doktorand Tobias Scharnowski, betreut von Prof. Dr. Thorsten Holz, im August 2022 beim 31st Usenix Security Symposium in den USA vorgestellt. Er kooperierte für die Arbeiten mit Kolleginnen und Kollegen der University of California Santa Barbara und der Vrije Universiteit Amsterdam.

    Die Software mit Absicht zum Absturz bringen

    Die Gruppe nutzt das sogenannte Fuzzing, um Fehler im Programmcode aufzuspüren. Als Fuzzer bezeichnet man Algorithmen, die die zu testende Software mit zufälligen Inputs füttern und prüfen, ob sie die Anwendung damit zum Absturz bringen können. Solche Crashs weisen auf Programmierfehler hin. Immer wieder variiert der Fuzzer den Input, um Schritt für Schritt möglichst viele Programmbestandteile zu erkunden.

    Für bestimmte Anwendungsbereiche ist das Fuzzing bereits etabliert, zum Beispiel, um Betriebssysteme wie Windows oder Linux zu testen. Eingebettete Systeme hingegen wurden noch nicht ausgiebig damit untersucht; denn sie bringen einige Herausforderungen mit sich: Bei ihnen ist die Software – die sogenannte Firmware – in eine Hardware eingebettet, mit der sie interagiert. Oft haben solche Systeme verhältnismäßig wenig Speicher und langsame Prozessoren. Ein Problem, wenn die Forscher das Fuzzing direkt im System durchführen wollen. Es würde viel zu lange dauern, alle möglichen Inputs durchzuprobieren und auf die Antwort des Systems zu warten.

    Hardware virtuell imitieren

    Deswegen analysiert das Team die Firmware nicht direkt in der industriellen Steuereinheit oder in der Glühbirne. Stattdessen bauen sie die Hardware virtuell nach – emulieren nennt sich dieser Prozess. Der Emulator gaukelt der Firmware vor, sich in dem realen Gegenstand zu befinden. Dazu muss er genauso mit dem Programm interagieren, wie es die echte Hardware tun würde.

    Um den Prozess weiter zu beschleunigen, schalten die Forscher dem eigentlichen Fuzzing-Prozess noch einen Schritt vor, in dem sie die möglichen Inputs eingrenzen. Sie modellieren zunächst, in welchem Rahmen sich die Eingaben befinden müssen, um für die Firmware logisch zu sein. Ein Beispiel: Handelt es sich bei der Hardware um einen Kühlschrank mit einem Temperaturfühler, kann die Kühlschrank-Hardware die gemessenen Temperaturen an die Software des Kühlschranks, also seine Firmware, melden. Realistischerweise können nicht alle möglichen Temperaturen auftreten, sondern nur ein gewisser Bereich. Daher ist auch die Firmware nur für einen bestimmten Temperaturbereich programmiert. Andere Werte könnte sie gar nicht verarbeiten, also muss man sie auch nicht im Fuzzing testen.

    Beschränkte Inputs erlauben effiziente Analyse

    Zusammen mit Partnern aus Santa Barbara und Amsterdam testete das Bochumer Team 77 Firmwares mit Fuzzware. Im Vergleich zu herkömmlichen Fuzzing-Methoden sortierten sie bis zu 95,5 Prozent der möglichen Inputs aus. Trotzdem gelang es ihnen, mit dem Fuzzware-System in der gleichen Zeit bis zu dreimal mehr von dem Programmcode zu checken wie mit herkömmlichen Verfahren. Dabei fand die Gruppe auch neue Schwachstellen, die mit anderen Fuzzing-Methoden unentdeckt geblieben waren.

    Ausführlicher Artikel im Wissenschaftsmagazin Rubin

    Einen ausführlichen Beitrag zum Thema finden Sie im Wissenschaftsmagazin Rubin, Sonderausgabe IT-Sicherheit, unter: https://news.rub.de/wissenschaft/2022-12-06-it-sicherheit-intelligente-affen. Für redaktionelle Zwecke dürfen die Texte auf der Webseite unter Angabe der Quelle „Rubin – Ruhr-Universität Bochum“ sowie Bilder aus dem Downloadbereich unter Angabe des Copyrights und Beachtung der Nutzungsbedingungen honorarfrei verwendet werden.

    Rubin kann über ein Online-Formular kostenlos als Newsletter oder Printausgabe abonniert werden: https://news.rub.de/rubin


    Contact for scientific information:

    Tobias Scharnowski
    Lehrstuhl für Systemsicherheit
    Horst-Görtz-Institut für IT-Sicherheit
    Ruhr-Universität Bochum
    E-Mail: tobias.scharnowski@rub.de

    Prof. Dr. Thorsten Holz
    Exzellenzcluster CASA
    Ruhr-Universität Bochum
    E-Mail: thorsten.holz@rub.de


    Original publication:

    Tobias Scharnowski, Nils Bars, Moritz Schloegel, Eric Gustafson, Marius Muench, Giovanni Vigna, Christopher Kruegel, Thorsten Holz, Ali Abbasi: Fuzzware: Using precise MMIO modeling for effective firmware fuzzing, 31st Usenix Security Symposium, Boston, USA, 2022, Download: https://www.usenix.org/conference/usenixsecurity22/presentation/scharnowski


    Images

    Die beiden Forscher suchen nach Schwachstellen im Programmcode von Firmware, also von einer speziellen Software, die zur Steuerung von Hardware gebraucht wird.
    Die beiden Forscher suchen nach Schwachstellen im Programmcode von Firmware, also von einer speziell ...

    Michael Schwettmann

    Thorsten Holz (links) und Tobias Scharnowski
    Thorsten Holz (links) und Tobias Scharnowski

    Michael Schwettmann


    Criteria of this press release:
    Journalists
    Information technology
    transregional, national
    Research results, Scientific Publications
    German


     

    Die beiden Forscher suchen nach Schwachstellen im Programmcode von Firmware, also von einer speziellen Software, die zur Steuerung von Hardware gebraucht wird.


    For download

    x

    Thorsten Holz (links) und Tobias Scharnowski


    For download

    x

    Help

    Search / advanced search of the idw archives
    Combination of search terms

    You can combine search terms with and, or and/or not, e.g. Philo not logy.

    Brackets

    You can use brackets to separate combinations from each other, e.g. (Philo not logy) or (Psycho and logy).

    Phrases

    Coherent groups of words will be located as complete phrases if you put them into quotation marks, e.g. “Federal Republic of Germany”.

    Selection criteria

    You can also use the advanced search without entering search terms. It will then follow the criteria you have selected (e.g. country or subject area).

    If you have not selected any criteria in a given category, the entire category will be searched (e.g. all subject areas or all countries).