An application of Alloy to static analysis for secure information flow and verification of software systems

Within a multilevel secure (MLS) system, flaws in design and implementation can result in overt and covert channels, both of which may be exploited by malicious software to cause unauthorized information flows. To address this problem, the use of control dependency tracing has been explored to pr...

Full description

Bibliographic Details
Main Author: Shaffer, Alan B.
Other Authors: Auguston, Mikhail
Published: Monterey, California. Naval Postgraduate School, 2008. 2012
Online Access:http://hdl.handle.net/10945/10320
id ndltd-nps.edu-oai-calhoun.nps.edu-10945-10320
record_format oai_dc
spelling ndltd-nps.edu-oai-calhoun.nps.edu-10945-103202014-11-27T16:08:55Z An application of Alloy to static analysis for secure information flow and verification of software systems Shaffer, Alan B. Auguston, Mikhail Computer Science Within a multilevel secure (MLS) system, flaws in design and implementation can result in overt and covert channels, both of which may be exploited by malicious software to cause unauthorized information flows. To address this problem, the use of control dependency tracing has been explored to present a precise, formal definition for information flow. This work describes a security Domain Model (DM), designed in the Alloy formal specification language, for conducting static analysis of programs to identify illicit information flows, such as control dependency flaws and covert channel vulnerabilities. The model includes a formal definition for trusted subjects, which are granted extraordinary privileges to perform system operations that require relaxation of the mandatory access control (MAC) policy mechanisms imposed on normal subjects, but are trusted to behave benignly and not to degrade system security. The DM defines the concepts of program state, information flow and security policy rules, and specifies the behavior of a target program. The DM is compiled from a representation of the target program, written in a specialized Implementation Modeling Language (IML), and a specification of the security policy written in the Alloy language. The Alloy Analyzer tool is used to perform static analysis of the DM to detect potential security policy violations in the target program. This approach demonstrates that it is possible to establish a framework for formally representing a program implementation and for formalizing the security rules defined by a security policy, enabling the verification of that program representation for adherence to the security policy. 2012-08-22T15:31:56Z 2012-08-22T15:31:56Z 2008-12 http://hdl.handle.net/10945/10320 Approved for public release, distribution unlimited Monterey, California. Naval Postgraduate School, 2008.
collection NDLTD
sources NDLTD
description Within a multilevel secure (MLS) system, flaws in design and implementation can result in overt and covert channels, both of which may be exploited by malicious software to cause unauthorized information flows. To address this problem, the use of control dependency tracing has been explored to present a precise, formal definition for information flow. This work describes a security Domain Model (DM), designed in the Alloy formal specification language, for conducting static analysis of programs to identify illicit information flows, such as control dependency flaws and covert channel vulnerabilities. The model includes a formal definition for trusted subjects, which are granted extraordinary privileges to perform system operations that require relaxation of the mandatory access control (MAC) policy mechanisms imposed on normal subjects, but are trusted to behave benignly and not to degrade system security. The DM defines the concepts of program state, information flow and security policy rules, and specifies the behavior of a target program. The DM is compiled from a representation of the target program, written in a specialized Implementation Modeling Language (IML), and a specification of the security policy written in the Alloy language. The Alloy Analyzer tool is used to perform static analysis of the DM to detect potential security policy violations in the target program. This approach demonstrates that it is possible to establish a framework for formally representing a program implementation and for formalizing the security rules defined by a security policy, enabling the verification of that program representation for adherence to the security policy.
author2 Auguston, Mikhail
author_facet Auguston, Mikhail
Shaffer, Alan B.
author Shaffer, Alan B.
spellingShingle Shaffer, Alan B.
An application of Alloy to static analysis for secure information flow and verification of software systems
author_sort Shaffer, Alan B.
title An application of Alloy to static analysis for secure information flow and verification of software systems
title_short An application of Alloy to static analysis for secure information flow and verification of software systems
title_full An application of Alloy to static analysis for secure information flow and verification of software systems
title_fullStr An application of Alloy to static analysis for secure information flow and verification of software systems
title_full_unstemmed An application of Alloy to static analysis for secure information flow and verification of software systems
title_sort application of alloy to static analysis for secure information flow and verification of software systems
publisher Monterey, California. Naval Postgraduate School, 2008.
publishDate 2012
url http://hdl.handle.net/10945/10320
work_keys_str_mv AT shafferalanb anapplicationofalloytostaticanalysisforsecureinformationflowandverificationofsoftwaresystems
AT shafferalanb applicationofalloytostaticanalysisforsecureinformationflowandverificationofsoftwaresystems
_version_ 1716721478950453248