Lunduke
News • Science & Tech
The creator of UNIX built a Trojan Horse which let him log in to any UNIX machine.
And nobody knew about it for years.
May 05, 2024
post photo preview

Back in 1984, the Association for Computing Machinery presented Ken Thompson with a “Turing Award” for his many contributions to the world of computing.

And for good reason.

Ken worked on Multics, co-created UNIX, created multiple programming languages (Bon and B — which directly led to C), co-created the Plan 9 operating system, UTF-8, and on and on.  If anyone deserves an award for advancing computing... it's Ken Thompson.

But we’re not here today to talk about those extraordinary contributions to computing.

No, sir.

We’re here to talk… about his acceptance speech.

Because that speech revealed a truly fascinatin computer virus that Thompson had created years earlier… for the C compiler.  One which gave him a backdoor into UNIX itself.

The Speech

He titled his speech “Reflections on Trusting Trust”, and the basic premise is this:

“To what extent should one trust a statement that a program is free of Trojan horses? Perhaps it is more important to trust the people who wrote the software.”

To prove his point, Ken told the tale of how he had — years earlier — created what was, essentially, a computer virus that infected the C compiler (cc) and the UNIX login program.

Seriously.

This is real.

Ken could gain control of most UNIX systems

It worked, essentially, like this:

Ken modified cc (the C compiler on UNIX systems) so that — only when it was compiling UNIX’s “login” program — it would inject a small “backdoor” (into “login”) that would allow him to log in as any user on the system if he used a predefined “password”.

Which is, obviously, a pretty big security hole.

However…

That sort of "universall password" code would be likely to be found during even a rudimentary code review of the C compiler. Or, heck, even by any casual programmer who happened upon that section of the code.

What Ken did next was… devious.

Hiding his UNIX backdoor

He needed to make sure that, should anyone find his nefarious code in “cc”… that his backdoor would live on.

So he then added functionality to “cc” so that it would detect if it was compiling itself (because the C compiler was compiled… in the C compiler)… and insert code into the compiler that would add… itself.

Which means…

Even if the source code is removed from “cc” project… the code (for adding both the login backdoor and the “keep adding this to the C compiler” bits) would get “invisibly” injected into “cc” every time it got compiled by an already infected build of the compiler.

So… as long as there was an unbroken chain of using the C compiler from that point onward, the UNIX login backdoor was unlikely to be effectively removed.

Brutal.

According to Thompson:

“The actual bug I planted in the compiler would match code in the UNIX "login" command. The replacement code would miscompile the login command so that it would accept either the intended encrypted password or a particular known password. Thus if this code were installed in binary and the binary were used to compile the login command, I could log into that system as any user.”

The Moral of the story

As Ken Thompson put it…

“The moral is obvious. You can't trust code that you did not totally create yourself. (Especially code from companies that employ people like me.) No amount of source-level verification or scrutiny will protect you from using untrusted code. In demonstrating the possibility of this kind of attack, I picked on the C compiler. I could have picked on any program-handling program such as an assembler, a loader, or even hardware microcode. As the level of program gets lower, these bugs will be harder and harder to detect. A well installed microcode bug will be almost impossible to detect.”

Did this make it out into the wild?

I know what you're thinking.  "Is this code still out there?  How many systems were impacted by this?"

What we know: This bit of naughty code was released to at least one machine (used by a UNIX support group). This has been confirmed by Ken, himself.

However, it is believed that the code went no further than that machine.

But... do we know for sure?

Do we actually have a high level of confidence that the modified “cc” and “login” went no further than that support group UNIX box?

No. No, we do not.

In fact, according to Eric S. Raymond

“[I have] heard two separate reports that suggest that the crocked login did make it out of Bell Labs, notably to BBN, and that it enabled at least one late-night login across the network by someone using the login name “kt”.”

BBN.  That's Raytheon.  A critical DARPA researcher -- one which was instrumental in the early days of ARPANET.  A huge amount of software came out of BBN.  Heck, even the first Text Adventure game came from there.

If UNIX machines at Raytheon BBN were infected... the possibility of infected versions of those files making it to other sites is incredibly high.

Truly wild

Which leads to a (rather amusing, and mildly terrifying) bit of historical trivia:

Ken Thompson — one of the co-creators of UNIX — intentionally created a trojan horse that infected both the C compiler and the “login” program of UNIX systems.

What’s more… it went undetected for years.  We wouldn't even have known about it, if he hadn't told us he created it.

And we truly have no clue how widespread that trojan became.

community logo
Join the Lunduke Community
To read more articles like this, sign up and join my community today
22
What else you may like…
Videos
Podcasts
Posts
Articles
Operating System Age Verification Bill Signed Into Law in Illinois

HB-5511, which will require Age data collection on all Operating Systems (including Linux, FreeBSD, and others), was signed by Governor Pritzker.

More from The Lunduke Journal:
https://lunduke.com/

00:20:26
Woke Politics Control Open Source

Not user needs. Not technical requirements. Engineering decisions are now made by woke politics. This is not surprising, as Open Source orgs shift from software to political activism.

More from The Lunduke Journal:
https://lunduke.com/

00:30:06
Linux Hits 10% Market Share?!

According to Statcounter, Desktop Linux is at 10.65% market share in North America. Cloudflare numbers are similar. But Steam disagrees.

More from The Lunduke Journal:
https://lunduke.com/

00:11:46
November 22, 2023
The futility of Ad-Blockers

Ads are filling the entirety of the Web -- websites, podcasts, YouTube videos, etc. -- at an increasing rate. Prices for those ad placements are plummeting. Consumers are desperate to use ad-blockers to make the web palatable. Google (and others) are desperate to break and block ad-blockers. All of which results in... more ads and lower pay for creators.

It's a fascinatingly annoying cycle. And there's only one viable way out of it.

Looking for the Podcast RSS feed or other links? Check here:
https://lunduke.locals.com/post/4619051/lunduke-journal-link-central-tm

Give the gift of The Lunduke Journal:
https://lunduke.locals.com/post/4898317/give-the-gift-of-the-lunduke-journal

The futility of Ad-Blockers
November 21, 2023
openSUSE says "No Lunduke allowed!"

Those in power with openSUSE make it clear they will not allow me anywhere near anything related to the openSUSE project. Ever. For any reason.

Well, that settles that, then! Guess I won't be contributing to openSUSE! 🤣

Looking for the Podcast RSS feed or other links?
https://lunduke.locals.com/post/4619051/lunduke-journal-link-central-tm

Give the gift of The Lunduke Journal:
https://lunduke.locals.com/post/4898317/give-the-gift-of-the-lunduke-journal

openSUSE says "No Lunduke allowed!"
September 13, 2023
"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044

This episode is free for all to enjoy and share.

Be sure to subscribe here at Lunduke.Locals.com to get all shows & articles (including interviews with other amazing nerds).

"Andreas Kling creator of Serenity OS & Ladybird Web Browser" - Lunduke’s Big Tech Show - September 13th, 2023 - Ep 044
3 hours ago

How the ‘Nostradamus of AI’ Got It Wrong - The Journal. - WSJ Podcasts
https://www.wsj.com/podcasts/the-journal/how-the-nostradamus-of-ai-got-it-wrong/2f2bbadb-e992-4680-a89c-919f7647cfda

The "Smartest Guys in the Room", 2026 edition. And it's just the beginning.

7 hours ago

Say it isn't so!!

August 04, 2026

Lee’s Move to Linux Full Time

Psyche, not giving up my Mac laptops, but since I’m doing so much work on my AI Employee Factory and all I’m building runs on my Linux machine, I’m reversing my “I bought a M5 Mac Air with 32Gig ram to be my main dev machine”. I am creating AI Employees that have jobs and run all day and night from my Linux box. Hella cool. More on those over time.

Too late, I already bought the Mac. But my M2 Air would have been sufficient.

I started with Syncthing and set the M4 Mac mini has my hub, and 2 laptops, a windows machine and my linux box to sync my /projects dir back and forth to the hub. It worked when I wasn’t hard core developing and running on the Linux box. It was nice to pick up any of my machines and work on any project. But I started throwing consistent Syncthing errors.

Then I started ssh’ing into Linux and running claude code and code via command line. Which works nicely, but if I close my laptop, long running processes end.

I added Zellij (a...

Lunduke Lifetime Discount Ends in 1 Day; Zelda, Larry, SQ, & Keen Walls Available

TL;DR: Lifetime Subscription discount ends in one day. There are currently 4 “Lifetime Walls” with space available for more names (the Oregon Trail Wall is now full).

We’ve been running a massive discount on Lunduke Journal Lifetime Subscriptions for the entire months of June and July. And it has been an absolute blast. There are now 21 (twenty-one!) retro computer walls overflowing with your names.

Pure insanity. Huge thank you to everyone who has supported The Lunduke Journal.

But the discounted price only runs through July 31st… and that moment is just about here.

When the calendar ticks over into August (just a hair over 24 hours from now), the Lunduke Journal Lifetime Subscription price goes back to normal.

  • If the calendar still says it’s July, the Lifetime price is still discounted to $125.

  • If the calendar says August… the price returns to $300.

There are, as of this exact moment, 4 retro game themed “Lifetime Walls” which still have some space for more names (check Lunduke.com for the full list):

  1. Legend of Zelda

  2. Commander Keen 4

  3. Space Quest 4

  4. Leisure Suit Larry

Grab a discounted Lifetime Subscription (scroll down for the details), then email Lunduke (bryan at lunduke.com) with which Wall you’d like to appear on.

 

First come, first served. Once a Wall is full, it’s full. So if there’s a specific Wall you’d like to be on, don’t dilly dally.

How to Grab a Discounted Lifetime Subscription:

There are 3 different ways to pick up a Lunduke Journal Lifetime sub. All of them work great. Choose whichever works best for you!

Remember: These discounted prices go back up to normal ($300) on August 1st.

Get a Lifetime Subscription via Locals:

  1. Go to Lunduke.Locals.com/support.

  2. Select “Give Once“.

  3. Enter “125“ into the amount field.

  4. After checking out, Lunduke will toss you an email once your account is set to full lifetime status. (This usually happens within a few hours.)

Get a Lifetime Subscription via Substack:

  1. Go to Lunduke.Substack.com/subscribe.

  2. Select the “Lifetime Subscription” option.

  3. After checking out, Lunduke will toss you an email once your account is set to full lifetime status. (This usually happens within a few hours.)

If you would also like full, Lifetime access to Lunduke.Locals.com (which is included):

  1. Make a free account on Lunduke.Locals.com.

  2. Email “bryan at lunduke.com” with the email address you use on both Substack and Locals (can be different email addresses).

  3. Lunduke will toss you an email once your account is set to full lifetime status on Locals.

Get a Lifetime Subscription with Bitcoin:

Bonus: Save an extra $10 with the Bitcoin option, as Bitcoin processing has fewer fees associated with it.

bc1qyjakve8fywm8pz2v99v57yhjj0vzr2vjze6fcq

  • Email “bryan at lunduke.com” with the following information: What time you made the transaction, how much was sent (in Bitcoin), and the email address you use (or plan to use) on Locals.com or Substack.com.

-Lunduke

Read full Article
post photo preview
Oregon Trail, Keen, & Leisure Suit Larry Lifetime Walls

Holy frijoles! There are now 20 (twenty!) Lifetime Subscriber Walls, filled with the names of roughly one bazillion Lunduke Journal supporters.

Just amazing.

Two super quick updates:

  1. The “Desqview/X”, “NeXTSetp”, & “TRS-80 Model 100” Walls are now full! (Check them out on Lunduke.com and at the end of new shows.)

  2. There are 3 new Walls available to put your John Hancock on… and, just for kicks, these ones aren’t from Classic Operating Systems… they’re Classic Games:

    1. Oregon Trail

    2. Commander Keen 4

    3. Leisure Suit Larry

 

I don’t expect space on these Walls to last long. First come first served.

A huge thank you to all of The Lunduke Journal subscribers. Your support is deeply appreciated. You make this possible.

-Lunduke

Read full Article
post photo preview
TRS-80 Model 100 joins The Lunduke Journal Lifetime Wall party!

Buckle up, Buttercup. Because The Lunduke Journal is about to blow your mind.

  1. The “BeOS” Wall Lifetime Subscriber Wall is now full (see all of them on Lunduke.com)!

  2. We’ve added a new “TRS-80 Model 100” Wall (because we can)! That’s the 19th Lifetime Subscriber Wall! 19!

  3. The discounted Lifetime Lunduke Journal Subscriptions are still available through to the end of this month (July).

Which means there are, as of this exact moment, 4 Walls with space available (see Lunduke.com for the full list of Walls). But these fill up wicked fast.

  1. Emacs (only a few spots left)

  2. Desqview/X (a little less than 2/3rd’s full)

  3. NeXTStep (still plenty of space)

  4. TRS-80 Model 100 (just launched)

 

Nice, right?

Worth noting: The “TRS-80 Model 100” has very limited screen resolution (240 x 64), which means only a small number of names can fit on that wall. If you want on it, I’d let me know right away.

Grab a discounted Lifetime Subscription (if you don’t already have one), then let me know (email “bryan at lunduke.com”) which Wall you’d like to see your name on.

Huge high five to everyone who has already added their name to a Wall. At the current rate, we’ll have over 20 retro computer themed walls, filled with all of your names, by the end of the month.

And, doggone it, that’s amazing.

-Lunduke

Read full Article
See More
Available on mobile and TV devices
google store google store app store app store
google store google store app tv store app tv store amazon store amazon store roku store roku store
Powered by Locals