Applications of Formal Methods and Related Techniques for Security
Our research has relied on formal methods and foundations to tackle several important problems in security. Our earliest work in this regard concerned the use of model-checking techniques for reasoning about vulnerabilities that arise due to misconfigurations. Rather than relying on a set of rules that enumerate the known causes of vulnerabilities, we developed a model-based approach that can automatically discover unknown vulnerabilities, and moreover, construct multi-step attacks that exploit these vulnerabilities.
Our model-carrying code relies on automated verification techniques to address the problem of security policy development for containing untrusted code. We developed an automata-based model-checking algorithm that computed the set of all counter examples, and used this as the basis for suggesting refinements to a basic security policy. Intuitively, this refinement captures a minimal relaxation of the base policy that would allow untrusted code to complete its task.
More recently, we have been interested in applying program analysis techniques for discovering software vulnerabilities, and for optimizing security-related program transformations.
Related Publications
- [1] WebSheets: Web Applications for Non-Programmers
New Security Paradigms Workshop (NSPW) September, 2015.
and - [2] Provably Correct Runtime Enforcement of Non-Interference Properties
International Conference on Information and Communications Security (ICICS) December, 2006. (Supercedes Technical Report SECLAB-04-01, Stony Brook University, March, 2004.).
, , and - [3] Dataflow Anomaly Detection
IEEE Symposium on Security and Privacy (IEEE S&P) May, 2006. (Supercedes Technical Report SECLAB-05-03 Improving Attack Detection in Host-Based IDS by Learning Properties of System Call Arguments, July 2005.).
, and - [4] Model-Carrying Code: A Practical Approach for Safe Execution of Untrusted Applications
ACM Symposium on Operating Systems Principles (SOSP) October, 2003.
, , , and - [5] Generation of All Counter-Examples for Push-Down Systems
Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE) June, 2003.
, , and - [6] An approach for Secure Software Installation
USENIX Large Installation System Administration Conference (LISA) November, 2002.
, , , and - [7] Model-Based Analysis of Configuration Vulnerabilities
Journal of Computer Security (JCS) January, 2002.
and - [8] Model-Carrying Code (MCC): A New Paradigm for Mobile-Code Security
New Security Paradigms Workshop (NSPW) September, 2001.
, , and - [9] Model-Based Analysis of Configuration Vulnerabilities
ACM CCS Workshop on Intrusion Detection Systems (WIDS) October, 2000.
and - [10] Model-Based Vulnerability Analysis of Computer Systems
Verification, Model Checking, and Abstract Interpretation (VMCAI) September, 1998.
and