Softwarequalität Wie das Internet der Dinge das Software-Engineering verändert

Marc Brown * & Franz Graser

Anbieter zum Thema

Jeder Anbieter möchte am Internet der Dinge (ioT) mitverdienen. So spannend diese Entwicklung für Endkunden sein mag, das Rennen um die Vorherrschaft im IoT-Markt birgt auch eine Schattenseite.

Bild 1: Durch die automatisch laufende Prüfung von Code-Kompilierungen mithilfe von ausgereiften statischen Analysetools können Fehler schnell aufgedeckt und behoben werden.
Bild 1: Durch die automatisch laufende Prüfung von Code-Kompilierungen mithilfe von ausgereiften statischen Analysetools können Fehler schnell aufgedeckt und behoben werden.
(Bilder: Grammatech)

Derzeit entwickeln Hersteller ihre Produkt noch nach alten, fest verwurzelten Supply Chain-, Engineering- und Qualitätssicherungs-Prozessen, die nicht für die komplexen, hochgradig vernetzten smarten Geräte von heute konzipiert sind. Ebenso arbeiten Engineering-Teams mit immer mehr unterschiedlichen Zulieferern und verlassen sich, wo es geht, auf Fremdsoftware, um kostbare Entwickler-Zeit zu sparen; ständig mit dem Ziel, die Forderungen des Geschäfts und des Marktes nach diesen neuen Fähigkeiten zu erfüllen. Die Datensicherheit wird dabei von vielen Entwicklungsteams leider stiefmütterlich behandelt; Basic Checks finden – wenn überhaupt – nur während der Qualitätssicherung statt.

Fehlende Entwicklungsphilosophie mit oberster Priorität auf Datensicherheit, zunehmender Einsatz von Fremdsoftware, und ständig wachsender Druck zur schnellen Markteinführung durch Geschäftsführer mit sorgloser Einstellung zur Datensicherheit im IoT – das Zusammentreffen dieser Faktoren bringt Unternehmen in eine zunehmend verletzliche Position, offen für Angriffe durch Cyber-Kriminalität und Nationalstaaten, um sich bei diesen vernetzten Geräten und Netzwerken zu bedienen.

Schon heute gefährden diese Software-Schwachstellen die Sicherheit und den Datenschutz von Endkunden, steigern die Unternehmenshaftung, untergraben das Vertrauen der Verbraucher und haben in Einzelfällen zum Ausfall kritischer Dienstleistungen für Öffentlichkeit und Industrie geführt.

Tatsächlich sind die Smart-Geräte von heute ganz und gar nicht smart. Sondern nach einer aktuellen HP-Studie sind 70 Prozent der 10 gebräuchlichsten IoT-Devices angreifbar für Datendiebstahl. Täglich gibt es in den Nachrichten Meldungen von Hacking-Angriffen auf Geräte, Anlagen und Systeme, darunter auch höchst besorgniserregende Vorfälle wie etwa Hacker, die sich über die drahtlose Hot Spot-Verbindung der Steuerung eines Fahrzeugs bemächtigten und Bremsen sowie andere kritische Systeme beeinflussen konnten.

Statische Analyse für die IoT-Ära

Die Codeanalyse-Software CodeSonar eignet sich für Embedded-Umgebungen mit Null-Fehler-Toleranz. Das Werkzeug prüft sowohl Quell- als auch Binärcode, um ernste Sicherheits- und Qualitätsfaktoren zu identifizieren, die zu Systemabstürzen, Speicherfehlern, Data Races und anderen Schwachstellen führen.

Die Version 4.1 von CodeSonar zielt auf die IoT-Ära ab – mit verteilten Analysefähigkeiten, einer noch tiefer gehenden Tainted-Data-Analyse und Binäranalyse-Support für x64-Prozessoren.

Diese Neuerungen helfen Entwickler beim Programmieren von stabilerem und sichererem Code für die IoT-Ära, in der immer mehr Softwaresysteme auf oft unsichere Art vernetzbar sind.

Zu den neuen Features in CodeSonar 4.1 gehören:

Tiefergehende Analyse von Tainted Data – Für größere Gründlichkeit hat GrammaTech seine Taint-Analyse um Checker für Tainted-Buffer-Access und Indirect-Function-Aufrufe erweitert. Die präzisere Untersuchung von Indirect-Function-Calls bietet einen erheblichen Vorteil beim Aufspüren von ernsten Sicherheitsfehlern wie etwa den Heartbleed-Bug.

Neue verteilte Analyse – In der Version 4.1 erlaubt CodeSonar die Verteilung der statischen Analyse über viele heterogene Rechner (etwa Linux, Windows und Unix zeitgleich). Dadurch kann die Analysephase im Verhältnis zur Prozessoranzahl im Analysepool beschleunigt werden.

Zugleich können Entwickler die Gründlichkeit ihrer Analysen flexibel steigern, um mehr kritische Fehler aufzudecken.

Binärcodeanalyse – Die schnelle Zunahme von Fremdcode macht die rigorose Prüfung von Third-Party-Binaries notwendig, um Sicherheits- und Qualitätsstandards zu erfüllen.

Als derzeit einziges kommerziell verfügbares Analyse-Werkzeug bietet CodeSonar 4.1 die Binärcodeanalyse. Weil sowohl der Druck als auch die Verpflichtungen des Software-Supply-Chain-Management (SSCM) weiterhin steigen, müssen Embedded-Teams gleichermaßen den Quellcode sowie den Binärcode untersuchen, um die Kundensicherheit zu gewährleisten. www.grammatech.com

Software-Qualitätssicherung für IoT-Applikationen

Wie müssen unsere Fertigungsprozesse verändert werden, damit die IoT-Devices der nächsten Generation besser geschützt sind? Zunächst ist eine fundierte Planung notwendig, mit einer Qualitätssicherung für die Software der nächsten Generation und einer Methodik, die der Datensicherheit oberste Priorität einräumt. Die Teams müssen neue Wege zur schnellen Auslieferung ihrer Software finden – und dabei Daten- und Produktsicherheit sowie Qualität vom Konzept bis zur Übergabe garantieren. Für eine erfolgreiche Umsetzung brauchen sie neue Tools, um ihre Software einschließlich Quell- und Binärcode effizienter zu analysieren.

Nächsthöhere Level der Software-Integrität sind nur erreichbar, wenn Teams versehentliche Codingfehler und absichtlich eingebaute Schwachstellen eliminieren können. Dazu benötigen sie effiziente Analysetechniken, die auf die komplexen Anwendungen von heute abgestimmt sind.

Im ersten Schritt können die Teams:

  • den Einsatz von Quellcode-Analyse in all ihren Entwicklungsteams vorschreiben, und zwar während der Entwicklung, Qualitätssicherung und Datensicherheitsaudits,
  • Binäranalyse für die Analyse von Drittanbieter-Code anwenden,
  • der Datensicherheit in der Entwicklungsphase höchste Priorität einräumen.

(ID:43728361)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung