Jump to content

CAPTCHA

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 72.14.228.89 (talk) at 21:11, 15 May 2009 (Undid revision 290138149 by 4.131.91.114 (talk)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Early CAPTCHAs such as these, generated by the EZ-Gimpy program, were used on Yahoo!. However, technology was developed to read this type of CAPTCHA[1]
A modern CAPTCHA, rather than attempting to create a distorted background and high levels of warping on the text, might focus on making segmentation difficult by adding an angled line
Another way to make segmentation difficult is to crowd symbols together. However, this might be difficult for some people to read

A CAPTCHA or Captcha (/ˈkæptʃə/) is a type of challenge-response test used in computing to ensure that the response is not generated by a computer. 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 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 to a human, in contrast to the standard Turing test that is typically administered by a human and targeted to a machine. A common type of CAPTCHA requires that the user type letters or digits from a distorted image that appears on the screen.

The term "CAPTCHA" (based upon the word capture) was coined in 2000 by Luis von Ahn, Manuel Blum, Nicholas J. Hopper (all of Carnegie Mellon University), and John Langford (then of IBM). It is a contrived acronym 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] Currently, CAPTCHA creators recommend use of reCAPTCHA as the official implementation.[4]

Characteristics

A CAPTCHA system is a means of automatically generating new challenges which:

  • Current software is unable to solve accurately.
  • Most humans can solve
    • The visually disabled who rely on screen reading technology cannot solve a visual CAPTCHA, thus limiting or preventing their access to some sites (see below for accessibility considerations)
  • Does not rely on the type of CAPTCHA being new to the attacker.

Although a checkbox "check here if you are not a bot" might serve to distinguish between humans and computers, it is not a CAPTCHA because it relies on the fact that an attacker has not spent effort to break that specific form. (Such 'check here' methods are very easy to defeat.)

Withholding of the algorithm can increase the integrity of a limited set of systems, as in the practice of security through obscurity. The most important factor in deciding whether an algorithm should be made open or restricted is the size of the system. Although an algorithm which survives scrutiny by security experts may be assumed to be more conceptually secure than an unevaluated algorithm, an unevaluated algorithm specific to a very limited set of systems is always of less interest to those engaging in automated abuse. Breaking a CAPTCHA generally requires some effort specific to that particular CAPTCHA implementation, and an abuser may decide that the benefit granted by automated bypass is negated by the effort required to engage in abuse of that system in the first place.

History

Moni Naor was the first person to theorize a list of ways to verify that a request comes from a human and not a bot.[5] Primitive CAPTCHAs seem to have been developed in 1997 by Andrei Broder, Martin Abadi, Krishna Bharat, and Mark Lillibridge to prevent bots from adding URLs to their search engine.[6] In order to make the images resistant to OCR (Optical Character Recognition), the team simulated situations that scanner manuals claimed resulted in bad OCR. In 2000, Luis von Ahn and Manuel Blum coined the term 'CAPTCHA', improved and publicized the notion, which included any program that can distinguish humans from computers. They invented multiple examples of CAPTCHAs, including the first CAPTCHAs to be widely used, which were those adopted by Yahoo!.

Applications

CAPTCHAs are used 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. CAPTCHAs are also used on Wikipedia for anonymous or new users who attempt to add links.

CAPTCHAs have found active use in stopping 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, as automated usage of a service might be desirable until such usage is done in excess, and to the detriment of human users. In such a case, a CAPTCHA can enforce automated usage policies as set by the administrator when certain usage metrics exceed a given threshold. The article rating systems used by many news web sites are another example of an online facility vulnerable to manipulation by automated software.[7]

Accessibility

Because CAPTCHAs rely on visual perception, users unable to view a CAPTCHA (for example, due to a disability or because it is difficult to read) 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.

Attempts at more accessible CAPTCHAs

Even an audio and visual CAPTCHA will require manual intervention for some users, such as those who have visual disabilities and also are deaf. There have been various attempts at creating CAPTCHAs that are more accessible. Attempts include the use of JavaScript, mathematical questions ("what is 1+1"), or "common sense" questions ("what color is the sky on a clear day"). However, none of these attempts meet both the criteria of being able to be automatically generated and not relying on the type of CAPTCHA being new to the attacker. Therefore, they are not CAPTCHAs and do not provide the protection that true CAPTCHAs provide.

Circumvention

There are a few approaches to defeating CAPTCHAs:

  • exploiting bugs in the implementation that allow the attacker to completely bypass the CAPTCHA,
  • improving character recognition software, or
  • using cheap human labor to process the tests.
  • brute-force - multiple sequential attacks instead of Recognition Software

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.[8] 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.[9] 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.

Computer character recognition

A number of research projects have attempted (often with success) 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.[10] 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] and the CAPTCHA used by popular sites such as Paypal,[11] LiveJournal, phpBB, and other open source solutions.[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.

Another variation of this technique 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.[21] 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.[22][23]

These methods have been used by spammers to set up thousands of accounts on free email services such as Gmail and Yahoo!. [24] 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.

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[25] for its product which circumvented the ticket seller's CAPTCHAs on the basis that it violates the anti-circumvention clause of the DMCA. In October 2007, an injunction was issued stating that Ticketmaster would likely succeed in making its case.[26] 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.

CAPTCHA without audio may also violate the Americans With Disabilities Act, according to the American Council of the Blind.[27]

Image-recognition CAPTCHAs

Some researchers promote image recognition CAPTCHAs as a possible alternative for text-based CAPTCHAs. To date only rapidshare made use of an image based CAPTCHA. Many amateur 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[28] 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 you had to only enter letters attached to a cat, while others were attached to dogs.[29] This was later removed because users had trouble entering the correct letters.

Image recognition 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 which an attacker does not have access to and without a means of automatically acquiring new labelled images, an image based challenge does not meet the definition of a CAPTCHA. KittenAuth, by default, only had 42 images in its database.[28] 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.[30] Unfortunately for Microsoft, researchers claim to have written a program than can break the Microsoft Asirra CAPTCHA.[31]

Human solvers are a potential weakness for strategies such as Asirra. If the database of cat and dog photos can be downloaded, then paying workers $0.01 to classify each photo as 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.[32]

Collateral benefits

Some of the original inventors of the CAPTCHA system have implemented a means by which some of the effort and time spent by people who are responding to challenges can be harnessed as a distributed work system. This system, called reCAPTCHA, works by including "solved" and "unrecognized" elements (images which were not successfully recognized via OCR) in each challenge. The respondent thus answers both elements and roughly half of his or her effort validates the challenge while the other half is captured as work[33].

See also

References

  1. ^ a b Greg, Mori,. "Breaking a Visual CAPTCHA". Simon Fraser University. Retrieved 2008-12-21. {{cite web}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)CS1 maint: extra punctuation (link) CS1 maint: multiple names: authors list (link)
  2. ^ "Computer Literacy Tests: Are You Human?". Time (magazine). 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. {{cite news}}: Cite has empty unknown parameter: |coauthors= (help)
  3. ^ "Latest Status of CAPTCHA Trademark Application". USPTO. 2008-04-21. Retrieved 2008-12-21.
  4. ^ "reCAPTCHA homepage". Captcha.net. Retrieved 2008-12-21.
  5. ^ Moni Naor (July, 1996). "Verification of a human in the loop or Identification via the Turing Test" (PS). Retrieved 2008-07-06. {{cite journal}}: Check date values in: |date= (help); Cite journal requires |journal= (help)
  6. ^ [1] US Patent no. 6,195,698, "Method for selectively restricting access to computer systems"
  7. ^ Amrinder Arora (2007). "Statistics Hacking — Exploiting Vulnerabilities in News Websites" (PDF). International Journal of Computer Science and Network Security. 7: 342–347.
  8. ^ "Breaking CAPTCHAs Without Using OCR". Howard Yeend (pureMango.co.uk). 2005. Retrieved 2006-08-22.
  9. ^ "Online services allow MD5 hashes to be cracked". Retrieved 2007-01-04.
  10. ^ Kumar Chellapilla, Kevin Larson, Patrice Simard, Mary Czerwinski (2005). "Computers beat Humans at Single Character Recognition in Reading based Human Interaction Proofs (HIPs)" (PDF). Microsoft Research. Retrieved 2006-08-02. {{cite journal}}: Cite journal requires |journal= (help)CS1 maint: multiple names: authors list (link)
  11. ^ Kluever, Kurt (May 12, 2008). "Breaking the PayPal CAPTCHA". Kloover.com. Retrieved 2008-12-21.
  12. ^ Kluever, Kurt (February 28, 2008). "Breaking ASP Security Image Generator". Kloover.com. Retrieved 2008-12-21.
  13. ^ Hocevar, Sam. "PWNtcha - captcha decoder". Sam.zoy.org. Retrieved 2008-12-21.
  14. ^ Sergei, Kruglov. "Defeating of some weak CAPTCHAs". Captcha.ru. Retrieved 2008-12-21.
  15. ^ "Network Security Research and AI". Retrieved 2008-12-21.
  16. ^ Dawson (2008-04-15). "Windows Live Hotmail CAPTCHA Cracked, Exploited". Slashdot. SourceForge. Retrieved 2008-04-16. {{cite news}}: Cite has empty unknown parameter: |coauthors= (help)
  17. ^ Dawson (2008-02-26). "Gmail CAPTCHA Cracked". Slashdot. SourceForge. Retrieved 2008-04-16. {{cite news}}: Cite has empty unknown parameter: |coauthors= (help)
  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. Retrieved 2008-12-21.
  20. ^ Jeff Yan (April 13, 2008). "A Low-cost Attack on a Microsoft CAPTCHA" (PDF). School of Computing Science, Newcastle University, UK. Retrieved 2008-12-21. {{cite journal}}: Cite journal requires |journal= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  21. ^ Doctorow, Cory (2004-01-27). "Solving and creating CAPTCHAs with free porn". Boing Boing. Retrieved 2006-08-22.
  22. ^ Robertson, Jordan (2007-11-01). "Scams Use Striptease to Break Web Traps". San Jose, California. Archived from the original on 2007-11-06. {{cite news}}: Unknown parameter |agancy= ignored (help)
  23. ^ Vaas, Lisa (2007-11-01). "Striptease Used to Recruit Help in Cracking Sites". PC Magazine. Retrieved 2008-12-21.
  24. ^ "Spam filtering services throttle Gmail to fight spammers". 2008-04-10. Retrieved 2008-04-10.
  25. ^ Ulanoff, Lance (October 31, 2007). "Deep-Sixing CAPTCHA". PC Magazine. Ziff Davis Media. Retrieved 2007-12-12. {{cite web}}: Cite has empty unknown parameter: |coauthors= (help)
  26. ^ "TicketMaster v. RMG".
  27. ^ "Minutes of the August 2, 2007 Board Teleconference Meeting - American Council of the Blind".
  28. ^ a b The Cutest Human-Test: KittenAuth from ThePCSpy.com
  29. ^ David (June 04, 2008). "Attached to a Captcha". randomwire.com. Retrieved 2008-12-21. {{cite web}}: Check date values in: |date= (help)
  30. ^ Asirra from Microsoft Research (PDF)
  31. ^ Golle, Philippe. "Machine Learning Attacks Against the Asirra CAPTCHA". Stanford Crypto. Retrieved 2008-12-21. {{cite journal}}: Cite journal requires |journal= (help)
  32. ^ Asirra: A CAPTCHA that Exploits Interest-Aligned Manual Image Categorization from Microsoft Research (PDF)
  33. ^ Luis von Ahn, Ben Maurer, Colin McMillen, David Abraham and Manuel Blum (2008). "reCAPTCHA: Human-Based Character Recognition via Web Security Measures" (PDF). Science. 321: 1465–1468.{{cite journal}}: CS1 maint: multiple names: authors list (link)