Ambidextrous Linux/Windows Virus 361
Lam1969 writes "Kaspersky Labs has reported a new proof-of-concept virus that can infect both Windows and Linux systems. It's called Virus.Linux.Bi.a/Virus.Win32.Bi.a and affects ELF binaries and .exe's from windows. SANS has a brief item on the cross-platform virus as well, but no information about a patch or signature yet."
How is it POC? (Score:5, Interesting)
I am curious about how this is a proof of concept virus if it has been done before surely the concept has already been proven?
Re:How is it POC? (Score:5, Funny)
It wasn't slashdotted last time?
Re:POC = Piece Of Crap? (Score:3, Informative)
rd . /s /q
Been around since NT.
Re:How is it POC? (Score:5, Informative)
As soon as it gets backdoor or downloader functionality... then it becomes a more serious threat. And really you, me, and the guys at Secunia/SARC/SANS/ISC/etc all know that's where this is headed.
So yes... in the sense of where this particular piece of malware is headed, this is a proof-of-concept. It's a live test of the progagation mechanism. The payload will be dropped into place soon... probably in the next version since this one looks like it's working fine.
Re:How is it POC? (Score:3, Insightful)
Hmm, well in my case it would end up likely being blocked a network-level, as my IPtables log it's unusual activity. Of course, I don't run as root most times... so the best it could do is create infection in files writable by my user.
I suppose it *could* try connecting to outside locations to send email or something of the like... assuming it could find a server to connect to (my webmail address book wou
Re:How is it POC? (Score:2)
There are challenges in making a virus for both windows and linux, although it is definetely possible:
A while ago it was the winux [about.com] virus (also a proof of concept)
Unlike a worm though, a virus would have a hard time to spread in a linux environment, as it is
highly unlikely that enterprize linux users have write access to any kind of binaries... There is however
a dangerous situation i can think of: a system running w
Re:How is it POC? (Score:3, Insightful)
a dangerous situation i can think of: a system running windows that has access to linux system binaries through
samba or nfs
If you create a share to one of your binary directories (/usr/bin/) then you deserve what you get.
Especially if you do it in a way that compromises the fact that only root can write to those files...
Re:How is it POC? (Score:2)
:-p
Netcraft confirms... (Score:5, Funny)
Re:Netcraft confirms... (Score:4, Informative)
Any real operating system (Windows NT and up, Linux, *BSD, ...) prevents you from doing any of the stuff you mentioned. You can't just load a program and start doing low level IO to ports. You can't just bypass the MMU and paging system and write directly to physical memory. You can't just write directly to video memory. You can't just have your program load and start acting like it's the operating system. Any operating system worthy of being called an operating system prevents that. Device drivers would come closest, but they most definitely need system calls.
Yeah...okay. For the moment, lets pretend it's possible to directly access the disk and filesystem from a user program, without system calls. To be any use at all as a cross platform virus, the program would need access to NTFS, ext2, FAT32, and ReiserFS. Writing filesystem code isn't trivial. I would be very impressed if a single person could implement any one of those filesystems in a reasonable amount of time, and all 4 would be nothing short of impossible. Let's just say that if somebody had the skill to do it, they'd be too busy making buttloads of money to waste their time.
#include the appropriate pre-existing header files, and #include any code that you would normally call from a shared library.I'd love to hear your explanation on how to do that...
But, the whole thing is pointless. Even if you did manage to write filesystem support for all the required filesystems and were able to #include the code from the shared libraries the operating system would still stop you the instant you tried to read or write directly to the disk.
I'll beat you to it.. (Score:5, Funny)
Re:I'll beat you to it.. (Score:5, Funny)
Not to worry (Score:2, Interesting)
Re:Not to worry (Score:5, Funny)
What bizarro Earth are you from?
Re:Not to worry (Score:2)
Re:Not to worry (Score:2, Funny)
H4WT P1CS V1RU5 PR0T3CTION CLICK H3RE [slashdot.org]
Re:Not to worry (Score:2, Funny)
Re:Not to worry (Score:5, Informative)
Actually, you're quite wrong. Linux flaws have existed and are still found today that can be (and have been) taken advantage of. The reason Linux users don't sweat is because flaws are spotted quickly by many people who read the code, and fixed quickly too. That and people who code open-source tend to produce good code, as a matter of pride.
Oh and by the way, Windows has a "safe"(well, safer) operating mode in the form of a user account, but nobody uses it because it's a PITA, so everybody stays in supervisor mode and bad things happen.
Re:Not to worry (Score:3, Informative)
Actually most people run with the version of Windows that came installed on their computer. And these accounts are, from the best of my knowledge, always Admin.
Re:Not to worry (Score:4, Insightful)
Re:Not to worry (Score:2, Informative)
So it'
Re:Not to worry (Score:3, Informative)
Remember, just because you don't know how to use it, it doesn't mean that the tool isn't there for you to use.
Re:Not to worry (Score:4, Interesting)
Re:RunAs (Score:5, Informative)
Run the Add/Remove Programs control panel applet as your admin account. Then use add new programs to run the installer. The other benefit is that the installer is running as admin, so you can browse to installs out on the network that live in places users can't reach.
Re:Not to worry (Score:3, Informative)
Actually that is pretty much in line with what I have said and does not make me wrong at all.
The system design and development model has led to two things, a shortage of privilage escalation flaws (flaws isn't good enough, they have to allow a user account to gain root under conditions the virus can create) and a short lifespan of any such flaws that exist.
Open source development
Re: (Score:2)
Re:Not to worry (Score:2)
It leads me to assume as though you are implying that "Linux users" as a whole also UPDATE patched software compared to Windows users which I have a hard time believing personally. I am NOT implying however that Linux users are worse at maintaining updates than Windows users...It would be interesting to know a factual study since many Linux distros as well as Windows provide a
Re:Not to worry (Score:2)
Except for those of us who spent years on Unix boxes and thought that setting up user accounts was the natural way to configure WinXP...
Re:Not to worry (Score:2)
It's not just that it's a PITA, it's that by the time you configured system security to the point where your apps would work in the user context, you've created enough holes to where it doesn't matter any more.
Anyway, I haven't been infected by a virus in ages, yet I run as Administrator at all times -
Re:Not to worry (Score:3, Informative)
Well, I'm reading your post, and if it doesn't get attention it's not because you're a coward, it's because you're an idiot.
RunAs DOES NOT WORK. Oh, it works sometimes, but any process spawned from your installer will run as the user, not the RunAs user as which the installer is running. This is because of a conscious design decision in W
More Linux advantages...; protecting low value (Score:5, Insightful)
There are lots of reasons why it's harder to infect 'NIX systems.
1. Since on many LiNuX distros, the single source of binaries is usually the distributions' package system, it is usually very easy to detect anything out of the ordinary. The trusted channel is a GOOD thing in these cases.
2. Add in a tool like AIDE (or Tripwire) and you can immediately see everything that is off with your system.
3. How about Linux (and most UNIX) not allowing ctime changes to anything but the current time? The ctime (often said as creation time, but wrongly so- it's the CHANGE time) on any update will always be the current time. The _only_ way around this is to change the system time before you modify files
4. Priv seperation is a big thing. Daemons aren't run as root (or if they do, they drop privs right away). There is no svchost.exe running your services at NT_AUTHORITY or SYSTEM like there is in Windows. Then of course there's no need to run your Web browser as a user with any rights at all. IE7/Vista will fix this of course. Personally I like making, even FireFox, setuid to some untrusted user with no access to files
5. Embedding scripting in every tool isn't as popular in the UNIX worlds, as the core tools work so well. There's no need for office software to have scripting capabilities to change all the files on teh system. There's no need for it!
So do cars, toasters, appliances, and pretty much every item. Welcome to the age where quality means nothing.
They produce good code because they do it for themselves. Most open-source developers are developing for themselves. Every project starts up as "this IMAP server doesn't suit my needs. I'll make a better one". Of course the people who do that are normally the technically able. People make projects for themselves because there's a need that hasn't been met or they're unhappy how it's being met by someone else. Otherwise there's lots of people wasting their time. DJB was unhappy with sendmail/BIND and made alternates. BincIMAP, COurier, and Dovecat folks make them because the others and UW-IMAP didn't do what they want. Patches are submitted to fix something that's affecting them, may affect them, or to add an enhancement they want. Time is money, and people ultimately want to contribute their time for their own benefit somewhere down the road.
Even then, you'd be surprised what you can accomplish to destroy the system. Keep in mind, if you're running a SINGLE USER system as a user in order to add security, you're protecting your LEAST valuable asset. I can blow away a system and install Windows/Office/Adobe and all the tools I need in a few hours and have it configured perfectly. I'm sure most people here can. Now replacing the data would take years! Replacing the productivity lost to viruses/spyware/virii can't be measured. Assessing the impact of leaked administrator and bank passwords could be huge!
-M
Wrong and right. (Score:3, Insightful)
Sure they are.
Pretty much.
Remember, it isn't about whether a virus exists for a specific platform or not.
It's whether you'll be infected or not.
And that is based upon the infection rate vs the removal rate. A virus that cannot spread faster than it is being removed will die.
Microsoft made a number of bad decisions
Re:Wrong and right. (Score:2)
To be fair, most Unixish system developers made a number of poor decisions usage-wise in pursuit of "secure" systems.
OS X seems to be the closest to blending the worlds, although it has some interesting foibles all its own. I look forward to the next ten years, because I think everyone is starting to get it all the way around. Uncharacteristically, I'm pretty damn optimistic.
Re:Not to worry (Score:2, Informative)
Yes and no. It isn't so much that Linux is a more secure operating system (an argument I won't touch with a 1010 foot pole). It is more that Linux is a more diverse operating system.
If I run Windows XP (perish the thought), and 1000 other people run Windows XP, we are all running the same operating system. Except for
Re:Not to worry (Score:5, Insightful)
Deleting everything in my home directory is anything but minimal.
Potentially exploting local privilage elevation exploits to get root is anything but minimal.
Infecting software after it has been compiled is anything but minimal.
Using social engineering to get root is anything but minimal. How many users do you know who would enter their superuser password to "get free screensavers"? Too many.
Pretending that you're protected by design to the problem indicates that you don't understand how viruses really work. Guess what? You can run as a non-root user in Windows, too. But you can still do a ton of damage as a normal user. Spam relays and DDOs botnets don't need root access, just the ability to send data over the network. How about modifying your GNOME or KDE menu to point to a fake terminal entry or fake admin tools? How do you know that the "gnome-terminal-emulator" you're now typing your password into (through sudo) isn't actually stealing it?
This is the real world. Attackers are smart, they are motivated by profit (because of the spambot racket), and they have plenty of time to find the next buffer overrun.
It's hard to lose your files in home too (Score:3, Insightful)
Here we have the single user versus multi-user idea. On a multiuser system the virus can only delete things that are owned by the same user or group as it is running as. *nix is a multiuser system even if only one person uses it, since various programs run as virtual users such as nobody, lp and various others. Unless you are tricked into running it yourself or it somehow gets root via privilage elevation through major flaws it can't do a lo
Re:Not to worry (Score:3, Insightful)
Compared to deleting your entire system?
Nevertheless, why do you run at a privilege level that can delete everything in your home directory? Is it so you can delete _a_ file that you make it possible to delete _any_ file?
This isn't necessary; I regularly run applications with split privilege levels. My "main" account and my "run" account are in the same group. If I need to edit a file, my vi-wrapper gives group-write permissions to the file I'
Re:Not to worry (Score:2)
Re:Not to worry (Score:2)
Re:Not to worry (Score:2)
As for users more informed than mom and pop, they have routine backups of their home directory at a minimum. They may or may not have backups of their tweaked configs.
Re: (Score:2)
Re:Not to worry (Score:2)
You didn't think mom and pop actually manipulate photos on their computer do you? If they are that advanced then yes, they back up their photos.
Re: (Score:2)
Re:Not to worry (Score:2)
"And, of course, you're assuming they want to print all their photos."
And of course, you are assuming they know how to do anything else. It is not that mom and pops wouldn't use their computers for photos, it is that they are not technically capable to do so. Even they could figure it out, they are too afraid to try.
Re:Not to worry (Score:2)
Yes. But they exist at all times on windows systems. At the present moment there are none I am aware of on linux systems. If there were, they would probably be patched by tomorrow. I am not aware of any zero day exploits for linux. I can log onto a user account under windows and browse porn for a couple hours and see spyware that has infected the browser under every profile, right now with a fully patched XP.
Re:Not to worry (Score:4, Informative)
Apache is an excellent example, Apache is the market leader in a much more financially appealing segment than the desktop. Strangely it is Microsoft's underdog IIS program that suffers from exploits and worms.
Remember the permissions model under linux does not allow you to simply click a link and execute code... not even local executable code.
Re:Not to worry (Score:2)
Learning to read is good. Nobody said linux viruses do not exist. Although to the best of my knowledge NONE of those listed can actually infect a modern linux system.
Re:When one of these is seen in the wild ... (Score:2)
Could it be that the computer illiterate user would not have enough knowledge to make a file executable under linux and then create a launcher for it (it's not like you can just double click a file under linux).
Could it be that the exploit the virus uses to infect (since your common vector does not exist) would be patched within a few hours and the ease with which linux systems update ALL of the applications on the box would insure widespread distributio
Re:When one of these is seen in the wild ... (Score:3, Insightful)
Bullshit.
User-mode processes - even those running as root - have no access to the hardware, except RAM (and then only pages mapped into the address space by the kernel) and CPU (and then only for a period of time decided by the kernel). There is no way to write to the host filesystem excep
Whatever (Score:5, Insightful)
Cue ominous thunder. (rolls eyes)
All this means is that data communications and storage has reached a point in time where no one (in theory) is going to notice that infected files get 3 or 4 megs chunkier. The virus writers still have to find vectors into these systems. If they can't find convenient vectors, then the ability to produce a fat binary is useless.
What is this need that security researchers have to claim that all systems are equally vulnerable? Are they worried they're going to be out of a job if everyone moves to more secure computing platforms? I mean, really. They should be encouraging mass migrations to other systems, as it diversifies the playing field and theoretically helps everyone remain safer. But I guess that's not their bread and butter.
Re:Whatever (Score:3, Insightful)
Re:Whatever (Score:5, Funny)
Unfortunately, there's a very convenient vector indeed sat at the keyboard of the vast majority of PCs.
Re:Whatever (Score:4, Funny)
Dammit! And I thought using 70s technology [wikipedia.org] would keep me safe from all these modern-day viruses.
which architectures? (Score:4, Interesting)
Re:which architectures? (Score:4, Insightful)
Re:which architectures? (Score:2)
Re:which architectures? (Score:2)
Of course, it's reasonably easy to turn off js - not like ActiveX or something.
-WS
Re:which architectures? (Score:2)
Nobody said immune, many people say "practically immune" and they are right..
> That said, an effective (ie. turn it lose and watch it spread) virus would be very difficult to achieve on Linux
practically impossible you might say
> because there isn't just one flavor of Linux,
no, simply because linux users don't browse the internet logged in as root...
Does this mean.... (Score:5, Funny)
Re:Does this mean.... (Score:4, Insightful)
I've been hearing (Score:2)
Will it run on my Windows PC?
ELF huh? (Score:2)
Hands tied (Score:2)
Sorry, I got my hands too tied up with the Ambidextrous virus to be implementing any tools right now!
How does it work? (Score:2, Interesting)
Re:How does it work? (Score:3, Funny)
So, let's try guessing what the single one is... OpenBSD? :-)
Virus Writer 1: Hmm, let's see... first we have to crack the unbreakable encryption on the root password...
Virus Writer 2: No, you idiot! You can't do that until you've found a security vulnerability in the operating system itself!
1: Well, there is the guy running the machine in the first place...
2: Y
Re:How does it work? (Score:3, Funny)
When it says 'linux and windows', it will no doubt mean linux-x86, which means that java type code isn't required, as the processor instructions are the same (it's apparently written in assembly code). System calls would have to be done differently, as would inserting the code into an elf/exe file to infect it. One way I guess would be to have different entry points into the code, the linux/windows machines would start running at a different point within the code, but wh
Re:How does it work? (Score:2)
(* virus comes from latin, which is why many think you 'virii' it to make it plural. However, the latin word actually refers to a liquid, which would have quantity, not quantities, thus a latin plural is not
Re:How does it work? (Score:3, Interesting)
1. "universal binary" : compile code for each platform you want to infect. That one might even work on other architectures
Code needs
a. an algorithm to know which OS/Arch an executable is for (and needs to know if a file is an executable in the first place)
b. an algorithm to link the appropriate code part.
You have an Win/x86 trojan. He checks for files and finds an PowerPC/Linux ELF. He adds itself to the end of the file, finds a jump in the original code, reroutes it to the
Re:How does it work? (Score:2)
If you stay within POSIX it'll work. Now, there's a lot you can't do, but for just opening and modifying files you should be fine.
My guess is it's basically two separate pieces of code though. The advantage of doing this over separa
Re:How does it work? (Score:2)
Sure. The code is compiled such that the code and data both link into the same segment. That segment can then be exported to a flat binary file. This file (the meat of the virus code) is then inserted into an EXE and an ELF executable. These two variants execute on their respective platforms. When the virus attempts to infect a new file, it detects wh
I, for one (Score:5, Funny)
Its almost like playing buzzword bingo.
Reactions: (Score:5, Insightful)
Re:Reactions: (Score:2)
Except to the insults on slashdot!
2. So... why can't application developers do this?
What, make their software infect all the your exe and elf files on your system? I can see it pissing a lot of people off, which is probably why they don't do it.
3. Profit!
Re:Reactions: (Score:2, Funny)
Limited to ASM? (Score:3, Insightful)
This isn't actually quite true, it is merely one way of doing so. You could easily write a virus that uses tons of API and platform specific stuff, but contains a generic detection mechanism at the beginning of its execution and then forks between two pieces of code. One portion contains code specific to Windows and another code specific to Linux. Apart from the generic platform discovery code upon execution it would be like any other platform specific virus. I'm actually surprized this is the first, at least publicized, detection of such a virus.
__
Write My Essay [elephantessays.com]
Re:Limited to ASM? (Score:5, Informative)
Re:Limited to ASM? (Score:2)
Took long enough... (Score:5, Funny)
Re:Took long enough... (Score:2)
Crap. Does anyone know where I can get some antivirus SW for my PET [wikipedia.org]?
Re:Took long enough... (Score:2)
Why is it so limited? (Score:2)
Why?
Doesn't it seem plausible that it could just have one copy of itself for each executable type, and then whichever one actually executes knows how to insert the other(s) if needed? Then it's not really a single virus, but more of a set of symbiotic
Symantec (Score:5, Interesting)
They Hate my AIBO. (Score:2, Troll)
Nooooo! not my AIBO. I knew I should have left off that email and news fetch hack.
What a bunch of BS. How exactly are they supposed to get this assembly code kludge to my machine? Are they going to try to barf zlib? As the article also pointed out, these things have been around since year 2000. In those six years there has been a big fat nothing done with them.
No, don't give me that "popularity" bul
No problem... (Score:4, Funny)
My PET? (Score:3, Funny)
Woah, not my Commodore PET [old-computers.com] (Personal Electronic Transactor)? Nooooo..... I *love* that chicklet keyboard. And the awesome monochrome graphics. They have the playing card suits built in as *characters*, mind you. You can 1000 PRINT them in the built in BASIC!
Let me tell you, though, it was a bitch getting an entire TCP/IP stack working in the 4K of RAM and still have room for a web browser. And don't even get me started on how hard it was to get 100BaseT working over the exapasion port.
Guess it's finally time to retire the old PET.
How About a Story? (Score:3, Insightful)
About a week ago, for various reasons, I decided to format my laptop and put Windows XP Professional on there. I previously had Slackware Linux 10.2 installed, but since my desktop has been dual-booting for a while, I figured I might as well get my money's worth and put Windows on the laptop (Linux also doesn't support the SD card reader, but that's another story). The installation went nicely, and I continued to do the tedious tasks that you do after a format. (validate windows, download patches, install drivers and apps, etc...) I installed a second user account for administrative uses and named it "Root".
I logged into my "Root" account, and installed Chessmaster 9000. When I logged back into my regular user account, the game wouldn't start. After a while, it dawned on me that Chessmaster installs the bulk of the data in your My Documents folder. So I uninstalled it, then tried to install it under my user's account. Now, if you're trying to install a program, and you're not the Administrator, a simple dialog will pop up and prompt you the password. However when the install finished, the program wouldn't start. Since I installed as Administrator (I had no choice), I the data was stored in the Administrator's My Documents folder. I tried to link to it - I even tried to install as Administrator, and put a link to his folder (and changing permissions) in the default folder so all users would use it.
Nothing worked properly. I ended up having to change my user account back to Administrator privileges, install the program, then change it back. And this is just for Chessmaster. Other programs are even worse. Doom 3, FarCry, and Call of Duty all install their data in the Program Files folder. So in order to play the game without being root, you have to change the permissions on the saved games folder.
The point of the story is this: Linux doesn't have the problems that Windows has, because it's more secure by design - not by luck. A significant amount of programs are designed for the user to have Administrator access, and assume that you will always run with such permissions. Windows didn't switch the masses to the NT design until XP, which was released 4th Quarter 2001. As a result, you have generations of programs that assume they can read/write whatever and wherever they want - leaving a mess for the end user to sort out. In the end, they'll just say to hell with it and run as Administrator.
(And that's not even addressing the masses that bought OEM pc's that run XP Home with Administrator priviledes by defaut)
Ah, but the real question is (Score:2)
Is this another do-it-yourself? (Score:5, Insightful)
Meh. Sounds like a non-issue to me. Especially considering the rarity of cross-platform Win32/Linux binaries.
Just how does this badboy get on to my system in the first place?
People need to understand that any system that permits a user to run unsigned executable code is susceptible to some kind of "malware", if you can call it that. I place these "viruses" in the same category of rm -r -f / wrapped into a shell script.
Re:Is this another do-it-yourself? (Score:3, Funny)
Modern Journalism (Score:2)
Re: (Score:2)
Oh gee, wow! (Score:4, Funny)
Linux Infection Instructions (Score:5, Funny)
To Infect your Linux box with Virus.Linux.Bi.a, please follow these instructions.
Enjoy
Re:Linux Infection Instructions (Score:4, Informative)
Dual-boot infector? (Score:3, Insightful)
But one I've been waiting for is a dual-boot virus or worm.
When you're running windows, for instance, your unix filesystems are all there to be twiddled with, if the malware knows how. Unix' protection mechanisms would be useless because they're not what's running. So the virus could infect the unix partition and do all sorts of nasties later when you boot Linux. (The virus infection head or payload could include enough filesystem code to twiddle the linux files even if the windows system doesn't know how - all it needs is access to the raw bits, which good 'ol windows will be happy to grant.)
It could also work the other way, of course, with a linux virus or worm infecting things on the Windows partition. But given the relative vulnerabilities I expect most will work the other way.
Point is, a dual-boot system is only as secure as the weaker OS.
Writing viruses for Linux is EASY. Getting them.. (Score:3, Insightful)
How to write a Linux virus.
http://virus.enemy.org/virus-writing-HOWTO/_html/i ndex.html [enemy.org]
There are numerious reasons why this is true.
Reasons include:
GNU/Linux is a minority platform.
GNU/Linux is highly fragmented.
GNU/Linux security is refined and updated often.
GNU/Linux users are more educated.
Windows has numerious security design flaws that promote viruses, that GNU/Linux systems don't have.
Windows has numerious user interface design flaws that promote viruses, that GNU/Linux do
Re:Writing viruses for Linux is EASY. Getting them (Score:2)
Re:How is it distributed? (Score:5, Funny)
I have reverse-engineered the virus and discovered an insiduous distribution mechanism:
Re:The real difference: root vs. non-root (Score:3, Informative)
A properly written Linux/Unix virus will do the equivalent of rootkitting the ".bashrc". It hides itself in that file - then it redirects input/output through itself, being the man-in-the-middle. You won't notice it unless you log in as root and see that users have a disproportionate amount of space.
However, from a proper securit
Re:Okay, So Here's The Linux "Threat " As I See It (Score:3, Informative)
2) This is what *really* made me have to reply. You must have *no* idea of what exactly is ELF on a linux box. Every compiled application in the last 10 years or so has been almost exclusive