DARPA Project Using LLVM For Better Code Security

Posted by Michael Larabel on December 02, 2012

A software research project being funded by the United States' Defense Advanced Research Projects Agency (DARPA) with its Cyber Fast Track program is looking at ways for providing a flexible and integrated security infrastructure by using LLVM for dynamic and static security tasks.

For the past few weeks I have been sharing some of the interesting slides from last month's LLVM Developers' Meeting in San Jose, California. Among the interesting technical sessions covered so far were on ThreadSanitizer and MemorySanitizer, how Google treats Clang compiler errors, the state of 64-bit ARM, Clang analyzing code comments to auto-generate documentation, LLVM/Clang being ported to a super computer, and Intel's Shevlin Park project that uses LLVM/Clang to make Microsoft's C++ AMP framework cross-platform. There's one more interesting presentation that may interest many Phoronix readers and the slides for that session were recently uploaded.

Jared Carlson of GoToTheBoard has been involved with a research project being financed by DARPA, a division of the US Department of Defense. The talk comes down to leveraging LLVM and LLDB (the LLVM debugger) for dynamic and static security tasks. "The talk discusses incorporating both static and dynamic analysis techniques by using LLVM and LLDB components and that these can easily be integrated back into LLVM development workflow. These tools will help find exploitable bugs within the llvm development environment, illustrate their consequences and are customizable and easily shared within the community. Funded by DARPA as a Cyber Fast Track effort, we are currently incorporating LLDB and other open source python libraries along with re-written static analysis scripts so that the tools can be easily integrated and altered into a workflow...The talk will discuss how we use the tools to investigate bug severity, utilize artificial intelligence techniques to predispose fuzzing, draw conclusions, and utilize the LLVM technology quite to target various architectures if desired."

Project goals for the US government were to create a tool to find exploitable bugs within a "normal" environment, illustrate consequences of these bugs, educate and interact wit hthe developer, and allow for community improvement and sharing. The areas then covered in the presentation were on static analysis, function graph, data dependency, hypothesis engine, and the fuzzer.

An alpha version of this project was delivered to DARPA in September. A beta version was to be delivered around the end of November. After the project has finished, the plan is to release the code to the open-source community which should happen any day now -- the presentation states the release aim as "early December or thereabouts."

For those wanting to learn more about this LLVM research project, see the 41 PDF slides.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. Mir's GPLv3 License Is Now Raising Concerns
  2. NVIDIA Driver Soon Likely To Support EGL, Mir
  3. OpenMandriva Goes Into Alpha Form, Russian-Based
  4. NVIDIA Brings Their Linux Driver To ARM
  5. D Language Still Showing Promise, Advancements
  6. Planetary Annihilation Released For Linux Gamers
  7. Gentoo Starts Work On KDE-Wayland Support
  8. NVIDIA To License Its Kepler GPU Technology
  9. KDE's KWin Made Lots Of Progress In 4.11
  10. Ubuntu Announces Carrier Advisory Group
  11. Qt 5.1 Release Candidate 1 Has Arrived
Latest Forum Talk
  1. VP9 Codec Now Enabled By Default In Chrome
  2. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. Mir's GPLv3 License Is Now Raising Concerns
  5. NVIDIA Driver Soon Likely To Support EGL, Mir
  6. NVIDIA Brings Their Linux Driver To ARM
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite