Information Flow Analysis of Discrete Embedded Control System Models
Total Page:16
File Type:pdf, Size:1020Kb
Information Flow Analysis of Discrete Embedded Control System Models vorgelegt von Marcus Mikulcak, M.Sc. ORCID: 0000-0003-2900-2897 an der Fakultät IV – Elektrotechnik und Informatik der Technischen Universität Berlin zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften – Dr.-Ing.– genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr.-Ing. Clemens Gühmann Technische Universität Berlin Gutachterin: Prof. Dr. rer. nat. Sabine Glesner Technische Universität Berlin Gutachter: Prof. Dr.-Ing. Christian Hammer Universität Potsdam Gutachter: Prof. Dr.-Ing. Frank Slomka Universität Ulm Tag der wissenschaftlichen Aussprache: 06. November 2019 Berlin 2020 Abstract Embedded systems used in safety-critical domains have to uphold strict safety and security re- quirements. At the same time, their complexity has been strongly increasing across application domains. To manage this rise in complexity, manufacturers have shifted towards model-driven development methodologies. While successful in managing the complexity in the development of large, interconnected systems, analysis and verifcation techniques for model-driven development methods and languages still have to reach a similar level of maturity as those for text-based imperative programming languages traditionally used in the development of safety-critical em- bedded systems. In this thesis, we present an information fow analysis method for discrete embedded control system models, which has the potential to identify possible violations of both safety requirements and security policies by analyzing where and under which conditions information travels through a model. The main challenges such an information fow analysis faces are to (1) consider the specifc semantics of the modeling languages, which heavily rely on concurrency and a complex notion of timing, and (2) relate the strongly different semantics of signal-fow-oriented and state-machine-based components, which comprise embedded control system models. Our major contribution is twofold: First, we provide an information fow analysis for the signal-fow-oriented components of an embedded control system model. The main idea of this analysis is that we only extract that information from an existing model which is required to analyze information fow in respect to both its timing and functionality. To this end, our technique captures timed path conditions, i.e., the precise control, data and timing conditions under which information fow is enabled as well as when and how these conditions are triggered. Second, we relate the inherently different semantics of the signal-fow-oriented and the state- machine-based components. To this end, we frst translate the state-machine-based controller into a formally verifable representation and, second, combine this representation with condition observer automata which we generate from the timed path conditions extracted in the frst step of our method. This enables us to use the well-established technique of model checking to identify precisely the behavior that leads to the execution of information fow paths under analysis. To show the practical applicability of our approach, we have implemented it as a fully automatic and modular framework for MATLAB Simulink/Statefow and Modelica, two widely used languages from the domain of embedded control systems, and applied our information fow analysis to two industrial case studies. In these case studies, we are able to verify integrity by checking that no information fow is possible from a non-critical to a critical component. i ii Zusammenfassung Im sicherheitskritischen Bereich unterliegen eingebettete Systeme strengen Anforderungen an Ausfall- sowie Datensicherheit. Zugleich ist die Systemkomplexität in den vergangenen Jahren in allen Anwendungsbereichen stark gestiegen. Um diesem Anstieg zu begegnen, nutzen Her- steller modellgetriebene Entwicklungsansätze. Während Ansätze dieser Art bereits erfolgreich dazu genutzt werden, komplexe, miteinander verbundene Systeme zu entwickeln, haben Ansätze zur Analyse und Verifkation dieser Systeme noch nicht den Stand erreicht, den ähnliche Methoden für imperative Programmiersprachen aufweisen. In dieser Arbeit stellen wir eine Informations- fussanalyse für diskrete eingebettete Kontrollsystemmodelle vor, die es ermöglicht, Verletzungen von Ausfall- sowie Datensicherheitsanforderungen zu erkennen. Unsere Analyse verfolgt, wie und unter welchen Bedingungen Informationen durch ein Modell fießen. Die Herausforderungen in der Entwicklung einer solchen Analyse liegen in (1) der Berücksichtigung der spezifschen Seman- tik der Modellierungssprachen, welche auf komplexen zeitlichen Abhängigkeiten und Parallelität basieren, und (2) der Verbindung der stark heterogenen Semantiken der signalfussorientierten und jener auf Zustandsautomaten basierenden Komponenten, aus denen Kontrollsystemmodelle aufgebaut sind. Die vorliegende Arbeit leistet in diesem Gebiet zwei Beiträge. Zum einen eine Informati- onsfussanalyse für die signalfussorientierten Komponenten eines Kontrollsystemmodells. Diese Analyse basiert auf der Idee, nur diejenigen Informationen eines Modells zu extrahieren, die für die Analyse des Informationsfusses hinsichtlich des Zeitverhaltens und der Funktionalität des Modells relevant sind. Um dies zu ermöglichen, erfasst unser Ansatz timed path conditions, das heißt, diejenigen Bedingungen, die präzise das Kontroll-, Zeit-, und Datenverhalten abbilden, unter denen Informationsfuss stattfndet. Zum anderen schafft unsere Arbeit eine Verbindung zwischen den stark heterogenen Semantiken der signalfussorientierten und den auf Zustands- automaten basierenden Komponenten. Unser Ansatz ermöglicht dies durch eine Übersetzung der Automaten in eine formal verifzierbare Darstellung, und die Kombination dieser Darstellung mit condition observer automata, welche wir aus den im ersten Schritt extrahierten timed path conditions generieren. Diese Verbindung der Semantiken ermöglicht uns, eine wohlfundierte Technik wie model checking zu nutzen, um genau das Verhalten des Zustandsautomaten zu identifzieren, welches zur Ausführung eines Informationsfusspfades führt. Um die Anwendbarkeit unseres Ansatzes unter Beweis zu stellen, präsentieren wir außerdem eine vollautomatische und modular aufgebaute Implementierung für MATLAB Simulink/Statefow und Modelica, zwei im Bereich sicherheitskritischer eingebetteter Software weit verbreitete Spra- chen. Mithilfe dieser Implementierung konnten wir unseren Ansatz zur Informationsfussanalyse auf zwei Fallstudien aus dem industriellen Bereich anwenden. In beiden Fallstudien waren wir in der Lage, die Integrität kritischer Berechnungen sicherzustellen, indem wir Informationsfuss zwischen nicht-kritischen und sicherheitskritischen Komponenten ausschließen konnten. iii iv Danksagung Diese Arbeit wäre ohne die Anregungen und die Unterstützung einer Vielzahl von Menschen nicht zustande gekommen. Zuallererst möchte ich Prof. Dr. Sabine Glesner für ihre jahrelange Unterstützung meiner Arbeit sowie für die vielen Gespräche und Anregungen danken. Sie hat mir nicht nur einen wunderbaren Rahmen für meine Promotion am Fachgebiet Software and Embedded Systems Engi- neering (SESE) der Technischen Universität Berlin geboten, sondern mich auch dazu ermutigt, mit meiner Arbeit in die Welt zu treten, sie an anderen Orten vorzustellen und dadurch vor- anzubringen. Dank ihrer Vermittlung konnte ich meine Arbeit auch an den Lehrstühlen von Prof. Dr.-Ing. Christian Hammer und Prof. Dr.-Ing. Frank Slomka vorstellen. Beide haben meine Arbeit im Anschluss daran als Gutachter betreut und begleitet. Die hilfreichen Anregungen und Hinweise beider haben diese Arbeit enorm verbessert und die Offenheit und Gründlichkeit beider im Umgang mit meiner Arbeit haben mich beeindruckt und geehrt. Prof. Glesner hat mich auch darin unterstützt, sechs Monate als Visiting Research Collaborator in der Gruppe von Prof. Sharad Malik an der Princeton University zu verbringen. Die Gespräche und die gemeinsame Arbeit mit ihm, Prof. Aarti Gupta und Zhixing Xu haben meine Forschung extrem bereichert und mir neue Perspektiven eröffnet. Für Prof. Glesners Unterstützung in Planung und Durchführung dieser unvergesslichen Zeit bin ich ihr – sowie dem Deutschen Akademischen Austauschdienst – sehr dankbar. Sehr dankbar bin ich auch für die Unterstützung durch das Bundesministerium für Bil- dung und Forschung (BMBF) sowie durch unseren Industriepartner Model Engineering Solutions GmbH (MES), die meine Forschungsarbeit im Rahmen der Projekte Change Impact Analyses for Software Models (CISMo) und Effective Complexity of Software Models (ECoSMo) förderten. Auf Seiten von MES war Dr. Heiko Dörr zu jeder Zeit ein sehr hilfsbereiter und engagierter Gesprächs- partner für mich, der meine Forschung nicht nur durch das Zurverfügungstellen zahlreicher Anwendungsbeispiele maßgeblich vorangebracht und motiviert hat. Der Softwareprototyp, der im Rahmen meiner Arbeit und Forschung entstanden ist, hat von der langjährigen Mitarbeit meiner studentischen Hilfskräfte Moritz Lummerzheim, Feras Fattohi und Umar Ahmad unheimlich proftiert. Ich bin sehr froh, dass ihr mir geholfen habt, meine Ideen Realität werden zu lassen. Diese Arbeit wäre ohne die kontinuierliche Ermutigung, die klugen Kommentare und nicht zuletzt die immer tatkräftige Unterstützung von Prof. Dr.-Ing. Paula Herber und Dr.-Ing. Thomas Göthel nicht zustande gekommen. Sie haben diese Arbeit maßgeblich geprägt und vom ersten Satz bis zur letzten Seite begleitet. Dass die beiden