Is it possible to use Frama-C to verify whether or not the execution flow or memory accesses depend on a particular variable?
Background:
There were once options -experimental-path-deps
and -experimental-mem-deps
, but these were removed in the Silicon
release.
In order to prevent side-channel attacks, I would like to ensure that the execution flow of the program does not depend upon secret data, rendering it vulnerable to timing attacks.
For memory accesses, we can perform dataflow analysis on each index, but this is somewhat error-prone, and must be performed manually for every array access. There is no obvious workaround in the case of -experimental-path-deps
.
Does equivalent functionality exist elsewhere in Frama-C, or is the best option to simply revert to an older version?