Torvalds Creates Patch for Cross-Platform Virus 195
Newsforge is reporting that Linus Torvalds took a few minutes to review the cross-platform proof of concept virus covered yesterday and has proven that the virus does indeed not work with latest kernel version 2.6.16 and even released a patch in order to fix this "problem." From the article: "The reason that the virus is not propagating itself in the latest kernel versions is due to a bug in how GCC handles specific registers in a particular system call. [...] So the virus did a number of strange things to make this show up, but on the other hand the kernel does try to avoid touching user registers, even if we've never really _guaranteed_ that. So the 2.6.16 effect is a mis-feature, even if a _normal_ app would never care. It just happened to bite the infection logic of your virus thing."
mis-feature (Score:5, Insightful)
Re:mis-feature (Score:3, Interesting)
Re:mis-feature (Score:5, Interesting)
Leave it to open source hackers to debug and fix aging viral code so that it works correctly.
That's what I find amazing -fixing things so the virus will run properly.
Re:mis-feature (Score:5, Informative)
So if a 'virus' is using standard OS features that legitimate applications also use, and suddenly the virus stops working, there's obviously been a change, and it breaks those legitimate applications.
In short, Torvalds didn't want to remove a feature without prior discussion.
Re:mis-feature (Score:2)
Don't take my word for it :
http://www.maht0x0r.net/pdf/tom_duff_-_unix_virus
Re:mis-feature (Score:2)
Re:mis-feature (Score:2)
Discussions on how toe elevate privileges is another subject. And your link... more to do with history than anything really provoking - a
You don't really know that it is a good thing (Score:3, Insightful)
So it really is a good thing to patch.
Just because a bug is uncovered by a virus doesn't mean that it is not a bug.
Re:mis-feature (Score:2)
This is what we call geeks (Score:5, Insightful)
Re:armageddon (Score:2)
Re:armageddon (Score:2, Insightful)
What I tried to imply is this mental picture: someone posted a virus for Linux, and Linus wasn't worried about PR or any implication of "Linux is insecure". Instead, he was worried about a kernel/gcc bug that was exposed by the virus, although the bug actually could help to defeat the virus. And he went on to fix the bug and let the virus run.
This is quite
one-man army (Score:2, Insightful)
that's one up for good ol' fashioned hacking...
Re:one-man army (Score:3, Insightful)
Fix it? (Score:5, Informative)
Re:Fix it? (Score:3, Interesting)
If someone validates your website, and points out to you that it's invalid, do you complain that they use IE? No, you correct the page to make it valid again. (of course, it still won't work in IE, but c'est la vie)
Re:Fix it? (Score:2)
One thing that is vulnerable would be an instance of windoze running in linux under wine, since everything in wine is owned by the user running it.
Of course, as some will quickly remind me, if you were to log into a linux system as root, deliberately "infect" a system binary, and then run the infected binary as root,
Re:Fix it? (Score:5, Funny)
Re:one-man army (Score:1)
Imagine if that group had a manager!!! It would float around a board of directors, being passed from one department head to the next, each with their limited or non-existant understanding of anything related to the project. Finally, after weeks of meetings, it would be assigned to the development manager who would dump it into the lap of the programming gro
Re:one-man army (Score:2)
More to the point, the one person who might understand enough to debug it will be continually hectored by others who don't understand what is going on, but whose egos are so wound up in appearing smart that they can't resist giving advice, suggesting alternative paths, etc.
This will ensure two things: that the bug will take many times as long to fix, and when the one person who does know what is going on finally fixes it despite all the "help" so
Re:one-man army (Score:5, Insightful)
2 words:
middle management
Too long an answer (Score:2)
>2 words:
>middle management
PHB's.
Re:Too long an answer (Score:2)
He has a sense of humor, at least.
Re:one-man army (Score:2)
You realize you're only modded "funny" because there's no option to mod you "Sad, but true"...
Re:middle management (Score:2)
Does this mean... (Score:5, Funny)
Re:Does this mean... (Score:5, Informative)
That's why it's called GNU/Linux (Score:2)
Re:Does this mean... (Score:3, Informative)
Re:Does this mean... (Score:4, Insightful)
Re:Does this mean... (Score:3, Funny)
Slashdot needs this moderation option almost as much as it needs
-1 Just Plain Obviously Wrong Stuff Quoted as Fact
So does this "bug" count (Score:5, Funny)
Re:So does this "bug" count (Score:2, Funny)
Re:So does this "bug" count (Score:3, Funny)
Next week: (Score:5, Funny)
Re:Next week: (Score:2)
A bug is a bug. (Score:4, Interesting)
Of course, we'll need a sandbox patch or something BEFORE windows viruses start affecting WINE+linux
The Microsoft equivalent? (Score:5, Funny)
Re: (Score:2)
Fear not! (Score:2)
Re:The Microsoft equivalent? (Score:3, Funny)
Re:The Microsoft equivalent? (Score:2)
Incorrect title (Score:5, Informative)
Of course, if the story had been submitted with the correct title of "Linus fixes bug in Linux", it probably would never have been posted.
Re:Incorrect title (Score:1)
Re:Incorrect title (Score:5, Informative)
Yes -- and it's quite possible that this bug was affecting other code, but with programs any more complicated than a virus, nobody debugged far enough to figure out that it was a kernel bug.
Re:Incorrect title (Score:2)
Re:Incorrect title (Score:3, Insightful)
Actually, it's easy to make a case that both had bugs. GCC made the assumption that the Kernel does not mess with user registers. Since the assumption was wrong (and not required to be true under the kernel spec), it is a bug [jargon.net] in the compiler. Since the assumption was reasonable (although not required), it is a bug (or at least a wart [jargon.net]) in the kernel. Hopefully, the GCC will eventually get patched, too.
Re:Incorrect title (Score:5, Informative)
Re:Incorrect title (Score:3, Informative)
Re:Incorrect title (Score:2)
The kernel patch doesn't restore the assumption, it works around the bug in GCC that breaks the assumption for userspace programs.
Re:Incorrect title (Score:2)
Sarcastic RTFA comments aside, I think you're looking to have a very Windows-like world where vendor A blames vendor B who blames Microsoft who says that it's an application problem, and they don't support that. I'm
Re:Incorrect title (Score:2)
Grammar Nazi Strikes! (Score:2, Informative)
What he patched was the Linux kernel. Thus, he created the patch for the kernel. You know this usage; however, it is not the only one. Your attempt at a correction was flawed.
Re:Incorrect title (Score:2, Informative)
This is EXACTLY why I run NetBSD (Score:5, Funny)
So I run NetBSD
On a VAX
I'm slow, but I'm not infected.
(that's what I tell my girl also)
Re:This is EXACTLY why I run NetBSD (Score:2)
Something's wrong with that sentence. What's wrong?
s/girl/mom. That's more like it.
Now enjoy your NetBSD-running VAX in your mom's basement.
But... but... (Score:2)
True (Score:2)
My point with Linux was definitely not to claim Linux was better for that platform - it isn't. It was half intended to be vaguely humerous and half intended to provoke any Linux user reading it into wondering just what else is out there in the way of extension
Re:This is EXACTLY why I run NetBSD (Score:2)
(I'm running NetBSD on a Cobalt RaQ2 (and a Qube2)).
On the bright side, I haven't been hacked yet...
but system builds are a bitch.
Re:This is EXACTLY why I run NetBSD (Score:2)
My question... (Score:5, Funny)
Re:My question... (Score:1)
Re:My question... (Score:2)
Re:My question... (Score:2)
Re:My question... (Score:2)
My answer (Score:5, Funny)
Re:My question... (Score:2)
Charts, graphs and lots of PR-speak laced "facts" would be most welcome.
Viruses on Linux ??? (Score:3, Funny)
Re:Monty-Python Quote (Score:2)
AT MOST HIS PERSONAL FILES ????? (Score:2, Insightful)
Re:Viruses on Linux ??? (Score:3, Insightful)
Re:Viruses on Linux ??? (Score:2)
Best part (Score:5, Interesting)
This lends support to the speculation that this virus is not new code at all, in spite of how Kaspersky Lab is trying to use it to drum up new business. [...] And shame on the anti-viral industry, Kaspersky Lab in particular, for its attempts to deceive the public by passing off old code as something new.
Gee. (Score:5, Funny)
Oh, um... Well, hmmm.
Thanks, Linus. I guess.
m-
Goal :)? (Score:5, Funny)
More on Linus + virus (Score:5, Interesting)
This is a really good insight, I think. While the rest of us are thinking about the "virus" and wondering what it means for the future, Linus identifies all these ignored technical aspects.
The power of a mind untouched by Slashdot?
Re:More on Linus + virus (Score:2)
Nice to see how _fast_ these patches are done... (Score:2)
Now that's bug compatibility (Score:4, Funny)
The virus itself uncovered what should be a bug! (Score:4, Informative)
Basically, if I'm reading this correctly, the virus' correct operation depended on system calls to the Linux kernel keeping values of registers unchanged, which is the correct behavior. 2.6.16 broke this behavior, but since very little other code actually assumes this as well, we didn't get serious lossage, but we *might* for other code, and were the virus rewritten to not assume that register values were preserved by system calls, it might also work properly. At any rate, this virus would still have far less teeth on GNU/Linux than it would on Windows, unless someone was stupid enough to execute it as root. And well, if you're actually foolish enough to do something like that on GNU/Linux, then you're probably also foolish enough to enter rm -rf / or something equivalent as root at some point.
Re:The virus itself uncovered what should be a bug (Score:2)
(And if you go and try that, you are an even greater fool)
Great new slogan for Linux (Score:2, Funny)
Hmmm A patch is a patch (Score:2)
In Linux the virus uses proper programing methodology to work, exposes a bug in the 2.6.16 kernel and will not run on 2.6.16, which Linus fixes. So now the virus works across the borad.
This seems to boil down to.
Windows == Oh my god a virus, quick fix the bug and stop the virus.
Linux == Hmmm, it works everywhere expect on the 2.6.16 kernel. Lets fix the kernel and make it work on all
HA! Pro-linux apotheocratic cult (Score:2, Funny)
HA! I know Slashdot is cultishly pro-linux, but the bias above is hilarious! I keep hearing Mr. Subliminal saying "Linus Torvalds (God) took a few minutes (every person in Seattle has been working at this individually and collectively this for weeks...) to prove (Bill Gates is just making stuff up, but anything Linus spends a few minutes perusing is proven.
Re:On the other hand... (Score:2, Insightful)
Re:On the other hand... (Score:2)
Re:On the other hand... (Score:1)
Re:On the other hand... (Score:4, Informative)
Re:Only 16 comments?! (Score:5, Funny)
Re:In Soviet Russia... (Score:1)
Really now? (Score:2, Informative)
MOD PARENT UP. (Score:2)
I think it was a joke (Score:2)
Re:I think it was a joke (Score:2)
Well, that's enough of joke analysis for tonight. Gotta write some unit tests.
Re:Bug Virus? (Score:3, Insightful)
Re:Bug Virus? (Score:2)
Re:Bug Virus? (Score:5, Informative)
The virus, written in assembly, calls the kernel via a depreciated interface (int 0x80 instead of syscall). It happens to have a value in the ebx register that it needs after the (buggy) system call.
The bug in the kernel is due to the fact that gcc assumes the system call doesn't change user registers (which the kernel isn't suppossed to as a policy) so gcc forms code to make the system call in less time (less instructions, less overhead) by not caring about user registers. The fix for the bug simply restores the value of the ebx register to what it was before the system call, hence the bug now works (as it has the correct value in the ebx register).
Re:Bug Virus? (Score:2)
Re:Bug Virus? (Score:5, Insightful)
In fact, it would bite any program doing direct syscalls rather then using libc, so it might break linux handwritten asm code as well.
Re:What do you guys think of ... (Score:2)
The question is, how does one distinguish between authorized and unauthorized changing of executables? Would the anti-malware application simply reprompt the user for permission? If the user doesn't have permission to edit/delete/install the executable, then why should the user have permis