CAPTCHA

A CAPTCHA ( /ˈkæpə/) is a type of challenge-response test used in computing as an attempt to ensure that the response is generated by a person. The process usually involves one computer (a server) asking a user to complete a simple test which the computer is able to generate and grade. Because other computers are assumed to be unable to solve the CAPTCHA, any user entering a correct solution is presumed to be human. Thus, it is sometimes described as a reverse Turing test, because it is administered by a machine and targeted at a human, in contrast to the standard Turing test that is typically administered by a human and targeted at a machine. A common type of CAPTCHA requires the user to type letters or digits from a distorted image that appears on the screen.

The term "CAPTCHA" was coined in 2000 by Luis von Ahn, Manuel Blum, Nicholas J. Hopper, and John Langford (all of Carnegie Mellon University). It is an acronym based on the word "capture" and standing for "Completely Automated Public Turing test to tell Computers and Humans Apart". Carnegie Mellon University attempted to trademark the term,[2] but the trademark application was abandoned on 21 April 2008.[3]

Characteristics: A CAPTCHA is a means of automatically generating challenges which intends to:

A check box in a form that reads "check this box please" is the simplest (and perhaps least effective) form of a CAPTCHA. CAPTCHAs do not have to rely on difficult problems in artificial intelligence, although they can.

Contents

Applications

CAPTCHAs are used in attempts to prevent automated software from performing actions which degrade the quality of service of a given system, whether due to abuse or resource expenditure. CAPTCHAs can be deployed to protect systems vulnerable to e-mail spam, such as the webmail services of Gmail, Hotmail, and Yahoo! Mail.

Most interactive sites today are run by databases and become quickly clogged and sluggish when a database table exceeds capabilities the operating server can handle[4]. A website's Google Page Rank can also be reduced by excessive commercial links created by automated posting[5].

CAPTCHAs are also used to minimize automated posting to blogs, forums and wikis, whether as a result of commercial promotion, or harassment and vandalism. CAPTCHAs also serve an important function in rate limiting. Automated usage of a service might be desirable until such usage is done to excess and to the detriment of human users. In such cases, administrators can use CAPTCHA to enforce automated usage policies based on given thresholds. The article rating systems used by many news web sites are another example of an online facility vulnerable to manipulation by automated software.[6]

Accessibility

Because CAPTCHAs rely on visual perception, users unable to view a CAPTCHA due to a disability will be unable to perform the task protected by a CAPTCHA. Therefore, sites implementing CAPTCHAs may provide an audio version of the CAPTCHA in addition to the visual method. The official CAPTCHA site recommends providing an audio CAPTCHA for accessibility reasons, but it is still not usable for deafblind people or for users of some text-based web browsers. This combination is not universally adopted, with most websites (including Wikipedia) offering only the visual CAPTCHA, with or without providing the option of generating a new image if one is too difficult to read.

Attempts at more accessible CAPTCHAs

Even audio and visual CAPTCHAs will require manual intervention for some users, such as those who have disabilities. There have been various attempts at creating more accessible CAPTCHAs, including the use of JavaScript, mathematical questions ("how much is 1+1") and common knowledge questions ("what color is the sky on a clear day"). However, these approaches may worsen accessibility for people with intellectual and developmental disabilities, for instance dyscalculia. Some CAPTCHAs of this kind do not meet the criteria for a successful CAPTCHA because they are not automatically generated or do not present a new problem or test for each attack.

One interesting approach to text-based CAPTCHAs is to create a central "anti-bot server", used by many websites, which selects for each call one puzzle, randomly, from a very large set of many different automatically-generated puzzles, of many different kinds. Such a solution can be made usable for blind and visually impaired people who otherwise find prevalent image-based CAPTCHAs to be insurmountable obstacles to completing web forms.

Circumvention

There are several approaches available to defeating CAPTCHAs:

Insecure implementation

Like any security system, design flaws in a system implementation can prevent the theoretical security from being realized. Many CAPTCHA implementations, especially those which have not been designed and reviewed by experts in the fields of security, are prone to common attacks.

Some CAPTCHA protection systems can be bypassed without using OCR simply by re-using the session ID of a known CAPTCHA image. A correctly designed CAPTCHA does not allow multiple solution attempts at one CAPTCHA. This prevents the reuse of a correct CAPTCHA solution or making a second guess after an incorrect OCR attempt.[7] Other CAPTCHA implementations use a hash (such as an MD5 hash) of the solution as a key passed to the client to validate the CAPTCHA. Often the CAPTCHA is of small enough size that this hash could be cracked.[8] Further, the hash could assist an OCR based attempt. A more secure scheme would use an HMAC. Finally, some implementations use only a small fixed pool of CAPTCHA images. Eventually, when enough CAPTCHA image solutions have been collected by an attacker over a period of time, the CAPTCHA can be broken by simply looking up solutions in a table, based on a hash of the challenge image.

The simplest and most secure PHP coding method is the simple session destroy after a CAPTCHA is passed or failed as logically, the session or its session ID cannot be reused.

Computer character recognition

A number of research projects have attempted (often successfully) to beat visual CAPTCHAs by creating programs that contain the following functionality:

  1. Pre-processing: Removal of background clutter and noise.
  2. Segmentation: Splitting the image into regions which each contain a single character.
  3. Classification: Identifying the character in each region.

Steps 1 and 3 are easy tasks for computers.[9] The only step where humans still outperform computers is segmentation. If the background clutter consists of shapes similar to letter shapes, and the letters are connected by this clutter, the segmentation becomes nearly impossible with current software. Hence, an effective CAPTCHA should focus on the segmentation.

Several research projects have broken real world CAPTCHAs, including one of Yahoo's early CAPTCHAs called "EZ-Gimpy",[1] the CAPTCHAs used by popular sites such as PayPal,[10] LiveJournal, phpBB, the e-banking CAPTCHAs used by a lot of financial institutions,[11] and CAPTCHAs used by other services.[12][13][14] In January 2008 Network Security Research released their program for automated Yahoo! CAPTCHA recognition.[15] Windows Live Hotmail and Gmail, the other two major free email providers, were cracked shortly after.[16][17]

In February 2008 it was reported that spammers had achieved a success rate of 30% to 35%, using a bot, in responding to CAPTCHAs for Microsoft's Live Mail service[18] and a success rate of 20% against Google's Gmail CAPTCHA.[19] A Newcastle University research team has defeated the segmentation part of Microsoft's CAPTCHA with a 90% success rate, and claim that this could lead to a complete crack with a greater than 60% rate.[20]

Human solvers

CAPTCHA is vulnerable to a relay attack that uses humans to solve the puzzles. One approach involves relaying the puzzles to a group of human operators who can solve CAPTCHAs. In this scheme, a computer fills out a form and when it reaches a CAPTCHA, it gives the CAPTCHA to the human operator to solve.

Spammers pay about $0.80 to $1.20 for each 1,000 solved CAPTCHAs to companies employing human solvers in Bangladesh, China, India, and many other developing nations.[21] Other sources cite a price tag of as low as $0.50 for each 1,000 solved.[22]

Another approach involves copying the CAPTCHA images and using them as CAPTCHAs for a high-traffic site owned by the attacker. With enough traffic, the attacker can get a solution to the CAPTCHA puzzle in time to relay it back to the target site.[23] In October 2007, a piece of malware appeared in the wild which enticed users to solve CAPTCHAs in order to see progressively further into a series of striptease images.[24][25] A more recent view is that this is unlikely to work due to unavailability of high-traffic sites and competition by similar sites.[26]

These methods have been used by spammers to set up thousands of accounts on free email services such as Gmail and Yahoo!.[27] Since Gmail and Yahoo! are unlikely to be blacklisted by anti-spam systems, spam sent through these compromised accounts is less likely to be blocked.

Legal concerns

The circumvention of CAPTCHAs may violate the anti-circumvention clause of the Digital Millennium Copyright Act (DMCA) in the United States. In 2007, Ticketmaster sued software maker RMG Technologies[28] for its product which circumvented the ticket seller's CAPTCHAs on the basis that it violated the anti-circumvention clause of the DMCA. In October 2007, an injunction was issued stating that Ticketmaster would likely succeed in making its case.[29] In June 2008, Ticketmaster filed for default judgment against RMG. The Court granted Ticketmaster the default and entered an $18.2M judgment in favor of Ticketmaster.

In 2010, encouraged by Ticketmaster, the US District Attorney in Newark, New Jersey won a grand jury indictment against Wiseguy Tickets, Inc. for purchasing tickets in bulk by circumventing CAPTCHA mechanisms.[30] Among its 43 findings, the grand jury found "[Wiseguy Tickets Inc] defeated online ticket vendors' security mechanisms [CAPTCHA]."[31]

Interaction with Images as Alternative to Texting (Text Typing)

Some researchers promote interaction with images as a possible alternative for texting CAPTCHAs. Computer-based recognition algorithms require the extraction of color, texture, shape, or special point features, which cannot be correctly extracted after the designed distortions. However, humans can still recognize the original concept depicted in the images even with these distortions.

A recent example of interacting with images CAPTCHA is to present the website visitor with a grid of random pictures and instruct the visitor to click on specific pictures to verify that they are not a bot (such as “Click on the pictures of the airplane, the boat and the clock”).

Image interaction CAPTCHAs face many potential problems which have not been fully studied. It is difficult for a small site to acquire a large dictionary of images to which an attacker does not have access and without a means of automatically acquiring new labelled images, an image-based challenge does not usually meet the definition of a CAPTCHA. KittenAuth, by default, had only 42 images in its database. Microsoft's "Asirra," which it is providing as a free web service, attempts to address this by means of Microsoft Research's partnership with Petfinder.com, which has provided it with more than three million images of cats and dogs, classified by people at thousands of US animal shelters.[32] Researchers claim to have written a program that can break the Microsoft Asirra CAPTCHA.[33] The IMAGINATION CAPTCHA, however, uses a sequence of randomized distortions on the original images to create the CAPTCHA images. Their original images can be made public without risk of image-retrieval or image-annotation based attacks.

Human solvers are a potential weakness for strategies such as Asirra. If the database of cat and dog photos can be downloaded, paying workers $0.01 to classify each photo as of either a dog or a cat means that almost the entire database of photos can be deciphered for $30,000. Photos that are subsequently added to the Asirra database are then a relatively small data set that can be classified as they first appear. Causing minor changes to images each time they appear will not prevent a computer from recognizing a repeated image as there are robust image comparator functions (e.g., image hashes, color histograms) that are insensitive to many simple image distortions. Warping an image sufficiently to fool a computer will likely also be troublesome to a human.[34]

Researchers at Google used image orientation and collaborative filtering as a CAPTCHA.[35] Generally speaking, people know what "up" is but computers have a difficult time for a broad range of images. Images were pre-screened to be determined to be difficult to detect up (e.g. no skies, no faces, no text). Images were also collaboratively filtered by showing a "candidate" image along with good images for the person to rotate. If there was a large variance in answers for the candidate image, it was deemed too hard for people as well and discarded.

Many users of the phpBB forum software (which has suffered greatly from spam) have implemented an open source image recognition CAPTCHA system in the form of an addon called KittenAuth[36] which in its default form presents a question requiring the user to select a stated type of animal from an array of thumbnail images of assorted animals. The images (and the challenge questions) can be customized, for example to present questions and images which would be easily answered by the forum's target userbase. Furthermore, for a time, RapidShare free users had to get past a CAPTCHA where they had to enter letters attached only to a cat, while others were attached to dogs.[37] This was later removed because (legitimate) users had trouble entering the correct letters.

See also

References

  1. ^ a b Greg, Mori,; Malik, Jitendra. "Breaking a Visual CAPTCHA". Simon Fraser University. http://www.cs.sfu.ca/~mori/research/gimpy/. Retrieved 2008-12-21. 
  2. ^ Grossman, Lev (2008-06-05). "Computer Literacy Tests: Are You Human?". Time (magazine). http://www.time.com/time/magazine/article/0,9171,1812084,00.html. Retrieved 2008-06-12. "The Carnegie Mellon team came back with the CAPTCHA. (It stands for "completely automated public Turing test to tell computers and humans apart"; no, the acronym doesn't really fit.) The point of the CAPTCHA is that reading those swirly letters is something that computers aren't very good at." 
  3. ^ "Latest Status of CAPTCHA Trademark Application". USPTO. 2008-04-21. http://tarr.uspto.gov/servlet/tarr?regser=serial&entry=78500434. Retrieved 2008-12-21. 
  4. ^ MySQL Server. "MySQL Database". MySQL. http://dev.mysql.com/doc/refman/5.0/en/table-size-limit.html. 
  5. ^ "Wikipedia". http://en.wikipedia.org/wiki/PageRank. 
  6. ^ Amrinder Arora (2007). "Statistics Hacking — Exploiting Vulnerabilities in News Websites" (PDF). International Journal of Computer Science and Network Security 7: 342–347. http://paper.ijcsns.org/07_book/200703/20070348.pdf. 
  7. ^ "Breaking CAPTCHAs Without Using OCR". Howard Yeend (pureMango.co.uk). 2005. http://www.puremango.co.uk/cm_breaking_captcha_115.php. Retrieved 2006-08-22. 
  8. ^ "Online services allow MD5 hashes to be cracked". http://milw0rm.com/cracker/list.php. Retrieved 2007-01-04. 
  9. ^ Kumar Chellapilla, Kevin Larson, Patrice Simard, Mary Czerwinski (2005) (PDF). Computers beat Humans at Single Character Recognition in Reading based Human Interaction Proofs (HIPs). Microsoft Research. Archived from the original on 2006-06-13. http://web.archive.org/web/20060613111749/http://www.ceas.cc/papers-2005/160.pdf. Retrieved 2006-08-02. 
  10. ^ Kluever, Kurt (May 12, 2008). "Breaking the PayPal CAPTCHA". Kloover.com. http://www.kloover.com/2008/05/12/breaking-the-paypalcom-captcha/. Retrieved 2008-12-21. 
  11. ^ Li, Shujun; Syed Amier Haider Shah, Muhammad Asad Usman Khan, Syed Ali Khayam, Ahmad-Reza Sadeghi and Roland Schmitz (2010). "Breaking e-Banking CAPTCHAs". Proceedings of 26th Annual Computer Security Applications Conference (ACSAC 2010). New York, NY, USA: ACM. pp. 171–180. doi:10.1145/1920261.1920288. http://www.acsac.org/2010/openconf/modules/request.php?module=oc_program&action=summary.php&id=53. 
  12. ^ Kluever, Kurt (February 28, 2008). "Breaking ASP Security Image Generator". Kloover.com. http://www.kloover.com/2008/02/28/breaking-the-asp-security-image-generator/. Retrieved 2008-12-21. 
  13. ^ Hocevar, Sam. "PWNtcha - captcha decoder". Sam.zoy.org. http://sam.zoy.org/pwntcha/. Retrieved 2008-12-21. 
  14. ^ Sergei, Kruglov. "Defeating of some weak CAPTCHAs". Captcha.ru. http://www.captcha.ru/en/breakings/. Retrieved 2008-12-21. 
  15. ^ "Network Security Research and AI". http://network-security-research.blogspot.com/. Retrieved 2008-12-21. 
  16. ^ Dawson (2008-04-15). "Windows Live Hotmail CAPTCHA Cracked, Exploited". Slashdot (SourceForge). http://tech.slashdot.org/article.pl?sid=08/04/15/1941236&from=rss. Retrieved 2008-04-16. 
  17. ^ Dawson (2008-02-26). "Gmail CAPTCHA Cracked". Slashdot (SourceForge). http://it.slashdot.org/article.pl?sid=08/02/27/0045242. Retrieved 2008-04-16. 
  18. ^ Gregg Keizer, "Spammers' bot cracks Microsoft's CAPTCHA: Bot beats Windows Live Mail's registration test 30% to 35% of the time, says Websense", Computerworld"', February 7, 2008
  19. ^ Prasad, Sumeet (2008-02-22). "Google’s CAPTCHA busted in recent spammer tactics". Websense. Archived from the original on 2008-08-22. http://web.archive.org/web/20080822032312/http://www.websense.com/securitylabs/blog/blog.php?BlogID=174. Retrieved 2008-12-21. 
  20. ^ Jeff Yan; Ahmad Salah El Ahmad (April 13, 2008) (PDF). A Low-cost Attack on a Microsoft CAPTCHA. School of Computing Science, Newcastle University, UK. http://homepages.cs.ncl.ac.uk/jeff.yan/msn_draft.pdf. Retrieved 2008-12-21. 
  21. ^ Bajaj, Vikas (April 25, 2010). "Spammers Pay Others to Answer Security Tests". The New York Times. http://www.nytimes.com/2010/04/26/technology/26captcha.html?src=me&ref=technology. Retrieved 2010-04-28 
  22. ^ M. Motoyama, K. Levchenko, C. Kanich, D. McCoy,G. M. Voelker, and S. Savage. [cseweb.ucsd.edu/~klevchen/mlkmvs-usesec10.pdf "Re: CAPTCHAs:understanding CAPTCHA-solving services in an economic context"]. University of California, San Diego. cseweb.ucsd.edu/~klevchen/mlkmvs-usesec10.pdf. Retrieved 17 March 2011. 
  23. ^ Doctorow, Cory (2004-01-27). "Solving and creating CAPTCHAs with free porn". Boing Boing. http://www.boingboing.net/2004/01/27/solving_and_creating.html. Retrieved 2006-08-22. 
  24. ^ Robertson, Jordan (2007-11-01). "Scams Use Striptease to Break Web Traps". Associated Press. San Jose, California. Archived from the original on 2007-11-06. http://web.archive.org/web/20071106170737/http://ap.google.com/article/ALeqM5jnNrQKxFzt7mPu3DZcP7_UWr8UfwD8SKE6Q80. 
  25. ^ Vaas, Lisa (2007-11-01). "Striptease Used to Recruit Help in Cracking Sites". PC Magazine. http://www.pcmag.com/article2/0,2704,2210674,00.asp. Retrieved 2008-12-21. 
  26. ^ "Captcha.net". Captcha.net. http://www.captcha.net/. Retrieved 2011-03-22. 
  27. ^ "Spam filtering services throttle Gmail to fight spammers". 2008-04-10. http://www.theregister.co.uk/2008/04/10/web_mail_throttled/. Retrieved 2008-04-10. 
  28. ^ Ulanoff, Lance (October 31, 2007). "Deep-Sixing CAPTCHA". PC Magazine. Ziff Davis Media. http://www.pcmag.com/article2/0,2704,2209782,00.asp. Retrieved 2007-12-12. 
  29. ^ "TicketMaster v. RMG". http://www.scribd.com/doc/404395/ticketmaster-v-rmg. 
  30. ^ Zetter, Kim (March 1, 2010). "Wiseguys Indicted in $25 Million Online Ticket Ring". Wired.com. http://www.wired.com/threatlevel/2010/03/wiseguys-indicted/. Retrieved 2012-01-02. 
  31. ^ "UNITED STATES of AMERICA vs KENNETH LOWSON, KRISTOFER KIRSCH, LOEL STEVENSON". Federal Indictment. Februrary 23, 2010. http://www.wired.com/images_blogs/threatlevel/2010/03/wiseguys-indictment-filed.pdf. Retrieved 2012-01-02. 
  32. ^ Asirra from Microsoft Research (PDF)
  33. ^ Golle, Philippe. Machine Learning Attacks Against the Asirra CAPTCHA. Stanford Crypto. http://crypto.stanford.edu/~pgolle/papers/dogcat.html. Retrieved 2008-12-21. 
  34. ^ Asirra: A CAPTCHA that Exploits Interest-Aligned Manual Image Categorization from Microsoft Research (PDF)
  35. ^ What’s Up CAPTCHA? A CAPTCHA Based On Image Orientation from WWW'09 by Rich Gossweiler, Maryam Kamvar, and Shumeet Baluja
  36. ^ The Cutest Human-Test: KittenAuth from ThePCSpy.com
  37. ^ David (June 4, 2008). "Attached to a Captcha". randomwire.com. http://www.randomwire.com/2008/06/04/attached-to-a-captcha/. Retrieved 2008-12-21. 

External links