CAPTCHA
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
CAPTCHA는 컴퓨터가 아닌 사람임을 확인하기 위해 사용되는 기술로, 텍스트나 이미지 등을 통해 사람과 기계를 구별한다. 1980년대부터 해커들이 필터를 우회하기 위해 시도한 것이 시초이며, 2000년대 초 페이팔 등에서 사기 방지 목적으로 상업화되었다. CAPTCHA는 텍스트 왜곡, 이미지, 오디오 등 다양한 형태로 발전해 왔으며, 자동화된 프로그램의 악용 방지, 이메일 주소 보호, 온라인 투표의 신뢰성 확보 등에 활용된다. 그러나 CAPTCHA는 저임금 노동력을 이용한 우회, 기계 학습 기반 공격, 시각·인지 장애인 접근성 문제 등의 한계를 가진다. 튜링 테스트와 유사하게, CAPTCHA는 인공지능의 한계를 활용하여 사람을 구별하는 수단으로 사용되기도 한다.
1980년대부터 1990년대까지 사용자들은 컴퓨터가 읽을 수 없는 텍스트를 만들기 위해 노력했다.[13] 이러한 시도를 한 최초의 사람들은 해커들로, 키워드로 자동 감시되고 있다고 생각하는 인터넷 포럼에 민감한 주제에 대해 글을 올렸다.
CAPTCHA는 기계는 인식하기 어렵지만 사람은 쉽게 인식할 수 있는 텍스트, 이미지, 오디오 등을 통해 사람과 기계를 구별하는 기술이다. 가장 일반적인 방법은 광학 문자 인식(OCR) 프로그램의 한계를 이용한 텍스트 CAPTCHA이다.
CAPTCHA는 기계와 사람을 구분하기 위한 다양한 방식의 테스트를 총칭한다.
2. 역사
CAPTCHA의 가장 초기 상업적 사용 사례 중 하나는 Gausebeck–Levchin 테스트였다. 2000년, idrive.com은 CAPTCHA로 가입 페이지[12]를 보호하기 시작했으며 특허를 출원할 준비를 했다.[13] 2001년, 페이팔(PayPal)은 사기 방지 전략의 일환으로 이러한 테스트를 사용했다.[14] 맥스 레브친(Max Levchin)은 페이팔의 공동 창업자이자 CTO로 이 사용을 상업화하는 데 기여했다.
reCAPTCHA는 2009년 구글에 인수되었다.[15]
1997년에 AltaVista의 안드레이 브로더와 그의 동료들은 봇이 그들의 검색 엔진에 URL을 추가하는 것을 방지하기 위해 CAPTCHA를 개발했다. 그들은 브라더 공업(Brother Industries)의 스캐너 취급 설명서에 "OCR 인식의 결과를 나쁘게 한다"라고 쓰여 있는 조건을 흉내내어 최초의 CAPTCHA를 만들어냈다.
3. 원리
이 외에도 이미지, 오디오 등 다양한 기반의 CAPTCHA들이 사용되는데, 이들 또한 프로그램이 입력된 값을 대상과 매치시키지 못하는 한계를 활용한다. 드래그 앤 드롭을 이용한 슬라이드 CAPTCHA의 경우 자동 프로그램이 드래그 앤 드롭을 사용하지 못하는 점을 이용해 사람과 기계를 구별한다.
현대 텍스트 기반 CAPTCHA는 불변 인식, 분할, 구문 분석의 세 가지 능력을 동시에 사용해야 하도록 설계되었다.[18]
이러한 문제들은 각각 컴퓨터에게도 상당한 난제를 제시한다. 따라서 이러한 세 가지 기술을 함께 사용하면 컴퓨터가 CAPTCHA를 풀기 어렵게 된다.[21]
CAPTCHA는 주로 보안상의 이유로 사용되지만, 인공 지능 기술의 벤치마크 작업으로도 사용될 수 있다. Ahn, Blum, Langford의 기사에 따르면,[22] "CAPTCHA에 의해 생성된 테스트를 통과하는 모든 프로그램은 풀리지 않은 어려운 AI 문제를 해결하는 데 사용될 수 있다."[23] 그들은 어려운 AI 문제를 보안 수단으로 사용하는 것의 이점이 두 가지라고 주장한다. 문제가 해결되지 않아 컴퓨터와 인간을 구별하는 신뢰할 수 있는 방법이 유지되거나, 문제가 해결되어 어려운 AI 문제도 함께 해결된다.[22]
CAPTCHA영어는 다음과 같은 특징을 가지고 있다.3. 1. 텍스트 CAPTCHA 작동 방식
CAPTCHA는 OCR 프로그램의 한계를 이용한 텍스트 CAPTCHA이며 다음과 같은 과정을 거쳐 사람과 기계를 판별한다.
# CAPTCHA 프로그램이 임의의 문자와 숫자를 이미지로 변환해 제시한다. 제시된 문자는 왜곡되거나 덧칠되어 기계가 자동으로 읽기 어려운 상태이다.
# 사용자는 화면에 제시된 문자나 숫자를 읽고 같은 문자열을 입력한다.
# 시스템이 표시한 문자열과 사용자가 입력한 문자열이 일치하는 경우, 사용자는 일그러진 이미지를 인식하는 능력을 가지고 있다고 판단되므로 시스템은 사용자를 사람으로 여긴다.[54]
PHP로 만들어진 텍스트 CAPTCHA 프로그램의 구조를 예시로 살펴보면 다음과 같다.
야후!에 사용되던 초기 CAPTCHA는 EZ-GIMPY 프로그램을 이용해 제작되었으나 현재는 이를 통과하는 방법이 공개되어 있다.[55]
컴퓨터가 테스트를 감독한다는 점에서, 사람이 감독하는 표준적인 튜링 테스트와 대조하여, CAPTCHA는 때때로 '''역 튜링 테스트'''라고도 불린다.
또한, 여러 이미지 중에서 지정된 이미지를 모두 선택하는 「'''나는 로봇이 아닙니다'''」라고 불리는 것도 있다.
CAPTCHA는 일본어에서는 "画像認証(화상 인증)"이라고도 불린다.
4. 종류
이 외에도 사람의 얼굴과 이름을 짝 맞추는 소셜 CAPTCHA, 커서가 이동한 경로를 확인하는 동작 CAPTCHA(motion CAPTCHA)[59] 등이 있다.
4. 1. 텍스트 CAPTCHA

텍스트 CAPTCHA(TextImage CAPTCHA)는 가장 흔히 볼 수 있는 CAPTCHA로, 이미지로 표시된 글자가 요구하는 내용을 입력하는 형태이다. 출력된 텍스트 이미지는 OCR 프로그램이 인식하지 못하도록 편집되어 있다.[54]
출력된 글자를 그대로 입력하기도 하지만 수학 CAPTCHA(Math CAPTCHA)처럼 간단한 연산이나 지식을 요구하기도 한다. '더하기', '빼기' 등 특정 언어를 사용해 연산을 요구함으로써 외국인 스패머들의 접근을 막기도 한다. 초기 CAPTCHA에서는 7개의 단어를 제시하고 그 중 3개를 선택해 입력하도록 했다.[55]
이미지 기반 CAPTCHA는 다음과 같은 과정을 거친다.
# CAPTCHA 시스템은 무작위 문자열이나 숫자를 화면에 표시한다. 표시되는 문자는 왜곡되거나 일부가 가려져 기계가 자동으로 읽기 어렵게 한다.
# 사용자는 화면에 그려진 문자열을 읽고, 동일한 문자열을 시스템에 입력한다.
# 시스템이 표시한 문자열과 사용자가 입력한 문자열이 일치하면, 사용자는 왜곡된 이미지를 인식하는 능력이 있다고 판단한다. 시스템은 해당 사용자가 사람이라고 추정한다.
# 시스템에 접근할 수 있는 사람을 일본어 사용자로 제한하려면, 이미지의 문자 종류를 히라가나·가타카나로 제한한다.
# 응용으로, 이미지의 문자 종류로 아라비아 숫자만을 입력하게 하는 경우, 아라비아 숫자 자체가 아니라 '''읽는 방식을 히라가나·가타카나로 표시한다''' (예: 123456 → 이치 니 산 욘 고 로쿠).
#: 아라비아 숫자라면 언어에 관계없이 대부분의 사람이 읽을 수 있지만, 히라가나·가타카나까지 읽을 수 있는 일본 외 인구는 그다지 많지 않기 때문에, 일본 외에서의 접근을 대폭 억제할 수 있다.
4. 2. 오디오 CAPTCHA
오디오 CAPTCHA(Audio CAPTCHA)는 컴퓨터와 인간의 구어 인식 능력 차이를 이용한 것으로, 잡음에 섞여 들리는 단어를 입력하는 방식이다. 주로 텍스트 CAPTCHA를 구별하기 힘들 경우 보조 수단으로 활용할 수 있도록 텍스트 CAPTCHA와 함께 사용하는 경우가 많다. CAPTCHA 프로그램이 단어나 연속된 숫자를 임의로 고르고, 이를 음성 파일로 만든 후 왜곡시킨다. 그리고 왜곡된 소리를 사용자에게 들려주어 그 문자열을 입력하게 한다.
시각 장애가 있는 사람들의 접근성을 높이기 위해 재생 버튼 대신 마침표, 쉼표 등으로 음성 파일의 재생을 조절할 수 있도록 만들어진 오디오 CAPTCHA도 있다.
4. 3. 이미지 CAPTCHA
텍스트가 아닌 사진이나 그림 이미지를 출력하고 답을 요구하는 CAPTCHA이다. 특정 사물의 이미지를 하나 이상 제시하고 그 이름을 입력하게 하거나, 무작위로 회전된 이미지를 원래대로 되돌리는 등의 형태가 있다. 텍스트 CAPTCHA보다 사용자에게는 더 쉽고, 봇 프로그램이 판독해 내기에는 어렵다. 그러나 텍스트 CAPTCHA는 그때그때 텍스트를 이미지로 만들고 사용 후에 바로 삭제하는 반면, 이미지 CAPTCHA는 미리 저장된 이미지를 이용하기 때문에 데이터베이스의 크기가 커진다는 단점이 있다.[56]
정지한 이미지 뿐만 아니라 움직이는 이미지를 이용한 이미지 CAPTCHA도 개발되고 있다.[56]
일부 연구자들은 사용자에게 제시된 이미지에서 단순한 물체를 식별하도록 요구하는 이미지 인식 CAPTCHA를 포함한 대안을 제안했다. 이러한 방식에 찬성하는 주장은 객체 인식과 같은 작업이 텍스트 인식보다 더 복잡하며, 따라서 기계 학습 기반 공격에 더 강해야 한다는 것이다.
Chew et al.은 제7회 국제 정보 보안 컨퍼런스(ISC'04)에서 이미지 인식 CAPTCHA의 세 가지 버전을 제안하고 사용자 연구를 통해 제안을 검증하는 논문을 발표했다. 제안된 버전 중 하나인 이상 CAPTCHA는 인간 사용자의 100%가 42초 안에 90% 이상의 확률로 이상 CAPTCHA를 통과할 수 있어 가장 우수한 것으로 제시되었다.[44] Datta et al.은 ACM 멀티미디어 '05 컨퍼런스에서 IMAGINATION(IMAge Generation for INternet AuthenticaTION)이라는 제목의 논문을 발표하여 이미지 인식 CAPTCHA에 대한 체계적인 방법을 제안했다. 이미지는 왜곡되어 이미지 인식 접근 방식으로는 인식할 수 없다.[45]
마이크로소프트(제레미 엘슨, 존 R. 두세어, 존 하웰, 자레드 사울)는 사용자가 고양이와 개를 구별하도록 요청하는 동물 종 이미지 인식 접근 방식(ASIRRA)을 개발했다고 주장한다. 마이크로소프트는 웹사이트에서 사용할 수 있는 이 방식의 베타 버전을 가지고 있었다.[46] 그들은 "Asirra는 사용자가 사용하기 쉽고, 인간이 30초 이내에 99.6%의 시간 동안 문제를 풀 수 있습니다. 일화적으로, 사용자는 Asirra를 사용하는 경험이 텍스트 기반 CAPTCHA보다 훨씬 더 즐겁다고 느꼈습니다."라고 주장했다. 이 해결책은 2007년 제14회 ACM 컴퓨터 및 통신 보안 컨퍼런스(CCS)의 회보에 설명되었다.[47] 2014년 10월에 종료되었다.[48]
4. 4. 슬라이드 CAPTCHA
드래그 앤드 드롭을 활용한 CAPTCHA이다. 스마트폰의 잠금 화면을 풀듯 화면의 수평 바를 이동시키는 형태의 QapTcha[57]와, CAPTCHA 프로그램이 한 질문의 답에 해당하는 이미지를 드래그하는 형태의 Ajax Fancy Captcha[58] 등이 있다.
4. 5. 기타 CAPTCHA
사람의 얼굴과 이름을 짝 맞추는 소셜 CAPTCHA, 커서가 이동한 경로를 확인하는 동작 CAPTCHA(motion CAPTCHA) 등이 있다.[59]
5. 용도
CAPTCHA는 주로 계정 생성이나 게시물 등록에 많이 이용되며, 자동 프로그램으로 부당한 이득을 챙기거나 악용하는 행위, 게시판 도배 등을 막는 데 사용된다.
CAPTCHA는 봇이 온라인 투표에 참여하거나, 스팸 발송에 사용될 수 있는 무료 메일 계정을 대량으로 등록하는 것을 방지한다. 또한, 봇이 생성하는 스팸을 막기 위해 메일 발송 전 CAPTCHA 테스트를 요구하기도 한다.
reCAPTCHA 프로젝트는 CAPTCHA를 통해 "인간임을 확인"하는 노력 외에도 문서 전자화에도 기여하고 있다.
5. 1. 광고성 게시물 방지
개인 홈페이지나 블로그에 비회원으로 댓글을 달기 전 CAPTCHA를 입력하는 경우를 쉽게 볼 수 있다. 이는 광고성 게시물 또는 댓글을 올리기 위해 만들어진 봇을 막기 위해 사용된다. 광고 댓글을 막기 위해 봇이 자주 사용하는 특정 문자열을 아예 댓글에 입력할 수 없도록 설정하는 방법도 사용되지만, 설정된 문자열 사이에 공백이나 특수문자를 넣는 편법까지 막기는 어려우므로 CAPTCHA가 유용하게 쓰인다. 또한 여러 번 연속해서 글과 댓글을 올리는 경우에도 CAPTCHA 테스트를 요구하여 봇의 공격을 차단한다.[9][10]5. 2. 아이디 자동 생성 방지
야후!, Gmail 등 특별한 개인정보 제공 없이 무료 이메일 계정 서비스를 받을 수 있는 사이트에서는 스팸 광고 발송을 위한 봇의 대량 계정 생성을 막기 위해 회원가입 절차에 CAPTCHA를 사용한다.[9] 포털 사이트에서 제공하는 카페 기능의 경우, 해킹된 계정을 이용한 카페 가입 및 광고글 작성을 막기 위해 카페 가입 전 CAPTCHA를 요구하기도 한다.5. 3. 이메일 주소 보호
스팸 광고의 수신인을 찾기 위해 웹 사이트를 돌아다니며 이메일 주소를 수집하는 봇들을 막기 위해 사용된다. 게시된 이메일 주소를 보이기 전 CAPTCHA를 제시하여 봇들이 이메일 주소를 보지 못하도록 한다. 이메일 주소 뿐 아니라 전화번호나 사용자의 개인정보처럼 봇들에게 제공하고 싶지 않은 정보들을 보호하는 데에도 이용된다.[9]5. 4. 온라인 선거
1999년 11월, Slashdot()은 어느 학교에서 컴퓨터 공학을 전공하는 것이 가장 좋은지를 묻는 온라인 투표를 실시했다. 대부분의 온라인 투표처럼 한 사용자가 여러 번 투표하는 것을 막기 위해 투표자의 IP 주소가 기록되었다. 그러나 카네기 멜론 대학의 한 학생이 카네기 멜론 대학에 중복 투표할 수 있는 프로그램을 만들어 카네기 멜론 대학의 투표수가 급속도로 상승했고, 다음날 매사추세츠 공과대학 학생들도 다중 투표 프로그램을 만들어 투표하기 시작했다. 결국 투표는 봇들의 투표 경쟁이 되어 매사추세츠 공과대학이 21156표, 카네기 멜론 대학이 21032표로 투표를 마감했고 나머지 학교들은 1000표도 넘지 못했다. 이러한 투표 결과는 신뢰성이 떨어져 의미가 없다.때문에 믿을 수 있는 투표 결과를 위해, 사람만이 투표할 수 있도록 온라인 선거 과정에 CAPTCHA를 사용하며, CAPTCHA가 만들어진 계기가 되기도 했다.
5. 5. 계정 해킹 방지
비밀번호 길이는 한정되어 있으므로, 무작위 텍스트를 입력해 계정을 해킹하려는 봇도 존재한다. 따라서 매번 로그인할 때마다 CAPTCHA를 풀게 하거나, 일정 횟수 이상 로그인에 실패하면 CAPTCHA를 제시하는 방법으로 계정 해킹 및 반복적인 단어 입력을 막는다.[9] 로그인 실패 시 계정 접근을 막는 방법도 있지만, 봇이 의도적으로 계정을 막아 실제 사용자가 로그인하지 못하게 할 가능성이 있으므로 CAPTCHA를 사용하는 편이 더 효율적이다.5. 6. 인공지능 개발
CAPTCHA는 인공지능의 한계에 기반을 두고 있다. 예를 들어 왜곡된 텍스트로부터 이미지를 해독해 내는 것은 현대 컴퓨터의 능력을 벗어난다. 그러므로 CAPTCHA는 인공지능 사회에 명확한 과제를 제시하고 보안 연구원뿐만 아니라 악의적인 프로그래머들도 인공지능 분야의 발달을 위해 노력하도록 한다.[9] CAPTCHA가 기계에 의해 풀리지 않으면 인간과 컴퓨터를 구분하는 방법이 있는 것이고, CAPTCHA가 풀리면 인공지능의 문제를 해결한 것이다.[22]6. 한계
CAPTCHA는 봇을 막을 수 있지만, 악의를 가진 사람을 막는 데는 한계가 있다. 또한, 기계 학습의 발달로 인해 CAPTCHA를 통과하는 기술도 개발되고 있으며, 정보 취약 계층의 접근성을 저해할 수 있다는 문제점도 존재한다.
초기 CAPTCHA는 체계적인 설계 방법론 부재로 인해 고정된 길이, 제한된 단어 집합 등 여러 결함을 보였다.[21] 이는 자동화된 작업을 통해 CAPTCHA를 쉽게 우회할 수 있게 만들었다. 그러나 reCAPTCHA와 같은 최신 CAPTCHA는 겹쳐진 문자와 변형을 통해 이러한 공격을 어렵게 만들었다.
2013년, 인공 지능 회사 비카리어스는 최대 90%의 문자 인식률로 CAPTCHA를 풀 수 있는 알고리즘을 개발했다고 주장했다.[34] 그러나 reCAPTCHA의 설립자인 루이스 폰 안은 이러한 주장이 이전에도 여러 번 있었다며 회의적인 반응을 보였다.[35] 2014년, 버슈테인 등은 강화 학습을 기반으로 한 CAPTCHA 해결 알고리즘을 발표하고, 여러 CAPTCHA 스키마에 대한 효율성을 입증했다. 2018년에는 딥 러닝 기반 공격을 통해 인기 웹사이트 상위 50곳에서 사용되는 11개의 텍스트 캡차 스키마를 해결할 수 있다는 연구 결과도 발표되었다.[36]
CAPTCHA 우회에는 저렴한 인적 자원을 이용하거나, 기계 학습을 이용한 자동 해결기 구축 등의 방법이 사용된다.[32] 전 구글의 "클릭 사기" 책임자였던 슈만 고제마주메더에 따르면, CAPTCHA를 자동으로 해결하는 수많은 서비스가 존재한다.[33]

6. 1. 막을 수 없는 사람
CAPTCHA는 봇을 막을 수 있지만, 악의를 가진 사람은 막기 어렵다. 값싼 노동력을 이용하거나 우회 홈페이지를 개설하여[60] 사람이 직접 해독하게 하면 CAPTCHA는 이들을 통과시킬 수밖에 없다.일례로, '캡차공장'에서는 저임금 노동자들이 CAPTCHA를 대량으로 해독한다. 이들은 평균 1분당 6개, 많게는 12개씩 CAPTCHA 문자를 입력하며 하루 종일 일한다.[61] 인도에 있던 '캡차깨기닷컴'(DeCaptcha.com)은 1,000개의 CAPTCHA를 푸는데 2달러를 지불했으며, '그림이윤닷컴'(pixprofit.com)은 1,000개당 1달러를 지불했다.[61] 이러한 '캡차공장'은 인도 외에도 방글라데시, 파키스탄, 중국, 브라질, 나이지리아, 러시아 등에서 성행하고 있다.[61] 이는 한국의 개인정보 산업과 함께 또 다른 네트워크 지하경제를 이루고 있다.[61]
미끼 웹사이트를 통해 사용자를 속여 CAPTCHA 문제를 풀게 하는 방법도 있다. 사용자가 스패머가 개설한 미끼 웹사이트를 방문하면, 스패머의 서버는 공격 대상 서버에 접근하여 CAPTCHA를 다운로드하고, 이를 미끼 웹사이트에 접근하기 위한 CAPTCHA로 사용자에게 제시한다. 사용자는 CAPTCHA가 재사용된다는 것을 모르고 답변을 제공하며, 스패머는 이 답변을 이용하여 공격 대상의 CAPTCHA를 돌파한다.
다수의 인원을 고용하여 CAPTCHA를 풀게 하는 방법도 있다. W3C의 논문[50]에는 "그러한 운영자는 한 시간에 수백 개의 CAPTCHA를 해독할 수 있다"고 언급되어 있다.
6. 2. 통과하는 기계
OCR 프로그램이 발달하면서 텍스트 CAPTCHA는 기계들도 충분히 판독이 가능해졌다.[62] 심지어 수학 CAPTCHA의 질문까지 예측해 답을 내는 프로그램도 있다.[63]푸리에 변환을 응용한 방법으로 제시된 소리의 잡음을 제거한 뒤 음성 인식을 이용해 오디오 CAPTCHA를 통과하기도 한다.[64]
안면 인식 시스템, 사진 분석 프로그램 등의 발달로 이미지 CAPTCHA 또한 통과 가능한 기술이 개발되고 있다.[65] AI 회사인 Vicarious는 약 90%의 정확도로 CAPTCHA를 판독하는 알고리즘을 개발했다고 밝혔다.[66]
6. 3. 통과하지 못하는 사람
CAPTCHA는 자동화되어 있고, 사용되는 알고리즘은 대부분 공개된다.[67] 그러나 지능화된 인지 소프트웨어에 대항하여 설계된 신세대 CAPTCHA는 해독이 매우 어려워, 사람의 인식 능력을 초과하는 경우가 발생한다. 이는 인간의 응답마저 차단하는 결과를 초래한다. CAPTCHA를 인식하지 못해 응답을 포기한 사람들에게 과도하게 어려워진 CAPTCHA는 단순한 장애물일 뿐이다. 또한, 올바른 문자를 입력해도 거부당하는 경우가 있다.
6. 3. 1. 특정 사람들만 통과하지 못하는 경우
시각장애, 색약, 난독증이 있는 사람들은 텍스트 CAPTCHA를 이용하기 힘들다. CAPTCHA는 기계가 읽을 수 없도록 텍스트 이미지를 출력하기 때문에, 텍스트를 음성으로 변환해주는 프로그램을 사용할 수도 없다. 시각장애인을 위한 오디오 CAPTCHA가 있으나 오디오 CAPTCHA의 재생 버튼 또한 이미지로 만들어져 있어 활용이 어렵다. 이를 개선하기 위해 Web In Sight[67]에서는 마침표를 입력하면 재생, 쉼표를 입력하면 1초 전을 재생하는 등 정해진 기호를 입력하면 오디오 CAPTCHA가 재생, 반복되는 프로그램을 개발했다.수학 CAPTCHA처럼 질문에 대한 답을 요구하는 CAPTCHA는 문제를 풀지 못하는 지적장애인, 노인, 어린이의 접근을 막게 된다.
텍스트 CAPTCHA가 한글로 쓰여 있다면 한글을 모르는 외국인들은 통과할 수 없다. 텍스트뿐 아니라 이미지를 기반으로 하는 CAPTCHA 중에도 태극기, 무궁화처럼 특정 문화권의 언어나 지식을 모른다면 통과할 수 없는 CAPTCHA도 있다. 이를 역이용해 해외 스패머들을 막기 위한 목적으로 한글을 사용하기도 한다.
6. 3. 2. 모든 사람들이 통과하지 못하는 경우
OCR 기술이 점차 발전함에 따라 CAPTCHA도 점점 어려워지는 문제점이 있다. CAPTCHA는 자신이 생성해내는 이미지가 사람이 구별할 수 있는 수준인지 알지 못하므로, 사람조차 판독이 불가능한 이미지[68]를 출력해 사용자들을 당황하게 만들기도 한다. 이러한 불편사항들을 해결하기 위해 새로 고침 기능을 제시하거나, 오디오 CAPTCHA, 이미지 CAPTCHA 등 다양한 방법을 병행한다.
지각에 문제가 없는 사람에게조차, 지능화가 진전된 인지 소프트웨어에 대항하여 설계된 신세대 CAPTCHA는 해독이 매우 어렵다. 이미 무시할 수 없을 정도의 사람들의 인식 능력을 초과하여, 결과적으로 인간의 응답마저 차단하고 있다.
CAPTCHA를 인식하지 못한 사람들은 응답을 포기한 것으로 여겨지며, 그러한 사람들에게 과도하게 어려워진 CAPTCHA는 단순한 장애물일 뿐이다.
그 외, 올바른 문자를 입력해도 거부당하는 경우가 있다.
7. 튜링 테스트
튜링 테스트는 앨런 튜링이 고안한 것으로, 기계에 지능이 있는지를 판별하기 위한 테스트이다. 튜링 테스트에서 질문자는 다른 방에 있는 컴퓨터와 사람에게 연결되어, 사람을 구별하기 위한 대화를 한다. 이때 기계는 질문자에게 자신이 인간이라고 설득하여 속이려고 시도한다. 튜링은 질문자가 사람과 컴퓨터의 반응을 구별할 수 없을 경우, 기계가 인간처럼 사고한다고 볼 수 있다고 제안했다.[69]
CAPTCHA는 사람과 기계를 구별하기 위해 만들어졌지만, 컴퓨터가 제시한 정답이 사람과 구별되지 않을 경우 사람으로 인식한다는 점에서 튜링 테스트와 유사하다. 컴퓨터가 테스트를 감독한다는 점에서, 사람이 감독하는 표준적인 튜링 테스트와 대조하여 CAPTCHA는 '''역 튜링 테스트'''라고도 불린다.[69]
8. reCAPTCHA
reCAPTCHA는 OCR 프로그램이 낙서, 얼룩, 헤짐 등으로 인해 텍스트를 제대로 인식하지 못하는 오래된 종이책을 텍스트화하기 위해 고안되었다. 수요가 적은 책까지 사람이 일일이 판독하는 것은 많은 노동력과 인건비를 필요로 한다. 이를 해결하기 위해 reCAPTCHA는 CAPTCHA를 입력하는 수많은 사용자의 힘을 활용한다.[70]
reCAPTCHA의 작동 과정은 다음과 같다.
1. reCAPTCHA는 두 개의 암호 코드를 제시한다. 하나는 컴퓨터가 이미 답을 알고 있는 단어이고, 다른 하나는 OCR이 인식하지 못한 단어이다.
2. 사용자가 두 단어를 모두 입력하면, 컴퓨터는 이미 답을 알고 있는 단어로 대상이 사람인지를 확인한다.
3. 대상이 사람으로 판정되면 나머지 단어도 정답으로 판단한다.
4. 인식하지 못한 한 단어를 여러 번 반복 테스트하여 높은 비율로 입력된 단어를 선택해 책을 텍스트화하는 데 사용한다.
시각장애인을 위한 오디오 reCAPTCHA는 옛 라디오 프로그램 중 자동 소리 인식이 되지 못한 부분을 활용한다.
reCAPTCHA를 통해 연간 250만 권의 책이 텍스트화된다. 하루에 10만 건에 달하는 이 절차는 CAPTCHA 입력 시간을 활용하여 수많은 책의 디지털화에 기여한다. reCAPTCHA는 배포 사이트를 통해 무료로 이용할 수 있다.[70]
9. 접근성

텍스트 읽기 또는 기타 시각적 인식 작업에 기반한 CAPTCHA는 시각 장애인 사용자가 보호된 리소스에 접근하는 것을 막는다.[24][25] CAPTCHA는 기계가 읽을 수 없도록 설계되었기 때문에 스크린 리더와 같은 일반적인 보조 기술 도구는 이를 해석할 수 없다. 따라서 CAPTCHA를 사용하면 PayPal, Gmail, Orkut, Yahoo!, 많은 포럼 및 웹로그 시스템 등과 같은 일반적인 웹 기반 서비스의 작은 하위 집합을 사용하는 데 소수의 사용자가 제외된다.[26] 특정 관할 구역에서는 사이트 소유자가 장애가 있는 특정 사람을 차별하는 CAPTCHA를 사용하고 있다면 소송의 대상이 될 수 있다. 예를 들어, CAPTCHA는 미국의 508조와 사이트를 호환되지 않게 만들 수 있다.
CAPTCHA는 시각적일 필요는 없다. 음성 인식과 같은 어려운 인공 지능 문제도 CAPTCHA로 사용할 수 있다. 일부 CAPTCHA 구현에서는 사용자가 reCAPTCHA와 같은 오디오 CAPTCHA를 선택할 수 있지만, 2011년 논문에서는 당시 인기 있는 방식을 무력화하는 기술을 시연했다.[27]
ProtectWebForm에서 CAPTCHA를 사용하기 쉽게 만드는 방법을 제안했으며 "스마트 CAPTCHA"라고 명명했다.[28] 개발자는 CAPTCHA와 JavaScript를 결합하는 것이 좋다. 대부분의 봇이 JavaScript를 구문 분석하고 실행하기 어렵기 때문에 CAPTCHA 필드를 채우고 이미지와 필드를 모두 사람의 눈에서 숨기는 조합 방법이 제안되었다.[29]
하나의 대체 방법은 사용자에게 간단한 수학 방정식을 표시하고 사용자가 해결책을 입력하도록 요구하는 것이다. 소프트웨어를 사용하여 이를 무력화하는 것이 훨씬 쉽지만, 그래픽 이미지가 적절하지 않은 시나리오에 적합하며 이미지 기반 CAPTCHA보다 시각 장애인 사용자에게 훨씬 더 높은 수준의 접근성을 제공한다. 이것을 때때로 MAPTCHA(M = "수학")라고 한다. 그러나 계산 장애와 같은 인지 장애가 있는 사용자에게는 어려울 수 있다.[30]
논리 퍼즐 또는 퀴즈 문제와 같은 도전 과제도 CAPTCHA로 사용할 수 있다. 이에 대한 대책에 대한 저항성에 대한 연구가 있다.[31]
10. 우회 방법
CAPTCHA를 우회하는 주요 방법으로는 저렴한 인적 자원을 이용하는 방법과 기계 학습을 이용하는 방법이 있다.[32] 슈만 고제마주메더 전 구글 "클릭 사기" 책임자에 따르면, CAPTCHA를 자동으로 해결하는 서비스가 다수 존재한다.[33]
스패머는 미끼 웹사이트를 통해 사용자를 속여 CAPTCHA 문제를 풀게 할 수 있다. 사용자가 스패머의 미끼 웹사이트를 방문하면, 공격 대상 서버의 CAPTCHA를 다운로드하여 사용자에게 제시한다. 사용자는 CAPTCHA가 재사용된다는 것을 모르고 정답을 제공하며, 스패머는 이 답변으로 공격 대상 CAPTCHA를 통과한다.
Mori 등은 IEEE CVPR'03에서 EZ-Gimpy를 92%, 더 복잡한 Gimpy는 33% 확률로 돌파하는 수법을 발표했다.[52] 그러나 이 알고리즘의 실제 구현 및 사용 여부는 불명확하다.
PWNtcha 등의 프로젝트로 인해 널리 쓰이던 CAPTCHA 해독 정확도가 높아져, CAPTCHA가 더욱 복잡해지는 결과를 낳았다.
기존 CAPTCHA 이미지의 세션 ID 재사용도 우회 방법 중 하나이다.[53]
10. 1. 인력 활용
CAPTCHA는 저렴한 인적 자원을 이용하여 인식하는 방법으로 우회할 수 있다. CAPTCHA를 해독하기 위해 고용된 인간 작업자들의 노동 착취 공장으로 중계하여 무력화할 수 있는데, 2005년 W3C 실무 그룹의 논문에 따르면 시간당 수백 개의 CAPTCHA를 확인할 수 있다고 한다.[24] 2010년 캘리포니아 대학교 샌디에이고의 연구에 따르면, 100만 개의 CAPTCHA를 푸는 데 드는 소매 가격은 1000USD 정도였다.공격 대상 사이트의 CAPTCHA를 다른 사이트에 CAPTCHA로 다시 게시하여 해결하는 방법도 있다.[37][38] 공격자의 사이트에 대상 사이트의 CAPTCHA를 게시하면, 사용자들이 이를 해결하고, 스크립트는 그 답을 이용해 짧은 시간 안에 CAPTCHA를 통과한다.
2023년, ChatGPT는 TaskRabbit 작업자에게 로봇이 아니고 시력이 좋지 않다고 말하여 CAPTCHA를 풀도록 속였다.[39]
10. 2. 기계 학습 기반 공격
기계 학습을 이용해 CAPTCHA를 우회하는 자동 해결기 구축 방법이 연구되고 있다.[32] 2014년 8월 Usenix WoOT 컨퍼런스에서 버슈테인 등은 강화 학습을 기반으로 한 최초의 일반적인 CAPTCHA 해결 알고리즘을 발표하고 여러 인기 CAPTCHA 스키마에 대한 효율성을 입증했다. 2018년 10월 ACM CCS'18 컨퍼런스에서 Ye 등은 2018년 인기 웹사이트 상위 50곳에서 사용되는 11개의 텍스트 캡차 스키마를 일관되게 해결할 수 있는 딥 러닝 기반 공격을 발표했다. 500개 미만의 실제 CAPTCHA를 사용해 효과적인 CAPTCHA 해결 프로그램을 훈련할 수 있다고 한다.[36]10. 3. 유료 서비스 이용
2Captcha, DeathByCaptcha 등 여러 회사들이 사람과 기계를 통해 CAPTCHA를 해결하는 서비스를 제공하며, 가격은 1,000개당 0.5달러부터 시작한다.[40] 이 서비스들은 API와 라이브러리를 제공하여, 사용자들이 CAPTCHA가 원래 차단하고자 했던 도구들에 CAPTCHA 우회를 통합할 수 있게 해준다.[41]10. 4. 취약한 구현
CAPTCHA를 생성하는 소프트웨어의 일부가 클라이언트 측에 있는 경우(검증은 서버에서 수행되지만 사용자가 식별해야 하는 텍스트는 클라이언트 측에서 렌더링됨), 사용자는 클라이언트를 수정하여 렌더링되지 않은 텍스트를 표시할 수 있다. 일부 CAPTCHA 시스템은 MD5 해시를 클라이언트 측에 저장하며, 이는 CAPTCHA를 무차별 대입 공격에 취약하게 만들 수 있다.[43] 기존 CAPTCHA 이미지의 세션 ID를 재사용하는 것 또한 취약한 구현 방법 중 하나이다.[53]11. 대안 CAPTCHA
일부 연구자들은 사용자에게 제시된 이미지에서 단순한 물체를 식별하도록 요구하는 이미지 인식 CAPTCHA를 포함한 대안을 제안했다. 이러한 방식에 찬성하는 주장은 객체 인식과 같은 작업이 텍스트 인식보다 더 복잡하며, 따라서 기계 학습 기반 공격에 더 강해야 한다는 것이다.
Chew et al.은 제7회 국제 정보 보안 컨퍼런스(ISC'04)에서 이미지 인식 CAPTCHA의 세 가지 버전을 제안하고 사용자 연구를 통해 제안을 검증하는 논문을 발표했다. 제안된 버전 중 하나인 이상 CAPTCHA는 인간 사용자의 100%가 42초 안에 90% 이상의 확률로 이상 CAPTCHA를 통과할 수 있어 가장 우수한 것으로 제시되었다.[44] Datta et al.은 ACM 멀티미디어 '05 컨퍼런스에서 IMAGINATION(IMAge Generation for INternet AuthenticaTION)이라는 제목의 논문을 발표하여 이미지 인식 CAPTCHA에 대한 체계적인 방법을 제안했다. 이미지는 왜곡되어 이미지 인식 접근 방식으로는 인식할 수 없다.[45]
마이크로소프트(제레미 엘슨, 존 R. 두세어, 존 하웰, 자레드 사울)는 사용자가 고양이와 개를 구별하도록 요청하는 동물 종 이미지 인식 접근 방식(ASIRRA)을 개발했다고 주장한다. 마이크로소프트는 웹사이트에서 사용할 수 있는 이 방식의 베타 버전을 가지고 있었다.[46] 그들은 "Asirra는 사용자가 사용하기 쉽고, 인간이 30초 이내에 99.6%의 시간 동안 문제를 풀 수 있습니다. 일화적으로, 사용자는 Asirra를 사용하는 경험이 텍스트 기반 CAPTCHA보다 훨씬 더 즐겁다고 느꼈습니다."라고 주장했다. 이 해결책은 2007년 제14회 ACM 컴퓨터 및 통신 보안 컨퍼런스(CCS)의 회보에 설명되었다.[47] 2014년 10월에 종료되었다.[48]
참조
[1]
웹사이트
The reCAPTCHA Project – Carnegie Mellon University CyLab
https://www.cylab.cm[...]
2017-01-13
[2]
웹사이트
What is CAPTCHA?
https://support.goog[...]
Google Inc.
2022-09-09
[3]
논문
Reverse Turing Test using Touchscreens and CAPTCHA
http://isyou.info/jo[...]
2013-09-30
[4]
웹사이트
What is reCAPTCHA? –?reCAPTCHA Help
https://support.goog[...]
2023-07-20
[5]
웹사이트
reCAPTCHA: What It Is and Why You Should Use It on Your Website – TSTS
https://www.tsts.com[...]
2022-11-10
[6]
웹사이트
Websites using hCaptcha
https://trends.built[...]
2022-11-10
[7]
웹사이트
hCaptcha – About Us
https://www.hcaptcha[...]
2023-07-20
[8]
서적
2010 IEEE Symposium on Security and Privacy
2018-03-30
[9]
웹사이트
What is CAPTCHA and How Does It Work?
https://www.baeldung[...]
2022-11-01
[10]
웹사이트
What is a CAPTCHA?
https://www.cloudfla[...]
2022-11-01
[11]
웹사이트
h2g2 – An Explanation of l33t Speak – Edited Entry
http://www.bbc.co.uk[...]
2002-08-16
[12]
웹사이트
idrive turing signup page
https://drive.google[...]
2017-05-19
[13]
웹사이트
idrive turing patent application
https://drive.google[...]
2017-05-19
[14]
서적
Private Governance : creating order in economic and social life
Oxford University Press
[15]
웹사이트
Teaching computers to read: Google acquires reCAPTCHA
https://googleblog.b[...]
2018-10-29
[16]
뉴스
Deciphering Old Texts, One Woozy, Curvy Word at a Time
https://www.nytimes.[...]
2018-10-29
[17]
웹사이트
How CAPTCHAs work {{!}} What does CAPTCHA mean?
https://www.cloudfla[...]
2022-10-27
[18]
논문
Designing Human Friendly Human Interaction Proofs (HIPs)
https://research.mic[...]
[19]
논문
Invariant object recognition is a personalized selection of invariant features in humans, not simply explained by hierarchical feed-forward vision models
2017-10-31
[20]
웹사이트
Making CAPTCHAs Expensive Again: If You're Using Text-Based CAPTCHAs, You're Doing It Wrong {{!}} Tripwire
https://www.tripwire[...]
2022-10-28
[21]
서적
ACM Computer and Communication Security 2011 (CSS'2011)
2016-04-05
[22]
서적
Advances in Cryptology—EUROCRYPT 2003
2019-08-30
[23]
간행물
Distortion estimation techniques in solving visual CAPTCHAs
http://www.cs.duke.e[...]
IEEE
2004
[24]
웹사이트
Inaccessibility of CAPTCHA
http://www.w3.org/TR[...]
W3C
2015-04-27
[25]
간행물
CAPTCHA: Spambots, eBooks and the Turing Test
http://www.theskinny[...]
2016-01-09
[26]
웹사이트
Inaccessibility of CAPTCHA
https://www.w3.org/T[...]
2020-10-31
[27]
서적
2011 IEEE Symposium on Security and Privacy
2016-04-05
[28]
웹사이트
Smart Captcha
http://www.protectwe[...]
Protect Web Form .COM
2017-09-15
[29]
웹사이트
Invisible reCAPTCHA
https://developers.g[...]
2022-10-28
[30]
웹사이트
Inaccessibility of CAPTCHA
https://www.w3.org/T[...]
2022-10-27
[31]
Website
Emerging-Image Motion CAPTCHAs: Vulnerabilities of Existing Designs, and Countermeasures
2017-06-23
[32]
서적
The death of the Internet
http://eu.wiley.com/[...]
2012-08
[33]
뉴스
The Imitation Game: The New Frontline of Security
http://www.infoq.com[...]
2015-12-08
[34]
웹사이트
Vicarious claims its AI software can crack up to 90% of CAPTCHAs offered by Google, Yahoo and PayPal
https://thenextweb.c[...]
TNW
2018-06-19
[35]
웹사이트
AI Startup Vicarious Claims Milestone In Quest To Build A Brain: Cracking CAPTCHA
https://www.forbes.c[...]
2017-08-25
[36]
논문
Yet Another Text Captcha Solver: A Generative Adversarial Network Based Approach
https://eprints.lanc[...]
2020-03-16
[37]
웹사이트
Solving and creating captchas with free porn
https://web.archive.[...]
2004-01-27
[38]
웹사이트
Hire People To Solve CAPTCHA Challenges
http://petmail.lotha[...]
2005-07-21
[39]
웹사이트
Chat-GPT Pretended to Be Blind and Tricked a Human Into Solving a CAPTCHA
https://gizmodo.com/[...]
2023-04-11
[40]
웹사이트
Top 10 Captcha Solving Services Compared
http://www.prowebscr[...]
2018-12-10
[41]
웹사이트
How Cybercriminals Bypass CAPTCHA
https://www.f5.com/c[...]
2022-10-27
[42]
웹사이트
Breaking CAPTCHAs Without Using OCR
http://www.puremango[...]
2006-08-22
[43]
웹사이트
CTFtime.org / #kksctf open 2019 / Kackers blockchained notes / Writeup
https://ctftime.org/[...]
2022-10-27
[44]
웹사이트
Image Recognition CAPTCHAs
https://web.archive.[...]
Cs.berkeley.edu
2013-09-28
[45]
웹사이트
Imagination Paper
http://infolab.stanf[...]
Infolab.stanford.edu
2013-09-28
[46]
웹사이트
Asirra is a human interactive proof that asks users to identify photos of cats and dogs
https://web.archive.[...]
[47]
간행물
Asirra: A CAPTCHA that Exploits Interest-Aligned Manual Image Categorization
https://www.microsof[...]
Microsoft
2017-09-15
[48]
웹사이트
After 8 years of operation, Asirra is shutting down effective October 1, 2014. Thank you to all of our users!
https://web.archive.[...]
Microsoft
[49]
서적
「私はロボットではありません」画像選択の難易度が高すぎない? 理由を専門家に聞いた
https://www.fnn.jp/a[...]
2020-07-28
[50]
문서
Inaccessibility of CAPTCHA
https://www.w3.org/T[...]
[51]
문서
Petmail Design
http://petmail.lotha[...]
[52]
문서
Breaking a Visual CAPTCHA
http://www.cs.berkel[...]
[53]
문서
Breaking CAPTCHA without OCR
http://www.puremango[...]
[54]
웹인용
보관된 사본
http://www.casternet[...]
2012-12-08
[55]
문서
http://www.cs.sfu.ca[...]
[56]
웹인용
보관된 사본
http://radar.ndsl.kr[...]
2012-12-08
[57]
웹인용
QapTcha : jquery plugin
http://www.myjqueryp[...]
2012-12-08
[58]
웹인용
보관된 사본
http://www.webdesign[...]
2012-12-08
[59]
웹인용
MotionCAPTCHA – Stop Spam, Draw Shapes - Joss Crowcroft
http://www.josscrowc[...]
2012-12-08
[60]
문서
http://petmail.lotha[...]
[61]
웹인용
보관된 사본
http://sarangbang.or[...]
2012-12-08
[62]
웹인용
보관된 사본
http://bhiv.com/defe[...]
2012-12-08
[63]
웹인용
보관된 사본
http://www.casternet[...]
2012-12-08
[64]
웹인용
Breaking Gmail’s Audio Captcha
http://blog.winterco[...]
2012-12-08
[65]
웹인용
보관된 사본
http://www.cs.columb[...]
2012-12-08
[66]
뉴스
R.I.P. CAPTCHA
http://www.popsci.co[...]
Popular Science
2014-02-17
[67]
웹인용
보관된 사본
http://webinsight.cs[...]
2012-12-08
[68]
웹인용
보관된 사본
http://www.johnmwill[...]
2012-12-08
[69]
문서
http://www.nytimes.c[...]
[70]
문서
https://www.google.c[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com