Self Healing Systems Yıldırım Bayezid University CENG 570 Advanced Computer Security Sinan Kördemir
AGENDA What is Self Healing System ? Autonomic Computing Autonomic Control Loop Elements of Self Healing Autonomic Computings charesteristics Self Healing and Security
What is Self Healing System ? In information technology, self-healing describes any device or system that has the ability to understand that it is not operating correctly and, without human intervention, make the necessary adjustments to restore itself to normal operation. Because users of a product may find the cost of servicing it too expensive (in some cases, far more than the cost of the product itself), some product developers are trying to build products that fix themselves. Scene from Terminator movie
Self-healing systems form an area of research that is intuitively appealing and garnering increased attention, but not very well defined in terms of scope A self-healing software system is one that has the ability to discover, diagnose,and repair (or at least mitigate) disruptions to the services that it delivers.
Autonomic ComputingFor decades, the advancement of technology and science has mirrored the increase ofcomplexity in many computer environments. As complexity increases, computerenvironments are being impacted with more failures and downtown. For systems: operational error, user error, third-party software error, internally developed software problem, inadequate change control, lack of automated processes For networks: performance overload, peak load problems, insufficient bandwidth For database: out of disk space, log file full, performance overload For applications: application error, inadequate change control, operational error, non automated application exceptions
Autonomic computing is a computer environment that can detect and adjust its system automatically to heal itself without the assistance of any human interaction. The name autonomic insinuates that it is a metaphor based on biology. The biological term is called the autonomic nervous system which is the body’s master controller that monitors changes inside and outside the body integrates sensory inputs, and effects appropriate response. It consists of sensory neurons and motor neurons and subdivided into two divisions, parasympathetic (rest and digest) and sympathetic (fight and flight) nervous systems.
Sensory Neurons Autonomic Sensorysomatic External Internal Central Nervous System Nervous System Nervous System EnvironmentEnvironment Motor Neurons Sensory neurons and motor neurons
Autonomic Control Loop Decide Act Use uncertain reasoning Modify behavior, Policies, rules, … Inform users, Analyse Collect Collate, combine, From system elements, Find trends, correlations Users, environment, agents, …
Faults Fixes• Source Code Bugs • Reboot Tier / Service and• Java Exceptions Notification• Deadlock Threads to Administrator• Buffer Contention • Micro-boot EJB• Read / Write Contention • Micro-boot EJB, Kill hung on Table Block Query • Repartition the memory across various Buffers • Repartition Table to Balance Accesses around Partitions
Autonomic Computings charesteristics Autonomic Computing Consists of 8 key characteristics:1. System must know itself2. System must be able to reconfigure itseld within its operational environment3. System must pre-emptively optimise itself4. System must detect and respond to its own faults as they develop5. System must detect and respond to intrusions and attacks6. System must know its context of use7. System must live in an open world8. System must actively shrink the gap between user/business goals and IT solutions
Elements of Self Healing At the 2002Workshop on Self-Healing Systems [WOSS02], it became clear that researchers have differing views on what comprises research on self-healing systems. Based on experiences and observations at the WOSS02 workshop, there are four general categories of aspects to the self-healing system problem space: fault model, system response, system completeness, and design context.
Fault ModelFault Model, answers the question of what faults the system is to tolerate.Without a fault model, there is no way to assess whether a system actually canheal itself in situations of interest. Fault duration Fault manifestation Fault source Granularity Fault profile expectations
System ResponseEach application domain has extra-functional aspects that are important, such asreliability, safety, or security. These extra-functional concerns influence desiredsystem responses. Fault Detection Degradation Fault response Fault recovery Time constants Assurance
System CompletenessReal systems are seldom complete in every sense. Self-healing approaches mustbe able to deal with the reality of limits to knowledge, incompletespecifications, and incomplete designs. Architectural completeness Designer knowledge System self-knowledge System evolution
Design ContextThere are several other factors that influence the scope of self-healingcapabilities that could be considered to form the design context of the system. Abstraction level Component homogeneity Behavioral predetermination User involvement in healing System linearity System scope
Self Healing Systems and Security The conventional methods can overcome only the effects of passive threats and not the active threats for the authenticate users In time the software systems has became more complex and also the cominicaiton protocol between systems too. So to avaoid from a threat on a system became very critical issue.
References "Autonomic Computing: Towards a Self-Healing System" Sharee S. Laster, B.S., Ayodeji O. Olatunji, B.S "A Modeling Framework for Self-Healing Software Systems" Michael Jiang, Jing Zhang, David Raymer, and John Strassner "Elements of the Self-Healing System Problem Space" Philip Koopman "Self-healing systems — survey and synthesis" Debanjan Ghosh , Raj Sharman , H. Raghav Rao , Shambhu Upadhyaya