Skip to content

Commit 14401dd

Browse files
committed
update
1 parent d87baac commit 14401dd

File tree

188 files changed

+4697
-8923
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+4697
-8923
lines changed

README.md

+8-20
Original file line numberDiff line numberDiff line change
@@ -152,21 +152,13 @@ and is used throughout the layer refinement proofs.
152152

153153
#### 1.3.3 Top-layer Security
154154

155-
* Security property definition: [SecurityDef][]
156-
157-
* Noninterference tactics: [NoninterferenceAux][]
158-
159-
* Noninterference lemmas
155+
* Invariant definitions: [Invs][]
160156

161-
- [NoninterferenceLemma1][]
157+
* Invariant proof: [InvProofs][]
162158

163-
- [NoninterferenceLemma2][]
164-
165-
- [NoninterferenceLemma3][]
166-
167-
* Big-Step Noninterference Theorem
159+
* Security property definition: [SecurityDef][]
168160

169-
- [Noninterference][]
161+
* Noninterference proof: [Noninterference][]
170162

171163

172164
## 2. Performance Evaluation
@@ -634,11 +626,7 @@ To shutdown VMs from the client, run:
634626
[TrapHandlerProofCode]: proofs/sekvm/sekvm_layers/TrapHandlerProofCode.md
635627
[TrapHandlerCode]: proofs/sekvm/sekvm_layers/TrapHandlerCode.md
636628
[TrapHandlerRefine]: proofs/sekvm/sekvm_layers/TrapHandlerRefine.md
637-
[Invariant]: proofs/sekvm/sekvm_layers/Invariant.md
638-
[InvariantProof]: proofs/sekvm/sekvm_layers/InvariantProof.md
639-
[SecurityDef]: proofs/sekvm/sekvm_layers/SecurityDef.md
640-
[NoninterferenceAux]: proofs/sekvm/sekvm_layers/NoninterferenceAux.md
641-
[NoninterferenceLemma1]: proofs/sekvm/sekvm_layers/NoninterferenceLemma1.md
642-
[NoninterferenceLemma2]: proofs/sekvm/sekvm_layers/NoninterferenceLemma2.md
643-
[NoninterferenceLemma3]: proofs/sekvm/sekvm_layers/NoninterferenceLemma3.md
644-
[Noninterference]: proofs/sekvm/sekvm_layers/Noninterference.md
629+
[Invs]: proofs/sekvm/sekvm_layers/SecurityInvs.md
630+
[InvProofs]: proofs/sekvm/sekvm_layers/SecurityInvProofs.md
631+
[SecurityDef]: proofs/sekvm/sekvm_layers/SecuritySecurityDef.md
632+
[Noninterference]: proofs/sekvm/sekvm_layers/SecurityNoninterference.md

proofs/sekvm/sekvm_layers/AbstractMachine.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# AbstractMachine
1+
# Layer
22

33
```coq
44
Require Import Coqlib.

proofs/sekvm/sekvm_layers/AbstractMachineSpec.md

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# AbstractMachineSpec
1+
# Spec
22

33
```coq
44
Require Import Coqlib.
@@ -105,14 +105,9 @@ Section AbstractMachineSpec.
105105
end.
106106
107107
Definition incr_now_spec (lk: Z) (adt: RData): option RData :=
108-
(* if adt.(shared).(halt) then Some adt else *)
109-
(* if negb adt.(icore) || negb adt.(ihost) then None else *)
110-
111108
match ZMap.get lk adt.(log), adt.(bars) with
112109
| l, Barriered =>
113110
let l' := TEVENT adt.(curid) (TTICKET INC_NOW) :: l in
114-
(* No need to query oracle when unlocking *)
115-
(* (ZMap.get lk adt.(oracle)) adt.(curid) l ++ *)
116111
Some adt {log: ZMap.set lk (l') adt.(log)}
117112
{bars: BarrierValid}
118113
| _, _ => None

proofs/sekvm/sekvm_layers/BootAux.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootAux
1+
# Layer
22

33
```coq
44
Require Import Coqlib.
@@ -25,6 +25,7 @@ Require Import liblayers.compat.CompatGenSem.
2525
2626
Require Import MemoryOps.Spec.
2727
Require Import AbstractMachine.Spec.
28+
Require Import Locks.Spec.
2829
Require Import BootCore.Spec.
2930
Require Import NPTOps.Spec.
3031
Require Import MmioSPTWalk.Spec.

proofs/sekvm/sekvm_layers/BootAuxCode.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootAuxCode
1+
# Code
22

33
```coq
44
Require Import Coqlib.

proofs/sekvm/sekvm_layers/BootAuxProofCode.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootAuxProofCode
1+
# ProofLow
22

33
```coq
44
Require Import Coqlib.

proofs/sekvm/sekvm_layers/BootAuxRefine.md

+1-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootAuxRefine
1+
# ProofHigh
22

33
```coq
44
Require Import Coqlib.
@@ -107,14 +107,6 @@ Section BootAuxProofHigh.
107107
108108
End FreshPrim.
109109
110-
Section PassthroughPrim.
111-
112-
Lemma passthrough_correct:
113-
sim (crel HDATA LDATA) BootAux_passthrough BootCore.
114-
Admitted.
115-
116-
End PassthroughPrim.
117-
118110
End WITHMEM.
119111
120112
End BootAuxProofHigh.

proofs/sekvm/sekvm_layers/BootAuxSpec.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootAuxSpec
1+
# Spec
22

33
```coq
44
Require Import Coqlib.

proofs/sekvm/sekvm_layers/BootCore.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootCore
1+
# Layer
22

33
```coq
44
Require Import Coqlib.
@@ -25,6 +25,7 @@ Require Import liblayers.compat.CompatGenSem.
2525
2626
Require Import MemoryOps.Spec.
2727
Require Import AbstractMachine.Spec.
28+
Require Import Locks.Spec.
2829
Require Import BootCore.Spec.
2930
Require Import NPTOps.Spec.
3031
Require Import MmioSPTWalk.Spec.

proofs/sekvm/sekvm_layers/BootCoreCode.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootCoreCode
1+
# Code
22

33
```coq
44
Require Import Coqlib.

proofs/sekvm/sekvm_layers/BootCoreProofCode.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootCoreProofCode
1+
# ProofLow
22

33
```coq
44
Require Import Coqlib.
@@ -46,6 +46,7 @@ Require Import liblayers.logic.LayerLogicImpl.
4646
Require Import Ctypes.
4747
4848
Require Import AbstractMachine.Spec.
49+
Require Import Locks.Spec.
4950
Require Import BootCore.Code.
5051
Require Import VMPower.Layer.
5152
Require Import Ident.

proofs/sekvm/sekvm_layers/BootCoreRefine.md

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootCoreRefine
1+
# ProofHigh
22

33
```coq
44
Require Import Coqlib.
@@ -32,6 +32,7 @@ Require Import liblayers.compat.CompatGenSem.
3232
3333
Require Import BootCore.Spec.
3434
Require Import AbstractMachine.Spec.
35+
Require Import Locks.Spec.
3536
Require Import RData.
3637
Require Import Constants.
3738
Require Import VMPower.Layer.
@@ -162,14 +163,6 @@ Section BootCoreProofHigh.
162163
163164
End FreshPrim.
164165
165-
Section PassthroughPrim.
166-
167-
Lemma passthrough_correct:
168-
sim (crel HDATA LDATA) BootCore_passthrough VMPower.
169-
Admitted.
170-
171-
End PassthroughPrim.
172-
173166
End WITHMEM.
174167
175168
End BootCoreProofHigh.

proofs/sekvm/sekvm_layers/BootCoreSpec.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootCoreSpec
1+
# Spec
22

33
```coq
44
Require Import Coqlib.
@@ -21,6 +21,7 @@ Require Import liblayers.compat.CompatLayers.
2121
Require Import liblayers.compat.CompatGenSem.
2222
2323
Require Import AbstractMachine.Spec.
24+
Require Import Locks.Spec.
2425
Require Import VMPower.Layer.
2526
Require Import RData.
2627
Require Import Constants.

proofs/sekvm/sekvm_layers/BootOps.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootOps
1+
# Layer
22

33
```coq
44
Require Import Coqlib.
@@ -25,6 +25,7 @@ Require Import liblayers.compat.CompatGenSem.
2525
2626
Require Import MemoryOps.Spec.
2727
Require Import AbstractMachine.Spec.
28+
Require Import Locks.Spec.
2829
Require Import BootOps.Spec.
2930
Require Import MmioSPTWalk.Spec.
3031
Require Import RData.

proofs/sekvm/sekvm_layers/BootOpsCode.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootOpsCode
1+
# Code
22

33
```coq
44
Require Import Coqlib.

proofs/sekvm/sekvm_layers/BootOpsProofCode.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootOpsProofCode
1+
# ProofLow
22

33
```coq
44
Require Import Coqlib.
@@ -47,6 +47,7 @@ Require Import Ctypes.
4747
4848
Require Import NPTOps.Spec.
4949
Require Import AbstractMachine.Spec.
50+
Require Import Locks.Spec.
5051
Require Import MemManager.Spec.
5152
Require Import Ident.
5253
Require Import BootAux.Spec.

proofs/sekvm/sekvm_layers/BootOpsRefine.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootOpsRefine
1+
# ProofHigh
22

33
```coq
44
Require Import Coqlib.
@@ -37,6 +37,7 @@ Require Import HypsecCommLib.
3737
Require Import BootOps.Spec.
3838
Require Import BootOps.Layer.
3939
Require Import AbstractMachine.Spec.
40+
Require Import Locks.Spec.
4041
Require Import MemManager.Spec.
4142
Require Import NPTOps.Spec.
4243
Require Import MmioSPTOps.Spec.

proofs/sekvm/sekvm_layers/BootOpsSpec.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BootOpsSpec
1+
# Spec
22

33
```coq
44
Require Import Coqlib.
@@ -22,6 +22,7 @@ Require Import liblayers.compat.CompatGenSem.
2222
2323
Require Import NPTOps.Spec.
2424
Require Import AbstractMachine.Spec.
25+
Require Import Locks.Spec.
2526
Require Import MemManager.Spec.
2627
Require Import BootAux.Spec.
2728
Require Import MmioSPTOps.Spec.

proofs/sekvm/sekvm_layers/CtxtSwitch.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# CtxtSwitch
1+
# Layer
22

33
```coq
44
Require Import Coqlib.

proofs/sekvm/sekvm_layers/CtxtSwitchCode.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# CtxtSwitchCode
1+
# Code
22

33
```coq
44
Require Import Coqlib.

0 commit comments

Comments
 (0)