Initial Analysis of Underhanded Source Code
6y ago
Source
dwheeler.comInitial Analysis of Underhanded Source Codedwheeler.comAnnouncing - a newly-available security paper I wrote! It’s titled “Initial Analysis of Underhanded Source Code” (by David A. Wheeler, IDA Document D-13166, April 2020) . Here’s what it’s about, from its executive summary: “It is possible to develop software source code that appears benign to human review but is actually malicious. In various competitions, such as the Obfuscated V Contest and Underhanded C Contest, software developers have demonstrated that it is possible to solve a data processing problem “with covert malicious behavior [in the] source code [that] easily passes visual inspection.” This is not merely an academic concern; in 2003, an attacker attempted to subvert the widely used Linux kernel by inserting underhanded software (this attack inserted code that used = instead of ==, an easily missed, one-character difference). This paper provides a brief initial look at underhanded source code, with the intent to eventually help develop countermeasures against it. … This initial work suggests that countering underhanded code is not an impossible task; it appears that a relatively small set of simple countermeasures can significantly reduce the risk from underhanded code. I recommend examining more samples, identifying a recommended set of underhanded code countermeasures, and applying countermeasures in situations where countering underhanded code is important and the benefits exceed their costs.” In my experience there are usually ways to reduce security risks, once you know about them. This is another case in point; once you know that this is a potential attack, there are a variety of ways to reduce their effectiveness. I don’t think this is the last word at all on this topic, but I hope it can be immediately applied and that others can build on it. This was the last paper I wrote when I worked at IDA (I now work at the Linux Foundation). My thanks to IDA for releasing it! My special thanks go to Margaret Myers, Torrance Gloss, and Reginald N. Meeson, Jr., who all worked to make this paper possible. So if you’re interested in the topic, you can view the Landing page for IDA Document D-13166 or go directly to the PDF for IDA DOcument D-13166, “Initial Analysis of Underhanded Source Code” . (If that doesn’t work, use this Perma.cc link to paper D-13166 .) Enjoy!
You might also wanna read
Analysis of Human Factors in 125,000 Linux Kernel Vulnerabilities: Who Writes Bugs and When
This article analyzes 125,000 Linux kernel vulnerabilities to understand the human factors behind bug introduction. It examines who writes b
Memory Safe Languages: Reducing Vulnerabilities in Modern Software Development [pdf]
media.defense.gov·1y ago
Constant-time support coming to LLVM: Protecting cryptographic code
blog.trailofbits.com·7mo ago
Systematic Analysis Reveals Widespread Information Leakage in Preprint Archives
This research paper presents a systematic security analysis of preprint archives like arXiv, revealing significant information leakage risks
LLVM Adds Constant-Time Support for Protecting Cryptographic Code
blog.trailofbits.com·7mo ago
LLMs Detect Vulnerabilities by Recognizing Safe Code Patterns, Not Vulnerable Ones, Study Finds
This research paper uses mechanistic interpretability to analyze how LLMs (specifically Gemma-2-2b) detect software vulnerabilities in C/C++

Comments
Sign in to join the conversation.
No comments yet. Be the first.