Security-critical applications at the highest Evaluation Assurance Levels (EAL) require formal proofs of correctness in order to achieve certification. To support secure application development at the highest EALs, we have developed techniques to largely automate the process of producing proofs of correctness of machine code. As part of the Secure, High-Assurance Development Environment program, we have produced in ACL2 an executable formal model of the Rockwell Collins AAMP7G microprocessor at the instruction set level, in order to facilitate proofs of correctness about that processor’s machine code. The AAMP7G, currently in use in Rockwell Collins secure system products, supports strict time and space partitioning in hardware, and has rec...
International audienceAssembly-level protection mechanisms (virtual memory, trusted execution enviro...
We present a computer-aided framework for proving concrete security bounds for cryptographic machine...
Hypervisors are low level execution platforms that provideisolated partitions on shared resources, a...
A verifying compiler is one that emits both object code and a proof of correspondence between object...
An approach enabling end-users to verify that a downloaded untrusted code will not leak confidential...
This presentation describes a project, formal verification of the microcode in the AAMP5 microproces...
Two main kinds of tools available for formal software verification are point tools and general-purpo...
The wide usage of hardware intellectual property (IP) cores and software programs from untrusted thi...
. We have formally specified a substantial subset of the MC68020, a widely used microprocessor built...
We introduce a proof-carrying based framework for assessing the trustworthiness of third-party hardw...
Proof-Carrying Code (PCC) and other applications in computer security require machine-checkable proo...
Our project applies automated proof checking to two application domains: protecting host computers f...
We present recent work on building and scaling trustworthy systems with formal, machine-checkable pr...
The function of software used to be calculation; mechanising what was previously done by hand. Now i...
We present the algorithms used in McVeto (Machine-Code VErification TOol), a tool to check whether ...
International audienceAssembly-level protection mechanisms (virtual memory, trusted execution enviro...
We present a computer-aided framework for proving concrete security bounds for cryptographic machine...
Hypervisors are low level execution platforms that provideisolated partitions on shared resources, a...
A verifying compiler is one that emits both object code and a proof of correspondence between object...
An approach enabling end-users to verify that a downloaded untrusted code will not leak confidential...
This presentation describes a project, formal verification of the microcode in the AAMP5 microproces...
Two main kinds of tools available for formal software verification are point tools and general-purpo...
The wide usage of hardware intellectual property (IP) cores and software programs from untrusted thi...
. We have formally specified a substantial subset of the MC68020, a widely used microprocessor built...
We introduce a proof-carrying based framework for assessing the trustworthiness of third-party hardw...
Proof-Carrying Code (PCC) and other applications in computer security require machine-checkable proo...
Our project applies automated proof checking to two application domains: protecting host computers f...
We present recent work on building and scaling trustworthy systems with formal, machine-checkable pr...
The function of software used to be calculation; mechanising what was previously done by hand. Now i...
We present the algorithms used in McVeto (Machine-Code VErification TOol), a tool to check whether ...
International audienceAssembly-level protection mechanisms (virtual memory, trusted execution enviro...
We present a computer-aided framework for proving concrete security bounds for cryptographic machine...
Hypervisors are low level execution platforms that provideisolated partitions on shared resources, a...