Spelling suggestions: "subject:"bnormal 3methods."" "subject:"bnormal 4methods.""
231 |
Verifying Data-Oriented Gadgets in Binary Programs to Build Data-Only ExploitsSisco, Zachary David 08 August 2018 (has links)
No description available.
|
232 |
January: Search Based On Social Insect BehaviorLamborn, Peter C. 15 April 2005 (has links) (PDF)
January is a group of interacting stateless model checkers. Each agent functions on a processor located on a super computer or a network of workstations (NOW). The agent's search pattern is a semi-random walk based on the behavior of the grey field slug (Agriolimax reticulatus), the house fly (Musca domestica), and the black ant (Lassius niger). The agents communicate to lessen the amount of duplicate work being done. Every algorithm has a memory threshold above which they search efficiently. This threshold varies not only by model but also by algorithm. Janaury's threshold is lower than the thresholds of other algorithms we compared it to.
|
233 |
Implementation and evaluation of bounded invariant model checking for a subset of Stateflow / Implementering samt utvärdering av invariant-baserad begränsad modellprovning för en delmängd av StateflowUng, Gustav January 2021 (has links)
Stateflowmodels are used for describing logic and implementing state machines in modern safety-critical software. However, the complete Stateflowmodelling language is hard to formally define, therefore a subset relevant for industrial models has been developed in previous works. Proving that the execution of Stateflow models satisfies certain safety properties is intractable in general. However, bounded model checking (BMC) can be used to either prove that safety properties are satisfied up to a bounded execution depth, commonly referred to as the reachability diameter, or find a concrete counterexample. One particular safety property of interest is an invariant property. This thesis project contributes with the following. A bounded model checking tool based on symbolic execution has been developed and is called Stateflow Model Verification Tool (SMVT). This tool has been tested on synthetic models and industrial models. The performance of Stateflow Model Verification Tool (SMVT) has been measured, but not compared against the Simulink DesignVerifier (SLDV) due to licensing issues. The study has shown that many industrial models share a similar model structure. Furthermore, it has been shown that SMVT can perform well for several models. / Stateflow-modeller används för att beskriva logik and implementation av tillståndsmaskiner i modern säkerhetskritisk mjukvara. Det kompletta Stateflowspråket är väldigt komplext, och därför har forskare tidigare definierat en begränsad version av språket relevant för industriella modeller. Bevisning att exekvering av Stateflow-modeller måste uppfylla säkerhetsegenskaper, är svårlösligt rent generellt. Begränsad modellprovning kan användas antingen för att bevisa att säkerhetsegenskaper uppfylls till ett begränsat exekveringsdjup, eller för att hitta ett motexempel. En väldigt viktig säkerhetsegenskap kallas för invariant. Detta examensarbete bidrar med följande. En begränsad modellprövare baserad på symbolisk exekvering har utvecklats och kallas för SMVT. Detta verktyg har blivit testat på syntetiska modeller samt industriella modeller. Prestandan har blivit mätt, men på grund av Simulink Design Verifier (SLDV) licens har ingen jämförelse kunnat göras. Studien har visat att många industriella modeller delar samma modellstruktur. Vidare har det utvecklade verktyget SMVT visats prestera väl för flertalet modeller.
|
234 |
Program Verification of FreeRTOS using Microsoft DafnyMatias, Matthew John 28 May 2014 (has links)
No description available.
|
235 |
Rule-based Methodologies for the Specification and Analysis of Complex Computing SystemsBaggi ., Michele 29 November 2010 (has links)
Desde los orígenes del hardware y el software hasta la época actual, la complejidad
de los sistemas de cálculo ha supuesto un problema al cual informáticos, ingenieros
y programadores han tenido que enfrentarse. Como resultado de este esfuerzo han
surgido y madurado importantes áreas de investigación. En esta disertación abordamos
algunas de las líneas de investigación actuales relacionada con el análisis y
la verificación de sistemas de computación complejos utilizando métodos formales y
lenguajes de dominio específico.
En esta tesis nos centramos en los sistemas distribuidos, con un especial interés por
los sistemas Web y los sistemas biológicos. La primera parte de la tesis está dedicada
a aspectos de seguridad y técnicas relacionadas, concretamente la certificación del
software. En primer lugar estudiamos sistemas de control de acceso a recursos y proponemos
un lenguaje para especificar políticas de control de acceso que están fuertemente
asociadas a bases de conocimiento y que proporcionan una descripción sensible
a la semántica de los recursos o elementos a los que se accede. También hemos desarrollado
un marco novedoso de trabajo para la Code-Carrying Theory, una metodología
para la certificación del software cuyo objetivo es asegurar el envío seguro de código
en un entorno distribuido. Nuestro marco de trabajo está basado en un sistema de
transformación de teorías de reescritura mediante operaciones de plegado/desplegado.
La segunda parte de esta tesis se concentra en el análisis y la verificación de sistemas
Web y sistemas biológicos. Proponemos un lenguaje para el filtrado de información
que permite la recuperación de informaciones en grandes almacenes de datos. Dicho
lenguaje utiliza información semántica obtenida a partir de ontologías remotas
para re nar el proceso de filtrado. También estudiamos métodos de validación para
comprobar la consistencia de contenidos web con respecto a propiedades sintácticas
y semánticas. Otra de nuestras contribuciones es la propuesta de un lenguaje que
permite definir y comprobar automáticamente restricciones semánticas y sintácticas
en el contenido estático de un sistema Web. Finalmente, también consideramos los
sistemas biológicos y nos centramos en un formalismo basado en lógica de reescritura
para el modelado y el análisis de aspectos cuantitativos de los procesos biológicos.
Para evaluar la efectividad de todas las metodologías propuestas, hemos prestado
especial atención al desarrollo de prototipos que se han implementado utilizando
lenguajes basados en reglas. / Baggi ., M. (2010). Rule-based Methodologies for the Specification and Analysis of Complex Computing Systems [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/8964
|
236 |
Metodología para hipervisores seguros utilizando técnicas de validación formalPeiró Frasquet, Salvador 29 April 2016 (has links)
[EN] The availability of new processors with more processing power for embedded systems has raised
the development of applications that tackle problems of greater complexity. Currently, the
embedded applications have more features, and as a consequence, more complexity. For this
reason, there exists a growing interest in allowing the secure execution of multiple applications
that share a single processor and memory. In this context, partitioned system architectures based
on hypervisors have evolved as an adequate solution to build secure systems.
One of the main challenges in the construction of secure partitioned systems is the verification of
the correct operation of the hypervisor, since, the hypervisor is the critical component on which
rests the security of the partitioned system. Traditional approaches for Validation and Verification
(V&V), such as testing, inspection and analysis, present limitations for the exhaustive validation
and verification of the system operation, due to the fact that the input space to validate grows
exponentially with respect to the number of inputs to validate. Given this limitations, verification
techniques based in formal methods arise as an alternative to complement the traditional validation
techniques.
This dissertation focuses on the application of formal methods to validate the correctness of the
partitioned system, with a special focus on the XtratuM hypervisor. The proposed methodology
is evaluated through its application to the hypervisor validation. To this end, we propose a formal
model of the hypervisor based in Finite State Machines (FSM), this model enables the definition
of the correctness properties that the hypervisor design must fulfill. In addition, this dissertation
studies how to ensure the functional correctness of the hypervisor implementation by means of
deductive code verification techniques.
Last, we study the vulnerabilities that result of the loss of confidentiality (CWE-200 [CWE08b]) of
the information managed by the partitioned system. In this context, the vulnerabilities (infoleaks)
are modeled, static code analysis techniques are applied to the detection of the vulnerabilities,
and last the proposed techniques are validated by means of a practical case study on the Linux
kernel that is a component of the partitioned system. / [ES] La disponibilidad de nuevos procesadores más potentes para aplicaciones empotradas ha permitido
el desarrollo de aplicaciones que abordan problemas de mayor complejidad. Debido a esto, las
aplicaciones empotradas actualmente tienen más funciones y prestaciones, y como consecuencia de
esto, una mayor complejidad. Por este motivo, existe un interés creciente en permitir la ejecución
de múltiples aplicaciones de forma segura y sin interferencias en un mismo procesador y memoria.
En este marco surgen las arquitecturas de sistemas particionados basados en hipervisores como
una solución apropiada para construir sistemas seguros.
Uno de los principales retos en la construcción de sistemas particionados, es la verificación del
correcto funcionamiento del hipervisor, dado que es el componente crítico sobre el que descansa
la seguridad de todo el sistema particionado. Las técnicas tradicionales de V&V, como testing,
inspección y análisis, presentan limitaciones para la verificación exhaustiva del comportamiento
del sistema, debido a que el espacio de entradas a verificar crece de forma exponencial con respecto
al número de entradas a verificar. Ante estas limitaciones las técnicas de verificación basadas
en métodos formales surgen como una alternativa para completar las técnicas de validación
tradicional.
Esta disertación se centra en la aplicación de métodos formales para validar la corrección del
sistema particionado, en especial del hipervisor XtratuM. La validación de la metodología se
realiza aplicando las técnicas propuestas a la validación del hipervisor. Para ello, se propone
un modelo formal del hipervisor basado en máquinas de autómatas finitos, este modelo formal
permite la definición de las propiedades que el diseño hipervisor debe cumplir para asegurar su
corrección. Adicionalmente, esta disertación analiza cómo asegurar la corrección funcional de la
implementación del hipervisor por medio de técnicas de verificación deductiva de código.
Por último, se estudian las vulnerabilidades de tipo information leak (CWE-200 [CWE08b])
debidas a la perdida de la confidencialidad de la información manejada en el sistema particionado.
En este ámbito se modelan las vulnerabilidades, se aplican técnicas de análisis de código para
la detección de vulnerabilidades en base al modelo definido y por último se valida la técnica
propuesta por medio de un caso práctico sobre el núcleo del sistema operativo Linux que forma
parte del sistema particionado. / [CA] La disponibilitat de nous processadors amb major potencia de còmput per a aplicacions empotrades
ha permès el desenvolupament de aplicacions que aborden problemes de major complexitat. Degut
a açò, les aplicacions empotrades actualment tenen més funcions i prestacions, i com a conseqüència,
una major complexitat. Per aquest motiu, existeix un interès creixent en per permetre la execució
de múltiples aplicacions de forma segura i sense interferències en un mateix processador i memòria.
En aquest marc sorgeixen les arquitectures de sistemes particionats basats en hipervisors com
una solució apropiada per a la construcció de sistemes segurs
Un dels principals reptes en la construcció de sistemes particionats, es la verificació del correcte
funcionament del hipervisor, donat que aquest es el component crític sobre el que descansa la
seguretat del sistema particionat complet. Les tècniques tradicionals de V&V, com són el testing,
inspecció i anàlisi, presenten limitacions que fan impracticable la seva aplicació per a la verificació
exhaustiva del comportament del sistema, degut a que el espai de entrades a verificar creix
de forma exponencial amb el nombre de entrades a verificar. Front a aquestes limitacions les
tècniques de verificació basades en mètodes formals sorgeixen com una alternativa per a completar
les tècniques de validació tradicional.
Aquesta dissertació es centra en la aplicació de mètodes formals per a validar la correcció del
sistema particionat, en especial d del hipervisor XtratuM. La validació de la metodología es
realitza aplicant les tècniques proposades a la validació del hipervisor. Per a aquest fi, es proposa
un model formal del hipervisor basat en màquines de estats finits (FSM), aquest model formal
permet la definició de les propietats que el disseny del hipervisor deu de complir per assegurar la
seva correcció. Addicionalment, aquesta dissertació analitza com assegurar la correcció funcional
de la implementació del hipervisor mitjançant tècniques de verificació deductiva de codi.
Per últim, s'estudien les vulnerabilitats de tipus information leak (CWE-200 [CWE08b]) degudes
a la pèrdua de la confidencialitat de la informació gestionada per el sistema particionat. En aquest
àmbit, es modelen les vulnerabilitats, s'apliquen tècniques de anàlisis de codi per a la detecció de
les vulnerabilitats en base al model definit, per últim es valida la tècnica proposada mitjançant un
cas pràctic sobre el nucli del sistema operatiu Linux que forma part de l'arquitectura particionada. / Peiró Frasquet, S. (2016). Metodología para hipervisores seguros utilizando técnicas de validación formal [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/63152
|
237 |
Model-driven development of information systemsWang, Chen-Wei January 2012 (has links)
The research presented in this thesis is aimed at developing reliable information systems through the application of model-driven and formal techniques. These are techniques in which a precise, formal model of system behaviour is exploited as source code. As such a model may be more abstract, and more concise, than source code written in a conventional programming language, it should be easier and more economical to create, to analyse, and to change. The quality of the model of the system can be ensured through certain kinds of formal analysis and fixed accordingly if necessary. Most valuably, the model serves as the basis for the automated generation or configuration of a working system. This thesis provides four research contributions. The first involves the analysis of a proposed modelling language targeted at the model-driven development of information systems. Logical properties of the language are derived, as are properties of its compiled form---a guarded substitution notation. The second involves the extension of this language, and its semantics, to permit the description of workflows on information systems. Workflows described in this way may be analysed to determine, in advance of execution, the extent to which their concurrent execution may introduce the possibility of deadlock or blocking: a condition that, in this context, is synonymous with a failure to achieve the specified outcome. The third contribution concerns the validation of models written in this language by adapting existing techniques of software testing to the analysis of design models. A methodology is presented for checking model consistency, on the basis of a generated test suite, against the intended requirements. The fourth and final contribution is the presentation of an implementation strategy for the language, targeted at standard, relational databases, and an argument for its correctness, based on a simple, set-theoretic semantics for structure and operations.
|
238 |
Model Checking Systems with Replicated Components using CSPMazur, Tomasz Krzysztof January 2011 (has links)
The Parameterised Model Checking Problem asks whether an implementation Impl(t) satisfies a specification Spec(t) for all instantiations of parameter t. In general, t can determine numerous entities: the number of processes used in a network, the type of data, the capacities of buffers, etc. The main theme of this thesis is automation of uniform verification of a subclass of PMCP with the parameter of the first kind, using techniques based on counter abstraction. Counter abstraction works by counting how many, rather than which, node processes are in a given state: for nodes with k local states, an abstract state (c(1), ..., c(k)) models a global state where c(i) processes are in the i-th state. We then use a threshold function z to cap the values of each counter. If for some i, counter c(i) reaches its threshold, z(i) , then this is interpreted as there being z(i) or more nodes in the i-th state. The addition of thresholds makes abstract models independent of the instantiation of the parameter. We adapt standard counter abstraction techniques to concurrent reactive systems modelled using the CSP process algebra. We demonstrate how to produce abstract models of systems that do not use node identifiers (i.e. where all nodes are indistinguishable). Every such abstraction is, by construction, refined by all instantiations of the implementation. If the abstract model satisfies the specification, then a positive answer to the particular uniform verification problem can be deduced. We show that by adding node identifiers we make the uniform verification problem undecidable. We demonstrate a sound abstraction method that extends standard counter abstraction techniques to systems that make full use of node identifiers (in specifications and implementations). However, on its own, the method is not enough to give the answer to verification problems for all parameter instantiations. This issue has led us to the development of a type reduction theory, which, for a given verification problem, establishes a function phi that maps all (sufficiently large) instantiations T of the parameter to some fixed type T and allows us to deduce that if Spec(T) is refined by phi(Impl(T)), then Spec(T) is refined by Impl(T). We can then combine this with our extended counter abstraction techniques and conclude that if the abstract model satisfies Spec(T), then the answer to the uniform verification problem is positive. We develop a symbolic operational semantics for CSP processes that satisfy certain normality requirements and we provide a set of translation rules that allow us to concretise symbolic transition graphs. The type reduction theory relies heavily on these results. One of the main advantages of our symbolic operational semantics and the type reduction theory is their generality, which makes them applicable in other settings and allows the theory to be combined with abstraction methods other than those used in this thesis. Finally, we present TomCAT, a tool that automates the construction of counter abstraction models and we demonstrate how our results apply in practice.
|
239 |
Vérification Formelle des Modules Fonctionnels de Systèmes Robotiques et Autonomes / Formal verification of the functionnal layer of robotic and autonomous systemsFoughali, Mohammed 17 December 2018 (has links)
Les systèmes robotiques et autonomes ne cessent d’évoluer et deviennent de plus en plus impliqués dans les missions à coût considérable et/ou dans les milieux humains. Par conséquent, les simulations et campagnes de tests ne sont plus adaptées à la problématique de sûreté et fiabilité des systèmes robotiques et autonomes compte tenu (i) du caractère sérieux des défaillances éventuelles dans les contextes susmentionnés (un dommage à un robot très coûteux ou plus dramatiquement une atteinte aux vies humaines) et (ii) de la nature non exhaustive de ces techniques (les tests et simulations peuvent toujours passer à côté d’un scénario d’exécution catastrophique.Les méthodes formelles, quant à elles, peinent à s’imposer dans le domaine de la robotique autonome, notamment au niveau fonctionnel des robots, i.e. les composants logiciels interagissant directement avec les capteurs et les actionneurs. Elle est due à plusieurs facteurs. D’abord, les composants fonctionnels reflètent un degré de complexité conséquent, ce qui mène souvent à une explosion combinatoire de l’espace d’états atteignables (comme l’exploration se veut exhaustive). En outre, les composants fonctionnels sont décrits à travers des languages et frameworks informels (ROS, GenoM, etc.). Leurs spécifications doivent alors être traduites en des modèles formels avant de pouvoir y appliquer les méthodes formelles associées. Ceci est souvent pénible, lent, exposé à des erreurs, et non automatique, ce qui implique un investissement dans le temps aux limites de la rentabilité. Nous proposons, dans cette thèse, de connecter GenoM3, un framework de développement et déploiement de composants fonctionnels robotiques, à des langages formels et leurs outils de vérification respectifs. Cette connexion se veut automatique: nous développons des templates en mesure de traduire n’importe quelle spécification de GenoM3 en langages formels. Ceci passe par une formalisation de GenoM3: une sémantique formelle opérationnelle est donnée au langage. Une traduction à partir de cette sémantique est réalisée vers des langages formels et prouvée correcte par bisimulation. Nous comparons de différents langages cibles, formalismes et techniques et tirerons les conclusions de cette comparaison. La modélisation se veut aussi, et surtout, efficace. Un modèle correct n’est pas forcément utile. En effet, le passage à l’échelle est particulièrement important.Cette thèse porte donc sur l'applicabilité des méthodes formelles aux compo-sants fonctionnels des systèmes robotiques et autonomes. Le but est d'aller vers des robots autonomes plus sûrs avec un comportement plus connu et prévisible. Cela passe par la mise en place d'un mécanisme de génération automatique de modèles formels à partir de modules fonctionnels de sys-tèmes robotiques et autonomes. Les langages et outils cibles sont Fiacre/TINA et UPPAAL (model checking), UPPAAL-SMC (statistical model checking), BIP/RTD-Finder (SAT solving), et BIP/Engine (enforcement de propriétés en ligne). Les modèles générés sont exploités pour vérifier des propriétés quali-tatives ou temps-réel, souvent critiques pour les systèmes robotiques et auto-nomes considérés. Parmi ces propriétés, on peut citer, à titre d'exemple, l'ordonnançabilité des tâches périodiques, la réactivité des tâches spora-diques, l'absence d’interblocages, la vivacité conditionnée (un évènement tou-jours finit par suivre un autre), la vivacité conditionnée bornée (un évène-ment toujours suit un autre dans un intervalle de temps borné), l'accessibilité (des états “indésirables” ne sont jamais atteints), etc.La thèse propose éga-lement une analyse du feedback expérimental afin de guider les ingénieurs à exploiter ces méthodes et techniques de vérification efficacement sur les mo-dèles automatiquement générés. / The goal of this thesis is to add to the efforts toward the long-sought objective of secure and safe robots with predictable and a priori known behavior. For the reasons given above, formal methods are used to model and verify crucial properties, with a focus on the functional level of robotic systems. The approach relies on automatic generation of formal models targeting several frameworks. For this, we give operational semantics to a robotic framework, then several mathematically proven translations are derived from such semantics. These translations are then automatized so any robotic functional layer specification can be translated automatically and promptly to various frameworks/languages. Thus, we provide a mathematically correct mapping from functional components to verifiable models. The obtained models are used to formulate and verify crucial properties (see examples above) on real-world complex robotic and autonomous systems. This thesis provides also a valuable feedback on the applicability of formal frameworks on real-world, complex systems and experience-based guidelines on the efficient use of formal-model automatic generators. In this context, efficiency relates to, for instance, how to use the different model checking tools optimally depending on the properties to verify, what to do when the models do not scale with model checking (e.g. the advantages and drawbacks of statistical model checking and runtime verification and when to use the former or the latter depending on the type of properties and the order of magnitude of timing constraints).
|
240 |
Coordination and reconfiguration of distributed cloud applications / Coordination et reconfiguration des applications reparties dans le nuageAbid, Rim 16 December 2015 (has links)
Les applications reparties dans le nuage sont constituées d'un ensemble de composants logiciels interconnectés et répartis sur plusieurs machines virtuelles. Cet environnement nécessite des protocoles pour configurer dynamiquement ces applications. Nous présentons dans la première partie de cette thèse un nouveau protocole pour résoudre les dépendances dans ces applications. Ce protocole consiste à (dé) connecter et démarrer/arrêter les composants dans un ordre spécifique. Il supporte les pannes des machines virtuelles et les opérations de reconfiguration se terminent toujours avec succès. Ces machines virtuelles interagissent à travers un «publish-subscribe communication media» et se reconfigurent d'une manière décentralisée. La conception de ces protocoles étant une source d'erreurs, nous avons étudié l'utilisation du langage formelle LNT pour spécifier le protocole et les outils disponibles dans la boîte à outils CADP pour le vérifier. D'autre part, la gestion des applications reparties dans le nuage est une tâche complexe car l'administration manuelle n'est plus réaliste pour ces systèmes. Nous avons proposé d'automatiser certaines fonctions d'administration en utilisant des boucles de contrôle appelées gestionnaires autonomes. Plusieurs gestionnaires peuvent être déployés pour la gestion de la même application. Cependant, leur utilisation sans coordination peut conduire à des incohérences et des situations d'erreur. Dans la deuxième partie de cette thèse, nous avons proposé une nouvelle approche pour coordonner plusieurs gestionnaires autonomes. Cette approche repose sur une langue de coordination simple, de nouvelles techniques asynchrone pour la synthèse de contrôleur et la génération de code Java. Nous avons appliqué notre approche pour coordonner les applications de cloud computing dans le monde réel. / Cloud applications are composed of a set of interconnected software components distributed over several virtual machines. There is a need for protocols that can dynamically reconfigure such distributed applications. We present in the first part of this thesis a novel protocol, which can resolve dependencies in these applications, by (dis)connecting and starting/stopping components in a specific order. The protocol also supports virtual machine failures. The virtual machines interact through a publish-subscribe communication media and reconfigure themselves upon demand in a decentralised fashion. Designing such protocols is an error-prone task. Therefore, we investigated the use the LNT value-passing process algebra to specify the protocol and the model checking tools available in the CADP toolbox to verify it.Managing distributed cloud applications is a challenging problem because manual administration is no longer realistic for these complex distributed systems. Thus, autonomic computing is a promising solution for monitoring and updating these applications automatically. This is achieved through the automation of administration functions and the use of control loops called autonomic managers. Multiple autonomic managers can be deployed in the same system and must make consistent decisions. Using them without coordination may lead to inconsistencies and error-prone situations. In the second part of the thesis, we propose our approach for coordinating stateful autonomic managers, which relies on a simple coordination language, new techniques for asynchronous controller synthesis and Java code generation. We used our approach for coordinating real-world cloud applications.
|
Page generated in 0.0454 seconds