Foundation has the value Heuristic because our
home banking system exploits knowledge-based and
strategy-based mechanisms for self-protection.
The Depths-of-Defense dimension indicates the
layer where self-protection mechanisms operate. In
our case study, self-protection mechanisms are at the
Application layer. This dimension leads to the
Protection Goals, which in our case concern the
Confidentiality and Availability of the system: the
self-protection mechanisms aim to avoid illegal
access, impersonation, and Denial of Service.
Lifecycle Focus indicates whether the self-
protection mechanisms are used during the
development or the execution, at runtime. As most
of the self-protection mechanisms, security at
Runtime is exploited for our case study.
Meta-Level Separation focuses on the separation
of concern principle from the architectural point of
view: we have a Complete separation because the
self-protection mechanisms have been added to an
existing system, modifying it as few as possible.
Meta-Level Decision Making concerns the
decision making strategy. In our case it has a Multi-
Strategy value because we exploit information
coming from the firewall and the application, and we
exploit the overall information to adapt the system.
Control Topology is Global, because self-
protection concerns the entire application, and
Centralized, because one brain makes decisions.
The Enforcement Locale dimension indicates the
scope of the self-protection mechanisms, i.e., the
application, hence the System internal value.
Adaptation Patterns indicate the recurring
architectural patterns applied for the solution. We
have Protective Recomposition, to dynamically
change the security information needed for the
current functionality for a user, and Reconfiguration
on Reflex, to change the security level for a user and
for the entire system. We are currently implementing
the Software Rejuvenation pattern, which enables
the graceful termination of an application and
immediately restart it in a clean internal state.
4.2 Approach Quality
There are three dimensions for the evaluation of
self-protecting systems. The Validation Method
concerns the way in which the effectiveness of the
proposed approach is performed. We have simulated
a home banking system through a prototype.
From the Repeatability point of view, our home
banking is documented in a BsC thesis, available on
request. The software is available on GitHub at:
https://github.com/MetelliAndrea/Knabinu.
The Applicability dimension concerns the
specificity of the approach to an application domain
or case study. Our self-protection mechanisms can
be applied to other Web applications.
5 CONCLUSIONS
This paper has presented self-protection mechanisms
for new or existing Web applications which aim to
improve security at runtime. These mechanisms
exploit the users' and system's risk levels and
manage dynamically the security strategies.
Further work concerns the extension of the self-
protection mechanisms for further security issues
and case studies in different application domains.
We also plan to evaluate the efficiency overhead
introduced by the self-protection mechanisms in
U
NIBANK, by comparing the running times of the
two currently available versions of this case study:
with and without the self-protection mechanisms.
REFERENCES
Anderson, R.J., 2008. Security Engineering: A Guide to
Building Dependable Distributed Systems, 2nd
Edition. Wiley.
Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P.,
Magee, J., 2009. Software Engineering or Self-
Adaptive Systems. LNCS 5525, Springer.
de Lemos, R., Giese, H., Muller, H., Shaw, M., 2013.
Software Engineering for Self-Adaptive Systems II.
LNCS 7475, Springer.
Pfleeger, C.P., Pfleeger, S.L, 2006. Security in Computing,
4th Edition Prentice Hall.
Schmerl, B., Camara, J., Gennari, J., Garlan, D.,
Casanova, P., Moreno, G. A., Glazier, T. J., Barnes, J.
M., 2014. Architecture-based self-protection:
composing and reasoning about denial-of-service
mitigations. In Proceedings of the 2014 Symposium
and Bootcamp on the Science of Security.
Stallings. W., 2013. Network Security Essentials:
Applications and Standards, 5th ed. Pearson, 2013.
Tor Project, 2015. www.torproject.org.
Yuan, E., Esfahani, N., Malek, S.,2014. A Systematic
Survey of Self-Protecting Software Systems. In ACM
Transactions on Autonomous and Adaptive Systems,
Vol. 8, Issue 4, Article No. 17.
Yuan, E., Malek, S., 2012. A Taxonomy and Survey of
Self-Protecting Software Systems. In Symposium on
Software Engineering for Adaptive and Self-Managing
Systems, pp. 109-118.
Yuan, E., Malek, S., Schmerl, B., Garlan, D., Gennari, J.,
2013. Architecture-based self-protecting software
systems. In 9th International ACM Sigsoft Conference
on Quality of Software Architectures, pp. 33-42.