Bonum Certa Men Certa

Linux Backdoors Revisited (New Revelations and Old Revelations)

Claude Elwood Shannon, the man who introduced entropy

Claude Elwood Shannon



Summary: An anonymous backdooring attempt against Linux goes a decade back, but a randomisation problem in today's Linux also seems possible (subverting encryption)

Jonathan Allen wrote this article about an incident mentioned also by Freedom to Tinker. Slashdot's summary goes like this, documenting news from one decade ago:



"Ed Felton writes about an incident, in 2003, in which someone tried to backdoor the Linux kernel. Back in 2003 Linux used BitKeeper to store the master copy of the Linux source code. If a developer wanted to propose a modification to the Linux code, they would submit their proposed change, and it would go through an organized approval process to decide whether the change would be accepted into the master code. But some people didn't like BitKeeper, so a second copy of the source code was kept in CVS. On November 5, 2003, Larry McAvoy noticed that there was a code change in the CVS copy that did not have a pointer to a record of approval. Investigation showed that the change had never been approved and, stranger yet, that this change did not appear in the primary BitKeeper repository at all. Further investigation determined that someone had apparently broken in electronically to the CVS server and inserted a small change to wait4: 'if ((options == (__WCLONE|__WALL)) && (current->uid = 0)) ...' A casual reading makes it look like innocuous error-checking code, but a careful reader would notice that, near the end of the first line, it said '= 0' rather than '== 0' so the effect of this code is to give root privileges to any piece of software that called wait4 in a particular way that is supposed to be invalid. In other words it's a classic backdoor. We don't know who it was that made the attempt—and we probably never will. But the attempt didn't work, because the Linux team was careful enough to notice that that this code was in the CVS repository without having gone through the normal approval process. 'Could this have been an NSA attack? Maybe. But there were many others who had the skill and motivation to carry out this attack,' writes Felton. 'Unless somebody confesses, or a smoking-gun document turns up, we'll never know.'"


Backdoors in Linux are a subject for jokes in Torvalds' mind, but given the above we should take this subject very seriously. In any system, for example, having no mechanism for randomness (like in some embedded devices) typically means that strong encryption (with high entropy) is not possible. Given new alleged "insecurities in the Linux /dev/random," as Bruce Schneier put it, Linux backdoors seem possible again. David Benfell said:

I'm guessing Schneier knows what the fuck he's talking about. If it is the same vulnerability, then Torvalds' defense is that the vulnerable source of entropy is only one of many. But if I read Schneier correctly, the result was still too predictable.


"On the other hand," says Benfell, "here's Theodore T'so from the comments:"

So I'm the maintainer for Linux's /dev/random driver. I've only had a chance to look at the paper very quickly, and I will at it more closely when I have more time, but what the authors of this paper seem to be worried about is not even close to the top of my list in terms of things I'm worried about.

First of all, the paper is incorrect in some minor details; the most significant error is its (untrue) claim that we stop gathering entropy when the entropy estimate for a given entropy pool is "full". Before July 2012, we went into a trickle mode where we only took in 1 in 096 values. Since then, the main way that we gather entropy, which is via add_interrupt_randomness(), has no such limit. This means that we will continue to collect entropy even if the input pool is apparently "full".

This is critical, because *secondly* their hypothetical attacks presume certain input distributions which have an incorrect entropy estimate ---| that is, either zero actual entropy but a high entropy estimate, or a high entropy, but a low entropy estimate. There has been no attempt by the paper's authors to determine whether the entropy gathered by Linux meets either of their hypothetical models, and in fact in the "Linux Pseudorandom Number Generator Revisited"[1], the analysis showed that our entropy estimator was actually pretty good, given the real-life inputs that we are able to obtain from an actual running Linux system.

[1]http://eprint.iacr.org/2012/251.pdf

The main thing which I am much more worried about is that on various embedded systems, which do not have a fine-grained clock, and which is reading from flash which has a much more deterministic timing for their operations, is that when userspace tries to generate long-term public keys immediately after the machine is taken out of the box and plugged in, that there isn't a sufficient amount of entropy, and since most userspace applications use /dev/urandom since they don't want to block, that they end up with keys that aren't very random. We had some really serious problems with this, which was written up in the "Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices" [2]paper, and the changes made in July 2012 were specifically designed to address these worries.

[2]https://www.factorable.net/paper.html

However, it may be that on certain systems, in particular ARM and MIPS based systems, where a long-term public key is generated very shortly after the first power-on, that there's enough randomness that the techniques used in [2]would not find any problems, but that might be not enough randomness to prevent our friends in Fort Meade from being able to brute force guess the possible public-private key pairs.

Speaking more generally, I'm a bit dubious about academic analysis which are primarily worried about recovering from the exposure of the state of the random pool. In practice, if the bad guy can grab the state of random pool, they probably have enough privileged access that they can do many more entertaining things, such as grabbing the user's passphrase or their long-term private key. Trying to preserve the amount of entropy in the pool, and making sure that we can extract as much uncertainty from the system as possible, are much higher priority things to worry about.

That's not to say that I might not make changes to /dev/random in reaction to academic analysis; I've made changes in reaction to [2], and I have changes queued for the next major kernel release up to make some changes to address concerns raised in [1]. However, protection against artificially constructed attacks is not the only thing which I am worried about. Things like making sure we have adequate entropy collection on all platforms, especially embedded ones, and adding some conservatism just in case SHA isn't a perfect random function are some of the other things which I am trying to balance as we make changes to /dev/random.


T'so, who is the former CTO of the Linux Foundation, at least acknowledges the possibility that there is a real issue here.

Recent Techrights' Posts

If GNU/Linux Rising is Just "Bots" (It's Not, Many Surveys Show the Same), Why Does Microsoft Rush to Lie About System Requirements of Vista 11?
The real reason is, GNU/Linux is rising
 
IBM's "Next Step" Program
Apparently close to 1,000 people being laid off by IBM wasn't worth reporting
XBox is Rotting Away, Technical Issues for Second Time in Two Weeks
XBox is dying
Gemini Links 098/08/2026: Meatballs (1979), Gopher, RSS Experiment
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, August 08, 2026
IRC logs for Saturday, August 08, 2026
Red Hat is in Need of a 'Jolla', as an IBM-Controlled Red Hat is Becoming Like the Microsoft-Infiltrated Nokia
Dying fast, partly by design
Gemini Links 08/08/2026: Gigs, Poems, SREs, and Shared Passion
Links for the day
Kompromat Tactics in GNU and Linux
Kompromat as a concept was covered here in the past in relation to Microsoft
SLAPP Censorship - Part 143 Out of 200: After Nearly 10 Attempts to Settle With Us and Over a Million Pounds Spent on Lawyers and Barristers
We are in no particular hurry
20 Years and 43 Years
GNU/Linux is not just code, it's a philosophy, licence (copyleft), and community
GNU/Linux Turns 43 Next Month, Many Distros Actively Maintained
A lot of Debian-based distros are still actively maintained (we talk about this in IRC this evening), so the stability of the Debian Project is important
Links 08/08/2026: GAFAM Colonialism "Paved Over Protected Wetlands", Slop Companies Hoard Software Patents as Debt Soars to Trillions
Links for the day
Links 08/08/2026: "Palantir Paid No Federal Income Tax" and "Who's Responsible for This Mess?"
Links for the day
Retained: The Time IBM's Red Hat Tried to Hijack or Take Offline Site of Critics, Failed on All Grounds (Meritless Action Intended to Harass Critics)
Replicated from adrforum.com
IBM's 'Final Solution': Censor Sites Not Controlled by IBM, Sites Where Dissent is Expressed
IBM has no culture of free speech
More Mass Layoffs Coming IBM's Way (Ones IBM Cannot Hide, Cannot Convince Enough People to Leave or Unjustifiably PIP Them When They Say No)
The company that was like a "father of modern computing" is now stingy when it comes to travel. Not a good sign.
What Will it Take for Mainstream Media to Report Silent or Secret Layoffs at IBM?
"Silent" or "secret" sometimes because the media won't cover them
Is the Future of IBM Red Hat Temporary Staff, Contractors?
They want cheap, obedient lemmings
Gemini Links 08/08/2026: Tribute to Lloyd Center, Radio Amateurism, Homeworlds
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Friday, August 07, 2026
IRC logs for Friday, August 07, 2026
Microsoft Uses Slop to Find Defects and Then Uses Slop to Replace Code, What Could Go Wrong?
Botspam is the problem, it's not a constructive approach in any shape or form
analytics.usa.gov: GNU/Linux Up Some More This Week
Days ago it said 6.4%, now it's up to 6.8%
RA-pocalypse: IBM Tells Workers "Taking a Hike" is Their "Next Step" ('Voluntary' Layoffs), Now It Prepares to Sack Lots of Contractors
There definitely is something going on
Legal Attacks on Techrights Have Made Techrights More Popular and More Widely Read
The misogynists will have plenty of work to do this summer
Kai Stephens (Barkley Walsh) & British Democrats in Clacton by-election hustings
Reprinted with permission from Daniel Pocock
Daniel Pocock 'Punching' Nazis in the UK
The so-called "cult" of so-called "Debianism" was left with nothing but massive legal bills
SLAPP Censorship - Part 142 Out of 200: GemText is Not a Webpage, Gemini Protocol is Not the Web, and Capsules Are Not Websites
our intention to appeal (escalate to the Court of Appeal)
Microsoft: Our August 2026 Layoffs Are Not Layoffs Because... Reasons
That's like IBM making "spin-offs", then pretending that no layoffs are happening
Links 07/08/2026: UMG and Anthropic in Trouble Over Copyright Infringements Sold as "Training" (Slop)
Links for the day
Links 07/08/2026: "BMW Is Showing Commercials On Their Car's Dash Screens And They Want You To Think It's A Treat", Software Patents on Drones
Links for the day
What We Said About Red Hat's Fate Under IBM Turned Out to be Right on the Money (That IBM Lacks)
There are no layoffs at IBM
IRC Networks Show No Signs of Going Away, IRC Enters Its 39th Year
That IRC daemons are still actively developed and patched in summer of 2026 (over 38 years after IRC was born) says a lot about IRC's importance
Social [Control] Media Needs to Die
I am a bit shocked to recall that I wasted a lot of time on it
Some Malware is Legal Because It's Made and Distributed by Politically-Connected GAFAM
In reality, the security non-experts 'championed' (and salaried) by GAFAM are anti-security people who advocate back doors
The GNU/Linux Anniversary is Next Month, Not This Month
It'll turn 43
At Clacton by-election Hustings Event Daniel Pocock Says "Social [Control] Media Has Contributed to Some of the Anti Social Behaviour."
No doubt many problems in society are caused or at least amplified/accentuated by this horrible phenomenon
IBM Insiders Explain Why IBM is in Very Serious Trouble
Will IBM last long enough for any "quantum" deliverables to become a reality?
The Register MS Took Money From Broadcom to Publish Fake 'News' With "AI" Mentioned 35 Times
not legitimate or authentic journalism.
GNU/Linux Approaching 20% in Georgia (the Country)
Usage of GNU/Linux was near 0%, as measured by statCounter, several years ago
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Thursday, August 06, 2026
IRC logs for Thursday, August 06, 2026
Gemini Links 07/08/2026: Radio Amateurism, Summer Updates, and Programming "Taste"
Links for the day