Heute hatte ich das Vergnügen, mit den Sicherheitsexperten der VDA Labs in Grand Rapids (Michigan) über Hardware-Hacking zu sprechen. James King, Ethical Hacker, und Josh Sharpe, Cybersecurity Consultant, erklärten mir, worauf sie achten, wenn sie versuchen, ein eingebettetes System zu kompromittieren. Ich wollte mehr darüber erfahren, was Hardware-Designer tun können, um solche Angreifer abzuwehren, und diese Informationen an meine Designkollegen weitergeben.
VDA-Labs hilft Unternehmen bei der Bestimmung der Wirksamkeit ihrer Sicherheitslösungen, indem sie auf Wunsch ihrer Kunden die Geräte, Systeme und Netzwerke aktiv angreifen. (Die Kunden können nur ihre eigenen Systeme angreifen lassen.) Nachdem ich im VDA-Büro herumgelaufen war und von dem Geldautomaten hörte, der durch ihr Hacking „Geld regnete“, und von dem Kasino, in das sie einbrechen sollten, war ich von einer Sache überzeugt: Ich wollte nicht, dass diese Typen irgendetwas angriffen, was mir wichtig war. VDA Labs beweist, dass die Sicherheit eingebetteter Systeme, sowohl auf der physischen als auch auf der logischen Ebene, etwas ist, das jeder Designer auf dem Schirm haben sollte.
Die Rolle eines Designers bei der Sicherheit eingebetteter Systeme
Als Hardware-Designer müssen wir ein Gleichgewicht zwischen dem Entwurf einer einfach zu handhabenden Leiterplatte mit klaren Etiketten, Standard-Steckverbindern, guter Dokumentationspraxis, einfacher Montage, optimierten Kosten und dem oft vernachlässigten angemessenen Sicherheitsniveau finden. Die unglückliche Realität bei der Sicherheit eingebetteter Systeme ist, dass je einfacher Sie Ihre Leiterplatte für die Entwicklung entwerfen, desto einfacher ist es für jemanden mit böswilligen Absichten, Ihr System zu kompromittieren.
Im Falle des Geldautomaten, der Geld regnete, konnte VDA nicht ins Detail gehen, wie der Angriff ausgeführt wurde, aber sie betonten, dass viele dieser Systeme nur Komponenten von der Stange sind, die die Hersteller (und jeder andere) leicht bekommen könnten, wenn sie wüssten, welche Teile sie kaufen müssten. Für Designer ist es wichtig, gute Datensicherheitspraktiken zu verwenden, um den Zugang zu Designinformationen zu kontrollieren. In regulierten Branchen wie der Verteidigung und der Luft- und Raumfahrt werden die Sicherheitsanforderungen übertrieben.
Entwickler eingebetteter Systeme sind verpflichtet, die Sicherheit auf drei Ebenen zu berücksichtigen:
Übliche Angriffsvektoren für eingebettete Systeme
Ein weiterer Angriffsvektor, den VDA Labs für den Zugriff nutzen, sind eindeutig gekennzeichnete Steckverbinder, Pins und Teilenummern. Diese Art der Manipulation zwingt Designer dazu, über die Sicherheit auf der physikalischen Schicht nachzudenken, um unbefugten Zugriff zu verhindern. Solche Maßnahmen reichen vom Schrubben von Komponenten zur Entfernung von MPNs bis hin zur Verwendung eines James Bond-ähnlichen erzwungenen ESD-Impulses zur gewaltsamen Zerstörung des Bauelements.
VDA erzählte mir von einem Bauelement, das auf einem Mikrocontroller sitzen und alle Informationen extrahieren kann. Dieses Bauelement ist teuer, kann aber wahrscheinlich allein durch die Verwendung eines BGA-Gehäuses anstelle eines bedrahteten Gehäuses (das empfindliche Signale freilegt) vereitelt werden. Man kann sich leicht vorstellen, dass jemand die Kontrolle über ein System über JTAG erhält, wenn er an die richtigen Signale gelangen kann. Bis zu diesem Zeitpunkt hatte ich die Sicherheitsvorteile eines BGA-Gehäuses noch nie in Betracht gezogen, aber es scheint eine ziemlich einfache Änderung für viel zusätzliche Sicherheit zu sein.
Die Verdeckung oder Entfernung wichtiger Debug- oder Programmierstecker ist eine weitere empfohlene Praxis. Eine zusätzliche Zeichnung, die alle empfindlichen Signale auf einer Platine beschriftet, kann schnell erstellt werden und vielleicht muss sie nicht immer auf der Siebdruckschicht sein. Das Routing empfindlicher Signale auf internen Schichten und die Eliminierung des physischen Leiterzugriffs von außen ist ein guter Schritt zum Schutz dieser Signale. Jeder, der über genügend Zeit, Geld und Fähigkeiten verfügt, kann ein Design kompromittieren, aber einfache Praktiken wie diese können Angreifer entmutigen. Wenn ich als Angreifer Signale finden müsste, von denen ich nicht weiß, dass sie intern sind oder dass der Programmier-Header aus dem Design entfernt wurde, würde ich mir vielleicht ein anderes Ziel aussuchen, das leichter zu kompromittieren ist.
Frühzeitig über die Sicherheit eingebetteter Systeme nachdenken
Die beste Empfehlung, die ich erhielt, war, die Sicherheit eingebetteter Systeme von Beginn des Produktentwicklungszyklus an zu berücksichtigen, insbesondere wenn es sich um ein vernetztes Gerät handelt. Selbst wenn die Anwendung des Geräts keine extremen Sicherheitsmaßnahmen rechtfertigt, ist es wichtig zu beachten, dass es als Ausgangspunkt für einen Angriff verwendet werden kann. Das Zahlungsabwicklungsnetzwerk von Target wurde bekanntermaßen durch Berechtigungsnachweise gehackt, die aus dem HVAC-System gewonnen wurden.
Sicherheit gehört zu den Dingen, die oft vergessen, für unwichtig erklärt oder für den Schluss aufgehoben werden. Um dieser Mentalität entgegenzuwirken, müssen Designer darüber nachdenken, was passieren könnte, wenn ihr Produkt in die falschen Hände gerät oder zur Ausführung des Codes eines anderen benutzt wird. Könnte jemand verletzt werden? Könnte der Ruf Ihres Stakeholders beschädigt werden? Welche Art von Schaden könnte entstehen? Regulierte Industrien müssen diese Punkte im Zusammenhang mit der Sicherheit eingebetteter Systeme berücksichtigen, aber angesichts der massiven Verbreitung neuer IoT-Geräte muss jeder über diese Punkte – sowohl auf der physischen als auch auf der logischen Ebene – nachdenken.
Möchten Sie mehr darüber erfahren, wie Altium Ihnen bei Ihrem nächsten PCB-Design helfen kann? Sprechen Sie mit einem Experten von Altium und erfahren Sie mehr über digitales Input Sampling für eingebettete Systeme in Altium Designer®.