Kammerstetter, M. (2016). Embedded security analysis with emphasis on critical infrastructures [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2016.39509
Eingebettete Systeme werden heute allgegenwärtig eingesetzt. Ihre vielfältigen Einsatzgebiete reichen von tagtäglicher Unterhaltungs- und Haushaltselektronik, bis hin zu kritischen Anwendungsbereichen, wie medizinischen Geräten, Steuergeräten in Fahrzeugen oder den Feldkomponenten von kritischen Infrastrukturen. Besonders bei sicherheitskritischen Geräten können jedoch erfolgreiche Angriffe desaströse Auswirkungen mit sich bringen. In der Vergangenheit waren derartige Geräte oft kaum vernetzt, sodass deren Exponiertheit gegenüber Angreifern aufgrund der fehlenden physischen Zugriffsmöglichkeit beschränkt war. So waren etwa die Steuergeräte in Fahrzeugen auch schon in der Vergangenheit miteinander verbunden, jedoch gab es keine externe Schnittstellen, die das System etwa zum Internet, zum Smartphone oder drahtlos zu anderen Fahrzeugen vernetzten. Viele der heute im Einsatz befindlichen eingebetteten Systeme wurden somit mit einem Fokus auf Funktionalität und Betriebssicherheit entwickelt und deren Sicherheit gegenüber böswilligen Angriffen wurde nur nebensächlich oder gar nicht berücksichtigt. Aktuell ist jedoch ein Paradigmenwechsel im Gange, sodass Geräte zunehmend vernetzt und dadurch intelligenter werden. Man spricht von sogenannten Smart Devices. Im Bereich Industrie 4.0 findet aktuell eine weitere industrielle Revolution statt, die traditionelle Produktions-Systeme zu IKT gestützten Smart Factories transformiert. Im Internet der Dinge werden zunehmend tagtägliche Geräte mit dem Internet verbunden. Viele Fahrzeuge haben bereits mehrfache Verbindungen zum Internet, medizinische Geräte, wie Herzschrittmacher, lassen sich drahtlos parametrieren und intelligente Geräte im Haushalt und im Stromnetz ebnen den Weg zum grünen Energieverbrauch. Auf der Kehrseite heißt dies jedoch auch, dass viele kritische sowie potenziell unsichere Systeme, wie etwa im Bereich der Smart Grids, nun stark miteinander vernetzt und damit leichter von außen angreifbar werden. Ein sicheres Gesamtsystem kann nur dann erreicht werden, wenn die Sicherheit des Systems von Beginn an ein wichtiger Gesichtspunkt war und ein sicherer Entwicklungs- und Lebenszyklus eingehalten wird. Dieser beinhaltet etwa ein sicheres Systemdesign, eine sichere Implementierung dieses Designs und regelmäßige Sicherheitsüberprüfungen (Audits) der im Einsatz befindlichen Systeme. Aktuelle Publikationen haben jedoch gezeigt, dass eingebettete Systeme diesen Sicherheitsanforderungen nur schlecht nachkommen. Sowohl die Hersteller wie auch die Systembesitzer und Betreiber benötigen Möglichkeiten, um vernetzte eingebettete Systeme nicht nur auf Sicherheit hin zu testen, sondern deren Sicherheitsniveau im Einsatz auch hoch halten zu können. Der Fokus dieser Arbeit liegt auf Sicherheitsuntersuchungen von eingebetteten Systemen im Umfeld der intelligenten Stromnetzinfrastrukturen. Die Problematik der Risikobewertung und des Risikomanagements wird mittels eines architekturgestützten Ansatzes behandelt, der es etwa Netzbetreibern ermöglicht, besonders risikobehaftete Komponenten in intelligenten Stromnetzen zu identifizieren, für weitergehende technische Sicherheitsaudits auszuwählen und folglich deren Sicherheitsrisiken zu senken. Im Vergleich zu handelsüblichen Computersystemen gilt die Durchführung von technischen Sicherheitsaudits auf eingebetteten Systemen heute noch als äußerst anspruchsvoll und zeitaufwändig. Einer der Hauptgründe ist die Schwierigkeit dynamische Analyseverfahren einzusetzen, sodass Sicherheitsanalysen auf diesen Systemen noch weitestgehend auf statischen Analyseverfahren aufbauen. Die vorliegende Arbeit behandelt diese Herausforderung, indem der Einsatz von Emulationstechniken in Zusammenhang mit der Weiterleitung der Kommunikation zu peripheren Hardwarebausteinen untersucht wird. Durch unseren Ansatz werden etwa bestehende dynamische Analyseverfahren, wie Fuzz Testing, maßgeblich erleichtert. Die vorliegende Arbeit stellt PROSPECT vor, ein System, das als transparenter Proxy für beliebige Peripheriekommunikation aus einer virtuellen Analyseumgebung heraus zu dem im Test befindlichen eingebetteten System agiert. PROSPECT ermöglicht es, auf eingebetteten Systemen Sicherheitsanalysen mit starken dynamischen Analyseverfahren durchzuführen und mit geringem Aufwand Schwachstellen zu identifizieren. Zusätzlich wird der Einsatz eines Cache Speichers in Kombination mit einer Approximierung des Programmzustands betrachtet, um die Peripheriekommunikation zwischenzuspeichern. Die Fallstudie zeigt, dass die vorgestellte Technik einen zukünftigen Weg in Richtung sehr mächtiger Verfahren wie Snapshotting, Test-Parallelisierung oder dem Testen ohne physischen Zugriff auf das eingebettete System ermöglichen könnte. Um vorgestellte Sicherheitsanalyse-Techniken überhaupt erst auf der Firmware von eingebetteten Systemen nutzen zu können, ist es ebenso notwendig, die Firmware aus den Geräten zu extrahieren. Zu diesem Zweck wird den Einsatz von physischen Hardware-Angriffen auf die eingebetteten Systeme in intelligenten Stromnetzen behandelt. Insbesondere wird der Einsatz von Mikrochip Reverse Engineering Techniken betrachtet, um versteckte Testmodi im Chip auffinden zu können. Identifizierte Testmodi können im weiteren oft dazu verwendet werden, um die Firmware aus dem Chip zu extrahieren und folglich auf ihre Sicherheit hin zu analysieren. Neben der Firmware Extraktion und deren Sicherheitsanalyse wird es in zukünftigen intelligenten Stromnetzen auch erforderlich sein, kryptografische Authentifikationsmechanismen auf ihre praktische Sicherheit hin überprüfen zu können. Wenngleich aktuell keine weit verbreiteten entsprechenden Verfahren für intelligente Stromnetze existieren, wird in dieser Arbeit der Einsatz einer hoch-effizienten FPGA Architektur und deren Implementierung erprobt, um am Beispiel des weit verbreiteten kryptografischen WPA2-Personal Authentifikationsverfahrens entsprechende praktische Sicherheitstests durchführen zu können. Die Ergebnisse zeigen, dass sich mit dem System hohe Angriffsgeschwindigkeiten realisieren lassen, die sich etwa auch für praktische Sicherheitstests von zukünftigen Smart Grid Authentifikationsverfahren eignen würden. Die in dieser Dissertation vorgestellten Arbeiten beschreiben somit einen gesamtheitlichen Ansatz zur Sicherheitsanalyse von eingebetteten Systeme in intelligenten Stromnetzen und reichen von der Architektur-Modellierung, Risikobewertung und dem Security Management über Firmware Extraktion und Firmware Sicherheitsanalyse, bis hin zur praktischen Analyse von eingesetzten kryptografischen Authentifikationsprotokollen.
de
Embedded systems are ubiquitously used today. From everyday electronic consumer products to critical domains such as medical devices, Electronic Control Units (ECUs) in cars or critical infrastructure field components, their possible fields of application are manifold. While some of these systems are highly security critical and successful attacks could lead to disastrous effects, in the past their exposure to potential attackers was limited due to a lack of widely accessible communication interfaces. For instance, the ECUs in cars used to be interconnected but there were no wireless uplink connections to connect the car to the Internet, to the user-s smart phone or to other cars via vehicle-to-vehicle communication. Many of today-s embedded systems were thus designed with a focus on functionality and safety. Security was not a major concern. However, today there is an ongoing paradigm shift from considered dumb devices to highly interconnected smart devices. With Industry 4.0, there is another ongoing industrial revolution that transforms traditional production systems to ICT enabled smart factories. On the Internet of Things (IoT), an increasing number of everyday embedded devices gets connected to the Internet. Cars often include multiple Internet uplink connections, medical devices such as pacemakers can be adjusted over wireless interfaces and networked devices within the consumer-s premises and the power grid pave the way for green energy consumption and the smart grid. Considering that many potentially insecure systems now become internetworked and accessible to potential attackers, this leaves many critical systems such as smart critical infrastructures at stake. While a secure system can only be achieved if security is of major concern from the very beginning and a secure life-cycle involving processes such as secure design, secure implementation and continuous security assessments is followed, recent publications have shown that embedded systems do not cope well with this security demand. Ultimately, not only the system manufacturers but also the system owners and operators need ways to assess, manage and test the security of networked embedded systems. This thesis focuses on embedded system security within the smart grid critical infrastructure. The problem of smart grid security assessment and management is addressed by presenting an architecture driven approach allowing operators such as utilities to identify high-risk smart grid components in their grid instances, to select those components for detailed technical security audits and to subsequently mitigate security threats. Testing the security of high-risk embedded smart grid field components is still considered to be challenging and more time consuming in comparison to off-the-shelf PC based systems. A major cause is that prevalent vulnerability discovery techniques on embedded systems are still largely based on static analysis. To address some of these shortcomings, the use of emulators with proprietary peripheral device communication forwarding is investigated to enable dynamic security analysis approaches such as fuzz testing. The thesis introduces PROSPECT, a proxy capable of tunneling arbitrary peripheral hardware accesses from within a virtual analysis environment to the embedded system under test. Our system thus enables the analysts to leverage any powerful dynamic analysis techniques of their choice to discover vulnerabilities on embedded devices with minimal effort. In addition, the use of firmware program state approximation is explored to allow caching device responses within the PROSPECT system. Our case study shows that during security testing, future implementations of peripheral device caching could pave the way for powerful functions such as snapshotting, test parallelization or testing without physical access to the embedded system. Since security testing of embedded firmware is only feasible if the firmware can be extracted from the embedded device in the first place, physical attacks are described that can be applied to embedded smart grid devices. From these physical attacks, the use of limited Integrated Circuit (IC) reverse engineering techniques is explored to discover proprietary test modes in silicon. Once the test mode is known to the analysts, it is often possible to extract the firmware from the device and subsequently perform firmware security tests. Finally, besides embedded firmware extraction and analysis, future smart grid protocols will involve cryptographic authentication mechanisms that need to be tested and practically evaluated as well. Since no established cryptographic smart grid authentication protocols exist yet, the thesis presents a highly efficient FPGA cluster architecture and implementation of a brute-force attack on the well known WPA2-Personal authentication protocol instead. Our results indicate that a very high attack performance can be achieved and our approach would be suitable to test the practical security of future smart grid authentication protocols. The work presented in this thesis thus provides a holistic embedded security analysis approach for critical smart grid components ranging from architecture modeling, risk assessment and security management over firmware extraction and firmware security analysis to the practical analysis of cryptographic authentication protocols.