Security Testing of Resilient System (SETER)
Lead by Prof. Dr. Nicolas Guelfi
(Link to
homepage
)
Project duration:
from 01/05/2009 to 30/04/2012
Funding source(s):
FNR
Partners (external):
- Telecom Bretagne (France)
Resilient systems can be viewed as open distributed systems that have capabilities to dynamically adapt, in a predictable way, to unexpected events, including faults and errors. Engineering such systems is a challenging issue which implies reasoning explicitly and in a consistent way about functional and non-functional characteristics of systems.
The difficulty to build resilient systems and the economic pressure to produce software with constraints on costs, security, reliability, etc… enforce the use of practical solutions founded on scientific knowledge. One of these solutions is to propose an innovative testing process. Testing is an activity that aims at both demonstrating discrepancies between a systems actual and intended behaviours and increasing the confidence that there is no such discrepancy. One of the main features of a system to test is the security of the system, especially for those which are safety or business critical. The security of a system classically relates to the confidentiality and integrity of data as well as the availability of systems and the non-repudiation of transactions. Testing security properties is a real challenge, especially for resilient systems which have the capability to dynamically evolve.
Imagine for instance a property such as "if the key of the encryption algorithm is known by an unauthorized person then the encryption algorithm has to be dynamically changed and etc…" This resilience requirement addresses a security attribute because it concerns confidentiality and a solution has to be designed to ensure this requirement. The aim of the SETER project is to define a new testing approach that will ease the verification of resilient programs that implement this security property. Current trends advocate the idea that resilience should become an integral part of all steps of software development. Moreover, testing is important for detecting errors early in the development life cycle. The earlier an error is detected, the easier and cheaper it is to resolve. Therefore, the objective of the SETER project fits with these ideas by proposing new security testing approaches for resilient systems the earlier possible during the software development lifecycle to propose more secure and reliable system. In order to do so, several main technical areas must be addressed in 2009:
- State of the art on resilient systems and security testing;
- Definition of security requirements in the context of resilient system and of a software development methodology;
- Security test generation and oracle derivation from resilient system specification.





