Making CAPTCHAs Even Harder With 3-D Models
Michael G. Kaplan writes "CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) are commonly used to prevent computers from filling out web forms. Computer vision experts have been able to design programs to foil CAPTCHA with a high degree of success. I have designed a CAPTCHA that is based on the identification of attributes contained in an image generated by the grouping of easily recognized 3-D objects. I call this the Virtual Photographic CAPTCHA and it is likely to remain invulnerable to automated attack for many years to come. A novel anti-spam system necessitated its development."
Wow, you're just asking some bored hacker out there to prove you wrong.
PHP developers might find this article useful:
http://phpsec.org/articles/2005/text-captcha.html
Awhile back on Slashdot (I'm too lazy to find the link) there was an article on Captcha's being attacked by Spammers who would set up a porno site requiring user registration using, the Captcha in mind to crack, then forwarding the results to the anti-captcha bot.
Vision-recognition systems be dammed, all a spammer needs to do is use the inherent need of apparently most of the male race to look at pictures of naked women to get what he needs. I don't know if a counter was ever found to this method either...
...in bed
Check the last sentence on his page.
"Patents pending."
Tyvm, but no.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
Show them the acronym, CAPTCHA. If they don't cringe, they are obviously non-human.
http://www.brains-n-brawn.com/default.aspx?vDir=ai captcha
The developer of an automated breaking bot explains how he did it.
Sigs? Sigs? We don't need no steenkin' sigs.
The logical conclusion is that I'm not actually human. My girlfriend will be very upset when I tell her.
Decoding the 5-letter example in the article took waaay too long when compared to current techniques (i.e. 30 seconds as opposed to 3), regardless of how good it is at eliminating nonhuman respondants.
It seems a very good idea, but all that flicking back-and-forth of the eyes is to compute-intensive for my grey matter.
"Any similarity between the hooting of a million eager monkeys and Slashdot is purely coincidental." -THEFLASHMAN
I was doing a whois with one of the forms the other day and was unable to pass the test. there were thick lines over the text and it was sloppy cursivish text I was supposed to identify.
Wow, sent an e-mail as suggested when clicking on "use classic" banner, and got a fast response that addressed my msg
The novel anit-spam system mentioned in the article seems on the surface to be a great idea. However, I do see one small problem with the seperate username;subaddress@domain.com per correspondent idea. Image an environment where there are 1,000 employees and each employee recieves mail from 100 different users. Doesn't that place 100,000 seperate mailboxes, forwarded to 1000 "internal" mailboxes? That will have an overhead to be sure. Also, if the spammer is able to obtain a traffic sample coming to/from this ficticious corporate mail server, could the spammer then obtain the subaddresses directly? If the spammer then sent a spam email to every subaddress for a user, the user would then end up with 100 copies of the spam letter in their inbox.
Just some hypotheticals.
Be Safe! Sleep with a Marine. Semper Fi!
This system sucks, and nobody will ever use it. Sorry that nobody has been honest with you until now, but it is time to face facts. It is far too complex.
Do you know how many times things like this have required me to use some browser other than Lynx or Links? You're blatantly discriminating against us terminal users. Then we have to find someone running a GUI envoronment. Oh! The insensitivity!
Solomon Chang
"Twice half-assed makes an ass whole." --Solomon K. Chang
Deckard: You're reading a magazine... You come across a full page nude photo of a girl...
Rachael: Is this testing whether I'm a replicant or a lesbian Mr Deckard?
Deckard: Just answer the questions please.
This will fail miserably. It requires too much human involvement, the munging of previously easy to remember email addresses (however easy ilovemypoodlexo42@hotmail.com wass to remember anyway), but perhaps most importantly, it generates a bounce. Anytime a typical clueless user sees a bounce message, they don't bother to read it. They see "ERROR" and that's as far as they get before calling their buddy and bitching about the bum email address. Maybe if you're lucky, they'll doublecheck to see if they spelled it right, but that's about it. For any CAPTCHA to work, it has to be a one-time event (like registering a yahoo email address) that does not result in apparent error messages being thrown back at people. For any anti-spam system to work, it must be transparent to the end-user (like these new sender-id verification systems).
I suspect that one of these choices is incorrect. Correct.
I had a conversation with a senior executive at a former employer.
He told me that, just as companies were outsourcing tech support to India/China/etc, companies which handled mass-emailing were also outsourcing work to have people sit there and recognize CAPTCHAs as well as respond to those stupid validation things some people try with their email (ie, you have to respond back to some silly email from their server saying "yes, I do ACTUALLY want to email you"). The mass-emailing companies would forward all the responses they got to a mailing to the company, and rooms of people would go through them all.
Very little training was required for the CAPTCHAs, and only rudimentary English for the email-response things.
Please help metamoderate.
The federal government is considering outlawing this abusive practise. I met with a senator from SC and another from GA in the past month wrt this issue. They, like most people I know, hate it, and hate the artificial barrier it creates for Internet usage.
I work at a school for the deaf and blind, and captcha's make it impossible for the blind or many of the vision impaired to do many things on the Internet without having help from someone with good vision. Even I, with my cheap LCD monitor and 73 year-old eyes, have trouble reading the Yahoo ones.
In the images from the harder version of Gimpy, http://www.cs.berkeley.edu/~mori/gimpy/hard/, the grey colour of the text is distinctly darker wherever two letters intersect (eg. where the "o" and "s" intersect in "long" and "sharp" in the upper right corner of the first image).
Now, I'm not suggesting that it is easy for a computer the read these words; but, wouldn't this darker text colour make it easier for a learning algorithm to "dissect" two letters that intersect slightly?
I can't imagine that recognizing the letters without the darker intersections would be much harder for people, but I can see the darker intersections being an advantage for computers. Why not remove them?
Use handwritten challenges and let the spammers solve the handwriting recognition problem for us.
They will design a Captcha that only females can solve. You can ask your mom to solve it, machines can't.
That's what I thought this was going to be about. Imagine my disappointment at more of the same. What about a Q/A based upon an image?
I.e.
The boy has how many apples in his left hand?
Animals, Left to right (cat, dog, bird)
With enough style these could be much more difficult than those damn words, which even I with my above average visual acuity, have difficulty decyphering (imagine the problems this presents for the visually impaired!)
A feeling of having made the same mistake before: Deja Foobar
Finally 'real' hackers can now join their Hollywood counterparts by eschewing complex algorithms, buffer overruns and good old-fashioned skullduggery. Now secure systems will be protected by spinning multicoloured 3D geometric shapes. Hack the gibson anyone?
Your post advocates a
(X) technical ( ) legislative ( ) market-based ( ) vigilante
approach to fighting spam. Your idea will not work. Here is why it won't work. (One or more of the following may apply to your particular idea, and it may have other flaws which used to vary from state to state before a bad federal law was passed.)
( ) Spammers can easily use it to harvest email addresses
(X) Mailing lists and other legitimate email uses would be affected
( ) No one will be able to find the guy or collect the money
( ) It is defenseless against brute force attacks
( ) It will stop spam for two weeks and then we'll be stuck with it
(X) Users of email will not put up with it
( ) Microsoft will not put up with it
( ) The police will not put up with it
( ) Requires too much cooperation from spammers
( ) Requires immediate total cooperation from everybody at once
(X) Many email users cannot afford to lose business or alienate potential employers
( ) Spammers don't care about invalid addresses in their lists
( ) Anyone could anonymously destroy anyone else's career or business
Specifically, your plan fails to account for
( ) Laws expressly prohibiting it
( ) Lack of centrally controlling authority for email
( ) Open relays in foreign countries
( ) Ease of searching tiny alphanumeric address space of all email addresses
( ) Asshats
( ) Jurisdictional problems
( ) Unpopularity of weird new taxes
( ) Public reluctance to accept weird new forms of money
( ) Huge existing software investment in SMTP
( ) Susceptibility of protocols other than SMTP to attack
( ) Willingness of users to install OS patches received by email
( ) Armies of worm riddled broadband-connected Windows boxes
( ) Eternal arms race involved in all filtering approaches
( ) Extreme profitability of spam
( ) Joe jobs and/or identity theft
( ) Technically illiterate politicians
( ) Extreme stupidity on the part of people who do business with spammers
( ) Dishonesty on the part of spammers themselves
( ) Bandwidth costs that are unaffected by client filtering
( ) Outlook
and the following philosophical objections may also apply:
(X) Ideas similar to yours are easy to come up with, yet none have ever
been shown practical
( ) Any scheme based on opt-out is unacceptable
( ) SMTP headers should not be the subject of legislation
( ) Blacklists suck
(X) Whitelists suck
( ) We should be able to talk about Viagra without being censored
( ) Countermeasures should not involve wire fraud or credit card fraud
( ) Countermeasures should not involve sabotage of public networks
( ) Countermeasures must work if phased in gradually
( ) Sending email should be free
( ) Why should we have to trust you and your servers?
( ) Incompatiblity with open source or open source licenses
( ) Feel-good measures do nothing to solve the problem
(X) Temporary/one-time email addresses are cumbersome
( ) I don't want the government reading my email
( ) Killing them that way is not slow and painful enough
Furthermore, this is what I think about you:
(X) Sorry dude, but I don't think it would work.
( ) This is a stupid idea, and you're a stupid person for suggesting it.
( ) Nice try, assh0le! I'm going to find out where you live and burn your
house down!
(From http://www.craphound.com/spamsolutions.txt)
And how are visually impaired people supposed to do this? Use the alt text?
...for not understanding core principles of Ethernet.
Although it's tangential to the topic, you can't "ban by MAC addresses". Not unless you're on the same ethernet segment as the attacker. Try it the next time you've got access to a few machines separated by at least one router. Ping from two different machines to a third on another network and run tcpdump to inspect the MAC addresses on the packets. Let me know how it turns out. (hint: they'll have the MAC address of the router)
Instead of making the actual recognition of something the object of the exercise, how about elevating it to a more abstractive method. My daughter was watching Sesame Street the other day and it came up with the "One of these things is not like the other", she got it right instantly, shouting at the TV, and I got thinking about how it could be implemented to weed out the humans from the computers. You could have a collection of easily recognisable monochrome shapes, maybe a couple of hundred, group them by image attributes, say a group of pictures of birds, some flying, some not, large birds, small birds. And then present the user with 4 pictures of birds, three flying, one not or whatever and get them to click on the odd-one-out. then you could re-use the same birds with different attributes on the pictures, like three large eagles and a small sparrow. This would require the automated CAPTCHA cracker to not only recognise the shape but also figure out which picture is the odd one out.
Task Mangler
This proposal totally sucks. The goal of a CAPTCHA is not only to be extremely difficult for a computer, you also need to make it simple enough for the user. Most current implementations are considered extremely inaccessible, and if you have accessibility in mind, these 3D images are a huge step backwards. The utter vanity of it all is emphasised by its vulnerability to the porn site attack (offering porn to monkeys to crack CAPTCHAs). Be assured that I and other people will devote as much time as possible to eradicate moronic CAPTCHAs from the Internet.
God, root, what is difference ?
Many companies that do business in the United States of America are subject to regulations that forbid them from discriminating against people with disabilities; companies that have significant contracts with the United States Government are subject to the stricter guidelines of Section 508 of the Rehabilitation Act. Anything that discriminates so flagrantly against people with vision or cognitive disabilities may get companies in trouble with the law.
Why would I want to view images in an e-mail message?
Spam is a problem, but for me at least, this ain't the solution! I'm not about to jump through these hoops. If you want to exchange e-mails with me, fine. This system tells me you don't.
A lot of people won't understand it, and a lot of people who do are going to ignore it and move on to the next message in the inbox.
- It uses a whitelist as a means of solving spam. The system claims to allow strangers to effectively email each other, but only after first forcing the user to jump through several hoops. Correspondence will be slowed, and many people may give up in irritation before they bother to send the mail a second time. Imagine a prospective employer who decides that it's not worth tracking down Joe Blow because the email didn't get through, or a university attempting to contact a student by email. This particular method of foiling spam eliminates one of the key benefits of email: easy correspondence with a fast response time.
- Users have to maintain a database of trusted senders, as well as another database of recipients who trust them. This means extra data and the possibility of users accidentally falling off of each other's whitelists whenever somebody loses their address book.
- It will generate too many bounced messages, thus increasing network overhead to a point where it really may not be much better than spam. It also requires transmission of graphics, which again increase system overhead, as well as extra computational time to generate said images and to register and process the responses.
- The system claims it will benefit from server-side cooperation, instead of keeping the method purely client-side. This means that users have to rely on the benevolence of their ISP to keep the system updated and maintained.
- The graphical images contain a fixed number of very easily discerned letters that can be combined to form "easily-remembered" words. Once the letters are extracted, they can be recombined into known sequences, first of common English words, then popular web slang, then even transcribed into 1337 for the heck of it. Shouldn't take long to hack that.
- Sub-addresses? So you want to explain this one to my parents? "I know you picked out one, simple email address that you really like and will never have to change, but now I want you to pick out a new one. It might be a good idea to change it once every few months or so, too." The whole purpose of an address is to allow someone to have a unique identity that can be easily found.
Honestly, this particular system sounds like it relies more on sheer grunt work and the wasted time of its users to make it work, rather than any innovative computer programming."Give a man fire, and he'll be warm for a day; set a man on fire, and he'll be warm for the rest of his life
Huh, it's discussions like this that make me wonder if the internet's going to break down into a chaotic, useless cacaphony of spam/bot noise empowered by cheap global labor, the porn surfers who jump through whatever hoops and porn providers who cater to those wanting porn and anyone who wants to throw money at these groups of people.
How depressing.
Today is all we really have. We should all live it well: it is our stepping stone to all of our tomorrows.
I'm not sure why this is marked "Funny"...
Using a system like this for EVERY login for ANY site could generate a lot of valid spam accounts, just always say the person got it right, and probably 90% of the responses would be correct for use as spam accounts. Scary.
People sure go to a lot of work just avoid creating a robots.txt file!
Only works if the originator has a globally unique MAC address. Think dial-up modems, point to point links, private systems using administrator defined addresses (UML hosts for example)...
I appear to have a blog. Odd.
I find the classification of these measures as "abusive" to be flawed at best, and misleading at worst. CAPTCHAS are a desperate response to an immoral group of people who will stop at nothing to make money with absolutely no regard for the problems, cost, and distress they cause their targets, who hide behind the first amendment when possible, or using illegal techniques when not. I hate having to deal with them myself, but I understand the necessity of their existence, however unpleasant, and will continue to deal with them as long as is necessary, as such.
Below are several problems mentioned with CAPTCHAs, as well as some possible solutions:
1] Accessibility
Problem: Blind/visually impaired users cannot reliably read the altered text.
Solution: Audio file accompanies every graphic, to be read on command. (However, still crackable with speech recognition.)
2] Referring test to 3rd parties
Problem: Spammers have other membership-based site users (i.e. porn sites) do the test.
Solution 1: Image is generated randomly, based on a user session, requiring an actual visit to your site; copying will be less effective unless the images are compared later... which may be quite some time if there are a large number of images and/or if the images are generated live on the server, rather than being stored files.
Solution 2: Include text imbedded in the image (and audio file) specifically referencing the site it is to be utilized with exclusively, requesting that the user report violations of duplication/unauthorized usage, and possibly offering a small reward for information leading to the arrest/conviction/judgment against the violator.
3] AI text processing
Problem: AI can be complex enough to identity letters, no matter how obfuscated, until such characters must be so distorted that even a human cannot decipher them.
Solution: Ask a logic question, present a photograph, or require another means of challenge/response than simple text recognition.
Example 1: Present a photograph of an apple or otherwise easily-spelled object, and ask the user to type the name into a field, or allow the user to select from a group of mildly distorted text, to avoid spelling issues. (However, this issue raises the accessibility issue again.)
Example 2: Present a short list of slightly distorted words (with audio files available for each word), and ask a short logic/history/other question. (One | Two | Three | Four | Orange - Of these words, one does not match. Please type the number of letters in this word, in numeric format. (Example: Apple = 5) This test is to be used exclusively by abc123.org. Please let us know if you see this elsewhere, as this means it was stolen.)
Until it is financially infeasible for a spammer to continue to do business, we will all be forced to deal with the messes they make. This is a challenge/response system, not an attempt to abuse the users of the internet. If there was a better way to solve this problem than hitting "delete" (which must happen hundreds if not thousands of times per day, for some of use), or using filters (which ALL give false positives, eventually), you can be sure that millions of semi-knowledgeable or better computer users would have chosen this path. To claim that such measures, which attempt to HELP people are abuse... perhaps you would like to re-evaluate your claim.
Computer vision experts have been able to design programs to foil CAPTCHA with a high degree of success. I have designed a CAPTCHA that is based on the identification of attributes contained in an image generated by the grouping of easily recognized 3-D objects. I call this the Virtual Photographic CAPTCHA and it is likely to remain invulnerable to automated attack for many years to come
spare us the modesty!
This UID is 7651 digits too high to subjectively infer IQ from.
Let's look at his "LUCKY" example to see why. So he has a picture of the standing man, the flower, and the sitting man, and all over the picture, he has a series of glyphs. As these glyphs are not distorted, they are easily extracted -- the whole point of this system is that distortion based CAPTCHAs are relatively easy to defeat, so he doesn't bother. In his example, he has 26 glyphs, corresponding to A-Z, but in practice, it isn't important what the set is -- only that it is small and finite.
Once this set is extracted, we know that the "password" is some permutation of this set. Because the set of possible characters in an e-mail address is much smaller than the set of possible characters in an actual password (in particular, e-mail addresses are case insensitive), brute-force cracking of this password is much simpler than brute force cracking of a UNIX password, for example. But luckily for us, it's even easier than that.
In the e-mail, he includes this "decoder" list.
Of course, it should be clear at this point that this list would be relatively easy to extract from the e-mail, and further, that it tells you the exact length of the password, reducing the number of permutations to check to (in this case) 11,881,376.
Furthermore, a little bit of extra logic could reduce this number still further by noticing repetitive patterns in the list. So if "The Leaf of the Flower" appears twice, we know that the letters in those two slots are the same. And if the glyph set is unique (ie, no glyph appears twice), then we can reduce the number of permutations to at most 7,893,600.
Now, that's still a fairly large number of permutations to check, and at one point, it probably would have been enough. However, computational power is free now, at least for spammers. And it doesn't take much. Here's a sample perl (!) program I ran on my Debian GNU/Linux laptop (1.2GHz Pentium M).
This just prints out all the permutations; of course they still would need to be checked.
Not very long on a modern computer, eh? And written in perl, too, not exactly the fastest programming language in the world. Now consider that spammers have access to just about infinite CPU and bandwidth, thanks to their army of zombie bots, and that both CPU power and bandwidth are likely to increase at a rather rapid rate in the next decade. Furthermore, this is a worst case scenario -- success in a brute force attack tends to occur somewhere in the middle, not towards the end, reducing the necessity to actually go through all the permutations.
You don't think they'd try to crack it?
Plus, by his own admission, e-mail addresses can be shared. What does this mean in this context? I don't even need to get the e-mail address encoded in the CAPTCHA! If I can get any working e-mail address, even one, I get through! So the more active he is, e-mail wise, the more likely I can randomly strike a hit in the first hundred or so tries.
On top of
Close, but it won't be a cacophony -- it'll be more like a coprophagy.
You see? You see? Your stupid minds! Stupid! Stupid!
Many cards have a user configurable MAC address.
Just throw in a complete IQ test - then not only we will tell a human from a machine, but also a human that should use e-mail from one that probably should not.
how badly all of you fell for a freaking obvious troll.
Snowden and Manning are heroes.
Your suggestion involves breaking up the protocol layers. Both Ethernet and TCP/IP owe their success to Keeping It Simple Stupid. If you start overlapping them, introducing MAC addresses into IP headers, you are merging them into a kind of TCP/IP/Ethernet super-protocol. It's no longer Simple, and you can no longer patch, upgrade, change them independently of each other. Different implementations of Ethernet on disconnected networks will now start interfering with each other in unexpected ways, depending exactly on what you plan to do the MAC address when you see it. Privacy advocates will have a fit.
And besides that it's easily defeated, just override your TCP/IP settings to lie about your MAC address. In principle it could even be done for your whole LAN at the firewall, a sort of MAC-NAT.
Nothing solved, whole raft of problems intoduced.
-- Nick "Hallo this is Beel Gates, und I pronounce weendows as