tum-i4 / self-checksumming

10 stars 6 forks source link

Implement `extracted-only` and `use-other-functions` flags and make the necessary changes #50

Closed mr-ma closed 6 years ago

mr-ma commented 6 years ago

Currently, SC is tightly coupled with OH. We need to make the following changes: Supply an -extracted-only flag which enforces SC protection on extracted functions only. In this mode, extracted functions are always checkees, and never checkers. This flag also respects the filter functions (sensitive functions) that are specified by the user. Simply put, only functions that are both extracted and mentioned in the filter list are protected.

Without the extracted-only flag, SC randomly constructs a network of checkers according to the specified filter functions list. Filter functions are always checked; they may also check other functions to satisfy the specified connectivity level.

Since SC checkers networks do not support cycles, to meet the required connectivity level, SC may need some extra functions. -use-other-functions allows SC to use a some (or all) other functions in the module as checkers (only) to fulfil the requested connectivity.