Abstract
|
Formal methods ensure the stability and reliability of soft-ware systems by using mathematical principles and proving conformance to a given set of requirements. The stable and reliable operation of software is especially important for system applications dealing with security. Although very effective in identifying a non-conformance in security requirements, formal methods typically involve a steep learning curve before full adoption. Automated tools can be used to alleviate difficulties associated with formal methods. An observation is made that the existing attempts to apply formal methods to check conformance to security requirements, have not efficiently taken advantage of such tools. Therefore, this paper proposes a novel methodology to leverage well-known formal method tools to verify how closely a security software product satisfies its requirements. More specifically, this paper formally verifies an Access Control System (ACS) using RoZ and Z/EVES, two of the many verification tools available for ensuring the integrity of software applications. For this, a UML model of ACS with Z annotations is first created. Next, the model is transformed into a Z specification which is, in turn, verified by the Z/EVES prover. Using this process, one can also find security vulnerabilities created during a development process. Index Terms?formal methods, formal specification, formal verification, software security verification, RoZ, Z/EVES
|