2002 · 48 citations · 18 references
ComputingComputer EngineeringComputer ScienceFault ToleranceFault-tolerant SystemsOperating SystemsApplication Security TestingFault InjectionOperating System VulnerabilitiesSoftware Fault ToleranceSoftware Vulnerability DiscoveryEnvironment-behavior InteractionFault Model AnalysisSecurity TestingSoftware Fault InjectionVulnerabilityVulnerability Detection
Describes a methodology for testing a software system for possible security flaws. Based on the observation that most security flaws are caused by a program's inappropriate interactions with the environment and are triggered by a user's malicious perturbation on the environment (which we call an "environment fault"), we view the security testing problem as the problem of testing for the fault-tolerance properties of a software system. We consider each environment perturbation as a fault, and the resulting security compromise as a failure in the toleration of such faults. Our approach is based on the well-known technique of fault injection. Environment faults are injected into the system under test, and the system's behavior is observed. A failure to tolerate faults is an indicator of a potential security flaw in the system. An environment-application interaction (EAI) fault model is proposed which guides us to decide what faults to inject. Based on EAI, we have developed a security testing methodology, and we have applied it to several applications. We have successfully identified a number of vulnerabilities, including vulnerabilities in the Windows NT operating system.
18
Fault injection techniques and tools
Mei-Chen Hsueh, Timothy Tsai, Ravishankar K. Iyer · Computer · 1997 · 869 citations · Full text
Software vulnerability analysis
Ivan Krsul, Eugene H. Spafford · Purdue e-Pubs (Purdue University System) · 1998 · 290 citations