Cok D.R.,GrammaTech, Inc.
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
The Java Modeling Language is a widely used specification language for Java. However, the tool support has not kept pace with advances in the Java language. This paper describes OpenJML, an implementation of JML tools built by extending the OpenJDK Java tool set. OpenJDK has a readily extendible architecture, though its details could be revised to further facilitate extension. The result is a suite of JML tools for Java 7 that provides static analysis, specification documentation, and runtime checking, an API that is used for other tools, uses Eclipse as an IDE, and can be extended for further research. In addition, OpenJML can leverage the community effort devoted to OpenJDK. © 2011 Springer-Verlag. Source
Anderson P.,GrammaTech, Inc.
IEEE Security and Privacy
For optimum success, static-analysis tools must balance the ability to find important defects against the risk of false positive reports. A human must interpret each reported warning to determine if any action is warranted, and the criteria for judging warnings can vary significantly depending on the analyst's role, the security risk, the nature of the defect, the deployment environment, and many other factors. These considerations mean that it can be difficult to compare tools with different characteristics, or even to arrive at the optimal way to configure a single tool. This article presents a model for computing the value of using a static-analysis tool. Given inputs such as engineering effort, the cost of an exploited security vulnerability, and some easily measured tool properties, the model lets users make rational decisions about how best to deploy static analysis. © 2003-2012 IEEE. Source
Agency: Department of Homeland Security | Branch: | Program: SBIR | Phase: Phase I | Award Amount: 100.00K | Year: 2014
Modern civilization relies on a network of embedded devices that are (i) riddled with security vulnerabilities and (ii) remotely hackable. Unfortunately, there seems to be near universal neglect for ensuring the security of these devices. Moreover, the existing IT solutions, such as antivirus software and intrusion-detection systems, do not provide substantial benefits for protection of embedded systems. To address this problem, we propose GenPatcher, a fully automated end-to-end solution for securing embedded-systems software. GenPatcher will integrate (i) GrammaTech's ongoing research on vulnerability discovery and patch evaluation with (ii) recent breakthroughs in genetic program repair. The key advantage of GenPatcher is that it will be able to operate completely autonomously, without requiring human interaction. Thus we expect GenPatcher to significantly reduce the costs of vetting and deploying critical software. GenPatcher will operate directly on software binaries, even in the absence of source code, and thus, will protect equally well newly developed software, third-party codes, and legacy software. We will build GenPatcher to be easily retargetable to different instruction sets to accommodate a variety of platforms employed in the embedded systems domain.
Agency: Department of Defense | Branch: Army | Program: SBIR | Phase: Phase I | Award Amount: 150.00K | Year: 2015
Fuzzing techniques will often produce a large enough number of crashing inputs for the program under test that it is important to prioritize them in terms of impact; one natural axis of a bugs impact is whether it can be used in a security exploit. Determining whether a crash is exploitable however is a complex and multi-layered problem. GrammaTech proposes the Chase project, a tool suite for automatically triaging crashes reported in a program depending on the degree to which a crash appears indicative of an exploitable security vulnerability. In the long term, Chase will combine information about the crash itself, analyses to determine what data values are particularly important, computations of how much influence the attacker has over those important values (i.e., channel capacity), fault localization techniques, static analysis for proving unexploitability, taint analysis, automatic exploit generation, and domain-specific knowledge about exploitability. Chase will analyze a stripped binary in the context of a particular crashing input, compute or record the above information, and produce an estimate of the likelihood that the bug is exploitable. Users of Chase can use the results to help prioritize which crashes deserve particular attention.
Agency: Department of Defense | Branch: Air Force | Program: SBIR | Phase: Phase I | Award Amount: 150.00K | Year: 2015
ABSTRACT:Trusted platform module(TPM) devices provide the core root of trust for modern computer systems. These devices are used for secure, trusted, and measured boot approaches as well as to secure data for user applications such as Microsoft's Bitlocker technology. However, more and more systems are now virtualized in the cloud. Currently hypervisor technologies either do not provide guests with the needed TPM functionality, or provide a limited and insecure virtual TPM approach. GrammaTech proposes the development of a secured virtual TPM server technology, which can be leveraged by all hypervisor systems to provide guests with virtual TPM instances. The approach will leverage hardware enforced isolation mechanisms and the physical TPM of the system to ensure guests have exclusive access to an assigned virtual TPM. In addition, by creating an interface for QEMU, many common hypervisors will be immediately able to leverage the technology. During this development, GrammaTech will be seeking to combine this technology with both existing hypervisors and GrammaTech's own secure hypervisor technology. Our approach has the advantage of the flexibility to be applied anywhere, while providing a new level of security to the virtual TPM.BENEFIT:GrammaTech will provide a virtual TPM server technology be added to most virtualization systems. The benefits of our approach are adaptability and security. The developed technology will be applied to both existing hypervisor solutions and GrammaTech's secure hypervisor solution to provide additionally security capabilities guests of cloud systems. This will enable new security measures to be taken to protect guest systems including secure boot and measured root of trust for users of cloud technology.