75 research outputs found

    Generierung von effizienten Security-/Safety-Monitoren aus modellbasierten Beschreibungen

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore