Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

New Password Recovery Technique Uses CPU and GPU Together

Posted by ScuttleMonkey on Mon Oct 22, 2007 03:19 PM
from the brute-force-just-means-get-a-bigger-hammer dept.
BaCa writes to mention that a new hardware/software combination has been created by a company called ElcomSoft that will reportedly allow cryptography professionals to build cheap PCs that work like supercomputers for the specific task of retrieving lost passwords. Utilizing a combination of the CPU and the GPU the task of brute forcing a password may be reduced by as much as a factor of 25. "Until recently, graphic cards' GPUs couldn't be used for applications such as password recovery. Older graphics chips could only perform floating-point calculations, and most cryptography algorithms require fixed-point mathematics. Today's chips can process fixed-point calculations. And with as much as 1.5 Gb of onboard video memory and up to 128 processing units, these powerful GPU chips are much more effective than CPUs in performing many of these calculations."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by jcicora (949398) on Monday October 22 2007, @03:21PM (#21076625) Journal
    So what, will hackers be able to use my computer to crack my password 25 times faster now?
    • by halivar (535827) <[moc.liamg] [ta] [reglefb]> on Monday October 22 2007, @03:25PM (#21076695) Homepage
      If they have access to your video card, they can peek behind the pixels to see what's under the "*******". I think. Or something.
      • Oh noes! Then they will know my password!

        Wait! There must be some uses of this technology for pr0n.
      • by FlyByPC (841016) on Monday October 22 2007, @03:46PM (#21077035) Homepage
        Heh. Little do they know that ********* is my password!
      • by 0100010001010011 (652467) on Monday October 22 2007, @04:50PM (#21077951)
        Cthon98> hey, if you type in your pw, it will show as stars
        Cthon98> ********* see!
        AzureDiamond> hunter2
        AzureDiamond> doesnt look like stars to me
        Cthon98> AzureDiamond> *******
        Cthon98> thats what I see
        AzureDiamond> oh, really?
        Cthon98> Absolutely
        AzureDiamond> you can go hunter2 my hunter2-ing hunter2
        AzureDiamond> haha, does that look funny to you?
        Cthon98> lol, yes. See, when YOU type hunter2, it shows to us as *******
        AzureDiamond> thats neat, I didnt know IRC did that
        Cthon98> yep, no matter how many times you type hunter2, it will show to us as ******
        AzureDiamond> awesome!
        AzureDiamond> wait, how do you know my pw?
        Cthon98> er, I just copy pasted YOUR ******'s and it appears to YOU as hunter2 ause its your pw
        AzureDiamond> oh, ok.
  • Looks like the old password recovery system to me. :)
  • by Tablizer (95088) on Monday October 22 2007, @03:23PM (#21076663) Homepage Journal
    now IT departments will require passwords to be 30 characters long, with at least 2 digits, at least 2 puncuation marks, mixed case, and use Unicode characters from at least 8 different international languages.
    • I used to think the same. "Eight characters is enough for now, but it's only a matter of time..."

      Then I realized that this doesn't mean IT departments will require longer passwords. Rather, this is the death of the password, in place of other authentication methods (smartcard, biometrics, others, and combinations of everything).

      It won't be immediate, or close to it... but a 25x increase in the speed of bruteforcing passwords will certaintly speed up the process by which passwords are obseleted.
      • I wonder why a restriction couldn't be put on how many times passwords are tried? Why is somebody able to get the password file to loop on in the first place? Rather than a file, perhaps the password manager needs to be a device and only a device (chip?), not a file, which limits the number of tries per second. Either don't use or don't allow access to passords in declarative (data) form. Make all access have to go thru an interface. And, if the interface is used too many times per minute, it can throttle i
        • Re: (Score:3, Informative)

          That's not the problem. The problem is primarily people who gain physical access to the hashes, and load them onto much beefier machines to do the processing for them. 100% CPU for days on end will eventually warrant a call to the help desk stating that their computer is "too slow."

          While I agree that for this to be a problem, a previous security hole has to exist somewhere, it's more the "what if that happens" that is the problem. If a hash, and just a hash is stolen, it's not exactly going to set off alarm
      • by Anonymous Coward on Monday October 22 2007, @04:10PM (#21077409)
        Add 1 letter and you've increased the time it takes to hack by 26x (although it's probably closer to 100x with punctuation and the like). So 25x is irrelevant. So is 250x. Only something that makes it non-exponential would really make a difference.
      • Re: (Score:3, Informative)

        It won't be immediate, or close to it... but a 25x increase in the speed of bruteforcing passwords will certaintly speed up the process by which passwords are obseleted.

        It means the search space needs to be 25 times as big. That means the password needs one more letter.
      • Re: (Score:3, Informative)

        Or you could start using a more secure hashing function!

        The time it takes to calculate the hash is insignificant for a real user, but an increase of even a tenth of a second to an attacker could mean the difference between a day and a week to crack a hash.

        bluefish hashes take a long time (relative to md5 and sha1) to computer because the initialization takes a long time, there is no way to accelerate this initialization it must be preformed synchronously.

        OpenBSD FTW!
      • Re: (Score:3, Interesting)

        Happily, it seems some companies are finally getting the message that longer passwords does not necessarily mean a more secure system. I know of at least one well-known security software company that has recently revised its stringent password policy from "super long, with numbers and punctuation, changed every 30 days" down to "less long, and you don't have to change it nearly as often".

        I'm guessing they had a security audit quietly done, wherein it was discovered that paying a janitor $20 to look for

        • Re: (Score:3, Informative)

          Anyway, since a network login can be done with a smartcard, why not an authentication mechanism using a USB stick drive containing the private RSA key?

          Because putting your pretty USB stick in a compromised system would void the security of your key. Anyone can just copy it an use it for himself. You can't do that with a smart card, since the key never leaves the card.

    • by justin12345 (846440) on Monday October 22 2007, @03:40PM (#21076927) Homepage
      I guess they are going to have to start making long, rectangular post-it notes now.
  • by wildsurf (535389) on Monday October 22 2007, @03:25PM (#21076701) Homepage
    If brute force isn't working... you aren't using enough of it.
  • From TFA: (Score:5, Funny)

    by Anti_Climax (447121) on Monday October 22 2007, @03:26PM (#21076705)

    For example, the logon password for Windows Vista might be an eight-character string composed of uppercase and lowercase alphabetic characters. There would about 55 trillion (52 to the eighth power) possible passwords. Windows Vista uses NTLM hashing by default, so using a modern dual-core PC you could test up to 10,000,000 passwords per second, and perform a complete analysis in about two months. With ElcomSoft's new technology, the process would take only three to five days, depending upon the CPU and GPU.
    I can't tell if the proper response to this is to recommend longer passwords or advise against using Windows Vista

    Oh wait, both.
    • Re:From TFA: (Score:5, Interesting)

      by Otto (17870) on Monday October 22 2007, @03:31PM (#21076767) Homepage Journal
      Or to just stop using passwords. Why can't I login with a USB key that has some piece of information which is signed using my private key on it?
      • Re:From TFA: (Score:4, Informative)

        by DeadBeef (15) on Monday October 22 2007, @03:57PM (#21077221) Homepage
        If you are connecting to Linux or a BSD or anything else that runs openssh, then you can have something along these lines now. Setup an openssh DSA key, copy the public key to whatever machines you need to log into and then you can disable password logins in /etc/ssh/sshd_config altogether. If you are running Linux then for extra credit configure pam_ssh to get single sign on with an ssh key agent. If you are running windows as your client then you will have to make do with putty and pagent.

        Passwords are so last century.

      • Re: (Score:3, Interesting)

        Because USB is insecure.
        (assuming XP) When you plug in your USB key to login to your banking website it reads the signed key/password/whatever and signs you in. Great. Meanwhile... your screen-saver and the 'search bar' you installed also read your key and upload it to Mr. Nasty.

        What you would need is a USB key with a processor to do the signing/challenge response internally.
        • Re:From TFA: (Score:5, Interesting)

          by blhack (921171) * on Monday October 22 2007, @04:01PM (#21077273)
          True, but it you create an easy way for a user to disable their own account this isn't as much of a problem. Create a 1.800 where you put in a (much easier) password that will allow you to disable access to your account. This way, if your key gets stolen, you just go into I.T. in the morning and have them issue you a new one.

          Not to mention the fact that when talking about password, your biggest enemy is some phiser sitting in russia....who is NOT very likely to fly to the states to steal your key. If your data actually is important enough to justify a hiring somebody to steal it, then chances are you are using biometrics/bullets to lock people out anyhow. If you're not, then tell you CIO to stop spending money on frosted glass NOCs that are suspended from the ceiling above your data center that is kept at a constant 42 degress and tell him to start spending it on real engineers.
            • Re: (Score:3, Interesting)

              No:

              lUser: 1.800.pas.swrd
              Phone Operator: Hello, this is Ryan in the I.T. department, how may I help you?
              lUser: Omg! i left my purse on the table in the restaurant, my key was in there....will you disable my account?
              Phone Operator: Sure may i have the password?
              lUser: The password is bananas
              Phone Operator: No, thats not the password, you only get two more tries before I call the number we have on file for this user and ask her what the problem is.
              lUser: AHHH AHHA AHHHHHH is the password, uhhh....... *click*
  • Pricing for these apps is pretty steep [elcomsoft.com] at $1,299 per machine license. Well, maybe not so steep if you consider how valuable it could be for you. It doesn't say if that has the GPU utilization with it yet or not.

    Also, I wonder if they've investigated using SLI & CrossFire with these. That seems like something obvious to me but not included in the article. I'm unaware of their implementation but it sounds like it could be parallelized--and accross 2 or even 4 cards, that could get hilariously powerful.
  • Nice euphemism (Score:4, Insightful)

    by otmar (32000) on Monday October 22 2007, @03:26PM (#21076721) Homepage
    "Password Recovery" sounds so much more benign than "Cracking Passwords".

    Hello, Mr. Orwell. *wave*
  • Finally, (Score:5, Funny)

    by Tablizer (95088) on Monday October 22 2007, @03:29PM (#21076741) Homepage Journal
    I can now release the 12,000 monkeys I kidnapped for the task.
  • I thought this was the task for the PS3. Maybe you can use it's GPU in addition to its Cell.
  • I wonder what's patentable about using a cpu thats a better fit to get the job done quicker?
  • by Nathanbp (599369) on Monday October 22 2007, @03:35PM (#21076837)
    What seems to have been missed in the discussion so far is that this company is applying for a patent on their technique, which they claim is "revolutionary." I really hope that this doesn't get granted, as it would open a whole new realm of stupid patents for "X on a graphics card," which is about as stupid a patent as "X on the internet."
  • by jshriverWVU (810740) on Monday October 22 2007, @03:35PM (#21076845)
    This project has been around for a long time: http://www.gpgpu.org/ [gpgpu.org] Though I agree modern GPU's are even more useful for general purpose computing.
  • by frovingslosh (582462) on Monday October 22 2007, @03:36PM (#21076855)
    I've read the article (such as it is), and it keeps claiming that this is a technique to recover "lost passwords". But I don't really believe that is the purpose of this software, and I have to ask "What is the difference between a 'lost password" and a password that belongs to someone else and not you?". Does anyone else really believe that the actual use of this software will be to assist the majority of users recover their own passwords? I do not. I suspect it might be harder to patent a tool for identity theft than for recovering "lost passwords" though.
  • What about FPGAs? (Score:3, Insightful)

    by FlyByPC (841016) on Monday October 22 2007, @03:38PM (#21076891) Homepage
    FPGAs (Field-Programmable Gate Arrays) sound like they would be just the ticket for SIMD (single-instruction-multiple-data) calculations such as this. Configure up a bunch of FPGA chips to do the encryption calculations on a zillion combinations in parallel...
  • by Zymergy (803632) * on Monday October 22 2007, @03:43PM (#21076961)
    Petter Nordahl-Hagen's Offline NT Password & Registry Editor: http://home.eunet.no/~pnordahl/ntpasswd/ [eunet.no]
    NOTE: Tested on: NT 3.51, NT 4 (all versions and SPs), Windows 2000 (all versions & SPs), Windows XP (all versions, also SP2), Windows Server 2003 (all SPs), Vindows Vista 32 and 64 bit.
  • by ClayJar (126217) on Monday October 22 2007, @03:45PM (#21077005) Homepage
    I'm just wondering, should I take the summary as intentionally ironic (i.e. as if it had referred to an operating system "by a company called Microsoft"), or should I assume it was written by someone *fascinatingly* oblivious to the recent history of decryption software and the disputed legalities thereof? An informed, non-ironic summary would simply say, "...by ElcomSoft...", of course.

    For any of you who may have been living under a rock (possibly on another planet), ElcomSoft is the company that was employing Dmitry Sklyarov, who was arrested in the US on DMCA charges when he'd come to present at a conference. Wikipedia has more [wikipedia.org].
  • by dfn_deux (535506) <datsun510.gmail@com> on Monday October 22 2007, @03:49PM (#21077085) Homepage
    Anyone car to point me to one of these mythical video cards with 128 processors and 1.5 gig of fast on board memory? Also, at the price point they are asking for this software (1200USD per seat) it seems like this is hardly cost competitive with doing this same sort of thing using commercially available FPGA dev/prototype boards and open source software designed for this EXACT task.
  • by Deadplant (212273) <[deadplant_ca] [at] [hotmail.com]> on Monday October 22 2007, @03:53PM (#21077153)

    And with as much as 1.5 Gb of onboard video memory
    Not knowing the difference between a bit and a byte == Fail.

    ElcomSoft has discovered and filed for a US patent on a breakthrough technology ... harnessed the combined power of a PC's Central Processing Unit and its video card's Graphics Processing Unit. The resulting hardware/software powerhouse will...
    Referring to the (obvious) use of a new library/sdk from NVIDIA to improve performance of an existing application as the "discovery of a breakthrough technology" ==
    Fail.

    ...allow cryptology professionals to build affordable PCs that will work like supercomputers when recovering lost passwords.
    Cut and pasted from "How to write with spin for dummies"
    Fail.

    ...will be incorporating this patent-pending technology into their entire family of enterprise password recovery applications.
    Corporate press release copy and paste == Fail.

    Numerous grammatical errors == Fail.
  • by ZorbaTHut (126196) on Monday October 22 2007, @04:24PM (#21077643) Homepage
    unless you're using a crappy password scheme like Vista's, for example.

    This is a process that lets you brute-force passwords 25 times faster. That's pretty neat, I'm not arguing that. It's extremely clever. But this speed [i]shouldn't matter[/i], because cracking passwords a mere 25 times faster shouldn't matter either. The problem comes down to how people are designing a lot of password schemes. They're aiming for speed. The article says the new technique can try ten million passwords per second on a single computer. Division tells us that, beforehand, the computer could process 400,000 passwords per second.

    When was the last time you had four hundred thousand users logging into a single computer per second?

    Checking a password should be slow. Brutally slow. I mean, quite literally, that just checking to see if the user's password hashes correctly should take at least a hundredth of a second. You're not going to have a hundred users logging in per second on a single computer anyway, our modern database-driven sites couldn't handle the load of displaying the login pages, so why are we making our password schemes so flimsy?

    If you use a slow password hash generation - and this can be something as simple as iterating MD5 over itself ten thousand times - whoever's trying to brute-force your password scheme is going to have a horrible, horrible time of it. Add a basic salt to the mix and you will not have anything to worry about from this. If your password checker takes a hundredth of a second, then 25 times faster means your adversary is going to spend $1300 on software in order to try 2500 passwords per second. If you have an appropriate salting system that's 2500 passwords for a single user. This is not the death knell for passwords, or anywhere near it. If anything, it's the death knell for crappy password hashes - but it's not even that, since you could trivially foresee things like this years in advance.

    Brute-force password cracking, by its very nature, is millions of times more expensive than merely verifying a valid user. From there, it's up to you to determine how safe you want your passwords to be. Personally? I'm fine with wasting a few extra hundredths of a second per user.
    • Re: (Score:3, Insightful)

      All password checks on my machines take 10 seconds minimum. A strategic 'sleep(10)' does the trick. There is no need to calculate MD5 hashes repeatedly to waste an attacker's time. A nice sleep() allows the server to go do something more useful.
    • Re: (Score:3, Informative)

      This is the company with which Dmitry Sklyarov was employed at the time of his arrest by the FBI, back in 2001. Before his arrest, at a conference, Dmitry made a presentation on cracking Adobe's eBook DRM. The method used for this crack was utilized in Elcomsoft's Advanced eBook Processor software.

      This was really big news back in 2001-2002, although I guess thats a bit too long ago for most slashdot readers, since I (surprisingly) haven't seen any other comments mentioning this.
    • Re: (Score:3, Interesting)

      GPUs were foremost designed to execute large numbers of linearly-ordered simple matrix/vector operations per clock cycle. When it comes to generating 3D, there isn't much in the way of branching, recursion or conditional execution involved. I haven't checked recently, but it used to be that a "pixel pipeline" referred to a unit that could do a 4x4 * 4x1 operation in a single clock (16 multiplies and 12 adds).

      Coincidentally this also helps a large number of scientific applications, such as molecular dynamics
      • Re: (Score:3, Interesting)

        GPUs were foremost designed to execute large numbers of linearly-ordered simple matrix/vector operations per clock cycle.

        Minor correction - I know what you mean when you say "linearly-ordered" but a more accurate way to describe it would be: large sets of independent operations per clock-cycle. The sequential encoding that happens between clock cycles is true of most processors, and not specific to GPUs. The key is high performance is the lack of communication between separate instances of the pixel shader

    • by julesh (229690) on Monday October 22 2007, @04:58PM (#21078033)
      Why is the GPU a processor dedicated to nothing but "pretty graphics" so much more powerful than the central multi-purpose processor even at the things like number-crunching?

      You need to rephrase your question, because it makes an incorrect assumption. Here:

      Why is the GPU a processor dedicated to nothing but "pretty graphics" so much more powerful than the central multi-purpose processor especially at the things like number-crunching?

      The answer is obvious if you think about it: those "pretty graphics" are a huge number crunching problem. That's all there is to it. GPU's, however, aren't very good at tasks that don't do exactly the same thing huge numbers of times. This is true of most applications. Including the applications that run on the PC to control what the GPU does in stuff like what the story's talking about.

      Is it because the GPU engineers can completely redo the thing from scratch whenever they want to, whereas the CPU-designers are held back by the backwards-compatibility issues?

      Partially. Modern GPUs have (I think -- I don't keep up to date) 256 bit wide memory interfaces, running at close to gigahertz speed. This means they can transfer to and from their memory at about 4 times the rate a PC can. This is possible because (1) graphics card manufacturers don't mind the types of memory they use changing on a virtually model-by-model basis and (2) they also don't mind being stuck with non-expandable memory that's soldered directly onto the card right next to the GPU.

      It's also because GPU engineers can sacrifice a lot of the flexibility of a PC. So what if the pipeline stalls if all 32 threads aren't doing exactly the same thing at the same time? Most of the time, they will be.

      Computer Science teaches, programmers aren't supposed to have to do "tricks" like this -- you code, and the translator (compiler or intepreter) will translate from your programming language to the hardware instructions.

      So why did my CS course have a module where we learned how the hardware worked? About memory hierarchies? About SISD, SIMD and MIMD processors? Why does Knuth's The Art of Computer Programming, possibly the most important book ever written on CS, approach problems at an assembly language level? Why, in my CS course, did I learn two different kinds of assembly language (one CISC, one RISC)?

      Because CS is concerned with a holistic view of computers. With the fact that they are machines for executing instructions, and what can be done with those instructions. With the fact that it may be more efficient not to specify that much detail, but also the fact that, from time to time, you do need to do that.