250 likes | 256 Views
Telling Humans and Computers Apart (Automatically) Or How Lazy Cryptographers do AI. Luis von Ahn. The Aladdin Center Carnegie Mellon University. CAPTCHA. A program that can tell whether its user is a human or a computer. CAPTCHA. A program that can generate and grade tests that:
E N D
Telling Humans and Computers Apart (Automatically) Or How Lazy Cryptographers do AI Luis von Ahn The Aladdin Center Carnegie Mellon University
CAPTCHA A program that can tell whether its user is a human or a computer.
CAPTCHA A program that can generate and grade tests that: 1. Most humans can pass 2. Current computer programs cannot pass
Picks 7 words out of a dictionary Renders the words into a distorted image ball blade drop hair kettle mouth shoe Example
Example And generates a TEST: Type three words appearing in the image
P stands for Public All code and data used by a CAPTCHA should be public. (We allow a small amount of private randomness)
Completely Automatic Public Turing Test to Tell Computers and Humans Apart
QUESTION How do we distort images so that a computer cannot tell they are related? Example What are these pictures of?
Bongo Visual Analogy Problems (Bongard 1951)
Bongo Visual Analogy Problems (Bongard 1951)
four Bongo Visual Analogy Problems (Bongard 1951)
Sound Oriented CAPTCHA Humans are better than computers at understanding spoken language. Question: which English digits are being said? (Written by Nancy Chan in Hong Kong)
OPEN PROBLEM Create a TEXT-based CAPTCHA
The Enemy • An expert programmer with: • Complete knowledge of the code • and data used by the CAPTCHA • 2. Full access to the web • 3. A super computer • 4. Lots of free time It should be really hard for The Enemy to write a program that can pass the tests generated by a CAPTCHA
OPEN PROBLEM Prove this! Proving Hardness Reductions to AI-unsolved problems: Any program that passes the tests generated by a CAPTCHA can be used as an oracle to solve a hard unsolved AI problem. What is a hard AI problem?
P stands for Public. Why? • The Enemy can learn a lot about the way a CAPTCHA works and all the data it uses. • If the Enemy cannot write a program to pass the tests even when the code and data are publicly available, then we are really showing a CAPTCHA is hard to beat. • We want our CAPTCHAs to be broken!
QUICKVOTE Which is the best Computer Science Grad School in the US? Berkeley MIT CMU Princeton Cornell Stanford vote Applications (from www.slashdot.com)
Applications • Free E-mail Services • - Chat Rooms • Search Engine Bots • Shopping Agents
OPEN PROBLEM How do we get around this? Stealing Cycles From Humans Every time a shopping agent encounters a CAPTCHA test, it can simply ask the human behind the computer to solve it! Free Porn Sites: before seeing a free picture the user must solve a CAPTCHA test.
Stealing Cycles From Humans How can we use humans as oracles to expand our computational abilities? HotOrNot Find a bug in the code
Stealing Cycles From Humans The whole idea of a CAPTCHA can be seen under this light. Malicious, intelligent programmers can be put to work on unsolved AI problems!
A Challenge to the AI Community CAPTCHAs are well specified challenges to the AI community