<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Tool for Monitoring and Maintaining System Trustworthiness at Runtime*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Abigail Goldsteen</string-name>
          <email>abigailt@il.ibm.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Micha Moffie</string-name>
          <email>moffie@il.ibm.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Torsten Bandyszak</string-name>
          <email>torsten.bandyszak@paluno.uni-due.de</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nazila Gol Mohammadi</string-name>
          <email>nazila.golmohammadi@paluno.uni-due.de</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Xiaoyu Chen</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Symeon Meichanetzoglou</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sotiris Ioannidis</string-name>
          <email>sotiris@ics.forth.gr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Panos Chatziadam</string-name>
          <email>panosc@ics.forth.gr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Foundation for Research and Technology Hellas</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IBM Research - Haifa</institution>
          ,
          <country country="IL">Israel</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>It-Innovation Center, University of Southampton</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>paluno - The Ruhr Institute for Software Technology, University of Duisburg-Essen</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>142</fpage>
      <lpage>147</lpage>
      <abstract>
        <p>Trustworthiness of software systems is a key factor in their acceptance and effectiveness. This is especially the case for cyber-physical systems, where incorrect or even sub-optimal functioning of the system may have detrimental effects. In addition to designing systems with trustworthiness in mind, monitoring and maintaining trustworthiness at runtime is critical to identify issues that could negatively affect a system's trustworthiness. In this paper, we present a fully operational tool for system trustworthiness maintenance, covering a comprehensive set of quality attributes. It automatically detects, and in some cases mitigates, trustworthiness threatening events. The use of such a tool can enable complex software systems to support runtime adaptation and self-healing, thus reducing the overall upkeep cost and complexity.</p>
      </abstract>
      <kwd-group>
        <kwd>Trustworthiness</kwd>
        <kwd>runtime</kwd>
        <kwd>monitoring</kwd>
        <kwd>mitigation</kwd>
        <kwd>adaptation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Cyber-physical systems (CPS) are highly-connected, distributed, software-intensive
systems that interact with other software as well as a multitude of physical entities.
Trustworthiness of CPS is a key factor in their effectiveness. We define
trustworthiness as the assurance that a system will perform as expected, or meet certain
requirements, as defined by trustworthiness attributes. Different trustworthiness attributes
should be considered and not only those related to security or reliability. In addition,
different systems may have different requirements with regard to these attributes. The
target trustworthiness may be derived from system requirements or service level
agreements (SLA).</p>
      <p>In addition to designing systems with trustworthiness in mind, monitoring and
maintaining trustworthiness at runtime is critical to identify issues that could
negatively affect a system's trustworthiness. These could stem from system failures,
security attacks or even changes in the system's context. The relevant attributes should be
measured and accounted for at all phases of the software lifecycle and corrective
actions taken if they are violated.</p>
      <p>Existing solutions usually monitor a subset of trustworthiness characteristics, or do
not propose any mitigating actions that can be performed to alleviate a problem once
it has been identified. In this paper, we build upon previous work [‎1] and present a
fully operational tool for system trustworthiness maintenance. The tool covers a
comprehensive set of trustworthiness attributes [‎2], based on a generic ontology suitable
for different kinds of software systems. In addition it envelops a complete
maintenance cycle starting from raw events collected from the system, through identification
of possible threats to the system's trustworthiness, to automatic mitigation of these
threats and verification that the issue was corrected. In some cases this whole flow,
including execution of controls, can be fully automatic. The use of such a tool enables
complex software systems to support runtime adaptation and self-healing with respect
to trustworthiness, achieved by automatic identification and mitigation of problems in
real-time. This self-adaptivity to both external and internal changes in the system
enables reducing the overall upkeep cost and complexity once the system is
operational, since less manual intervention is required.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Tool Architecture and Implementation</title>
      <p>The tool’s architecture (see Figure 1) is based on the concept of autonomic computing
and the MAPE-K reference model [‎3]. It includes a Monitor component responsible
for collecting events from the system assets, storing them in a database and
performing initial processing to compute trustworthiness metrics and misbehaviours; a
Management component that receives alerts from the Monitor, identifies relevant threats
and controls and selects the best controls to deploy; and a Mitigation component that
actually executes the selected controls.</p>
      <p>Events may be sent to the Monitor in several ways. One option is to pre-configure
the monitored system to send such events to the maintenance tool. This requires
planning the support for runtime maintenance into the system design so that observation
and control interfaces are built into the system. More details on the required system
analysis at design time, including the identification of relevant threats and controls,
the identification of measureable system properties, and the design of respective
interfaces can be found in [‎5]. Another option is to use specialized sensors that collect
events in a specific environment (such as a mobile device) or a generic monitoring
framework such as Zabbix [‎4]. The latter option also enables monitoring existing
systems and applications.</p>
      <p>The main processing sub-component within the Monitor is a Complex Event
Processor (CEP) which receives all low-level events and fires a misbehaviour event
whenever a single measurement reaches its pre-defined threshold or some more
complex rule is triggered. The CEP depends on system-specific configuration that is based
on observable system properties.</p>
      <p>The main analysis in the Management is performed by a Trustworthiness
Evaluator (TWE) which maintains and incrementally updates a semantic runtime model of
the system. The model includes the different system assets and the connections
between them, system threats and vulnerabilities, and controls that have been deployed.
This model comprises not only software assets, but also physical assets, such as
hardware and humans interacting with the system. The TWE utilizes machine
reasoning based on a generic threat ontology that incorporates relevant security knowledge.
This semantic model should encode as many common attack patterns as possible to be
able to correctly identify threats to the system.</p>
      <p>The TWE uses a Bayesian network approach to analyze threat activity likelihood
given the reported system behaviour. Bayesian networks are a powerful tool for
constructing models of phenomena involving uncertainty. Bayesian models can combine
expert knowledge with observational data, and can be refined over time through
learning from observation. In our case, we encode the expert knowledge (e.g., prior threat
likelihoods, causational probabilities, etc.) in the model, and use runtime observed
events as evidence to reason the threat activity likelihood and perform predictive
analysis. As a result of system events, the TWE performs a comprehensive threat
analysis, including: what are the possible threats given the observed system status,
what are their likelihoods and are there threats that constitute a secondary effect due
to the activity of other threats. Some more details about the TWE reasoning engine
can be found in [‎1].</p>
      <p>The trustworthiness evaluation process is triggered each time a meaningful system
event is detected by the Monitor, including misbehaviours and system topology
updates. Threats whose likelihood passes a pre-defined threshold are output, along with
control options for mitigating each threat. Then the Control Identification and
Selection component selects one or more controls to deploy, taking into consideration both
cost and different trustworthiness metrics. More information about the
trustworthiness-cost optimization problem can be found in [‎7]. The Mitigation, which
encompasses system-specific information on how to execute each control, actually deploys
the selected controls.</p>
      <p>Each of the above components needs to be configured to support the specific
system that will be monitored: the Monitor is configured to recognize the events arriving
from the system (or monitoring framework) and derive metric values and
misbehaviours; the TWE receives a model of the deployed system assets and how they are
connected; and the Mitigation is configured with system-specific information on how to
execute each control. The amount of monitoring information required from the system
depends on the attack patterns we want to detect. The more complex the patterns, the
more information will be needed from the system in order to detect them.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Initial Evaluation</title>
      <p>In this section we show how the trustworthiness runtime maintenance tool was
used to monitor select trustworthiness characteristics in a Distributed Attack
Detection and Visualization (DADV) system, illustrated in Figure 2. The goal of this
evaluation was to validate that our tool can in fact increase a system’s trustworthiness.</p>
      <p>The DADV sensors are low interaction honeypots that run as virtual machines
(VMs) within a Sensor Container System (SCS), which is essentially a hypervisor that
hosts and manages the VMs. The traffic collected by the sensors is forwarded to a
Centralized Analysis System (CAS) for storage and analysis. Each sensor is
configured to monitor a set of unused IP addresses in an organization’s corporate network.
The sensors run simulated vulnerable network services (e.g., SSH, HTTP) in a
controlled environment (a sandbox within the VM) in order to attract attackers and gather
information about zero-day attacks. However, a skilled attacker could evade the
sandbox and take control of the sensor VM. A compromised sensor is a major concern as
it poses a serious threat to the corporate network.</p>
      <p>The runtime maintenance tool was used to monitor the health of the DADV sensors
with the goal of detecting compromised sensors. Under normal conditions, the sensor
VMs’ resource load (CPU, memory consumption, etc.) is relatively low. Furthermore,
sensors should not open network connections to other devices in the network. The
existence of an outgoing network connection is indicative of a compromised sensor,
which must be blacklisted and switched off immediately. A sensor with very high
resource utilization is also suspected as compromised.</p>
      <p>The sensors send health-statistic events to the Monitor every ten seconds. If an
outgoing connection is initiated, the CEP triggers a Promiscuous misbehaviour, which
is forwarded to the TWE. The TWE analysis outputs several relevant threats, of which
the one with the highest likelihood is Unauthorised Communications, and proposes
the Blacklisting control objective to mitigate it. Based on system-specific
configuration, this is mapped to the DADV-specific control Stop Sensor, which is performed
automatically by the Mitigation by calling an HTTP POST method of the SCS.</p>
      <p>When a high load is detected on a sensor, the Overloaded misbehavior is triggered.
This can lead to two possible threats: either the sensors are simply under a high load,
which can be mitigated by adding an additional VM to the pool, or the sensor is under
attack and should be blacklisted, similar to the above scenario. The likelihood of each
threat occurring is computed in the TWE based on additional system behaviours.</p>
      <p>We conducted a small-scale experiment with 27 live administrators.
Each administrator used two alternative versions of the DADV system, one integrated
with the maintenance tool and one not. Results showed that the integrated system was
better at early detection and mitigation of compromised sensors (was able to mitigate
80% of the attacks vs. 63% in the regular system), and was found by administrators to
be more trustworthy (91% of administrators preferred the integrated version over the
regular one). This demonstrates that a system’s trustworthiness, as well as users’
perceived trust and acceptance of a system, can be substantially increased with the use of
such a tool.</p>
      <p>We demonstrated a tool for runtime monitoring of software systems, and
specifically cyber-physical systems, to enable automatically detecting and mitigating events
that may threaten the system’s trustworthiness. The tool was tested and validated on
two trustworthiness-critical applications: a Fall Management system for Ambient
Assisted Living and a Distributed Attack Detection and Visualization system for
Cyber-Crisis Management. An initial proof-of-concept was also performed on real
sensor data from an electric company.</p>
      <p>The tool covers a large range of trustworthiness metrics and can be adapted to
many types of systems. It supports runtime adaptation and self-healing of critical
systems, thus reducing the overall upkeep costs and complexity and increasing system
uptake and retention. This approach requires detailed knowledge about the system to
configure the different components, sensors able to accurately observe events that
may affect trustworthiness, as well as "hooks" into the system to support automatic
deployment of the mitigating actions.</p>
      <p>Acknowledgements. This work was supported by the FP7 project OPTET (gr. no. 317631).
5</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Gol</given-names>
            <surname>Mohammadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Bandyszak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Moffie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            ,
            <surname>Weyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Kalogiros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Nasser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Surridge</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Maintaining Trustworthiness of Socio-Technical Systems at RunTime</article-title>
          . In: 11th International Conference on Trust,
          <source>Privacy &amp; Security in Digital Business. LNCS</source>
          , vol
          <volume>8647</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . Springer, Heidelberg (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Gol</given-names>
            <surname>Mohammadi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Paulus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Bishr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Metzger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Könnecke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Hartenstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Weyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Pohl</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          :
          <article-title>Trustworthiness Attributes and Metrics for Engineering Trusted Internet-Based Software Systems</article-title>
          . In: Helfert,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Desprez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Ferguson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Leymann</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          <article-title>(eds) Cloud Computing</article-title>
          and
          <article-title>Services Science</article-title>
          .
          <source>CCIS</source>
          , vol.
          <volume>453</volume>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>35</lpage>
          . Springer, Heidelberg (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kephart</surname>
            ,
            <given-names>J.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chess</surname>
            ,
            <given-names>D.M.:</given-names>
          </string-name>
          <article-title>The Vision of Autonomic Computing</article-title>
          .
          <source>In: IEEE Computer 36(1)</source>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>50</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Zabbix</surname>
          </string-name>
          ,
          <article-title>The Enterprise-class Monitoring Solution for Everyone</article-title>
          , http://www.zabbix.com/
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bandyszak</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gol Mohammadi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bishr</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goldsteen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moffie</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nasser</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hartenstein</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meichanetzoglou</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Cyber-Physical Systems Design for Runtime Trustworthiness Maintenance Supported by Tools</article-title>
          .
          <source>In: 1st International Workshop on Requirements Engineering for Self-Adaptive and Cyber Physical Systems</source>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Surridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nasser</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chakravarthy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Melas</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>"Run-Time Risk Management in Adaptive ICT Systems,"</article-title>
          <source>In: 8th International Conference on Availability, Reliability and Security (ARES)</source>
          , pp.
          <fpage>102</fpage>
          -
          <lpage>110</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kalogiros</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kanakakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>“Profit-maximizing security level of ICT systems”</article-title>
          , To be published:
          <source>3rd International Conference on Human Aspects of Information Security, Privacy and Trust</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>