Out of annotated programs proof carrying code systems construct and prove verification conditions that guarantee a given safety policy. The annotations may come from various program analyzers and must not be trusted a...
详细信息
Out of annotated programs proof carrying code systems construct and prove verification conditions that guarantee a given safety policy. The annotations may come from various program analyzers and must not be trusted as they need to be verified. A generic verification condition generator can be utilized such that a combination of annotations is verified incrementally. New annotations may be verified by using previously verified ones as trusted facts. We show how results from a trusted type analyzer may be combined with untrusted interval analysis to automatically verify that bytecode programs do not overflow. All trusted components are formalized and verified in Isabelle/HOL.
Modern software systems are composed of software components supplied by a software supply chain, and it has become difficult to maintain the dependability of the software supply chain. To address this problem, we intr...
详细信息
ISBN:
(纸本)9781665426039
Modern software systems are composed of software components supplied by a software supply chain, and it has become difficult to maintain the dependability of the software supply chain. To address this problem, we introduce assurance carryingcode, a framework in which every software component in a software supply chain has its own assurance case. When integrating a software component into a supply chain, the stakeholders check (manually or automatically) the assurance case to determine whether or not the software component is dependable for the supply chain. We introduce a pattern language for Goal Structuring Notation (GSN) formalized by lambda-calculus, which is used in a theory of functional programming languages theory.
Gary McGraw interviews Greg Morrisett, the Allen B. Cutting Professor of Computer Science and associate dean for computer science and engineering at Harvard University. His current work is on applications of advanced ...
详细信息
Gary McGraw interviews Greg Morrisett, the Allen B. Cutting Professor of Computer Science and associate dean for computer science and engineering at Harvard University. His current work is on applications of advanced type systems, model checkers, proof-carryingcode, and inline reference monitors for building efficient and provably secure systems. He's also working on languages for sensor networks. Hear the full podcast of the interview at ***/security/podcasts/ or ***/silverbullet/. The Web extra is the full transcript of the interview.
"Programs from proofs" is a generic method which generates new programs out of correctness proofs of given programs. The technique ensures that the new and given program are behaviorally equivalent and that ...
详细信息
ISBN:
(纸本)9781450331968
"Programs from proofs" is a generic method which generates new programs out of correctness proofs of given programs. The technique ensures that the new and given program are behaviorally equivalent and that the new program is easily verifiable, thus serving as an alternative to proof-carryingcode concepts. So far, this generic method has one instantiation that verifies type-state properties of programs. In this paper, we present a whole range of new instantiations, all based on dataflow analyses. More precisely, we show how an imprecise but fast dataflow analysis can be enhanced with a predicate analysis as to yield a precise but expensive analysis. Out of the safety proofs of this analysis, we generate new programs, again behaviorally equivalent to the given ones, which are "easily verifiable" in the sense that now the dataflow analysis alone can yield precise results. An experimental evaluation practically supports our claim of easy verification.
We present the first implementation of a theorem prover which runs on a smart card. The prover is written in Java and implements a dual tableau calculus.(1) Due to the limited resources available on current smart card...
详细信息
ISBN:
(纸本)3540651381
We present the first implementation of a theorem prover which runs on a smart card. The prover is written in Java and implements a dual tableau calculus.(1) Due to the limited resources available on current smart cards, the prover is restricted to propositional classical logic. It can be easily extended to full first-order logic. The potential applications for our prover lie within the context of security related functions based on trusted devices such as smart cards.
The vision of ubiquitous computing presents us with unique difficulties in terms of maintaining security. Many of these relate to privacy or quality of service issues, but underpinning these are the requirement for se...
详细信息
ISBN:
(纸本)0780387945
The vision of ubiquitous computing presents us with unique difficulties in terms of maintaining security. Many of these relate to privacy or quality of service issues, but underpinning these are the requirement for secure execution of code. We present a novel framework for utilising a hybrid method of code analysis combined with component composition techniques. The aim has been to allow sandboxing techniques to maintain security dynamically in a ubiquitous computing environment. We argue that whilst security issues for ubiquitous computing are particularly acute, characteristics of the environment can also be harnessed advantageously to fulfil these security requirements.
A precise characterization is given for the class of security policies enforceable with mechanisms that work by monitoring system execution, and automata are introduced for specifying exactly that class of security po...
详细信息
Bytecode verification forms the corner stone of the Java security model that ensures the integrity of the runtime environment even in the presence of untrusted code. Limited devices, like Java smart cards, lack the ne...
详细信息
Bytecode verification forms the corner stone of the Java security model that ensures the integrity of the runtime environment even in the presence of untrusted code. Limited devices, like Java smart cards, lack the necessary amount of memory to verify the type-safety of Java bytecode on their own. proof carrying code techniques compute, outside the device, tamper-proof certificates which simplify bytecode verification and pass them along with the code. Rose has developed such an approach for a small subset of the Java bytecode language. In this paper, we extend this approach to real world Java software and develop a precise model of the memory requirements on the device. We use a variant of interval graphs to model liveness of memory regions in the checking step. Based on this model, memory-optimal checking strategies are computed outside the device and attached to the certificate. The underlying type system of the bytecode verifier has been augmented with multi-dimensional arrays and recognizes references to uninitialized Java objects. Our detailed measurements, based on real world Java libraries, demonstrate that the approach offers a substantial improvement in size of certificate over the similar approach taken by the KVM verifier. Worst case memory consumption on the device is examined as well and it turns out that the refinements based on our model save a significant amount of memory.
暂无评论