Methods for automatically, soundly, and precisely guaranteeing the noninterference security policy are predominantly based on multi-execution. All other methods are either based on undecidable theorem proving or suffer from false alarms. The multi-execution mechanisms, meanwhile, work by isolating security levels during program execution and running multiple copies of the target program, once for each security level with carefully tailored inputs that ensure both soundness and precision. When security levels are hierarchically organised in a lattice, this may lead to an exponential number of executions of the target program as the number of possible ways of combining security levels grows. In this paper we study how the lattice structure for security levels influences the runtime overhead of multi-execution. We additionally show how to use Galois connections to gain speedups in multi-execution by switching from lattices with high overhead to lattices with low overhead. Additionally, we give an empirical evaluation that corroborates our analysis and shows how Galois connections have potential to speed up multi-execution.
翻译:自动、 稳妥和准确地保障不干预安全政策的方法主要基于多执行。 所有其他方法要么基于不可分的理论验证,要么基于虚假警报。 同时, 多执行机制通过在程序执行期间分离安全级别和运行目标方案多份副本来工作, 在每个安全级别一次, 仔细定制投入, 以确保稳妥和精确性。 当安全级别按等级排列时, 可能导致目标程序的处决数量成倍增加, 随着安全级别合并的可能方式的增加。 在本文中, 我们研究安全等级的悬浮结构如何影响多执行的运行时间顶部。 我们进一步展示如何使用加lois连接在多执行中加快速度, 从高顶部的顶部转换到低顶部的顶部。 此外, 我们提供经验评估, 证实我们的分析, 并显示加lois 连接如何能加速多执行。