RE: Account Lockouts
"David Robert" <[email protected]> Thu, 9 Dec 2004 01:26:31 -0500
| Newsgroups | gmane.comp.security.programming,gmane.comp.security.web-applications |
|---|---|
| Message-ID | <[email protected]> |
I find this very surprising. Maybe I don't understand CAPTCHA's or image processing technology well enough. I've checked around a bit and can't get a clear story on how these are done. The following is my idea of how I would do this. Does this make sense? Why is it so easy to crack? As far as I can see the problem can be broken down as follows: 1) Start with a test image of a series of alphanumeric characters 2) Use a general transformation on them. My first try would be a 2 dimensional polynomial transformation of order 3 or so. This would give us a set of real numbers (the polynomial coefficients) to play with - these are our parameters. 3) map out the parameter space so that humans have an easy time and OCR programs don't. This would be a bit of work but I expect the parameter space to be contiguous. I'm not sure this would be possible otherwise. 4) Now you have a very large set of transformations that can be randomly generated - just generate random numbers within the parameter space you have defined. 5) to generate a CAPTCHA, just generate a random series of alphanumeric characters, create an image from them, and apply a random transformation. I agree this is not perfect. There is a chance that the CAPTCHA will be too hard to read. But that can be tuned to minimize this to an acceptable level. The OCR program may also get it right once in a while. But the likelihood of getting it right along with the right password has got to be low. -DR -----Original Message----- From: Alexander Klimov [mailto:[email protected]] Sent: Tuesday, December 07, 2004 4:29 AM To: The Amazing Dragon Cc: Mark Burnett; [email protected]; [email protected] Subject: Re: Account Lockouts On Sun, 5 Dec 2004, The Amazing Dragon wrote: > >From: Mark Burnett <[email protected]> > > There has been some talk of CAPTCHA's in this thread and I wanted to comment > > on them further. Although CAPTCHA's are very effective at blocking automated > > abuse, in their current form they are not an effective long term strategy. > > The problem is that with our current image enhancement, OCR, and AI > > technology, they can be cracked with quite good accuracy. Their limited use > > and proprietary implementations still makes them useful for now but once > > someone releases a script kiddie tool to automate CAPTCHA cracking, they > > will become mostly ineffective. > > I'm surprised that no one has implemented one yet. Though OCR programs > are at least halfway there. It is very hard to be sure that "no one has implemented one yet" :-) Quite some time ago I had an argument with my friend web-master about total insecurity of this approach and in less than one day I wrote a program to recognise numbers written on an image. The program was in no way AI: I downloaded several images and crop out all different digits, so the program simply load an image and the images of all digits and for every place in image, every digit, and every transformation calculates the difference between the image of the digit and the image (I used simple sum of squares of differences in each pixel for this). The program works less than a second (there are not so many points in image times number of digits times *sufficiently different* transformations). Most of the time I spent was to capture images and classify transformations, so I agree that using CAPTCHA makes your site more vulnerable to script-kiddies, but even implementing it youself does not protect you that much from somebody with moderate patience and programming skills. -- Regards, ASK