Ist schließlich die Applikation realisiert und alle Security-Protokolle eingebunden, liegt die Frage nahe: »Wie sicher ist mein System?«. Hier hilft es, wie ein Krimineller zu denken oder jemanden zu beauftragen, der das kann (die Beschäftigung wirklicher Krimineller wird aber hier nicht empfohlen). Grundsätzlich verwerten Angreifer alles, solange der Gewinn aussichtsreich genug erscheint. Der Sinn der Security-Funktionen liegt darin, die Kosten einer erfolgreichen Attacke höher zu gestalten als den Profit, den der Angreifer daraus ziehen könnte. Moderne Kryptografie basiert auf mathematischen Verfahren, für die moderne Computerhardware Tausende von Jahren benötigen würde, um sie auszuhebeln. Unglücklicherweise kann jedes Protokoll und jeder Algorithmus eine nicht bekannte Schwachstelle aufweisen, über die sie sich schließlich aushebeln lässt. Außerdem steigt die Leistungsfähigkeit der Hardware rapide, was diese »Tausende von Jahren« sehr schnell relativiert.
Weniger Offensichtliches
Selten gestellt, doch extrem wichtig: »In welchem Umfeld soll die Applikation eingesetzt werden?«. Will der Entwickler den Umfang der zu ergreifenden Sicherheitsmaßnahmen bestimmen, so ist der Einsatzort ebenso wichtig wie alle anderen Faktoren. Embedded-Anwendungen stehen oft an Orten, an denen ein Angreifer uneingeschränkten Zugriff auf die Hardware hat. Hat ein Angreifer physikalisch Zugriff auf das System, so versagen softwarebasierte Sicherheitsmechanismen, und auch Hardwaremechanismen schneiden nicht viel besser ab. Wer Security-Funktionen auf höchstem Niveau implementiert, der stelle bitte auch sicher, dass der physische Schutz des Systems mindestens dem in der Applikation angewandten Sicherheitsniveau entspricht.
Dazu passt auch eine Analyse der Frage: »Wer sind die potenziellen Angreifer?«. Um eine Liste potenzieller Angreifer zu generieren, gilt es zu überlegen, wer von einem Einbruch in das System profitieren könnte. Diese Liste könnte Konkurrenten, Terroristen, Geheimdienste oder auch einfach nur gelangweilte Teenager umfassen. Die Leute, die offensichtlich am meisten von einem Angriff auf ein System profitieren würden, sind normalerweise auch die, die hinter einem Angriff stecken. Aber der Angreifer ist möglicherweise gar nicht an dem interessiert, was den Entwickler am meisten beunruhigt, und das führt zu der nächsten Frage: »Welche Informationen sind für etwaige Angreifer am wertvollsten?«. Kleiner Tipp: Möglicherweise ist es gar nicht das, was man denken würde. Dies ist eine wirklich trickreiche Frage, weil es einem Angreifer möglicherweise gar nicht auf irgendwelche Daten ankommt. Vielleicht reicht es ihm schon aus, die Applikation zum Absturz zu bringen, so wie beispielsweise ein frustrierter Stromkunde seinen elektronisch vernetzten Stromzähler manipuliert, um kostenlos Strom zu zapfen. Vielleicht ist der Angreifer auch nur daran interessiert, die Hardware unter Kontrolle zu bekommen. Es kommt schon vor, dass PCs infiltriert und so in Zombies verwandelt werden, welche die Internet-Präsenz eines anderen Opfers mit hohem Verkehr bombardieren oder ganze Systeme mit E-Mails überfluten und so außer Betrieb setzen – und die Angreifer verdienen möglicherweise daran. Aktuell versklavt der »Conficker«-Wurm in immer neuen Varianten unzählige Rechner auf der ganzen Welt. Immer mehr Geräte sind miteinander vernetzt, und so ist es nur wahrscheinlich, dass jemand diese als Hardwareressource ansieht, die es auszubeuten gilt.
Auch die Anbindung entscheidet: »Wie unterscheidet sich die Sicherheit von drahtlosen und drahtgebundenen Systemen? «. Drahtlosnetze bieten im Vergleich mit drahtgebundenen Netzwerken eine zusätzliche Ebene der Verwundbarkeit – das physikalische Übertragungsmedium. In einem drahtgebundenen Netzwerk kommt eine Leitung als Übertragungsmedium zum Einsatz. Ein Abhören der Kommunikation setzt ein physikalisches Anzapfen der Leitung oder zumindest physikalische Nähe voraus. Leitungen können durch gesicherte Gebäude, unterirdisch, auf Telegrafenmasten oder durch Beton verlaufen, was ein Anzapfen von vornherein erschwert.
Ein Funknetz verwendet den freien Raum als Übertragungsmedium. Sobald ein Drahtlosgerät seine Daten in alle Richtungen abstrahlt, benötigt ein Angreifer lediglich eine Antenne, um sich Zugang zu verschaffen. Aus diesem Grunde warten die meisten Funkprotokolle bereits mit integrierten Verschlüsselungsmechanismen auf (Bild 1).