Neue Wege bei der Fehlersuche

Bessere Software per Crowdtesting

von - 25.08.2022
Foto: Shutterstock / Sergej Bitos
Wie sich mithilfe externer Test-Plattformen die Qualität und die Sicherheit von Anwendungen steigern lassen.
Wiederholte Angriffe auf Lieferketten in der Software-Distribution belegen eindrücklich, welche Bedeutung der Qualität und der Sicherheit von Anwendungen heute zukommt. Moderne Software besteht nicht mehr nur aus Einzelapplikationen, die von einer Handvoll Programmierern bei einem einzigen Unternehmen entwickelt werden. Vielmehr ist sie zu einem komplexen Ökosystem geworden, dessen Elemente eng verknüpft sind und das zahllose andere Bibliotheken, Frameworks und Bestandteile einbindet, die wiederum auf weitere Komponenten angewiesen sind. Wenn es an einer Stelle dieser Supply Chain zu einem Fehler kommt, kann das komplette Strukturen in den Abgrund reißen. Vielen Unternehmen ist wegen der nicht mehr überschaubaren Komplexität nicht bewusst, in welcher Gefahr sie sich befinden.

Komplexität erzeugt Probleme

Zu den bekanntesten Beispielen für solche Gefahren gehört die Attacke auf Solarwinds. Im Dezember 2020 kamen erste Berichte auf, dass mehrere amerikanische Behörden durch einen Fehler in der Orion-Plattform des Anbieters gehackt wurden. Später stellte sich heraus, dass mindestens 18.000 der damals über 33.000 Orion-Kunden betroffen waren. Bei den Angriffen wurde eine Sicherheitslücke ausgenutzt, die über ein Update an die Nutzer verteilt wurde und zur Installation einer Backdoor missbraucht werden konnte.
Lothar Geuenich
Regional Director Central Europe/DACH bei Check Point
Foto: Check Point
„Hacker nutzen häufig Schwachstellen in der Lieferkette aus.“

Ein weiterer verheerender Bug wurde Ende vergangenen Jahres in der zum Logging von Ereignissen eingesetzten Bibliothek Log4j gefunden. Auch von dieser Lücke waren zahllose Unternehmen betroffen, die die Software mehr oder weniger wissentlich in ihren Umgebungen einsetzten. Damals gingen Experten sogar davon aus, dass das Internet „in Flammen“ stehe. Bis heute ist nicht klar, wie groß der durch den Fehler in Log4j angerichtete Schaden wirklich ist, da viele Attacken im Verborgenen blieben.
Die Zahl der Angriffe auf Software-Lieferketten ist 2021 im Vergleich zum Vorjahr um 650 Prozent gestiegen, erklärt Lothar Geuenich, Regional Director Central Europe/DACH beim israelischen-amerikanischen Sicherheitsanbieter Check Point. „Hacker nutzen häufig Schwachstellen in der Lieferkette aus, um Malware in das Zielunternehmen zu schleusen“, sagt Geuenich. Er empfiehlt Unternehmen daher eine Least-Privilege-Policy, also nicht benötigte Berechtigungen gar nicht erst zuzulassen. Außerdem müssten Sicherheitsaspekte in den Entwicklungsprozess integriert werden. „Vorbeugen ist besser als Nachsorge“, so Geuenich.

Mehr testen, besser testen

Um die Qualität der Software in Unternehmen zu verbessern, werden mehr und vor allem bessere Tests benötigt. Bislang ist nach Aussage von Thomas Wittbecker, geschäftsführender Gesellschafter und Mitgründer des Cloud-Spezialisten Adacor Hosting, das Durchführen von manuellen Tests am bekanntesten. In einem Blog-Beitrag beschreibt er, wie die Tester beim sogenannten Black-Box-Testing eine Anwendung Schritt für Schritt durchgehen und dabei überprüfen, ob alle Features wie vorgesehen funktionieren. „Damit der Tester aufgrund seiner eigenen Entwicklung nicht unbewusst Annahmen über die Nutzung der Software trifft, sollte ein Entwickler nicht gleichzeitig auch Tester sein“, betont Wittbecker. Ein Nachteil dieser Methode sei allerdings, dass dabei nur Fehlerbilder geliefert würden, aber keine Ursachen.
White-Box-Tests werden dagegen laut Wittbecker eingesetzt, um Fehler in größeren Projekten einer bestimmten Komponente zuzuweisen. Dabei werde auch der Quellcode selbst getestet. Bei solchen Projekten würden mittlerweile vor allem automatisierte Tests genutzt, da manuelle Verfahren dafür zu aufwendig seien. Bei Modultests etwa werde dabei für jedes zu testende Modul ein eigenes Testprogramm bereitgestellt. Ein Problem sei aber, dass so nur Fehler gefunden würden, die bei der Konzeption der Tests berücksichtigt wurden. „Um diesen Nachteil auszugleichen, werden in der Praxis manuelle Black-Box-Tests von einem unabhängigen Team mit automatisierten White-Box-Tests zur Fehlersuche kombiniert“, so Wittbecker.
Thomas Wittbecker
Geschäftsführender Gesellschafter und Mitgründer von Adacor Hosting
Foto: Adacor Hosting GmbH
„Ein Entwickler sollte nicht gleichzeitig Tester sein.“

Viele Unternehmen würden daher zusätzlich noch Betatests durchführen, bei denen die Teilnehmer aufgerufen werden, von ihnen gefundene Fehler an die Entwickler zu melden. „Damit kann der Anbieter auch Fehler finden, die nur in speziellen Situationen auftreten oder die beim internen Testen übersehen wurden.“ Dieses Verfahren ist allerdings nur bei Software möglich, die eine breite Nutzerbasis hat. Ein kleiner Spezialist für bestimmte Bereiche kann deswegen nur unter Einschränkungen so vorgehen.
Verwandte Themen