Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

The Linux Backdoor Attempt of 2003
Freedom to Tinker ^ | 9 October 2013 | Ed Felten

Posted on 10/10/2013 12:25:17 PM PDT by ShadowAce

click here to read article


Navigation: use the links below to view more comments.
first 1-2021-29 next last

1 posted on 10/10/2013 12:25:18 PM PDT by ShadowAce
[ Post Reply | Private Reply | View Replies]

To: rdb3; Calvinist_Dark_Lord; Salo; JosephW; Only1choice____Freedom; amigatec; Still Thinking; ...

2 posted on 10/10/2013 12:25:42 PM PDT by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 1 | View Replies]

To: ShadowAce
China?

/johnny

3 posted on 10/10/2013 12:53:44 PM PDT by JRandomFreeper (Gone Galt)
[ Post Reply | Private Reply | To 1 | View Replies]

To: JRandomFreeper
We'll never know.

But it does show how open source is more secure than closed source.

4 posted on 10/10/2013 1:02:14 PM PDT by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 3 | View Replies]

To: ShadowAce

A very clever backdoor indeed. Good plausible deniability too, since this is such a common typo for C programmers, and one that isn’t even caught by syntax checkers, since it is still perfectly valid syntax. If they ever did track down who inserted it, they couldn’t prove that someone didn’t just “goof up” and forget the second equal sign.


5 posted on 10/10/2013 1:02:57 PM PDT by Boogieman
[ Post Reply | Private Reply | To 1 | View Replies]

To: ShadowAce

“But it does show how open source is more secure than closed source.”

Yes, in one way it is. In another way, it isn’t.

If a flaw does get past the many eyes of the open source community, into the code, then it sits there waiting for anyone to notice it and exploit it. With closed source, such a flaw would need to be found more by trial and error.


6 posted on 10/10/2013 1:05:15 PM PDT by Boogieman
[ Post Reply | Private Reply | To 4 | View Replies]

To: ShadowAce

Yep. I looked right at it and didn’t see it. BTT


7 posted on 10/10/2013 1:06:57 PM PDT by Billthedrill
[ Post Reply | Private Reply | To 1 | View Replies]

To: JRandomFreeper
"China?"

The PRC, Russia, NSA, a private group of would be hackers etc.
Lots of suspects here.

8 posted on 10/10/2013 1:07:44 PM PDT by StormEye
[ Post Reply | Private Reply | To 3 | View Replies]

To: ShadowAce
Yep. Back in the day when I was actually contributing, I was VERY narrow in my focus, just a few hundred lines of code. It makes it easy to see something out of place.

/johnny

9 posted on 10/10/2013 1:15:25 PM PDT by JRandomFreeper (Gone Galt)
[ Post Reply | Private Reply | To 4 | View Replies]

To: Boogieman
At least in the open source community it gets noticed and fixed, not papered over.

/johnny

10 posted on 10/10/2013 1:16:37 PM PDT by JRandomFreeper (Gone Galt)
[ Post Reply | Private Reply | To 6 | View Replies]

To: JRandomFreeper

True, you just have to hope the first one to notice it is someone with scruples :)


11 posted on 10/10/2013 1:27:03 PM PDT by Boogieman
[ Post Reply | Private Reply | To 10 | View Replies]

To: Boogieman
A very clever backdoor indeed. Good plausible deniability too, since this is such a common typo for C programmers, and one that isn’t even caught by syntax checkers, since it is still perfectly valid syntax.

Yes, it's actually a C idiom. E.g., to process the contents of a file:

while (bytes_read = read(buffer)) {
    // Work with buffer
}
// ... Dropped out of read loop because zero bytes were read

Commonly used compilers can be set to warn when the above is used, requiring it to be changed to:

while ((bytes_read = read(buffer)) != 0) {
    // Work with buffer
}
// ... Dropped out of read loop because zero bytes were read

to avoid the warning. Of course, the assignment still takes place whether the target is bytes_read or current->uid.

12 posted on 10/10/2013 1:27:21 PM PDT by cynwoody
[ Post Reply | Private Reply | To 5 | View Replies]

To: Boogieman
It eventually will be.

/johnny

13 posted on 10/10/2013 1:32:04 PM PDT by JRandomFreeper (Gone Galt)
[ Post Reply | Private Reply | To 11 | View Replies]

To: ShadowAce

someone should have tested it with the __WCLONE option at least once to see if it returned -EINVAL

was it caught by unit testing? if not, it should have been

could have been sloppy code. that wouldn’t surprise me. better hacks involve pts to functions buried in hex tables of object code


14 posted on 10/10/2013 1:39:38 PM PDT by sten (fighting tyranny never goes out of style)
[ Post Reply | Private Reply | To 1 | View Replies]

To: sten
As the article states, it was caught because it was submitted incorrectly to CVS without any corresponding safeguards.

No need to unit test two lines when you know what those two lines are and can read the code.

15 posted on 10/10/2013 1:50:05 PM PDT by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 14 | View Replies]

To: ShadowAce

The fact that it was slipped in without approval would draw attention to it.

A smart hacker would realize that.

It’s pretty “ambitous” for a hacker to think they can get a backdoor into code that’s reviewed publicly.

If something is going to slip through, it would have to be very subtle, most certainly involving the interaction between different parts of the system, and these would be probably be maintained by different people.

There was not any sophistication to this attempt.

IMHO, it was either very halfhearted, sort of just poking around, or attempted by someone who’s rather half-witted.

Much more effective hacking would be to not try to put an explicit backdoor into Linux itself but to hack one machine at a time the old fashioned way, using the tools available and inherent weaknesses they imply.

Of course, once an individual computer is compromised, malware can be used for all sorts of things.

Linux, for example, as things like tcpdump that root can use to grab any or all network traffic using only a script, not even compiled programs.


16 posted on 10/10/2013 2:10:13 PM PDT by PieterCasparzen (We have to fix things ourselves)
[ Post Reply | Private Reply | To 1 | View Replies]

To: cynwoody

Yeah, that can be a handy way to save typing another line of code, when it’s used intentionally. Unintentionally, it can cause you to pull your hair out trying to debug :)


17 posted on 10/10/2013 2:27:29 PM PDT by Boogieman
[ Post Reply | Private Reply | To 12 | View Replies]

To: sten

“could have been sloppy code. that wouldn’t surprise me. better hacks involve pts to functions buried in hex tables of object code”

Yeah, but I think that’s exactly what makes this a good hack, in a way. It COULD just be sloppy code. And sloppy code can slip past a lot of eyes, sometimes.


18 posted on 10/10/2013 2:29:26 PM PDT by Boogieman
[ Post Reply | Private Reply | To 14 | View Replies]

To: ShadowAce

Possibly one of the most interesting articles I’ve ever read on FR! I wonder what Linus would say about this.


19 posted on 10/10/2013 3:15:43 PM PDT by 2 Kool 2 Be 4-Gotten
[ Post Reply | Private Reply | To 1 | View Replies]

To: sten

someone should have tested it with the __WCLONE option at least once to see if it returned -EINVAL


if ((options == (__WCLONE|__WALL))


Actually it wouldn’t - the code is written to only return that value
if BOTH flags were set AND ONLY both flags were set. The bitwise
OR and the equality test results in an AND semantic.

Whether this itself makes sense (i.e. to only take the conditional if both
flags are set) or it this would tend to be something with some more
devious intent - I don’t have enough knowledge to say.


20 posted on 10/10/2013 3:20:43 PM PDT by 2 Kool 2 Be 4-Gotten
[ Post Reply | Private Reply | To 14 | View Replies]


Navigation: use the links below to view more comments.
first 1-2021-29 next last

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson