CAPTCHA: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>David Ellis
(fixing spelling)
imported>Markus Baumeister
(Made example clearer and linkified)
Line 1: Line 1:
A '''Completely Automated Public Turing test to tell Computers and Humans Apart''' or '''CAPTCHA''' is a [[turing test|Turing Test]] employed most frequently in [[websites]] to discriminate between [[humans]] and [[computer programs]].  Usually implemented as an image analysis problem, CAPTCHAs present a problem which is trivial for a human to solve, but very difficult for a computer program.
A '''Completely Automated Public Turing test to tell Computers and Humans Apart''' or '''CAPTCHA''' is a [[turing test|Turing Test]] employed most frequently in [[websites]] to discriminate between [[humans]] and [[computer programs]].  Usually implemented as an [[image analysis]] problem, CAPTCHAs present a problem which is trivial for a human to solve, but very [[artificial intelligence|difficult for a computer program]].


== Rationale ==
== Rationale ==


Many companies offer online services free of charge.  However, people who want to [[computer security|exploit]] those services will often attempt to write a computer program that can automatically register for and use said services.  CAPTCHAs are one of the most successful methods for foiling such attacks.
Many companies offer [[online service]]s free of charge.  However, people who want to [[computer security|exploit]] those services will often attempt to write a computer program that can automatically register for and use said services.  CAPTCHAs are one of the most successful methods for foiling such attacks.


== Common Implementation ==
== Common Implementation ==


CAPTCHAs are most frequently implemented as a [[distortion|distorted]] [[image]] containing a short text.  The user is asked to copy the text from the image into a [[form field]].  The distortion usually defeats state of the art [[optical character recognition|Optical Character Recognition (OCR)]] algorithms.
CAPTCHAs are most frequently implemented as a [[distortion|distorted]] [[image]] containing a short text.  The user is asked to type the text from the image into a [[form field]].  The distortion usually defeats state of the art [[optical character recognition|Optical Character Recognition (OCR)]] algorithms.


== Criticism of CAPTCHAs ==
== Criticism of CAPTCHAs ==
Line 17: Line 17:
The major problem with CAPTCHAs is that they do not prevent the test subject (human or computer) from passing the test onto another party.  This can be exploited by an attacker to gain access to a target website:
The major problem with CAPTCHAs is that they do not prevent the test subject (human or computer) from passing the test onto another party.  This can be exploited by an attacker to gain access to a target website:


# Attacker creates an online service with high demand, such as a [[pornography|pornographic]] website.
# Attacker A creates an online service with high demand, such as a [[pornography|pornographic]] website.
# Some third party visit's the attacker's website, and attempts to register.
# Some third party C visit's the attacker's [[website]], and attempts to register.
# The attacker's website begins a registration procedure at the target website, and recieves a CAPTCHA.
# The attacker's website begins a registration procedure at the target website B, and receives a CAPTCHA from it.
# The attacker's website presents the same CAPTCHA to the third party.
# The attacker's website presents the CAPTCHA from B to the third party C.
# The third party voluntarily solves the CAPTCHA.
# The third party voluntarily solves the CAPTCHA assuming it was generated by A's website.
# The attacker's website uses the solution to the CAPTCHA to complete registration at the target website.
# The attacker's website uses the solution to the CAPTCHA to complete registration at the target website B.


In doing so, the attacker can repeatedly access the CAPTCHA-protected web service without direct intervention.
In doing so, the attacker can repeatedly access the CAPTCHA-protected web service without his own direct intervention.


[[Category: Computers Workgroup]]
[[Category: Computers Workgroup]]
[[Category: CZ Live]]
[[Category: CZ Live]]

Revision as of 16:31, 9 March 2007

A Completely Automated Public Turing test to tell Computers and Humans Apart or CAPTCHA is a Turing Test employed most frequently in websites to discriminate between humans and computer programs. Usually implemented as an image analysis problem, CAPTCHAs present a problem which is trivial for a human to solve, but very difficult for a computer program.

Rationale

Many companies offer online services free of charge. However, people who want to exploit those services will often attempt to write a computer program that can automatically register for and use said services. CAPTCHAs are one of the most successful methods for foiling such attacks.

Common Implementation

CAPTCHAs are most frequently implemented as a distorted image containing a short text. The user is asked to type the text from the image into a form field. The distortion usually defeats state of the art Optical Character Recognition (OCR) algorithms.

Criticism of CAPTCHAs

Handicap accessible CAPTCHAs have not yet been developed. As a result, common image CAPTCHAs prevent people who are blind or who have poor eyesight from using web services.

Attacks Against CAPTCHAs

The major problem with CAPTCHAs is that they do not prevent the test subject (human or computer) from passing the test onto another party. This can be exploited by an attacker to gain access to a target website:

  1. Attacker A creates an online service with high demand, such as a pornographic website.
  2. Some third party C visit's the attacker's website, and attempts to register.
  3. The attacker's website begins a registration procedure at the target website B, and receives a CAPTCHA from it.
  4. The attacker's website presents the CAPTCHA from B to the third party C.
  5. The third party voluntarily solves the CAPTCHA assuming it was generated by A's website.
  6. The attacker's website uses the solution to the CAPTCHA to complete registration at the target website B.

In doing so, the attacker can repeatedly access the CAPTCHA-protected web service without his own direct intervention.