Schwachstelle Software

Die Komplexität der digitalen Transformation erhöht die Herausforderungen für Software-Hersteller. Sie müssen zuverlässige aber auch sichere Lösungen entwickeln. Verstärkt wird das Problem durch den derzeitigen Fachkräftemangel. [...]

Khaled Yakdan (c) Code Intelligence
Khaled Yakdan (c) Code Intelligence

Die digitale Transformation hat mittlerweile eine ungeheure Eigendynamik entwickelt. Motor dieser Transformation sind hauptsächlich die Software-Hersteller. Auf sie erhöht sich der Druck, einerseits immer komplexer werdenden Aufgabenstellungen begegnen zu müssen, andererseits aber eben auch sichere und zuverlässige Lösungen auszuliefern. Dieser Druck wird durch den IT-Fachkräftemangel und den Wettstreit um kompetente, kreative und erfahrene Entwicklerinnen und Entwickler noch verstärkt. Welcher Weg führt aus diesem Dilemma heraus?

Im fatalen Dreieck der Herausforderungen

Software-Hersteller kämpfen vornehmlich mit drei Problemen: Ressourcenknappheit (Zeit, Geld, Personal), immer komplexere, sich ständig ändernde funktionale Anforderungen sowie harte Anforderungen an Stabilität und Sicherheit. Zudem müssen qualifizierte Entwickler momentan leider aufwendig gesucht und umworben werden. Um die unternehmenseigenen IT-Spezialisten dann auch bestmöglich einsetzen zu können, empfiehlt es sich, die Vorteile der Agilen Software-Entwicklung mit einem möglichst hohen Automatisierungsgrad im Bereich Testing und Fehlersuche zu kombinieren. Denn unentdeckte Bugs gehören zu den immer noch sträflich unterschätzten und im schlimmsten Fall existenzgefährdenden Risiken in der IT-Branche – und der gesamten Wirtschaft.

„Rule of Ten“

Die 10er-Regel der Fehlerkosten – die „Rule of Ten“ – besagt, dass sich der Such- und Beseitigungsaufwand um den Faktor 10 erhöht, je später ein (Software-)Fehler entdeckt und behoben wird. Als „Zehner-Potenz-Grenzen“ fungieren dabei üblicherweise die Übergänge zwischen den Phasen „Planung“, „Entwicklung“, „Produktion“ und „Kunde“. Angesichts der sich stetig erhöhenden Komplexität der Applikationen lässt sich eine einigermaßen zufriedenstellende Testing-Strategie insofern nur mit modernen, hochautomatisierbaren Lösungen bewerkstelligen. Ziel ist, die wertvollen IT-Experten nicht unnötig zu binden, damit sie weiterhin für den eigentlichen Entwicklungsprozess zur Verfügung stehen. Hierfür hat sich in den letzten Jahren modernes Fuzzing als eine sehr effiziente Testing-Methode etabliert. In Kombination mit modernen Bug-Erkennungsmechanismen hat es den Vorteil, fast keine False Positives (vermeintliche Fehler, die gar keine Probleme sind) zu produzieren.

Modern Fuzzing

Fuzzing funktioniert grundsätzlich wie folgt: Eine lauffähige Programmversion wird automatisiert mit Eingaben versorgt – und die Reaktionen der Software genau analysiert. Hierbei übernimmt das Fuzzing den Feedback-Part und verbessert mit jeder Input/Output-Runde die Qualität der nachfolgenden Eingaben. Auf diese Weise lässt sich auch bei fehlendem Quellcode (Black-Box-Modus) eine tiefe und umfassende Abdeckung der zu prüfenden Programmstruktur erreichen. Noch tiefer kann das Fuzzing allerdings ins Programm einsteigen, wenn auch der Quellcode vorliegt (Grey-Box oder White-Box-Modus). Ein großer Vorteil von Fuzzing gegenüber anderen Testing-Methoden ist die Nachvollziehbarkeit der Fehler. Wenn das Programm bei einer Eingabe abstürzt, kann dieser Fehler untersucht werden, indem der Entwickler das Programm in einem Debugger mit genau der gleichen Eingabe ein zweites Mal ausführt.

Agile Entwicklung und Fuzzing

Fuzzing und die Grundsätze der agilen Software-Entwicklung ergänzen sich perfekt. Im Zentrum der agilen Entwicklung steht die Kundenzufriedenheit, die durch die Planung, Entwicklung, Produktion und Auslieferung funktionsfähiger, zuverlässiger und extrem fehlerarmer Applikationen erreicht und aufrechterhalten wird. Wer immer noch den Kunden als finale Tester und „Fehlerfinder“ ansieht und einplant, hat in Zeiten stetig zunehmender digitaler Bedrohungen nichts mehr auf dem professionellen Software-Markt verloren. Die Vielfalt an IoT-fähigen Geräten vergrößert enorm die mögliche Angriffsfläche von Computersystemen, sei es nun moderne Autos oder Firmennetze. Auf der Seite der „Guten“ bietet sich daher die Auswahl und Qualifizierung von „Security Champions“ an. Ein Security Champion ist Teil des Entwicklungsteams und ist Ansprechpartner und Multiplikator für den Einsatz moderner Testing-Techniken wie Fuzzing.

Die Vorzüge von Fuzzing – schnelle Rückmeldung für die Entwickler, enge Integration in den Entwicklungsablauf, sehr zuverlässige Ergebnisse – sind ideale Unterstützungen für die agile Software-Entwicklung. Durch eine kontinuierliche und automatische Überprüfung der Software während der Entwicklung werden schnelle Release-Zyklen und sichere und stabile Produkte erreicht.

*Khaled Yakdan, Code Intelligence


Mehr Artikel

Rüdiger Linhart, Vorsitzender der Berufsgruppe IT der Fachgruppe UBIT Wien. (c) WeinwurmFotografie
Interview

IT-Berufe im Fokus: Innovative Lösungen gegen den Fachkräftemangel

Angesichts des anhaltenden IT-Fachkräftemangels ist schnelles Handeln gefordert. Die Fachgruppe IT der UBIT Wien setzt in einer Kampagne genau hier an: Mit einem breiten Ansatz soll das vielfältige Berufsbild attraktiver gemacht und innovative Ausbildungswege aufgezeigt werden. IT WELT.at hat dazu mit Rüdiger Linhart, Vorsitzender der Berufsgruppe IT der Fachgruppe UBIT Wien, ein Interview geführt. […]

News

ISO/IEC 27001 erhöht Informationssicherheit bei 81 Prozent der zertifizierten Unternehmen

Eine Umfrage unter 200 Personen verschiedener Branchen und Unternehmensgrößen in Österreich hat erstmals abgefragt, inwiefern der internationale Standard für Informationssicherheits-Managementsysteme (ISO/IEC 27001) bei der Bewältigung von Security-Problemen in der Praxis unterstützt. Ergebnis: Rund 81 Prozent der zertifizierten Unternehmen gaben an, dass sich durch die ISO/IEC 27001 die Informationssicherheit in ihrem Unternehmen erhöht hat. […]

News

Public Key Infrastructure: Best Practices für einen erfolgreichen Zertifikats-Widerruf

Um die Sicherheit ihrer Public Key Infrastructure (PKI) aufrecht zu erhalten, müssen PKI-Teams, sobald bei einer Zertifizierungsstelle eine Sicherheitslücke entdeckt worden ist, sämtliche betroffenen Zertifikate widerrufen. Ein wichtiger Vorgang, der zwar nicht regelmäßig, aber doch so häufig auftritt, dass es sich lohnt, PKI-Teams einige Best Practices für einen effektiven und effizienten Zertifikatswiderruf an die Hand zu geben. […]

News

UBIT Security-Talk: Cyberkriminalität wächst unaufhaltsam

Jedes Unternehmen, das IT-Systeme nutzt, ist potenziell gefährdet Opfer von Cyberkriminalität zu werden, denn die Bedrohung und die Anzahl der Hackerangriffe in Österreich nimmt stetig zu. Die Experts Group IT-Security der Wirtschaftskammer Salzburg lädt am 11. November 2024 zum „UBIT Security-Talk Cyber Defense“ ein, um Unternehmen in Salzburg zu unterstützen, sich besser gegen diese Bedrohungen zu wappnen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*