Logo für GIGAOM 365x70

Sehen Sie, welche API-Testlösung im GigaOm Radar Report am besten abgeschnitten hat. Holen Sie sich Ihren kostenlosen Analystenbericht >>

Wie die statische Analyse von Parasoft die CrowdStrike-Katastrophe hätte verhindern können

Kopfbild von Ricardo Camacho, Director of Safety & Security Compliance
24. Juli 2024
3 min lesen

Die jüngsten weltweiten Systemausfälle im Zusammenhang mit dem CrowdStrike Falcon-Softwareupdate zeigen, wie wichtig umfassende Tests vor der Bereitstellung sind, zu denen auch bewährte Verfahren wie die statische Analyse gehören. Erfahren Sie, wie Sie mit den statischen Codeanalyse-Tools von Parasoft ähnliche Probleme in Zukunft effektiv verhindern können.

In der schnelllebigen Welt der automatisierten Softwarebereitstellung (CI/CD) ist die Gewährleistung der Integrität und Zuverlässigkeit von Softwareupdates von entscheidender Bedeutung. Der jüngste Vorfall bei CrowdStrike, bei dem es um ein kritisches Windows-Sensorupdate ging, unterstreicht die Notwendigkeit umfassender Tests vor der Bereitstellung. Dieser Vorfall, der nach dem Update zu erheblichen Problemen führte, dient Softwareentwicklern als warnendes Beispiel: Automatisierte Tests müssen nicht nur die Cybersicherheit, sondern auch Zuverlässigkeit und Sicherheit streng prüfen. Das Protokoll von CrowdStrike beginnt mit einer Reihe automatisierter Tests. CrowdStrike erklärt:

„Der Sensorfreigabeprozess beginnt mit automatisierten Tests, sowohl vor als auch nach der Einbindung in unsere Codebasis. Dazu gehören Unit-Tests, Integrationstests, Leistungstests und Stresstests.“

Interessanterweise wird die statische Codeanalyse in ihrem Testprogramm nicht erwähnt. Angesichts der Tatsache, dass sicherheitskritische Sektoren schon lange auf statische Analysen setzen, um Problemen vorzubeugen, ist diese Auslassung bemerkenswert. Statische Analysetools wie die von Parasoft haben sich als äußerst effektiv bei der Verbesserung der Softwarerobustheit erwiesen.

Früherkennung mit statischer Analyse beim Shift-Left-Testen

Automatisierte Softwarebereitstellungen basieren auf umfassenden Softwaretests, die früh im Zyklus durchgeführt werden – auch bekannt als Linksverschiebungstest– um potenzielle Fehler und Schwachstellen zu erkennen, bevor sie in die Produktion gelangen. Bei frühen Tests ist es entscheidend, neben der Sicherheit auch die Sicherheit und Zuverlässigkeit des Codes zu priorisieren, um Vorfälle zu vermeiden, die das Vertrauen untergraben und erhebliche Störungen verursachen.

Statische Analyse spielt eine entscheidende Rolle beim Shift-Left-Testen, da es Probleme frühzeitig im Entwicklungsprozess identifiziert und behebt. Im Gegensatz zu dynamisches Testen, bei dem der Code ausgeführt werden muss, untersucht die statische Analyse den Quellcode, ohne das Programm auszuführen. Dies ermöglicht die frühzeitige Erkennung potenzieller Fehler, Sicherheitslücken und Verstöße gegen Codierungsstandards bereits zu Beginn des Softwarelebenszyklus.

Im Falle des CrowdStrike Falcon-Update-Problems ist die Einhaltung von Kodierungsstandards wie MISRA, CERT und CWE durch statische Analysetools wäre entscheidend zum Erkennen und Beheben dieses Logikfehlers gewesen.

  • MISRA bietet Richtlinien für sichere und zuverlässige Software, insbesondere für eingebettete Systeme.
  • CERT konzentriert sich auf sichere Codierungspraktiken, um Sicherheitslücken zu vermeiden.
  • CWE bietet eine umfassende Liste von Softwareschwachstellen.

Diese Standards enthalten alle Kodierungsrichtlinien zur Identifizierung der Verwendung von NULL-Zeigern, der Hauptursache dieses Fehlers. Parasoft bietet umfassende Abdeckung dieser Standards und durch den Einsatz eines robusten Satzes von Prüfprogrammen mit Fokus auf Sicherheit, Schutz und Zuverlässigkeit hätten diese Arten von Fehlern frühzeitig erkannt werden können.

Hier sind nur einige Codierungsrichtlinien für die statische Analyse aus drei verschiedenen Standards, die zum Auffinden dieser Art von Softwarefehlern verwendet werden können.

MISRA C++ 2023Codierungsrichtlinien
MISRA C++2023:7.11.1nullptr soll die einzige Form der Nullzeigerkonstante sein
MISRA C++2023:8.7.1Zeigerarithmetik darf keinen ungültigen Zeiger bilden
MISRA C++2023:11.6.2Der Wert eines Objekts darf erst gelesen werden, wenn er gesetzt wurde
CWECodierungsrichtlinien
CWE:395Verwendung von NULLPointer Exception Catch zum Erkennen einer NULL-Zeiger-Dereferenzierung
CWE:476NULL-Zeiger-Dereferenzierung
CWE:626NULL-Byte-Interaktionsfehler
CWE:690Ungeprüfter Rückgabewert zur NULL-Zeiger-Dereferenzierung
SEI-ZERTCodierungsrichtlinien
ZERTIFIKAT:
EXP34-C
Nullzeiger nicht dereferenzieren
ZERTIFIKAT:
ARR30-C
Bilden oder verwenden Sie keine Out-of-Bounds-Zeiger oder Array-Indizes
ZERTIFIKAT:
ARR30-C
Kein Zugriff auf freigegebenen Speicher

Durch die Integration dieser Standards in den Entwicklungsprozess hätte CrowdStrike Codierungsfehler, Sicherheitsmängel und Compliance-Probleme erkennen können, bevor sie in die Produktion gelangten. Dadurch wäre sichergestellt gewesen, dass das Update robust, sicher und den Best Practices entsprechend ist. So hätten Störungen und potenzielle Sicherheitsrisiken vermieden werden können, denen schätzungsweise 8.5 Milliarden Geräte ausgesetzt sind.

Statische Analyse vs. dynamische Analyse.

Erfahren Sie, worin sie sich unterscheiden und warum jeder wichtig ist.

Wie Parasofts Statische Analyse hätte helfen können 

Die statischen Analysetools von Parasoft sind darauf ausgelegt, eine Vielzahl von Problemen zu erkennen, die zu Softwarefehlern führen können. Durch die Integration dieser Tools in die Continuous Integration and Delivery (CI/CD)-Pipeline können Entwickler ihren Code bei jeder Änderung automatisch auf potenzielle Probleme prüfen. Dieser proaktive Ansatz kann Folgendes identifizieren:

  1. Sicherheitslücken. Durch statische Analysen können häufige Sicherheitsmängel wie Pufferüberläufe und SQL-Injection-Schwachstellen erkannt werden, bevor diese ausgenutzt werden können.
  2. Probleme mit der Codequalität. Um die Wartung zu erleichtern und technische Schulden zu reduzieren, muss sichergestellt werden, dass der Code den Best Practices und Codierungsstandards entspricht. Die Tools von Parasoft helfen dabei, diese Standards automatisch durchzusetzen.
  3. Logische Fehler. Subtile Logikfehler lassen sich bei manuellen Überprüfungen nur schwer erkennen. Automatisierte Tools können diese Probleme identifizieren, indem sie die Struktur und den Fluss des Codes analysieren.
  4. Einhaltung von Sicherheitsstandards. Für Branchen wie die Automobilindustrie und das Gesundheitswesen ist die Einhaltung von Sicherheitsstandards von entscheidender Bedeutung. Die statischen Analysetools von Parasoft unterstützen die Einhaltung von Standards wie MISRA und CERT und stellen sicher, dass der Code den gesetzlichen Anforderungen entspricht.

Die Vorteile proaktiver Tests

Durch die Implementierung der automatisierten Testlösungen von Parasoft kann das Risiko von Vorfällen wie dem Update-Problem von CrowdStrike Falcon erheblich reduziert werden. Zu den wichtigsten Vorteilen gehören:

  • Früherkennung von Problemen. Wenn Probleme frühzeitig im Entwicklungsprozess erkannt werden, können sich die Teams um sie kümmern, bevor sie zu kostspieligen Problemen eskalieren.
  • Erhöhte Effizienz. Durch automatisierte Tests wird der Bedarf an umfangreichen manuellen Überprüfungen reduziert, sodass sich Entwickler auf wichtigere Aufgaben konzentrieren können.
  • Verbesserte Sicherheit. Angesichts der zunehmenden Cyberbedrohungen ist die Gewährleistung der Softwaresicherheit wichtiger denn je. Statische Analysen helfen dabei, potenzielle Schwachstellen zu identifizieren und zu beseitigen.
  • Verbesserte Compliance. Unternehmen in regulierten Branchen können durch automatisierte Tests sicherstellen, dass ihre Software alle erforderlichen Compliance-Standards erfüllt.

Schlussfolgerung

Der CrowdStrike Falcon-Update-Vorfall unterstreicht die Bedeutung gründlicher Tests bei der Softwareentwicklung. Durch den Einsatz automatisierter Testlösungen wie Statische Analysewerkzeuge von Parasoft kann das Risiko von Problemen bei Software-Updates erheblich reduzieren. Dies schützt nicht nur den Ruf eines Unternehmens, sondern sorgt auch für ein reibungsloseres Benutzererlebnis. Im heutigen wettbewerbsintensiven und sicherheitsbewussten Markt ist die Investition in robuste Testlösungen nicht nur eine bewährte Methode, sondern eine Notwendigkeit.

Erste Schritte mit der statischen Analyse

„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.

Verwandte Post + Ressourcen