Slashdot Log In
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.
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."
Related Stories
Submission: Patent Filed for Revolutionary Password Recovery by Anonymous Coward
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
Loading... please wait.
What's the point? (Score:3, Funny)
Re:What's the point? (Score:5, Funny)
Parent
Re: (Score:2, Funny)
Wait! There must be some uses of this technology for pr0n.
Re:What's the point? (Score:5, Funny)
Parent
Re: (Score:3, Funny)
Re: (Score:3, Funny)
Ob. Bash Quote (Score:5, Funny)
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.
Parent
Re: (Score:3, Funny)
Nothing for you to see here. Please move along. (Score:2)
Just wonderful (Score:5, Funny)
Re:Just wonderful (Score:5, Interesting)
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.
Parent
Re: (Score:2)
Re: (Score:3, Informative)
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
Not really: just add 1 letter (Score:5, Interesting)
Parent
Re: (Score:3, Informative)
It means the search space needs to be 25 times as big. That means the password needs one more letter.
Re: (Score:3, Informative)
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)
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.
Re:Just wonderful (Score:4, Insightful)
Except that you can't change the password when it's compromised.
Parent
Re:Just wonderful (Score:5, Funny)
Parent
Government Motto (Score:5, Funny)
Re:Government Motto (Score:5, Funny)
-Sun System & Network Admin manual
Parent
From TFA: (Score:5, Funny)
Oh wait, both.
Re:From TFA: (Score:5, Interesting)
Parent
Re:From TFA: (Score:4, Informative)
Passwords are so last century.
Parent
Re: (Score:3, Interesting)
(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)
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.
Parent
Re: (Score:3, Interesting)
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, What About SLI/CrossFire? (Score:5, Interesting)
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.
Re:Pricing, What About SLI/CrossFire? (Score:4, Interesting)
Parent
Re: (Score:2, Informative)
Nice euphemism (Score:4, Insightful)
Hello, Mr. Orwell. *wave*
Finally, (Score:5, Funny)
PS3 (Score:2)
Patentable? (Score:2)
How does this qualify for a patent? (Score:4, Insightful)
Not so new but still neat. (Score:5, Informative)
Define "lost password" (Score:3, Interesting)
What about FPGAs? (Score:3, Insightful)
Cool, but a Linux Boot CD would be ALOT cheaper... (Score:5, Informative)
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.
Irony? ("...by a company called ElcomSoft...") (Score:5, Informative)
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].
Pie in the sky hardware (Score:3, Interesting)
Poorly written article (Score:5, Informative)
Fail.
Fail.
Numerous grammatical errors == Fail.
Interesting, but it doesn't matter (Score:3, Interesting)
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)
Re: (Score:2)
Re: (Score:3, Informative)
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)
Coincidentally this also helps a large number of scientific applications, such as molecular dynamics
Re: (Score:3, Interesting)
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
Re:Something is wrong with computer priorities (Score:4, Informative)
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.
Parent