nobeastsofierce - Fotolia

F

Microsoft Project Springfield: Fuzz Testing als Cloud-Dienst

Microsoft stellt auf Azure eine Fuzz-Testing-Lösung bereit. Wie funktioniert der Cloud-Dienst und was unterscheidet ihn von Schwachstellenscannern?

Microsoft hat das Project Springfield vorgestellt, dass es Entwicklern erlauben soll, ihren Software-Code per Fuzz Testing auf Schwachstellen abzuklopfen. Beim Fuzz Testing oder auch Fuzzing sollen Programmierfehler und Sicherheitslücken entdeckt werden. Hierfür werden die Eingabeschnittstellen mit zufälligen Daten geflutet, um Fehler oder Abstürze zu provozieren. Dabei können verschiedenste Probleme auftreten, etwa bei der Fehlerbehandlung oder dem Umgang mit dem Speicher.

Durch die Möglichkeit Fuzzing als Dienst zu nutzen, ist ein Entwickler in der Lage, Fehler in seinem Code zu entdecken, die bei anderen Testmethoden im Verborgenen geblieben wären. Das Ganze funktioniert so: Die Entwickler laden die kompilierten Programme beziehungsweise Binaries hoch und liefern einige Beispieleingaben. Dann startet das Fuzzing in mehreren Durchgängen, wobei bei jedem Durchlauf Daten gesammelt werden. Dabei kommen unterschiedliche Fuzzing-Methoden zum Einsatz. So kann man automatisiert Software-Schwachstellen auf die Schliche kommen.

Wie eingangs bemerkt, läuft Projekt Springfield auf Microsoft Azure, derzeit werden nur Windows-Programme unterstützt. Die FAQ zum Projekt stellt Linux-Unterstützung in Aussicht. Die einzelnen Schritte des Testablaufs lauten wie folgt:

  • Der Entwickler meldet sich am Serviceportal an und erhält eine virtuelle Maschine, an die er die Beispieleingaben übergeben kann.
  • Der Fuzzer durchläuft mehrere Durchgänge des Fuzz Testing.
  • Die Ergebnisse aus dem Fuzzing landen im Webportal, an dem sich Entwickler angemeldet hat. Dort kann er auch einen Schwachstellenreport exportieren.
  • So kann der Entwickler die Fehler beseitigen, bevor die Software produktiv eingesetzt wird.

Beim diesem Testverfahren treten nicht nur Schwachstellen der Software zutage. Der Fuzzer sorgt auch für die Erkennung von Logikfehler innerhalb des Codes. Damit ist der Code selbst zwar nicht anfällig, aber diese Fehler könnten gleichermaßen missbraucht werden.

Microsoft Project Springfield
Abbildung 1: So läuft das Fuzz Testing bei Microsofts Project Springfield ab. Nach dem Hochladen der Binaries und Beispieleingaben beginnt der Test.

Indem man neben statischen und dynamischen Testverfahren zusätzlich Fuzz Testing in die Softwareentwicklung integriert, zieht man eine weitere Schutzschicht ein. Mit Project Springfield offeriert Microsoft eine Testmöglichkeit, die bislang nicht jedermann zugänglich ist. Damit wird dieses Testverfahren für Entwickler verfügbar, die bislang damit keine Erfahrung haben. Fuzzing kann dazu beitragen, dass Software sicherer wird.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Software: Sicherheitstests über den Lebenszyklus

Penetration Tester, kein normaler IT-Job

IT-Sicherheit: Automatisierte Tests reichen nicht aus

Wie man Fehlerursachenanalysen in Softwaretests angehen sollte

Artikel wurde zuletzt im Dezember 2016 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Enterprise-Risk-Management

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchStorage.de

SearchNetworking.de

SearchEnterpriseSoftware.de

SearchDataCenter.de

Close