Context
Introduction
Software
Architecture
Safety and security
Drift into failure
Last defense
Run-time monitoring and protective shell
Run-time monitoring principle
-
A set of policies, expressed in a formal, machine-readable language [42].
-
A set of rules, expressed in a formal, machine-readable language [32].
-
In addition, the comparison makes use of information, such as operational data, log files, and the context (environment, partner systems, public information).
Design-time architecture
Run-time architecture
Protective shell
-
Operational data, log files, functional specifications, behavior models, policies, and specific rule sets
-
Context information (From the environment, from other systems, from public sources, etc.)
-
From access to the sensors (inputs) and actuators (outputs), possibly even using additional sensors or measuring instruments
-
From the network usage, monitoring, and logging
Emergent behavior
Autonomy and machine learning
Conclusions
-
Using a protective shell requires a very high degree of formalization for reliable anomaly detection [47].
-
Designing a protective shell to protect against damaging run-time behavior is a highly challenging engineering task.
-
The protective shell consumes additional run-time resources (power, CPU, memory).
-
Designing and implementing a protective shell needs highly educated engineers [48].
-
The protective shell’s code and data increase the system’s complexity, which may generate additional failure modes and possibly also enlarges the attack surface [49].