Anzeige

Komplexität beim embedded Software Design


Analyse von Binärdateien

Obwohl extern geschriebener Code beinahe in jeder Anwendung zum Einsatz kommt, haben Entwickler oft keine Möglichkeit für dessen Analyse, weil sie keinen Zugriff auf seinen Quellcode haben. Ohne diesen können automatisierte Analysetools nur Vermutungen betreffend Qualität und Sicherheit des externen kommerziellen oder Open Source Codes anstellen. Nach Schätzungen von VDC Research handelt es sich tatsächlich bei etwa 30% des Codes in embedded Anwendungen um externe kommerzielle Software – darum ist Quellcode in der embedded Entwicklung oft nicht verfügbar. Ein automatisiertes Tool, das Binärdateien analysiert, kann diesen gefährlichen ‚Blind Spot‘ in Anwendungen ausschalten. Bild 2 enthält ein Beispiel einer Befehls-Injektions-Schwachstelle – sie wurde in ein Programm namens UnrealIRCd (sh. CVE-2010-2075) eingeschleust. Die Zeile 5602 ist ein Aufruf an die System() Funktion, deren Parameter von Daten aus einer Netzwerkverbindung stammen. CodeSonar fand den Fehler sowohl im Quellcode als auch im kompilierten Code.

‚Native‘ Support für Standards

Weltweit setzen sich Standards wie MISRA, DO-178B oder ISO 26262 durch. Diese Standards kommen oft in Kombinationen in embedded-intensiven Industrien wie Automotive, Aerospace, Medizingeräte, Industriesteuerungen zum Einsatz. Unternehmen in diesen Märkten müssen gerüstet sein, um nicht nur Verstöße der vordergründigen syntaktischen Regeln, sondern auch aus undefiniertem Verhalten entstandene ernste Bedrohungen zu identifizieren, wie es der MISRA C:2012 Standard vorschreibt. Während einige dieser Ereignisse durch Testläufe spezifiziert werden können, spüren nur die fortschrittlichsten statischen Analysetools die subtileren Ereignisse auf. Das Code-Beispiel in Bild 2 enthält eine vereinfachte Version des Codes mit dem Infinite Loop Bug, der im Microsoft Zune Player gefunden wurde. Am letzten Tag eines Schaltjahres wäre der Wert aus days genau 366, und der Loop würde nicht beendet. Bild 3 zeigt einen Type Mismatch: Die Variable tenths ist als vorzeichenbehaftete Integerzahl angegeben, aber der arithmetische Ausdruck führt zu einem vorzeichenlosen Wert. Solche Type Widersprüche sind durch den MISRA Standard verboten, weil sie zu stillen Trunkierungen und Overflows führen können, die u.U. unerwartetes Verhalten zur Folge haben.

Integrierte Sicherheit

Der Trend zur Vernetzung von embedded Systemen vergrößert die potenziellen Angriffsflächen für Hacker. Diese Attacken werden typischerweise ausgelöst, wenn ein unbefugter Anwender Daten über einen Eingangskanal (z.B. Netzwerkport) sendet. Programmierer können sich gegen diese Schwachstellen wehren, indem sie Eingangsdaten als potenziell gefährlich (Tainted) bewerten und sie validieren, bevor die Anwendung damit arbeiten darf. Weil der Datenfluss über die gesamte Anwendung manuell nachverfolgt werden muss, ist die Lokalisierung dieser gefährlichen Angriffe eine große Herausforderung. Ein automatisiertes Analysetool zur Untersuchung der Daten nach potenziell gefährlichem Input verkürzt die dafür aufzuwendende Zeit und steigert die Effektivität. Die Sicherstellung, dass importierte Daten nicht gefährlich sind, verringert letztendlich Risiko und gesetzliche Haftbarkeit, dass kompromittierte Software Endkunden erreicht.

Empfehlungen der Redaktion

Das könnte Sie auch interessieren

Model Engineering Solutions startet die diesjährige Webinar-Reihe mit dem Thema ISO in zehn Schritten. Im einstündigen Webinar erfahren Sie, wie Sie einen ISO-konformen Software-Entwicklungsprozess erlangen. ‣ weiterlesen

Anzeige

Der Industrieverband AIM-D und die nanotron Technologies GmbH haben am 7. September 2012 den neuen AIM-Arbeitskreis RTLS für Echtzeit-Lokalisierungssysteme (RTLS) im Deutschen Institut für Normung (DIN) in Berlin gestartet. Die Leitung des Arbeitskreises übernimmt Dr. Jens Albers, CEO von nanotron Technologies. ‣ weiterlesen

Anzeige

Der Industrieverband AIM-D und die nanotron Technologies GmbH starten am 7. September 2012 den neuen AIM-Arbeitskreis RTLS für Echtzeit-Lokalisierungssysteme im Deutschen Institut für Normung (DIN) in Berlin.  ‣ weiterlesen

Am Donnerstag, dem 25. Juli 2013 um 14 Uhr (MESZ) findet die von der OPC Foundation gesponserte Web-Präsentation ‚Top 5 Vorteile von Embedded OPC Unified Architecture‘ statt. Die Präsentation beinhaltet die wichtigsten Erkenntnisse, darunter: Ein klares und hohes Maß an Wissen über die wichtigsten Konzepte, die Leistung und den Wert von OPC UA, Einblick in den Unterschied zwischen dem UA-Betrieb auf PCs gegenüber eingebetteten Mikroprozessoren, die fünf größten Vorteile von Embedded OPC UA für Gerätehersteller sowie die fünf größten Vorteile von Embedded OPC UA für Anwender. ‣ weiterlesen

Wind River hat das Open Virtualization Profile entwickelt und bietet damit Open-Source Echtzeit-Kernel-Virtualisierungstechnologien für Telekommunikationsequipment sowie für NFV (Network Functions Virtualization) und Cloud-Weiterentwicklungen an. Dabei handelt es sich um ein High Value Add-on Software-Profil für Wind River Linux. ‣ weiterlesen

Altium Limited hat für Anwender von Altium Designer einen PCB Design Content mit Unterstützung für die Human Machine Interface-Lösungen (HMI) der FT800-Familie von FTDI vorgestellt. Die Familie mit Embedded-Video-Engine-Technik (EVE) vereint Display-, Audio- und Touch-Funktionen auf einem Chip. ‣ weiterlesen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige