Slashdot Mirror


Linux Kernel Back-Door Hack Attempt Discovered

An anonymous reader writes "The BitKeeper to CVS gateway was apparently hacked in an attempt to add a root exploit back door to the Linux kernel, according to the linux-kernel archive. The change was in the file kernel/exit.c and changed the user ID of a process to root under the guise of checking the validity of some flags. The core Linux BitKeeper kernel repository was not at risk, and in fact it was the BitKeeper CVS export scripts that detected the unauthorized modifications to CVS. The changes were falsely attributed in CVS to long-time Linux developer davem (David Miller). Users of the BKCVS repository should resync their trees to remove the offending code if they had replicated it since yesterday."

687 comments

  1. Well well by toddhunter · · Score: 4, Insightful

    Good to see the system works. You would wonder what would happen if said hacker was working for a company on a similar closed source program. Would it have been detected?

    1. Re:Well well by Anonymous Coward · · Score: 1, Insightful

      Most likely it would have been detected. We just wouldn't have heard about it.

      Most companies use pretty good CVS-like tools.

    2. Re:Well well by Anonymous Coward · · Score: 0

      Problem is, it wasn't detected in time to keep it from replicating out. Ooops.

    3. Re:Well well by chill · · Score: 5, Interesting

      Good to see the system works. You would wonder what would happen if said hacker was working for a company on a similar closed source program. Would it have been detected?

      You mean like Borland's Interbase? The compiled in backdoor wasn't discovered until after the database opensourced.

      My favorite quote from the advisory is:

      "This vulnerability was not introduced by unauthorized modifications to the original vendor's source. It was introduced by maintainers of the code within Borland. The back door account password cannot be changed using normal operational commands, nor can the account be deleted from existing vulnerable servers [see References]."

      How long was it in there? "These security holes affect all version of InterBase shipped since 1994, on all platforms."

      The advisory dates from 2001 -- you do the math.

      --
      Learning HOW to think is more important than learning WHAT to think.
    4. Re:Well well by blastedtokyo · · Score: 4, Insightful

      Hmmm..but would they have even found the security hole if it hadn't been open sourced?

    5. Re:Well well by Anonymous Coward · · Score: 4, Funny
      You would wonder what would happen if said hacker was working for a company on a similar closed source program. Would it have been detected?


      Well the 12 backdoors I put into the Windows XP kernel haven't been detected yet.

    6. Re:Well well by alannon · · Score: 3, Insightful

      Why is this relevant? The fact that anybody that HAD seen the source code to Interbase could exploit it was enough. This could include ex-employees and contractors. Would you be happy with Microsoft including a back-door to all their software as long as only they knew how to exploit it?

    7. Re:Well well by Narphorium · · Score: 5, Interesting
      Although I see where you're going with this, I think a lot of people might ask whether this shows vulnerability in OSS instead. Sure, you and I appreciate this as a validation of the system but is that really how the media is going to portray it?

      All I'm saying is that I certainly won't be surprised when closed source vendors start using this in their anti-OSS campaigns.

    8. Re:Well well by The+Munger · · Score: 4, Insightful

      Good to see the system works.

      And what if we just haven't discovered the code that got through yet...

      You've got to ask - assume nothing.

      +5, Tin-foil hat.

      --
      Refuse to make a statement in your sig!
    9. Re:Well well by Mr+Europe · · Score: 1

      You don't say that the said hacker IS working for a company on similar closed source program (=unmentioned closed source operating systems) ?! :o

    10. Re:Well well by stephanruby · · Score: 1

      I think the parent was making an argument for open source by saying that the exploit would never have been found if the product had remained proprietary and the people that implemented the back door could have used that back door forever and ever.

    11. Re:Well well by Geek+of+Tech · · Score: 1, Interesting
      > Why is this relevant? The fact that anybody that HAD seen the source code to Interbase could exploit it was enough. This could include ex-employees and contractors. Would you be happy with Microsoft including a back-door to all their software as long as only they knew how to exploit it?

      What?! They don't already? Oh I forgot the Backdoor, uh, I mean DRM isn't due in Windows until Longhorn...

      --
      Stop the Slashdot effect! Don't read the articles!
    12. Re:Well well by Geek+of+Tech · · Score: 3, Insightful
      Well, I guess that means all the closed source developers have the same problem. And I guess they probably don't know either.

      --
      Stop the Slashdot effect! Don't read the articles!
    13. Re:Well well by blair1q · · Score: 4, Interesting

      It was only detected because software found a discrepancy.

      This would happen at any closed-source shop that had the same software.

      No human eyes discovered the problem, and if someone hadn't installed the checks, it might not have been discovered for months or years or ever.

    14. Re:Well well by Jeremiah+Cornelius · · Score: 1
      Who was it?

      NSA, CIA or MOSSAD?

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    15. Re:Well well by Senior+Frac · · Score: 1

      Would it have been detected?

      A better question, assuming it was detected, is:
      Would the consumers at risk have even been told about the attempt?

    16. Re:Well well by Anonymous Coward · · Score: 0

      What?! They don't already?

      Netscape engineers are weenies.

    17. Re:Well well by temojen · · Score: 4, Informative
    18. Re:Well well by danheskett · · Score: 5, Insightful

      Not only that, but imagine this. The hackers (in the real sense, not the TV-movie sense) who write the real low-level stuff that makes various OS's work - for example in Linux people like Alan Cox, Linus, RMS, ESR, davem, and the other regular kernel contributors submit a lot of code. Well, those people dont necessarily but a lot of code is in the kernel.

      Can anyone tell me for 100% certain that between GCC, the kernel, and various compile chain tools there isn't a subtle backdoor that creates an overrun, or a weak key, or anything like that somewhere along the line? Maybe what looks like an innocent bug or flaw or even stylistic change in one source combines with a similiar item in another source to create an exploit or a weak scheme.

      These people - real hackers - are so clever (I mean serously, writing and maintain an OS for fun puts these programmers in the top 1% of all advanced systems programmers) that what is to say that they couldn't dupe everyone even with the source available to all?

      I can imagine a situation where a corrupted/corruptable individual works hard to gain legitimate comitt access to certian tools that are widespread. GCC, the kernel, a shell or two, OpenSSL. That person starts making small changes that when aggregated expose a large exploit but when examined piece-mail are completely benign, or even benficical.

      Does anyone doubt that its technically possible? How could any automated system or person ever discover this? I am a fairly competent programmer in some areas and there have been numerous times that I've had to dissect large pieces of code painstakingly over the course of days or weeks to trace back a nasty bug. Can anyone say that its not possible that this is *already* happening in the OSS world today?

    19. Re:Well well by Johnno74 · · Score: 2, Funny

      Maybe it was someone from SCO, inserting code from UnixWare to give them the 'evidence' they need...

      Has anyone tried sys_wait4(__WCLONE|__WALL) on Unixware? ;)

    20. Re:Well well by Anonymous Coward · · Score: 0

      Great! Now you're complaining that MS shipped features early! :-)

    21. Re:Well well by sartin · · Score: 5, Informative
      what is to say that they couldn't dupe everyone even with the source available to all?

      You mean like this?

    22. Re:Well well by GroovBird · · Score: 0, Redundant

      All the vulnerabilities you mentioned are listed as "patched", one isn't even from Microsoft itself and the first link points to good portion of FUD that already has been demystified years ago. So what's your point?

    23. Re:Well well by stephanruby · · Score: 1
      Who was it? NSA, CIA or MOSSAD?

      My bet would be on some poor schmuck who didn't like his company.

    24. Re:Well well by Anonymous Coward · · Score: 0

      What do you mean by "would they have found it?" They put it there!

    25. Re:Well well by temojen · · Score: 5, Informative

      All of the vulnerabilities I listed made it into official releases before being patched. The bug this story is about didn't make it one day in the source tree, let alone into an official release.

      Sorry about the Protegrity one, I must've linked the wrong one. I was looking for this one (the one exploited by the slammer worm).

    26. Re:Well well by Anonymous Coward · · Score: 1, Funny

      I work for Linus and am therefore posting anonymously. While this was not done on purpose, it was by a sole hacker, and not a decision by Linus. That hacker has since been let go.

    27. Re:Well well by ronaldyang · · Score: 0

      99% of my time spent at work is reading slashdot and adding backdoors / easter eggs to the code base.

    28. Re:Well well by croddy · · Score: 1

      could you post links for a counter-explanation for the NSA key story? I haven't heard it before.

    29. Re:Well well by TiggsPanther · · Score: 4, Insightful

      Yeah. There's no way they'd want to show an open-source project finding and warning about a problem within 48 hours in a positive light.

      They'd find their customers wanting timely patches and accountability.

      --
      Tiggs
      "120 chars should be enough for everyone..."
    30. Re:Well well by DunbarTheInept · · Score: 4, Interesting


      Kinda proves Steve Ballmer's comments about the lack of security in Open Source development, doesn't it?!

      No. I just proves you're a posturing idiot. The crack was detected as soon as it was attempted to be inserted, in the experimental development version of the code that hadn't even made it into any final distributions yet.

      And here's another example of your idiocy:

      If it happened in a software company, the hacker would be fired and probably charged with some kind of "espionage" charge and arrested.


      This wasn't an "inside" job. If this happened at a company, to fill the analogy, it would have been an external person, NOT someone they could fire.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    31. Re:Well well by soliaus · · Score: 1
      Well the 12 backdoors I put into the Windows XP kernel haven't been detected yet.

      Yes they have, here is a screen shot.
      exploit.jpg

      --
      Speaking at Defcon 12 - Credit Card Networks Revisted: Pen
    32. Re:Well well by rixstep · · Score: 2, Interesting

      You're never going to know anything w/o the code. So many examples, they're too numerous to mention. It's hushed because of the panic it can cause.

      MS once had a summer programmer who put 'The tree of evil bears bitter fruit - now crashing your system disk' into Word. It got in all the European editions.

      The NT team loved putting in the names of beers in a screen saver. They used 'I love NT' in about seven languages to kick it off. Gates supposedly heard about it and went through the roof. So they disguised it for the next release.

      Putting a back door in is not more difficult. And it's almost impossible to detect - if you don't have the code, and sometimes even if you do.

      IBM's mainframes have long had a humungoid string which bypasses all security.

      And so forth.

    33. Re:Well well by Anonymous Coward · · Score: 0

      So they patched all the ones we do know about, therefore there cannot be any more that we do not know about?

      Nice logic.

    34. Re:Well well by ajs318 · · Score: 5, Insightful

      Yeah, but anybody who feels the need to use stuff like this, probably updates often and checks stuff as a matter of course anyway, and possibly even sandboxes test kernels - so the damage is self-limiting. If you always want the sharpest blades, you have to understand you can cut yourself. Ordinary mortals mostly run stock kernels, from their distributor or kernel.org. Somehow, I can't see such an obvious exploit finding its way into a major distro.

      And really, it's just more evidence that the Open Source model works. There is really nothing wrong with making a mistake, as long as you learn something from it and share what you learned with other people so they don't have to make the same mistake. Pretending you never make mistakes is another matter entirely .....

      --
      Je fume. Tu fumes. Nous fûmes!
    35. Re:Well well by rodgerd · · Score: 4, Insightful

      As anoth poster has pointed, this is a well-known thought experiment, and what it boils down to is: at some point, you have to trust someone.

      Have you audited your motherboard BIOS? What about your network card - how do you know it doesn't have an IP stack on the ROM that dials home and dumps your network activity to someone? Hubs? Switches? Routers?

      Do you really know what lives in your hard drive controller?

    36. Re:Well well by Tet · · Score: 2
      The hackers [...] who write the real low-level stuff that makes various OS's work - for example in Linux people like Alan Cox, Linus, RMS, ESR, davem

      Ha ha ha. Yep, Cox, Linus and DaveM are without doubt low level hackers. But RMS and ESR? RMS is admittedly somewhere between high and low level, getting down to compilers and linkers, but not down to kernel level. But ESR is strictly a userland programmer.

      --
      "The invisible and the non-existent look very much alike." -- Delos B. McKown
    37. Re:Well well by jaavaaguru · · Score: 1

      How exactly does that screenshot show an exploit?

      Nice domain name, by the way ;-)

    38. Re:Well well by Filik · · Score: 3, Insightful

      Actually, the mere fact that these people saw the need to insert a new backdoor is a good sign (though not proof) that there aren't any old ones (or that they weren't very talented).

    39. Re:Well well by Haeleth · · Score: 3, Insightful

      > And what if we just haven't discovered the code that got through yet...

      1. We know that SCO have been looking very closely at the Linux source code.

      2. We also know that none of the Linux boxes which serve major anti-SCO websites have been hacked into.

      3. We can deduce therefore that SCO have not found any backdoors in the Linux source code.

      While given their general level of (in)competence this doesn't amount to proof that there aren't any, it's probably a fairly safe bet.

    40. Re:Well well by Anonymous Coward · · Score: 0

      > ESR is strictly a userland programmer.

      That's not what he thinks...

    41. Re:Well well by Anonymous Coward · · Score: 0

      > ScottKin - Laughing at the "superior intellect"

      Well, at least you admit yours is inferior. Idiot.

    42. Re:Well well by Khazunga · · Score: 3, Funny
      RMS *must* be a low level hacker. He shows all the signs: long beard, long hair, smells, can't behave in front of people, yawns at conferences. Heck, he even farted at a conference at my Uni.

      If he isn't a lowest level hacker, my world foundations are crumbling...

      --
      If at first you don't succeed, skydiving is not for you
    43. Re:Well well by _w00d_ · · Score: 1

      Would you be happy with Microsoft including a back-door to all their software as long as only they knew how to exploit it?

      You mean like the NSA_KEY fiasco in Windows a few years ago?

    44. Re:Well well by Anonymous Coward · · Score: 0

      It smears part of the path, making it nearly impossible to work with command prompt. Frustrated user is then forced to use less secure and more buggy GUI tools, where he gets nailed seriously.

    45. Re:Well well by balloonhead · · Score: 4, Funny
      Leprechauns.

      Leprechauns live on my hard drive controller, and spin it with all their tiny might.

      They're like little green DJs when I use my RAID.

      --
      This idea was invented by Shampoo.
    46. Re:Well well by You're+All+Wrong · · Score: 1

      ?? 2600 as the build number perhaps?
      If so, that's either subtle or lame.
      If not, then it's too too subtle for me.

      Then again, I don't know what a windows command prompt is supposed to look like.

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    47. Re:Well well by blowdart · · Score: 3, Insightful
      RMS *must* be a low level hacker

      No, he's a low level heckler ... "Shut up! It's GNU linux." "Shut up! It's GNU linux." (repeat ad nauseum)

    48. Re:Well well by sameerds · · Score: 1
      And what if we just haven't discovered the code that got through yet...

      This is kinda heartening:


      It's worth mentioning that it would be close to impossible to add the
      same to change to BK unnoticed. It's possible but the accountability
      would be a lot better and the bad user could be tarred and feathered.
    49. Re:Well well by Anonymous Coward · · Score: 0

      IBM's mainframes have long had a humungoid string which bypasses all security.

      I always wondered what would happen if I pulled that string coming out of the back of the cabinet.

    50. Re:Well well by Anonymous Coward · · Score: 3, Insightful

      Two Brazilian expressions, for your delight:

      1) "Boi de piranha":

      When you want to make a cattle herd cross a piranha-infested river, you probably will lose many cows (or oxen) -- the trick is get a first ox inside the river for sacrifice; while the piranhas devour it, the rest can pass unharmed.

      2) "Porteira que passa um boi, passa uma boiada":

      If a gate is wide enough for passing an ox, it's wide enough for an entire herd.

      -//-

      Have a nice day!

    51. Re:Well well by neilb78 · · Score: 0

      In this case the system works -- I wonder how many undiscovered security holes there are in Linux (and Windows, and MacOS, etc...)

      --
      © 2004 The SCO Group, Inc. All Rights Reserved.
    52. Re:Well well by Hard_Code · · Score: 1

      It's all about trust metric. Patches from somebody would not be accepted unless they are already trusted. They cannot become trusted except by a lot of hard work to submit quality patches to gain that trust. You would have to be pretty corruptable to throw away your entire career because nobody will trust you any more.

      --

      It's 10 PM. Do you know if you're un-American?
    53. Re:Well well by jaavaaguru · · Score: 1

      I've written lots of programs that have a "build number" in them somewhere - none of which had backdoors that I was aware of. Could someone explain how simply having that build number demonstrates an exploit?

      I was expecting to see something like a terminal window with telnet to port 80 and sending some random junk followed by cmd.exe with some parameters ;-)

    54. Re:Well well by jaavaaguru · · Score: 1

      You could just type 'pwd' to see what directory you're in. I think having the path as part of the command prompt sucks anyway.

      If windows doesn't have the pwd command, I'm sure you could get the source and build it yourself. (Oh, I really hate it when people say that - Especially when I just want to get the software to do something quickly... I hate having to waste time building other people's applications!)

    55. Re:Well well by WatchMaster · · Score: 1


      The exact phrase was ...now *trashing* disk .. this was in the days before hard drives. It was in my US edition of Word 1.0 (or maybe 2.0) distributed on floppy disk, not just the European. I recall using the Norton utilities to find it on my 5 1/2 floppy version of Word.

    56. Re:Well well by Anonymous Coward · · Score: 0
      GNU SLASH LINUX!!! GNU SLASH LINUX!!

      DAMN YOU!!!

      --
      Lameness filter encountered. Post aborted!
      Reason: Don't use so many caps. It's like YELLING.

    57. Re:Well well by Anonymous Coward · · Score: 0

      On Windows (DOS command prompt, anyway) the command 'cd' with no parameters acts like 'pwd' does. And the prompt can be altered too, so it's down to a matter of taste, I would say.

    58. Re:Well well by IWannaBeAnAC · · Score: 1

      If you've never heard anything special about the number '2600' before, then googling around for '2600 magazine' or 'captain crunch' might be a good start.

    59. Re:Well well by Valar · · Score: 1

      I would assume that they have offsite, unconnected backups of the file tree, which they can use a form of machine assisted comparison on to determine if any changes were made.

    60. Re:Well well by Anonymous Coward · · Score: 0

      Yes, this is insightful because there is only one cracker in the world, and he wouldn't ever crack the same system twice. Nice. I guess we probably wont ever see another outlook virus, because he is probably sick of writing all those successful worms.

    61. Re:Well well by nazsco · · Score: 1

      If a back door is open in the woods and nobody
      is around to hear it, does it make that old unused door craaaack sound?

    62. Re:Well well by TrombaMarina · · Score: 2, Insightful

      My experience with proprietary software development is that in the beginning, there is a deadline. Then requirements get added to that deadline and code gets written until the deadline is reached. At which point the code is either shipped as is or the deadline is extended and the cycle begins again.

      Show me a company that has the money to pay for developers to sit around and double-check every commit to a source tree. Show me a code review at a company where anyone besides the author has read the code before the meeting. Then I'll believe that THAT company COULD detect a hack like this.

      Open source is not perfect, there's probably exploits in the kernel, intentional or otherwise, that have never been found and there always will be. But compared to deadline-driven "not-my-department" development, it's pretty darn impressive. Heck, I'm impressed that anyone ever discovered this.

      P.S. Pay attention to the fellow who suggested (in another post) that we check other software for a companion hack for this exploit. Someone clever enough for this back-door undoubtedly has another somewhere to set those flags remotely. Maybe in the next version of CVS or another tool he used to insert the hack that was found.

    63. Re:Well well by Anonymous Coward · · Score: 0

      Uh... I think that 2600 wasn't a coincedence, but its also not much of anything... Oh look, Windows build 2600, how 13337... now I need to download some boybands from kazaa

    64. Re:Well well by Anonymous Coward · · Score: 0

      Mod parent up funny! It is a parody of this:
      http://apple.slashdot.org/comments.pl?sid=84814&ci d=7398175

    65. Re:Well well by You're+All+Wrong · · Score: 1

      I think it's called a joke.
      I think you're supposed to laugh.

      If you don't know that 2600 is a "magic number", then of course you wouldn't get it. However, that puts you in serious "newb" territory.

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    66. Re:Well well by walt-sjc · · Score: 1

      I would guess that MS DOES have a backdoor. Anyone remember the NSA key hoopla a few years back? Of course with all the cracks in Windows (sorry, couldn't resist the pun), a special back door probably isn't needed.

    67. Re:Well well by MikeyO · · Score: 1
      2. We also know that none of the Linux boxes which serve major anti-SCO websites have been hacked into.

      3. We can deduce therefore that SCO have not found any backdoors in the Linux source code.


      This is going on the assumption that SCO would sieze an opportunity to hack/crack someone else's machine, which I'm not ready to believe.
    68. Re:Well well by jon3k · · Score: 1

      Famaliar with the term "spin" ? Lemme paint a picture for you ... "The open source software community has no real control over the source to their software. Just look at this! *points at slashdot article* Who knows how many backdoors actually made their way in! Your children are not safe! *starts chant* Buy Windows. Buy Windows. Buy Win ..." You get the idea anyway.

    69. Re:Well well by fafaforza · · Score: 1

      I am pretty sure that Microsoft had a build numbered 2600. An official build. It's pretty curious that they would use that number, but not a hack of the internals.

    70. Re:Well well by fafaforza · · Score: 1

      If someone inserts a backdoor, they'd want to keep it on the hush hush, to a group of select few. This backdoor might have been inserted by someone out of that closed group, so the fact that an attempt was made doesn't exclude the existance of a backdoor in the source tree.

    71. Re:Well well by Fancia · · Score: 1

      Although I'll readily admit that I don't have the skill to audit my BIOS, the UBoot source is out there for anyone who wants it, and I'm certain that at least one interested programmer has already gone through it.

      --

      Bít, zabít, jen proto, ze su liska!
    72. Re:Well well by The+Evil+Muppet · · Score: 2, Funny

      If you do that, one of two things will happen:

      1. UnixWare will crash
      2. UnixWare will tell you that no such call exists

      Either way, you could completely and totally use it as an excuse to make whichever person you installed UnixWare look like a complete dick, and then shoot them in the groin with a nailgun.

    73. Re:Well well by dsasser · · Score: 1
      I can imagine a situation where a corrupted/corruptable individual works hard to gain legitimate comitt access to certian tools that are widespread. GCC, the kernel, a shell or two, OpenSSL. That person starts making small changes that when aggregated expose a large exploit but when examined piece-mail are completely benign, or even benficical.

      You seem to be postulating an intentional vulnerability (at least) an order of magnitude more complex than the ostensible purpose of the code. If we have developers that can do this, I'll personally write them a check just out of appreciation, or send a donation in small, well-used US currency.

      What's the motive? Another poster said that you have to trust someone, some time. While that may be both true and overly simplistic, how would our hypothetical Uberhacker benefit from their hack? Evidence suggests that there are plenty of easier targets for financial gain. I could see the allegedly "original" hacker motivation, "to see if I can", but it still seems unlikely.

      To remain undetected would require a conspiracy of all those sufficiently clever to recognize the hack.

      Lastly, anything that complex would most likely be very failure prone. What if one of us less gifted programmers went in and "cleaned up" a bit.

      --
      (...And Dewey wanders away, still muttering to himself...)

      --
      Dewey
    74. Re:Well well by Vilim · · Score: 1

      Wow, that is scary. I had never even thought about that.

      --
      History will be kind to me, for I intend to write it - Sir Winston Churchill
    75. Re:Well well by op00to · · Score: 1

      Like Valve?

    76. Re:Well well by catenos · · Score: 1

      1) "Boi de piranha":

      Nice one.

      Though, the analogy doesn't hold. Open source developers don't think/act like predators. If anything, this incident increased the chance that somebody will look for further things that look strange (well, rather "many sombodies").

      It even increased the chance that people who never looked at the kernel before, just look now because of this.

      --
      Keep an eye on which arguments are silently dropped in replies. Not always, but often times it's very telling.
    77. Re:Well well by Anonymous Coward · · Score: 0

      I can imagine a situation where a corrupted/corruptable individual works hard to gain legitimate comitt access to certian tools that are widespread.

      Wow, individuals can get corrupted too? Then i'll stick with computers, since individuals can't be backed up.

    78. Re:Well well by jonnyfivealive · · Score: 1

      holy crap, can i make that my sig?
      HI-larious

    79. Re:Well well by taff^2 · · Score: 0

      dudes obviously got a dell, let's hack it!

      --
      Karma: Bad. (As in Good?)
    80. Re:Well well by Pflipp · · Score: 1

      Unless it is finally done on a central package repository, like a Debian APT server.

      --
      "We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
    81. Re:Well well by poot_rootbeer · · Score: 1

      Can anyone say that its not possible that this is *already* happening in the OSS world today?

      I don't think anyone can say with 100% certainty. In fact, if we're considering all Open Source Software projects across the board, from Linux and Apache all the way down to the crappiest little utility on Sourceforge, it's almost 100% certain that at least ONE project does contain an exploit of some kind.

      However, the nature of OSS makes it a HELLOFA lot easier to investigate whether an exploit exists. If you put backdoor in closed source software, you may never get caught, but try to do the same with OSS and you eventually probably will.

    82. Re:Well well by Trepalium · · Score: 1

      Given that it's the release build for Windows XP, I'd say it's pretty official.

      --
      I used up all my sick days, so I'm calling in dead.
    83. Re:Well well by Anonymous Coward · · Score: 0

      So you're saying their ethical lunatics? I'll buy that. :)

      Or maybe they couldn't exploit their way out of a paper bag, even with the source code. If they had any real programming skill over there, one would think they might have put it to work on operating systems tech so they might have a product to sell rather than generating revenues by threatening to sue everybody.

    84. Re:Well well by Anonymous Coward · · Score: 0

      So what you are saying is that it is okay to have a back door in your software if it is closed source? Can I have some of that crack you are on?

    85. Re:Well well by Anonymous Coward · · Score: 0

      Whoa, you wrote IE?!?!

      You bastard!

    86. Re:Well well by dublin · · Score: 1
      And what if we just haven't discovered the code that got through yet...

      We have had no, I repeat, NO, undetected break-ins to our computer systems.


      - An IT manager responsible (at least only partly, thank goodness) for security at a Fortune 20 company I used to work for. Apparently she wasn't clear on the meaning of "undetected"...
      --
      "The future's good and the present is nothing to sneeze at." - Roblimo's last ./ post
    87. Re:Well well by gladbach · · Score: 1

      well, valve had their source stolen.... I dont think anyone has heard any reports that valves source tree that they have was modified to insert a back door....

      although I am sure they are spending a good amount of time auditing their code, just in case.

      --
      "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms,
    88. Re:Well well by arevos · · Score: 1

      Gah! I wanted too ;)

    89. Re:Well well by Anonymous Coward · · Score: 0

      Who says they haven't?

    90. Re:Well well by GlassHeart · · Score: 1
      All of the vulnerabilities I listed made it into official releases before being patched. The bug this story is about didn't make it one day in the source tree, let alone into an official release.

      Security is about risk management, and open source projects that allow public submissions are actually riskier than equivalent closed source projects. A company has firewalls and user lists to protect its source tree (not to mention an audit trail that can show who checked in what changes), which means that in many cases the sabotage can only come from within. If an insider trusted by Linus Torvalds were to do this, it may have been inserted as a trojan legitimately, and may not be found without a real source code audit, just like for commercial software.

      In other words, to put this particular attack in perspective, compare it to somebody trying to hack into Microsoft to put a few lines of code into the Windows Longhorn source tree. Comparing it to employee sabotage is not appropriate.

    91. Re:Well well by Greedo · · Score: 2, Funny

      When you want to make a cattle herd cross a piranha-infested river, you probably will lose many cows (or oxen) -- the trick is get a first ox inside the river for sacrifice; while the piranhas devour it, the rest can pass unharmed.


      Well, in theory.

      Of course, you send in the first ox, and the pirannhas attack it. Then you try and get the other oxen to cross, and they are all like "Fuck this man, I ain't going in that freakin' river! Look at what's happenin' to Bob!!!"

      --
      Tuus crepidae innexilis sunt.
    92. Re:Well well by Anonymous Coward · · Score: 0

      > Hmmm..but would they have even found the security hole if it hadn't been open sourced?

      My God! the programmer(s) of it... KNEW IT!(*) no need to find it!

      (*) also the ones who were told by him/them, and follow the thread...

    93. Re:Well well by ultranova · · Score: 1

      And if a trusted employer were to do this, all those security measures would come to nothing. It is impossible to secure a program against backdoors inserted by it's own developers whether the source code is public or not. The difference is, with public source, such backdoors are much more likely to be found, because more people see the code.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    94. Re:Well well by downix · · Score: 1

      Depends, do you mean the public uBoot or Hyperions private "we ain't giving the source to anyone" uBoot fork?

      --
      Karma Whoring for Fun and Profit.
    95. Re:Well well by GlassHeart · · Score: 1
      And if a trusted employer were to do this, all those security measures would come to nothing. It is impossible to secure a program against backdoors inserted by it's own developers whether the source code is public or not.

      Well, it's not really impossible, but it is very difficult. This is why it is incorrect to compare this outsider attack (which companies generally fend off) with known insider attacks in closed source software.

      The difference is, with public source, such backdoors are much more likely to be found, because more people see the code.

      You are right, but this is only true of the few high profile open source projects, which are best-in-class examples in a very large pool. Smaller projects get a lot fewer eyeballs, and may be no more secure in this regard than closed source software.

      OpenSSH and Sendmail both suffered trojan horse releases last year, even as upthread critics lambasted commercial software for releasing trojans.

    96. Re:Well well by 110010001000 · · Score: 0

      Now there is some irrefutable logic. Definitely +5 Insightful.

      Sick of gentoo zealots throwing plugs in completely unrelated topics? Me too!

    97. Re:Well well by theLOUDroom · · Score: 1

      Hmmm..but would they have even found the security hole if it hadn't been open sourced?

      Would a theif find out my car was unlocked, with the keys in it, without me telling him?

      Sure, it's safer not to tell people in you leave your keys in your car all the time, but doesn't mean you're not a idiot for doing so.

      Undocumented backdoors like this should be criminally investigated. If I was a locksmith who secretly re-keyed every lock I worked on to work with my own, "master key" you can bet the police would want to have a talk with me.

      --
      Life is too short to proofread.
    98. Re:Well well by i_am_pi · · Score: 1

      I'll bite.

      Those devices are relatively simple. To write an IP stack contained on a network card would be a) expensive and b) impractical.

      And the bit about the hard drive controller... For it to 'phone home' about anything, it'd have to speak TCP/IP -directly- to the network card. a) expensive and b) impractical.

      Hardware isn't really capable of doing that kind of thing. The software running on the hardware needs to be audited.

    99. Re:Well well by Random832 · · Score: 1

      grandparent post said " or that they're not very talented" (i.e. whoever put this one in wasn't able to find such a pre-existing one, regardless of if he wasn't among those who might have put one in)

      --
      We've secretly replaced Slashdot with new Folgers Crystals - let's see if it notices.
    100. Re:Well well by Anonymous Coward · · Score: 0

      If you have to explain the joke, it's automatically not funny.

    101. Re:Well well by DaveAtFraud · · Score: 1

      Agreed. If there is a code review, it is usually conducted using nature's legacy groupware: paper hardcopy. Generally, no one has the time to recheck some developer's changes to the reviewed code to implement whatever was determined to be needed in the code review. The code goes into the baseline and the developer is the last person to see it. QA might look at it if there is a problem but QA generally just tests that the code does what it's supposed to do and doesn't crash and burn for off nominal conditions.

      Something like this that cleanly implements an "undocumented feature" could easily be slipped into most proprietary code and no one would be the wiser. This is especially true when the company developing the product is noted for including "undocumented features" and capabilities that are only available to other products from the same company (I won't name names).

      BTW, the thread is quite intersting. Linus even chimes in from time to time.

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
    102. Re:Well well by toddestan · · Score: 1

      Well *I* put 24 backdoors into Windows 3.1.

      So far they all still work with XP.

    103. Re:Well well by Anonymous Coward · · Score: 0

      no, you're just a lamer trying to troll onto someone elses funny comment.

      Go make your own jokes, dumbfuck.

    104. Re:Well well by Anonymous Coward · · Score: 0

      I certainly hope so, but we should never underestimate evil, because only the really powerful can succeed at being good -- and almost any weakling can do a lot of harm.

    105. Re:Well well by Pharmboy · · Score: 1

      2600 used to be a magic number in Phreaking (phone hacking). Way back when, when you put a quarter in a pay phone, it would generate a 2600hz tone to tell the system a quarter was put in. All you had to do was have a tone generator that produced a 2600hz tone and you make free phone calls. Other tones did other things as well, inclucing actually roaming around the phone companies network if you were especially good. Boxes that generated different tones were called by colors, Blue boxes, brown boxes, etc. You can still find the schematics all over the net and get the parts at Radio Shack, but you would be hard pressed to find a system that it would work on nowadays.

      But phreaking used to be 133+, but if you shove a 2600hz tone done a payphone nowdays, you are more likely to get a free nights stay in jail. Go check out 2600.com for more info, but be forewarned its pretty dry reading.

      --
      Tequila: It's not just for breakfast anymore!
    106. Re:Well well by Pharmboy · · Score: 1

      If windows doesn't have the pwd command, I'm sure you could get the source and build it yourself.

      Its easier to just install Cygwin, and then make sure your ..cygwin\bin directory is in your windows path statement. This lets me use pico, less, cat, grep and over 300 other unix utilities, and even start Xwindows on my XP box. The nicest thing is now I can start a bash shell from a command prompt. Cygwin even mounts your windows filesystem as ../cygwin/c and other letters :D

      --
      Tequila: It's not just for breakfast anymore!
    107. Re:Well well by Anonymous Coward · · Score: 0

      and you have none

    108. Re:Well well by RichardX · · Score: 1

      I think it's called a joke.
      I think you're supposed to laugh.


      This is obviously some strange useage of the term "joke" with which I am not familiar... could've sworn they were connected to wit or humour in some way..

      --
      Curiosity was framed. Ignorance killed the cat.
    109. Re:Well well by Anonymous Coward · · Score: 0

      that is not quite true.

      The tones to make a payphone think you had deposited coins are 1700hz and 2200hz, simultaneously, in different burst patterns for different coins. This is called red boxing.

      Blue boxing is different, and not specific to payphones... Blue boxing is where the 2600hz tone is used. Basically, as I understand it, there always used to be a 2600hz tone on the line when the phone was off. Somehow, playing this tone after, say, dialing a 1800 number, would enable you to issue operator tones and do whatever you like, while still only be billed (nothing) for the 1-800 call. Blue boxes made 2600hz and other tones. The infamous captain crunch whistle (hey, no talk of john and pedophiles right now please, thats in another lesson) was a promotional thing in cereal boxes that just so happened to make the exact right (2600hz) tone.

      All this shit was fixed before I was old enough to hack my way out of a wet paper bag, so I'm really not sure why I know it. You can read more here if you're interested. But it's all ancient history nowadays.

      Also, winxp build 2600 is just a coincidence. I believe the first widely used build of XP was #2600, I've certainly seen it on a lot of desktops. In a similar note to my being too young to have blue or red boxed, I also don't own a windows box. Strange I'm making this post.

      Stranger still is this whole thread. I mean, have you seen some of the crap up above this? Damn. Damn! Some crazy misinformed people, some bizarro trolls, all kinds of crap. Dontcha just love /. ?

    110. Re:Well well by Anonymous Coward · · Score: 0

      Get a job

    111. Re:Well well by Baggio · · Score: 1

      Why would it need pwd when "cd" works just fine. ;) Typing cd without any parameters prints the working directory.

      --
      Time flies like an arrow;
      Fruit flies like a bananna
    112. Re:Well well by TaranRampersad · · Score: 1

      Most problems with security deal with angry employees. Hard to find them in a FLOS project.

    113. Re:Well well by Nucleon500 · · Score: 1
      Anonymous Coward = AC = Alan Cox

      Sorry to blow your cover.

    114. Re:Well well by mi · · Score: 1
      OpenSSH and Sendmail both suffered trojan horse releases last year

      I remember security bugs being found in those projects, but there was not a word about them being deliberate. Care to post pointers to the trojans you mentioned?

      --
      In Soviet Washington the swamp drains you.
    115. Re:Well well by armando_wall · · Score: 1


      Man!! When you think you are paranoid enough... now I see my motherboard in a different way.

      Dude, thank you for that link!! Really interesting reading.

    116. Re:Well well by GlassHeart · · Score: 1
      Most problems with security deal with angry employees. Hard to find them in a FLOS project.

      Which is why projects never fork because of personality conflicts, right?

      The truth is, anger in the "workplace" can happen whether you are paid or not. In fact, not even getting paid can significantly lower one's tolerance for poor treatment. In any case, the point is that free software is just as vulnerable (if not more, given the lack of legal penalties) to "employee" sabotage.

    117. Re:Well well by GlassHeart · · Score: 1
      I remember security bugs being found in those projects, but there was not a word about them being deliberate.

      Here are the links you asked for: OpenSSH Sendmail

      In both cases the download sites were compromised by intruders to insert trojan code.

    118. Re:Well well by Anonymous Coward · · Score: 1, Funny

      Thats why I compile everything by hand.

    119. Re:Well well by TaranRampersad · · Score: 1

      Please make your point with a real world example of how an angry FLOS developer created a problem in the code.

    120. Re:Well well by You're+All+Wrong · · Score: 1

      Don't look at me, I didn't make the not-particularly-wisecrack. I simply shed some light on why some people (not me) might find it amusing. I agree it's the geek equivalent of beavis and butthead, but hey, some people like that kind of thing.

      i.e. Hehehhe, he said 2600, ehehehe.

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    121. Re:Well well by toddestan · · Score: 1

      And you are?

      I'll leave it to the reader to figure that one out.

    122. Re:Well well by mi · · Score: 1

      Indeed. Yet, this compromises were never suspected to have been made by the project insiders -- unlike with the Interbase.

      --
      In Soviet Washington the swamp drains you.
  2. Daaaammmmmnnnn.. by NegativeK · · Score: 4, Funny

    Someone has some damned big balls to do something like that...

    Let's hope they're cut off.

    --
    This statement is false.
    1. Re:Daaaammmmmnnnn.. by blair1q · · Score: 3, Insightful

      Why?

      What's the penalty under the law for putting a backdoor in an open-sourced software project?

      None.

      That's it. That's the list.

    2. Re:Daaaammmmmnnnn.. by Type-R · · Score: 1

      You mean other then unlawful use of someone elses computer, and causing damage of course right?

    3. Re:Daaaammmmmnnnn.. by Nucleon500 · · Score: 5, Insightful
      Our friend the DMCA, of course. Becomming root with wait4(3<<30) could clearly be used to copy files to which you don't have read access, thus circumventing an effective copy control mechanism. Heck, I'm a criminal for telling you that.

      Seriously, though - there are probably many laws by which it would be illegal. The cracker gained unauthorized access to a system and he vandalized data. And the obvious intent was to create a backdoor in many more systems. If they find this guy, he'll be in serious trouble. The guy he pretended to be could probably also sue him for something.

    4. Re:Daaaammmmmnnnn.. by inode_buddha · · Score: 1

      Never mind the backdoors. I've noticed over the years that the occasional spammer wanders in to the kernel mail-list, probably by accident... and is never heard from again. IMHO, somebody's mail admin needs a raise.

      --
      C|N>K
    5. Re:Daaaammmmmnnnn.. by shepd · · Score: 3, Informative

      >What's the penalty under the law for putting a backdoor in an open-sourced software project?

      Ohhh, I can think of some.

      Fraud and destruction/misuse of private property come to mind. And those are pretty much universal...

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
    6. Re:Daaaammmmmnnnn.. by Anonymous Coward · · Score: 0

      Fraud and destruction/misuse of private property come to mind. And those are pretty much universal...

      Destruction/misuse of private property would apply in this case (because someone hacked into a BitMover-owned computer), and of course it would apply if you ever exploited the backdoor. But if a backdoor was submitted and accepted through normal channels (i.e. hidden in a larger patch emailed to Linus) it probably wouldn't be considered destruction/misuse of private property. Just fraud, and maybe conspiring to do evil stuff.

    7. Re:Daaaammmmmnnnn.. by flamelord · · Score: 0

      what's the world coming to?

      I sure hope they discover the person responsible and why he did it.

      really creepy news.

    8. Re:Daaaammmmmnnnn.. by Anonymous Coward · · Score: 0

      Just gotta say, fellow BoC fan lovin' the sig :)

    9. Re:Daaaammmmmnnnn.. by Anonymous Coward · · Score: 0

      I wish the same admin would work for GNU. Have you ever subscribed to a GNU mailing list? Ye Gods, 90% of all my spam now comes in via. mail.gnu.org

    10. Re:Daaaammmmmnnnn.. by zangdesign · · Score: 1

      I dunno - think about it. If you use an open-sourced program that has a trojan, without examining the source, then you, as the user, are liable. You didn't write the offending code, but you also failed to exercise due diligence before installing the code.

      In this specific sense, closed source is actually a protection. Since you have no access to the source, there is no due diligence involved in ensuring the code is free of trojans, only that the machine is protected as well as available technology and practicality allow.

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
    11. Re:Daaaammmmmnnnn.. by JamesP · · Score: 1

      But there's a penalty for hacking in a database.

      Next Question, pleeze?

      --
      how long until /. fixes commenting on Chrome?
    12. Re:Daaaammmmmnnnn.. by Empiric · · Score: 2, Informative
      --
      ~ Whence do you come, slayer of men, or where are you going, conqueror of space?
    13. Re:Daaaammmmmnnnn.. by Anonymous Coward · · Score: 0

      interesting idea...you swing that phrase around, "due diligence", a little to easily.

      i don't believe you.

      try again.

    14. Re:Daaaammmmmnnnn.. by 4of12 · · Score: 1

      What's the penalty under the law for putting a backdoor in an open-sourced software project?

      Penalty?

      If you try to insert a clumsy backdoor and fumble the insertion process, then I suppose your punishment will be your reputation.

      OTOH, if you do it in a very clever way, undetected for a while, then your reward will be your reputation.

      You'll be able to strut around at Defcon with a coterie of admiring hot chix^H^H^H^H others that wanna be like you.

      Just don't expect anybody to let you borrow their laptop.

      --
      "Provided by the management for your protection."
    15. Re:Daaaammmmmnnnn.. by cgh4be · · Score: 1

      Great signature! I don't imagine most of the geeks on Slashdot get it, but it's great nonetheless.

      Kornheiser rules!

    16. Re:Daaaammmmmnnnn.. by nazsco · · Score: 1

      ...And what's the penalty of stealing personal information (passwords, etc) and impersonating someone else to make those changes?

    17. Re:Daaaammmmmnnnn.. by mikeee · · Score: 1

      I've noticed over the years that the occasional spammer wanders in to the kernel mail-list, probably by accident... and is never heard from again.

      You know, is it just me, or is Tux getting fatter and fatter? Just wondering...

    18. Re:Daaaammmmmnnnn.. by b1t+r0t · · Score: 1
      If they find this guy, he'll be in serious trouble.

      Ah, but this is where the open source model falls flat. Open source software doesn't have the kind of funding it takes to put a $250,000 bounty on finding whoever did this!

      P.S. HHOS

      --

      --
      "Open source is good." - Steve Jobs
      "Open source is evil." - Microsoft
    19. Re:Daaaammmmmnnnn.. by blair1q · · Score: 1

      None of which punish the mere act of installing the backdoor, nor even accessing the files to install it. It does punish certain abuses of the backdoor (and not because it's a backdoor), but only in certain situations for certain additional reasons.

      Read that law carefully. It isn't nearly as broad as you think.

    20. Re:Daaaammmmmnnnn.. by Anonymous Coward · · Score: 0


      What's the penalty under the law for putting a backdoor in an open-sourced software project?

      Exactly the same penalties for putting a backdoor in a proprietary software project... why would it be any different?

    21. Re:Daaaammmmmnnnn.. by Shimbo · · Score: 1

      What's the penalty under the law for putting a backdoor in an open-sourced software project?

      Depends where the case (if ever) is tried. In the UK, unauthorized modification of data: up to 5 years. Faking the change log with someone else's name - forgery, up to 10 years.

    22. Re:Daaaammmmmnnnn.. by Empiric · · Score: 1

      There are two levels at which this law could apply, to the system holding the CVS repository, and anticipated systems deploying a future kernel from it.

      Off the top, this clause seems rather pertinent:

      (6) knowingly and with intent to defraud traffics (as defined in section 1029) in any password or similar information through which a computer may be accessed without authorization...

      Perhaps you'd care to demonstrate specifically why this act, in total, would not apply? That'd be more informative.

      --
      ~ Whence do you come, slayer of men, or where are you going, conqueror of space?
    23. Re:Daaaammmmmnnnn.. by Doomdark · · Score: 1
      • Someone has some damned big balls to do something like that...

        Let's hope they're cut off.

      What's the penalty under the law for putting a backdoor in an open-sourced software project?

      Somehow I don't think he was referring to the law. Or am I missing some obvious crime for which penalty under the law is "cutting one's balls off"?

      --
      I like paying taxes. With them I buy civilization -- Oliver Wendell Holmes
    24. Re:Daaaammmmmnnnn.. by shepd · · Score: 1

      Thanks! :-)

      I need to spin their discs again...

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
    25. Re:Daaaammmmmnnnn.. by coloclone · · Score: 1

      How the hell am I as an end user supposed to do that? I may know some "UNIX" but I can't interpret source code.

    26. Re:Daaaammmmmnnnn.. by blair1q · · Score: 1

      "...with intent to defraud..."

      Installing a backdoor, or telling someone the means of entering through that backdoor, is not in itself prohibited by that law, especially not by the clause you quoted.

    27. Re:Daaaammmmmnnnn.. by blair1q · · Score: 1

      As there are none in either case except those outlined in the contract between the person editing the code and the person hiring (or not hiring) him to edit the code, they wouldn't be any different.

      Here's the result:

      It's not against the law to put a backdoor in any software.

      It may be against the law to use that backdoor depending on exactly how you use it, but that is a quite different question.

      It is against the law to cut off the balls of someone who hasn't been sentenced by a court of law to have his balls cut off.

      So who's really thet morally suspect ones here?

    28. Re:Daaaammmmmnnnn.. by zangdesign · · Score: 1

      Get that phrase in the hands of a lawyer on the opposite side and see how much you'll hate it.

      --
      To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
  3. Microsoft by mr100percent · · Score: 3, Funny

    Anybody point fingers at Microsoft yet? SCO?

    1. Re:Microsoft by Cobralisk · · Score: 5, Funny

      No, but I'd like to see them claim copyright infringement on back-door code.

      --
      Waiting for ad.doubleclick.net...
    2. Re:Microsoft by rlowe69 · · Score: 1

      Anybody point fingers at Microsoft yet? SCO?

      Why stop there? ... you have six more!

      And two thumbs too! :P :D

      --
      ----- rL
    3. Re:Microsoft by Malcontent · · Score: 1

      Of course neither MS not SCO has ever acted unethically. It would be absurd to suspect companies of such high morals. I for one would be SHOCKED if somebody told me that MS or SCO might do something sleazy in order to undermine Linux.

      --

      War is necrophilia.

    4. Re:Microsoft by MrLint · · Score: 2, Interesting

      My guess is more likely DDoS and spam hackers. Looking for ways to get in and grab more things to attack with.

    5. Re:Microsoft by hpavc · · Score: 1

      Dunno if there is anything here of public value:

      if ((options == (__WCLONE|__WALL)) && (current->uid = 0)) retval = -EINVAL;

      --
      members are seeing something, your seeing an ad
    6. Re:Microsoft by goranb · · Score: 1

      Microsoft has been searching for hackers...
      Obviously the bounty paid off... :)

    7. Re:Microsoft by iabervon · · Score: 5, Insightful

      The actual lines of code and the method by which they got there were far too clever for either Microsoft or SCO. In particular, it looked like a check for an invalid combination of flags by root, but would actually set the process to root in the case of the invalid combination of flags (and the error return value would be overwritten).

      The intent was probably that a CVS user get the bad version, work on other stuff, and send the diff (including the bad lines) to a maintainer in an otherwise good patch. However, the BKCVS gateway got confused by someone other than it changing the CVS, and complained, and Larry McVoy pointed out the issue, someone asked what the lines were, and other people figured out what they'd do. Now, of course, if someone had gotten that bit accidentally and submitted it to a maintainer, they'd notice, so the attempt seems to have failed.

      Linus pointed out a benefit to using BK: even if the official BK repository were changed, he doesn't pull from it (because his local copy has all of his changes), and he would get an error the next time he pushed to it. The repository that would have to be attacked is actually his local disk, behind a firewall and not set up for anyone else to access at all.

      If RMS wants to rant about revision control systems, he'll need to say that CVS needs to be replaced with a more functional alternative (Subversion, perhaps), not BK.

    8. Re:Microsoft by coolfrood · · Score: 1

      Assuming it wasn't caught. Now somebody goes, makes changes and sends a patch to the maintainer. Isn't the maintainer going to see what the changes are? Won't a change in a totally unrelated file be very noticeable?

    9. Re:Microsoft by Geek+of+Tech · · Score: 1
      Anybody point fingers at Microsoft yet? SCO?

      Now why would SCO backdoor their own code... because all your Linux is belongs to SCO.

      --
      Stop the Slashdot effect! Don't read the articles!
    10. Re:Microsoft by PurpleBob · · Score: 1

      But you only have two of the important ones.

      --
      Win dain a lotica, en vai tu ri silota
    11. Re:Microsoft by Anonymous Coward · · Score: 0

      Cretin.

    12. Re:Microsoft by lspd · · Score: 1

      The intent was probably that a CVS user get the bad version, work on other stuff, and send the diff (including the bad lines) to a maintainer in an otherwise good patch.

      I don't see how this would work. If I update against a CVS server, work on a file, then submit a diff of the changes I've made, the trojan wouldn't be included in the diff unless I edited the line the trojan was on, and even then it shouldn't apply properly to the clean upstream source. Am I missing something here?

    13. Re:Microsoft by Inthewire · · Score: 0, Troll

      Yeah, but you're an idiot.
      Not that you don't have a point.

      --


      Writers imply. Readers infer.
    14. Re:Microsoft by Wesley+Felter · · Score: 1

      Since the official Linux source is Linus's BK tree, you'd be doing a diff between your CVS checkout and Linus's tree, which would pick up the trojan.

    15. Re:Microsoft by lspd · · Score: 1

      It doesn't make any sense that someone would get source from CVS, then do a diff against BitKeeper. You'd do a diff against the file in CVS. If it was done as you suggest, the diff might back out other unrelated patches to the same file.

    16. Re:Microsoft by azzy · · Score: 0, Offtopic

      > War is necrophilia.

      No, having sex with dead people is necrophilia.

    17. Re:Microsoft by Inthewire · · Score: 0, Troll

      Few are.
      Nice to see you concede.

      --


      Writers imply. Readers infer.
    18. Re:Microsoft by mirthworks · · Score: 1

      everyone is "root" in windows! no sig.

      --
      n/a.
    19. Re:Microsoft by Anonymous Coward · · Score: 0

      You, sir, are a cockmongerng chode loader. You fuckwit.

    20. Re:Microsoft by Inthewire · · Score: 0, Offtopic

      Ah, that happened a long time ago.
      In fact, that's what drew my eye to your post.

      See you again someday soon.

      --


      Writers imply. Readers infer.
    21. Re:Microsoft by Tailhook · · Score: 4, Informative

      The actual lines of code and the method by which they got there were far too clever for either Microsoft or SCO

      It was a subtle change but I think it would have been caught if it had been submitted to Linus. He does review code and often catches mistakes. In this case assignment was used in a condition. To good C programmers this is bad taste. I noticed that right off and I haven't written a line of C in about 6 years. Linus isn't just a good C programmer. After half a decade of watching him catch stuff like this in just his public LKML messages, I'm convinced he would have seen this if he were reading braille hardcopy of it from across the room while drunk.

      --
      Maw! Fire up the karma burner!
    22. Re:Microsoft by Anonymous Coward · · Score: 0

      far too clever for either Microsoft or SCO

      Yeah, right, obviously no-one at Microsoft can figure that one out, despite the fact they've written huge transactional databases, OS kernels, compilers, designed a games console, etc. etc.

      What a bunch of crap. Insightful my ass.

    23. Re:Microsoft by velco · · Score: 1

      > Linus pointed out a benefit to using BK: even if the official BK repository were changed, he doesn't
      > pull from it (because his local copy has all of his changes), and he would get an error the next
      > time he pushed to it. The repository that would have to be attacked is actually his local disk,
      > behind a firewall and not set up for anyone else to access at all.

      That's rather naive. Changes apparenty do get into the Linus repository, as evident from the
      large number of Linus published kernels at www.kernel.org.

      No firewall or whatever can prevent you from applying changes yourself (and, of course, it
      shouln't). Thus the question is how to check the integrity of the changes. One option is a visual
      inspection of the changeset. The only problem is that this does not work -- the sheer size/number
      of the changes makes it impossible to audit. The other option is to have changesets
      cryptographically signed and trusted only if they are signed with keys you trust. And these keys
      would be the ones of Andrew Morton, Alan Cox, David Miller, etc.

      Now, this pushes the responsibility for audit further down, where the audit needed is at a much
      smaller scale, to to level if an individual patch, thus possible.

      Needless to say, BK does not provide anything wrt. changeset integrity. Check OpenCM (www.opencm.org)
      or Monotone (http://www.venge.net/monotone) for the proper way to make an SCM.

      ~velco

    24. Re:Microsoft by BogWart · · Score: 1

      If it was Microsoft it would of pushed the minimal system requirements to 3Ghz CPU and 512MB RAM.

    25. Re:Microsoft by despistao · · Score: 1

      I don't think so as it is not a remote exploit

    26. Re:Microsoft by black+mariah · · Score: 1

      So what you're saying is that absolutely nobody that works at MS or SCO is smart enough to do something clever? Riiiiiiiiight.

      --
      'Standards' in computing only impress those who are impressed by things like 'standards'.
    27. Re:Microsoft by hummassa · · Score: 0, Offtopic

      I think he meant: War is having sex with dead people.

      --
      It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    28. Re:Microsoft by Anonymous Coward · · Score: 0

      Darl will have worries about "back-door-exploits" soon enough.

    29. Re:Microsoft by Anonymous Coward · · Score: 0
      If RMS wants to rant about revision control systems,


      He's not ranting about "revision control systems", he's ranting (if he's ranting at all) about using proprietary software in the development process. RMS doesn't have a particular fetish for revision control systems, just whether they're free or not.
    30. Re:Microsoft by Anonymous Coward · · Score: 0

      I'm convinced he would have seen this if he were reading braille hardcopy of it from across the room while drunk.

      Dude, you'd need some pretty long arms to read Braille from across the room...

    31. Re:Microsoft by Anonymous Coward · · Score: 0
      The actual lines of code and the method by which they got there were far too clever for either Microsoft or SCO.

      It's comments like this that make me wish the slashdot friend/foe system had a third level labeled "idiot".

    32. Re:Microsoft by azzy · · Score: 0, Offtopic

      Er.. maybe that's what he meant... but even so.. that's not true either.
      War n A state of open, armed, often prolonged conflict carried on between nations, states, or parties.

    33. Re:Microsoft by adamruck · · Score: 1

      sure, it uses an assignment in a condition.. but if your just skimming code == looks alot like =, unless you have software written to scan for that type of thing, itwould be really hard to pick out of a large amount of code

      --
      Selling software wont make you money, selling a service will.
    34. Re:Microsoft by You're+All+Wrong · · Score: 1

      Kinda-sorta. It can add privelege escalation to a prior remote unprivileged arbirary-code execution exploit.

      Say that when you're pissed.

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    35. Re:Microsoft by Anonymous Coward · · Score: 0

      So... Billy Gates has started coding again???

    36. Re:Microsoft by rocket97 · · Score: 1

      everyone is "root" in windows!

      I know I am going to take a karma hit on this one but this is basically out of curiosity...

      I am just wondering how do you make this argument legitimate? I mean sure a skilled cracker can break into a Windows system and morph it to how they want under administrator privileges, but if there is a admin that has at least the basic understanding of permissions and policies, a system is locked down and kept up to date on the patches it is nearly impossible for the average joe-schmo to gain administrative rights on a Windows OS based computer.

      --
      "The two most abundant elements in the universe are hydrogen and stupidity." -Harlan Ellison
    37. Re:Microsoft by that+_evil+_gleek · · Score: 1

      I think, a couple of thousand would have noticed it, had it gotten in.
      GCC will issue a warning for that one, so it's not very clever at all, really.
      I'm always catching those warning messages out of the corner of my eye, I'm sure I'd notice this one, notice that it wasn't from the assembler, and then either 1.
      blindly add the enclosing (). OR, 2. freak-out. Either way, I'm sure I'd notice it ;-].

    38. Re:Microsoft by Error27 · · Score: 1

      I once did an automated search of the kernel for cases like this where someone had said:

      if (var = constant) {

      It surprised me that I didn't find any mistakes.

      Not that there aren't other ways to create security bugs...

    39. Re:Microsoft by taff^2 · · Score: 0

      The actual lines of code and the method by which they got there were far too clever for either Microsoft or SCO.

      Never put down to malice what can be attributed to incompetence, idiocy, stupidity, etc.

      Would be the first security hole MS or SCO had inadvertantly created.

      --
      Karma: Bad. (As in Good?)
    40. Re:Microsoft by Anonymous Coward · · Score: 0

      Actually, a strict reading would indicate that the person whose sig this is is equating war to necrophilia... which prompts the question: How do they know?

    41. Re:Microsoft by theLOUDroom · · Score: 1

      Dude, you'd need some pretty long arms to read Braille from across the room...

      Unless you aren't blind.

      --
      Life is too short to proofread.
    42. Re:Microsoft by Tailhook · · Score: 1

      GCC will issue a warning for that one

      The perpetrator knew this and enclosed the assignment with extra (). GCC would have said nothing.

      --
      Maw! Fire up the karma burner!
    43. Re:Microsoft by penguin7of9 · · Score: 1

      Linus pointed out a benefit to using BK: even if the official BK repository were changed, he doesn't pull from it

      That's a function of how he uses the repository, not what revision control system he is using. If he wanted to set up a one-way mirror for his repository, he could do that with CVS as well, and depending on what software he uses for mirroring, it would also complain about unexpected changes.

    44. Re:Microsoft by iabervon · · Score: 1

      The next day, the CVS repository is regenerated from the clean sources. It's not a "real" repository, it's the output from a gateway. This means that the next day, your version of the file would include changes which CVS has no record of (because the revisions have disappeared, which is different from the changes being reverted). So CVS would report those as changes, because the current state of the file is unlike the last state it knows about. Therefore, your "cvs diff -u" will include them as if you had made those changes.

    45. Re:Microsoft by iabervon · · Score: 1

      It uses an assignment in a condition, but it was designed such that it makes sense with an equality test there and doesn't make sense with an assignment there. A number of people (including Larry McVoy, for one, and myself as a random interested person) didn't notice that it was actually a conditional, despite knowing that these lines were suspiciously inserted. (I don't know if Linus noticed or would have; someone pointed out what they would actually do before Linus posted anything on the subject).

      Linus is good at finding code which doesn't work right due to the algorithm not working, or which only covers some of the cases, or something like that. I'm not sure he's catch something which looks right but is actually something slightly different which can never have its appearent function but actually does something different. It's just not what he normally catches.

  4. Bad News by MikeDawg · · Score: 1

    This is horrible. Thank heavens BitKeeper recognized the failed attempt to alter the code of the kernel. This is something the kernel developers should really come up and implement a plan to maintain kernel "safety".

    --

    YOU'RE WINNER !
    Another lame blog

    1. Re:Bad News by child_of_mercy · · Score: 2, Informative

      the kernel developers should really come up and implement a plan to maintain kernel "safety".

      Well it got caught didn't it?

      It's the quiet ones you've got to watch...

      --
      'There is a Light that never goes out.'
    2. Re:Bad News by fanatic · · Score: 4, Insightful
      It's the quiet ones you've got to watch...

      Yes, everyone who's upset about exploits they haven't heard about, raise their hands...

      --
      "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
    3. Re:Bad News by toofanx · · Score: 1

      The nice thing about open source is that "kernel developers" don't need to do that. Even you and I can participate in reviewing the kernel developers' code and do our 2p in implementing kernel safety.

  5. Yet another reason to use open source software by Mipsalawishus · · Score: 3, Insightful

    This is the reason I trust open source software. The power of peer review (in one form or another) catches these kinds of things before they are sent into the wild.

    1. Re:Yet another reason to use open source software by mcroot · · Score: 3, Insightful

      Peer review did not catch this. This was detected because people injected code into a specific place where inconsistencies are complained about by the revision control software.

      Had this code come in through proper channels, I wouldn't be so sure that it would've been spotted. Most of the source code trojans people have found in the past were not well hidden, and were turned up relatively shortly. The cases I'm referring to are the trojaned configure scripts, that happened to, I believe, irssi and dsniff, or was it fragroute.. (it was definitely something by Dug Song)

      If you would like to tout peer review. Could you provide a valid example ? They probably are out there, but I can't recall any, and this is not what happened here.

    2. Re:Yet another reason to use open source software by BJH · · Score: 1

      Had it come in through normal channels, I very much doubt whether it would have been committed in the first place.
      kernel/exit.c is a pretty stable area of the kernel - i.e., not one that changes very often. Any patch changing it would have been looked at by at least one core kernel hacker, and while the patch was crafted to avoid compiler warnings and look relatively legitimate, trying to explain why it would be needed probably would not have been easy.

    3. Re:Yet another reason to use open source software by mcroot · · Score: 1

      By normal channels, I mean, a person with commit access having their machine compromised.

      As for peer review, the person doing the back door had a decent idea, there looked to be two commits one which was +58 -0, followed by a -58 +0. The second of which said "oops, edited the wrong file". I could see where people would have seen that and said "oh, he touched the wrong file, nothing changed here, these aren't the droids I'm looking for".

    4. Re:Yet another reason to use open source software by BJH · · Score: 1

      The only person that would matter is Linus, because he'd notice if there were any change to the main BK tree that didn't come from him.

    5. Re:Yet another reason to use open source software by merdark · · Score: 2, Informative

      I thought he started using bitkeeper because he *couldn't* look over all the patches coming in. Bitkeeper helps him let others have access to certain areas. I'm not so sure he'd notice.

    6. Re:Yet another reason to use open source software by tmk · · Score: 1

      But in this case it was not the power of peer review, it was the power of CVS: " in fact it was the BitKeeper CVS export scripts that detected the unauthorized modifications to CVS."

    7. Re:Yet another reason to use open source software by Florian+Weimer · · Score: 2, Interesting

      Had this code come in through proper channels, I wouldn't be so sure that it would've been spotted.

      I doubt it, too. For example, in 1998, the CORE SDI put a backdoor into most SSH 1 implementations, which was included in their CRC32 attack decompensator. Of course, they didn't do it on purpose, but it happened nevertheless, and peer review didn't catch it.

    8. Re:Yet another reason to use open source software by Tim+C · · Score: 2, Informative

      in fact it was the BitKeeper CVS export scripts that detected the unauthorized modifications
      [emphasis added]

      So in fact, it was the power of BitKeeper, or at least BitKeeper's authors, that prevented this, not CVS itself. Looks like closed source saves the day once more... ;-)

    9. Re:Yet another reason to use open source software by Anonymous Coward · · Score: 0

      No, it wasn't even the power of CVS (an open source product). It was the power of BitKeeper: the controversially chosen closed source SCM. Peer review had nothing to do with it: Larry McVoy might have.

    10. Re:Yet another reason to use open source software by black+mariah · · Score: 1

      Of all the stuff on here, THIS gets modded as a troll? Nice. I read this as a good, and SANE, bit of skepticism that is NECCESARY to make sure that nobody gets too full of themselves.

      --
      'Standards' in computing only impress those who are impressed by things like 'standards'.
    11. Re:Yet another reason to use open source software by salimma · · Score: 2, Informative
      it was the power of BitKeeper, or at least BitKeeper's authors, that prevented this, not CVS itself.

      No, not really. It's the scripts written neither by BitKeeper nor by the authors of CVS, but by some developers to allow those unwilling to use BitKeeper to get access to the latest modifications...
      --
      Michel
      Fedora Project Contribut
    12. Re:Yet another reason to use open source software by evil_one · · Score: 1

      Nice to see that you posted without reading.
      Linus actually weighed in on this to say that unless someone changed HIS bk tree, on his workstation, in his office, behind his drop->ALL incoming firewall, he wouldn't be able to sync without generating an error.

      Nice try, but far from informative.

      --
      Desperation is a stinky cologne
    13. Re:Yet another reason to use open source software by molarmass192 · · Score: 1

      Wrong, it's was to facilitate merging. BK has very god merging capabilities compared to CVS. Besides, you obviously haven't tried to submit a patch to Linus, he's renowned for turing down patches, especially from those he doesn't know and trust.

      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    14. Re:Yet another reason to use open source software by merdark · · Score: 1

      Umm. No. Read his response more carefully. He said that someone could have changed the files of any one of the developers with Bitkeeper merge access.

      He said this is unlikely because he 'assumed' that all the core developers have firewalls (nothing about drop->ALL) and secure systems. If someone compromised a core developers system then maybe the trojen wouldn't have been caught. And regardless of how secure your system is, some who is determined enough can probably find a way in, even if it involves physically breaking into an office or such.

      Please don't make things up next time.

    15. Re:Yet another reason to use open source software by evil_one · · Score: 1

      What brand of aluminum are you using to make your hat? ;)

      --
      Desperation is a stinky cologne
    16. Re:Yet another reason to use open source software by Emrys · · Score: 1

      > Peer review did not catch this.

      Not entirely true. If you read the LKML thread, the scripts only caught the anomly. Larry posted that to the list, and his original message had no idea it was malicious. It wasn't until he posted the changed lines that peer review noticed their true purpose.

  6. !!! rag by VAXGeek · · Score: 3, Funny

    Imagine if this had sneaked into some Longhorn code right before shipping. Many eyes make few mistakes.

    --
    this sig limit is too small to put anything good h
    1. Re:!!! rag by Makoss · · Score: 1

      Many eyes make many mistakes. But luckily they're usually connected to many mouths/fingers which yell at each other until it's more right then not.

      Yay peer review.

      --
      Building a better backup.
      Zettabyte Storage
    2. Re:!!! rag by Timesprout · · Score: 1

      This was detected by BitKeeper, not someone reading thru code, Linus's personal choice as Version Control system amid a lot of controversy if I recall correctly. Looks like he has been vindicated in his choice.

      --
      Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
      What truth?
      There is no dupe
    3. Re:!!! rag by LordLucless · · Score: 5, Funny

      No, you don't understand. This exploit was disguised as error checking code. It'd stick out in Longhorn like a sore thumb.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    4. Re:!!! rag by Ripplet · · Score: 3, Funny
      That's right, if it was just something like:
      /* need to be administrator here for temporary */
      /* hack, must remember to change it back again */
      /* later */
      set userLevel = administrator;
      Nobody from MS would have batted an eyelid.
      --

      Skiing? Check out The Independant Skiers Portal

    5. Re:!!! rag by peragrin · · Score: 1

      I thought the problems are is that they don't have any error checking. Maybe they are getting some for longhorn, which is why it got pushed back 2006.

      --
      i thought once I was found, but it was only a dream.
    6. Re:!!! rag by You're+All+Wrong · · Score: 1

      They have error checking, they just found it useless. It just spent the whole day going.
      Check.
      Check.
      Check.
      Check. ...

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    7. Re:!!! rag by HoldmyCauls · · Score: 1

      Not to mention root^H^H^H^HAdministrator access is default in consumer Windows(es?).

      --
      Emacs: for people who just never know when to :q!
    8. Re:!!! rag by Nucleon500 · · Score: 1
      Actually, that would stick out like a sore thumb, because it's not valid Basic. A trojan in Windows would look like this:
      REM need to be administrator here for temporary
      REM hack, must remember to change it back again
      REM later
      4245 LET USERLEVEL% = ADMINISTRATOR%
  7. hmm by Anonymous Coward · · Score: 4, Funny

    Sounds like a plan to get the dirty GNU/hippies to upgrade to the real BitKeeper instead of using the communist CVS gateway.

    That McVoy is a smart one!

    Did you know his programmers need to feed their families and pay their mortgages? Very sad situation, I hope everybody buys 10-15 licenses ASAP.

    1. Re:hmm by Anonymous Coward · · Score: 0

      C'mon out from under that rock Arcangeli, we know it's you...

    2. Re:hmm by Anonymous Coward · · Score: 0

      Last I checked there were a lot more people besides Andrea that are tired of hearing McVoy's drivel.

  8. hehe by lone_marauder · · Score: 0, Flamebait

    As usual, Microsoft is overplaying its hand. They should stick to astroturfing slashdot.

    --
    who are those slashdot people? they swept over like Mongol-Tartars.
    1. Re:hehe by Anonymous Coward · · Score: 0
      --
      Putting a stop to Microsoft Astroturfing (tm) - One mod point at a time.

      Given that you were modded down as flamebait, your sig is quite the zealoty statement. I do hope you feel especially stupid tonight.

    2. Re:hehe by Anonymous Coward · · Score: 0

      I hate to disappoint you, but this isn't the first time I've been modded down.

  9. Re:Conspiracy Theory by Anonymous Coward · · Score: 0

    If it was SCO, they would have just planted some of their source code... Oh, maybe they did.

  10. more reason to sign patches? by tomstdenis · · Score: 5, Insightful

    Why not just establish a web-o-trust and sign patches?

    That way people who hack in won't be able to send in signed patches to the system [e.g. even if they physicially update the tree others can trivially spot the unsigned patches].

    That would of course, require people to actually think about security in terms of "oh sure people won't hack it because it hasn't been done...much...before."

    Tom

    --
    Someday, I'll have a real sig.
    1. Re:more reason to sign patches? by Anonymous Coward · · Score: 1, Insightful

      this wouldn't solve much.. now the barrier for adding a backdoor would be hacking a contributor's computer.

    2. Re:more reason to sign patches? by KFK+-+Wildcat · · Score: 1
      They say they'll add GPG signatures shortly, which has to be a good thing.

      However, realise that this backdoor attempt was caught very early on, and by reading the comments posted on LKML, it almost certainly couldn't have been included in the main BK source tree, as updates to it would have stopped working (locally stored versions being different from the server version, this would have been immediately noticed.) So I'd say that there is already a proper verifications preventing backdoors.
      Of course, more verifications can't hurt.

    3. Re:more reason to sign patches? by Tailhook · · Score: 1, Insightful

      How would a web of trust help? Odds are the backdoor was introduced by compromising some developers machine. If that is the case then whatever cert would be needed to sign a patch would probably also be compromised.

      All signatures would do is raise the bar a tiny bit and provide a false sense of security. Whoever pulled this off wouldn't be hindered in the least if the bar had been a little higher. At best you would be able to point a finger at the developer responsible for the cert, but why would the perpetrator care about that?

      There is no magic bullet for this kind of thing. It's Open Source and the operative word is "open." Only because it's open was this caught. Closed source is even worse.

      --
      Maw! Fire up the karma burner!
    4. Re:more reason to sign patches? by Anonymous Coward · · Score: 0

      Fuck that noise.

    5. Re:more reason to sign patches? by jrockway · · Score: 3, Insightful

      Yeah it's really easy to sign code when you don't have the key. All you have to do is try about 2^1024 different combinations of 1's and 0's. Simple, but not if you want it done before the Universe is gone.

      And if you have access to the key, remember that it's encrypted with a passphrase. Assuming it's 40 letters or longer (Something like "This is a passphrase that is long but easy to remember. I would just like to tell you, Mister Password Prompt, that nobody will guess this!"), you would have to try about 100^40 different passphrases. That's hard.

      So basically, it's really hard to forge a digital signature. Harder than breaking into the BK server, anyway.

      --
      My other car is first.
    6. Re:more reason to sign patches? by ThenAgain · · Score: 1

      Don't forget about passphrases. It's a know-something/have-something system. I can't speak for kernel contributers but my cert/key passphrases are generally made up of random letters and punctuation.

      The whole process of understanding and creating GPG/SSL certs [hopefully] induces one to put some thought into their passphrase.

      I should also hope that those kernel gurus are bright enough to pick decent passphrases between bouts of floating meditation.

    7. Re:more reason to sign patches? by Wesley+Felter · · Score: 1

      IIRC, OpenCM and monotone work this way.

    8. Re:more reason to sign patches? by El+Cubano · · Score: 1

      Why not just establish a web-o-trust and sign patches?

      Because this made it into the code by someone directly modifying the CVS tree, not by a patch. Signing every patch would help overall security, but would not have made a lick of difference in this case.

    9. Re:more reason to sign patches? by G27+Radio · · Score: 1

      Yeah it's really easy to sign code when you don't have the key. All you have to do is try about 2^1024 different combinations of 1's and 0's. Simple, but not if you want it done before the Universe is gone.

      I think he was referring to the key when he said "cert."

      And if you have access to the key, remember that it's encrypted with a passphrase. Assuming it's 40 letters or longer (Something like "This is a passphrase that is long but easy to remember. I would just like to tell you, Mister Password Prompt, that nobody will guess this!"), you would have to try about 100^40 different passphrases. That's hard.

      If the attacker already had access to the machine then a keylogger would be able to take care of grabbing the passphrase.

    10. Re:more reason to sign patches? by Tailhook · · Score: 2, Insightful

      Yeah it's really easy to sign code when you don't have the key.

      If a developers machine is compromised (as I imagined in my post) getting the passphrase is trivial. How many different ways can you imagine discovering the keyring passphrase on a machine you have the ability to discretely administer?

      Just off the top of my head (and no astronomical exponents required):
      Man-in-the-middle the keyring editor
      Scarf it from memory
      Monitor keystrokes

      Harder than breaking into the BK server, anyway.

      No one broke into a BK server. The BK content is routinely exported to a CVS server so that free software zealots have something to pull from that doesn't involve using BK. The backdoor was done directly on that CVS export (probably by compromising CVS pserver) in the hope that someone who actually uses the CVS server would pick it up and submit the altered file as a patch into the BK tree. Several more things would have had to occur for the backdoor to have "worked": some developer would have had to pick up the altered file, submit that file to Linus, have Linus (and ultimately everyone else) miss the backdoor and commit the change to BK (not easy because, as in the case of the backdoor, using the assignment operator in a condition: if (foo = 0) ... is a huge red flag to good C programmer,) and then go unnoticed for enough time that hosts in-the-wild ended up running it. A long shot, to say the least.

      --
      Maw! Fire up the karma burner!
    11. Re:more reason to sign patches? by Anonymous Coward · · Score: 0

      Because this made it into the code by someone directly modifying the CVS tree, not by a patch. Signing every patch would help overall security, but would not have made a lick of difference in this case.

      A version control system could require a digital signature for any action it performs, and store that in the revision history. Doing that for CVS would probably break file-format and protocol compatibility, but other systems might be able to do it.

    12. Re:more reason to sign patches? by Tailhook · · Score: 1

      I think he was referring to the key when he said "cert."

      What I did was presume it understood that if a machine hosting a keyring was sufficiantly compromised getting the keyring passphrase was probably trivial. Shame on me for presuming so much of /. readers. "Cert" comes from too much SSL in my recent past when thinking of how one typically ends up manipulating public and/or private keys. Shame on me for sloppy terms.

      --
      Maw! Fire up the karma burner!
    13. Re:more reason to sign patches? by Anonymous Coward · · Score: 0

      If a developers machine is compromised (as I imagined in my post) getting the passphrase is trivial.

      Sure, but the developer would probably revoke his key and warn the linux-kernel mailing list as soon as he noticed. And I assume he'd notice if the kernel changelog mentioned a patch falsely claiming to be from him.

    14. Re:more reason to sign patches? by ron_ivi · · Score: 1
      Tailhook wrote: Just off the top of my head (and no astronomical exponents required):
      Man-in-the-middle the keyring editor
      Scarf it from memory
      Monitor keystrokes
      And this is exactly why we need Palladium or trusted whateveritscalledthesedays.

      With a Palladium-equiped system, none of these attacks are possible - keystrokes are sent as encrypted, signed packets that verify what device they're from - memory's protected by hardware - teh program the keystrokes are going to is checksummed, etc.

      As much as people like to bash it, it would be useful in the case you described.

    15. Re:more reason to sign patches? by Anonymous Coward · · Score: 0

      damnit, now i need to change my passphrases! the odds of you actually getting that were like 1 in a billion or so, but you actually got one i use!!!

    16. Re:more reason to sign patches? by Anonymous Coward · · Score: 1, Funny

      "This is a passphrase that is long but easy to remember. I would just like to tell you, Mister Password Prompt, that nobody will guess this!"

      Hey man... That's my password. Why do you have to go and tell everyone?

    17. Re:more reason to sign patches? by Hast · · Score: 1

      Palladium doesn't (AFAIK) protect from hardware attacks. So there are still vulnerabilities.

    18. Re:more reason to sign patches? by Alsee · · Score: 2, Insightful

      And this is exactly why we need Palladium or trusted whateveritscalledthesedays.
      As much as people like to bash it, it would be useful in the case you described.


      NO.

      While you are right that Palladium-like-hardware or trusted-whatever-like-hardware could be used as you suggest, there is still absolutely NO justification to forbid the owner of the machine from knowing his own master key. And that is the central design feature of Palladium/NGSCB and TCPA and Trusted-Computing.

      There is NO POSSIBLE security benefit you can get by NOT KNOWING YOUR OWN KEY. The only possible purpose to forbid people to know their own key is for DRM and user lock-in.

      New hardware is fine. Forbiding the owner of the machine from knowing his own master key is purely malicious. Palladium/whatever forbid the owner to know his own master key therefore Palladium and the others are malicious.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    19. Re:more reason to sign patches? by FauxPasIII · · Score: 1

      > this wouldn't solve much.. now the barrier for
      > adding a backdoor would be hacking a contributor's
      > computer.

      And guessing his passphrase, if he's got two brain cells to rub together.

      --
      25% Funny, 25% Insightful, 25% Informative, 25% Troll
    20. Re:more reason to sign patches? by swillden · · Score: 1

      While you are right that Palladium-like-hardware or trusted-whatever-like-hardware could be used as you suggest, there is still absolutely NO justification to forbid the owner of the machine from knowing his own master key. And that is the central design feature of Palladium/NGSCB and TCPA and Trusted-Computing.

      Not really, at least for TCPA (I haven't read the NGSCB specifications, but I suspect your statement is correct in that context). TCPA defines the notion of a "TPM owner" (TPM == Trusted Platform Module, which is the physical module that implements the Trusted Computing Platform Architecture), who has complete control over the machine, along with mechanisms for TPM owner authentication. Assuming the TPM owner is also the owner of the machine, TCPA is a very valuable security tool that has no real downsides.

      In the case of the Thinkpads that IBM is currently selling with an embedded TCPA TPM, for example, the owner of the machine is the TPM owner. I'm getting one in the next month or two and really looking forward to fiddling with it (using the IBM-provided Linux drivers).

      There is NO POSSIBLE security benefit you can get by NOT KNOWING YOUR OWN KEY.

      You probably didn't mean what you said here. What you mean to say is: There is NO POSSIBLE security benefit you can get by NOT CONTROLLING YOUR OWN KEY.

      There's a *significant* advantage to not actually knowing your own key. If a key is generated, stored and used inside secure hardware that will never give it up, then you have a high level of confidence that as long as you possess the hardware you, and you alone, possess the key.

      What TCPA provides is two things:

      1. A place to securely store and use cryptographic keys, so that they never exist in the clear in an insecure environment (e.g. main system RAM).
      2. A way to control what software can request the use of the keys. Keys (and other data) can be "sealed" so that they can only be used when the machine has booted into a particular configuration. This is important because you can't really trust a digital signature, for example, if an attacker can simply load up his own software that asks the chip to sign whatever he likes.

      Item 1 is useful by itself, but is relatively easy to circumvent. Items 1 and 2 together, plus a boot loader and operating system and application software that all work together with the TPM can make a fairly tight system. Barring physical attacks on the TPM and barring exploitable holes in the OS and app software (yeah, right!), TCPA provides complete assurance that keys can only be used as intended by the TPM owner.

      Of course, if the TPM owner is *not* the machine owner, then these same tools can be used to create very strong DRM. What we have to watch out for is hardware manufacturers who pre-load system software and set up keys that are usable only in that configuration.

      What we really need is legislative digital consumer protections that require content distributors to provide mechanisms for format shifting, backups and fair use. Then we could focus on using the technology to secure our systems, confident that it cannot be used against us.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    21. Re:more reason to sign patches? by Anonymous Coward · · Score: 1, Interesting
      "This is a passphrase that is long but easy to remember. I would just like to tell you, Mister Password Prompt, that nobody will guess this!"


      Actually, these sort of pass phrases are considered weak. Think about it: to generate all such pass phrases, you only really need a dictionary with every word in the English language, which isn't really all that high, computationally speaking. The length of a sentence that you'd need to be as secure as something shorter but more cryptic would make using a sentence as a pass phrase useless. Basically, it comes down to the amount of entropy in the pass phrase, and English sentences don't have a lot. It's not as bad as, say, using a password, but it's still not good.
    22. Re:more reason to sign patches? by Alsee · · Score: 1

      Not really, at least for TCPA

      Yes really, including TCPA. I have read quite a bit of the TCPA technical specs. I am well aware of the TMP Take_Ownership command and process. It allows limited use of the key while frobidding the owner to know his key.

      > There is NO POSSIBLE security benefit you can get by NOT KNOWING YOUR OWN KEY.

      You probably didn't mean what you said here.


      No, I meant precisely what I said. If you own two machines with identical hardware, the first one where you know your master key and the second one where you do not know your master key, there is no POSSIBLE thing the second computer can do for you that the first computer couldn't do at least as well.

      There's a *significant* advantage to not actually knowing your own key.

      I defy you to name a single advantage. We are talking essentially identical hardware except that the owner - and only the owner - has his master key value. There are multiple options for achieving this, the master key could come printed on a sealed peice of paper, or the key could be released by pressing a physical button and entering a password you set in during the Take_Ownership command. Feel free to suggest other methods, but the real point is that currently the TCPA specification REQUIRES that the owner never be permitted to know/discover his master key.

      What TCPA provides is two things:

      1. A place to securely store and use cryptographic keys, so that they never exist in the clear in an insecure environment (e.g. main system RAM).


      That works just as well if the owner has knowledge of his master key.

      2. A way to control what software can request the use of the keys. Keys (and other data) can be "sealed" so that they can only be used when the machine has booted into a particular configuration. This is important because you can't really trust a digital signature, for example, if an attacker can simply load up his own software that asks the chip to sign whatever he likes.

      Malicious/trojan software cannot read a key printed on paper, nor could it press a physical button to release a key. There is absolutely no way your machine is less able to protect you and your data if you know your key.

      Oh, wait, on a second reading of #2 I see you are reffering to the REAL purpose of TCPA. When you said "control what software can request the use of the keys" you were not reffering to THE OWNER having control over his machine. You want to deny the owner control of his own property. As I said, that is entirely malicious.

      When you said "attacker can simply load up his own software" you were reffering to a perfectly legitimate case of someone choosing to run software on his own machine. You want to treat the owner of the computer as the enemy. You want secure the machine against the owner.

      As I said, there isn't a single thing the computer can't do FOR the owner if he knows his key. The only difference is that not knowing the key means the computer can be used as a weapon AGAINST the owner. As I said, that is entirely malicious.

      Designing TCPA to deny the owner knowledge of his own key is pointless. It is his property and he has absolutely every right to rip the chip open and read his key out with a microscope. Once he has done that he has genuine control over his machine. It gives him "god level" control over the TCPA system. He can then run anything anything he likes and sign anything he likes. He can instruct his machine to unwrap DRM and "lie" about what software he is running. As I said, it is his property and he has every right to do so.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    23. Re:more reason to sign patches? by Old+Wolf · · Score: 1

      Actually, there is. Laws are coming in that will require a user to divulge passwords, keys etc. to police with a search warrant (or else face arrest etc.). If you don't know your own key then you can't give it to the feds.

    24. Re:more reason to sign patches? by p3d0 · · Score: 1

      Developers would need to change keys periodically because it's only a matter of time before they're brute-forced. So how do you distribute the new public keys?

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    25. Re:more reason to sign patches? by swillden · · Score: 1

      If you own two machines with identical hardware, the first one where you know your master key and the second one where you do not know your master key, there is no POSSIBLE thing the second computer can do for you that the first computer couldn't do at least as well.

      The thing the second one can do that the first one cannot is be secure. I'm not saying the second one is secure, I'm saying the first one cannot be, or at least it cannot be any more secure than wherever you store that key.

      In a real-world environment where security really matters, finding a place to store that key is really, really hard. Where can you keep it so that it's (a) accessible at a moment's notice and (b) impossible for someone else to copy? Think a server room, or a laptop that is carted all over the world on business, not your bedroom. For that reason, most secure devices (like smart cards and cryptographic co-processors) have the ability to generate a key pair internally and maintain the private key inside, refusing ever to divulge it.

      Further, the "master" key (which means a very specific thing in this context, and not what I think you're using the term to mean) is a symmetric key that has no value whatsoever outside the device, since it's just used as a mechanism to turn a very small secure memory into an arbitrarily large one.

      Keys that exist outside of secure hardware at any point in their lifetime can be compromised in ways that hardware-bound keys cannot.

      Malicious/trojan software cannot read a key printed on paper, nor could it press a physical button to release a key.

      So? What *value* is a key printed on paper? Can you use it to sign messages? How do you get it from the paper into a secure computing environment? Type it in? Keyboard sniffers, trojans, memory scanners, remote devices reading the EM fields generated by your machine...

      When you said "attacker can simply load up his own software" you were reffering to a perfectly legitimate case of someone choosing to run software on his own machine.

      Actually, I was referring to the case where an attacker has temporary or permanent physical access to a machine he doesn't own/control. Say, for example, that I have large quantities of valuable confidential information on my laptop, and you steal it. It's very important to me that I be able to secure the data even when I don't have physical possession of the machine (currently I do that by encrypting it all, but if you could insert a trojan onto my box, you could snarf my passphrase and the encryption would become useless, or you could snarf my private key out of RAM when it was decrypted for use in decrypting the data, etc.).

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    26. Re:more reason to sign patches? by penguin7of9 · · Score: 1

      If the attacker already had access to the machine then a keylogger would be able to take care of grabbing the passphrase.

      Or maybe the attacker didn't have access to the machine and hacked into the repository through some other means.

      Security isn't black-or-white. Adding signatures adds another checkpoint. It doesn't make things 100% secure, but it makes it makes some attacks impossible and it makes other attacks a lot more work. That's a good thing.

    27. Re:more reason to sign patches? by Alsee · · Score: 1

      Actually, there is. Laws are coming in that will require a user to divulge passwords, keys etc.

      Good try, but no cigar. You won't be able to give the police the master key, but you can give them as much access to your computer as you have. They can open anything you can open.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    28. Re:more reason to sign patches? by Alsee · · Score: 1

      The thing the second one can do that the first one cannot is be secure... it cannot be any more secure than wherever you store that key.

      No, you are perfectly free to burn your copy of the key if you like. So again, the second computer is capable of everything the first is. With the second computer the owner is actually in control and can know his master key if he wants to. It is entirely up to the owner whether he wants the key "accessible at a moment's notice" or not. You can nearly always simply use the TPM with the key hidden inside. You know need to know the key when you want your computer to do something that TCPA prevents you from doing. You own your computer, and your computer should not forbid you from doing what you want to do.

      This entire argument is about an owner who wants to know his key. An owner who doesn't want to know his key is perfectly free to not know his key (he can burn it or whatever). You are arguing to forbid the owner from knowing his key even when he wants to know and use it. There is NO justification for that.

      the "master" key (which means a very specific thing in this context, and not what I think you're using the term to mean) is a symmetric key that has no value whatsoever outside the device

      Three incorrect statements in one sentence, hehe.

      (1) I am using the phrase "master key" with very specific and correct meaning. I am reffering to your TPM PRIVEK, the private endorsement key. Any random reader can understand "master key", but only TCPA experts know what PRIVEK means. I want the general public to be able to understand what I'm saying.

      (2) Your master key (PRIVEK) is NOT a symmetric key! This part of the encryption uses public key cryptography. It uses an assymetric key pair, a public endorsement key (PUBEK) and a private endorsement key (PRIVEK). You do get to know the PUBEK half and it is perfectly safe to post your PUBEK on the internet. It is only the PRIVEK half you need to keep secret.

      (3) The PRIVEK certainly DOES have value outside the device. For one thing I can use it to unlock the key to unlock a DRM'd file to make perfectly legitimate and legal use of that file. I can also use it to move my files when I buy a new computer. I can also use it to aviod vendor-lock-in if I've been using software from one company and later want to switch to software from another company. Without the key I can't use my data with the new software I bought.

      What *value* is a key printed on paper?

      You would rarely need it, but it gives you the power to unlock your own files if you want to. For example TCPA will be used to lock files to a specific computer. When you your computer gets old and you buy a replacement you can enter that value once to unlock all of your files to move them to the new computer. If you don't know the master key there will be some files you CANNOT move, they will effectively "die" locked to the old machine.

      That is a perfect example and it only requires you to enter the key once when getting rid of the old machine (and the new machine would have it's own new key). You could put the paper with the key in your bank safety deposit box.

      Actually, I was referring to the case where [a thief] has temporary or permanent physical access to a machine he doesn't own/control.

      Ah, good. In that case there is still no justification to forbid the owner from knowing his key. A printed key in a bank vault isn't going to do a laptop thief any good.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    29. Re:more reason to sign patches? by swillden · · Score: 1

      No, you are perfectly free to burn your copy of the key if you like.

      How do you know someone didn't make a copy before you burned it?

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    30. Re:more reason to sign patches? by Alsee · · Score: 1

      How do you know someone didn't make a copy before you burned it?

      You're really grasping at straws here, but ok...

      Say the paper-key comes sealed from the chip manufacturer. You can burn it without ever even opening it. And if the paper-printed key was "stolen" back within the TCPA chip manufacturing plant then it could equally have been stolen within the chip manufacturing plant no matter what.

      -

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    31. Re:more reason to sign patches? by swillden · · Score: 2, Insightful

      You're really grasping at straws here, but ok...

      Absolutely not. I design and build high-security systems for a living, and these sorts of issues are very, very real. When millions of dollars depend on a key's integrity, this stuff *matters*.

      For that matter, if there's a way to compromise keys in bulk, the individual keys don't even have to be very valuable to make the attack worthwhile.

      Say the paper-key comes sealed from the chip manufacturer.

      Now there are a dozen points during the manufacturing process where the key could have been compromised, not to mention many, many hands that could have opened the paper enroute, copied the key and generated a new "sealed" copy to pass along. The processes used to generate, print and mail credit card PIN numbers demonstrates just how hard it is to maintain security in a process like this, and those numbers aren't all that sensitive.

      Even if we stipulate that the manufacturer is able to produce sealed documents without any possibility of compromise, how will you, the end user, be able to distinguish between the real thing and a well-executed forgery?

      And if the paper-printed key was "stolen" back within the TCPA chip manufacturing plant then it could equally have been stolen within the chip manufacturing plant no matter what.

      Now we're getting to the meat of it. Here's the crux of the matter: In a well-designed security system, the crucial keys *never* exist in cleartext outside of secure hardware. In the case of TCPA this is really easy because the chip has the ability to generate its own keys. This means that they can't be stolen at the manufacturing plant without essentially destroying the chip (well, barring side-channel attacks, but it's fairly easy for the manufacturer to protect against those. If you're not familiar with the concept, look it up. If you like security stuff, it's fascinating).

      All high-security tokens utilize this same concept of keys that never leave the device, because it's really the only convenient way to maintain security of the keys. For the times when keys *must* leave the device, and cannot be encrypted (for example, during initial key exchange of symmetric keys), good systems still don't let them out in the clear. Instead, we use "secure key splitting" to break the key in to n parts, such that all n are required to reconstruct any information about the key, and those parts are then transferred separately, via separate routes to different people and kept apart until they can be entered into secure hardware, and reassembled there.

      At the end of the day, the real bottom line, however, is that it is not only potentially bad to know your key, it's completely unnecessary. Banks use 3DES symmetric keys (called Zone Master Keys) to transport messages worth billions of dollars every day, and I guarantee you that no human has *ever* seen a singe bit of any one of those keys.

      No, what you want, as the owner of a key, is to be sure that you can use it and no one else can. Having it stored in a secure device that will never reveal it, but will employ it on your behalf, at your request is the best way to do that.

      The problem at hand (that TCPA makes DRM possible), actually has nothing to do with whether or not the owner has a copy of the endorsement key. Your claim that you could use the endorsement key to decrypt DRM-protected data is incorrect, because the endorsement key will never be used to decrypt any data (to use it for decryption would be to destroy its security as an endorsement key. Think about why that is; it's interesting).

      Here's how a TCPA chip might be used to implement a DRM system:

      1. The content provider sends a challenge value to your computer.
      2. Your computer uses the TCPA TPM_Quote primitive to ask the TPM to generate a signed message that incorporates both the challenge, the current contents of the Platform Configuration Registers (PCR) and a Binding Key. The message is signed by some ke
      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    32. Re:more reason to sign patches? by Alsee · · Score: 1

      Your claim that you could use the endorsement key to decrypt DRM-protected data is incorrect

      What I said was correct, you missread me. I said: "I can use it to unlock the key to unlock a DRM'd file". I read the specification and the hardware is specificly and repeatedly forbidden from using the endorsement key to directly encrypt user data.

      what you want, as the owner of a key, is to be sure that you can use it and no one else can.

      In the vast majority of advertized uses (and the covertly intended uses) the device will employ the key on behalf of anyone who who gets their hands on it. A thief would have just as much access as the owner. The only time a thief can't use it is when the owner has to authenticate himself each time with a password. I'm sure you're aware this is clearly the most vunerable point in any system. There's no point in 3-inch solid steel walls on a house with a cardboard door.

      If a thief gets the owner's password and not the PRIVEK then he gets full owner-level access. If the thief gets the chip's PRIVEK and not the owner's password then he still can't read properly encrypted data. So a thief doesn't need the PRIVEK and he gets virtually nothing from the PRIVEK.

      TCPA is not being designed/advertized/positioned for internal bank use. It is for home PC use. Its current design goals are DRM and remote attestation.

      Here's how a TCPA chip might be used to implement a DRM system:
      5. Somehow, the content provider verifies that your machine is currently DRM-compliant. How this would be done is unclear. It's probably not possible to check the PCR values against "known good" values


      TCPA is specificly designed to support DRM. They wouldn't be spending enormous sums of money to get this installed in every single new PC if they hadn't worked out the details. The way it works is they store a daisy-chain of PCR values at each step. This list is stored in main RAM or disk, so there is no limit on the length of the list. It uses a secure MD5 hash so the final PCR value authenticates every element of teh list. The entire list can be sent and each step can independantly be verified against "known good values". If I haven't explained it clearly enough just ask and I'll go into better detail.

      TPMs... don't have any protection against, e.g. side-channel attacks. It's almost certain that a knowledgeable person with an oscilloscope could dig the keys out non-destructively via timing or power analysis

      This is actually more evidence that TCPA is designed specificlly for the malicious purposes of DRM and remote authentication. As you say the system is not designed to be secure against a genuine attacker, but it is effective against general-public owners.

      "TPM_Force_Unbind" / "TPM_False_Quote"

      I certianly support fixing the TPM so it actually does what the owner wants it to do, but I have three issues:

      #1 The modifications would have to be carefully designed to ensure there remains no possible way to abuse the TPM against the owner, and I have zero trust in the current TCPA backers to do it right. They don't WANT it to work for the owner.

      #2 The owner has every right to dig his key out if he wants to, so there's no reason not to give it to him if he wants it.

      #3 And most important, the people behind TCPA do NOT want to fix the abuse problems with TCPA and there's no way they'll change it unless the public rejects the current design. The public isn't going to care about something they can't understand, and they can't understand "PM_Force_Unbind" and "TPM_False_Quote". They CAN understand that TCPA forbids them to know their own master key. It's a simple concept that getting your master key means you are in control and that denying you your key denies you control.

      To recap, my points are:

      *The only way to keep the keys truly secret is to make sure they never exist outside the secure hardware.


      If you don't use a personal p

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    33. Re:more reason to sign patches? by swillden · · Score: 1

      What I said was correct, you missread me. I said: "I can use it to unlock the key to unlock a DRM'd file". I read the specification and the hardware is specificly and repeatedly forbidden from using the endorsement key to directly encrypt user data.

      That's still not correct. The endorsement key is never allowed to be used to decrypt *any* data. It is a signing key only. It especially cannot be used to decrypt data (like a key to a DRM'd file) that originated outside of the TPM.

      I explained how the process would have to work.

      In the vast majority of advertized uses (and the covertly intended uses) the device will employ the key on behalf of anyone who who gets their hands on it. A thief would have just as much access as the owner. The only time a thief can't use it is when the owner has to authenticate himself each time with a password.

      Incorrect. TCPA enables a security model that does not require continual authentication. And, actually, continual authentication doesn't provide any security without TCPA (software could simply store the password and replay it as needed).

      With TCPA, you can "seal" secrets so that they can only be used when the computer is in a certain configuration. If you then protect that configuration, it's impossible for an attacker to make use of those secrets. For example, suppose you had a boot-time password which is fed to TPM_Extend (plus all of the other boot and OS params). Without that password, there is no way the attacker can gain the use of the selaed secrets, assuming the machine is shut down when he obtains it. Theoretically, it's also possible to make sure that the system cannot be trojaned and cannot be broken into or used improperly while running. Add to that some simple mechanism to lock the machine when the user steps away and you have a fairly tight system.

      Note that I said "theoretically", because this is hard. Consider Microsoft's success at protecting the X-Box.

      TCPA is not being designed/advertized/positioned for internal bank use. It is for home PC use. Its current design goals are DRM and remote attestation.

      Incorrect. TCPA is primarily positioned for corporate use. Perhaps you're thinking of Palladium?

      A good overview of the purpose and structure of TCPA can be found here

      TCPA is specificly designed to support DRM. They wouldn't be spending enormous sums of money to get this installed in every single new PC if they hadn't worked out the details.

      Wha? TCPA is *not* specfically designed to support DRM. And who is this that is spending enormous sums of money to get this installed on every new PC? As far as I can see, the people paying for TPM chips are the purchasers of high-end business-oriented laptops and workstations.

      If you look at the TCG membership list, you'll notice that it's primarily composed of hardware, software and security companies. The companies in the list who would favor DRM are a small minority.

      If you think about it a little, it's pretty obvious that hardware manufacturers and software makers (other than DRM vendors, of course) have no interest at all in DRM. It does them no good. Quite the opposite: ability to manipulate content is a selling point for hardware, and bigger and bigger hardware will be required to manipulate the higher bitrate video streams that are coming in the future. This is particularly true for vendors who sell to home users.

      For vendors that focus on the business market, like IBM, DRM is simply not relevant. IBM's primary customers might like expiring e-mail or documents that don't allow printing, but only because they haven't thought it through. In reality, DRM would not prevent NDA violations or industrial espionage, but it might create a false sense of security among people who don't understand it.

      There is, of course, a group of content providers who would love to see strong DRM, and have been lob

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    34. Re:more reason to sign patches? by Alsee · · Score: 1

      MD5/SHA-1

      Oops, yep. I knew it was a 160 bit hash and wrote the wrong type. :)

      I'll explain how to easily do DRM over the next few paragraphs. The scrambled PCR is irrelevant because we really only read one bit worth of information from it. It is used as a simple yes/no authentication of the data we actually evaluate.

      There's no need to store a daisy-chain of PCR values

      As I feared, I didn't explain this well enough. You do need to store this chain if you want to do any sort of useful remote attestation - in particular it allows you to easily do DRM. This list process is not detailed in the TCG spec because the spec doesn't go deeply into things you may or may not do outside the TPM. They also don't want to put literal DRM refferences in the offical spec.

      TPM_Extend works by hashing new data into the registers, so the contents at each point in time effectively contain all of the previous values.

      Right. The TCG does not allow you to lie about the final value, and SHA-1 securely links the entire sequence of TMP_Extend values with that final value. You give them the list and they run SHA-1 on it themselves. If their SHA-1 result matches the PCR value then they know they have an accurate list. They then discard the PCR and use the detailed list that generated that PCR.

      The list cannot be verified against "known good values", because the tiniest change in any previous step will completely change the PCR values

      Sure it can! It's not a list of PCR values, it's a list of TPM_Extend calls. The Extend calls are totaly independant and non-scrambled. Changing one item on the list has no effect on anything else in the list. Not only can you verify good values for specific Extends, you can discard the irrelevant junk that randomizes the final PCR value! Lets look at a fictional example:

      Power-on initialize PCR: 00000000
      TPM_Extend(C0CAC01A) - BIOS
      TPM_Extend(FEEDFACE) - Bootloader
      TPM_Extend(ABBABABE) - OS_Trust_Core
      TMP_Extend(CAFED00D) - Operating_System
      TMP_Extend(6891A50B) - Random_Junk1
      TMP_Extend(F8F293BA) - Random_Junk2
      TMP_Extend(00000666) - DRM_Music_Application
      Resultant PCR: DEADBEEF

      Now the remote system has an authenticated list of every Extention and wants to decide whether it will send you a DRM music file. They easily test specific entries against short lists of "known good values". The first values in the list are a standard startup sequence: Is C0CAC01A on the trusted BIOS list? Is FEEDFACE on the trusted Bootloader list? Is ABBABABE on the trusted Trust_Core list? Is CAFED00D on the trusted Operating System list?

      Next we hit some Random_Junk, perhaps games or whatnot. We can't test Random_Junk against any list, but that's OK. We don't care what the Random_Junk is becuase it has no effect on system security. We simply skip these items.

      The LAST value in the list is important, it is the currently running application. They check the last value 00000666 to verify that they are talking to a trusted DRM_Music_Application.

      They have verified the entire trusted boot sequence and verified the data is going to the trusted application. The other values scrambling the PCR are simply discarded.

      Presto, TCPA DRM system! You should pass this method along to your colleagues at Hawthorne, you said they couldn't think of any way to do DRM on TCPA.

      That's still not correct.

      Ok, you can't use the PRIVEK to retroactively decrypt storage keys - but it is possible to use it pro-actively to get the same effect. With the PRIVEK you can defeat remote attestation.

      Really you'd only bother doing this against hostile software like DRM. If you're breaking your data free from hostile influence then you probably have no desire to secure it at all anyway. And if you aren't dealing with hostile software then you'd have no reason to mess with the PRIVEK at all, you'd just use normal TCPA operation.

      I focus on the PRIV

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    35. Re:more reason to sign patches? by swillden · · Score: 1

      The TCG does not allow you to lie about the final value, and SHA-1 securely links the entire sequence of TMP_Extend values with that final value. You give them the list and they run SHA-1 on it themselves. If their SHA-1 result matches the PCR value then they know they have an accurate list.

      Ahhh, okay. I see how the "daisy chain" works around the problem I described. I also don't see any obvious ways to defeat it. I'll run it by my colleagues in research, but I think you're right.

      I believe that point undermines most of my argument that TCPA probably cannot be used for DRM or open source lockout.

      It doesn't change the fact that TCPA is useful and even necessary for securing the owner's data and communications. I still have some hope that it might be possible to have a TPM feature set that enables security without enabling DRM, but I've always considered it possible that the goals are mutually exclusive.

      It is't anti-Microsoft paranoia when Microsoft is doing it right now.

      Yes.

      LOL, you're kidding, right? TCPA provides the ultimate interoperabilty lock-out! Yes, there are open source TCPA drivers and opensource code can "use" TCPA, but in the majority of cases it won't "work". You can write something for use on your own computers, but you can't connect to anyone else. You will fail all remote attestation calls because no one else recognizes your system.

      Agreed.

      I have already shown how DRM can work, and it becomes far simpler when all you have to do is check for a signature from a signing authority.

      Certainly, given the ability to check for a particular configuration and bind keys to that configuration, those keys can be certified and the rest is relatively simple.

      If it were genuinely intended to serve the owner then there would be no such thing as a "rogue owner". This alone is enough to prove the design intent to be secure against the owner.

      No, here you're wrong. The section in question is talking about TPM Identities, which are a very useful tool for anyone who needs to present credentials on-line but doesn't want those credentials cross-referenced. The system wouldn't be trustworthy if a TPM Owner could get the same TPM Identity associated with multiple sets of identification information. If a TPM Owner does want to lie about his/her identity, he/she can do it easily enough with multiple TPM Identities, but this system tries to ensure that it's not possible to have a single identity with conflicting credentials.

      The TPM Identity notion isn't for securing owner data, it's for enabling the owner to conduct on-line commerce with a degree of anonymity. Without this restriction it would be useless because it would be untrustworthy. Well, it could still be trustworthy if the Privacy CAs compared notes, but that would be a bad thing.

      The security of the keys is not a goal in itself unless your goal is to control the owner and authorized users (i.e. DRM). The LEGITIMATE goal is the security of the owner's data for the owner's benefit. The security of keys is only meaningful in that it serves that goal of securing owner data. If someone steals your PC, gets your password, and all of the keys remain "secure" then the thief gets full access and you've have had a total loss of security. On the other hand if someone steals your PC, gets the endorsement key AND the storage key, but does not get your password, then he gets nothing and you maintain full security.

      This is also incorrect, as I explained in my last post. I'll try to do it more concisely here:

      First situation: Remote attack. Without TCPA, your keys have no security. Your machine can be trojaned and the keys copied and transmitted to the attacker when you use them. With TCPA's secure boot provisions, installing a trojan is much, much harder. Even if some security bug permits that, your keys still cannot be retrieved from the TPM, so the attacker can only use the keys with software runni

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    36. Re:more reason to sign patches? by Alsee · · Score: 1

      I still have some hope that it might be possible to have a TPM feature set that enables security without enabling DRM

      Yes I think it is possible, but it all depends on how "security" gets defined. I consider it an axiom that an owner cannot commit a violation against his own property. The current feature set revolves around the presence of the owner in threat models. Eliminate the owner from threat models and you gain a major degree of freedom for change.

      I probably should have taken a better look at the additional TPM_commands you posted earlier. I'm certainly open to any modification that fixes the problem. I'm just frustrated at the fact that there's no way in hell they will willingly change the specification short of public revolt. The public can understand being denied their "master key" and how it relates to DRM locks.

      I hope I haven't sounded too hostile. I'm a programmer and I'm infuriated at the bad parts of TCPA. I'm also rather cynical of security benefit arguments - too much propaganda about it. Even when the security arguments are valid they only justify new hardware, they never justify the design specifications. I don't care how good and nutritions an apple is, it is an EVIL apple if they refuse to allow you to have one without a cyanide pill inside. The TCPA design is evil.

      The system wouldn't be trustworthy if

      Perhaps a poor choice of words? According to the NEW!and!IMPROVED definition, a system isn't "trustworthy" unless it enforces DRM. chuckle.

      According to my definition, my computer isn't trustworthy if it refuses to do what I want it to do.

      What does "trustworthy" mean for you? You seem opposed to DRM - that rules out the first definition. You also seem to want the computer to ensure the owner can't do some things - that rules out the second definition.

      here you're wrong

      Rogue owner = the enemy. Is it OK for your property to treat you as an enemy?

      The section in question is talking about TPM Identities

      Their Identity system is an incomplete attempt to fix the privacy problem. Nothing bad about that as such, but...

      this system tries to ensure that it's not possible to have a single identity with conflicting credentials.

      Why do I want my property to ensure I can't do what I want to do?

      Actually this restriction in particular strikes me as a bit odd. Maybe I don't understand this particular system well enough. Receiving multiple certifications sounds like a good thing to me. If anything it proves you've met more standards. What is the problem if you've met the requirements of two CA's? If they both want to give you a signature and you want to accept both? I can only guess it messes with their Rights Management system in some way. Hmm, it also almost enforces a CA monopoly (or a small cartel of CA's). Maybe that is their intent. It would probably ruin some of their plans if there were a major and useful CA that didn't enforce some of the restrictions they want imposed.

      If a TPM Owner does want to lie about his/her identity, he/she can do it easily enough with multiple TPM Identities

      I don't think multiple identities equates with lying.

      Also, if I understand it right, switching identities locks you out of everying you have under the other identity. You may as well chuck your entire harddrive out the window if you do it. So basicly your entire life is bound to a single CA.

      For example all Windows installs will probably default to a single CA. That CA could forbid you from trusting anything in the Mac or Linux universe. Of course they could make their own CA, but they might as well fall off the face of the planet at that point. And just imagine the predicament you'd be in if you run Windows and you don't select the Windows CA.

      Without this restriction it would be useless because it would be untrustworthy.

      Again, what exactly do you mean by "trustworthy"?

      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
    37. Re:more reason to sign patches? by Alsee · · Score: 1
      --
      - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
  11. I'm impressed by Anonymous Coward · · Score: 0, Insightful

    This is why I think OS is the ultimate meritocracy, those who shine bright shine brighter than all, illuminating the darkness and bringing out those who lurk in the shadows.

  12. Curious abot the hack, was it remote? by nereid666 · · Score: 3, Interesting

    i want to know if the hack was a remote backdoor or "only" a local root compromise. In order to how bad was the hacker that try to do this.
    Thanks to the admins and developers that detect that!

    --
    Damia
    1. Re:Curious abot the hack, was it remote? by BJH · · Score: 1

      Local root, by the looks of it. The changed file was kernel/exit.c, and the change was faked to look like it was doing something, if not reasonable, at least relatively harmless. This line is the killer:

      if ((options == (__WCLONE|__WALL)) && (current->uid = 0))

      As noted on LKML, (current->uid = 0) was probably deliberately surrounded by brackets to avoid a gcc warning of an assignment within a test.

    2. Re:Curious abot the hack, was it remote? by kasperd · · Score: 4, Insightful

      As noted on LKML, (current->uid = 0) was probably deliberately surrounded by brackets to avoid a gcc warning of an assignment within a test.

      I'm not so sure about that. Personally I would have put the brackets there even in case of a normal test. They might not be necesarry, but I trust brackets more than I would trust my own ability to remember the precedence of every operator in C.

      --

      Do you care about the security of your wireless mouse?
    3. Re:Curious abot the hack, was it remote? by krumms · · Score: 1

      Cheers to that. More readable too.

      Imaginary mod points for you ;)

    4. Re:Curious abot the hack, was it remote? by John+Courtland · · Score: 1

      That's pretty sneaky, I would easily skip over it in a simple review. I honestly believe that C needs to always warn when attempting to assign inside of a conditional, even if it's parenthesized (new word? I don't know). I know it would be annyoing, but there are numerous bugs where you accidentally put

      if (x = 0)

      instead of

      if (x == 0),

      it's too easy to make a typo when the assignment and comparison operators are so close.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    5. Re:Curious abot the hack, was it remote? by colinleroy · · Score: 1

      Sure. Case of normal test would be (current->uid == 0). Just imagine, without the brackets gcc could interpret it as (current)->uid == 0. How bad !

      or maybe even current->(uid == 0) ! ;-)

      --
      blah
    6. Re:Curious abot the hack, was it remote? by Vintermann · · Score: 1

      Of course, the better reason to switch to for instance Ada. No assignments in an if sentence there!
      At the same time, you can write just as effectively and unsafely as in C, you just have to write a 15 page essay to the compiler that yes, I know this is unsafe and yes, I want to do it like this anyway.

      --
      xkcd is not in the sudoers file. This incident will be reported.
    7. Re:Curious abot the hack, was it remote? by epiphani · · Score: 1

      Its a local exploit. Its hidden within the wait() system call, and would be exploited using something to the equivelent of wait(333); Its an illegal call, and would return as a bad call to wait(), but you'd be setuid 0 afterwards.

      Now, i havent read the surrounding code, but thats what I understand from whats been said by various people.

      Quite ingenious, if you ask me. Hidden within a system call, in a format that would normally be an incorrect arguement to the call.

      And I agree with one of the responces of a previous poster - I would have had it in brackets as well. Operations order is something I cant be bothered to remember, and when you get into more complex if tests, brackets become your friends.

      --
      .
    8. Re:Curious abot the hack, was it remote? by kayen_telva · · Score: 1

      local

    9. Re:Curious abot the hack, was it remote? by 42forty-two42 · · Score: 1
      Case of normal test would be (current->uid == 0). Just imagine, without the brackets gcc could interpret it as (current)->uid == 0. How bad !
      No. Technically speaking, it's interpreted as (((current)->uid) == 0). The parenthesis are okay around the left oprand of the -> in this case.
    10. Re:Curious abot the hack, was it remote? by pclminion · · Score: 1
      I love how everyone so confidently states "The parens are there to prevent a warning." Clearly none of you know anything at all about the C language.

      The assignment operator is very low precedence, therefore without the parentheses around the assignment the entire subexpression to the left of the '=' operator will be treated as the lvalue, except that it's not a freaking valid lvalue. If you actuall TESTED THIS OUT to verify your (wrong) theory you would find that the code WON'T COMPILE AT ALL without those parens:

      foo.c:6: invalid lvalue in assignment

  13. Hats Off by 00RUSS · · Score: 1

    Hats off to the people who check and report this kind of stuff.

    --
    +-+-+-The folowing statement is true. The previous statement is false.-+-+-+
  14. First of Many? by mikewren420 · · Score: 1

    Will this be the first of more kernel backdoors, now that the idea is out there?

    1. Re:First of Many? by nathanh · · Score: 5, Insightful
      Will this be the first of more kernel backdoors, now that the idea is out there?

      Isn't the pertinent question... was this the first?

    2. Re:First of Many? by Anonymous Coward · · Score: 1, Informative

      The idea has been out there a long time.

    3. Re:First of Many? by allan_q · · Score: 1
      And is this a problem with BK2CVS or CVS in general? It looks like someone was able to masquerade as davem and make changes to exit.c. According to McVoy in this message, the change was caught because BK perfoms a checksum of the kernel.bkbits.net and the internal BitMover CVS trees and compares them. Does this mean that people using just CVS would not catch this?

      Hopefully more information comes out as to how this happened and how widespread this is.

    4. Re:First of Many? by Anonymous Coward · · Score: 0

      There's that lovely O'Reilly book with the hardcopy of the source that is studied in some classes at my university (and, no doubt, others).

      I'd think that someone would notice such things, eventually...

  15. It makes you wonder by Anonymous Coward · · Score: 0, Troll

    how many such holes are in Windows? They could never keep track of everything in the chaos at MS.

    1. Re:It makes you wonder by Anonymous Coward · · Score: 0
      Actually it makes me wonder why whenever something bad happens in the la-la land of open source, the zealots come out of the woodwork to gloss over about how "this is not such a bad thing" and how "it's probably worse at teh M$".


      Distro fries CD drives - "Well, [brand] is a piece of crap anyway" and "given how cheap CD drives are these days, is this such a big deal?"


      iTunes disables MusicMatch - "MusicMatch is crap anyway, iTunes is so much better"


      Attempted kernel backdoor - "Windows must be worse"


      Slashbork is great!

  16. 3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

    This is why monolithic kernals, liek the OpenBSD kernel are bettar. Since Theo dee Raddt is the only one who can edit the code, he is the only one that can add or remove back doors and exploits, so this kind of thing would not happen.

    1. Re:3 cheers for monolithic kernals by nathanh · · Score: 2, Informative
      This is why monolithic kernals, liek the OpenBSD kernel are bettar. Since Theo dee Raddt is the only one who can edit the code...

      You honestly have no idea what a "monolithic kernel" is, do you.

      Or HIBT.

    2. Re:3 cheers for monolithic kernals by _Sprocket_ · · Score: 2, Funny

      When you troll like that, I think you're supposed to have some throw-away account so you can collect karma in some misguided intent to abuse the moderation system. I hear that's what all the kids are doing these days.

      (wait - am I supposed to say "here goes my karma" at this point?) :)

    3. Re:3 cheers for monolithic kernals by Geek+of+Tech · · Score: 4, Funny
      You honestly have no idea what a "monolithic kernel" is, do you.

      My God! It's full of stars!

      1 x 4 x 9

      That monolith... oh... kernel.... right...

      --
      Stop the Slashdot effect! Don't read the articles!
    4. Re:3 cheers for monolithic kernals by TMacPhail · · Score: 2, Informative
      Monolithic, in this sense refers to the design of the kernel. It basicaly means that there is no set structure. Any procedure can call any other procedure in the kernel.

      It doesnt have to do with the development process.

      Besides, the linux kernel is considered to be a monolithic kernel as well.

    5. Re:3 cheers for monolithic kernals by saforrest · · Score: 1


      This is why monolithic kernals, liek the OpenBSD kernel are bettar. Since Theo dee Raddt is the only one who can edit the code, he is the only one that can add or remove back doors and exploits, so this kind of thing would not happen


      Uh, a 'monolithic kernel' is a kernel that handles a lot of stuff, not a kernel developed by only one person.

      In any case, this code was added after the server hosting it was hacked. And no development model will save you from insertion of malicious code if you can't rely on the security of your host machines.

    6. Re:3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

      Just have to say: love that sig!

    7. Re:3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

      1 x 3 x 9 for Kubriks sake!!!

    8. Re:3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

      The monolith in 2001 is a cuboid with the side lengths 1:4:9, the first three square numbers.

    9. Re:3 cheers for monolithic kernals by fuzzybunny · · Score: 1


      I'd rather have a kernel with lots of (known) submitters than a single psychopath.

      --
      Cole's Law: Thinly sliced cabbage
    10. Re:3 cheers for monolithic kernals by shplorb · · Score: 1

      it was a computer error, computer error.

      weapons of mass destruction.

      we flunked.

      Heh, I remember those old monolith demos. funky loops.

    11. Re:3 cheers for monolithic kernals by TheRaven64 · · Score: 0, Offtopic
      Do you even know what a square number is?

      Repeat after me... 1, 2, 3, 5, 7, 11

      Uh, those (with the exception of 1) are prime numbers, not square numbers. The square numbers are ones which are an integer multiplied by itself, i.e. 1 (1x1), 4 (2x2), 9 (3x3), 16 (4x4), 25 (5x5) etc. In 2001 (the book, and I think the film) the monolith was 1x4x9. In later books it was stated that this series extended beyond three dimensions.

      --
      I am TheRaven on Soylent News
    12. Re:3 cheers for monolithic kernals by Nick_dm · · Score: 0, Offtopic

      A square numbers is one which is equal to n^2 when n is a whole number. You are almost talking about primes numbers but you made a mistake, 1 is not a prime. A prime p has to be divisible by two distinct (ie. different) numbers, 1 and itself. 1 and 1 are not distinct (there are some good reasons for this mentioned in the links bellow).

      Square Numbers

      Prime Numbers

    13. Re:3 cheers for monolithic kernals by You're+All+Wrong · · Score: 1

      "Uh, a 'monolithic kernel' is a kernel that handles a lot of stuff, not a kernel developed by only one person"

      Uh, no it's not.

      "In any case, this code was added after the server hosting it was hacked. And no development model will save you from insertion of malicious code if you can't rely on the security of your host machines."

      True, but I don't see Linus' tree being compromised. Linus even said that he'd have spotted these changes as they tried to be
      updated onto his machine.

      This was a belt, braces and safety-pins setup, and only the safety-pins broke.

      Phil

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    14. Re:3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

      "Uh, a 'monolithic kernel' is a kernel that handles a lot of stuff, not a kernel developed by only one person"

      Uh, no it's not.


      Uh, yes, it is. It's the opposite of a microkernel, which is where the kernel does the absolute minimum to get started and load a layer of intermediate code. In Linux/BSD/other monolithic kernel systems, the intermediate stuff is part of the kernel as well, which in theory makes the system less stable. If part of the kernel dies, the system goes down. In a microkernel system, the dead part could simply be restarted. The cost is a whole load of extra infrastructure to manage the intermediate level bits.

    15. Re:3 cheers for monolithic kernals by smittyoneeach · · Score: 1

      Which dimensions are, in fact, easily explored. Simply take
      this little pill => .

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    16. Re:3 cheers for monolithic kernals by cuban321 · · Score: 0

      I bet it's like monolith burger. MMM MMM that place is good.

    17. Re:3 cheers for monolithic kernals by dpilot · · Score: 1

      Squares of the first three primes...

      "...and why did we stop at three dimensions?..."

      Read the book.

      --
      The living have better things to do than to continue hating the dead.
    18. Re:3 cheers for monolithic kernals by Captain+Morgan · · Score: 1

      Uh, no it's not.

      No seriously it is.

      A microkernel is more modular but is slower I believe due to the huge amount of message passing required for the modules to communicate.

      Chris

    19. Re:3 cheers for monolithic kernals by JCholewa · · Score: 1

      > Squares of the first three primes...

      I thought it was squares of all positive integers. After all, is 1 really, really a prime number?

      --
      -JC

    20. Re:3 cheers for monolithic kernals by You're+All+Wrong · · Score: 1

      Don't you think that "does lots of stuff" and "runs a single process" are different things?

      I do lots of stuff, but I'm not a monolithinc kernel, for example.

      Do you have any books, references, or lecture notes to justify the view that "does lots of stuff" means "runs as a single process"? Thought not.

      So seriously - no it is not.

      And microkernels can theoretically be faster in SMP situations, as the different kernel services can run independently with uniprocessor affinities. But get the affinities wrong and you can make the SMP as bad as a uniprocessor microkernel setup and worse than any monolithic setup due to the reasons you state.

      I just hink that if people are going to try to give explanations that the explanations should be meaningful. I feel "does loads of stuff" is a gross miscategorisation of what monolithic kernels are.
      The fact that the post was trying to correct something that was way way way more bizarre didn't help. It was 100 times nearer the mark than the "one author" implication, but still missed, IMNSHO.

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    21. Re:3 cheers for monolithic kernals by Darmox · · Score: 1

      Also, a microkernel has the potential to be much faster than it is today, if hardware were setup for it a bit better. Most(all?) modern CPUs have 1 priority bit, that basically determines if the system is running in a system or user context(note that this has nothing to do with root/user permissions.)

      If a CPU had more than one priority bit, the various system daemons/programs that microkernels use could be each given one priority bit(or a combination of them, etc., but that's minor.) As it is today with a system like HURD, the microkernel emulates those multiple priority bits.

      Note that with a microkernel(more for the grandparent poster) that this means that the kernel itself can be quite tiny, and drivers can be regular old programs(almost, not quite regular, but close.) Which means, if one of your drivers-- say your network card driver-- gives out, it can just be restarted by itself.

      All the kernel has to do is pass messages back and forth, and coordinate the other programs. (IIRC, even the scheduler can be out of the kernel proper)

      --
      If I was that drunk, I would have remembered it -- H. Simpson
    22. Re:3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

      You honestly have no idea what a "monolithic kernel" is, do you.

      Look closely, mate, it's a "monolithic kernal". Maybe that's different.

    23. Re:3 cheers for monolithic kernals by Trepalium · · Score: 2, Informative
      Uhm.... i386+ chips all have two priority bits, for a total of four priority levels. I don't know of a single OS that uses more than ring0 and ring3, though. Even NT/2K/XP, which is supposed to be a microkernel, runs at either ring0 or ring3.

      One obvious advantage to a microkernel is that portions of the kernel can then be (carefully) swapped out to virtual memory on disk, whereas monolithic kernels generally cannot (just don't page out the pager, or disk I/O system!). This is good, because those microkernels tend to run significantly larger than a comparable monolithic kernel. Microkernels tend to be handle to handle real-time scheduling constraints better than a monolithic kernel can because of the nature of the thing.

      Now, aside from SCO UNIX products, I don't know of any OS that is completely monolithic these days. Linux has kernel threads and run-time installable modules which are rather un-monolithic from a purist stand point. And from the microkernel camp, we have NT and OSX, which runs their entire kernel in the highest priority level for performance reasons, and in NT's case, have a rather heavy microkernel. Hybrids, the whole lot of 'em.

      --
      I used up all my sick days, so I'm calling in dead.
    24. Re:3 cheers for monolithic kernals by henbane · · Score: 1

      No, I think he means monotheist

    25. Re:3 cheers for monolithic kernals by balloonhead · · Score: 1
      I just re-read that and realised my mistake. Woe is me. How very embarrasing.

      --
      This idea was invented by Shampoo.
    26. Re:3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

      Ballon head fits you just nicely. Dumbass.

    27. Re:3 cheers for monolithic kernals by Darmox · · Score: 1
      Uhm.... i386+ chips all have two priority bits, for a total of four priority levels. I don't know of a single OS that uses more than ring0 and ring3, though. Even NT/2K/XP, which is supposed to be a microkernel, runs at either ring0 or ring3.


      I stand corrected. I didn't think any hardware around today actually had that. (mostly have only messed with sparcs at that low of a level.) Now it makes me think I should try Hurd again sometime soon:)

      Thanks for the info.
      --
      If I was that drunk, I would have remembered it -- H. Simpson
    28. Re:3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

      After all, is 1 really, really a prime number? Well... By the accepted defenition: "having no factor except itself and one", one is a prime, but most lists of primes don't count it as such.

    29. Re:3 cheers for monolithic kernals by Anonymous Coward · · Score: 0

      From The Free On-line Dictionary of Computing (27 SEP 03) [foldoc]:

      kernel

      (Note: NOT "kernal").

      1. The essential part of {Unix} or other
      {operating system}s, responsible for resource allocation,
      low-level hardware interfaces, security etc. See also
      {microkernel}.

      2. An essential subset of a programming language,
      in terms of which other constructs are (or could be) defined.
      Also known as a {core} language.

      (1996-06-07)

      (END)

      From The Free On-line Dictionary of Computing (27 SEP 03) [foldoc]:

      kernal

      {kernel}

      (END)

  17. Re:Conspiracy Theory by wthynot · · Score: 1

    That would be giving them.........way too much credit.

  18. Nah by Greyfox · · Score: 0, Troll

    Neither one of those companies has the talent to pull this sort of thing off. It was probably some spammer looking for another couple of million hosts to hide behind now that Microsoft is posting bounties for compromising Windows code.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Nah by Anonymous Coward · · Score: 0

      Never underestimate your enemy. Microsoft most definitely does have people smart enough to do this and SCO may have some as well.

  19. Alright.... by aws4y · · Score: 4, Funny

    I'll call ESR, he's got the guns.
    You guys get Linus and make sure he brings Tove, since she could probly kick all our asses.

    Once thats done we'll Larry McVoy, by this time hopefully he will have the IP of the slimeball.

    The Pose rides at Dawn, we can kill some Trolls along the way.

    --
    Did Glenn Beck rape and kill a girl in 1990? gb1990.com
    1. Re:Alright.... by Anonymous Coward · · Score: 0

      make sure he brings Tove, since she could probly kick all our asses.
      definitely......

    2. Re:Alright.... by 10Ghz · · Score: 1

      If I remember correctly, she's a six-time finnish national champion in Karate. They (Tove and Linus) have a bookcase full of her Karate-trophies. so yes, she would kick our asses.

      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    3. Re:Alright.... by Anonymous Coward · · Score: 0

      Her face would be enough to make me give up.

      Sorry Linus, but it had to be said.

    4. Re:Alright.... by __aanekd3853 · · Score: 1

      Once thats done we'll Larry McVoy, by this time hopefully he will have the IP of the slimeball.

      Do you mean 206.252.133.138?

    5. Re:Alright.... by Anonymous Coward · · Score: 0

      What have you got against reflex publishing? ;)

    6. Re:Alright.... by Anonymous Coward · · Score: 0

      ...built like a brick shithouse

    7. Re:Alright.... by Anonymous Coward · · Score: 0

      according to nerdlabs.org : 206.252.133.138 def1-vip.reflexpublishing.net (bogus - name resolves to 66.33.48.80)

    8. Re:Alright.... by Anonymous Coward · · Score: 0

      Don't forget to bring the folks from Tuxedo Jin along!

      (What? Don't you folks know that it's the Official anime of Linux? How could it NOT be with the main character being a penguin??)

    9. Re:Alright.... by __aanekd3853 · · Score: 1

      Huh? Is there something wrong with the DNS server I use?

      $ nslookup -sil slimeball.com
      Server: 194.90.1.5
      Address: 194.90.1.5#53

      Non-authoritative answer:
      Name: slimeball.com
      Address: 206.252.133.138

      This was my reaction to "IP of slimeball"...

  20. So how do we know that there is only one? by dreadlord76 · · Score: 3, Insightful

    Ok, so the scripts caught an attempt to install a back door. Everybody jumps up and down and sings the praise of the mighty Open Source Movement.

    What if a backdoor was installed last week, or last month, but was not caught?

    The fact that this was possible once, should really make people think about the possibility of it happened ALREADY, and determine if it is necessary to hunt through the code for a systematic review.

    Instead, all we get is Microsoft Bashing...
    Ugh

    1. Re:So how do we know that there is only one? by TelcusFreshbreeze · · Score: 1
      I think that it more shows that the system of checking the CVS Entries is actually working well.

      If an automatic script can pick up something like this, and assuming there are also manual checks of the CVS entries, then it shows a high level of security for the source.

      I'd be more worried if there was an article on /. that said "No exploits detected by CVS checking script"

    2. Re:So how do we know that there is only one? by Tailhook · · Score: 1

      necessary to hunt through the code for a systematic review.

      At least we're allowed to if we wish...

      --
      Maw! Fire up the karma burner!
    3. Re:So how do we know that there is only one? by _Sprocket_ · · Score: 1


      The fact that this was possible once, should really make people think about the possibility of it happened ALREADY, and determine if it is necessary to hunt through the code for a systematic review.

      Instead, all we get is Microsoft Bashing...


      Yea - because we all know that as soon as this was discovered, all the kernel developers and assorted dabblers decided to spend all their time on Slashdot thinking up MS-bash jokes. Heck. Its amazing that ANY development is being done these days while Slashdot posts good bash-fodder.
    4. Re:So how do we know that there is only one? by mad+flyer · · Score: 2, Insightful

      Let me try to understand you...

      Your saying that it's bad that some hack get caught before spreading in the wild, and Microsoft is better because at least it let backdoor getting out and nobody can audit for troubles ?

      Don't get it...

      You are the kind of people that make accidents happen.
      You don't point the fact that the system worked by preventing a hack. You just say that the fact that there was an attempt means the system is unsafe...

      It's kinda biased I think...

    5. Re:So how do we know that there is only one? by aws4y · · Score: 2, Informative

      The fact that this was possible once, should really make people think about the possibility of it happened ALREADY, and determine if it is necessary to hunt through the code for a systematic review.

      I don't know if your trying to spread FUD but I'll bite. Each of the patch on the kernel that goes into the main trunk is inspected by the maintainers, and Linus gets the last word. Even the other maintainers go over the code so No it hasn't happened already and this person was an idiot for thinking it would get anywhere near the main tree.

      --
      Did Glenn Beck rape and kill a girl in 1990? gb1990.com
    6. Re:So how do we know that there is only one? by Anonymous Coward · · Score: 0

      I seriously doubt the main kernel hackers spend a signifigant amount of time hanging around here. There's no point hanging out here.

    7. Re:So how do we know that there is only one? by Anonymous Coward · · Score: 0

      I worked for a firm one time that made what pretty much amounted for money.

      At a security training. They asked "What do you do if thieves came in and told you lead them to the expensive stuff".

      Everyone came up with the usual "Lead them this way to trip the alarm, fake a heart attack, etc".

      The correct answer was to give them the stuff but know exactly what it is they took. (For examples, serial numbers).

      You cannot protect a system 100% but if you have a perfect audit/intrusion detection system you can determine exactly what the damage is and how to resolve it faster.

    8. Re:So how do we know that there is only one? by HeghmoH · · Score: 2, Informative

      There are three kinds of backdoors. There are those which are found right away and thus do no damage. There are those which ship and may cause damage but are eventually found. And there are those which ship and are never found.

      We can only ever know about the first two kinds, of course.

      Open Source software has had a few of the first kind, and this is one of them. It has had a very, very, very few of the second kind (the classic compiler backdoor is the only one I know of).

      Closed source software has had some of the first kind, and quite a few of the second kind.

      So, which type of software development is more likely to have the third kind? We can't know for sure, but we can be pretty confident that if there aren't any long-term-but-eventually-found backdoors, there aren't any never-found backdoors either. Likewise, if there are many long-term-but-eventually-found backdoors, there are likely to be a few sitting around that are never found.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    9. Re:So how do we know that there is only one? by Asic+Eng · · Score: 1
      Well, the attempt was caught by an automatic check. So it seems the automatic checking system which is in place is working. Obviously it should be investigated how the guy broke into the gateway, but in order to sneak in a modification to the actual source he would have to break into Linus' machine *and* into the BK server. Breaking into the gateway was a dead end.

      So the story does not expose a methodology problem - the route the guy tried could not possibly work. Accordingly the worry level should be appropriately low. Nothing wrong with being alert, of course.

    10. Re:So how do we know that there is only one? by Cramer · · Score: 1
      • What if a backdoor was installed last week, or last month, but was not caught?
      It would make no difference. The official kernel releases from Linus are exports of the BK tree. The BK->CVS gateway is one way. Changes to the CVS data are NEVER pushed back into the BK tree which is how this was detected -- any change to the CVS repo is automatically suspect.
  21. yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 5, Insightful

    In my code I always put the constant on the lhs so that the difference between the equality (==) and assignment (=) operator are caught by the compiler by accident.

    if ((options == (__WCLONE|__WALL)) && (current->uid = 0))

    In this case, it would make an attempted root hole more visible, as (0 = current->uid) would not compile.

    1. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 1, Insightful

      doesn't lint check for this? If checkins were automatically run through lint something like this would have been easier to detect.

    2. Re:yet another reason for (CONSTANT == var) by JonnyRo88 · · Score: 1

      Agreed, it's really a very simple improvement to put the constant on the left hand side. I didnt even know that this should be done until I was recently informed by one of the CS professors at my school that this practice can seriously cut down on debugging logic errors.

      BEGIN DISCLAIMER
      Now I want to make it straight and clear that this statement is not intended to put down the kernel developers in any way, but rather to agree with the parent comment that this is a good idea in general. I have nothing but respect for the kernel developers.
      END DISCLAIMER

      --
      The Ro Factor - Jeep/Linux Weblog
    3. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0

      Sure, that's good defensive style.

      Is the kernel usually compiled with warnings set to flag this sort of subtle "mistake" (assignment in 'if')?

      Is there a (tightly controlled) list of accepted warnings which can be used to make new ones stand out?

    4. Re:yet another reason for (CONSTANT == var) by Nucleon500 · · Score: 1

      GCC will normally catch assignment in a conditional, but because some people insist on being clever, there's a way around that. Putting parenthesis around the assignment stops the warning, which is exactly what this trojan does.

    5. Re:yet another reason for (CONSTANT == var) by Pieroxy · · Score: 0

      You, mister, are a cretin. If you think kernel developers spend their time reading slashdot, you are greatly mistaken.

      On the other hand, while agreeing with the grand parent on the safety side of the method, it kind of makes your code less readable. So the real issue is: Readability vs. Less chance of making a stupid mistake.

      One thing I learned is that you should never sacrifice design and readibility for the sake of something non critical. As I'd put this "advice" in the list of non critical thing, I'll pass. Thanks.

    6. Re:yet another reason for (CONSTANT == var) by TrancePhreak · · Score: 1

      I always wondered why people did that with their if statements, thanks for the tip off. I find that a bigger problem exists, tho. What if the code that changed the uid was more obfuscated?

      Like say UID is an int, and you declare a pointer to current, but offset it by a certain number of bytes so that it points at UID. Then you put a 0 in it. Now it's hard to tell what it's doing, because you don't get the direct assignment. This would go through a normal look over check most likely. It might raise some flags because of that tho.

      Just thought I'd provide some ideas on the subject.

      --

      -]Phreak Out[-
    7. Re:yet another reason for (CONSTANT == var) by prockcore · · Score: 1

      In my code I always put the constant on the lhs so that the difference between the equality (==) and assignment (=) operator are caught by the compiler by accident.

      I'd just like to point out that this is one of the badass things about C#. You can't test the truthfulness non-booleans.

      So if (blah=0) wouldn't compile..

    8. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 1, Interesting

      Yet another reason to have the root uid not be zero, more like. If the root uid was a value that was determined at system install time and had to be read off the harddisk at boot time, the code would be current->uid == root_uid and it'd stick out like a sore thumb.

      In fact, why is the uid an int anyway? This is classic UNIX arse coding style. We have types, boys, we should use them for JUST this kind of error checking.

    9. Re:yet another reason for (CONSTANT == var) by DunbarTheInept · · Score: 1


      You can't test the truthfulness non-booleans.

      The fact that C considers NULL pointers to be "false" is very handy, as in:

      if( fp = fopen("file","w") )
      {
      file opened correctly, so use the fp pointer.
      }
      else
      {
      error handling here
      }

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

    10. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0
      In my code I always put the constant on the lhs so that the difference between the equality (==) and assignment (=) operator are caught by the compiler by accident.


      Another technique is to #define the macros IS_EQUAL and EQUALS, and to use those instead of == and =.
    11. Re:yet another reason for (CONSTANT == var) by GridPoint · · Score: 2, Insightful
      The following code does the same, without using the "C considers NULL to be false"-hack. It is easier to read and maintain (less bug prone):
      if( (fp = fopen("file","w")) != NULL )
      {
      file opened correctly, so use the fp pointer.
      }
      else
      {
      error handling here
      }
    12. Re:yet another reason for (CONSTANT == var) by spitzak · · Score: 2, Insightful

      No that would not help one bit. The code is designed to look like you are testing to see if current->uid is equal to the root uid. I doubt putting the root id in a variable, or using a macro/enum/constant like ROOT_ID would make the slightest difference in the ability to catch this.

      Please tell me any plausable reason why the mistake is easier to see in the second case than the first:

      if (foo = 0) {...}

      if (foo = x) {...}

    13. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0

      I'd just like to point out that this is one of the badass things about C#.

      You mean, yet another one of the badass things about Java that MS ripped off without crediting them?

    14. Re:yet another reason for (CONSTANT == var) by Haeleth · · Score: 1

      And another is to stop trying to be too damned clever for your own good and move your assignment statements out of expressions. To be on the safe side, move into the 21st century by retiring C and switching to a safer modern programming language which doesn't permit this sort of mistake - or, in the case of this topic, this sort of attack.

      Which is more important to you - saving one cycle by moving an assignment into an expression, or knowing that your OS is secure?

    15. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0

      The C NULL-less version is more concise, and there are other cases in which it it'll make a huge difference (by avoiding to create yet another local var, for example) and make clearer code (not repeating a statement to have the test var initialized before entering the loop), etc.
      And I wonder, does C# have a bool type? If so, then wouldnt:
      if (c = true)
      with c being a bool return a bool type, that code being therefore valid? Inconsistent, wouldn't you say? ;)

    16. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0
      Which is more important to you - saving one cycle by moving an assignment into an expression, or knowing that your OS is secure?

      In the kernel, both are important.

    17. Re:yet another reason for (CONSTANT == var) by millwood · · Score: 2, Informative

      I think you missed the point: 'if (0 = uid)' will NOT compile under any circumstance.

      --

      "Hello, World", 17 errors, 31 warnings
    18. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0

      wouldn't that example be optimized out, curent->uid=0 would return 0 after asignment, the and operator would be anding something with 0, and anything anded with 0 is 0, so it'd change to if(options==0)...

    19. Re:yet another reason for (CONSTANT == var) by Tooky · · Score: 1

      Please tell me any plausable reason why the mistake is easier to see in the second case than the first: if (foo = 0) {...} if (foo = x) {...} I think he meant... if (0 == foo) {...} and if (0 = foo) {...} the second won't compile.

    20. Re:yet another reason for (CONSTANT == var) by 42forty-two42 · · Score: 1

      And C# dosen't work in a kernel.

    21. Re:yet another reason for (CONSTANT == var) by prockcore · · Score: 1

      And I wonder, does C# have a bool type? If so, then wouldnt:
      if (c = true)
      with c being a bool return a bool type, that code being therefore valid?


      You're right. mcs (mono's compiler) doesn't complain, I'm not sure about csc (MS's compiler) since I don't use windows.

    22. Re:yet another reason for (CONSTANT == var) by Codifex+Maximus · · Score: 1

      > And another is to stop trying to be too
      > damned clever for your own good and move
      > your assignment statements out of expressions.

      Do not confuse mastering the language with being too damn clever. I don't see anything wrong with getting a file pointer while I check it's result.

      > To be on the safe side, move into the 21st
      > century by retiring C and switching to a
      > safer modern programming language which
      > doesn't permit this sort of mistake - or,
      > in the case of this topic, this sort of
      > attack.

      Handholding costs speed. That is why we have BASIC.

      > Which is more important to you - saving one
      > cycle by moving an assignment into an
      > expression, or knowing that your OS is secure?

      You mean you can't have it both ways?

      As an apology, you just got me peeved when you sai d, "move into the 21st century by retiring C". You shouldn't aughta do that. :|

      --
      Codifex Maximus ~ In search of... a shorter sig.
    23. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0

      to the other replies: spitzak's point is actually in favor of the post at the top of the thread; the person to whom spitzak is here replying at least appeared to be claiming that you don't need to "invert" the test , if you'd just make root's UID a variable. spitzak's point is that that move by itself won't solve the problem.

    24. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0

      Only on slashdot could a complete lack of comprehension (combined with regurgitation) be marked informative.

    25. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0

      And exactly what more secure language do you propose be used for the kernel?

    26. Re:yet another reason for (CONSTANT == var) by Anonymous Coward · · Score: 0

      Yeah...same for java.

    27. Re:yet another reason for (CONSTANT == var) by spitzak · · Score: 1

      Slashdot probably deleted a post. I was not responding to the original poster, but to somebody who thought things would be better if the "root uid" was not a constant but was a variable.

      The original poster does have a point, "backwards ==" like he uses would make it harder to accidentally do this, though I'm unsure if it would stop a malicious insertion like this unless every single kernel developer used backwareds ==.

  22. In unrelated news, sockets.h changed a little... by wrinkledshirt · · Score: 0, Flamebait

    typedef unsigned int csNetworkSocket;

    #if !defined (CS_NET_SOCKET_INVALID)
    // This is the stuff we stole from SCO, keep it hushed
    # define CS_NET_SOCKET_INVALID ((csNetworkSocket)~0)
    #endif

    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

  23. The more eyes... by Sean+Clifford · · Score: 2, Interesting
    > Setting current->uid to zero when options __WCLONE and __WALL are set? The
    > retval is dead code because of the next line, but it looks like an attempt
    > to backdoor the kernel, does it not?

    It sure does. Note "current->uid = 0", not "current->uid == 0". Good eyes, I missed that. This function is sys_wait4() so by passing in __WCLONE|__WALL you are root. How nice.

    And this is exactly why folks should insist on open source code.

    Assuming it was noticed, and I have little reason to think that modification of a project's cvs tree would go unnoticed, a closed source product would have to go up and down the development chain of command. Then likely up and down the marketing chain of command while a decision was made whether to say anything about it (yeah, right) was made. Meetings would be held, blame would be assigned, and - oh yeah - a discussion about a fix would ensue.

    Perhaps I exaggerate, but only a little.

    I remember when a beta of a game [unnamed software publisher] was working on got ripped off our company ftp site and passed around. There was so much hype about our game that the leaked late beta was a serious disappointment and effectively killed the good buzz the marketing folks had whipped up. [It blew anyway, got shredded by the gaming rags, had a lot of potential but an inexperienced crew and very little financial support.]

    Of course, this situation is nothing like that.

    There's always going to be someone trying to backdoor the linux kernel, windows, osx, apps galore. Having the source on-hand to look at gives you that added level of confidence that "hey, worst case we can fix it - deal with it ourselves" rather than go through the denial, silence, lame excuse, patch cycle you go through with closed source products.

    1. Re:The more eyes... by Anonymous Coward · · Score: 0

      I bet John Romero wasn't too happy with your company and its FTP site:-)

    2. Re:The more eyes... by drinkypoo · · Score: 1
      On the other hand, only the people with access to the source, which would be a significantly smaller pool, would be able to perform the exploit, and they would have to know to look for it. It's not like there's going to be an exploit out the day after, or if there is, not everyone will have it. You may have noticed also that Microsoft has been responding fairly rapidly to exploits with patches...

      So you're right, but you're exaggerating the penalty of a closed source OS. It's true that everyone and their brother can review the code, and that the whole process is completely open, and that these are good things, but assuming the same sort of review went on in the closed source product, and they actually caught the attempt, I don't think it would be as bad as you think.

      Of course, it would probably be worse, because there would be deliberate back doors they knew about...

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:The more eyes... by Anonymous Coward · · Score: 0

      Yes, because whereas companies can run security checks on their employees, it's much better if anyone in the world can attempt to insert root exploits.

      You exaggerate a lot; obviously you have never worked in industry. Projects have lead programmers and the lead programmer would instantly make the no-brainer decision to remove the bug. Marketing chain of command? You've been reading too much Slashdot.

    4. Re:The more eyes... by Anonymous Coward · · Score: 0

      assuming the same sort of review went on in the closed source product

      This is a very bad assumption. I have worked on large code projects at too many companies to believe that this happens even most of the time. Even in the rare cases where code review is part of the development process, it gets scrapped in favor of speed as deadlines approach and pass.

  24. Ebay-style attacks by blastedtokyo · · Score: 3, Interesting
    While this attempt was thwarted, it makes you wonder though if someone could do an Ebay style 'attack.'

    In other words: 1) Work on the code for a long time, developing good features and build up virtual reputation points so that people trust you. 2) One day decide to insert your backdoor amidst some big checkin. 3) Disappear.

    It doesn't seem hard for someone to pay some random third world programmer to do this so. For example, if Red Hat had a guy in russia doing this they could, after the latest kernel was widely distributed, use it to attack Novell/SUSE.

    1. Re:Ebay-style attacks by agurkan · · Score: 0, Offtopic

      what is the country of attacker has anything to do with attack capability? so, the people in russia live in worse conditions than the US, they still have ethics, and some americans don't, as you yourself point out (RedHat is mostly american).
      i am sorry to see that this attitude of self righteousness is being internalized by americans and europeans more and more everyday.

      --
      ato
    2. Re:Ebay-style attacks by blastedtokyo · · Score: 1
      easy...People of different countries have different needs of money for survival, local laws, technology savvy/effectiveness of law enforcement, influence of underworld (mafia, yakuza, etc.), etc.

      Ethics are an interesting thing to bring into this. I'd argue it's more rational (ethical?) for someone who's family is starving/living under life threatening conditions to do a hack job than it is for someone living in a developed country who's doing it for a little more cash.

    3. Re:Ebay-style attacks by spicedhamhawg · · Score: 0

      3) Keep doing what you were always doing. If you suddenly disappear, that could raise suspicions. (No, I'm not a blackhat, but I am a sysadmin, and you have to think like your enemies think if you want to keep them out.)

      4) ???

      5) Profit!

      Because of 5, it's clear that MS or SCO must be behind it ;-)

    4. Re:Ebay-style attacks by Anonymous Coward · · Score: 0

      Although it is very likely an attack can come from inside the U.S., there is a question of risk. The attacker may very well be able to hide, but if caught, he could face penalties. I think it's more difficult to prosecute someone in another country (depending on certain factors like extradition treaties and such), so an unethical person in a foreign country might be willing to perform an attack because they face little risk.

      So, yes, there are unethical people all around the world who do bad stuff. I think a lot of people just assume that U.S. laws are harsher than some other countries' laws about computer crimes, so people are less willing to perform an attack.

    5. Re:Ebay-style attacks by merdark · · Score: 1

      I sure hope your not suggesting Russia is a third world country. You must be American eh?

    6. Re:Ebay-style attacks by agurkan · · Score: 1

      my point is, if someone has strong ethics, then they will not do this kind of thing. if you are skilled enough to submit patches, you can make living out of this without going to dark side. if the imaginary company is providing the patches themselves, why are they going to eg. russia? why not hire someone in the states? also, i don't understand how you can be under life threatening conditions and carry out such an operation which would possibly take months. it seemed to me that your comment was based on the assumption that people in ``developed'' countries are harder to be tempted to do something like this. that is not what i perceive.

      --
      ato
    7. Re:Ebay-style attacks by agurkan · · Score: 1

      you did realize the parent post explicitly said third world programmer. who is going to follow and prosecute someone from eg. france? actually it would be very hard to do anything to someone in the US, too. that person might just be an email address.

      --
      ato
    8. Re:Ebay-style attacks by ThenAgain · · Score: 1

      An interesting idea but I think it's unlikely because it's not like selling stock. You can get on and sell a palette of misc. goods you bought (or whatever) over a period of time, thus building a good rep.

      In kernel development there's nobody sitting around with a pile of good code they submit every Wednesday at half past four. Code contributions come from people who a) have an itch; and b) know how to scratch. There's also the fact that in order to be accepted by the powers that be, their itch has to be common and their scratching has to be of sufficient quality.

      I also imagine even Linus and Alan's patches are seen by several people, if not before, then soon after, commission.

    9. Re:Ebay-style attacks by Ian+Bicking · · Score: 1

      All you have to do to get E-Bay reputation is mail things on time. Any two-bit criminal can do that with a little bit of patience. Being a trusted kernel contributor takes a lot more than that. An E-Bay scam artist can move on to another scam. The kernel contributor has sacrificed their talent, for unlikely gains. So I don't think that's a big problem.

    10. Re:Ebay-style attacks by Trelane · · Score: 1

      I hope you're not suggesting Americans are stupid. You must be (European, Canadian, Asian, Middle-Eastern, African, generally not-USian, Liberal, yyy), eh? ;)

      --

      --
      Given enough personal experience, all stereotypes are shallow.
    11. Re:Ebay-style attacks by Anonymous Coward · · Score: 0

      are you trying to say that it would be easier for a company to prosecute someone who lives in iran or china than it would be to prosecute someone who lives in the US? listen to you're logic. no one is trying to insult 3rd world countries here. the only person who has been insulting or self righteous is you.

    12. Re:Ebay-style attacks by donscarletti · · Score: 1
      There is a pattern with most engineers I have met. If someone works for weeks to improve something, specially if they are not forced to, distroying it is unthinkable.

      And by the way, Russia is not "third world". Russia is "second world" by definition. The term "third world" was created as a reference to the fact that while the US and Russia were competing to be the richest, most advanced, most successful country in the world (the "first world"), much of the planet was being completely ignored. This is the "third world".

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    13. Re:Ebay-style attacks by Anonymous Coward · · Score: 0

      i hope you aren't suggesting that americans are dumber than you. you must be a European eh?

    14. Re:Ebay-style attacks by jmv · · Score: 1

      One day decide to insert your backdoor amidst some big checkin.

      Actually Linus only accepts small patches that do one thing at once. It makes it easier to track changes and as a side effect, make these kinds of attacks more difficult. Any change to the core of the OS will likely be caught. The only chance is to get the back door in a less used driver (hence you don't infect everyone) for which your are the maintainer.

    15. Re:Ebay-style attacks by drinkypoo · · Score: 1

      Can you drink the tap water in Moscow yet, Comrade?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    16. Re:Ebay-style attacks by Inthewire · · Score: 1

      I'll make you a bet.
      You can name the stakes, but make them reasonable.

      I'm a lousy programmer.
      I've done some HTML, ASP, SQL, FoxPro, Visual Basic, C++, PHP, regex, etc. code.
      It's all business logic / crappy web page / etc. quality.

      I bet that I can have a patch rolled into the Linux kernel within 18 months.
      It may not be glamorous, but it will be part of Linus's grand creation.
      Interested?
      Respond and we'll take this offline.

      --


      Writers imply. Readers infer.
    17. Re:Ebay-style attacks by drinkypoo · · Score: 1

      while the US and Russia were competing to be the richest, most advanced, most successful country in the world

      You said it yourself - while the US and Russia were competing. Those days are now over. There's far more interesting competition out there now, like say China?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    18. Re:Ebay-style attacks by drinkypoo · · Score: 1

      There might be a lot of money in the right kernel level exploit. Also, you could perform the old identity theft switcheroo (or invent an identity) and just pretend to be someone else, you'd lose a lot of time but not your good name provided you pulled it off.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    19. Re:Ebay-style attacks by Anonymous Coward · · Score: 0

      most americans, by far don't think russians are hacker goons for hire. i think it's only that guy, in fact.

    20. Re:Ebay-style attacks by jedrek · · Score: 1

      No matter how much you want to bash the french, france is far from a third world country.

      At least they can afford a health system for their citizens...

    21. Re:Ebay-style attacks by fucksl4shd0t · · Score: 1

      First, I think your knee-jerk reaction is probably due to the fact that you're russian? Personally, while not russian, I don't see how him saying "eg russia" to provide a nationality for his evil-doer is such a Bad Thing(tm). Here's why:

      1. He is giving the Russian Federation credit for having an educational level and technological level capable of pulling off this sort of scheme.
      2. He gave it as an example. He could've just as easily said "eg France" or "eg UK" and his post wouldn't have meant anything different.
      3. Americans, unfortunately, still tend to view Russians as adversaries. This is part of the legacy of the Cold War, and I'd like to see it change.

      Not that I'm trying to apologize or anything, I just don't see the harm in the original post.

      my point is, if someone has strong ethics, then they will not do this kind of thing. if you are skilled enough to submit patches, you can make living out of this without going to dark side. if the imaginary company is providing the patches themselves, why are they going to eg. russia? why not hire someone in the states? also, i don't understand how you can be under life threatening conditions and carry out such an operation which would possibly take months. it seemed to me that your comment was based on the assumption that people in ``developed'' countries are harder to be tempted to do something like this. that is not what i perceive.

      In my limited experience, I've found that Russians tend to be of stronger moral fiber than Americans. Subjective, I know, and I haven't known a good statistical sampling of Russians, but that's been what I've seen.

      However, I understand that Russian organized crime is currently in a pretty sweet spot with regards to the law in the country, much like the early Mob in the US. Essentially taking advantage of a young republic. It is a common technique among organized crime (also used by the Soviet Union, iirc, Nazi Germany, Mussolini's regime, Hussein and family, etc) to take a person's family and hold them hostage for a period of time in order to coerce a person to produce some unethical piece of work. The Yakuza do this stuff too, I understand.

      I would assert that such a tactic on a Russian programmer is more likely to be successful than on an American programmer, simply because Russian society, as a whole, seems to place more emphasis on family than American society does. It could just be my point of view, though. In either case, however, I would venture that the tactic would be so successful in either country that it's entirely academic on whom it would be most successful.

      --
      Like what I said? You might like my music
    22. Re:Ebay-style attacks by agurkan · · Score: 0, Offtopic

      ok, let me clarify. it is hard to catch someone from france, even though it is not a third world country. does what i have written make sense now? why would i want to bash french? why is calling a country third world country bashing?

      --
      ato
    23. Re:Ebay-style attacks by Anonymous Coward · · Score: 0

      Bad metric, you can't drink the tap water in Boston.

    24. Re:Ebay-style attacks by Anonymous Coward · · Score: 0
      A lot of money in open source? You've got to be kidding. That stuff'll never catch on and is only used by students and kids.

      What are you trying to steal, homework?

    25. Re:Ebay-style attacks by Anonymous Coward · · Score: 0

      Hey I got an idea to solve the problem...in fact all problems with back doors being plugged into the software you use before it get's plugged into your PC....write all your own software....sure it may take two decades and by the time you're done the code would be worthless on modern machines but hey at least you'll be safe from those nasty back doors right? Or maybe...just maybe instead of rewriting everything by yourself you could take the next best thing...using source code that everyone can see....

    26. Re:Ebay-style attacks by ecalab · · Score: 1

      Wow, you certainly are a fine thinker, man. I'm really moved by your profound analysis, and I'd say your knowledge of world economics and politics derives from playing too much Warcraft. You mix things as if you were making some economical Mint Julep. No matter how I concentrate, I cannot think of a programmer in so dire "life threatening conditions" as to do a hackjob in exchange for some potatoes for supper. In India, for example, programmers are certainly paid less than in the US, but they are paid nonetheless, and they're hardly "starving". The very requirements of knowledge that programming has make programmers a more or less well paid "elite", in any country. Hacking is also done sometimes for "political" or "economical" reasons, but mostly just for the kicks of it. Most hackers are kids, usually in the first world countries, that have too much time, a computer in front of them, and enough boredness in their lifes as to think bringing down some computer is a funny thing. Third world kids are hardly that motivated. They have to, as you say, take care of their "life threatening" problems. Also, I'll think very unintelligently of anyone that puts Russia (or France, for that matter) in the thirld world. Of course, Russia's economy has suffered a lot lately, but it remains a powerful country and economy, with loads of resources and human potential. And I'm not Russian, anyway. And, lastly, ethics are not proportionate to wellness, nor does integrity. Wallets are accessories to human beings, not the other way around.

    27. Re:Ebay-style attacks by Anonymous Coward · · Score: 0
      Uh, the U.S.S.R was absolutly, 100%, couldn't be more if it tried, Second World. Russia is now hovering around 2nd or 1st world, depending on which way the wind blows.

      Of course you're using the simplified, idiotic meaning of the terms.

      The correct usage is:
      • 1st World: "Western" Capitalist countries
      • 2nd World: Communist countries
      • 3rd World: Neither Capitalist nor Communist countries
    28. Re:Ebay-style attacks by Anonymous Coward · · Score: 0

      Alan Cox has suddenly disapeared. He hasn't check in any patches for Linus in ages, and he hasn't updated his own tree either. /me thinks we got a rootbug

    29. Re:Ebay-style attacks by merdark · · Score: 1

      No, I'm suggesting Americans are self centered and think poorly of the rest of the world. And why do Americans think being Liberal is bad?

    30. Re:Ebay-style attacks by Trelane · · Score: 1
      I'm suggesting Americans are self centered and think poorly of the rest of the world.

      Interesting. Is this your honest opinion? 'Cause I can tell you right now that

      1. not all segments of the US are self-centered and think poorly of the rest of the world. Indeed, those segments are small and in-line with the corresponding nationalistic segments of the rest of the world.
      2. Each country has segments of approximately equal size (percent-wise) of nationalists. So, while the US certainly has its share, so do the other nations of the world
      And why do Americans think being Liberal is bad?

      Not all do. Again, your incorrect stereotypes of a generally fine people are showing (please NOTE that I am not comparing the US'ians to any other people. Country of residence is not generally a strong predictor of the quality of person, if such can be measured.) I, for one, am more mid-range. There are many, many mid-rangers in the US. There are many conservatives who think liberals are bad. There are many liberals who think conservatives are bad. Just as there are in, say, Germany (CDU versus SPD, for example).

      The reason I included "Liberals" in the list is because Liberals tend to look at their country in a harsh light (otherwise, they'd not be arguing for change and thus would be Conservative, or resisting change). Liberals in the US tend to look upon the US with a very harsh light indeed.

      Have you been to the US and really lived here, or are you going by what movies, TV, the sites you frequent, and your friends say? 'Cause really, the US ain't nearly so bad as you're portraying it.

      I think I need to put up a new sig: Given enough personal experience, all stereotypes are shallow.

      --

      --
      Given enough personal experience, all stereotypes are shallow.
    31. Re:Ebay-style attacks by merdark · · Score: 1

      Yes, I'll grant you that there are many nice Americans. I've met many, and am freinds with many. But I've also met many very self centered Americans, both in real life and online.

      In my travels to different countries in Europe, I've met no self centered individuals, although I'm sure they exist.

      You are right that I am being overly harsh, but this is because I'm tired of the many US centric comments seen on this site.

      There is no need to refer to third world countries at all with respect to this story. An American could just as easily be paid to do crimes.

  25. disappear? by Sean+Clifford · · Score: 1
    Disappearing would only raise suspicion, not abate it. And it doesn't change the fact that this code gets reviewed a lot by a lot of different people. It would get noticed pretty quickly, methinks.

    Think about how often your own code gets reviewed, debugged, optimised - not necessarily by you, but by Joe Coder on the same project or Wilma Coder some time down the road.

    I doubt that someone sociopathic enough to work on something for years under a legitimate guise, then "one day" would be able to keep it together long enough to pull off the kind of coup you're proposing.

    No, I tend to think that folks of this bent are found mostly among the crowd of virus authors.

    1. Re:disappear? by malakai · · Score: 1, Flamebait
      Disappearing would only raise suspicion, not abate it. And it doesn't change the fact that this code gets reviewed a lot by a lot of different people. It would get noticed pretty quickly, methinks.

      Ha ha ha hah. yeah, right, because in the opensource world people _rarely_ are given CVS access, do some work, and then dissapear into the void.

      While linux kernel may be more guarded, 98% of projects on sourceforge probably has people with CVS write access that are no longer active in the project. This is a huge nightmare for larger opensource projects. FreeNet, CrystalSource, other with lists of developers often time don't keep day-to-day tabs on developers.

      I think this is from Ian Clarke over on Freenet devel 10/30/2003:
      There are about 63 people currently with developer access to CVS, and
      most of these people, to the best of my knowledge, are not currently
      active in the project. This is a security risk.


      So while opensource gives you the ability to have peer level code review, it doesn't force it. Which means, on particularly large systems, code can creep in without being scrutized to much (unless it doesn't work). Especially if the code is technical and few people understand the jist of it.

      People always say "well, review the code yourself then". That's great if you know wtf your doing, that doesn't help Joe noobie.

    2. Re:disappear? by Anonymous Coward · · Score: 0

      What if this person becomes a project maintainer?

    3. Re:disappear? by Suicyco · · Score: 1

      Or they are of the deeply funded infinately patient type, aka spooks...

  26. My boss is gonna read this.. by Anonymous Coward · · Score: 0

    Oh man, if my boss sees this, thats gonna be it right there.. No more Linux for us

    1. Re:My boss is gonna read this.. by kasperd · · Score: 2, Funny

      No more Linux for us

      Yeah, because he'd rather like a closed source product where such attempts suceed unnoticed.

      --

      Do you care about the security of your wireless mouse?
  27. YOU DON'T SPEND MUCH TIME AROUND HERE, DO YOU? by Anonymous Coward · · Score: 0

    n/t ^_^

  28. Re:Hmmm. by Anonymous Coward · · Score: 0
  29. Re:Conspiracy Theory by Anonymous Coward · · Score: 0

    Or maybe the Fedorinati. (A secret society which threatens to take over Red Hat.)

  30. No one is mentioning this by Dancin_Santa · · Score: 0, Insightful

    The problem is that CVS was exploited. That's the big deal, Open Source, all encompassing versioning system.

    It was Bitkeeper, the closed source, unfree, anti-community product that caught the problem.

    This isn't a triumph of 'many eyes' seeing this bad code in Linux, it was a failure of 'many eyes' not catching the problem in CVS.

    1. Re:No one is mentioning this by Florian+Weimer · · Score: 1

      The problem is that CVS was exploited.

      Not true, BitMover infrastructure has been compromised. We don't know how this was done. If it was done through CVS, it's BitMover's fault anyway (CVS is notoriously insecure, especially in pserver mode).

    2. Re:No one is mentioning this by statusbar · · Score: 1

      Absolutely. Where did these lines come from? What computer was compromised? Was cvs pserver the security hole?

      --jeff++

      --
      ipv6 is my vpn
    3. Re:No one is mentioning this by mcroot · · Score: 5, Insightful

      Insightful my ass. Nowhere does it say CVS was exploited.

      The code was injected into a CVS tree, the box could have been compromised in another fashion, such as a wu-ftp hole or some such thing.

      So please, don't throw the word exploit around as if you have 1/2 a clue about security. It just makes you look silly to those of us who do.

    4. Re:No one is mentioning this by Anonymous Coward · · Score: 0

      Injected? Via FTP? Uhum.

    5. Re:No one is mentioning this by Anonymous Coward · · Score: 0

      You root the box trough a WU-FTP hole, and then inject the code via whatever means you want after that.

    6. Re:No one is mentioning this by lm · · Score: 1

      No BitMover infrastructure was compromised, the machine in question is a public machine maintained by the kernel developers.

      I think your anti-BK colors are showing when you can take a situation where we prevented a trojan horse from being added to the kernel and your reaction is that we screwed up.

    7. Re:No one is mentioning this by Florian+Weimer · · Score: 1

      No BitMover infrastructure was compromised, the machine in question is a public machine maintained by the kernel developers.

      Oh, then I'm sorry for the false statement. So the kernel developers are unable to guard their own sources. Still scary, but in a different way.

  31. Also strict compiler settings... by Anonymous Coward · · Score: 0
    FYI, Microsoft Visual C++ 6 throws a compile warning when you try to compile that code:
    [source file].cpp([line]) : warning C4706: assignment within conditional expression
    If you have the project set to treat warnings as errors (as you should if you have any self respect as a programmer), this code will also not compile.

    Does GCC have a warning for this code? (and does it also have the option to treat warnings as errors?)
    1. Re:Also strict compiler settings... by Anonymous Coward · · Score: 0

      Yes, gcc has warning for this, but the extra set of parenthesis disables the warning... I guess this is a feature?

    2. Re:Also strict compiler settings... by Cobralisk · · Score: 1
      for this input file test.c:
      int main(void)
      {
      int c=0;
      if (c=1);
      return 0;
      }
      and these compiler flags:
      gcc -Werror -Wall -o test test.c
      gives this output (and fails to compile):
      cc1: warnings being treated as errors
      test.c: In function `main':
      test.c:4: warning: suggest parentheses around assignment used as truth value
      --
      Waiting for ad.doubleclick.net...
    3. Re:Also strict compiler settings... by Nucleon500 · · Score: 1

      If you change that to if((c=1));, the error will be supressed - the extra parenthesis show that the assignment was intentional. Which it was, in a way.

    4. Re:Also strict compiler settings... by chgros · · Score: 1

      If you change that to if((c=1));, the error will be supressed - the extra parenthesis show that the assignment was intentional. Which it was, in a way.
      Although, since the variable is assigned a constant, this is a bit stupid (except for some weird overloading of =)

    5. Re:Also strict compiler settings... by spitzak · · Score: 1

      Both Visual C and GCC will not produce the warning if there are parenthesis around the assignement statement, as there are here.

  32. troll by Anonymous Coward · · Score: 0

    Bitkeeper... caught the problem

    Err, no. One of the kernel hackers watching the changes caught the issue.

  33. A friend showed me that once. by TekReggard · · Score: 1

    You can do the same thing in a few other operating systems. I believe one of them is a unix of sorts but I do not know which one nor have I gone to look for it.

    1. Re:A friend showed me that once. by Anonymous Coward · · Score: 0

      +999999, INFROMATIEV!!!!!111!

  34. ALIANWARE = OVERRATED by Anonymous Coward · · Score: 0

    Please, stop with all this bogus hype!

    1. Re:ALIANWARE = OVERRATED by deniea · · Score: 1

      Or.. Should that be:

      ALIANWARE == OVERRATED

      It sure makes quite a difference.

  35. Not a troll by Anonymous Coward · · Score: 0

    From the writeup:

    in fact it was the BitKeeper CVS export scripts that detected the unauthorized modifications to CVS

  36. Calm down, calm down... by nmoog · · Score: 5, Informative

    Keep reading the thread - you'll read a bid of Linus, and a comforting explaination of whats happenin' back there.

  37. Trusting Trust by ceswiedler · · Score: 5, Informative

    The Ultimate Backdoor, if anyone hasn't read about it:

    Reflections on Trusting Trust.

    You might want to doublecheck that gcc code you're compiling the kernel with...

    1. Re:Trusting Trust by temojen · · Score: 1

      You might want to check that gcc binary you're compiling gcc with to compile the kernel...

    2. Re:Trusting Trust by joonasl · · Score: 1

      Hmm.. If I have understood that article correctly, just cheking the gcc code is not enough. You must also check the code that was compiled to the kernel that was used to compile the gcc that was used to compile the kernel that was used to compile the gcc that was...

      --
      "There is a terrorist behind every bush"
    3. Re:Trusting Trust by ComputerSlicer23 · · Score: 1
      Uhhh, read the article a little bit closer. You might want to check the gcc binary, not the gcc source (sorry if I misunderstood, when you say gcc code, I think source). The evil part about the "Thompson's Compiler Compiler Hack", is that the source for the hack is gone. The source for the hack, is in the binary compiler, and keeps re-inserting itself back into the binary, without being present in the source.

      To build a truely trustworthy compiler is impossible by only checking the source and the binaries. At some point, you have to trust CPU and all the storage to do as it's told. Trusting the hardware is nearly impossible, as there is no way to "checksum the traces" on the CPU. Bummer. In the end, some naferious super genious at Intel, or Western Digital could generate an evil piece of hardware specifically designed to subvert gcc and linux at the hardware level. Granted it be nearly impossible to pull off, but that's why he's the evil super genious.... :-)

      Kirby

    4. Re:Trusting Trust by Anonymous Coward · · Score: 0

      Clipper Chip! I'm so glad that one died... or is it makeing a quiet comeback?

      Of course it didn't subvert GCC, just (if used) ClosedPGP, ClosedSSL, etc

    5. Re:Trusting Trust by cperciva · · Score: 2, Interesting

      In the end, some naferious super genious at Intel, or Western Digital could generate an evil piece of hardware specifically designed to subvert gcc and linux at the hardware level. Granted it be nearly impossible to pull off...

      Actually, it wouldn't be hard at all. Add logic into the L1 (data) cache which computes the MD5 sum of each cache line loaded; if it is equal to a predetermined value, the address of that line is loaded into the instruction pointer.

      Presto, immediate backdoor which can be exploited by anyone who can load arbitrary data into address space (anywhere) and access it. The most obvious approach would be to send an IP packet with the exploit code -- the exploit would run as soon as the packet reached the IP stack -- but you could access it via a compiler as well.

    6. Re:Trusting Trust by torpor · · Score: 1

      No kidding. For that matter, how much do you *really* know about your CPU?

      --
      ; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
    7. Re:Trusting Trust by fucksl4shd0t · · Score: 1

      To build a truely trustworthy compiler is impossible by only checking the source and the binaries.

      I'm not a Gentoo zealot, but I suspect that Gentoo is probably safer in this regard. Not completely, because you still have to start with something before you can compile everything. maybe I'm just plain on crack in an old-fashioned way and need to go to bed.

      --
      Like what I said? You might like my music
    8. Re:Trusting Trust by Anonymous Coward · · Score: 0

      You might want to check that disassembler you are using to check that gcc binary. And then you might want to check the libraries and the kernel filesystem that the disassembler is using to read the gcc binary. And then...

    9. Re:Trusting Trust by temojen · · Score: 1

      My post was actually related to the Speech the parent poster was referring to.

      Yours was just innane.

    10. Re:Trusting Trust by ocelotbob · · Score: 2, Insightful
      Such a backdoor is fairly trivial to ferret out nowadays. All one would have to do is to place Intel's C compiler, or some other compiler capable of building gcc somewhere in the mix. As it is much, much less likely that a) two compiler trees have backdoors in there and b) both compiler chains have the same exact exploit in them, and can detect that they are building each other, by doing so, the tinfoil hat types can be assurred that their copy of gcc is essentially mathematically ensured not to have a backdoor, unless of course there is some wide-reaching conspiracy in the computer world, in which case, we're all fucked anyways, so it doesn't really matter.

      Thompson's hack worked because he was the only provider of both Unix and C. Nowadays, that's simply not the case.

      --

      Marxism is the opiate of dumbasses

    11. Re:Trusting Trust by temojen · · Score: 1

      You're on crack... what's the difference between emerge and apt-get from a security standpoint? In both you don't actually inspect the code before it's installed on your machine. You have to trust the repository admin for both systems.

      Gentoo is really cool for producing systems optimized exactly for your system, making sure you have the official version of programs, and knowing that a package will be linked against the correct minor version of libraries. What it doesn't do is inspect the sourcecode for you.

    12. Re:Trusting Trust by Ben+Hutchings · · Score: 1
      Gentoo is really cool for producing systems optimized exactly for your system

      Or not, as the case may be.

    13. Re:Trusting Trust by mslinux · · Score: 1

      You might want to doublecheck that gcc code you're compiling the kernel with...
      Good point!!! Hell, wouldn't it be neat if RMS and the GNU people actually flipped out (and they will flip out one day) and replaced every occurence of Linux in the kernel source with GNU/Linux at compile?

      #uname -a GNU/Linux 2.4.22 (whether you like it or not, it's true cause we compiled it.)

    14. Re:Trusting Trust by holstein · · Score: 1

      Worst.

      It's the binary you must check.

      Better know your opcodes!

  38. Good grief by ChaoticCoyote · · Score: 0, Redundant

    Kudos to Larry McVoy, owner of BitKeeper, who caught this little piece of interesting skullduggery.

  39. SHOCK AND AWE 2K3 @ /. by Anonymous Coward · · Score: 0



    The headline makes it sound as if there's a backdoor in the linux kernel. The only backdoor that's open belongs to CmdrTaco.

    Cleanse Your Soul

  40. History lesson by blair1q · · Score: 1


    Those of you not as well versed in the lore as the rest of you would do well to read the legend of Ken Thompson's backdoor login compiler compiler.

  41. Unfortunately this wasn't an accident. by Ungrounded+Lightning · · Score: 2, Interesting

    In my code I always put the constant on the lhs so that the difference between the equality (==) and assignment (=) operator are caught by the compiler by accident.

    Good style.

    But this was apparently not an accident, but a deliberate attempt to disguise a trapdoor. As such the author would, of course, just "forget" to use that piece of defensive programming. B-)

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  42. As noone else seems to have pointed out yet... by temojen · · Score: 4, Informative

    The "backdoor" that someone attempted to submit was a local privilege elevation bug, not a remote compromise.

    1. Re:As noone else seems to have pointed out yet... by mslinux · · Score: 1

      The "backdoor" that someone attempted to submit was a local privilege elevation bug, not a remote compromise.

      You're limiting yourself. Think outside of your box. What if this was one part of a larger work? What if there are bits of code that allow access to the machine first so that the attacker can then seek a way to become root?

      1. Get remote access to the machine as any user.
      2. Use local root exploit(s) that we built in to the kernel.

      Think about it.

  43. Re:Not? a troll by Anonymous Coward · · Score: 0

    The scripts used to sync bk and cvs are what caught the problem. I don't think this had anything to do with CVS or BK. It was just some scripts Larry was using to sync the two.

  44. Darl! Give it up man! by pair-a-noyd · · Score: 1

    Your childish tricks will not work around here.
    And please return the check to Bill, you failed.

  45. Maybe a quick audit is in order. by Ungrounded+Lightning · · Score: 1

    Will this be the first of more kernel backdoors, now that the idea is out there?

    Isn't the pertinent question... was this the first?


    Sounds like it might be time for a quick audit. Like looking at every instance of "current->uid" to see if the uid is a LHS.

    Don't forget things like "current->uid -= current->uid" and similarly with exor, bitwise and, etc. (That's why any occurrence of current->uid as a LHS is suspect.)

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
    1. Re:Maybe a quick audit is in order. by Anonymous Coward · · Score: 0

      We GAVE peace a chance.

      Damn. Where was I when that happened?

  46. Re:Open Source? More like Openly Racist by cguerra · · Score: 1

    what a piece of crap you wrote man..

  47. Was tried ever since by jeti · · Score: 1

    Isn't the pertinent question... was this the first?

    No. I'm pretty certain that the CCC once smuggled in a backdoor to the login prompt. That must have been pre 1994.

    I can't find any more information on this. Does anyone have a link?

    1. Re:Was tried ever since by Anonymous Coward · · Score: 0

      Nope. You mix up with the ken thompson article (http://www.acm.org/classics/sep95/)

  48. Stop reading the article!! by newshooze · · Score: 0


    It looks like the janitor(Dave) over at bitmover noticed the tampering and this clown is taking all the credit.

    Cleanse Your Soul

    1. Re:Stop reading the article!! by Anonymous Coward · · Score: 0

      oh man look at that METROSEXUAL d00d

  49. This so falls right into Microsoft's hands by KingReuben · · Score: 1

    We'll see if they pounce on this. If so, expect something like "See? Open Source projects are inherently vulnerable to hackers infiltrating and corrupting the code base" This is not good. But it is a good thing it was caught and never got released!

    --


    --
    om Shanti
    1. Re:This so falls right into Microsoft's hands by fucksl4shd0t · · Score: 1

      We'll see if they pounce on this. If so, expect something like "See? Open Source projects are inherently vulnerable to hackers infiltrating and corrupting the code base" This is not good. But it is a good thing it was caught and never got released!

      The proper response is "Of course you hear about this sort of thing. It's called Open Source. That means that everything we do is out in the open. Reading LKML if you're not a hacker is like watching CSPAN. I challenge you (Microsoft Rep or other voicehole) to show records that you have never suffered such exploits, and if you have, that you have caught it with such finality as this."

      Let's not forget that Free Software and Open Source developers operate in the open, and that there are still more vulnerabilities regularly reported in closed-source apps. We know they try to cover this shit up, and we do not even try. Iceberg theory applies, here, I believe.

      --
      Like what I said? You might like my music
  50. Re:In unrelated news, sockets.h changed a little.. by Anonymous Coward · · Score: 0
    You could at least write proper C...that would be
    #ifndef
  51. *sigh* by inode_buddha · · Score: 2, Interesting
    On a slightly related note, I'm reminded of Bob Toxen's anecdote from his grey-hat days when he hacked the US Navy, or some such. Did it by way of a backdoor in the compiler IIRC. Can't be bothered to dig out the book at the moment, but you might want to get a copy of the 1st edition and check out his site at realworldlinuxsecurity.com.

    I see a lesson in this: The oldest tricks are probably the best, or else they wouldn't live long enough to be "old".

    I'm a LKML subscriber, so yeah I'll say this: Larry McVoy's gonna be pissed, and $DEITY help whoever...

    If you think the flamewars and trolling is nasty here, you should see them over there, trust me on that.

    --
    C|N>K
  52. Wowzers by jason.mitchell · · Score: 1

    Thank heavens for a BitKeeper. I'm glad they took measures to secure such a thing from happening before it did. Only smart minds in the linux community could do something like that. Screw closed source.

    1. Re:Wowzers by Anonymous Coward · · Score: 1, Insightful

      Thank heavens for diversity, peered repositories and extensive cross checking.

  53. Like Bart Simpson Says. . . by Anonymous Coward · · Score: 0

    "The ironing is delicious!"

    It was the closed-source Bitkeeper software that caught the attempted code sneakiness.

    +4 Insightful my ass.

  54. Gentoo (or other distro) Virus by KhanAFur · · Score: 1

    I always sort of wondered what was stopping people from putting a "virus" or something into the portage tree that would knock out my system with I updated it.

    Unfortunatly I don't think it would be very hard for someone to insert something that could totally hose my system.

    This kinda scares me.

    -Mary

  55. Re:guide to getting rid of slashdot ads by Anonymous Coward · · Score: 0

    ummm... once you scroll down to the comments you can't see the banners. how do you think they pay for the bandwidth, electricity, equipment, backup tapes, diskspace and maintenance labour you're useing on their server?

  56. take it up with these guys... by wrinkledshirt · · Score: 1
    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

  57. Re:Darl! Give it up man! by Anonymous Coward · · Score: 0

    Score:-1, Utterly pathetic

  58. Still buy it? by Anonymous Coward · · Score: 0

    Guys, the code was intentionally modified by LM to better sell his incoming new feature of signing transfers.

    1. Re:Still buy it? by newshooze · · Score: 0


      So this is not news for nerds , it's more like "Press Releases For Saps"

      Cleanse Your Soul

  59. Re:guide to getting rid of slashdot ads by Inthewire · · Score: 1

    how do you think they pay for the bandwidth, electricity, equipment, backup tapes, diskspace and maintenance labour you're useing on their server?

    Felching schoolteachers?

    --


    Writers imply. Readers infer.
  60. doubters are forgetting the foundations of OSS by RouterSlayer · · Score: 5, Informative

    I see some people posting some negative replies, or lamenting on OSS process, etc and saying how it didnt work, or how a psuedo-trusted patch would get in, if it went through proper channels, or some such crap.

    this couldn't be further from the truth, you are all forgetting many things, #1 - the checking scripts run daily now, and Larry has mentioned he's going to step that up, still fixed within 24hrs is a damn good response time! closed-source could never be this fast.

    #2 - all this talk of peer review, saying it didn't catch this or whatever nonsense, yes in a way it did, and whats more it's exactly what will keep semi-valid attempts or those through "proper channels" out of the code. You forget, millions of people around the world review this stuff, and someone, somewhere will find it relatively quickly, and not just because all the good developers (which is most of the millions) really LIKE linux and do their utmost to protect it, and ensure that no twits do things like this.

    on the oft-side billions to one chance someone does something stupid like people said hire someone to do good patches for a long time, get trusted, and submit a patch with this kind of code in it, well, first of all, this is just stupid, it would take years to get that trusted from "zero", second, even assuming all that, the code would still get caught very quickly.

    Like I said, someone, somewhere is gonna notice real quick, because the millions of us out in the world really happen to LIKE linux, and protect the kernel most of all, and I'm sure as the code worked its way into the tree, one of the people would catch it, and I'd be willing to bet several would see it at the same moment, including Linus, et all.

    You simply can't pull a fast one over the great coders we have, these aren't your average coders, and remember, not just them, but all of us, really, in a way, put our heart and soul into supporting Linux, its a confidence we dont share lightly, the kernel is the most protected of it all, yes, for obvious reasons, its the most critical code.

    But even outside the kernel, remember millions of people around the world are reviewing code 24hrs a day, every day, and posting notes about issues, patches, etc.

    It's simply much harder to get by all that. Like I said, and I'll say it again, someone's gonna notice, and probably LONG before it even gets into the main BK tree, because even those reviewers ain't slouches!

    Closed source has a smaller review team, and I know for a fact internal developers add back-doors to code all the time. I know many closed-source coders (not necessarily personally) that as a matter of habit throw in back-doors into every piece of code they write, because they hate their job, and the people they work for, and hate the product. Since very few people ever review the code, things can sit there indefinately and never get found.

    remember this is a work of pride, something the community really cares about, we really want to see it succeed, and not have the issues like this, or that others have, we want to protect it at all costs, in any way, to ensure a good future, and protect the users out there.

    remember, we're users too! If it means that much to you, wouldn't you be checking it too? damn straight! This is exactly why the OSS model is so damn important,

    and its exactly why Microcrap, SCO, etc will never "get" it. I'd even add Intel to this list, because I think AMD is really "getting" it.

    summary - we like it, we care about it, and aint no way we gonna let some dork attempt to ruin something we've worked so damn hard to build, not just for ourselves, but for everyone, its a matter of pride.

    and yes, anyone found out (and they will be!) doing this shit is gonna get their ass kicked into next week...

    1. Re:doubters are forgetting the foundations of OSS by Anonymous Coward · · Score: 0

      Did anyone else feel like watching Matrix Revolutions when reading this comment? It goes on...and on...and on...and on....

    2. Re:doubters are forgetting the foundations of OSS by An+Anonymous+Hero · · Score: 1
      You forget, millions of people around the world review this stuff,

      More like "dozens of people", no?

      The foundations of OSS are not this sort of drivel. And yet the mods are biting in droves.

  61. Re:Open Source? More like Openly Racist by Anonymous Coward · · Score: 0

    World would have been a much better place if talent like this has been diverted for constructive purpose rather than coming up with things like this.

  62. Re:Open Source? More like Openly Racist by Anonymous Coward · · Score: 0

    Oh man, that's funny because no one on Earth could even reasonably have such a whacked out point of view. I especially liked this part:

    Contrasted with the closed source, non-geeky software house Microsoft, Open Source has a long, long way to go.

    http://www.bernd-leitenberger.de/bill-gates.jpeg :D

  63. In other news.. by RichardX · · Score: 4, Funny

    Microsoft insists the timing of their bounty (pay deal) on (for) virus writers (hackers) "entirely coincidental" (damned convenient)

    --
    Curiosity was framed. Ignorance killed the cat.
  64. Linus's opinion by jaf · · Score: 2, Informative

    Actually Linus has an opinion:

    On Wed, 5 Nov 2003, Andreas Dilger wrote:
    >
    > Granted that this was not a break in BK itself the event is still alarming.
    > It makes me wonder if there is some way we can start using GPG signatures
    > with BK itself so that you can get proof-positive that a CSET annotated
    > as from davem really is from the David Miller we know and trust.

    A few things do make the current system _fairly_ secure. One of them is
    that if somebody were to actually access the BK trees directly, that would
    be noticed immediately: when I push to the places I export from, the push
    itself would fail due to having an unexpected changeset in the target that
    I don't have on my local tree. So I'd notice that kind of stuff
    immediately.

    And that's likely to be true of all other BK users too: the public trees
    are just replicas of the trees people actually _work_ on, so if the public
    tree has something unexpected, trying to update them just won't work. You
    just can't push to a tree that isn't a subset of what you already have.

    So any BK corruption would have to come from the private trees, not the
    public ones. Which tend to be better secured, exactly because they are
    private (ie they don't have things like cvspserver etc public servers). I
    suspect most of us have firewalls that just don't accept any incoming
    connections - I know I do.

    I think it's telling that it was the CVS tree and not the BK tree that
    somebody tried to corrupt.

    Linus

    --
    -- jaf
    1. Re:Linus's opinion by tqft · · Score: 1

      So all we have to do is find a way around the big L's firewall and hack his tree?

      --
      The Singularity is closer than you think
      Quant
  65. Why on God's earth... by tuxlove · · Score: 2, Insightful

    ...is the primary CVS repository reachable? Nobody should be able to touch it, even just to read it, except the chosen few. Or am I mising something?

    1. Re:Why on God's earth... by chrome · · Score: 4, Insightful

      You're missing something. They use bitkeeper, the CVS repository for people without CVS.

      Its separate so they can screen CVS commits carefully.

    2. Re:Why on God's earth... by tuxlove · · Score: 1

      Same question. Why should anyone be able to check anything in except for the 5-10 people authorized to do so? The CVS/BitKeeper/Whatever daemon should not be reachable from the internet except for the IP addresses of the approved few. People other than them should not be allowed to check anything in or out, period, based on username, IP address and password. The public read-only server should be a mirror kept up to date through daily code pushes. Under these circumstances, even if the BitKeeper daemon was full of security holes, the master copy would be pretty darn hard to touch.

      I think they are probably not following best practices, but I could be wrong because I don't know the ins and outs of how they have things set up. But what happend here should not be possible; else, it's probably set up wrong.

    3. Re:Why on God's earth... by Anonymous Coward · · Score: 1, Insightful

      Primary Linux BK respository is at Linus' machine,
      public BITMOVER version is just published replica
      of that one, but it isn't primary.

      There are derivatives for people who for some (political) reason don't want to use BK. One of those is BK2CVS, which gets overwritten daily
      from primary data source.

      That CVS is served publically via standard CVS pserver, which has a number of problems all of its own.

      Nobody willing to publish source code from CVS should do it with actual primary repository in r/w mode. That way is clear invitation for trouble!

    4. Re:Why on God's earth... by jdh28 · · Score: 1

      My understanding is that the CVS repository is a read-only export of the BK repository to allow non-BK users to access the historical data.

      The attacker modified the raw CVS repository.

      John

    5. Re:Why on God's earth... by IWannaBeAnAC · · Score: 1
      Yes, you are missing a lot.

      The primary tree is on Linus' own machine, using BitKeeper. He periodically pushes this onto the public BitKeeper repostory. There is also a BittKeeper -> CVS gateway so that people who cannot use BitKeeper (or prefer not to) can grab patches via CVS.

      My understanding is, there is no mechanism to feed changes occuring in the CVS tree back into the BK tree anyway, so changing the CVS repository would never have worked anyway, the next time the BK tree was exported to CVS it would (at worst) revert the change.

      Even hacking into the BK tree and changing something there wouldn't work, it would simply cause Linus' next 'push' to fail. The only way to change something sucessfully would be to somehow get Linus to mistakenly accept a trojaned patch, or hack Linus' own machine. Even then, the changes would appear in the change log so it would be difficult to avoid getting noticed.

    6. Re:Why on God's earth... by IWannaBeAnAC · · Score: 1

      The reasons for some people not using BK are not completely political. The BK license forbids people who use it from authoring competing source-control software. That is the controversial part.

    7. Re:Why on God's earth... by tuxlove · · Score: 1

      Okay, that's the way it should work. I'm glad that's how they have it configured. So it sounds like the story was a bit overblown because the master copy of the kernel sources was never in doubt.

  66. You mean, "what's really gonna bake your noodle... by AvantLegion · · Score: 4, Funny
    ... is would the code be exploited if nobody had said anything?"

  67. Re:guide to getting rid of slashdot ads by dekashizl · · Score: 2, Insightful

    You're such a douchebag. A single banner ad that is a) an image, b) fixed size, and c) fixed placement on the top of the page is one of the most UNobtrusive ways of advertising possible. How'd you like popups, popunders, expanding "CLICK TO CLOSE" ads, ads with sounds, ads that try to install Gator on your PC, ads with JavaScript errors in them, etc...

    How do you think /. doesn't get /.ed? Because it runs lots of hardware and bandwidth that's supported (partly at least) by money from those ads. How'd you like to pay for access? No? Then shut up and be appreciative that the ads are tastefully executed on this site, rather than trying to subvert the system that's effectively in place to give you something you like for free.

  68. Wow. The opposite of an ad hominim attack.. by IBitOBear · · Score: 1

    You combine an essential failure to reason with a wonderfully concise lack of insight.

    In truth it wasn't the nature of the two systems (BitKeeper vs CVS) but the very nature of an interface existing between two systems.

    It is (verrily 8-) the programatic equivlant of many eyes in action.

    Multiply that, your core error, by the straw-horse of communitizing the open-vs-closed nature of the two products.

    It is the particular script that spanned the gap that "caught it".

    But further still, the "many (human) eyes" never played in to the operation. Someone electronically installed a hack and it was caught by a script (which script may or may not have underwent peer review). That that same hack would have then had to face peer review only doubles the effectiveness the the kernel's management paradigm.

    So "yea, it was caught by a script" yields NO POSSIBLE VALID INDICTMENT of open over closed source models.

    --
    Innocent people shouldn't be forced to pay for inferior software development.
    --"Code Complete" Microsoft Press
    1. Re:Wow. The opposite of an ad hominim attack.. by krumms · · Score: 1

      From the first article:

      It's not a big deal, we catch stuff like this, but it's annoying to the
      CVS users.


      And the second:

      > From: Zwane Mwaikambo
      > > > + if ((options == (__WCLONE|__WALL)) && (current->uid = 0))
      > > > + retval = -EINVAL;
      > >
      > > That looks odd
      > >
      >
      > Setting current->uid to zero when options __WCLONE and __WALL are set? The
      > retval is dead code because of the next line, but it looks like an attempt
      > to backdoor the kernel, does it not?


      Obviously eyes did come into the equation. LM didn't even notice the back door, it took a few vigilant LKML subscribers to spot it.

      So no, it wasn't caught by a script.

    2. Re:Wow. The opposite of an ad hominim attack.. by pe1chl · · Score: 1

      It should be caught by the compiler. The second expression, and thus the entire test clause for the if, is always false. So the statement within the if is never executed.

      Keep an eye on your compiler warnings!
      (unfortunately there are many, when compiling the kernel on a recent compiler)

  69. Are you sure... by curtlewis · · Score: 1

    it wasn't SCO trying to sneak in some of it's code so it could point to it and say... "See? We TOLD you the kernel had our code in it!"

    But seriously, it's a credit to the ppl working on the project that this attempt was caught. I am not toooooo worried that other attempt at malice have gone unseen as just too many people are looking over the code all the time. Any maliciousness would have to be buried under several layers of valid and useful code (not sluggish crap or slop, either).

    After hearing of security holes in every OS AFTER the fact, it's nice to see one caught before it even happened. And a non-accidental one at that. Kudos to the team!

  70. This is a BAD thing from SCO's perspective... by scsirob · · Score: 1

    If SCO's case ever hits the courtroom, this incident might mean that it's impossible for them to claim anyone knowingly added SCO property to the Linux kernel.

    For all we know, they could have been doing it themselves...

    --
    To Terminate, or not to Terminate, that's the question - SCSIROB
  71. What you say makes a larger statement by scosol · · Score: 1

    This is the *Linux kernel*- arguably the most watched open codebase in existence-

    And there's questions about whether this is the first time?

    IMO the positive "peer review" aspect of open source just doesn't trickle down to smaller projects.

    --
    I browse at +5 Flamebait- moderation for all or moderation for none.
    1. Re:What you say makes a larger statement by Anonymous Coward · · Score: 0

      i believe it does.
      smaller projects generally mean smaller code bases (atleast compared to something like apache/mysql/kernel)

      smaller code bases in my opinion mean that the developers would be more familiar with the code.

      this is a generality.

      but i know that my own coding style is consistent, so the attacker would not only have to hide the exploit, in a code base that doesnt have as many out of the way code bits, but also match my particular style.

      that is quite difficult. you are right though, less people are reviewing outside the project. but the developers inside the project would be more familiar with the code (if smaller project follows smaller code base.

  72. BK by dolson · · Score: 1

    I'm so tired, for a second there, I thought you were dissing Burger King.

  73. BSD by WindBourne · · Score: 1

    I believe several of the BSD's use CVS. I wonder if their code have been hit as well or is it just Linux that was targeted?

    Might be a good time to check them to see if somebody decided to pull a similar exploit against other OSSs.

    --
    I prefer the "u" in honour as it seems to be missing these days.
  74. Lone agent by Anonymous Coward · · Score: 0
    " The actual lines of code and the method by which they got there were far too clever for either Microsoft..."

    Under normal conditions with office politics involved, yes, but this would be a rogue operative. Think Splinter Cell. Actually, don't think Splinter Cell. Sam Fisher's micromanager won't let him walk on the damn sidewalk.

    Anyway, Microsoft's a lot like NASA. Full of geniuses, performs incredible feats that nobody else can, constantly makes staggeringly stupid mistakes. So don't underestimate the potential of a lone Softie too junior for management.

  75. Eddie Izzard. by CGP314 · · Score: 1

    Back-Door Hack

    Was the password "Jeff"?

  76. Must Read: Ken Thompsom's Turing Award Lecture by Eric+Smith · · Score: 2, Insightful

    Anyone that thinks security is easy (apparently some people still do) really needs to read Ken Thompson's 1984 Turing Award Lecture "Reflections on Trusting Trust": http://www.acm.org/classics/sep95/ As Bruce Schneier says, security is a process, not a product.

  77. cvs @ kernel.org down by Anonymous Coward · · Score: 0

    And now the pserver @ kernel.org is down so i can't fix the problem.

    A few thing is alarming about this:

    * the patch is very clever.
    * the timing is very good (2.6.0 release soon).
    * the primary site for the linux kernel is in some way compromised.

    1. Re:cvs @ kernel.org down by lm · · Score: 1

      I shut the machine down so that we can reinstall it.

      cvs.kernel.org is in NO WAY the "primary site for the linux kernel", it's a BK/CVS/SVN server that BitMover and Penguin Computing provided to the kernel developers.

      The primary BitKeeper site is up and functioning and even if it wasn't, that's no problem because BK is replicated. Unlike CVS/SVN you'd have to find every single replica and kill that to shut down all the BK trees. It's impossible, there are 10's of thousands of replicas.

      This is just a CVS problem, inspite of the noise on the kernel list the CVS server is very lightly used, maybe 3-4 people, so it's just not a big deal. The trojan horse is a big deal but the fact that it got into CVS is fairly minor and it was caught by us immediately.

  78. why bother? i already use a better broser by Anonymous Coward · · Score: 0

    yes!!! lynx is the best browser ;-) i only see ads on google, and don't really mind those. they're not bigass javashit popups
    well actually there is one other place: yahoo groups. except i don't see the ads themselves, but have to constantly "click here to continue to message" because their code seems to detect i'm not loading the images. so i pretty much avoid that place like the plague...

  79. oh yeah, i almost forgot... by Anonymous Coward · · Score: 0

    if anyone else hates yahoogroups because of all their lame ads you *have* to click through, check out this nifty perl script: yahoo2mbox ... you can just let it download all the msgs you want to read and browse them offline in mutt or whatever.

  80. With a name like yours... by Anonymous Coward · · Score: 0

    by drinkypoo (153816) ...
    Can you drink the tap water in Moscow yet, Comrade?...
    ...Why do you mock ...with a username like that?

  81. OpenBSD by Anonymous Coward · · Score: 0

    This would never happen in OpenBSD. Oh wait, it allready did.

  82. I trust myself, I don't trust others ... by AHumbleOpinion · · Score: 1

    but I trust brackets more than I would trust my own ability to remember the precedence of every operator in C.

    I consider the parenthesis to be two character comments.

    Ignoring ourselves, its also a matter of trusting others. I've seen people break perfectly good code by replacing a multiply by a power of two with a shift in a non-trivial expression not realizing the difference in precedence between multiply and shift. I've learned to write code others will have an easy time maintaining it so I am free to do other things that interest me more.

    1. Re:I trust myself, I don't trust others ... by Haeleth · · Score: 1

      > I've seen people break perfectly good code by replacing a multiply by a power of two with a shift...

      Good God, do people still bother doing that? Surely modern compilers are clever enough to compile them both the faster way?

    2. Re:I trust myself, I don't trust others ... by AHumbleOpinion · · Score: 1

      The programmer was inexperienced, never looked at the assembly output first, the whole thing was wrong on multiple levels. Some old programming tips have reached urban myth status and will probably never go away.

  83. No matter what the issue is... by Jonathan+Platt · · Score: 1

    ...some of you always start bagging MS.

    --


    VENI, VIDI, VICI, DIXI
    1. Re:No matter what the issue is... by gNU+Kid · · Score: 1

      But hey., today someone spotted the problem. And morover it is not in all the source trees. Its just the source tree at that specific site. Other trees are fine. That simply means, that the specific site is insecure. Morover if it was at some M$ project., no one would have noticed it. It would have been released to the public with the bug..

    2. Re:No matter what the issue is... by Anonymous Coward · · Score: 0

      > ...some of you always start bagging MS.

      Of course! It's not only easy... It's FUN!

    3. Re:No matter what the issue is... by Nynaeve · · Score: 1
      How do we know it hasn't happened at Microsoft or any other company? It would be suicide for a company to acknowledge even a minor event.

      Of course, what if it was supposed to be found? Hack into the machine, change code that you know will be detected, and then proclaim that if it weren't for "open-source" the intrusion would not have been detected. Sounds like this is a good thing. ;-)

  84. FSF rooted, GNU code archives reviewed by AHumbleOpinion · · Score: 1

    The fact that this was possible once, should really make people think about the possibility of it happened ALREADY, and determine if it is necessary to hunt through the code for a systematic review

    Like some months ago when the FSF got root'ed and they spent a few days trying to figure out if any GNU source was compromised?

    Before that didn't OpenSSH briefly have compromised source? My recollection is more fuzzy on this one.

    And this is just high profile recent history. Imagine the stuff waiting for folks at SourceForge in smaller projects maintained by "less talented" people.

    1. Re:FSF rooted, GNU code archives reviewed by Haeleth · · Score: 1

      Smaller projects maintained by "less talented" people are probably safe, actually, for the simple reason that the crackers probably haven't heard of them either. :p

      OpenSSH, the Linux kernel, and GNU projects like GCC and GPG are all obvious targets for an attack, because it's relatively trivial to modify any of them to provide you with root access to something, and they're all used by important projects. But what's the point inserting a backdoor into Fred's Kewl Editor, which has precisely three users, one of whom is Fred's mum?

    2. Re:FSF rooted, GNU code archives reviewed by AHumbleOpinion · · Score: 1

      But what's the point inserting a backdoor into Fred's Kewl Editor, which has precisely three users, one of whom is Fred's mum?

      Keylogger. Maybe some identity theft info. Maybe just practice. Perhaps new code is being field tested before going after larger targets. Or at least three new zombie systems. But most like, because they can and it feeds the little kiddies ego.

      Taking your point to an extreme thieves would not go after the corner convenience store that only has $150 in the register since the bank down the street probably has a few thousand in the teller's trays.

    3. Re:FSF rooted, GNU code archives reviewed by stripes · · Score: 1
      Smaller projects maintained by "less talented" people are probably safe, actually, for the simple reason that the crackers probably haven't heard of them either. :p

      Sure, but what aobut something like libmng which doesn't have that much in the way of people looking at it, yet is stuck into Mozilla (some versions at any rate) and fed datastreams directly from the web? And how many people pour over tcsh's sources for security holes?

  85. Re:Open Source? More like Openly Racist by denks · · Score: 1

    Hey, how about those hidden racist comments in Perl scripts?
    &debug("[$.]: ${_} -> $ent->{$_}");
    dark ebony black underground giraffes with some money inside and outside parentheses are sent to entertain for money while shooting arrows at rich quotation marks while winking?

    --

    I am Monkey, the Great Sage, equal of heaven!
  86. Readability not an issue by AHumbleOpinion · · Score: 1

    In general I agree with your sentiment that readability is very important but I don't see a readability issue in this particular instance. When I first encountered (0 == n) rather than (n == 0) my thought was that's odd. Odd as in non-typical not odd as in perplexing. Is (n == 0) more readable or does it merely mimick the style of the textbooks we read?

    1. Re:Readability not an issue by mitch0 · · Score: 1
      Is (n == 0) more readable or does it merely mimick the style of the textbooks we read?

      It's more readable for me, becaues I read
      if (n == 0)
      as "if n is zero", while I'd read
      if (0 == n)
      as "if 0 is n" which just doesn't really make sense at first ;)

      so all in all, I prefer n == 0.

      cheers, mitch

      --
      // "If human beings don't keep exercising their lips,
      // their brains start working." -- Ford Prefect
    2. Re:Readability not an issue by AHumbleOpinion · · Score: 1

      ... I'd read if (0 == n) as "if 0 is n" which just doesn't really make sense at first

      "at first". My point is that once a programmer has a non-trivial amount of experience and has that first exposure then the ability to read code, automatically translate from one grammar to another, makes it a non-issue. Reading code is inherently a mismatch to English grammar. Consider "if n is zero or one", "if ((n == 0) || (n == 1))". I literally recall trying to do "if (n == (0 || 1)) in my first few days of learning to program. So I understand your point but I believe its validity is limited to introductory programming texts.

  87. Re:Open Source? More like Openly Racist by Anonymous Coward · · Score: 0

    Pure genius. Let's see how many flames roll in from the satirically-challenged... ;-)

  88. If I was Microsoft?... I would fund Linux hackers by Anonymous Coward · · Score: 0

    a true black ops set-up....

    why not?

    The Art of War, right?

    bring your opponent to your level

  89. Re:guide to getting rid of slashdot ads by Anonymous Coward · · Score: 0

    A number of problems exist in the above post.
    1) It is not acceptable to call someone a 'douchebag' just because you don't agree with them. That statement also fails to address the argument made by the original poster - that text ads would be less intrusive and more effective than graphical popups.
    2) Although it is true that a fixed-size banner is less intrusive than a popup, it is more intrusive than text ads, and a quick search of the www.alertbox.com archives will tell you that text ads are more effective, and that people don't actually LOOK at banners - so blocking them costs Slashdot nothing.
    - Ergo, the abolition of graphical banner ads on Slashdot would be of mutual benefit to both the community AND advertisers.
    3) A false dichotomy: the choice isn't "Banner ads or no Slashdot".
    - There are other types of ad.
    - There are other sources of revenue as well as ads.

  90. Makes you wonder..... by AmoebafromSweden · · Score: 1

    Makes you wonder how many backdoors have slipped through in windows, in Linux anyone can discover a backdoor. Who discovers them in windows?

    1. Re:Makes you wonder..... by gNU+Kid · · Score: 1

      Many people do find out bugs on Windows., but M$ dosent bother to fix them until an exploit occurs. A good example is the recent Blaster Worm which exploited an RPC bug which was published by CERT before the patch was available.

  91. closed vs open source and code exploits by Famanoran · · Score: 1

    Well, I'm hearing a lot on here about "hey, if this happened to open source once, it may have already happened or it may happen again" ... sure... but wait a minute, wasn't the halflife 2 source code leaked/stolen a while ago? Propietary code, no? Who is to say that they didn't add a few dozen back doors into it while they were at it, mmm?

    The risk of this happening to open and closed source is roughly the same, and the benefit of open source it that it can be spotted...

  92. Re:In unrelated news, sockets.h changed a little.. by Anonymous Coward · · Score: 0

    #if !defined() is perfectly find with the GCC pre-processor. I have no idea if it's C[8|9]9 compliant though.

  93. Hmmm by temojen · · Score: 1

    That one wouldn't get very far, now would it...

    r00t@localhost# emerge zig
    ...
    the system is going down for fdisk now!

    Operator@othermachineacrosstheroom$ mirc
    \chan gentoo
    Operator:Take zig-0.1.0 off the server now!!!!!!!!!
    Captain: What happen?
    Operator: Somebody set up us the bomb.
    Operator: We get signal.
    Captain: What!
    Operator: Main screen turn off.
    Cats: :P
    Captain: It's You!!
    Cats: How are you gentlemen!!
    Cats: All your code base are belong to us.
    Cats: You are on the way to destruction.
    Captain: What you say!!
    Cats: You have no chance to survive make your time.
    Cats: ROFLMAO
    Captain: emerge -C "zig"
    Captain: You know what you doing.
    Captain: mv ~gentoo/public/"zig" .
    Captain: For great justice.
  94. Wanted! by Anonymous Coward · · Score: 0

    I offer 25k open source dollars to everyone submitting a guy who attempted this. :)

  95. 1st 2nd 3rd by pommiekiwifruit · · Score: 1
    Some people seem to be changing their usage of that since the soviet blok decentralised (IIRC Russia is now less centralised than France).

    What annoys me now is that some games developers (e.g. Rare) are being called "2nd party" because they are owned by a manufacturer.

    The correct terms are: 1st party = manufacturer, 2nd party = end-user, 3rd party = anyone else.

  96. I wonder why not a remote root hack by Krellan · · Score: 5, Informative

    The vandal who put this in the CVS code tree obviously had a lot of skill.

    It's a clever backdoor, and might have gone unnoticed, if not for those those good automated checks in the BitKeeper-to-CVS gateway. Notice that the particular coding style is a common C gotcha (using "=", assignment, instead of "==", comparison). At first glance it looks like the value of uid is being compared with 0, when in actuality it is being assigned the value of 0: root! The gcc compiler is good about warning for this, except that this too has been defeated: as mentioned on the mailing list, notice the unusual high number of parenthesis around this expression. That high number of parenthesis has the effect of suppressing the gcc compiler warning.

    So, whoever did this obviously knew what they were doing and tried to obfuscate it. As somebody else mentioned on the kernel mailing list, if somebody is going to put in a backdoor like this, why not make it a remote root hack?

    As it is now, the above hack is only locally exploitable. A process on the local system still has to call the wait system call with that particular combination of flags, in order to trigger the exploit and get root. To my knowledge, no known applications do this, because the combination of flags is supposed to be invalid.

    If a spammer or somebody else was trying to backdoor the Linux kernel in order to gain a large number of machines to infest, then one wonders why they didn't put in a remote root exploit. It seems strange to go to all the trouble. Since this backdoor attempt has been caught and blocked, security will now only become tighter, and they might not ever get another chance like this.

    Maybe it was intended to be used with another application, also backdoored in the same manner? It might be insightful to scan other open source applications and search for this particular usage of flags to the wait system call.

    In any case, I'm glad this hack was caught!

    1. Re:I wonder why not a remote root hack by technos · · Score: 2, Interesting

      Who says this wasn't one part of a larger plan?

      Slip in a priveledge escalation bug that's hard to catch. Wait a week or two for it to make its way into the main repository unnoticed, then go back and add a little bit of code to the networking stack or Apache, etc, that allows you to execute arbitrary code as the user running the service.

      what is creepy is that the latter may have preceeded the former, and some remote execution exploit has gone unnoticed somewhere.

      --
      .sig: Now legally binding!
    2. Re:I wonder why not a remote root hack by You're+All+Wrong · · Score: 3, Informative

      Nonsense, you're talkin out of your arse.

      The brackets are necessary to even get the thing to compile as the precedence of '=' is below that of the logical operators.

      bash-2.05a$ cat > test.c
      int foo() {
      extern int x,y,z;
      if(x>y && z=0) x=y;
      }
      bash-2.05a$ gcc test.c
      test.c: In function `foo':
      test.c:3: invalid lvalue in assignment

      YAW.

      --
      Your head of state is a corrupt weasel, I hope you're happy.
    3. Re:I wonder why not a remote root hack by FatalTourist · · Score: 1
      The vandal who put this in the CVS code tree obviously had a lot of skill.

      That's right. These aren't just ordinary hackers. They must be... 1337 warez d00dz. And why are they infiltrating BitKeeper? You guessed it. Half-Life wall hacks.
      Gentlemen, we are dealing with a couple of sick individuals.

      --


      Escape Pod Films: Sketch Comedy and Web Series
    4. Re:I wonder why not a remote root hack by Crayon+Kid · · Score: 1

      Notice that the particular coding style is a common C gotcha (using "=", assignment, instead of "==", comparison). At first glance it looks like the value of uid is being compared with 0, when in actuality it is being assigned the value of 0: root!

      You'd think it would be obvious exactly because it's a well known C gotcha (and Perl, and PHP and so on).

      --
      i ate crayons when i was a kid and now i have two braincells and the blue ones taste nicer
    5. Re:I wonder why not a remote root hack by Short+Circuit · · Score: 2, Insightful

      On the bright side, it shouldn't be hard to search for, as far as OSS projects go. Especially if those projects are accessible via a web-CVS portal; Google caches those, I think.

    6. Re:I wonder why not a remote root hack by Anonymous Coward · · Score: 0

      "The gcc compiler is good about warning for this, except that this too has been defeated: as mentioned on the mailing list, notice the unusual high number of parenthesis around this expression. That high number of parenthesis has the effect of suppressing the gcc compiler warning.

      The extra parentheses trick isn't much of a secret. The warning message actually suggests that you do this (or at least it used to).

      "As it is now, the above hack is only locally exploitable. A process on the local system still has to call the wait system call with that particular combination of flags, in order to trigger the exploit and get root. To my knowledge, no known applications do this, because the combination of flags is supposed to be invalid."

      First you say he had a lot of skill, and then you point out that the exploit was probably useless. And it was detected right away. This guy had about as much skill as the average Visual Basic programmer.

    7. Re:I wonder why not a remote root hack by qigong · · Score: 1

      The fact that combination attacks like this are possible is one of the biggest reasons for "redundant" Open Source projects.

      Slashdotters like to play into the "OS war" and "X program is better than Y program" silliness. In reality, it's really important for the overall health of Open Source to have heterogenous base of installed software. If everyone ran Linux and Apache, for instance, it greatly increases the incentive for crackers to target these systems.

      This is why I'm always glad to see competition like Sendmail/Exim/QMail, Mono/DotGnu/.NET, Linux/BSD, etc.

    8. Re:I wonder why not a remote root hack by Old+Wolf · · Score: 2, Insightful

      whoever owns sourceforge just has to grep all the applications for wait4 , and that may lead straight to the guy..

    9. Re:I wonder why not a remote root hack by penguin7of9 · · Score: 1

      It's a clever backdoor, and might have gone unnoticed, if not for those those good automated checks in the BitKeeper-to-CVS gateway. Notice that the particular coding style is a common C gotcha (using "=", assignment, instead of "==", comparison).

      I suppose it seems "clever" if you haven't seen it before. But there have been quite a number of backdoors like that over the years using the same "trick" of changing an "==" into a "=" (e.g., in the VAX BSD kernel and old versions of sendmail). In the past, they have just gotten fixed without much noise.

      It's actually kind of disconcerting that the Linux developers aren't scanning for this regularly; a simple C style checker that finds assignments inside "if" would do.

  97. Does that mean the trojan is GPL'd? by Danathar · · Score: 2, Funny

    So, if source code for a trojan is inserted into a GPL's project and assuming the author of the Trojan knows the trojaned program is a GPL project, does that mean that the Trojan is technically GPL'ed

    1. Re:Does that mean the trojan is GPL'd? by Anonymous Coward · · Score: 0
      So, if source code for a trojan is inserted into a GPL's project and assuming the author of the Trojan knows the trojaned program is a GPL project, does that mean that the Trojan is technically GPL'ed

      Y, and it *must* be submitted back to the primary author (copyright holder) of the program. However, primary author has no obligation to include trojan in next version.

    2. Re:Does that mean the trojan is GPL'd? by BigGerman · · Score: 1

      not only the trojan but the actual exploit (virus, worm, or whatever) will be GPLed - derivative works.
      So by default it could not be used at certain corporate or government installations prohibiting GPL software - I feel much better now.

  98. Re:Neo_Trinity both DIE Zion saved with deal by Anonymous Coward · · Score: 0

    wat?

  99. its Bill Gates.... by King-of-darkness · · Score: 0

    I bet the hacker is Bill Gates :P

    1. Re:its Bill Gates.... by JDBrechtel · · Score: 1

      I bet you don't have a girlfriend :P

    2. Re:its Bill Gates.... by dremspider · · Score: 0

      He wouldnt know how to :-). He whould just hire someone.

  100. Netscape engineers are weenies by theolein · · Score: 1

    Does anyone remember that choice item, which was used as the password for a backdoor coded into asp some years ago by a witty Microsoft engineer? I was sitting next to a friend of mine as he cracked a local online store with this vulnerability to see if it actually worked. He was a decent guy, Linux fan through and through and informed the company about the hole.

    But what if he hadn't been?

  101. And this, dear reader by Rogerborg · · Score: 4, Insightful

    Should end the old argument about which is better, the habitual, easy to read, but easy to screw up or abuse:

    if(variable == CONSTANT) { }

    Or the safe version that's so much harder to screw up and which turns out to be just as easy to read with practice:

    if(CONSTANT == variable) { }

    Do we all understand the real world significance of this now?

    If you still want to advocate (variable == CONSTANT), then please feel free to prove that no accidental or abusive (variable = CONSTANT) exist in the kernel.

    --
    If you were blocking sigs, you wouldn't have to read this.
    1. Re:And this, dear reader by sprouty76 · · Score: 1
      Not much use for when you want to do:

      if (variable1 == variable2) {...}

      though, is it?

      In this case, if the root id wasn't hardcoded, but was a variable defined somewhere else (which is regarded as good practice itself):

      if (userid == rootid) {...}
      and
      if (rootid == userid) {...}

      are not vastly different.

      --

      No, I don't want a free iPod

    2. Re:And this, dear reader by Anonymous Coward · · Score: 0

      This has to do with a much greater thing, dude: our language structure. I believe in indo-european languages, it has always been "subject , action, object" (I hear Japanese is not so).

      So, it's a matter of tradition and, probably, brain wiring.

      This "CONSTANT == variable" inversion is typical of C: let's use a totally tortuous way to do things, as long as it works out...

      We should not use the "=" symbol in the first place!!

      Imagine that assignment was ":~", for instance. Such exploit would never have been possible, for starters.

      Also, and more to the point, I once coded a Z-80 assembler (ok, I'm old, so sue me). It had too distinctive features:

      1) It used "high-level syntax":

      Instead of

      mov A,H
      adc A,L

      one could see (more or less)

      H == A
      A == A + L + C

      2) It had a single keypress token entry:

      I didn't press "=" two times to get "==", I had one special key mapped to generate "==" at one single touch. So, it reduced mistakes. I was not original, this was inspired by the excellent ZX-80, by Sir Clive Sinclair. BTW, most certainly some code editor can now do the same thing, if someone is "in the know" I'd like a hint, thanks...

      That's it. Thanks for your attention.

    3. Re:And this, dear reader by Anonymous Coward · · Score: 0

      Why would someone who failed programming 101 be contributing to the kernel?

    4. Re:And this, dear reader by fgb · · Score: 1

      Any C/C++ compiler available since the early 80's has (or should have) the ability to catch this error.

      So, find out what the appropriate switches are for your compiler, turn them on and stop writing ass-backwards, hard to read and maintain code!

    5. Re:And this, dear reader by smitty45 · · Score: 1

      that is a very side note, focusing on types of mistakes instead of the noticing and filtering out code that contains those mistakes.

      Linus' last post on that thread discussing the topic puts it finally, that we should feel happy about. basically, if it gets all the way to Linus, via email, and it hasn't been seen, then the kernel will have a backdoor in it. this is how it is for both intentional malicious code and plain old bad mistakes.

    6. Re:And this, dear reader by Anonymous Coward · · Score: 0

      Why are you calling a function?

      PUT A SPACE BETWEEN THE KEYWORD AND THE PARENS OF THE EXPRESSION.

      And "prove" is too strong of a word.

      #define CONSTANT current->uid
      .
      .
      .
      int some_value = 0;
      .
      .
      .
      if ( CONSTANT = some_value ) {
      .
      .
      .
      }

    7. Re:And this, dear reader by Anonymous Coward · · Score: 0
      If you write in C,
      if(CONSTANT == variable) {}
      is superior, but if you write in warnings-free C (the subset of the language that doesn't trigger warnings),
      if(variable == CONSTANT) {}
      is superior. As the 'warnings-free C' language is superior to 'C' language, I would suggest using the 'warnings-free C' language and the latter form of the comparison.
    8. Re:And this, dear reader by //-izer · · Score: 1

      Better yet, program in fortran 77 and the screw-up would never happen:


      IF ( VRBL .EQ. CNST ) THEN
      ! ...
      END IF
      ;-)

    9. Re:And this, dear reader by TomRitchford · · Score: 1
      This has to do with a much greater thing, dude: our language structure. I believe in indo-european languages, it has always been "subject , action, object".


      Not true, in German the verb at the end of the sentence appears.
    10. Re:And this, dear reader by Anonymous Coward · · Score: 0

      You are right about compounded phrases, and I don't know why this happens... but ordinary phrases obey that usual sequence. E.g.:

      Meine Tochter ist jung. (My daughter is young.)

      She talks too much. (Sie redet zu viel.)

      But, of course, this is not a rigid rule. I meant it is a common practice. Pardon me if was not clear about it. I tend to overemphasize things.

  102. Solution:Use many third parties to Bootstrap by NZheretic · · Score: 1
    One way to greatly mitigate Ken Thompson's award winning trojan can be by multi -bootstrap-ing the compiler
    Other than manual inspection of the resulting compiler binary, a solution for this is too use many third party C compilers and enviroments for the original bootstrap compiler build and compare the resulting code after the resulting compiler has rebuild itself for the third time. If the result greatly differs then manualy inspect the generated code where it differs.

    You can do this with GCC, but I don't know if the source Microsoft's C compiler is currently portable enough to do this.

    The rest just good secure housekeeping, Don't build as Root and keep the build systems isolated and secure as you should be doing for vital public key signing enviroments.

  103. Counter argument by Anonymous Coward · · Score: 0

    But what about the penguin? It's as black as it's white.

  104. The list is good reading by erenq · · Score: 2, Insightful

    I recommend reading the original mailing list postings, they're good reading, rather better than most of these slashdot comments. Just follow the first link in the article.

    1. Re:The list is good reading by IWannaBeAnAC · · Score: 1

      Unfortunately this is too true. The days when you could read a decent technical discussion on slashdot have unfortunately long gone :-(

  105. NO! by Anonymous Coward · · Score: 0

    If you are assigning the value OVERRATED to ALIANWARE then "=" is correct.

    YUO == BIOTCH

  106. And the foundation proves to be strong by FeriteCore · · Score: 1
    Add another discovered back door or other security hole added to an open source software product.


    There have been several now.


    Looks bad? Think about it.


    Each one I've heard of has been detected, corrected and publicised within hours. We don't know about any that haven't been found, of course, but I haven't known of one that went undetected for even a day. If it was easy to slip in a deliberate security hole that escaped initial detection we would hear about holes that were detected only after months or more.


    This has been a test of the proposition that all those eyeballs don't realy improve security because most don't realy read the source. The proposition has failed.


    All those eyeballs make for an almost certanty that at least one will take a critical look.
    That is all it takes.

    1. Re:And the foundation proves to be strong by Anonymous Coward · · Score: 0

      The attack failed necause it was detected by a automated review - not an eyeball read of the source.

  107. imagine the hacker by WildCode · · Score: 1

    oh bugger! I snuck it into this other o/s ok, why can't I hide it in linux?!

  108. rightyrightyright, o my brothers... by w4rl5ck · · Score: 1

    those kids should look whom they are messing with. In fact, they are messing with the most l33t people available in the world right now.

    Let's see what comes next %)

  109. Re:Open Source? More like Openly Racist by Anonymous Coward · · Score: 0

    Very funny. I sure hope nobody takes this seriously. :)

  110. Could there be another lurking somewhere? by Megane · · Score: 1

    Maybe someone should grep the source for "uid[ \t]*=[ \t]*0[^0-9]" and inspect any matches, just in case?

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  111. Re:Open Source? More like Openly Racist by Anonymous Coward · · Score: 0

    Hey, this sounds like that piece the guy wrote comparing Open Source to Nigerian Spam!

  112. This is illogical by mslinux · · Score: 1

    If a spammer or somebody else was trying to backdoor the Linux kernel in order to gain a large number of machines to infest, then one wonders why they didn't put in a remote root exploit.

    We saw the code that was used to gain root access locally on the machine. Perhaps the bit of code (buried elsewhere in the source) that allowed for remote access as a normal user has yet to be found, no?

    1. Re:This is illogical by qtp · · Score: 1

      (buried elsewhere in the source)

      Or in an server app.

      Or they are assuming that they can get an account on a machine if they want this enough.

      Or in mono.

      It is (somewhat) obvious that whoever planted this was being very careful not to set off too many alarm bells and was seeking to become root on any Linux platform after they had already gained access to it (from a legitimate or stolen account, backdoor, server exploit, etc). Thier intended route into a non-root account may already exist and would be a difficult one to find as there are many more places it could be hiding.

      How much time is spent looking for non-root exploits (remote and otherwise). With the possibility of local root exploits being executed after access is already gained to the machine the danger presented by non-root exploits is much greater than many might think.

      --
      Read, L
  113. Re:Well well [Thompson: Reflections on Trust] by muonzoo · · Score: 5, Interesting

    Of course, at some point, we do have to trust someone.
    Ken Thompson wrote an original speculative essay on this for CACM back in 1984 of all years.

    It is really well worth the read. The short form is that there exists a way to subvert the compiler such that it is no longer trustable and it will build a back door into the OS forevermore. This paper is a must read.

  114. How could I exploit this? by Mr_Silver · · Score: 1
    Question: Assume for a minute that it slipped through and was released in the next versions of all major distributions.

    Given that I don't understand the code in the slightest (well I understand the assignment and user id 0, but not what __WCLONE or __WALL does or relates to) how would a standard user have been able to get him/herself root?

    --
    Avantslash - View Slashdot cleanly on your mobile phone.
    1. Re:How could I exploit this? by nobodys+fool · · Score: 1

      Find the guy who did it. He should know.

    2. Re:How could I exploit this? by Anonymous Coward · · Score: 0

      You would make a call to the function that was changed passing in the _WCLONE and _WALL flags. The modified code would cause the function to return an invalid options error - but the side effect would be that the current uid would be set to root after returning from the function.

    3. Re:How could I exploit this? by i_am_pi · · Score: 1
      They're bullshit values, used as a trigger.

      wait4(__WCLONE|__WALL); would trigger the code, return -EINVAL, and set the uid of the caller to root. from there, it's a simple

      exec("/bin/sh"); /* i pwn j00 */
      # whoami
      root
      # _
      Pi
  115. URL for Thompson Paper that works. by muonzoo · · Score: 1

    Turns out you need an ACM subscriptiong to the link to the PDF above.
    Ken Thompson has been kind enough to post a link to a free online version in the classics library at the ACM.

  116. Defensive coder's bullet-proofing technique by Anonymous Coward · · Score: 2, Insightful
    At first glance it looks like the value of uid is being compared with 0, when in actuality it is being assigned the value of 0: root!

    An old trick, from my days writing with C compilers under MS-DOS: to force the compiler to catch this problem, put the constant (the zero, in this case) on the left-hand side of the 'equals' sign. C doesn't allow assignments to constants, and even a crude compiler will catch this.

    In other words, when you meant

    (uid == 0)
    and used a single 'equals' sign, instead of

    (uid = 0)
    you'll get

    (0 = uid)
  117. It was the Wachowski's! by bahamat · · Score: 1

    They screwed up the Matrix, now they're trying to screw up Linux too!

  118. This proves one thing. by jd · · Score: 1
    That Linux kernel developers can detect and correct attempts to corrupt the kernel.


    This dispels a lot of the FUD surrounding whether Linux kernel maintainers can be relied upon to detect such false entries.


    In a lot of ways, this is a Good Thing, in that it proves, conclusively, that Linux' QA works and works damn well.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    1. Re:This proves one thing. by Quill_28 · · Score: 1

      Not that I don't think Linux kernel maintainers can be relied upon to detect such false entries.

      But this only proves that they can detect _a_ false entry. For all we know there a dozen more false entries.

      While I agree it's a good thing, to say that it proves conclusively that Linux' QA works and works damn well is a bit of stretch.

    2. Re:This proves one thing. by Anonymous Coward · · Score: 0

      You know what they caught. But what didn't they catch that has been compromised? For all we know other exploits have been added that haven't been detected.

  119. j00 4r3 teh... ehem, you're a moron by Ender+Ryan · · Score: 1
    What's the penalty under the law for putting a backdoor in an open-sourced software project?

    Plenty, probably, but that's irrelevent anyway. This person wasn't authorized to put anything in, and there are plenty of laws against unauthorized "hacking."

    I would imagine putting a backdoor in an OS project is legally quite the same as in a proprietary one.

    --
    Sticking feathers up your butt does not make you a chicken - Tyler Durden
  120. Re: Monolith by TeknoHog · · Score: 1

    My God, it's full of source!

    --
    Escher was the first MC and Giger invented the HR department.
  121. Re:Darl! Give it up man! by Anonymous Coward · · Score: 0

    Actually, give it a day.

    I'm sure SCO will claim this was copied from them as well.

  122. I wonder why not a remote root hack-Gateway goof. by Anonymous Coward · · Score: 0

    "if not for those those good automated checks in the BitKeeper-to-CVS gateway."

    The funny thing is if all the kernel hackers had adopted BitKeeper? Those gateways wouldn't have been necessary. Let's all thank Stallman for that.

  123. Yes, in fact, they look identical. (NT) by Anonymous Coward · · Score: 0

    (NT)

  124. WatchMaster's right. by LO0G · · Score: 1

    The only way to get the code to execute was to actively try to break the copy protection on Word 2.0. If you were running under a debugger and had patched out the first two of the three anti-debugger checks, that message would be printed out, and Word would start randomly reading data off the disk.

    Peter Norton found it by looking at the word binaries on the disk and put it into his column, and Microsoft had to pull it immediately.

    Needless to say the intern involved never came back to Microsoft.

  125. And it's the default on Lindows by LO0G · · Score: 1

    So what's your point? That consumer operating systems have to ship with the default logon as root?

  126. And by whom, eh? by Anonymous Coward · · Score: 0

    Maybe the Dept. on this one should be "The Empire Strikes Back"

  127. The offending code by whereiswaldo · · Score: 0, Redundant


    Can someone post the source diff that the hacker tried to get into the tree?

    1. Re:The offending code by lm · · Score: 1

      It's in the LKML archives, read the thread there.

    2. Re:The offending code by MrPink2U · · Score: 0, Redundant

      Click on the link in the slashdot blurb. Even though I'm no hardcore coder, it is pretty easy to see the exploit they tried when reading through the LKML thread.

      I always did hate the == comparison operator in C!

  128. Not balls but really funny... by twoslice · · Score: 1

    many years ago when easter eggs in programs were all the rage, there was this one guy who programmed an easter egg with a guy mooning you from inside a VW bus.

    --

    From excellent karma to terible karma with a single +5 funny post...
  129. Cryptographic CVS? Monotone. by jonabbey · · Score: 1

    If RMS wants to rant about revision control systems, he'll need to say that CVS needs to be replaced with a more functional alternative (Subversion, perhaps), not BK.

    Or Monotone, perhaps.

    Monotone is a new revision control system being developed by Graydon Hoare at RedHat. It's notable for having cryptographic hashs and signatures implemented through the entire system.. each delta in the archive has a signature associated with it, as does each bit of information about the delta.

    I'm not sure how well such a system would perform, but there's no sneaking data into a system like that without subverting (sorry) someone's private GPG key.

  130. Is it just me, by brsmith4 · · Score: 1

    or do i smell the stench of M$ somehow on this. A) you'd have to be pretty skilled to know even how to code for the kernel and to exploit it in this way. We may take this knowledge for granted here on /., but cmon people, the guy needed "5K1llz". B) Then, he needed a motive. What better way to keep your product on top than to prove that your enemy is riddled with a security hole worse than the the Nimbda worm?

    This would most likely be a "test" run, since they would be stupid to think that no one would pick this up. They just wanted to see if it was possible. Now that it is, we'd better watch out. They will be subtle next time.

    1. Re:Is it just me, by Anonymous Coward · · Score: 0

      So that explains the holes in Windows -- it's Linux zealot's fault! I hadn't honestly thought of that until now.

      Sounds like it's time to inform the local DA and have all Linux users rounded up and exposed as the criminals they are!

  131. Distributed remote hacks by Royster · · Score: 1

    Clearly, the best way to get a remote backdoor is by making two changes, each of which is insufficient to garner attention but which, taken together, constitute the entire exploit.

    The complementary step would be to try to get the priviledge elevator installed in some system component so that together they could be used as a remote bakdoor when a vulnerable kernel was running a compromised service.

    Time to examine recent paches to common daemons like Apache, Samba and ftpd to see if there's anything which might take advantage of such a hole.

    --
    I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
  132. Not textbooks by Anonymous Coward · · Score: 0

    (n == 0) doesn't mimick the textbooks, it mimicks the natural language. "If n is zero..."
    (That's English, but I don't know of any language where the normal order is reversed, except for Yoda-speak.)
    That's what makes it more readable.

    1. Re:Not textbooks by AHumbleOpinion · · Score: 1

      (n == 0) doesn't mimick the textbooks, it mimicks the natural language. "If n is zero..." (That's English, but I don't know of any language where the normal order is reversed, except for Yoda-speak.) That's what makes it more readable.

      Similarity to natural languages does not seem to be a very good argument since programming language are often inherently different. For example "If n is zero or one ..." is ((n == 0) || (n == 1)). I understand your point, when originally learning to program I tried using (n == (0 || 1)). I think your argument may have more merit when writing an introductory programming textbook. However once we get to a level where a programmer has a non-trivial amount of experience I think this argument falls away.

  133. security by yalurker · · Score: 1

    Why use a back door, when the Windows is open?

  134. Re:Well well [Thompson: Reflections on Trust] by revery · · Score: 2, Funny

    I wonder if there is not a way to defeat such a method?

    For those who didn't read the article by Ken Thompson ( read it here) a compiler is corrupted so that it inserts a bug into all compilers that it compiles, and the purpose of that bug is to insert a bug into another program (such as login) when it compiles it (such as accepting a certain password as the root password)

    Both bugs have to be a pattern based search method. They look for some string or some sequence of characters that the original hacker believes will be consistent in future code, and then make their modifications.

    Running the code through a obfuscating precompiler that both randomized variable names and added random white space would potentially remove any pattern that the trojan was looking for.

    Can anyone think of things that I missed (or ways to make the trojan continue to work in the face of obfuscation)

    the obfuscator would, of course, be written in an interpreted language... ( [raises pink to corner of mouth and channels Dr. Evil] whose interpreter has of course been corrupted so that it inserts naughty limericks into every application it "obfuscates".... MUWAHAHAHA... MUWAHAHAH....)

    --

    Was it the sheep climbing onto the altar, or the cattle lowing to be slain,
    or the Son of God hanging dead and bloodied on a cross that told me this was a world condemned, but loved and bought with blood.

  135. Man, that's lame... by Dr.+Manhattan · · Score: 1

    ...not only are you a troll, you can't even make up your own stuff, you have to use someone else's.

    --
    PHEM - party like it's 1997-2003!
  136. BitKeeper by argoff · · Score: 1

    I couldn't help thinking that if this kind of attack was done within the closed-source BitKeeper instead, and we didn't have open sourced CVS to ferrit it out - it might never have been caught.

    1. Re:BitKeeper by Anonymous Coward · · Score: 0
      I couldn't help thinking that if this kind of attack was done within the closed-source BitKeeper instead, and we didn't have open sourced CVS to ferrit it out - it might never have been caught.
      That's a reall stupid comment. The source of CVS was never examined (or needed) to see this problem. The problem was actually with CVS getting hacked and someone injecting code into the source unver CVS control (not the actual source of CVS itself). Maybe you should actually understand the problem before giving your political knee-jerk opinion of it.
    2. Re:BitKeeper by grimiore1 · · Score: 0

      Uhm, no...

      read http://www.ussg.iu.edu/hypermail/linux/kernel/0311 .0/0651.html

      . Linus resonds exactly to this.

      --
      Ben, you've become an UberGeek! Take me as your padawan!!!
    3. Re:BitKeeper by argoff · · Score: 1

      I understood the problem, you don't understand what I'm saying. I'm pointing out a *potential* vulnerability, a hack to bitkeeper is much less likely to be noticed and notified if found than a hack to CVS that would modify the Kernel code. Lets not assume that because BitKeeper is generic that it couldn't be used for a Linux specific hack.

  137. Russia Hump by RussiaHump · · Score: 0

    In Soviet Russia, back-door hack attempts hump YOU!

    --
    I am the Russian Humper !!
  138. Trying to prevent [Thompson: Reflections on Trust] by Doug+Merritt · · Score: 1
    Running the code through a obfuscating precompiler that both randomized variable names and added random white space would potentially remove any pattern that the trojan was looking for.

    First off, white space is removed in the lexical analyzer in the earliest phase of compilation, so that part is way off base. The pattern matching would occur on something like expression trees (parse trees, syntax trees, intermediate code tuples, ...)

    Secondly, the part being matched might not be alterable. If the target code is doing something like "strcmp(test_password, stored_password)", then you can't obfuscate the string "strcmp"; the symbol wouldn't be resolved by the linker.

    Thirdly, the standard obfuscation tool would be well known, and the compiler could be adapted to it, or it could be subverted as well.

    Fourthly, the real point of Thompson's trick was that he got people to use a trusted binary of a compiler to recompile the world. If people were distrustful enough to want to run an obfuscator, they would also refuse to trust the binary compiler sent to them by that rogue Thompson, and instead would use one of their own.

    You can try to get clever, but there's no avoiding Thompson's ultimate point: there's always someone or something that must be trusted, and that is a weak link.

    After all, accidental bugs that cause security flaws show the impossibility of even completely trusting oneself.

    --
    Professional Wild-Eyed Visionary
  139. Must be written by a college student by iamacat · · Score: 1

    Whose university is wheening off Sun boxes. Either you have desktop machine, then you already have root access or you have an account on a corporate server, then you are probably supposed to manage it. You can go and hack your own ISP, but these are the people in the best position to monitor you and they know exactly which billing address to show up at and kick your ass *shudder*.

    Why not hack NFS code instead - or better yet SSH, Apache, gcc and so on? This exploit is so ineffective that I wonder if it's a bug after all.

  140. Re:I wonder why not a remote root hack-Gateway goo by Anonymous Coward · · Score: 0

    Egad.

    The Bitkeeper side of things wasn't
    touched. Only the CVS export was
    cracked.

    Yes, let's all thank the zealots
    for making this possible.

    Seriously, try to know what you
    are talking about.

  141. What about mirrors, or private distros? by cdunworth · · Score: 1

    Couldn't someone just slip nefarious code into the source they are hosting on their mirror, then compute new hashes so that everything appears legit? You could also rebuild the binaries that you are hosting to include this evil code. And even if you are not mirroring, the GPL lets you create your own distro as long as you publish source. Just add the nasty code, publish it, and trust that none of the users will go hunting for problems. After all, it was the source MAINTAINERS who found this particular attempted exploit, thanks to some tools they were running.

    I'm certainly no expert on Linux mirrors and the like. Does anyone know if there is a way to prevent what I describe?

  142. bzzzt, wrong by Sean+Clifford · · Score: 1
    Normally, I don't feed the trolls, but okay, I'll bite.

    You exaggerate a lot; obviously you have never worked in industry.

    No, I exaggerate a little and have worked in the industry for 10 years as a code monkey. I've been up the totem pole from the bottom to the top - programmer, lead programmer, project manager, and IT director.

    When I was a peon, I watched marketing take over development and make a lot of numbskull decisions not unlike the ones I described in my last post. I've worked with companies where company policy forbid them from making simple no-brainer decisions just like the example we're discussing.

    If you haven't seen crazy stuff like this, then I doubt you've worked in the industry very long.

  143. Quiet ones, eh? by enos · · Score: 1

    It's the quiet ones you've got to watch...

    While you're watching the quiet ones, a loud one will fucking kill you! -- George Carlin

    --
    boldly going forward, 'cause we can't find reverse
  144. I thought Linux was secure? by Anonymous Coward · · Score: 0

    If someone broke into MS and started altering code, people would talk about how unsecure MS is, but people seem to gloss over the seriousness of this break-in.

  145. Re:Bad News (PKI for everyone?) by zoloto · · Score: 1

    wouldn't it be good to include the users gpg pki sig with the code they send in, and if linus or anyone else modified it, they would sign their diffs or the code itself? Not inline, but a seperate .asc

  146. Re:guide to getting rid of slashdot ads by dekashizl · · Score: 1

    Thank you for addressing my post. Let me respond to your points.

    1) While I did feel a tiny bit bad about it, I called the poster a douchebag not because I don't agree with him, but because he is spreading harmful information that has the potential to negatively effect all of our ability to access this site for free and via the high bandwidth connection it uses (off-topic in a discussion about a Linux kernel back-door, by the way). I'm all for open discussions without name-calling, but this went beyond creationism/evolutionism to something more akin to "how to avoid speed traps near schools" which are in place to make the world a safer/better place.

    2) First of all, saying "people don't actually LOOK at banners" is just plain ridiculous. Some people do, and some people don't. With TV, some people watch commercials, and some go make popcorn and take a leak off their roof. Text ads may generate more click-through, but they are more insidious in that they begin to merge with the content, something a clearly demarcated graphic ad does not do. Your evidence does nothing to support your claim that abolition of graphical banner ads would be of mutual benefit to anybody, not that you've even defined "benefit", and if you consider the issue I just raised about text ads, I can't imagine how you could make that claim.

    3) I never made the claim that banner ads and Slashdot are in some kind of eternal embrace that we can't shatter. I pointed out that "the ads are tastefully executed on this site" and that you shouldn't publicly try to "subvert the system that's effectively in place to give you something you like for free."

    P.S. I am posting this without Karma Bonus because I don't need to further publicize this (nor encourage wasting of mod points). I just wanted to leave a response to your issues attached to this thread.

  147. There is one by Prince+Vegeta+SSJ4 · · Score: 1

    didn't microsoft release Back Orifice

    1. Re:There is one by Pharmboy · · Score: 1

      you are thinking about the CDC, Cult of the Dead Cow, cultdeadcow.com

      They sell T-shirts, too.

      --
      Tequila: It's not just for breakfast anymore!
  148. Two sides to the coin? by g0_p · · Score: 1

    Well, I guess that means all the closed source developers have the same problem. And I guess they probably don't know either. Just wondering, if open source software facilitates somewhat easier detection of subversions, are undetected subversions in OSS, also not at a greater risk of being exploited by hackers, especially because the code is in plain view to a larger audience? (as compared to a much smaller closed source development team..)

  149. Plan to discredit Linux? by FreekyGeek · · Score: 1

    If one wants to put on the conspiracy hat - and with this example, that doesn't seem too unreasonable, since *someone* was trying to plan a backdoor - this is a very clear warning that the security of the Linux source code needs to be taken very, very seriously.

    If - just hypothetically - some Huge Opeerating System Seller - really wanted to discredit not just Linux but the whole Open Source method, what better way than to plant something like this and then step back and say "Look! Open Source is insecure! Why, with all those strange foreign bohemian types working on it, who knows *what* one of them might slip in?"

    Yes, you and I know all the holes in that argument, but the pointy-haired types wouldn't.

  150. gcc detects this by Peaker · · Score: 1

    (When properly configured).

    At least gcc 3.3.2 (what I tested on), yields a: "warning: will never be executed" warning if compiled with "-Wunreachable-code" (in addition to -Wall, which does not really add "all" warnings).

    This is because "&& (uid = 0)" always yields false, and the "then" part of the if never runs.

    Maybe its a good idea to compile OpenSource code with all these warnings turned on :)

  151. Not *forever* by autopr0n · · Score: 1

    I mean, at some point someone might try recompiling the compiler from the begining. And eventualy someone might simply change the compiler code so much that the back door no longer works.

    --
    autopr0n is like, down and stuff.
  152. Lots of packages may have holes, but by autopr0n · · Score: 1

    If they arn't running as root, they won't let you do what they want. Unless there is a local exploit....

    --
    autopr0n is like, down and stuff.
  153. Linus unclear on meaning of "secure". by Anonymous Coward · · Score: 0

    "A few things do make the current system fairly secure. One of them is that if somebody were to actually access the (BitKeeper) trees (software repositories) directly, that would be noticed immediately." - Linus Torvalds

    Ummm, Linus, the fact that someone accessed the trees is defacto proof it wasn't "secure". If it were secure, it would have never been accessed. Whether you notice an intrusion in a nanosecond or a week later, an intrusion is an intrusion is an intrusion. And that, my fat Finnish friend, is not "secure".

    This coming from the guy crowned as the new Jesus.

    1. Re:Linus unclear on meaning of "secure". by TaranRampersad · · Score: 1

      "Fairly secure" != "Secure"

      Unless you're using some new .Net technology... or maybe not. :P

  154. Re:You mean, "what's really gonna bake your noodle by Nucleon500 · · Score: 1

    Yes, by whoever put it in.

  155. Re:Well well -- CNet Says: by pueywei · · Score: 1

    Well, this was posted to cnet news.com: Attempted attack on Linux kernel foiled By Robert Lemos, CNET News.com Friday, November 7 2003 10:07 AM An unknown intruder attempted to insert a Trojan horse program into the code of the next version of the Linux kernel, stored at a publicly accessible database. Security features of the source-code repository, known as BitKeeper, detected the illicit change within 24 hours, and the public database was shut down, a key developer said Thursday. The public database was used only to provide the latest beta, or test version, of the Linux kernel to users of the Concurrent Versions System (CVS), a program designed to manage source code. The changes, which would have introduced a security flaw to the kernel, never became a part of the Linux code and, thus, were never a threat, said Larry McVoy, founder of software company BitMover and primary architect of the source code database BitKeeper. "This never got close to the development tree," he said. "BitKeeper is really paranoid about integrity, and it turns out that was key to finding this Trojan horse." (Emphasis mine) Linus Torvalds, the original creator of Linux and the lead developer of the kernel, uses BitKeeper to keep track of changes in the core software for the operating system. On a daily basis, the software exports those changes to public and private databases other developers use. An intruder apparently compromised one server earlier, and the attacker used his access to make a small change to one of the source code files, McVoy said. The change created a flaw that could have elevated a person's privileges on any Linux machine that runs a kernel compiled with the modified source code. However, only developers who used that database were affected--and only during a 24-hour period, he added. "The first thing we did was fix the difference," he said. "It took me five minutes to find the change." When BitKeeper exports the source code to other servers, it checks the integrity of every file, matching a digital fingerprint of its official version of the file with the version on the remote machine. That comparison caught the change to the code stored on the server. The changes looked like they were made by another developer, but that programmer said he hadn't submitted them, McVoy said. The recent incident raises questions about the security of open-source development methods, particularly how well a development team can guarantee that any changes are not introducing intentional security flaws. While Microsoft code has had similar problems, closed development is widely considered to be harder to exploit in that way. Linus Torvalds addressed the issue in a post to the Linux kernel mailing list. "A few things do make the current system fairly secure," he stated. "One of them is that if somebody were to actually access the (BitKeeper) trees (software repositories) directly, that would be noticed immediately." A critical security flaw was found in CVS in January, but it's unknown whether the attacker used the vulnerability to gain access to the CVS database. BitKeeper's McVoy hopes the current incident will quash objections raised by some members of the development who don't want to add a new feature that would require all changes to be digitally signed. Even so, he said, the open-source development model likely would have quickly turned up any security flaws. "A Trojan horse is just a bug that a person has put into the system deliberately," he said. "The open-source security model is that everyone is using this stuff, so bugs get found and get fixed. That's one of the reasons that you are not hearing me freak about this." McVoy said the disk from the compromised server has been saved for later analysis, but any decision to contact law enforcement belongs to Torvalds and others. Torvalds could not be immediately reached for comment. http://asia.cnet.com/newstech/security/0,39001150, 39156944,00.htm

  156. hee hee by ranshdow · · Score: 1

    nothing like a good kernel vulnerability to bring out all those low UID posters!

    -R'

  157. Re: *forever* by Anonymous Coward · · Score: 0

    the beginning? as in by hand? my no theenk so...

  158. No, not really by devphil · · Score: 1


    The strings that such a compiler are looking for aren't C keywords or macros, so the preprocessor won't change anything. Identifiers can't be broken up without breaking the program, so you can't add random white space in the middle of words. Adding random white space in between words has never affected the C family of languages (if it did; there wouldn't be any holy wars over indentation styles, because only one method would work, and we'd all have to use it.)

    At some point, an implementation of login(1) has to look at "/etc/shells" and call the user ID resolver routines and drop privs and exec what will probably be one of three or four known shells. If your compiler hack detects "/etc/shells" as a string literal, then proceed to the next test.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  159. Oh no, the world is going to end. by Anonymous Coward · · Score: 0

    All of the comments listed here are quite rediculous. First off the backdoor was a local privledge escalation vulnerability so if a server is already compromized it could have led to root on such server. Most production web servers/schools/the majority of computers on the net. arnt going to be much of a problem for even a moronic attacker to get root on as the urgency is not really for patch implementation and system admin's at least good ones, arnt going to randomly update something which will take down the box unless they feel it is completely neccessary. Any remote compromise these days and in the past ( excluding certain systems which were properly level'd off/conforming to a higher security model b1 etc) has and should be considered a full compromise of the box. Since the introduced vulnerability is local, this would not lead to mass loads of compromised internet systems, nor as someone here wrote "widespread distribution of cc's across the internet". If it had not been caught it would likely remain undetected until someone randomly found it through a complete and detailed kernel audit. This kind of thing doesnt happen everday, a forumlar of the few people that can actually do a decent auditing job, and the luck of their source choice (wouldnt most of them be searching for remote vulnerabilities anyway ??). The question you should ask yourself is why was this particular vulnerability introduced. Which systems was this guy going after if at all, (If not any systems in particular it was probably done as something holding a certain coolness factor), Which machines on the net have fairly anal local security polocies and employ enough remote access that passwords illbegotten (ssh trojan/keyloggers etc. ) the answer seems to point to shellservers, and hosts used by "underground groups", hacker's boxes, Box's people use to irc and development servers, (silly developers giving everyone access to your systmes). The boxes employed by this group of people are going to probably have several users, and probably be implimenting higher levels of individual security and scrutiny. Does this vulnerability not fit this model perfectly?
    Actually thikning out the ramafications and intentions of a persons actions seems to be a foriegn thought in the computer security field, ive heard this breach to be called an act of terrorism, when it seems like nothing more than a prank. Nothing seems to give security people kicks like scaring the general public eh?
    - Cid
    cid_skid_formersk@yahoo.com