79 research outputs found

    Formal Verification of Security Pattern Composition: Application to SCADA

    Get PDF
    Information security was initially required in specific applications, however, nowadays, most companies and even individuals are interested in securing their information assets. The new requirement can be costly, especially with the high demand on security solutions and security experts. Security patterns are reusable security solutions that prove to be efficient and can help developers achieve some security goals without the need for expertise in the security domain. Some security pattern combinations can be beneficial while others are inconsistent. Model checking can be used to verify the production of combining multiple security patterns with an architecture. Supervisory control and data acquisition (SCADA) systems control many of our critical industrial infrastructures. Due to their limitations, and their augmented connectivity, SCADA systems have many unresolved security issues. In this paper, we demonstrate how we can automatically generate a secure SCADA model based on an insecure one and how to verify the generated model

    USER CONTEXT MODELS : A FRAMEWORK TO EASE SOFTWARE FORMAL VERIFICATIONS

    No full text
    This article is accepted to appear in ICEIS 2010 proceedingsInternational audienceSeveral works emphasize the difficulties of software verification applied to embedded systems. In past years, formal verification techniques and tools were widely developed and used by the research community. However, the use of formal verification at industrial scale remains difficult, expensive and requires lot of time. This is due to the size and the complexity of manipulated models, but also, to the important gap between requirement models manipulated by different stackholders and formal models required by existing verification tools. In this paper, we fill this gap by providing the UCM framework to automatically generate formal models used by formal verification tools. At this stage of our work, we generate behavior models of environment actors interacting with the system directly from an extended form of use cases. These behavioral models can be composed directly with the system automata to be verified using existing model checking tools

    Context Aware Model-Checking for Embedded Software

    Get PDF
    Reactive systems are becoming extremely complex with the huge increase in high technologies. Despite technical improvements, the increasing size of the systems makes the introduction of a wide range of potential errors easier. Among reactive systems, the asynchronous systems communicating by exchanging messages via buffer queues are often characterized by a vast number of possible behaviors. To cope with this difficulty, manufacturers of industrial systems make significant efforts in testing and simulation to successfully pass the certification process. Nevertheless revealing errors and bugs in this huge number of behaviors remains a very difficult activity. An alternative method is to adopt formal methods, and to use exhaustive and automatic verification tools such as model-checkers. Model-checking algorithms can be used to verify requirements of a model formally and automatically. Several model checkers as (Berthomieu et al., 2004; Holzmann, 1997; Larsen et al., 1997), have been developed to help the verification of concurrent asynchronous systems. It is well known that an important issue that limits the application of model checking techniques in industrial software projects is the combinatorial explosion problem (Clarke et al., 1986; Holzmann & Peled, 1994; Park & Kwon, 2006). Because of the internal complexity of developed software, model checking of requirements over the system behavioral models could lead to an unmanageable state space. The approach described in this chapter presents an exploratory work to provide solutions to the problems mentioned above. It is based on two joint ideas: first, to reduce behaviors system to be validated during model-checking and secondly, help the user to specify the formal properties to check. For this, we propose to specify the behavior of the entities that compose the system environment. These entities interact with the system. Their behaviors are described by use cases (scenarios) called here contexts. They describe how the environment interacts with the system. Each context corresponds to an operational phase identified as system initialization, reconfiguration, graceful degradation, etc.. In addition, each context is associated with a set of properties to check. The aim is to guide the model-checker to focus on a restriction of the system behavior for verification of specific properties instead on exploring the global system automaton

    Trust in MDE Components: the DOMINO Experiment

    Get PDF
    International audienceA large number of modeling activities can be automatic or computer assisted. This automation ensures a more rapid and robust software development. However, engineers must ensure that the models have the properties required for the application. In order to tend towards this requirement, the DOMINO project (DOMaINs and methodological prOcess) proposes to use the socalled trustworthy Model-Driven Engineering (MDE) components and aims to provide a methodology for the validation and qualification of such components

    Formalisation de contextes et d'exigences pour la validation formelle de logiciels embarqués

    Get PDF
    Un défi bien connu dans le domaine des méthodes formelles est d'améliorer leur intégration dans les processus de développement industriel. Dans le contexte des systèmes embarqués, l’utilisation des techniques de vérification formelle nécessitent tout d'abord de modéliser le système à valider, puis de formaliser les propriétés devant être satisfaites sur le modèle et enfin de décrire le comportement de l'environnement du modèle. Ce dernier point que nous nommons « contexte de preuve » est souvent négligé. Il peut être, cependant, d'une grande importance afin de réduire la complexité de la preuve. Dans notre contribution, nous cherchons à proposer à l’utilisateur une aide pour la formalisation de ce contexte en lien avec la formalisation des propriétés. Dans ce but, nous proposons et expérimentons un langage (DSL), nommée CDL (Context Description Language), pour la description des acteurs de l’environnement, basée sur des diagrammes d’activités et de séquence et des patrons de définition des propriétés à vérifier. Les propriétés sont modélisées et reliées à des régions d’exécution spécifiques du contexte. Nous illustrons notre contribution sur un exemple et décrivons des résultats sur plusieurs applications industrielles embarquées

    Formal Validation with Model-Checking Techniques

    No full text
    International audience"Un défi bien connu dans le domaine des méthodes formelles est d'améliorer leur intégration dans les processus de développement logiciel. Si nous voulons que ces techniques soient utilisables à terme dans le contexte de développement de logiciels industriels et de taille significatives, cela nécessite encore d'investir des travaux de recherche tant sur le plan technique que méthodologique.D'une part, une meilleure gestion de la complexité des modèles à simuler doit être atteinte au regard de la performance des calculateurs actuels. D'autre part, les méthodologies d'emploi sont à définir et à adapter aux processus déjà mis en place par les ingénieurs dans les unités de production.Nous rendons compte, dans cette présentation, de travaux de recherche menés dans le domaine particulier des systèmes embarqués. Ceux-ci ont abordé des points durs scientifiques impliquant des aspects techniques pouvant contribuer au"passage à l'échelle" en cherchant, par exemple, à réduire l'espace des états parcourus lors des simulations nécessaires pour la vérification de propriétés.Nous avons proposé, pour cela, une technique basée sur la notion de contexte spécifié dans un langage ad-hoc nommée CDL (Context Description Language). Nous avons également proposé des éléments méthodologiques permettant un meilleur ancrage dans les processus de développement existants. Ils concernent l'identification, la structuration et la formalisation des données nécessaires aux activités de vérification comme la spécification formelle des contextes de réduction, des propriétés formelles et les modèles applicatifs à simuler.Dans ce contexte, nous avons proposé un outil d'analyse nommé OBP (Observer-Based Prover) qui nous a permis de mener de nombreuses expérimentations sur des applications fournies par des industriels du domaine aéronautique, automobile et des systèmes électroniques. A partir des résultats obtenus, nous traçons un ensemble de perspectives pour le développement de recherches futures

    Validation formelle d’implantation de patrons de sécurité : Application aux SCADA

    No full text
    International audienceLes systèmes de contrôle et d’acquisition de données (SCADA)sont des systèmes spécifiques, avec leurs propres exigences fonctionnelleset contraintes, dont la sécurité est quasi absente. Ce sont lessystèmes qui contrôlent la majeure partie de nos infrastructures industriellescritiques dont, par exemple, des centrales nucléaires ou chimiques.De nombreux travaux considèrent l’exploitation, dans les systèmesSCADA, de mécanismes protecteurs pour améliorer leur sécuritéet leur résistance aux attaques. Ces architectures renforcées peuventalors faire l’objet d’une modélisation logicielle composant les architectureset des modèles de patrons de sécurité. La combinaison entre unearchitecture SCADA et les patrons de sécurité doit alors être validéeau regard des exigences de sécurité à implanter. La sécurité SCADApeut bénéficier de cette combinaison qui respecte les exigences en tenantcompte de la complexité temporelle et spatiale. La vérificationformelle, par model-checking, des propriétés pour cette architecturepeut aider à garantir l’utilisation correcte des patrons de sécurité eten éliminant les éventuelles incohérences. Ce papier rend compte d’unepremière étape de travaux dans ce domaine

    Use Cases Modeling for Scalable Model-Checking

    No full text
    International audienc

    Modèles orientés utilisateurs pour la vérification formelle en contexte industriel

    No full text
    During the last six years, our research interest has been about how to leverage the integration of formal verification techniques within the industrial software development processes using model driven engineering. We have proposed and evaluated a context description language (called CDL) to ease properties and contexts formalizations while limiting state explosion occurrences. Results of this evaluation were promising (Dhaussy et al., 2009). However, using CDL within industrial settings remains limited due to the lake of methodology and the semantic gap between CDL and models manipulated in industry. In this paper, we propose a solution to face these limits through user oriented models that fill this gapAu cours de ces six dernières années, nous nous sommes intéressés à la problématique d'intégration des techniques de vérification formelles de type model checking aux processus de développement industriel en tirant profit de l'Ingénierie Dirigée par les Modèles. Nous avons proposé et évalué un langage (nommé CDL) permettant de formaliser les propriétés ainsi que le comportement de l'environnement du modèle à valider pour faciliter la manipulation des outils de vérification formels et limiter le problème de l'explosion combinatoire. Les résultats ont été prometteurs (Dhaussy et al., 2009), mais la manipulation de CDL dans un cadre industriel souffre du manque du cadre méthodologique et constitue une rupture sémantique avec les modèles manipulés, jusqu'alors, dans les processus industriels. Dans cet article, nous proposons une solution à ce problème à travers la définition de modèles, orientés utilisateurs, permettant de faire cette jonction
    corecore