Slashdot Mirror


System Exploitable With USB

Anonymous Coward writes "Vulnerabilities in USB drivers for Windows could allow an attacker to take control of locked workstations using a specially programmed Universal Serial Bus device." From the article: "The buffer-overflow flaw is in device drivers that Windows loads whenever USB devices are inserted into computers running Windows 32-bit operating systems, including Windows XP and Windows 2000, said Caleb Sima, chief technology officer and founder of SPI Dynamics."

56 of 310 comments (clear)

  1. Tonight at 11: by ZxCv · · Score: 5, Insightful

    Computers with physical access are susceptible to "unintended root-level access".

    --

    Perl - $Just @when->$you ${thought} s/yn/tax/ &couldn\'t %get $worse;
    1. Re:Tonight at 11: by tpgp · · Score: 2, Insightful

      Computers with physical access are susceptible to "unintended root-level access".

      Yep. Got boot? You've got root.

      That said however, the Operating System should at least try to protect sensitive data - make it so the attacker is going to have to pull that hard drive out of the box & mount it from another machine to try & brute-force the password file (or whatever)

      There is no need to make it as easy as plugging in a USB device....

      --
      My pics.
    2. Re:Tonight at 11: by glottis5 · · Score: 4, Funny

      Instead of exploiting this flaw, why not just hit the computer with a hammer or something? This seems rather impractical.

    3. Re:Tonight at 11: by Phleg · · Score: 2, Insightful

      Um, where would you get a silly idea like that? The hard drive is encrypted against a key that's unlocked via a password. No USB driver hack is going to magically unlock that key.

      --
      No comment.
    4. Re:Tonight at 11: by alba7 · · Score: 2, Insightful

      The interesting scenario is a running machine with everything mounted. All you need then is a few seconds to plug in your USB device. Buffer overflow in a driver will get you kernel level access.

      --
      Post tenebras lux. Post fenestras tux.
    5. Re:Tonight at 11: by Waffle+Iron · · Score: 2, Insightful

      Do you really think that somebody who went through all of the paranoid steps that the OP described would neglect to lock the case? Just about every PC case that I've ever seen has been lockable.

    6. Re:Tonight at 11: by twiddlingbits · · Score: 2, Interesting

      You can always encrypt the sensitive files on the encrypted hard drive. Use a very long passphrase and you got pretty good security, but with time it is crackable. I've seen it both ways, where the whole drive is decrypted with the key or where each application has to decrypt. Both have strong and weak points. It all depends on what you consider secure enough!

    7. Re:Tonight at 11: by GeeBee2k · · Score: 2, Informative

      There are also PC's around (eg, some IBM/Lenovo ThinkCentre desktops, Thinkpad Laptops and also some HPaq Notebooks) where this will do no good. Where de-soldering the security chip is about all you can do.

      Not impossible, but it'd be easier to take the HDD out (unless of course it is also encrypted with the TCPA chip)

    8. Re:Tonight at 11: by rthille · · Score: 2, Insightful

      What about I plug in my USB kernel hack, root your box, install a keystroke logger, record your key, decrypt your encrypted HD/files and then either come back later pick up your data or send it out over the net (if one's available and I'm not too worried about the traffic being detected).
      You can have tripwire installed, but if I've rooted the kernel I control access to the filesystem so any files I've installed don't show up to your 'normal' access to the system.
      Even rebooting won't help because I've modded your kernel. The only way you'd be able to detect it is to boot from an alternate media, or have a 'safe' bootloader (one you need to jumper to mod) which checks the kernel (md5 or otherwise) before booting it.

      --
      Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
    9. Re:Tonight at 11: by ZOverLord · · Score: 2, Informative

      This concept of physical access required is insane at best. Done right, almost any device can be re-flashed, if a buffer-overflow is created by a payload, not only can the drivers be infected but the flash-memory itself can be infected. A good example is this: http://www.geocities.com/mamanzip/Articles/Low_Cos t_Embedded_x86_Teaching_Tool.html Note: this was done using the boot-from-lan option for testing, most devices can execute code at boot, no mater what the boot-from option is. As software becomes more patched, I would worry about legacy harware in the future. This is one of many exploits heading in that direction.

      --
      Black Gray White Hats Unite to protect http://testing.OnlyTheRightAnswers.com
    10. Re:Tonight at 11: by Mike+McCune · · Score: 2, Informative
      --

      In a world that is Free and Open, who needs Windows and Gates?

  2. Similar problems... by JamesD_UK · · Score: 3, Informative

    This is similar to an early security flaw in windows though I forget precisely which Windows versions it was, 95 and earlier I suspect. It was possible to write a program that would autorun from an inserted CD and copy the screen saver password file to a floppy from where it could be later cracked at leisure.

    1. Re:Similar problems... by jonadab · · Score: 2, Interesting

      > This is similar to an early security flaw in windows though I forget
      > precisely which Windows versions it was, 95 and earlier I suspect. It was
      > possible to write a program that would autorun from an inserted CD and copy
      > the screen saver password file to a floppy from where it could be later
      > cracked at leisure.

      If you're physically at the computer, you can reboot it and hit escape at the login prompt (or any number of other possibilities). Windows XP makes this rather harder than it was in Win9x, because it has filesystem permissions, so that if you don't log in you may not be able to access various files -- unless you boot from a Knoppix CD or the equivalent, of course, but that can be disabled at the BIOS level. This is why the USB exploit is significant -- there are many situations in which an attacker might have physical access but not totally *unobserved* physical access, and so taking the cover off the case is problematic, but inserting a USB keychain fob is possible. With Windows 95 that wouldn't have even been significant, because there were much easier ways to get at things.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    2. Re:Similar problems... by jonadab · · Score: 4, Insightful

      > Except that someone might have noticed their Windows 95 system
      > being rebooted... oh *wait* :-)

      Exactly. They might notice, but nobody's going to bat an eye. Frankly, most folks wouldn't bat an eye if they saw WinXP being rebooted either, not because it's necessary nearly as often but because people do it constantly anyway, because they've been conditioned that way. About half the population instinctively reboots at the first sign of abnormality, e.g., if the website they're trying to visit doesn't resolve because they mistyped the URI. It's likely to take a very long time for this expectation to change.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  3. Misleading first few paragraphs? by gunpowda · · Score: 5, Informative
    Who's actually to blame?

    From the summary and the article:

    Vulnerabilities in USB drivers for Windows...The buffer-overflow flaw is in device drivers that Windows loads...running Windows 32-bit operating systems, including Windows XP and Windows 2000...

    The article then goes on to say:

    However, the flaw is with USB, not Windows, said David Dewey, a research engineer at SPI.

    1. Re:Misleading first few paragraphs? by spydir31 · · Score: 2, Informative

      The fault in USB is that the device supplies it's own ID (which is reasonable),
      if you RTFA you will see they say the problem is in the drivers
      drivers often do not verify data correctly and always run with system level privileges,
      meaning you just need to find one driver that is installed by default (or auto installed) to attack the system.

    2. Re:Misleading first few paragraphs? by l3v1 · · Score: 4, Insightful

      Yeah, right, good ol' MS way: it's not the software's fault, it's not Windows's fault, it's USB's fault. We makes ze great softwere, you makes ze bad hardwere.

      --
      I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
    3. Re:Misleading first few paragraphs? by Andy_R · · Score: 3, Insightful

      Well there's an easy way to find out... try the exploit on OSX and Linux. I think it's quite significant that the article completely fails to mention any OS other than Windows.

      In a way, I hope the identical problem is present in all of Win/Lin/OSX, as it would give us a very nice way to compare how good and quick the fixes are. I'm not too worried that Microsoft have a headstart on a fix :-)

      --
      A pizza of radius z and thickness a has a volume of pi z z a
    4. Re:Misleading first few paragraphs? by Teun · · Score: 4, Interesting
      And a little further into TFA:

      Best of all, for attackers, the device drivers run with System-level privileges, giving an attacker full control of the host system once the exploit has been triggered. SPI tested attacks on Windows systems, but any operating system that is USB-compliant is probably vulnerable, he said.

      --
      "The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
    5. Re:Misleading first few paragraphs? by Linus+Torvaalds · · Score: 4, Insightful

      If it's a buffer overflow, then it's a software bug, not a problem with USB per se.

      If it's a vulnerability in a driver, then it doesn't matter if Microsoft didn't write the driver, if they ship it with Windows, they are responsible for it. There's no useful distinction between "Windows" and the drivers that ship as part of Windows.

    6. Re:Misleading first few paragraphs? by ocelotbob · · Score: 4, Insightful

      The flaw is with drivers within windows, not the USB protocol. USB does its job, it says, "hey, I got this device on the server, its name is 8086:3429 and its a high speed device. Windows says, "okay, yeah, whatever" and starts accepting data. Unfortunately, drivers are an area where secure programming really hasn't caught on as well as it should, after all, their hardware never misbehaves and starts spewing out nonsense, right? ;3

      --

      Marxism is the opiate of dumbasses

  4. Overflows are fun! by mistersooreams · · Score: 2, Insightful

    Really, how serious a threat is this? If someone has unrestricted physical access to your machine then you're already in serious trouble. We all know how breakable the NTFS file encryption is, so if they really want to get at your files, they can just reboot into Fedora from a CD, or run any other tool that circumvents the encryption. If they just want to destroy data then you can put a hammer through the hard drive, and no OS can prevent that... So, I'm not saying that this vulnerability shouldn't be fixed, but maybe they should work on making NTFS a bit stronger first - if that's even possible.

    Also, does anyone else think Slashdot should have a special section for buffer overflows? They seem to spawn more stories than several of the other sections...

    1. Re:Overflows are fun! by ForestGrump · · Score: 2, Funny

      Correction: There is ONE OS that can prevent you from gaining physical access to the machine. This os is HAL.

      Grump

      --
      Is it true that more people vote for the winner of American Idol, than vote for the president? -Ali G.
    2. Re:Overflows are fun! by MichaelSmith · · Score: 4, Insightful
      If someone has unrestricted physical access to your machine then you're already in serious trouble.

      How about this: I lend my usb key to you so that you can transfer a file. While connected to your system the usb device cracks the security on your windows box and grabs the information I was looking for.

      I don't need access to your system for that to work. I don't even have to know where it is. I have a usb key/mp3 player device which will let me reflash the firmware, so perhaps I could put the exploit in that way.

    3. Re:Overflows are fun! by Jarnis · · Score: 2, Insightful

      Please educate me.

      Assume I have a system with one 40GB HD, containing one 40GB NTFS partition that is encrypted. I have no usernames nor passwords on hand.

      How do I get (local) admin, assuming I have physical access to the computer? How about if I can't just pluck out the HDD and move it to another computer?

      I know many tools to crack open admin access to an unencrypted Windows installation, but I have no idea how to do the same to an encrypted disk.

    4. Re:Overflows are fun! by ymgve · · Score: 2, Interesting

      Well, if a current user is already logged in (But the workstation is locked), the filesystem is already mounted. You could then with this USB exploit access the whole filesystem easily.

  5. Now this is what i call by pH03n1X · · Score: 4, Funny

    'plug and play' hacking .....

  6. And at 11:30... by Photo_Nut · · Score: 3, Funny

    Flaws found in device drivers shipped with Windows, Microsoft recommends upgrading to Vista!

  7. Be Careful! by Neticulous · · Score: 4, Funny

    "What would be funny is if Vista had this bug when it shipped..." Hey there, this is microsoft, in order for us to not get sued we need you to use "Windows" in cojuction with the word "Vista". So please kindly edit your post, you wouldnt want us to get sued, would you? darling? sweety?

  8. Not new idea by makomk · · Score: 5, Interesting

    Oddly enough, this isn't a particularly new idea. The Xbox Linux project considered the possibility of using a specially-designed USB device to run code on the Xbox, though I don't think they managed to find a suitable vunerability to exploit (unlike now). I wonder if this works for the Xbox, actually - it's Windows 2000 based IIRC...

  9. It is not about "Windows" by jiushao · · Score: 5, Insightful
    This is just a report about the general issue that all USB drivers have to be secure or a hardware device can be made to exploit the machine. It is in no way about Windows, but actually about any operating system than implements USB.

    Sadly enough it is not at all suprising that Slashdot immediately goes for the anti-Windows slant rather than actually reading and comprehending the article and exploit in question. Too few actual axploits in Windows as of late to get up to the required quota perhaps?

    In a more direct comment about the "exploit" I don't consider it terribly important, hardware access leads to a lot of trivial expoits. This one can be made more user-friendly than most with appropriate hardware, but it is not really worse than just inserting a boot CD that copies the relevant data to a secure server or so. It can also of course easily be fixed by disallowing loading of USB drivers without confirmation from the user.

  10. Scary. by oberondarksoul · · Score: 4, Insightful

    USB flash drives are already quite highly accepted amongst non-technical users; both my parents have bought pendrives, as have many of my friends. They're quite comfortable with just popping in the drive, waiting for the OS to see it, and grabbing files off it.

    So, what if someone handed them a pendrive and asked them to grab some files from it, and it turns out that this pendrive would cause an attack like this? One could be switched by a black-hat, or planted, or mailed... put simply, the attacker wouldn't need physical access, just access to someone who does.

    --
    And tomorrow the stock exchange will be the human race
    1. Re:Scary. by Rich0 · · Score: 3, Insightful

      Better still - nice envelope with a letter on authentic-looking stationary and a USB drive inside.

      The letter says - dear information computing professional, MS would like you to test-drive our latest (insert name of fancy software package here). The enclosed demo will not interfere with any of your existing software, and as a thank-you for trying out our newest offering you can keep this handy 128MB USB drive. Feel free to pass along to your colleages as well.

      At work we get demo CDs all the time for various expensive software applications. If you want to do some real industrial espionage send google a USB drive with the latest open source code-profiling tool, or Pfizer a flashy-looking clinical data analysis tool, or whatever.

      Do the whole thing in flash so that it looks like something as high-tech as what you'd see in star trek (it isn't like you actually have to write the algorithm - just an animation). It will get passed all over the place to countless managers. And in most companies you can't give a worker-bee access to a system without giving it to their manager, so you have countless management drones with access to systems they never even look at, but your newly-introduced worm can poke around freely...

  11. Firewire and Linux by wertarbyte · · Score: 5, Informative

    This reminds me of the vulnerabilities discovered in linux (and other systems) concerning firewire; Since Firewire devices can read and write directly to the computers memory, you can do some nasty stuff. The issues are documented on the website of the german CCC: http://www.ccc.de/congress/2004/fahrplan/event/14. de.html

    --
    Life is just nature's way of keeping meat fresh.
  12. Buffer Overflows by Jessta · · Score: 2, Interesting

    How come these things still happen? Lazy programmers? Crappy x86 archtecture? These self-created problems should still be around.

    --
    ...and that is all I have to say about that.
    http://jessta.id.au
  13. BIos option by ObitMan · · Score: 2, Interesting

    A bios option to diable USB would be nice. especially in an enviroment that doesn't need USB for anything.
    A lot of systems do not have the option.

    --
    Who run Barter Town?
  14. What's physical access? by raehl · · Score: 5, Insightful

    Given enough time and resources, I have physical access to anything. If your computer is in a locked case, is that physically secure? In a lab that is always staffed? Behind a locked door? With a guard?

    For many situations, a computer with a locked case in a room that is staffed is considered "physically secure", as it's not likely that you'll break the physical security (lock on the case) without attracting the attention of the staff. Hell, even a computer in a staffed room in a case that has screws on it is fairly physically secure. The USB problem circumvents the physical security.

    Security is all about deterrent. My apartment has a dead bolt lock on the door. Does this mean it's impossible to break into my apartment? Of course not - it just makes it harder.

    Being able to break security on a locked computer with a USB drive is like leaving the key to your apartment under your door mat.

    1. Re:What's physical access? by Minupla · · Score: 4, Informative

      Security is all about deterrent.

      Actually, security in this case is about doing a calculation of the worth of what it is you're protecting against the cost (be it a cost in terms of cash for access controls, or a cost in terms of user convience and system functionality) of the security. I've seen financial instituations who had all their workstations in a central computer room and just ran KVM terminals to each desk. The server room looked more like a vault. It was important to them to keep the workstations secure. On the other hand if you're a library and your only trying to keep them secure so that you don't have to reinstalls every week because some 12 yr old types cat /dev/random > /dev/hda & well then a locked box is probably all you need.

      It's just like insurence really, you sit down and calculate how much your information is worth. After you do that, you put into place access controls equal or greater then the value.

      Min

      --
      On the whole, I find that I prefer Slashdot posts to twitter ones because I don't get limited to 140 chars before
    2. Re:What's physical access? by Stocktonian · · Score: 2, Insightful

      My apartment has a dead bolt lock on the door. Does this mean it's impossible to break into my apartment? Of course not - it just makes it harder.
      Being able to break security on a locked computer with a USB drive is like leaving the key to your apartment under your door mat.


      Taking the analogy further it's actually more like buying an apartment with a deadlock from a disreputable source (No, not just Microsoft) who always leave a key under the mat without telling you. 1 savvy burglar and the whole building is at risk.

      --
      XePhi Computers sell really cheap Linux CDs! http://www.xephi.co.uk
  15. Problem is with USB? by Spoukie · · Score: 2, Interesting

    If the problem truly lies in the USB standard, wouldn't other operating systems that implement USB also be affected? "multi latform exploit" ... kinda makes you just wanna drop your other projects and get to coding that proof of concept doesn't it?

  16. eWeek Sensationalism by Scoria · · Score: 2, Insightful

    Really, how serious a threat is this? If someone has unrestricted physical access to your machine then you're already in serious trouble.

    Surprise, it's just a little more sensationalism at eWeek. If this weren't somehow related to Microsoft Windows, then it might not have been given a front page reference here at Slashdot. Corporate espionage and cyberterrorism, oh my!

    Perhaps it's intended to evoke an image of a man standing at a workstation and inserting a USB device that automatically captures all of the corporate trade secrets. It's only going to frighten those who are uninformed, as you've effectively described the entire problem. Unless the organization in charge has established an extremely secure physical environment, then their sensitive information will always be susceptible to physical espionage.

    If their only layer of protection is provided by a locked Windows workstation, then a network-based attack might prove itself both less expensive and more effective, anyway.

    --
    Do you like German cars?
  17. Re:Every time I bag out Microsoft by MichaelSmith · · Score: 4, Insightful
    This is not a Microsoft vulnerability, this is a USB vulnerability

    From TFA:

    The buffer-overflow flaw is in device drivers that Windows loads whenever USB devices are inserted into computers running Windows 32-bit operating systems, including Windows XP and Windows 2000, said Caleb Sima, chief technology officer and founder of SPI Dynamics.

    So how can it be in all usb drivers?

  18. Trojan Flash by putko · · Score: 2, Interesting

    So you could hack up USB device (e.g. a flash), send it to a company, and kaboom.

    Or leave a few lying around at Starbucks (like the exploding toy-like objects the Soviets dropped on Afghanistan).

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
  19. Seems Fishy... by verbatim_verbose · · Score: 4, Interesting

    I really wouldn't give these guys the publicity at this point.

    They haven't explained what the problem really is, to us, or even filed a report with Microsoft.

    They also claim that any OS is vulnerable, though it's only been tested with Windows drivers.

    The whole thing just stinks of someone wanting publicity or setting up to try to sell some protection software.

  20. Nothing new... by Scott+Swezey · · Score: 2, Interesting

    Ive known that most any system that can boot from usb was vulnerable for at least a year now. I keep DSL on my thumbdrive and need to get it onto my ipod shuffle now too.

    --
    Scott Swezey
  21. Re:This is not just a Windows problem by cnettel · · Score: 2, Informative

    And, of course, any interface that allows unrestricted DMA (PCI/Cardbus, possibly Firewire) will be impossible to guard against, no matter what OS is in use.

  22. ummm. by jav1231 · · Score: 2, Informative

    If you get close enough to plug in a USB device, you're close enough to boot it to a crack CD and a) wipe the system b) blank the admin password c) take all the data (and copy it to a USB device.

  23. So how do _we_ deal with this? by robbak · · Score: 2, Interesting

    It seems obvious that this can affect any OS, and is due to the poor design of USB- If a device posts a number, then the system assumes it's such-and-such, and loads the driver. Which probably has bugs. So, how do We (that is Open Source system developers) deal with this?
    Of course 1. is to make sure that all drivers in our trees have no overflow bugs. Or any others, or course. This takes work, but we now know that it is needed. You cannot trust any info that a USB device gives us. Shoulda known.
    Of course, some painful hardware vendors will _insist_ on providing only binary drivers. Am I alone in thinking that running these as root, melding thrse with no less than the system kernel, is unacceptable? So a fast, secure universal usb interface is needed. I know I have ugen in FreeBSD, and I hope it's secure, but is it fast enough for pedantic hardware vendors? What's the linux situation look like? As you are the ones that have been provided with binary USB drivers, what do these look like?
    And, no, i do not like the idea of running any binary only code. But at least we need to sandbox it off, and reduce it's permissions.

    So, what does everyone think can be done?

    --
    Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
  24. Re:Every time I bag out Microsoft by cnettel · · Score: 2, Insightful
    Problem is, if you fake the hardware ID, you just need a single USB device driver (not USB controller driver) with a flaw. It doesn't have to be in all of them. The flaw is to allow devices that only have been plugged in to work at all.

    On the other hand, I would quite mad if I had to confirm that my new keyboard and mouse should, in fact, be used. (Catch 22, hey?) Only allow plug-and-pray of anything but a very limited set of devices (user configurable?) from anything but Administrator. That would solve most of it.

    I wonder when people will start poking more at Nvidia's and ATI's OpenGL drivers on all platforms. That should prove interesting, especially since the binary drivers may actually contain the same flaws on several platforms.

  25. This is setting off my BS detector. by Anonymous Coward · · Score: 2, Interesting

    First and foremost, the guy says he has NOT notified Microsoft, but then goes on later to say:

    "I was really looking to them to address this issue, but Microsoft feels that this is a hardware issue and doesn't see it as a problem," he said.

    Which one is it, you told them or you didnt?

    Then he goes really REALLY far out of his way not to mention which driver is supposedly exploitable... is it a driver HE wrote?!

    I'm giving this 95% that its a driver HE wrote and installed to exploit ring 0 access, not an exploit in the existing usb stack components, which makes the whole article a self serving lie.

  26. Re:Every time I bag out Microsoft by flithm · · Score: 3, Insightful

    How did this get modded insightful? Obviously you AND the mods did not read the article and have absolutely no idea what's going on here.

    First of all there is only one USB subsystem driver for Windows. That's not actually technically correct since there are drivers for the various USB control architectures (such as UHCI, OHCI, EHCI), but they use are a small part of a larger unified USB subsystem driver.

    I suspect you mistakenly thought the article was talking about the individual usb device drivers (for things like gamepads, cameras, printers, etc).

    This is not what's happening at all. This is a Windows vulnerability, and actually has absolutely nothing to do with USB, other than it affects the USB subystem of the Windows (and only Windows) operating system.

    There's a buffer overflow in the USB system, which allows any properly designed device to be plugged into a locked Windows computer, and execute arbitrary code (ie unlock the machine, etc).

    You may think this isn't a big deal, but this is a huge deal. You can pick up USB dev kits for a couple hundred bucks that come with an FPGA, flash rom, and more. Basically for the price of one of these devices you could theoretically walk into any place where you can gain physical access to a Windows machine, and pwn it.

  27. Re:Every time I bag out Microsoft by gregorio · · Score: 2, Informative
    I suspect you mistakenly thought the article was talking about the individual usb device drivers (for things like gamepads, cameras, printers, etc).

    No, you are wrong. Specific USB device drivers is what the article is all about.

    They even mention this:
    For example, an attacker who knows of a vulnerability in a USB device driver can program one USB device--say a portable memory stick--to pose as the kind of device that uses the vulnerable driver, then plug the device into the host system and trigger the exploit when the host system loads the flawed driver, said Darrin Barrall, another SPI researcher.
  28. Re:suprised? by caspper69 · · Score: 4, Informative

    The problem is that we do not have a modern operating system architecture that is fast enough to allow for drivers to run in another privilege level. Seen the wonderful server performance of OSX? That's what happens when you put drivers at a different privilege level than the kernel. The real issue is twofold. Firstly, context switches are extremely slow, even on modern processors. In the IA-32 architecture, which has three privilege levels, most microkernels have put kernel code at ring 0 (most privileged), drivers at ring 1, and user code in ring 2. But what you end up with is every system call going from user -> driver -> kernel -> driver -> user. This greatly slows down the system, especially in a uniprocessor multitasking operating system. Things get even more complicated when you're trying to write a portable operating system (Linux/*BSD/NT Kernel), since most other chip architectures only offer two privilege levels (user & supervisor).

    I guess my point is simply that we've tried this isolation you speak of, but it truly offers horrendous performance, especially graphics subsystems. Take a look at some of the research on Mach, why no one uses it (well, except Apple). Check out Jochen Leudtke's research on the L4Ka microkernel, and how they've gotten near monolithic type speed out of a microkernel by caching calls between privilege levels to minimize context switching.

    OS Development is fun! It also allows you to look at the common (and not so common) operating systems in a whole new light. And don't get me started on the Linux kernel. Until the 2.4 series, I could have done better with 6 months and an unlimited supply of pizza and Sun Drop (and no, I can't get the good Sun Drop where I live!!)

    So in short, every modern operating system (sans OSX) runs drivers in Kernel mode. It's a necessary evil. Maybe one day, the speed decline will be negligible, but as long as context switches take over 1,000 cycles, and as long as you can trigger tens of thousands of context switches relatively easily in user/driver/system interactions, with very few user-level instructions (i.e. libc), we'll always have this problem.

  29. This is all about Windows by jschottm · · Score: 2, Interesting

    This is just a report about the general issue that all USB drivers have to be secure or a hardware device can be made to exploit the machine.

    There's many specifications (IPV4 springs to mind) that weren't designed with security in mind. It's the responsibility of the OS writers to design their OS to handle such insecurities. There's nothing in the USB specs that say that the OS must run the USB driver at ring 0.

    It is in no way about Windows, but actually about any operating system than implements USB.

    The article gives two specific cases:

    1. The ability to unlock locked systems (say, while the user is at lunch). This gives far more than just owning a system physically. You now have access to all of their network priviledges and everything else that relies on their single-sign on accounts. This is meaningless to Joe home user or most small businesses, but vastly significant to enterprise level situations. With physical access to my work Windows desktop, you could gain access to some e-mail and word processing. With access to my system logged in as me on the Active Directory, you would have access to my AD OU, networked drives, SSO enabled applications, etc. See the difference?

    2. A USB drive that automagically copies the last used files onto a flash drive. The ability to subtly plug a drive in and retrieve it later opens all kinds of espionage capabilities.

    it is not really worse than just inserting a boot CD that copies the relevant data to a secure server or so.

    Beyond the statements I made above, rebooting a system in a secured environment can easily trigger monitoring systems' alerting capability.

    It can also of course easily be fixed by disallowing loading of USB drivers without confirmation from the user.

    For anyone interested, here's instuctions on how to (theoretically) disable USB entirely under Windows. Note that I've not tried the above process described, so it may or may not work. And another one discussing how to disable USB storage devices, although that may not be enough to prevent the exploit in question from working.

  30. Unlocking terminals by Britersen · · Score: 2, Insightful

    Everyone seems to be forgetting the real big security issue with this.

    Accessing physical data on the system's hdd (whether encrypted or not) is not the major issue - accessing currently running programs is.

    Example - John Q Sysadmin has a few open ssh sessions to some of his favourite boxes - locks his workstation so he can wander off somewhere. Anyone exploiting this to unlock his workstation now has access to his logged-in ssh terminals.

    Yes, there are other ways to achieve this, including keyloggers, trojans, etc, but this makes it stupidly easy to walk past a random workstation, and potentially 10 seconds later have root access on any number of other boxes the user happened to be logged in as.

    Remember guys - better be shutting down your ssh terms before you go to lunch!

  31. Re:This is not just a Windows problem by Ann+Elk · · Score: 2, Informative
    attacks are NEVER cool.

    Attacks are not, but exploits can be, and this one is very creative.

    kids nowadays...

    I'm 41 and I've been in the software industry for 23 years, so I'm hardly a kid.