Security Testing of Resilient System (SETER)

Coordinating Institution: Université du Luxembourg
Contracting Partner(s): Télécom Bretagne
Other Partner(s): CRP Gabriel Lippmann , University of Geneva (CH) , Mc Gill University, Montreal (Canada) , University of Rennes
From: 01/05/2009
To: 30/04/2012
Budget: 268,000.00€
Contact(s): Guelfi Nicolas , Perrouin Gilles

Summary

Resilient systems can be viewed as open distributed systems that have capabilities to dynamically adapt, in a predictable way, to unexpected and harmful 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, quality, 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. Testing security properties is a real challenge, especially for resilient systems, which have the capability to dynamically evolve to improve the security attributes. In 2009, in addition of resources recruitment, preliminary studies were carried out in order to delineate the borders of the project. First, an automated testing technique based on pairwise was developed. This contribution explores how we can derive a set of test cases for complex and variable systems (such as product line and resilient systems) using combinatorial interaction testing and strategies to decompose the problem. Indeed, current tools fail if they tackle the problem in ``one shot''. These strategies were assessed on an example and a model driven toolset was implemented to support the defined strategies. This contribution will be published in the ICST 2010 conference. Another work addressed the issue of implementing resilient systems on existing dynamically adaptive middleware. The goal was to explore how several reasoning mechanisms might be (dynamically) combined to accommodate new requirements and implementations that may appear at runtime.