75 research outputs found
Generierung von effizienten Security-/Safety-Monitoren aus modellbasierten Beschreibungen
Computer werden heute zunehmend durch kleine Recheneinheiten mit Sensoren zur Erfassung der Außenwelt ergänzt. Diese Recheneinheiten kommunizieren untereinander und mit externen Einheiten, um Informationen weiterzugeben und sich untereinander abzustimmen. Hierdurch findet auch eine Öffnung von sicherheitskritischen eingebetteten Systemen nach außen statt. Die Systeme können nun entweder direkt oder indirekt über zusätzliche Einheiten angegriffen werden.
Des Weiteren ist die auf eingebetteten Systemen eingesetzte Software durch beschränkte Ressourcen auf das Nötigste reduziert und bietet keine komplexen Sicherheitsmechanismen. Maßnahmen wie Testen von Software kann deren Fehlerfreiheit nicht sicherstellen. In realen Systemen ist zudem davon auszugehen, dass nicht bekannte Fehler existieren, die u.a. auch von Angreifern ausgenutzt werden können.
Die Laufzeitüberwachung solcher Systeme hat sich als geeignet erwiesen, um auch unbekannte Angriffe und Fehler zu erkennen. Zur Spezifikation solcher Laufzeitmonitore über Beschreibungen (Signaturen) von erlaubtem und verbotenem Verhalten haben sich viele verschiedene Spezifikationssprachen herausgebildet. Diese basieren auf verschiedensten Modellierungskonzepten. Zur Generierung von Monitoren aus diesen Spezifikationen in Software und Hardware müssen für die unterschiedlichen Sprachen verschiedenste Codegeneratoren erstellt werden. Des Weiteren besitzen einige der gewöhnlich verwendeten einfach zu verstehenden Spezifikationssprachen keine formalisierte Syntax und Semantik.
In dieser Arbeit wird zusammen mit [Pat14] der Model-based Security/Safety Monitor (MBSecMon)-Entwicklungsprozess vorgestellt. Dieser umfasst parallel zu dem eigentlichen Softwareentwicklungsprozess des zu überwachenden Systems die Spezifikation, die Generierung und die Einbindung von Laufzeitmonitoren.
Ziel dieser Arbeit ist die Definition einer formal definierten Zwischensprache zur Repräsentation stark verschränkter nebenläufiger Kommunikationen. Zu ihrer Entwicklung werden Anforderungen basierend auf existierenden Arbeiten aufgestellt. Auf Grundlage dieser Anforderungen wird die Zwischensprache Monitor-Petrinetze (MPN) entworfen und formal definiert. Diese Zwischensprache unterstützt die Repräsentation von Signaturen, die in verschiedensten Spezifikationssprachen modelliert sind, und die Generierung von effizienten Laufzeitmonitoren für unterschiedliche Zielplattformen. Die MPNs sind ein auf Petrinetzen basierender Formalismus, der um Konzepte der Laufzeitüberwachung erweitert wurde. Es wird gezeigt, dass die MPN-Sprache alle ermittelten Anforderungen an eine solche Zwischensprache, bis auf ein Hierarchisierungskonzept für Ereignisse, das in dieser Arbeit nicht behandelt wird, erfüllt.
Die MPN-Sprache wird in einem prototypischen Werkzeug zur Monitorgenerierung eingesetzt. Dieses unterstützt die MBSecMon-Spezifikationssprache [Pat14] als Eingabesprache und verwendet die MPN-Sprache als Zwischenrepräsentation zur Monitorgenerierung für verschiedenste Plattformen und Zielsprachen. Die generierten Monitore werden auf ihr Laufzeitverhalten und ihren Speicherverbrauch evaluiert. Es hat sich gezeigt, dass sich die MPN-Sprache trotz ihrer hohen Ausdrucksstärke zur einfachen Generierung effizienter Laufzeitmonitore für verschiedenste Plattformen und Zielsprachen eignet
Modelbased accounting and charging systems for digital products in the e-learning
In der Arbeit wurde ein Konzept entwickelt, das eine modellbasierte Betrachtung des Pricings digitaler Produkte ermöglicht
Entwicklung und Gegenüberstellung von Methoden zur automatisierten Verifikation von ausführbaren Systemspezifikationen
Für die Entwicklung komplexer eingebetteter Systeme werden Techniken
eingesetzt, die eine frühe Validierung der zu entwickelnden Systeme in
Bezug auf funktionale Aspekte ermöglichen. Diese Techniken greifen in der
Regel auf ausführbare Spezifikationsmodelle zurück. Eingebettete Systeme
stellen meist auch Echtzeitsysteme dar. Dabei sind funktionale
Anforderungen in der Regel zeitvariant, also zustandsabhängig und besitzen
zeitliche Randbedingungen, so dass zeitliche und funktionale Aspekte
gemeinsam betrachtet werden müssen. Für die Modellierung solcher
ausführbaren Spezifikationen ist der Discrete-Event Formalismus besonders
geeignet, da er eine vergleichsweise abstrakte parametrisierbare
Beschreibung, unabhängig von Implementierungsdetails, ermöglicht. Für den
systematischen Einsatz solcher Discrete-Event Modelle als ausführbare
Spezifikationen, werden Methoden und Techniken zur Verifikation benötigt,
um eine möglichst frühe Fehlererkennung bei der Systementwicklung zu
ermöglichen.Gegenstand der Arbeit ist die Entwicklung und Gegenüberstellung
von Methoden, die eine automatisierte Verifikation zeitbeschränkter
funktionaler Eigenschaften in ausführbaren Spezifikation ermöglichen.
Solche Methoden stehen für komplexe Multi-Domänen Modelle, wie sie in der
Arbeit betrachtet werden, noch nicht zur Verfügung. Bei den Betrachtungen
werden insbesondere die Spezifika der zugrunde liegenden Modelle und
Eigenschaften sowie die möglichst automatisierte Anwendbarkeit der
Verifikationsmethoden berücksichtigt.Ausgehend von grundlegenden Erwägungen
werden zwei Anwendungsszenarien entwickelt, wobei im ersten Fall die
vollständige formale Verifikation im Vordergrund steht und im zweiten Fall
eine dynamische Überprüfung der Eigenschaften während der szenariobasierten
Simulation favorisiert wird. Für die formale Verifikation wird ein
Transformation-basierter Ansatz entwickelt, der eine Transformation des
Verifikationsproblems in eine mathematische Beschreibung realisiert. Für
die dynamische Überprüfung der Eigenschaften wird ein Assertion-basierter
Ansatz benutzt, bei dem die geforderten Eigenschaften als temporallogische
Formeln notiert werden. Es werden zur Prüfung der Eigenschaften
unterschiedliche Techniken zur algorithmischen Auswertung bzw. zur
symbolischen Cosimulation entwickelt.Beide Ansätze sind prototypisch für
die Entwicklungsumgebung MLDesigner realisiert worden. Ausgehend von den
Ergebnissen der Validierung werden Abschätzungen für das weitere Potential
der Ansätze abgeleitet. Abschließend werden die Ansätze vergleichend
gegenübergestellt und bewertet
Requirements Specification, Behavioral Specification and Checking of object-oriented Interlocking Systems using Multi-Object Logics, UML State Machines and Multi-Object Checking
Rechner haben durch ihre Programmierbarkeit und ihre Leistungsfähigkeit in nahezu sämtliche Bereiche des täglichen Lebens Einzug gehalten. Für den Einsatz rechnergestützter Systeme in sicherheitskritischen Umgebungen ist ein Nachweis für die korrekte Funktion von Hard- und Software zu erbringen. Unter dem Gesichtspunkt der Wirtschaftlichkeit erfordert die Entwicklung sicherheitskritischer Systeme den Einsatz automatisierbarer Verfahren, die diesen Nachweis unterstützen. Während relevante Normen die Anwendung formaler und damit automatisierbarer Verfahren empfehlen, existieren keinerlei Kriterien, welche Formalismen wie adäquat oder gar effizient eingesetzt werden können. Universelle Beschreibungssprachen wie die Unified Modeling Language (UML) erfahren durch die hohe Verfügbarkeit von Entwicklungswerkzeugen zunehmende Verbreitung, können den Anforderungen an Formalität und Verifikationsunterstützung jedoch nicht nachkommen. In der vorliegenden Arbeit wird eine Methodik zur Unterstützung des Entwicklungsprozesses sicherheitskritischer Systeme an einem Beispiel aus der Leit- und Sicherungstechnik im Eisenbahnwesen entwickelt. Die Methodik greift dabei Darstellungskonzepte der UML geeignet auf, so dass vorhandene Entwicklungswerkzeuge weiterhin Verwendung finden können. Die vorgestellte Methodik umfasst die Formalisierung der funktionalen Anforderungen in Formeln in der Multi-Objektlogik D1, die über mehrfach erweiterten Kripke-Strukturen interpretiert werden. Mehrfach erweiterte Kripke-Strukturen bilden ebenfalls die Grundlage für kommunizierende Zustandsmaschinen, die durch Zerlegung aus UML-Zustandsmaschinen generiert werden können. Durch die gemeinsame Basis von Anforderungs- und Verhaltensspezifikation wird die Anwendung des effizienten, automatisierbaren Multi-Object Checking Verfahrens zur Verifikation möglich. Im Rahmen der vorliegenden Arbeit wurde dieses Verfahren um einen Mechanismus zur Generierung von Fehlerszenarien erweitert. Dieser findet sowohl bei der Verifikation zur Fehlerlokalisation im Modell als auch bei der Validation zur Generierung von Testfällen Anwendung, so dass nicht nur die Verifikation sondern auch die Validation geeignet unterstützt werden. Die Anwendbarkeit der Methodik wird an einem Fallbeispiel, der Entwicklung einer Stellwerkslogik, demonstriert.Due to their programmability and their high capabilities, computers have entered almost all areas of everyday life. In order to use computer-based systems in a safety-critical environment, the proper function of hardware and software has to be certified. For economic reasons, the development of safety-critical systems requires automation providing such evidence. Whereas relevant norms recommend the application of formal and for this reason automatable methods, criteria regarding how to apply which formalism adequately or even efficiently do not exist yet. As a result of their large amount of available development tools, modeling languages like the Unified Modeling Language (UML) have become more and more popular. However, the UML does not meet the requirements as to formality or as to verification support. In this thesis, a methodology to support the development process of safety-critical systems is developed, using an example of the operation and control technology in railway systems. The methodology reuses UML concepts in such a way that existing development tools can be applied. The provided methodology includes the formalization of functional requirements as Multi-Object Logic D1 formulas. These formulas are interpreted over several times extended Kripke structures which are the basis for communicating state machines. As UML state machines can be decomposed into communicating state machines, UML state machines become applicable in the behavior specification phase. Due to the common basis of the requirements and the behavioral specification, the Multi-Object Checking procedure can be utilized for verification. In this thesis, the Multi-Object Checking procedure is extended by a scenario generation feature in case a Multi-Object Checking property does not hold. This feature can be applied both to verification for fault localization in the model and to validation for test case generation. The applicability of the methodology is demonstrated, using the example of the development of an interlocking logic
Entwicklung eines Verfahrens für Monitoring und Klassifikation von Business Process Event Streams im Kontext des Online Process Mining
Das stetige Wachstum von Datenmengen, besonders in Unternehmen, setzt die Neu- und Weiterentwicklung geeigneter datengetriebener Analysemethoden voraus, die die gesammelten Informationen in einen Kontext setzen und einen operativen Mehrwert für die Unternehmen erzeugen. Insbesondere die echtzeitnahe Analyse von Geschäftsprozessdaten, die in den Unternehmensinformationssystemen gespeichert werden, lassen sich mit Hilfe von Analysewerkzeugen, wie es das Process Mining zur Verfügung stellt, auswerten und generieren Einblicke in die Prozesse der Unternehmen. Für vertrauenswürdige Ergebnisse wird jedoch eine hohe Qualität der zu analysierenden Daten vorausgesetzt. Die vorliegende Arbeit befasst sich mit der Entwicklung eines Monitoring- und Klassifikationsverfahrens für Business Process Event-Streams zur Verwertung im Kontext des Online Process Mining. Zu den erarbeiteten Artefakten dieser Arbeit zählen ein auf den Bedarfen abzielender Anforderungskatalog, ein Konzept, das eine Streaming-Architektur, ein Klassifikationsmodell, eine rekonstruktionsbasierte Anomalieerkennung, einen Online Learning Workflow und Erklärungskomponenten umfasst sowie eine prototypische Umsetzung der Konzepte. Über technische Experimente auf Basis unterschiedlicher Datengrundlagen und optimierten Umgebungsparametern werden die Funktionsweise und Güte des erarbeiteten Monitoring- und Filterverfahrens überprüft. Durch die Einbettung des Event-Filters in eine Streaming-Architektur, die Kombination verschiedener Strukturen des maschinellen Lernens und der damit einhergehenden Generalisierungsfähigkeit des Modells sowie der Fähigkeit des Modells kontinuierlich zu Lernen gelingt es existierende Ansätze um Aspekte der echtzeitnahen Verarbeitung und dem Monitoring von Event-Streams zu erweitern und die Genauigkeit der Anomalieerkennung auf Event-Ebene zu verbessern. Durch Monitoring, Klassifikation und Filterung der eingehenden Event-Daten kann die Datenqualität für die Anwendung nachgelagerter Process Mining Aktivitäten erhöht werden
- …