... | ... | @@ -12,7 +12,7 @@ The following considers that you have a working installation of Lazart. The comp |
|
|
- [Instrumenting the code](#instrumenting-the-code)
|
|
|
- [Creating the analysis script](#creating-the-analysis-script)
|
|
|
- [Running your analysis](#running-your-analysis)
|
|
|
- [Going Further](#going-further)
|
|
|
- [Going further](#going-further)
|
|
|
|
|
|
# An example function: `verify_pin`
|
|
|
|
... | ... | @@ -210,42 +210,69 @@ The module [`lazart.verify`](https://securitytools.gricad-pages.univ-grenoble-al |
|
|
You can now try your analysis by simply execute your script:
|
|
|
|
|
|
```console
|
|
|
root@lazart:/opt/lazart/use-cases/examples/get-started# ./analysis.py -r -o=4 -V=quiet
|
|
|
Mutation file parsing ended. 0 warning(s) and 0 error(s) generated.
|
|
|
root@lazart:/opt/lazart/use-cases/tutorials/tutorial-1-2# ./analysis.py -r -o=4 -V=quiet
|
|
|
mutation file parsing ended. 0 warning(s) and 0 error(s) generated.
|
|
|
preprocessing starting.
|
|
|
preprocessing ended. 0 warning(s) and 0 error(s) generated.
|
|
|
mutation ended. 0 warning(s) and 0 error(s) generated.
|
|
|
module clean.
|
|
|
module saved.
|
|
|
|
|
|
Program: Full attacks results
|
|
|
+---------+--------+-------+-------+--------+ +-----------+------+------+------+------+------+---------+
|
|
|
| Name | Ins. | BRs | IPs | Dets | | Attacks | 0F | 1F | 2F | 3F | 4F | Total |
|
|
|
|---------+--------+-------+-------+--------| |-----------+------+------+------+------+------+---------|
|
|
|
| unammed | 468 | 18 | 4 | 0 | | atk: | 0 | 3 | 8 | 12 | 9 | 32 |
|
|
|
+---------+--------+-------+-------+--------+ +-----------+------+------+------+------+------+---------+
|
|
|
|
|
|
Attacks analysis: Execution:
|
|
|
+-----------+------+------+------+------+------+---------+ +-------+------+-------+------+------+------+------+
|
|
|
| Attacks | 0F | 1F | 2F | 3F | 4F | Total | | Trs | PP | IgT | KT | CP | EP | EI |
|
|
|
|-----------+------+------+------+------+------+---------| |-------+------+-------+------+------+------+------|
|
|
|
| atk: | 0 | 3 | 8 | 12 | 9 | 32 | | 32 | 44 | 2 | 34 | 32 | 76 | 8012 |
|
|
|
+-----------+------+------+------+------+------+---------+ +-------+------+-------+------+------+------+------+
|
|
|
|
|
|
Hotspots: Time metrics:
|
|
|
+---------+-------------------+-----------+-----------+-----------+-----------+-----------+ +-------+-------+--------+-------+------+
|
|
|
| Order | Info | 0-order | 1-order | 2-order | 3-order | 4-order | | TT | TLz | TDSE | TTr | TA |
|
|
|
| IP | | | | | | | |-------+-------+--------+-------+------|
|
|
|
|---------+-------------------+-----------+-----------+-----------+-----------+-----------| | 0.178 | 0.064 | 0.08 | 0.058 | 0 |
|
|
|
| 0 | ti [l:9, bb:bb1] | 0 | 1 (mc:1) | 4 (mc:1) | 6 (mc:1) | 4 (mc:1) | +-------+-------+--------+-------+------+
|
|
|
| 1 | ti [l:10, bb:bb2] | 0 | 0 | 5 (mc:1) | 19 (mc:2) | 25 (mc:4) |
|
|
|
| 2 | ti [l:20, bb:bb7] | 0 | 1 (mc:1) | 0 | 0 | 0 | Coverage:
|
|
|
| 3 | ti [l:21, bb:bb8] | 0 | 1 (mc:1) | 7 (mc:1) | 11 (mc:1) | 7 (mc:1) | +-----+-----------+-----------+-------+-------+-------+
|
|
|
+---------+-------------------+-----------+-----------+-----------+-----------+-----------+ | S | ICov(%) | BCov(%) | ITr | FBr | PBr |
|
|
|
|-----+-----------+-----------+-------+-------+-------|
|
|
|
| ok | 97.86 | 88.89 | err | 14 | 4 |
|
|
|
+-----+-----------+-----------+-------+-------+-------+
|
|
|
|
|
|
|
|
|
Program:
|
|
|
+---------+--------+-------+-------+--------+
|
|
|
| Name | Ins. | BRs | IPs | Dets |
|
|
|
|---------+--------+-------+-------+--------|
|
|
|
| unnamed | 485 | 22 | 4 | 0 |
|
|
|
+---------+--------+-------+-------+--------+
|
|
|
|
|
|
Attacks analysis:
|
|
|
+-----------+------+------+------+------+------+---------+
|
|
|
| Attacks | 0F | 1F | 2F | 3F | 4F | Total |
|
|
|
|-----------+------+------+------+------+------+---------|
|
|
|
| atk: | 0 | 3 | 8 | 12 | 9 | 32 |
|
|
|
+-----------+------+------+------+------+------+---------+
|
|
|
|
|
|
Hotspots:
|
|
|
+---------+--------------------------+-----------+-----------+-----------+-----------+-----------+
|
|
|
| Order | Info | 0-order | 1-order | 2-order | 3-order | 4-order |
|
|
|
| IP | | | | | | |
|
|
|
|---------+--------------------------+-----------+-----------+-----------+-----------+-----------|
|
|
|
| 0 | ti [l:9, bb:bb1] | 0 | 1 (mc:1) | 4 (mc:1) | 6 (mc:1) | 4 (mc:1) |
|
|
|
| 1 | ti [l:10, bb:bb2] | 0 | 0 | 5 (mc:1) | 19 (mc:2) | 25 (mc:4) |
|
|
|
| 2 | ti [l:20, bb:bb7] | 0 | 1 (mc:1) | 0 | 0 | 0 |
|
|
|
| 3 | ti [l:22, bb:precompare] | 0 | 1 (mc:1) | 7 (mc:1) | 11 (mc:1) | 7 (mc:1) |
|
|
|
+---------+--------------------------+-----------+-----------+-----------+-----------+-----------+
|
|
|
|
|
|
Full attacks results
|
|
|
+-----------+------+------+------+------+------+---------+
|
|
|
| Attacks | 0F | 1F | 2F | 3F | 4F | Total |
|
|
|
|-----------+------+------+------+------+------+---------|
|
|
|
| atk: | 0 | 3 | 8 | 12 | 9 | 32 |
|
|
|
+-----------+------+------+------+------+------+---------+
|
|
|
|
|
|
Execution:
|
|
|
+-------+------+-------+------+------+------+------+
|
|
|
| Trs | PP | IgT | KT | CP | EP | EI |
|
|
|
|-------+------+-------+------+------+------+------|
|
|
|
| 32 | 44 | 2 | 34 | 32 | 76 | 7637 |
|
|
|
+-------+------+-------+------+------+------+------+
|
|
|
|
|
|
Time metrics:
|
|
|
+-------+-------+--------+-------+------+
|
|
|
| TT | TLz | TDSE | TTr | TA |
|
|
|
|-------+-------+--------+-------+------|
|
|
|
| 0.236 | 0.069 | 0.14 | 0.062 | 0 |
|
|
|
+-------+-------+--------+-------+------+
|
|
|
|
|
|
Coverage:
|
|
|
+-----+-----------+-----------+-------+-------+-------+
|
|
|
| S | ICov(%) | BCov(%) | ITr | FBr | PBr |
|
|
|
|-----+-----------+-----------+-------+-------+-------|
|
|
|
| ok | 88.87 | 68.18 | 32 | 12 | 6 |
|
|
|
+-----+-----------+-----------+-------+-------+-------+
|
|
|
verify: attacks tests passed
|
|
|
verify: traces tests passed
|
|
|
root@lazart:/opt/lazart/use-cases/examples/get-started/#
|
|
|
```
|
|
|
In this example, the analysis was run with quiet verbosity mode (`-V=quiet`), forcing the re-computation of each step despite any cached results (`-r`).
|
|
|
|
... | ... | |