by ThistleWeb on Wed Jun 08, 2011 6:14 pm
Malware is simply a program that's written to exploit another, so there's no such thing as a "PC virus", there's "Windows viruses", there's theoretical "Linux viruses" and "OSX viruses". A program written to exploit some flaw in IE expects to find IE in a specific place in the C:. Linux doesn't even have an C: let alone IE.
The services that track malicious sites like that can mark it malicious for any number of reasons, not just because it hosts (or has hosted) malware that affects Windows. Often these groups have a very strong influence from the "won't someone think of the children" brigade, so even regular sites that go beyond their morals are knowingly reported as serving malicious software, so they get that warning, which is enough to deter most people from investigating.
Flash is still an angle into your PC, regardless of the OS, the pwn2own competition saw Apple with Safari fall first in the last couple of years not because of an exploit on OSX or Safari, but Flash. Scripts can still run to try to throw files at you but they're only going to be a minor irritant on Linux, as there's too many barriers to get infected. You can help yourself by using something like NoScript to only enable scripts from sites you want, as well as Flash blocking and advert blocking.
Malware writers want maximum infections for the longest time before discovery, for this they target Windows. Windows often allows them to script it so it installs secretly, and only shows up after the users anti-virus scanner has detected it.
Linux is so disparate in terms of what people run, that it's all but impossible to actually infect. Exploit in Firefox? Does it work in Fedora? Debian? Ubuntu may place the vulnerable lib in a different location thwarting the exploit, or Frugalware may package it differently, removing the exploit etc. Exploit in Gnome? It won't affect KDE users, it may not affect all Gnome users for the same reason.
If that wasn't hard enough to target, Linux has a solid user / root separation right from the ground up, it peculates through everything, meaning that any admin action needs root privs, which means asking you for a password. If you're savy enough to question that popup box when you didn't trigger it, it's not going to install.
Linux has a vast number of packaging formats too, like rpm, deb. Not all rpms are the same, neither are debs. A deb for Debian Sid may not install on Debian Squeeze, or Ubuntu etc. This narrows down your potential victims, in that you'd have to make a plethora of different binaries and detect them to know which distro to serve one for, knowing the user is gonna be asked for a password at the very least.
After you get passed all that, Linux is open source. Everything is done in the open. Distros talk to each other. So when an exploit is found on one, word gets around VERY quickly, someone patches it, often within a day, and within a couple of days, every distro has patched it, so all your work is for nowt.
Security is an ongoing thing, it's never a one-stop-shop. Linux isn't invulnerable to malware, it's just an incredibly difficult and fast moving target to hit for all the reasons above. As it gains more market share it will be worthwhile for malware writers to try and target it, they will no doubt at some point start to get some success, but Linux is much more secure in the way it's setup and developed. The key is to not do stupid stuff, and put up some basics like a firewall, and script blocking in your browser. After that you can be pretty much assured you don't have to deal with malware.
Crivens!