Hallo Microcontroller.net Community, angenommen ich hätte eine Embedded System Anwendung umgesetzt, welches an einem öffentlich zugänglichen Ort arbeitet. Nun möchte ich sicherstellen, dass die Hardware und die Software nicht manipuliert wurden. Welche Möglichkeiten habe ich dann? Mir sind bisher nur TMP Chips bekannt. Gibt es Alternativen? Ich erhoffe mir eine Art von Übersicht an Hardwaremodulen oder Softwaretechniken, mit denen ich die 'Unverändertheit' des Embedded Systems verifizieren kann. Ein Beispielszenario wäre ein Microprozessorsystem mit einem Kameramodule zur Überwachung eines öffentlichen Gebäudes.
bouldrini schrieb: > wurden wurden oder werden? Großer Unterschied. Eingießen mit Epoxy in einer Blechkiste ohne nennenswerte Schnittstellen nach außen ist eine gute Maßnahme um zu erkennen ob es manipuliert wurde.
bouldrini schrieb: > Nun möchte ich > sicherstellen, dass die Hardware und die Software nicht manipuliert > wurden. Welche Möglichkeiten habe ich dann? > > Mir sind bisher nur TMP Chips bekannt. Gibt es Alternativen? Ein TMP-Chip wird diese Aufgabe, so allgemein wie du sie formuliert hast, überhaupt nicht gewährleisten können. Woher soll das System wissen, dass du z.B. einfach irgendwo einen Serienwiderstand entfernst oder eine Leitung aufkratzt und dich an den I2C hängst? Um diese Frage beantworten zu können, musst du ganz konkrete (sehr sehr konkret) Fragen stellen. Du musst genau wissen, welchen Use-Case / Manipulationsversuch du mit einer Lösung verhindern willst. Das geht auch nur wenn du das Gerät natürlich konkret kennst. Das fängt mit so grundsätzlichen Fragen an: Wo ist es verbaut? Wer hat Zugang? Kann man das Gehäuse öffnen? Wie? Mit Schlagbohrer oder reicht Schraubenzieher? Kann man eine Öffnung des Gehäuses immer zweifelsfrei erkennen? ....
TMP, hier wird mal wieder etwas diskutiert was es gar nicht gibt. Das Ding heisst TPM. Mit solcher Ahnungslosigkeit muss man sich um den allerdings ueberhaupt keine Gedanken machen.
... schrieb: > TMP, hier wird mal wieder etwas diskutiert was es gar nicht gibt. > Das Ding heisst TPM. > > Mit solcher Ahnungslosigkeit muss man sich um den allerdings > ueberhaupt keine Gedanken machen. Ein belangloser Tippfehler. Hast übrigens die ü-Taste nicht gefunden?
Msd schrieb: > Hast übrigens die ü-Taste nicht gefunden? Darf man nur mit deutschem Tastaturlayout antworten?
bouldrini schrieb: > Nun möchte ich sicherstellen, dass die Hardware und die Software nicht > manipuliert wurden. Welche Möglichkeiten habe ich dann? Das kommt auf die Hardware an. Und welche Art der Manipulation du erkennen willst. Zum Schutz gegen Nachbauten kann man z.B. was mit OneWire SHA-Bausteinen was machen. Dann läuft die entsprechend programmierte Software nicht, wenn sie nicht auf der richtigen Hardware sitzt: https://www.maximintegrated.com/en/products/embedded-security/secure-authenticators/DS28E10.html > Ein Beispielszenario wäre ein Microprozessorsystem mit einem > Kameramodule zur Überwachung eines öffentlichen Gebäudes. Mir fällt gerade schwer, mir vorzustellen, was man da manipulieren können wollte und sollte. Der Witz ist doch, dass die Schnittstelle nach aussen durch ein schlaues, verschlüsseltes Protokoll geschützt werden muss, damit nicht einer wie in billigen Hollywoodfilmen mit dem Videorecorder die Aufnahmen vom Vortag einspielen kann. Und vor Allem: wenn die Kameras schlau installiert sind, dann beobachten sich die Kameras gegenseitig, sodass eine Manipulation daran erkannt werden könnte, dass einer sich an einer der Kameras zu schaffen macht.
Vielen Dank für eure Antworten. Zunächstmal hat Erik natürlich Recht: Das Ding heisst TPM und nicht TMP. Danke für deinen konstruktiven Hinweis. Dank an lkmiller. OneWire SHA-Bausteine werde ich mir ansehen.
bouldrini schrieb: > Nun möchte ich > sicherstellen, dass die Hardware und die Software nicht manipuliert > wurden. Welche Möglichkeiten habe ich dann? Hardware: Vergussmasse. Beim Gehäuse alles was man als vandalismussicher oder einbruchshemmend bezeichnet, bis hin zu mit Schutzgas füllen und Druckverlust messen. 100% Manipulationssicherheit gibt es nicht. Zum Beispiel werden Geldautomaten durch Sprengungen "manipuliert". Software: Keine schreibbaren oder veränderbaren Speichermedien für die Software und Konfigurationsdaten. Keine Firmwareupdates erlauben (ein Softwareupdate bedeutet die Hardware wird ersetzt und die alte weggeworfen). Kein Netzwerk-Anschluss wenn es sich irgendwie vermeiden lässt. Einen ganzen Zoo von Verschlüsselungstechniken, in dem Zusammenhang kann man dann über ein TPM nachdenken. Benutzereingabe und externe Daten 1001mal prüfen. Alle Regeln zum Schreiben fehlerfreier Software befolgen (viel Spaß ...)
Willst du einen Einbruch nur erkennen oder auch verhindern? Dann kann man natürlich einen sicheren Safe bauen, aber der hat dann keine Tür oder sonstigen Zugänge. Leute sollen aber deine Software benutzen also muss die Tür doch ein wenig offen sein. Man könnte die Hardware ausser Reichweite anderer Menschen aufstellen. Voyager 1 ist derzeit ziemlich tamperproof. Einbruchsversuche erkennen ist einfacher, da ist es üblich die Hardware zu vergießen und in die Vergussmasse z. B. ein Metallnetz zu legen oder einen langen dünnen Draht oft um die Hardware zu wickeln der ununterbrochen bleiben muss. Buchempfehlung: Security Engeneering von Ross Anderson Die wichtigste Lektion daraus ist eigentlich, dass du dich festlegen musst gegen was und wen und vor allem gegen welches Angriffsbudget du schützen willst. Gegen Amateure ohne Budget kann man sehr einfach schützen und hat so vermutlich >90% der Angriffe abgedeckt. Aber gegen Profis mit großem Budget ist es dann auch fast beliebig schwer. Diese sind aber eher selten. Eine weitere Lektion ist, dass man keine groben Lücken vergessen sollte. Es bringt nichts die Haustür aus dickem Stahl zu bauen wenn die anderen Familienmitglieder nur selten abschließen oder man jedem die Tür öffnet der klingelt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.