Measuring Cyber Security Assurance LevelHow secure is a software system to cyber attacks? How can cyber security even be measured? The challenge in measuring cyber security assurance levels is twofold: (1) to identify a specific class of vulnerabilities, and (2) to assess all code locations where the vulnerability may lie and avoid false negative reports. For classes of vulnerabilities that can be defined mathematically, static analysis based on abstract interpretation provides the means for proving that each location of a potential vulnerability is, in fact, safe. If CodeHawk cannot generate a proof, then it provides evidence in the form of unproven conditions. The ratio of proven-safe code locations to the total number of relevant code locations provides a measure of cyber security assurance level. Going through the iterative process to add checks and repair vulnerabilities, the developer can increase the cyber security assurance level with a goal of 100% assurance. Alternatively, CodeHawk can be used as a powerful productivity tool in augmenting security code review to verify the absence of security vulnerabilities. By automatically proving large segments of the code are safe for a targeted vulnerability (such as buffer overflow), the security review effort is dramatically reduced. CodeHawk also produces evidence of safety for third party review and confirmation. Hardening C Source CodeCodeHawk can help developers increase cyber security assurance levels through an iterative process - where a potentially vulnerable code location cannot be proved safe, the unproved conditions are examined and a course of action is determined. Either the code location is modified to fix the vulnerability or extra information is provided to CodeHawk to help it prove the safety case. Following this process, source code can be hardened against specific kinds of cyber attacks. Analyzing Open Source C CodeOpen source software is playing an increasing role in IT solutions worldwide. Before incorporating open source codes into mission-critical applications, industry and governments need assurance that the code will be secure from various kinds of cyber attacks. CodeHawk can measure cyber security assurance levels in open source C code for specific classes of vulnerabilities. CodeHawk provides a low-cost method for choosing amongst alternative open source candidates by assessing their relative risk to cyber attacks that exploit specific kinds of vulnerabilities. |