2004 · 151 citations · 17 references
ComputingComputer EngineeringComputer ScienceFormal MethodsProgramming LanguagesTheory Of ComputationControl-flow AnalysisData-flow AnalysisDeductive VerificationExecutable System ModelsModel CheckingModel ExecutionAutomated Model CheckingCode VerificationModel-based Verification
Implementation bugs in security-critical software are pervasive. Several authors have previously suggested model checking as a promising means to detect improper use of system interfaces and thereby detect a broad class of security vulnerabilities. In this paper, we report on our practical experience using MOPS, a tool for software model checking security-critical applications. As examples of security vulnerabilities that can be analyzed using model checking, we pick five important classes of vulnerabilities and show how to codify them as temporal safety properties, and then we describe the results of checking them on several significant Unix applications using MOPS. After analyzing over one million lines of code, we found more than a dozen new security weaknesses in important, widely-deployed applications. This demonstrates for the first time that model checking is practical and useful for detecting security weaknesses at large scale in real, legacy systems. 1.
17
Thomas Ball, Sriram K. Rajamani · 2002 · 926 citations
Automatically Validating Temporal Safety Properties of Interfaces
2001 · 605 citations
Manuvir Das, Sorin Lerner, Mark Seigle · 2002 · 554 citations