Entwicklung sicherer Systeme

7. Mai 2009, 11:22 Uhr | Timothy Stapko

Im Englischen unterscheidet man »Safety« und »Security«, ins Deutsche übersetzt sich beides mit »Sicherheit«. Selbstverständlich sollten Embedded Systeme sowohl »safe« als auch »secure« sein – doch wie stellt man das am besten an?

Diesen Artikel anhören

Im Englischen unterscheidet man »Safety« und »Security«, ins Deutsche übersetzt sich beides mit »Sicherheit«. Selbstverständlich sollten Embedded Systeme sowohl »safe« als auch »secure« sein – doch wie stellt man das am besten an?

passend zum Thema

Es gibt keine dummen Fragen, so heißt es. Dieses Axiom hält jedoch weder den Adressaten der Frage noch den Hilfesuchenden davon ab, manches als überflüssig zu betrachten. Letzteres ist das schlimmere Problem, denn wer es nicht wagt, Fragen zu stellen, bekommt mit Sicherheit auch keine Antwort. Zum Thema »Sicherheit von Embedded Systemen« erläutern wir im Folgenden zehn Punkte, die Entwickler wissen sollten, aber im Allgemeinen nicht zu fragen wagen.

Offensichtliches

Vermutlich die erste Frage, die sich ein Ingenieur stellt, wenn er ein Sicherheitskonzept für ein Embedded System realisieren soll, ist »Welche(s) Security Package(s) brauche ich?«. Unglücklicherweise gibt es unzählige Security-Packages, und ein Entwickler, der sich zum ersten Mal mit dem Thema Sicherheit befasst, betrachtet dieses Thema möglicherweise nur unter dem Aspekt von Kryptografie und Virenschutz. Kryptografie steigert zwar die Sicherheit, und Virenscanner tragen aus technischer Sicht zu einem besseren Sicherheitsgefühl bei, aber beide sind nicht immer das, was man wirklich braucht. Praktischerweise sind Security-Funktionen heute in vielen Applikationen bereits integriert, und die Pakete, die der Ingenieur zusätzlich benötigt, werden in der Regel durch das diktiert, was an den Schnittstellen der Applikation hängen soll. Ist die Applikation Web-basiert, greift ein Entwickler vermutlich auf SSL/TLS (Secure Sockets Layer bzw. Transport Layer Security) zurück. Andere Anwendungen setzen auf Techniken wie IPSEC (Internet Protocol Security) oder CCMP (WPA2-WLAN-Verschlüsselung). Die Bedeutung dieser Akronyme zu kennen ist weniger wichtig als zu wissen, welche Protokolle wie unterstützt werden. Und erst wenn das geklärt ist, kann die Einkaufstour beginnen.

Im Anschluss folgt dann »Wie implementiere ich ein Security-Package für meine Applikation? «. Je nach Anwendung kann die Lösung ganz einfach sein, beispielsweise der Einsatz einer Programmdatei mit aktivierten Sicherheitsfunktionen. Dient beispielsweise Embedded-Linux oder WindowsCE als Betriebssystem, dann gibt es vermutlich Programme, die schon eine ganze Menge Security-Funktionen mitbringen, etwa einen SSH-Client (Secure Shell). Steht kein Binärcode zur Verfügung, so kann es gut sein, dass Quellcode erhältlich ist. Open-Source-Pakete wie »OpenSSL« und »OpenSSH« zählen zu den besten Implementierungen unter den verfügbaren Security-Protokollen; und das Beste daran ist, sie sind kostenlos. Wer sich nicht zu den absoluten Kryptografieexperten zählen kann, sollte es unbedingt vermeiden, ein eigenes Sicherheitsprotokoll zu realisieren – andernfalls stehen die Chancen gut, dass das System verletzlich ist.


  1. Entwicklung sicherer Systeme
  2. Entwicklung sicherer Systeme
  3. Per Definition sicher

Jetzt kostenfreie Newsletter bestellen!