Binärcode-Analyse: Software-Qualität in fremden Händen
Zahlreiche Geräteentwickler kaufen die Embedded Software für ihr Industrie- oder IoT-Gerät von Drittanbietern zu. Doch wie ist zu gewährleisten, dass Code aus Händen Dritter zuverlässig und sicher ist?
Anbieter zum Thema

Vertrauen ist die Mutter der Sorglosigkeit – Dieses Bonmot des spanischen Schriftstellers Baltasar Gracián y Morales aus dem 17. Jahrhundert gilt auch bei der Software-Entwicklung. Die Sorglosigkeit, wie in den vergangenen Jahren Software in vielen Bereichen entwickelt wurde, ist heute kaum mehr akzeptabel. Denn mit der digitalen Transformation, die aktuell abläuft, nimmt Software eine grundsätzlich andere Stellung ein als bisher. Sie wird die kritische Basis für physikalischen Produkte, für Dienstleistungen und für Geschäftsmodelle. Dabei nimmt Embedded Software als unverzichtbare Grundlage des Internet of Things eine besonders dominante Rolle ein.
Eine Herausforderung ist dabei, dass der Code auch für IoT-Devices immer komplexer wird: Bis vor kurzem mussten sich die wenigsten Embedded-Entwickler mit Fragen nach Netzwerk-Stack, Verschlüsselung und dergleichen beschäftigen. Immer mehr Funktionen, mehr Rechenleistung und neue Anforderungen bei Management und Wartung der Devices machen die Entwicklung kompliziert. Eine Lösung dafür, die Entwicklungsabteilungen zunehmend nutzen, ist die Integration von Codeteilen aus externen Quellen. Das Marktforschungsunternehmen VDC Research ermittelte in einer Studie von 2016, dass im Embedded-Bereich fast 45 Prozent der Code-Basis aktueller Projekte von Dritten stammt. Gut die Hälfte davon steht laut der Studie als Open Source zur Verfügung. Die andere Hälfte wird kommerziell - und in der Regel in Binärform - vertrieben.
Risiko durch extern zugekauften Code
Innerhalb der Software Supply Chain entsteht dadurch ein unwägbares Risiko: Ist der Code aus externen Quellen sicher und entspricht er den Standards der eigenen Entwicklungsabteilung? Unter anderem sind folgende Bereiche davon betroffen:
Security: Mit dem Einsatz von Code aus externen Quellen werden möglicherweise vorhandene Sicherheitslücken in das eigene Projekt übernommen. Das stellt das eigene Unternehmen vor zwei Herausforderungen: Sicherheits-Updates des Code-Zulieferers müssen zeitnah in die eigene Anwendung übernommen und an die Kunden ausgerollte werden. Zudem kann der fremde Code versteckte und auch böswillige Schwachstellen aufweisen, für die das eigene Unternehmen geradestehen muss.
Zertifizierung: Entwickler, die Anwendungen in kritischen Bereichen wie Medizintechnik oder Avionik entwickeln, müssen sich bei Programmierung und Testing an klare Standards und Normen halten. Code Dritter, der in das eigene Projekt einfließt, muss nach denselben Standards zertifiziert sein. Die entsprechende vollständige Dokumentation seitens des Code-Zulieferers muss also vorliegen - oder der fragliche Code selbst zertifiziert werden. Bei Binärcode kann das ohne die richtigen Tools extrem schwierig werden.
Qualität: Fehler im externen Code müssen nicht gleich sicherheitsrelevant sein. Performance-Probleme oder Abstürze reichen aus, um den eigenen guten Ruf zu ruinieren. Zusätzliche Kosten für Updates oder sogar eine komplette Neuentwicklung sind da schon fast das kleinere Übel.
Artikelfiles und Artikellinks
(ID:44829376)