Sök i LIBRIS databas



Sökning: onr:t40ngvksrhvw022z > Algorithmic Verific...

Algorithmic Verification Techniques for Mobile Code [Elektronisk resurs]

Aktug, Irem, 1980- (författare)
Gurov, Dilian (preses)
Dam, Mads (preses)
Erlingsson, Ulfar (opponent)
Formal Methods (medarbetare)
KTH Skolan för datavetenskap och kommunikation (CSC) (utgivare)
Publicerad: Stockholm : KTH, 2008
Engelska ix, 193
Serie: Trita-CSC-A, 1653-5723 1653-5723
Läs hela texten
Läs hela texten
  • E-bokAvhandling(Diss. Stockholm : Kungliga Tekniska högskolan, 2008)
Sammanfattning Ämnesord
  • Modern computing platforms strive to support mobile code without putting system security at stake. These platforms can be viewed as open systems, as the mobile code adds new components to the running system. Establishing that such platforms function correctly can  be divided into two steps. First, it is shown that the system functions correctly regardless of the mobile components that join it, provided that they satisfy certain assumptions. These assumptions can, for instance, restrict the behavior of the component to ensure that the security policy of the platform is not violated. Second, the mobile component is checked to satisfy its assumptions, before it is allowed to join the system. This thesis presents algorithmic verification techniques to support this methodology. In the first two parts, we present techniques for the verification of open systems relative to the given component assumptions. In the third part, a technique for the  quick certification of mobile code is presented for the case where a particular type of program rewriting is used as a means of enforcing the component assumptions.In the first part of this study, we present a framework for the verification of open systems based on explicit state space representation. We propose Extended Modal Transition Systems (EMTS) as a suitable structure for representing the state space of open systems when assumptions on components are written in the modal μ-calculus. EMTSs are based on the Modal Transition Systems (MTS) of Larsen and provide a formalism for graphical specification and facilitate a thorough understanding of the system by visualization. In interactive verification, this state space representation enables proof reuse and aids the user guiding the verification process. We present a construction of state space representations from process algebraic open system descriptions based on a maximal model construction for the modal μ-calculus. The construction is sound and complete for systems with a single unknown component and sound for those without dynamic process reation. We also suggest a tableau-based proof system for establishing temporal properties of open systems represented as EMTS. The proof system is sound in general and complete for prime formulae.The problem of open system correctness  also arises in compositional verification, where the problem of showing a global property of a system is reduced to showing local properties of components. In the second part, we extend an existing  compositional verification framework for Java bytecode programs. The framework employs control flow graphs with procedures to model component implementations and open systems for the purpose of checking control-flow properties. We generalize these models to capture exceptional and multi-threaded behavior. The resulting control flow graphs are specifically tailored to support the compositional verification principle; however, they are sufficiently intuitive and standard to be useful on their own. We describe how the models can be extracted from program code and give preliminary experimental results for our implementation of the extraction of control flow graphs with exceptions. We also discuss further tool support and practical applications of the method.In the third part of the thesis, we develop a technique for the certification of safe mobile code, by adapting the proof-carrying code scheme of Necula to the case of security policies expressed as security automata. In particular, we describe how proofs of policy compliance can  be automatically generated for  programs that include a monitor for the desired policy. A monitor is an entity that observes the execution of a program and terminates the program if a violation to the property is about to occur. One way to implement such a monitor is by rewriting the program to make it self-monitoring . Given a property, we characterize self-monitoring of Java bytecode programs for this property by an annotation scheme with annotations in the style of Floyd-Hoare logics. The annotations generated by this scheme can be extended in a straightforward way to form a correctness proof in the sense of axiomatic semantics of programs. The proof generated in this manner essentially establishes that the program satisfies the property because it contains a monitor for it. The annotations that comprise the proofs are simple and efficiently checkable, thus facilitate certification of mobile code on devices with restricted computing power such as mobile phones. 


Natural Sciences  (hsv)
Computer and Information Sciences  (hsv)
Computer Sciences  (hsv)
Naturvetenskap  (hsv)
Data- och informationsvetenskap  (hsv)
Datavetenskap (datalogi)  (hsv)
Applied mathematics  (svep)
Theoretical computer science  (svep)
Tillämpad matematik  (svep)
Teoretisk datalogi  (svep)


government publication  (marcgt)

Indexterm och SAB-rubrik

Mobile Code Security
Reference Monitoring
Maximal Models
Compositional Verification
Inställningar Hjälp

Titeln finns på 1 bibliotek. 

Övriga bibliotek (1)

Ange som favorit
Fel i posten?
Teknik och format
Sök utifrån
LIBRIS söktjänster

Kungliga biblioteket hanterar dina personuppgifter i enlighet med EU:s dataskyddsförordning (2018), GDPR. Läs mer om hur det funkar här.
Så här hanterar KB dina uppgifter vid användning av denna tjänst.

Copyright © LIBRIS - Nationella bibliotekssystem

pil uppåt Stäng

Kopiera och spara länken för att återkomma till aktuell vy