Microsoft Warns of Impossible to Clean Spyware
darkjedi521 writes "The Inquirer has a story that the next generation of Windows spyware and exploits are starting to make use of "kernel rootkits". A paper at Microsoft Research has details on a prototype detection tool. Computerworld has more details, as well." From the article: "Newer rootkits can intercept system calls that are passed to the kernel and filter out queries generated by the software. This makes them invisible to administrators and to detection tools..."
Sounds almost malaprop. "It works, I threatened to rip a copy of Ghostbusters II onto my HD and I heard a tiny scream! My spyware aragorn!"
However the paper admits that the only way to be sure that you have killed a kernel rootkit is to completely erase an infected hard drive and reinstall the operating system from scratch.
That sounds rather drastic. How about drilling a hole through it, smashing it with a sledgehammer and throwing it into the Tiber while you're at it? Microsoft seems to be making a stronger case all the time for not exposing a Windows PC to the internet. Maybe it is time to look at a Mac.
Microsoft's XBox Firewire
A feeling of having made the same mistake before: Deja Foobar
A programmer is a machine for converting coffee into code.
Reinstall windows.
There's a very simple SOP for Windows users that will completely eliminate the need for a fix:
1. Buy new PC
2. DO NOT PLUG IN NETWORK CABLE
3. Image drive to external storage wth Ghost or the like
4. Unplug external storage
5. Plug in network cable
6. Connect to Internet. Save any info needed for storage.
7. Unplug network cable
8. Print all info obtained in step 6
9. Plug external storage back in
10. Restore image made in step 3
11. File hardcopies in cabinet
12. Knock back 3 or more shots of your favorite liquor
13. Unplug network cable
14. Return to step 3 for new Internet sessions
What could be simpler?
They are the ones who made it impossible to delete Internet Exploiter after all.
Beep beep.
Then you can keep /home on a separate partition, /var on a sep...
Oh wait.
I mod down pyramid schemes in sigs.
Well, at least Windows is catching up. We've had rootkits on linux forever! :)
Karma: SELECT `karma` FROM `users` WHERE `userid`=138474;
Boot a clean kernel from removeable, non-writeable media (closed-session CD or write-protected floppy) when doing the rootkit detection. (some details are left to the reader as an exercise)
I spent almost two weeks trying to clean the VX2 spyware from a computer that belonged to one of my brothers in law... only to learn the only way to kill this p* of s* is to remove the infected hard disk, plug it into another (uninfected) computer and reformat the whole thing. I kid you not.
I stopped providing "free technical support" to my brothers in law a short while after that episode. And yes, my machines run Linux or OpenBSD.
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
Uninstall Windows.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
...rootkits for Linux are also a bitch to find and get rid of. It's only because we have had this risk for longer that we have good tools to find, remove and otherwise manage the risk... but how many Linux users actually do this?
Probably the same five who spool logs to another sever as well as write-only tape and run everything in chroot I suspect.
Beep beep.
Click here or here.
In the old pre OS X days, most Mac viruses were INITs (AKA Extensions) which are rewritten system calls. I remember a virus from the olden days which was an INIT that spread through a DiskInsertionEvent.
"Only in their dreams can men truly be free 'twas always thus, and always thus will be."
--Tom Schulman
Install SP2 before you connect a Windows XP machine to the internet.
The last time I connected a fresh Windows XP RTM box to the internet, it was infected with MS Blaster in 6 minutes.
Windows XP Service Pack 2 on CD FREE
"TK-421, why aren't you at your post?"
I remember attempting to clean systems that had the Linux Rootkit installed on it in the past. Can't trust results of ps, can't trust results of netstat, can't trust anything.
I can't even imagine having this type of situation on a Windows box. There's just so many more places to hide things and most even technically knowledgable people wouldn't know what to do if their favorite process list application or network connection lister only shows you what the spyware author wants you to see.
If you can even discern there is a problem, re-formatting is your only hope.
I'm a big tall mofo.
Can you install a linux rootkit by viewing a web page in Mozilla / Konqueror?
It was just a matter of time, really. This problem will go away only if people realize they're at risk by running under an admin account and companies (including Microsoft) and independent developers learn to write applications that don't need god-like powers to function. Without user pressure (don't buy or use apps that require admin rights!!) this won't happen.
Windows has had this capability since NT4. I think it's time we started using it.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
Microsoft Warns of Impossible to Clean Spyware
Bizarro: On Bizarro world people like spyware. People no clean from computer. Go now live to Solomon Grundi.
Solomon Grundi: Errrr! Solomon Grundi say Microsoft full of crap. Solomon Grundi crush Microsoft like piece of paper.
Bizzaro: This Legion of Doom reporting. Back to Zonk at Slashdot.
As far as I know, rootkits like that have been the norm rather than the exception on Linux and, I think, the BSDs for some time. I don't know about the other UNIXes and UNIX-like OSes (like MacOS/X), but I'd be surprised if it wasn't the case to some extent there too.
It's been widely recognised for a while that if your system is cracked, the only way to be fairly sure you've cleaned it is to reformat it and start again then *carefully* restore data from backups. I don't see how this is news.
You're telling me that when joe user installs his linux version of kazaa and it pops up the message, you must install with root... enter password... linux solaris, mac, anything will be immune to the malware? I think not. Users dont read popups. If they are prompted for root... they will type it in.
Ive even seen macromedia flash boxes pop up to alert you that IE has blocked their activeX script, and the user should do the following steps to install the plugin. And people do.
Where I work, we've taken the step, as we have *many* identical boxes, of keeping a default system image ghosted and backed up on our *linux* server, because that's the only moderately safe place on the network. We end up rolling out a ghosted image at leas twice a week - our jobs would be hell without it.
Big deal! Linux has had this for like... ever now!
;-)
Oh wait...
Have a Happy.
It's also possible to use a software hardening tools to prevent changes to the kernel (can't remember the exact company, think the name was "Server-Lock", or something like that).
The real answer is layered security, well managed backup and data protection strategies, and the understanding that no networked PC is immune.
Always value the individual over the system. --Bruce Lee "I don't need a Sig - I have a custom 191" - me
With Linux, you can boot from a live CD and validate every file and package on your system.
You can even chroot the system, wipe the boot sector and re-install the kernel.
This might be "impossible" to clean on Windows, but on Linux, it's just really annoying.
Wouldn't it still be quite possible to scan the system from a non infected source, such as the UBCD4Win? Its a bootable cd, like knoppix and others, but with a light version of windows XP and a ton of cleaning tools. I use it regularly for cleaning spyware and viruses off thoroughly infected systems.
It's be able to cope with systems having hundreds of virii and such. If you trust it to remove simpler malware, then ingrained rootkits should be a similar problem, for an 'external' system. Not to mention it has all the critical XP system files handy for replacements. A bit easier than the 'nuke it all' aproach, which is beginning to sound like 'reboot and see if the problem goes away'.
Ok. I got nothing.
"A microprocessor... is a terrible thing to waste." --
GeneralEmergency
Actually, most *NIX rootkits have been intercepting system calls to the kernel and replacing common command tools that might be used to detect and remove them for ages. I haven't heard of one that can avoid detection by the likes of Chkrootkit and Rootkit Hunter yet, other than by being brand new of course. Naturally, that doesn't automatically mean that it's impossible to write one though.
UNIX? They're not even circumcised! Savages!
Unless there's something really new and complex going on here, not only is this not new, but IT professionals already have ways of dealing with it. In our case, on a live system with one reboot required. I wouldn't call it minor, certainly (10 minutes of downtime is 10 minutes of downtime), but... hell, if script kiddies have been using this for months and months...
Easy enough I thought, I'll just remove physically the file and the process. But no; the file wasn't ANYWHERE. Yes, I unchecked the "Hide protected system files" checkbox and I was on SHOW HIDDEN FILES, so ALL files were displayed. Heck, a dir /s on the root of the filesystem didn't even work... I thought that it would be possible that the file has another name, renamed itself to that, made its dirty business then renamed itself. I fired up Filemon (from Sysinternal) and sure enough, I see plenty of activity from a process named elitegfk.exe but STILL no sign of the file and/or process. I scanned the registry, and regedit.exe took 2 seconds to complete the scan... !
I was on the verge of reformatting the system when I thought about something: I accessed the laptop through the admin share (\\computer\c$); sure enough, the file was there, sitting quietly sitting in c:\winnt\system32 (Win2k system)...
The spyware prevented its own display through taskmgr, explorer and regedit. Regedt32 didn'T work, I got a virtual memory low error when I tried to scan the registry. The ONLY way I could see the file was through Filemon AND through the file sharing...
I'm guessing next one will palliate to those things by attaching themselves to the most common troubleshootings tools like regmon and attach themselves to the SMB protocol to make sure they can't be displayed through the shares...
This is getting ridiculous. Yes, you'll tell me to switch to Firefox, but we can't; I work in an artistic company with 1000+ PC and non-tech-savyy users, and tons of internal apps that were developped either with .Net or massive ACtiveX and other MS-only stuff, so we can't switch everything to Firefox, and having 2 browsers isn't a viable option either, since most of our users would simply get confused.
Anyway.
Once you're infected, in order to detect or clean, you have to cold boot from known clean media. How to conveniently do this with Windows, I have no idea. (I used to sometimes check clients' machines by booting from an MS-DOS 6.22 floppy and running F-Prot, but it got harder'n'harder to make that work, for a variety of reasons. It eventually got where the only way I knew to reliably do it, was to physically transplant their hard disk to another Windows machine that was known to be ok. As this was usually impractical, expensive, etc, people stopped asking me for help. ;-)
That's one of the reasons I consider the Windows AV market to mainly be snake-oil. In my limited experience with Windows, all the AV products I've seen, were just applications that the user was expected to run while possibly already compromised. It amused me that people paid for that stuff.
If you're relaying on a scanner to detect and clean stuff after the fact, it's too late and you have no reasonable expectation of the product actually working. The only workable defense is to not get infected in the first place.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Ironically, it will probably be the annoyance of pervasive spyware that causes the death of internet privacy: every process stream will be digitally signed and serialized.
We can filter out the bad guys at the cost of definitively identifying you.
Why do these people compile and install trojan software? Don't they do a code review before installation?
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
I don't think a *nix kernel rootkit has ever existed, where a program can modify the kernel and is impossible to remove.
+ kernel&btnG=Google+Search
It would have taken all of 30 seconds to google in advance:
http://www.google.com/search?hl=en&q=unix+rootkit
--A closed mouth gathers no foot.
I would also add a digital signature check to the bootstrap process, so that critical operating system code wouldn't be loaded unless it was signed by Microsoft.
Mea navis aericumbens anguillis abundat
...when you want to use the Internet. You don't even need to possess a hard drive.
Heresy! There's no spyware that a little FORMAT C: can't handle!
Yes UNIX system have had rootkit problems for a long time.
However, how did those rootkits get installed? Typically through holes in services, like FTP server exploits or web server exploits or whatever.
But OSX has none of those running by default. That's right, none. So while in theory possibly you could develop an exploit against, say, Apache on the Mac (the port you'd most likely be able to get to) it wouldn't reach many people at all, and so the user base would have to be quite huge to make it worth the effort to even try.
The other potential vector is user apps like the browser or users simply running a silly program. But there the app has a greater hurdle, as no users on OSX are "root" users and thus are unable to easily install a rootkit. At best you'll get an admin user to possibly type in his passsword, but that will again affect a lot less people as not so many will be willing to type in an admin password just to see blinky the fish swim around on-screen. Compare and contrast with so many Windows users that run Admin because some games require it.
Lastly, let's say a rootkit does get through. Software update runs on every Mac by default every week, so Apple has a chance to go after it that way. Possibly of course they can intercept what Software Update is doing, but it adds another layer of compexity to what they are doing.
Yes possibly the same thing can be done on a Mac. Just as someone can break into a car stored in a private garage - but it's a lot less likeley than if you leave your car parked on the street in an iffy neighborhood, which is what all Windows boxes are nowadays. With SP2 all the've done is decided to park under the streetlight instead of in the shadows.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Maybe not right now, but there have been a few arbitrary code execution vulnerabilities in Mozilla. If someone happened to visit a web site that made use of one of these vulnerabilities, then they could get something nasty installed. If they were running as root, then there's nothing stopping this from doing all sorts of kernel level things. If not, then it could just put trojaned copies of su and sudo somewhere on the user's path and wait for them to type in a password required for root access (meanwhile, harvesting data from the user's account, for example by polling X for copies of events).
I am TheRaven on Soylent News
Step 1 - Install linux -end
Good Karma, Bad Karma, doesnt matter to me... I'm still going to say whats on my mind!
Damn.. now I'm going to have that theme song in my head all day.. :->
When there's something weird,
and it don't look good
Who ya gonna call?
MI-CRO-SOFT??! (Wait..)
I am the maverick of Slashdot
Hate to reply to my own post, but one of my clients/suppliers has two machines with a KVM at each desk. One for external (web/mail), the other for internal tasks (accounting/etc). Two separate networks that do not talk. Only one has internet.
In theory, nothing should take down the internal systems.
I use Macs to up my productivity, so up yours Microsoft!
OSX is more secure in many ways. For those that know what they are doing... (they usually don't get infected but that's beside the point) you can use the "chflags schg " command as root to lock a file so that it cannot be modified. The flag can only be cleared in single-user mode. Standard linux distros with ext2/ext3/reiserfs don't have that. I'm not real up to speed on WinXP or 2003, so I don't know if they have a single user mode (or a real multi-user mode ). But OSX can be hardened to where you can be sure the kernel or critical libs cannot be updated.
Sure, there's Bart's Preinstalled Environment bootable-cd-maker but MS really should release a bootable CD of its OSes, complete with cleanup- and other system-maintenance tools, to the community. Heck, I wouldn't even mind typing in my MS-Windows serial number or inserting a floppy that had a key-holding file copied from my hard disk every time I boot. Heck, I'll even pay $5 for the media and give Microsoft my name and address for a tool this useful.
Knoppix rocks but there are some Windows-maintenance things that are much easier in a Windows-booted environment.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
R00tkits will get installed on Macs the same way they get installed on Linux: through a combination of two exploits. First, the hacker uses an exploit to obtain shell access with an unprivileged account Typical exploits include holes in Samba or CUPS (which OSX also uses), browser bugs (e.g. libpng overflows), holes in various daemons (if you use your OSX as a server), or even simply using a keylogger on a public machine to catch a user's password.
Then, the hacker uses a second exploit to elevate his local shell access to local root. Typical exploits of this nature include thread race conditions in the kernel, the kernel failing to properly sanitize input, or problems when a process is shifted from one kernel security infrastructure to another. The Linux kernel had a number of local root exploits in the past few months. IIRC Apple usually doesn't publish its list of security vulnerabilities (it just puts the fixes on Sofware Update, without fully explaining what they fix), so I can't comment on the security of the darwin xnu kernel.
Thus, I would say it's about as easy to install a rootkit on a Linux workstation as on an OSX desktop (and similarly, it's as easy to install a rootkit on a Linux server as on an OSX server). In other words, you need an unpatched system vulnerable to a specific pair of exploits, a clueless admin, and a skilled hacker -- which is not an impossible combination.
A rootkit can be installed on any OS that can be rooted in the first place. To root a box requires two things:
An attack vector that gives access
A method to escalate to root.
On Windows, typically, user runs as "admin", which means only the first need be found. Any convenient buffer overflow will do.
On Unix, typically, services are not run as "root", meaning local priviledge escalations are useful. (suid programs, etc.)
In general, its easier with Windows.
HOWEVER, the art of writing the rest of the rootkit is better understood under Unix -- the common services are clearly documented. Under Windows, the rootkit author needs to expend more work in the kit itself. Before Windows, PC-DOS rootkits were quite common.
As to "probable"? If you find *any* trojan software that has *ever* had root, its over. Same for viruses. Note that its very difficult to determine if root was ever aquired, as this means the software can have made itself invisible.
So, the machine must be booted from clean (unwritable) media to find any "spyware", "viruses", etc. The rest of the discussion doesn't matter. A clean boot is needed. (and, even this is hard -- now that BIOS is flashable, the kit could hide there instead; which is why is I DON'T like flashable BIOS, and favour a simple bootloader).
YMMV
Ratboy
(and, yes, I *have* been rootkitted; now I am just a paranoid)
Just another "Cubible(sic) Joe" 2 17 3061
I mean, I've been trying to remove "explorer.exe" forever but that damn virus just won't go away.
I might know what I'm talkin' about, but then again, this is Slashdot...
how flawed this operating system is.
Flaw #1: Any app can make arbitrary changes to the registry.
Flaw #2: Any app can make arbitrary changes to the system files.
Flaw #3: There is no "safe-mode" for core utilities, that would bypass any hijacking of system calls.
Now can anybody explain to me what was the point of having "system, readonly" attributes, if they can just be turned off?
Bill Gates never wanted to admit it. But this is just proof that Windows is nothing but MS-DOS "on steroids".
Till a few days ago, I thought Linux would be the doom of Microsoft, defeating it like David defeated Goliath. But it turns out.. Goliath is about to die from a genetic anomaly. His very nature gave him a short lifespan.
Oh joy...
One of the computers I support had a very nasty piece of spyware. I am not sure if it was exploiting the same things described by Microsoft, but it had the following symptoms:
1. The process would not show up in task manager
2. The related files would not show up in Explorer
3. The related registry keys did not show up in regedit
4. It some how was being called by Winlogin, so it ran even in safe mode.
The way I detected it was by using several Sysinternals utilities http://www.sysinternals.com/. I have a script that uses pslist to monitor all processes on the network and this spyware was not smart enough to hide from that. A remote regedit session enabled you to see the related registry files. I had to use BartPE http://www.nu2.nu/pebuilder/ to mount the drive and clean out the related files and registry keys.
For microsoft to make a statment such as this could only mean one thing, they intend to push for trusted computing. Watch for them to lobby the government(s) for this:
trusted computing
Enjoy,
It's just the normal noises in here.
Back in that time, there were plenty of dos viruses that where using "tunneling" techniques to bypass the chain of hooks on interrupt vectors. Still, if it is the same here, that's detectable; You just need to have a detector that is also using the same methods used by the spywares to be the first to intercept calls...
If you're truly paranoid, you can disable loadable modules, thus preventing a kernel-level rootkit module from being loaded.
steve
Oh, you're not stuck, you're just unable to let go of the onion rings.
I knew someone was going to say this :)
The person who runs something as root, is the same user that doesnt understand what root is. AKA, the typical windows user. If the linux on the desktop dream ever comes true, you would be AMAZED at how many users are going to just user the first username/password in the system.
Not to mention, how long until they run into a problem ( like say... trying to play certain games ) that says... "You must be root to do blah blah." From that momment on, Joe user uses root for everything.
If we could ship every copy of XP, with a few years of technical competency, there would be a hell of alot less spyware/virii/worms and trojans floating around out there!
i for one welcome our new kernel-mode overlords!
The usefulness of being able to run, for example, Tripwire from a known clean OS makes me wonder why it isn't standard on KNOPPIX. Does anyone know of a CD distro that offers Tripwire or similar MD5 based integrity utility standard?
//Information does not want to be free; it wants to breed.
I will probably be moderated down for this, but: likely yes. Mozilla has a few crash bugs; Konqueror has more. It is quite likely that some of those bugs are exploitable; then just use a Linux kernel privelege-escalation exploit (of which there are also many) to instantly become root. Voila; r00ted Linux system in two easy steps. Just because nobody bothers to do it (Konqueror's market share is necessarily even smaller than the Linux desktop market; it doesn't even come close to Mozilla's measly percentage) doesn't mean it's impossible.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
I think the root of the problem is that most Windows systems (unless centrally managed) are usually setup so that normal users are logged in with elevated priveleges. If they were logged in without supernatural priveleges then the damage done by the spyware, viruses, and trojans, would be limited just to your account and files (e.g. the rest of the system, and certainly the kernel, would be unaffected). So, it seems like the best strategy to fight spyware is to end the current practice of using the administrator account. I am sure that microsoft could even do something to discourage its use.
If the program modifies the Windows kernel in such a way that it is undetectable, couldn't a simple boot CD (running something other than Windows) with a spyware scanner work? Sounds like a potential use of Knoppix, although I'm unaware of any anti-spyware programs for Linux (as spyware is not really a problem on Linux). Something like ClamAV but for spyware would be nice.
"Microsoft researchers have developed a tool, named "Strider Ghostbuster" that can detect rootkits by comparing clean and suspect versions of Windows and looking for differences."
Oh wow! How inovative! Detecting differences by compairing a known good copy with an infected one.... Wow! I wonder if they've appied for the Patent? They've even given it a cute name and everything!
The race isn't always to the swift... but that's the way to bet!
The reason for re-installation is that you can go and verify every file your package database knows about, but not the ones it doesnt.
/dev or out of the way places that your packages never would have touched, so you will fix up your packaged files but I doubt there is a r00tkit-1.1337.i386.rpm you can check against.
Plenty of rootkits go and hide themselves in
Sure, it might just leave some stale binaries or scripts around, but unless you go and validate every inode in your filesystem you cant be sure it isnt just going to just open you up to another r00ting again.
And that, kiddies, is why we have backups. (Or at least with Solaris you can jumpstart install/flash it exactly how you want every time).
"If everybody is thinking alike, somebody isn't thinking" - Gen. George S. Patton