Internet der Dinge

Schutz für vernetzte Geräte durch sicheres Booten und Kryptographie

< zurück

Seite: 4/5

Anbieter zum Thema

Härtung digitaler Signaturen durch bewährte Verfahren

Hier sollte deshalb zusätzlich eine softwaremäßige Prüfung digitaler Signaturen erfolgen. Über die Einhaltung des Algorithmus hinaus gibt es also mehrere Wege zum Verifizieren der Software. Darunter befinden sich sowohl einige robuste Methoden als auch weniger robuste Verfahren.

Unter Robustheit ist hier die Beständigkeit gegen Fehler, unerwartete Probleme, anormale Umgebungsbedingungen oder verfälschte Bytes zu verstehen. Diesen Restriktionen wird normalerweise von der Software und der hardwaremäßigen Validierung des Geräts Rechnung getragen. Robustheit bedeutet jedoch auch die Widerstandsfähigkeit gegen bestimmte, absichtliche und zielgerichtete Attacken.

Bildergalerie

Illustrieren lässt sich dieses Konzept an zwei einfachen Beispielen. Das erste Beispiel hat mit bewährten Software-Verfahrensweisen zu tun, die verlangen, dass man die Grenzen und Längen eingegebener Daten prüft, bevor man sie verarbeitet. Auch die Verwendung von statischen Analyse-Tools, mit denen die Qualität des Quellcodes ermittelt werden soll, gehört zu solchen Verfahrensweisen.

Anerkannt ist ebenfalls, dass ein effizienter Entwickler falsch formatierte Byte-Gruppen erkennt. Leider werden die entsprechenden Prüfungen oftmals nicht implementiert, weil man darauf aus ist, die neue Software so schnell wie möglich abzuliefern. Demzufolge kann es nach der Implementierung von Kommunikationsprotokollen zu Pufferüberläufen kommen (Schema 2), und dies sogar bei solchen Protokollen, die als theoretisch sicher gelten (etwa TLS) oder bei Kopiervorgängen von Speicher zu Speicher, wie etwa beim Kopieren aus einem externen NAND-Flash in das RAM vor dem Ausführen einer Anwendung.

Ein weiteres Beispiel hängt mit dem gewählten Prozess zusammen und wird als Fault Attack bezeichnet. Die Prüfung einer digitalen Signatur erlaubt es ja, etwaige Integritäts- oder Authentizitätsmängel in Daten oder Programmcode aufzudecken. Diese Prüfung kann sogar am Speicherort der Bytes angewendet werden, bevor sie in den Arbeitsspeicher der Applikation kopiert werden.

Unter bestimmten Betriebsbedingungen erfolgt das Kopieren der Bytes jedoch noch vor dieser Prüfung. Diese Bytes stehen dann also unmittelbar vor der Verwendung oder Verarbeitung, obwohl die digitale Signatur nicht übereinstimmt. Sollte es einem Angreifer gelingen, diesen Prüfschritt zu überspringen, indem er die Versorgungsspannung kurz einbrechen lässt oder einen anderen geringfügigen, nicht destruktiven Fehler auslöst, kann der normale Ablauf gestört und die Prüfung übersprungen werden, sodass die geladenen Bytes wie gültiger Code verarbeitet werden.

Allgemeiner ausgedrückt: Wenn sich ein Sicherheitsmechanismus nur auf eine einzige Implementierung stützt, schwächt dies die Sicherheit und motiviert Angreifer, sich auf das Umgehen eben dieser Implementierung zu konzentrieren.

Artikelfiles und Artikellinks

(ID:43237786)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

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. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung