Users interacting with a UI-embedded machine or system are typically obliged to perform their actions in a pre-determined order, to successfully achieve certain functional goals. However, such obligations are often not followed strictly by users, which may lead to the violation to security properties, especially in security-critical systems. In order to improve the security with the awareness of unexpected user behaviors, a system can be redesigned to a more robust one by changing the order of actions in its specification. Meanwhile, we anticipate that the functionalities would remain consistent following the modifications. In this paper, we propose an efficient algorithm to automatically produce specification revisions tackling with attack scenarios caused by the weakened user obligations. By our algorithm, all the revisions maintain the integrity of the functionalities as the original specification, which are generated using a novel recomposition approach. Then, the qualified revisions that can satisfy the security requirements would be efficiently spotted by a hybrid approach combining model checking and machine learning techniques. We evaluate our algorithm by comparing its performance with a state-of-the-art approach regarding their coverage and searching speed of the desirable revisions.
翻译:用户与UI组成的机器或系统互动的用户通常有义务按照预先确定的顺序采取行动,以成功实现某些功能目标。然而,用户往往不严格遵守这些义务,这可能导致对安全特性的侵犯,特别是在安全临界系统中。为了提高安全性能,意识到出乎意料的用户行为,一个系统可以通过改变其规格上的行动顺序而重新设计为更健全的系统。与此同时,我们预计这些功能在修改后会保持一致性。我们在本文件中建议一种高效算法,针对因用户义务削弱造成的攻击情形自动提出规格修订。根据我们的算法,所有修订都保持了功能的完整性,作为原始规格,而最初规格是使用新的重新组合法产生的。然后,能够满足安全要求的合格修改可以通过混合方法有效地发现,将模型检查和机器学习技术结合起来。我们通过比较我们的算法,将它的性能与关于它们覆盖面和适当修改的速度的先进方法进行比较来评估我们的算法。