Slashdot Mirror


Malware Now Hiding In Graphics Cards

mask.of.sanity writes "Researchers are closing in on a means to detect previously undetectable stealthy malware that resides in peripherals like graphics and network cards. The malware was developed by the same researchers and targeted host runtime memory using direct memory access provided to hardware devices. They said the malware was a 'highly critical threat to system security and integrity' and could not be detected by any operating system."

68 of 125 comments (clear)

  1. Well... by Statharas · · Score: 4, Insightful

    3 years ago I thought of this possibility, but everyone laughed and pointed at me in my local community. Guess who's laughing now.

    1. Re:Well... by Nadaka · · Score: 1

      This is NOT a new thing. Malware has been reprogramming video cards since the 80's

    2. Re:Well... by slashmydots · · Score: 5, Funny

      You're right. Some of the crappier manufacturer's card firmware flashes basically are malicious attacks on the card that shuts them down instantly, lol.

    3. Re:Well... by BLKMGK · · Score: 2

      Yeah, their software finds the malware they wrote to hide in graphics cards - bravo....

      --
      Build it, Drive it, Improve it! Hybridz.org
    4. Re:Well... by Anonymous Coward · · Score: 5, Informative

      3 years ago I thought of this possibility, but everyone laughed and pointed at me in my local community. Guess who's laughing now.

      Everything old is new again;

          The Virus Writer's Handbook: The Complete Guide
          (c) 1992 Terminator Z (AKA Harry McBungus)
          http://vxheaven.org/lib/static/vdat/tumisc09.htm

          [...]

            6.4 Himem: above TOM

              (TOM stands for Top Of Memory if you didn't know)

              There are plenty of places in the high memory region for viruses to find
              a cosy hidey-hole, but most are not very safe. They exist in video
              memory, shadow RAM areas and so forth. Programs such as QEMM utilize
              such holes to load drivers and shit, but what's the point of devoting 1k
              of code to find a failsafe hole when you can hide somewhere else for
              less?

              Hiding in video ram is utterly stupid, but nevertheless some programmers
              insist on loading them there. Hmm, maybe they could hook int 10h (video)
              to intercept any calls to change modes and move themselves
              accordingly............... hmm that's actually not a bad idea. But
              where to move to? Why not stay somewhere else and save the bother?

              Also, remember that the majority of PCs in the world are (still) shitbox
              XT's -- they don't have RAM in areas which aren't used, unlike 286/386
              machines and above. You might as well try scratching your name into a
              diamond with a steel file.

              Don't bother with this method unless you're adventurous or stupid.

              Viruses which use this technique:
                              MG-3

          [...]

    5. Re:Well... by dave562 · · Score: 1

      I agree. What do they mean "now" hiding in graphics cards? My dad, who was programming back in the 60s, suggested this to me when I started getting interested in assembly coding and viruses in the mid-1990s.

    6. Re:Well... by niftymitch · · Score: 1

      Video cards are basically mini computers in themselves, or as I like to jokingly refer to them "NVidia/AMD Consoles".

      Not mini... the processing power in modern graphic cards and subsystems is serious stuff.

      Rumors are that newer designs are more symmetric and while most are to be dedicated to
      driving displayed content that dedication can be toggled or the balance shifted
      to give the OS more cores to do work.

      The value of this is a don't care to Microsoft. They seem to be well
      trained by the GigHz banter of one CPU designer and maker. Power
      management is another omission in the OS design matrix. Perhaps
      with better instrumentation on chips & motherboards things will improve.

      None of this is the full answer. Decades ago I played with X windows
      with the server and client separated via a serial line IP link. The slow
      link made it obvious that the layers and layers of libraries were not well
      designed. With the most trivial event I would see the screen redraw itself
      many many times. No wonder perf sucked and the good news is that
      we were able to sell hardware upgrades as fast as we could design them.

      I wonder if the dot in /. is a reminder to contemplate your navel
      and look inward at things?

      --
      Truth is stranger than fiction, but it is because Fiction is obliged to stick to possibilities; Truth isn't. Mark Twain.
    7. Re:Well... by icebike · · Score: 2

      Back in the day, I heard of malware that would cause your video card to send a signal that would cause your CRT to fail.

      Back int the days of CRTs that didn't take malware. You could kill them easy enough just by setting the video cards to improper refresh rates.
      There were a whole series of Tatung monitors that were particularly prone to this.

      --
      Sig Battery depleted. Reverting to safe mode.
    8. Re:Well... by Anonymous Coward · · Score: 1

      I wonder if the dot in /. is a reminder to contemplate your navel and look inward at things?

      No, that's a guy standing next to the Leaning Tower of Pisa.

    9. Re:Well... by jones_supa · · Score: 1

      Rumors are that newer designs are more symmetric and while most are to be dedicated to driving displayed content that dedication can be toggled or the balance shifted to give the OS more cores to do work.

      I'm not sure what that would mean. The current GPUs are able to give you pretty much all the cores (shader units) to do general purpose work if you want to.

    10. Re:Well... by hobarrera · · Score: 1

      I guess they're still laughing, because ordinary people still won't be able to understand this.

    11. Re:Well... by niftymitch · · Score: 1

      Rumors are that newer designs are more symmetric and while most are to be dedicated to
      driving displayed content that dedication can be toggled or the balance shifted
      to give the OS more cores to do work.

      I'm not sure what that would mean. The current GPUs are able to give you pretty much all the cores (shader units) to do general purpose work if you want to.

      What if the array of processing elements in the GPU were pulled out of the GPU and presented as full class
      citizens? A 'mode-bit' could give them access to one or more tiles of display memory.

      There are days when I would be happy as a clam to have +100 cores and a simple terminal to manage the
      system. Other days four+ cores would do the job but +100 cores for smooth as silk graphics would be nice.
      I love it when I win at solitaire and the cards fly in circles too and fro....

      The underlying challenge is the internal bus/ interconnect and data paths to and from memory I/O and
      display. Some of this was only a pipe dream in the past but with modern chips and a billion transistors
      the impossible is now within reach.

      This type of design is difficult.... and risky but hey I am not talking about my money.

      --
      Truth is stranger than fiction, but it is because Fiction is obliged to stick to possibilities; Truth isn't. Mark Twain.
    12. Re:Well... by jones_supa · · Score: 1

      Hmm. I'm not sure what you exactly meant, but couldn't you already use something like OpenCL to do that?

    13. Re:Well... by hairyfeet · · Score: 2

      Well I was talking about this more than 5 years ago when the first 128Mb cards came out and everybody said I was batshit but think about it, even back then we were talking 400MHz cards with 128Mb worth of RAM, this is bigger than most of the Win98 PCs that the first pro malware writers cut their teeth on and since most antivirus can't touch the GPU you have a perfect hiding spot.

      I think the ONLY reason it hasn't taken off before now is that malware writers really had no reason to learn anything but Windows since XP was so damned easy to infect. The moron who made running as admin the default really gave malware writers an easy target and like all criminals they are lazy and go for the low hanging fruit. Now that WinVista/7/8 brought a sane permissions model, even upping it with low rights mode (taken advantage of by IE and any Chromium based but NOT Gecko based sadly) its becoming harder and harder to infect Windows and since they had to learn to code for other platforms thanks to the Android explosion it only makes sense that they would go for the easiest target left on Windows. But I don't think network cards in and of themselves are much of a threat, routers yes, cards no, simply because nearly everybody uses what came in the system and those chips all use system memory which is scanned by AV.

      For those that need a rock solid AV I can't recommend highly enough Comodo Internet Security Free as its free for BOTH home and Small Business, has won several shoot outs, has auto sandboxing by default,memory firewalling and protecting system files from alteration, and while the defaults can be left as is if you want to customize it has incredibly fine grained control of the AV. I have given CAV to some seriously "clicky clicky" customers that would get infected at the drop of a hat, with CAV they have been clean for over a year.

      But the days of safe havens are over, if it has a processor and RAM its a target, be it GPUs or mobile devices, windows, Linux, Mac, doesn't matter as the malware guys make billions off this crap.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    14. Re:Well... by niftymitch · · Score: 1

      Sort of yes. OpenCL is a way to load code into a special co-processor.

      More interesting is an array of processors that are not special.
      One might ask why the system has 4-6 cores and the display
      more than one hundred. Eye candy is nice but as I think about
      it this is unbalanced and perhaps even inverted.

      Parallel programming is hard and the closer to "normal" programming
      it can be the better. One of the issues is that the FPU of GFX hardware
      is a 32 bit float and the system has a choice of 32 or 64 bit IEEE floats.
      With 7.1 transistors on a modern nVidia part it is clear that their
      design has a narrow focus on display problems.

      However with billions of transistors more general devices make sense (to me).

      And yes I lament the loss of the Alpha and 128 bit floats. But I am happy
      to roll my own if needed... but that is another rant.

      --
      Truth is stranger than fiction, but it is because Fiction is obliged to stick to possibilities; Truth isn't. Mark Twain.
  2. Seriously? Did no one see this coming? by erroneus · · Score: 5, Insightful

    This ridiculous push to offload every type of programming into GPUs including bitcoin mining and no one saw this possibility? (Sarcasm, I know people saw the possibility.)

    Measures could have been taken... but then again, what better way for the NSA and other government spies to infiltrate a computer independent of an operating system than this? Seriously. It'll work on Mac, Windows and Linux with or without proprietary drivers.

  3. Re:Seriously? Did no one see this coming? by Jah-Wren+Ryel · · Score: 2

    Measures could have been taken...

    Any system with an IOMMU can be made immune to this sort of attack.

    --
    When information is power, privacy is freedom.
  4. Re:Seriously? Did no one see this coming? by DeadCatX2 · · Score: 2

    The payload might be agnostic to the OS, but what about the dropper? I would imagine that would have to be custom-tailored to each OS. Unless the manufacturers are letting NSA drop the payload in before it gets to the consumer.

    --
    :(){ :|:& };:
  5. Old news and Prior Art. by Anonymous Coward · · Score: 2, Interesting

    Interesting that security researchers are JUST NOW thinking about this. I was on an flight from San Diego to Japan back around 2005, seated next to a gentleman on his way to a computer conference - I believe it was HITB, and either Dubai or Malaysia - and we were chatting about the inevitability of computer virus exploits being used to co-opt hardware instead of operating systems. He had recently developed a way to suborn the Nvidia Geforce bios update process by presenting the card with a working update that contained arbitrary code. Once loaded into the BIOS, the update version number was far beyond any possible build number - so it could not be removed except by either replacing the card or by replacing the BIOS chip. If I remember correctly, the gentleman who I was talking to was rather interested in my mentioning that the most beneficial place to install similar software would be a networking card, as the network card could "listen" for command and control signals without the interference of the operating system or any security software - kind of an "outside the tripwire" situation.

    1. Re:Old news and Prior Art. by BLKMGK · · Score: 1

      and what did that checking of the version number? The flashing software? No problem, subvert that and you're back to a working card.

      --
      Build it, Drive it, Improve it! Hybridz.org
  6. Cook out the bugs by SpaceManFlip · · Score: 5, Funny
    No worries, the malware will all get cooked out while I'm overclocking the GPU. Frequently I get driver crashes while it's OC'd, and sometimes the DX11 game will dump out completely, and other times it even causes artifacts in the game while I'm cooking it up over 85 C

    So yeah, not too worried about the malware. Fever immunity FTW

    1. Re:Cook out the bugs by slashmydots · · Score: 4, Funny

      Just make sure you're doing it correctly. The USDA recommends overclocking by at least 10% for 60 seconds or more to eliminate all strains of viruses.

  7. Re:Seriously? Did no one see this coming? by slashmydots · · Score: 2

    I actually still don't see the possibility. Bitcoin mining uses the GPU cores and a tiny amount of graphics memory. You turn off the computer and all the GPU caches and GDDR5 is wiped. Hiding malware in the video BIOS is unrelated to hashing and bitcoin operations. The BIOS certainly has enough system permission and is big enough though!

  8. Re:Seriously? Did no one see this coming? by Deus.1.01 · · Score: 1

    Not to mention how accecible it is to flash the shit from the OS...secure computing is fucking trash.

    --
    My -1 Troll is actually a +1 funny. And my -1 flame is actually a +1 insightfull.
  9. Re:Seriously? Did no one see this coming? by MickyTheIdiot · · Score: 1

    Bitcoin mining with the GPU is almost over. The way it is done these days is through specialized ASIC circuits. So really it's not all that relevant anymore.

  10. create your own payloads by Anonymous Coward · · Score: 5, Interesting

    network cards can create magical endpoints from thin air without having to send or receive any packets

    or they can look for a specific pattern in a packet and ship its contents to a preordained destination

    don't try to think about what they cannot do, think about what they can do, it's frightening

  11. Re:Seriously? Did no one see this coming? by Molochi · · Score: 2

    Bitcoin mining with your own GPU is almost over.

    What if you aren't paying for the hardware or the electricity bill on a thousand machines?.

    --
    "The Adobe Updater must update itself before it can check for updates. Would you like to update the Adobe Updater now?"
  12. Re:Seriously? Did no one see this coming? by Dunbal · · Score: 4, Insightful

    It's just another half-assed job. Computer tech is full of half-ass ideas that sounded pretty good but were never completed. The 640k limit and protected mode. Expanded/Extended memory through A20. Half assed effort by Lotus, IBM and Microsoft. Operating systems - sold as secure, almost as insecure as ever. About the only good thing is they don't usually automatically install malware from the internet without asking you first. Half assed. Trusted Computing - half assed. UEFI, half assed.

    I don't know if it's a lack of budget, or if computer techies (not your regular coders but the guys that come up with this stuff and implement it) really have such short attention spans. Or maybe it's just a marketing thing - give us a new tech word we can market for this generation, it doesn't have to work, we'll just pretend it's something good and make people want it.

    --
    Seven puppies were harmed during the making of this post.
  13. Mine it by dindi · · Score: 2

    That is why I mine crypto currencies with my graphics card 24/7 and liquid cool them.

    The overclocking burns the malware out, then the distilled water flushes it out. My 99.8% pure silver kill coil takes care of any remaining parasites - just in case the UV lighting didn't burn them to death already....

    1. Re:Mine it by ortholattice · · Score: 2

      I flush mine out by giving it a Class-A compulsory directive to compute pi to the last digit. Since the value of pi is a transcendental figure without resolution, this is a task it can never complete.

    2. Re:Mine it by dindi · · Score: 1

      Almost as useless and annoying as mining primecoin then :)

  14. Re:Seriously? Did no one see this coming? by BLKMGK · · Score: 2

    You are correct, he was talking out of his ass. These programs don't run "on the GPU" but rather utilize the GPU resources to do highly parallel processing that it's suited well for. That has exactly zippy to do with is being reported here.

    And I'd ask - what firmware exactly? NVIDIA? AMD? Intel? Hell, on the new CPUs with video onboard where is the firmware even located? BIOS now there's some fun - even the same manufacturer has different code for different boards for different chipsets. I don't see anyone making anything that's not one off for that anytime soon even with UEFI supposedly making things more uniform. Safeboot and other things already check much of that anyway when enabled properly.

    --
    Build it, Drive it, Improve it! Hybridz.org
  15. Nothing new here by msobkow · · Score: 2, Interesting

    I remember a "dinosaur" telling me about an S/390 "virus" in my youth. It was written to infect the disk, drum, and tape controllers, and to replicate itself to any uninfected devices in the system.

    It was relatively harmless. It would periodically pop up a console message like "I want a cookie.", and lock up the system until the operator typed in "cookie".

    However, apparently the only way to purge the thing was to replace all the hardware controllers at the same time.

    Whether true or not, I do not know. But it's the oldest "virus" story I've ever heard -- it was told to me way back in the 80s.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:Nothing new here by Jah-Wren+Ryel · · Score: 2

      Sounds like the Multics Cookie Monster.
      The Wikipedia entry has a slightly different take on the story.

      --
      When information is power, privacy is freedom.
    2. Re:Nothing new here by msobkow · · Score: 1

      Analogous programs were even coded for non-Multics systems...

      A variant on it at least.

      --
      I do not fail; I succeed at finding out what does not work.
  16. Re:Seriously? Did no one see this coming? by Anonymous Coward · · Score: 1

    Oooh! Good, make sure you say NSA in every post!

  17. Re:Seriously? Did no one see this coming? by Anonymous Coward · · Score: 1

    Then you're a thief...

  18. IOMMU by Bruce+Perens · · Score: 4, Informative

    Yes, when I saw this I thought that this was a reason to make motherboard IOMMUs a security feature. Also, the DMA destination memory pages should not have the executable bit turned on. Recent generations of Intel/AMD CPUs have provided the ability to turn that bit off.

    1. Re:IOMMU by Burz · · Score: 2

      Yes, when I saw this I thought that this was a reason to make motherboard IOMMUs a security feature. Also, the DMA destination memory pages should not have the executable bit turned on. Recent generations of Intel/AMD CPUs have provided the ability to turn that bit off.

      Qubes implements this security feature. Pretty much every peripheral is isolated from the core system / hypervisor via the IOMMU, and it even runs X11 and the network stack in separate VMs. It is probably the only Linux (or Linux-ish) system to secure these known vulnerabilities.

      You can also do the same for other hardware devices (assign hardware to certain VMs) using the GUI, along with a lot of other really nice point-and-click features. Security context is reflected in the GUI using window colors.

      A final note: Multi-user is actually deprecated and security is all based on domains. The system is designed to function strictly as a single-user PC (in fact, the focus is more toward laptops), which I find refreshing. If you need multiuser you can always create an HVM to run non-native OSes.

  19. Re:Seriously? Did no one see this coming? by Anonymous Coward · · Score: 1

    A) The cross-platform advantage, as you present it, is tremendously smaller than the disadvantage of having to create specific-per-GPU implementations (Although I'm not that knowledgable in the GPU market, perhaps there's some Nvidia chipset that takes 80% of the market. I'm assuming that's not the case)

    B) The cross-platform is not that important even by itself. This stuff matters more since those (viruses) are harder to detect by the OS / AV running on the OS.

    IMHO it's not cost-effective. Creating generic viruses for Windows is still the best cost-effective. And since Mac and Linux users typically don't run any defense and are much more vulnerable than PCs running Win7/8, it's more of a matter of will.

  20. Re:Seriously? Did no one see this coming? by Anonymous Coward · · Score: 4, Insightful

    Welcome to the real world!

    If you open your eyes wide enough,you'll notice that pretty much everything is half-assed in one manner or another. This isn't necessarily a bad thing because doing the job "properly" is either impractical, too expensive, or takes too long. In reality, we don't even know what "properly" is most of the time.

    I'd go as far as to say that humanity's real achievement is the ability to say "fuck it" and go forward with a pragmatic solution that's useful enough to come out ahead and not dangerous enough to kill us all.

  21. Huh? by Obfuscant · · Score: 1

    They said the malware was a 'highly critical threat to system security and integrity' and could not be detected by any operating system."

    Can someone 'splain that, or is it just nonsense? The malware was put into the GPU or whatever by a program running on the OS, why can't another program on the OS detect it? Write Only Memory?

    1. Re:Huh? by Anonymous Coward · · Score: 1

      Basically, they claim it's possible to send data... which I suppose could be an exploit... directly to the GPU's memory via DMA from a malicious piece of hardware. it would be undetectable, because graphics card memory is separate from system memory. Nothing checks graphics memory for malware, because generally: 1) a normal app has to be running (thus this app would be detectable) to run GPU code, and 2) code running on the GPU generally can't do all that much

      The practicality of this "attack" is questionable to me.
      Assuming they were able to even reflash the video card (to avoid the computer being disinfected by being reset), I'm not sure the malicious code could interact with the rest of the system (read main memory, disk, network) and hence send any kind of useful information to anyone. It could spy on your bitcoins as you find them, but it'd lack the ability to steal them.

      Running code on the GPU is easy. Running GPU only code to do something useful... that is what I'm still not convinced is possible.
      I'm puzzled by the utility of this...

  22. Re:You were not alone by Smallpond · · Score: 5, Informative

    The problem is that every card on a PCIe bus can be a master, has access to all of memory, has a processor of some kind, and has insecure firmware. Pick any popular card - network, storage or graphics - and you have a potential attack. Find a bug people are having and post a fix or a tool to fix it. There will always be some sucker who will download it and run it.

  23. Re:Seriously? Did no one see this coming? by drkstr1 · · Score: 2

    Measures could have been taken... but then again, what better way for the NSA and other government spies to infiltrate a computer independent of an operating system than this? Seriously.

    Perhaps this?

    http://www.theregister.co.uk/2013/09/23/intel_stuns_world_with_wakeon3g/

    NSA already have a hidden 3G enabled backdoor straight in to your CPU and can even power up computers remotely and provide power to HDDs and access them remotely.

    It even has it's own OS within the chip so your OS of choice doesn't matter

    You say it as if fact, but you must have missed this line in the article: "No evidence is offered for the assertions detailed above."

    --
    Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7
  24. Re:Lovecraftian horror. by Anonymous Coward · · Score: 1

    Someone needs to rewrite this in a more Lovecraftian style.

  25. Bad summary... by slew · · Score: 4, Informative

    Basically this theorized malware would use the GPU (or other DMA capable device in the system) to bypass page permissions. Since most operating systems depend on virtual addressing and CPU page permissions to protect things, having a DMA capabile device that didn't respect page permission could easily bypass the assumptions made by most OS's and malware detection programs.

    The problem is of course with the limitations of current malware detection programs. They could of course theoretically detect GPU viruses as they need to exist somwhere (even GPUs execute instructions and have page tables for their memory). The problem is that there are so many different types of GPUs and each has a different proprietary driver architecture, current malware detection companies don't have enough information or experience to even attempt to try this even if they had the desire and the resources. Then again maybe the GPU vendors have built in malware in their drivers (kinda like some of the phone-home free-pdf/fax printer drivers). If so, you are just screwed.

    FWIW, there was an attempt a few years ago to impose an IOMMU into the PC architecture that could filter DMA requests from devices. The idea was that if the OS was in control of the IOMMU, like the page tables, it could disallow a DMA request from a rogue device request similar to how it could trap a CPU access. I lost track of this, but I doubt it will go anywhere...

    However, this isn't usually the weak point in the chain, this is merely a theoretical threat kind of like warning people about how installing random program on their PC is a "highly critical threat to system security and integrity" when most folks have a browser setting that allows running just about any browser plugin suggested by a random web-page by merely clicking "OK" when the warning dialog box comes up. It's just scary because you've never heard of it before and it's yet another thing to worry about.

  26. Re:Seriously? Did no one see this coming? by davydagger · · Score: 1

    still a $25 dollar ASIC now has the hash rate of a high end video card that costs over $200. the ASIC uses 2.5 watts, plugs into a usb port, is silent, and requires little physical space, and can be run from a raspi.

    GPU mining, fuck off

  27. Undetectable stealthy malware .. by codeusirae · · Score: 1

    How does this malware get onto the targeted system, without user action or root access?

  28. Re:Seriously? Did no one see this coming? by dbIII · · Score: 1

    Bitcoin was never relevant apart from those poor sods that got tricked into the stupid virtual ponzi scheme. Even minecraft mining has more of a real effect on the world.

  29. Killing a CRT by ArchieBunker · · Score: 1

    I suspect a wrong refresh rate killing a CRT is an urban myth. Even the cheapest monitors that supported power saving simply shut off if they encountered something they couldn't handle. *Maybe* it would have been possible in the early days of fixed refresh rates and resolutions but I'm still skeptical. Who would even sell something so easily damaged?

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
    1. Re:Killing a CRT by icebike · · Score: 3, Insightful

      Simply shutting of was a step up from the early technology. I don't remember the details but I think it had something to do with burning out some capacitor used in conjunction with the fly back transformer. A three cent part that took 100 bucks to get to and repair.

      Not an urban legend I assure you. And the guys getting bit most often were Linux guys trying to figure out X config setting.

      Back in the day I was selling a lot of hardware and had to process many warranty returns through our shop.

      --
      Sig Battery depleted. Reverting to safe mode.
    2. Re:Killing a CRT by jones_supa · · Score: 2

      AFAIK it's not a myth at all. We're just talking about really old, crusty monitors. They didn't have enough smarts to do some sanity checking for the signal.

    3. Re:Killing a CRT by symbolset · · Score: 2

      I assure you it is completely legitimate.

      --
      Help stamp out iliturcy.
    4. Re:Killing a CRT by xenobyte · · Score: 1

      I suspect a wrong refresh rate killing a CRT is an urban myth. Even the cheapest monitors that supported power saving simply shut off if they encountered something they couldn't handle. *Maybe* it would have been possible in the early days of fixed refresh rates and resolutions but I'm still skeptical. Who would even sell something so easily damaged?

      NEC? - Back when I when to school in the early 1980's we had a bunch of Rc702 Piccolo microcomputers (Z80-based, ran CP/M) and the attached CRT monitor was capable of 80x25 text and was basically a rebranded standard NEC extremely common at the time (http://en.wikipedia.org/wiki/File:Hillebrandt_regnecentralen_rc700-piccolo.jpg). A friend and I was playing around with the CP/M provided and actually hacked it (disassembled, modified and recompiled) to be able to run two programs at once, plus we added a status line (line 26) showing some information (program in front, misc. lock status etc.) and a clock. Now the extra line was about all that could be added without damaging the monitor. Adding line 27 would make it sing and if you add more... Well... A technician from Regnecentralen was so convinced that their hardware could not easily be damaged by software that he entered into a bet about it, and a 7-byte program later he had a smoking and very dead monitor on his hands. There was NO safety limits to what it would accept. So yes, someone was selling something easily damaged.

      --
      "For every complex problem, there is a solution that is simple, neat, and wrong." -- H.L. Mencken (1880-1956) --
    5. Re:Killing a CRT by Zaelath · · Score: 1

      In my day we just called them "pots" :)

  30. Re:Seriously? Did no one see this coming? by Kozz · · Score: 1

    I pretty universally blame management for not listening to their techies-with-brains for the loads of half-assed jobs of all kinds out there. I say "shit rolls downhill".

    --
    I only post comments when someone on the internet is wrong.
  31. Bigger scope to this solution... by Shoten · · Score: 4, Informative

    The article actually refers to being able to detect the malware; the key here is DMA, or "Direct Memory Access." DMA is in use by a great many things, including FireWire (IEEE 1394), USB 3.0, and Thunderbolt as well as many internal peripherals like graphics cards.

    Why, you ask? Simple...for performance. If you think of memory as being like a big warehouse, other methods are like having a guy at the front of it on the other side of that counter...you know, the one with the fencing and a little slot for you to pass him your invoice so he can go get what you came to pick up? You show up, give him the invoice, he looks at it, goes to get exactly the thing you're allowed to take, and brings it to you. This is secure, but also a bottleneck. DMA, on the other hand, is more like having that guy standing at the front door to the warehouse, just making sure you have an invoice at all...then he waves you on through to go get it yourself. Obviously, that has security ramifications.

    And that's the real key to this threat...if they've come up with a way to detect attacks like that, they've come up with a way to defend against them coming from more than just malware in a graphics or network card. They've come up with a way to help protect against password-reading via USB 3.0 ports and the like as well. It would also, however, provide more methods for counter-forensics...so its a double-edged sword.

    --

    For your security, this post has been encrypted with ROT-13, twice.
  32. Gulf war flashbacks by Anonymous Coward · · Score: 1

    No one remembers the altered printers the Iraqis got?

  33. Re:Lovecraftian horror. by Zontar+The+Mindless · · Score: 1

    ^ Why we need a +1, Troll option for moderation. ^

    --
    Il n'y a pas de Planet B.
  34. OpenBSD impact by cpm99352 · · Score: 1

    Given the recent revelations including NIST weaknesses, does OpenBSD withstand the likely attacks?

  35. Is flashing the graphics card enough to remove by MultiPak · · Score: 1

    Is flashing the graphics card enough to remove? Yes, No, Maybe?

  36. Useless in NT 4.1 by Khyber · · Score: 1

    Windows NT4.1 explicitly disallowed DMA to video memory. Want to venture a guess as to why?

    But of course, now you get DMA to the video card in later versions of Windows. Devs hated not having DMA.

    Reap what you sow, instead of trying to follow good security practice.

    --
    Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
  37. Re:You were not alone by Anonymous Coward · · Score: 3, Informative

    The problem is that every card on a PCIe bus can be a master, has access to all of memory, has a processor of some kind, and has insecure firmware.

    AMD was ahead of the curve on this, their CPUs have have a low-level IO manager since around the K8 microarchitecture.

    The IO logic block sits between the CPUs interface bus and the memory controller (which is on the CPU, remember) and basically functions like a page-table for direct hardware access so you can actually remap the physical RAM at the hardware level from the perspective of the other devices. [i.e. set it up so that only the parts of the RAM which is being intentionally shared for DMA can be accessed by non-CPU hardware and everything else is unaddressible.

    Intel has added their own manager to their newer CPUs as well so this hole is finally being closed up once the Intel feature becomes common enough for Windows to include drivers and low-level logic to use it.

  38. Initialization is the Crux by StoneyMahoney · · Score: 1

    No time to research this now, I'm supposed to be working, but my colleagues and I had a quick 5-minute brainstorm on this and came up with a few points.

    1) If the malware is initialised by the OS and loaded into the GPU that way, you've got a tiny window of opportunity to detect it then or you can use deep-scan techniques to pluck it off the hard drive. However, this is unlikely to work in practise because...

    2) If a virus developer is smart enough to load malware into your GPU, they're smart enough to embed it into your firmware and add some rootkit protection against reflashing - time to buy a new GPU because you ain't ever getting that sucker out of there now.

    3) That means, as always, the only practical time to deal with this is before the infection take enough of a hold to defend itself against anti-malware software. It needs a standard infection vector, so the usual anti-virus packages could be updated to spot this type of infection just like anything else that comes in off the wire.

    4) IOMMU and VT-D could be used (extended?) to implement a per-device GPU DMA memory zone whitelisting scheme, something along the lines of the no-execute bit used with CPUs today. This would blunt the snooping capabilities of GPU malware. Further extensions to allow review of GPU communication may be able to detect or prevent initial infection of the GPU or the initialization of unwanted processes (depending on the malware type as above), but that would imply a huge increase in latency that would not be suitable for all applications.

  39. Re:You were not alone by RatherBeAnonymous · · Score: 1

    The problem is that every card on a PCIe bus can be a master, has access to all of memory...

    Even more frightening than that is that Firewire and Thunderbolt, as well as external expansion ports like Express Card and PCMCIA, have the same capacity for DMA.

  40. Re:Seriously? Did no one see this coming? by erroneus · · Score: 1

    I know it's a kind of joke to say that, but that's not what an open mind. An open mind is one prepared to consider and process ideas rather than discard them based on the probability that they may clash with [one's] currently accepted ideas.

  41. (R)DMA attacks: Old news. by DrYak · · Score: 1

    About the attacks:

    Direct-Memory Access (DMA) has been an attack vector since ages
    (Remember the attacks over FireWire 1394 ? Any RDMA-capable interface is at risk: high-speed modern netwrok, infiniband, firewire, etc.)

    From that point of view, a Graphic Card is nothing new. But it has several advantages:
    - A big hunking GPU which can locally do advanced attacks (some light bruteforcing if needed).
    - A crapton of resources: GFX card firmwares are huge, available RAM on a GPU is bigger than HDD used to be when the first RDMA attacks where invented.

    About the defense:

    The defense too is known since age: IOMMU.
    A IOMMU is to PCIe cards (and other peripherals) exactly what a MMU is to (virtual) memory - it enforces protection. It helps you control which bits of physical RAM should be seens by which user-space software/peripheral and a which arbitrary addresses.

    As mentioned by others, IOMMUs have bin available as long as 64bits (because they are a requirement for 64bits systems: they can address way much more memory than what a 32bit or 16bit card can see. If you want a 32bits card on a 64bits system, either you do nothing special and are in a world of pain with buggy drivers that only randomly function (like the original Vista 64bits drivers for the 32bits SoundBlaster Audigy series of sound card. Depending on where the DMA buffer was allocated today, the sound card might completely refuse to play any coherent audio) or you use a IOMMU to map the actual RAM used into the 32bits address space of your peripheral.

    Since the days of FireWire RDMA exploits, progress have been made to better use IOMMU to protect the system from malicious memory access. (At least on the Linux front for sure, but I suspect that Microsoft might have tried to secure Windows too)

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]