2 research outputs found
IoTSan: Fortifying the Safety of IoT Systems
Today's IoT systems include event-driven smart applications (apps) that
interact with sensors and actuators. A problem specific to IoT systems is that
buggy apps, unforeseen bad app interactions, or device/communication failures,
can cause unsafe and dangerous physical states. Detecting flaws that lead to
such states, requires a holistic view of installed apps, component devices,
their configurations, and more importantly, how they interact. In this paper,
we design IoTSan, a novel practical system that uses model checking as a
building block to reveal "interaction-level" flaws by identifying events that
can lead the system to unsafe states. In building IoTSan, we design novel
techniques tailored to IoT systems, to alleviate the state explosion associated
with model checking. IoTSan also automatically translates IoT apps into a
format amenable to model checking. Finally, to understand the root cause of a
detected vulnerability, we design an attribution mechanism to identify
problematic and potentially malicious apps. We evaluate IoTSan on the Samsung
SmartThings platform. From 76 manually configured systems, IoTSan detects 147
vulnerabilities. We also evaluate IoTSan with malicious SmartThings apps from a
previous effort. IoTSan detects the potential safety violations and also
effectively attributes these apps as malicious.Comment: Proc. of the 14th ACM CoNEXT, 201
Erweiterung und formale Verifikation von dynamischen objektorientierten Modellierungsansätze auf Basis höherer Petri-Netze
Short Summary
The design of complex distributed embedded computer systems is often a big
challenge because they are large and contain many parallel working components
under real time conditions. The dynamic diagrams like Sequence Diagrams, State
Charts and Activity Diagrams are often not sufficient to model the high
complexity of these computer systems. There is no transformation possibility
from one description type into another. There are no or only limited
possibilities for formal analysis of system properties. Coloured dynamic
Sequence Diagrams, State Charts and Activity Diagrams will be developed in this
work to integrate the well-known object oriented modelling techniques into the
design process of complex distributed real time systems. Coloured diagrams
derive from folding several simple diagrams which are executed autonomously or
influence each other in some parts. The coloured diagram types have sufficient
means for the clear and unique description of the composition of several simple
diagrams and some additional mechanisms for description of the dependencies and
connections between the separate objects. A transformation of these diagrams
into one another which allows a parallel use of similar description means will
be developed. The colours which essentially model the different similar
components will be kept up the transformation of these diagram types into
Coloured Petri Nets as a temporary notation and will be kept up the
transformation in other diagram types. They are responsible for the clear
assignment and the identification of the several components of a model during
the whole design process. The transformation via Coloured Petri Nets is
effective because they also use the colour concept and they integrate the basic
concepts of the initial diagrams. The verification method for Coloured Time
Interval Petri Nets designed in this work allows assertions about the fulfilment
of time restrictions and about reachability of markings, liveness, about absence
of conflicts, boundedness and dynamic conflicts. The usability of these
extensions will be demonstrated with a real modelling example.Der Entwurf von komplexen verteilten eingebetteten Rechnersystemen ist aufgrund der Größe und Vielzahl von parallel unter Echtzeitbedingungen arbeitenden Komponenten häufig eine große Herausforderung. Die dynamischen Diagramme, wie Message Sequence Charts (Sequenzdiagramme), State Charts (Zustandsdiagramme) und Activity Diagrams (Aktivitätsdiagramme) können häufig nicht die hohe Komplexität der zu modellierenden verteilten eingebetteten Rechnersysteme bewältigen und dabei die Übersichtlichkeit der Entwurfsmodelle gewährleisten. Es existiert auch keine Überführungsmöglichkeit von einem Beschreibungstyp in einen anderen. Die Möglichkeiten zur formalen Analyse der Systemeigenschaften nicht oder nur eingeschränkt gegeben. Für die Einbindung der bekannten objektorientierten Modellierungstechniken in den Entwurfsprozess von komplexen verteilten Echtzeitsystemen sind die in dieser Arbeit entwickelten gefärbten dynamischen Sequenzdiagramme, Zustandsdiagramme und Aktivitätsdiagramme für die Modellierung von komplexen verteilten Echtzeitsystemen effektiv einsetzbar. Gefärbte Diagramme entstehen durch Faltung von mehreren einfachen Diagrammen, die voneinander unabhängig ausgeführt werden, oder sich in einigen Teilen beeinflussen. Die gefärbten Diagrammtypen verfügen über ausreichende Mittel für die übersichtliche und eindeutige Darstellung der Komposition von mehreren einfachen Diagrammen und einige zusätzliche Mechanismen für die Abbildung der Abhängigkeiten und Beziehungen zwischen den einzelnen Objekten. Die Transformation dieser Diagrammtypen ineinander erlaubt es, ähnliche Beschreibungsmittel parallel nutzbar zu machen. Die Farben, die im wesentlichen verschiedene ähnliche Teilkomponenten modellieren, werden bei der Umwandlung in Gefärbte Petri-Netze, die bei der Transformation dieser Diagrammtypen ineinander als Zwischennotation genutzt werden, und weiterhin bei der Transformation in andere Diagrammtypen beibehalten und dienen der übersichtlichen Zuordnung und Identifizierung der einzelnen Komponenten eines Modells während des gesamten Entwurfsprozesses. Die Transformation über Gefärbte Petri-Netze ist effektiv, da diese auch das Farbkonzept unterstützen und die Grundkonzepte der Ausgangsdiagramme als Teilmenge implizit besitzen. Die entwickelte Verifikationsmethode für Gefärbte Zeitintervall-Petri-Netze ermöglicht sowohl Aussagen über die Erfüllung von zeitlichen Restriktionen als auch über die Erreichbarkeit von Markierungen, Lebendigkeit, Konfliktfreiheit, Beschränktheit und dynamische Konflikte. Die Anwendbarkeit dieser Erweiterungen lässt sich an einem realen Modellierungsbeispiel nachweisen