reCAPTCHA

덤프버전 :


reCAPTCHA
리캡차[1]

파일:reCAPTCHA 로고.svg
출시일
2007년 5월 27일
개발
v1: 카네기 멜런 대학교 연구팀
v2 이후: 구글
개발자
루이스 폰 안[2] 外 4명[3]
링크
파일:구글 Developers 아이콘.svg | 파일:reCAPTCHA 아이콘.svg

1. 개요
2. 버전
2.1. v1 - CAPTCHA (지원 종료)
2.2. v2 - 체크박스, 능동
2.3. v3 - 상호작용 점수
3. 여담



1. 개요[편집]


Easy on Humans, hard on Bots

사람에게는 쉽지만, 봇에게는 어렵습니다.


컴퓨터 봇에 의한 스팸, 해킹 등을 방지하기 위해 개발한 테스트인 CAPTCHA의 후속 버전.

reCAPTCHA는 구글에서 제공하는 봇 방지 API로, 최신 버전은 v2이며 v3의 베타 버전이 나와있다.


2. 버전[편집]



2.1. v1 - CAPTCHA (지원 종료)[편집]


CAPTCHA의 종류 중 많이 쓰이는 reCAPTCHA라는 것은 사실 구글에서 고서의 내용을 처리하는데 사용되고 있다. 이것의 정체는 구글이 보유하고 있는 고서 스캔 데이터에서 자동 처리에 실패한 단어들의 이미지를 따온 뒤, 그것을 사람이 보고 입력하도록 함으로써 이미지를 텍스트로 바꾸는 프로그램이다. 즉, 한마디로 말하자면 인간 OCR 프로그램.[4] 이 때문에 reCAPTCHA에 나오는 단어 중에는 옛날에나 사용되던 좀 생소한 단어들이 섞여 있다.

reCAPTCHA에서 나오는 문제를 보면 꼭 단어가 두 개씩 짝을 이루어서 나온다. 둘 중 하나는 이미 연산을 통해 데이터로 처리가 된 단어고, 나머지 하나는 아직 처리가 안 된 단어다. 전자는 답이 밝혀져 있으며 후자는 답이 밝혀져있지 않으나 전자를 맞히면 (사람이 입력한 이상) 후자도 정답일 확률이 높다고 처리하는 식으로 연산하는 것.

2014년 4월 10일에 중국 연구팀이 reCAPTCHA v1의 해킹을 성공했다.#[5][6]

2018년 5월 31일 지원 종료되어 더이상 사용할 수 없다.


2.2. v2 - 체크박스, 능동[편집]


파일:다른 뜻 아이콘.svg
은(는) 여기로 연결됩니다.
나무위키에 적용된 CAPTCHA에 대한 내용은 나무위키/CAPTCHA 문서
나무위키/CAPTCHA번 문단을
나무위키/CAPTCHA# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
, {{{#!html }}}에 대한 내용은 문서
#s-번 문단을
#s-번 문단을
# 부분을
# 부분을
참고하십시오.




reCAPTCHA v2 소개 영상
나무위키를 비롯한 여러 웹사이트에서 채택한 방식이며 간단하여 가장 인기 있는 타입. 기존의 캡차는 사람조차 알아보기 힘들어서 가끔 사람도 오타를 낸다. 이러한 문제를 해결하기 위해 구글에서는 2014년 12월 노 캡차(No CAPTCHA)를 개발했다. 체크박스를 체크해서 통과하는 'I'm not a robot'과 유동적으로 뜨는 'Invisible'이 있다.

통상적인 경우 사람 특유의 마우스 포인팅, 클릭과 터치 패턴, 쿠키 값, 기타 알려지지 않은 구분방법을 통해 구별해 낸다. 근데 사실 특유의 마우스 포인팅이라고 해봐야, 느리게 포인트를 비스듬하게 움직이면 되니 어렵진 않다.[7] 보통 스마트폰이나 태블릿 PC의 경우 포인팅 인식이 제대로 안 되거나 되더라도 보통 움직임을 캐치하기가 힘든데, 이 경우 몇몇 부분을 바꿔가면서 터치하면 역시 통과할 수 있다.[8]

Cloudflare 적용 사이트의 경우 자체 봇 검증 페이지에서 리캡차와 유사한 hcaptcha를 사용한다. 체크를 클릭하는 방식은 유사하지만 높은 확률로 이미지 선택 창이 뜨며 리캡차와 달리 사물을 선택하라는 종류가 많은 편이다. DALL-E 인공지능의 상용화 후에는 구글에서 퍼온 이미지 대신 Ai 생성 이미지를 사용하는데, 가끔씩 기괴한 것이 튀어나오기도 한다.[9]

파일:캡챠수원.jpg

만약 클릭 단계에서 사람인지 확신할 수 없는 경우, 맞는 그림 찾기가 실행된다. 그 때마저도 사람과 구분이 안된다면 전통적인 캡차를 실행한다. 마지막까지도 사람인지 봇인지 확인할 수 없거나 무료 VPN 등으로 많은 유저가 같은 아이피를 이용하고 있는 경우에는 오류창이 뜨면서 '잠시 후에 다시 시도하라'고 하기도 한다. 이 경우 일정 시간이 지나기 전까지 서비스 이용이 불가능하다.

파일:리캡챠_실패.png

어째 4chan에서는 가끔씩 개그의 대상이 되기도 한다. 샌드위치를 고르라는데 햄버거까지 골라야 하거나, 지속적으로 피자만 나와서 배가 고파진다는 등. 사실 틀린 것은 아닌 게, 햄버거는 '햄버거 샌드위치'의 줄임말이고 햄버거도 원래 샌드위치의 일종이다. 미국의 경우 치킨버거를 '치킨 샌드위치'라고 부르는 경우가 많다.

사물 인식은 사진이 작고 잘 보이지 않아 어려울 때도 있다. 생전 들어본 적도 없는 것을 고르라고 하면 당황스럽다. 아는 것을 고르라고 해도 문화 차이로 인해서 고르기 어려운 경우도 있다. 대표적인 예로 신호등이 있다. 도로 위에 달려있으면 신호등이 맞겠지만 각 나라마다 모양이 은근히 다르다. 또한 다른 언어 사용자들도 어려움을 겪기도 하는데, 한글 표시중에서 당구대(pool table)를 고르라는 캡챠가 "수영장 탁자를 고르시오"로 오역되었다. 이는 수영장과 당구가 영어로 동음이의어(pool)라서 벌어진 해프닝. 오토바이(bike)를 그냥 자전거라고 번역해서 자전거를 찾으라는데 자동차와 오토바이 그림만 나오는 경우도 있다. 특히 그림 몇개를 골랐는데 덜 골랐다고 판정하여 초기화시키고 다른 것을 고르라고 하면 화가 안 날 수가 없다. 그나마 이후에는 그림을 덜 골랐으면 해당 그림들을 제외하고 나머지 그림 중에서 더 고르라는 식으로 개선되었다.

그리고 가끔 고양이 코스프레한 강아지가 나오는 등 상당히 헷갈리는 상황이 나오기도 한다. 이 때는 강아지로 인식된다.

문제는 애매한 사진이 아닌 명백한 사진을 모두 정확히 골랐는데도 자꾸 틀렸다며 통과를 시켜주지 않거나, 아예 통과되었다고 해놓고 처음으로 돌아가버리는 무한루프가 자주 생긴다는 것. 프로그램상의 오류인지 접속자 개개인의 브라우저 환경 문제인지 불분명하나 여기에 걸리면 매우 짜증이 난다. 불안 요소가 있는 프로그램을 강제로 통과하게 만들어 로그인도 못하게 만드는 불편함을 유발하는 셈.

'로봇이 아닙니다'라는 문장 때문에 인격을 가진 캐릭터들이 로봇이라는 이유로 reCAPTCHA를 쓰지 못한다는 밈도 있다.

구글이 자율주행차를 본격적으로 연구하기 시작한 후에는
  • ○○○이 있는 타일을 모두 찍기. 하나도 없을 때까지: 처음에는 주로 차량, 매장 정문이었다. 타일을 선택하면 다음 타일이 굉장히 느린 속도로 나와 답답하다. 사용자 신뢰도가 높을 경우 타일이 빨리 나오거나 한 타일을 한 번만 찍고 끝나는 유형도 나오기는 한다.
  • 16개 타일 중 ○○○이 있는 타일을 모두 찍기: 처음에는 주로 표지판이었다. 첫번째 유형은 사진 하나를 찍었을 때 다른 사진으로 바뀔 때까지의 딜레이가 꽤 길고, 두번째 유형은 ○○○이 겨우 눈곱만큼만 걸쳐져 있는 타일이 있는 경우가 많은데 이걸 찍을 것인가 말 것인가 긴 고민에 빠지기 쉽다. 보통은 눈곱만큼 걸처져 있으면 정답으로 판정하지 않는 경우가 있다.

이 버전의 리캡챠는 자율 주행 자동차, 구글 맵스에 대한 인식 데이터로서 수집된다고 한다.

구글 측 인공지능도 답을 확정적으로 안다기보다는 인식 결과에 대한 신뢰성을 높이는 차원일 가능성이 높기 때문에 터무니없는 곳을 찍지만 않으면 많이 걸친 부분만 찍든 전체를 여백까지 다 찍든 정상적으로 통과될 때가 더 많다. 가끔 첫번째 유형에서 선택하고 난 다음 그 자리에 사진이 다시 뜨지 않을 때가 있는데, 대부분 선택하지 말고 무시하고 진행하면 통과된다. 특히나 자율주행차는 야간에서의 사물 식별도 가능해야 하는데, 레이저, 적외선, 초음파 인식으로 모든 것을 식별할 순 없으니만큼 나중에 야간 사진도 나올 가능성을 배제할 수 없다.

와이파이가 불안정한 환경[10]이나 Tor(익명 네트워크)를 사용하고 있다면 문제를 다 맞혔는데 'reCAPTCHA에 연결할 수 없습니다. 다시 시도해 주세요.'와 같은 메시지가 떠서 기껏 풀어놓은거 다 날려먹는 황당한 경우도 존재한다. 혹은 아무리 그림을 찍어도 다음 테스트로만 넘어갈 뿐 정작 그림 찍기 작업 자체는 끝나지 않는 무한 루프 비슷한 상황에 빠질 때도 있다.

중국 대륙에서는 구글차단되어 있기 때문에 캡차가 적용된 사이트 역시 이용할 수 없다.

나무위키의 비로그인 사용자는 수정하기 전에 CAPTCHA 인증[11]을 해야한다. 같은 아이피일 경우 쿠키가 지워지지 않았다면 reCAPTCHA 한 번으로 이후엔 다시 인증할 필요 없이 지속해서 위키사용이 가능하다.[12]

사실 나무위키든 어디든 이런 유형의 reCAPTCHA를 통과해야 하는 작업을 바쁜 일이 있을 때 하는 것은 권장하지 않는다. 가령 등교 시간이나 출근 시간 몇 분 전이라든지.

2020년 2월부터 일부 PC에서 reCAPTCHA 체크박스를 클릭하면 API 매개변수 오류가 뜬다.# 4월 19일 기준 해결 방법은 KMSpico를 사용하는 경우 라이센스를 구입하여 정품으로 전환하고 다른 크랙을 쓰든가, TouchVPN같은 VPN 부가 기능을 이용하거나 파이어폭스 브라우저를 이용하면 정상적으로 작동된다.

reCAPTCHA를 단시간 내에 수십 번 실행하다보면 테스트 통과 기준이 점점 까다로워진다. 테스트를 두 번 하는 경우가 빈번해지며, 하나도 없을 때까지 ○○○이 있는 타일을 모두 선택하는 유형이 자주 나오게 된다. 더 나아가면 이 유형에 화질 저하 효과까지 포함되며, 마지막에는 다섯 번 연속으로 테스트를 진행하며, 이때 높은 확률로 다시 해야 한다. 이 정도 왔으면 쉬었다 하자.


2.3. v3 - 상호작용 점수[편집]


reCAPTCHA v3 소개 영상

reCAPTCHA v3는 웹 사이트에서의 상호작용을 기반으로 작동한다. 즉 v2와는 다르게 직접 인증을 할 필요가 없다.

이 상호작용은 ARAE(Adaptive Risk Analysis Engine)를 기반으로 '좋은 상호작용(Good Interaction)'과 상호작용(Interaction)'으로 나누어지는데 전자의 경우 1.0의 점수를 주며, 후자는 0.0점을 준다. 점수가 높을수록 사람으로 확인하며, 낮으면 대부분 봇으로 식별한다. 공식적인 사용 예는 다음과 같다.

  • 홈페이지: 스크래퍼를 필터링하는 동안 관리 콘솔에서 트래픽을 일관적으로 볼 수 있다.
  • 로그인: 점수가 낮으면 이중 인증(2FA)나 이메일 인증을 요구해서 무차별 대입 공격(브루트포스)를 막을 수 있다.
  • 소셜: 악성 유저의 친구 요청을 제한하고 위험한 댓글을 검토로 보낼 수 있다.
  • 전자상거래: 봇보다 먼저 판매할 수 있고 위험한 사기 거래를 식별할 수 있다.

일단 대표적으로 알려진 식별 방법은 '마우스 추적'이며, v2와 동일할 것으로 보인다. API 응답은 v2와 동일하게 true와 false가 있으며, score(점수), action, challenge_ts(타임스탬프), hostname, error-codes가 있다.

v2가 통과 / 비통과 두가지만 알 수 있는 점과 비교해 보면 발전된 형태지만, 점수를 확인해야 하는 특성상 대다수 리캡차 사용 사이트는 여전히 v2를 사용하고 있고 구글 역시 v2를 계속 지원 중이다.


3. 여담[편집]


  • 파일:낚시용 reCAPTCHA.png
파일:낚시용 리캡챠.jpg
낚시용 리캡차도 존재한다. 주로 사이트 UI의 일부인 것처럼 보이게 해 사용자가 무의식적으로 클릭하면 다른 링크로 보내버리는 식.
특히 reCAPTCHA v2부터 트레이드마크로 자리잡은 "I'm not a robot" 문구를 비틀어 "I'm a robot"으로 교묘하게 바꾸는 경우도 있다.
  • 로봇 캐릭터가 등장하는 대중 매체의 경우 2차 창작에서 로봇 캐릭터가 한 사이트에 접속하려다가 I'm not a robot 체크박스가 뜨는 것을 보고 멘붕하거나, 사악한 웃음을 지으며 체크표시를 누르는 경우도 있다. 그 뒤로 또 퍼즐이 나올 때 멘붕하는 경우도 나온다.
  • 인공지능으로 모니터 앞에 있는 대상이 진짜 사람인지 평가한다는 취지는 좋지만, 아직 제대로 발전이 되지도 않은 상태에서 성급하게 도입했다는 평가도 있다.
  • 대탈출4 럭키 랜드 편에서는 엄청나게 복잡하고 10초의 제한 시간이 있는 리캡챠가 나왔는데 단순한 그림에서 포유류를 고르라고 한다거나 호동냥이 등이 섞여있는 데에서 고양이를 눌러야 했다.
  • 파일:우크라이나의 사키 공항 조롱.jpg
아래 사진에서 '비행기'가 포함된 사진을 눌러주세요.

만약 없다면 건너 뛰어주세요.
2022년 8월 9일, 우크라이나 전쟁에서 크림 반도의 러시아군 공항이 우크라이나군의 미사일로 초토화 되는 사건이 벌어졌는데, 이때 우크라이나 공군의 공식 계정이 위 사진의 짤방을 올리며 신나게 조롱했다. 폭격으로 인해 러시아 쪽의 전투기가 거의 없어지다시피 해서 이를 비꼰 것인데, 여기에 쓰인 탬플릿은 사실 reCAPTCHA가 아니라 hCaptcha라는 다른 종류의 캡차이다.
[1] ‘리캡챠’라고 부르기도 한다.[2] Luis von Ahn, 듀오링고의 공동 개발자이다.[3] Ben Maurer, Colin McMillen, Harshad Bhujbal, Manuel Blum[4] 이런 식으로 자기도 모르는 새에 인간 고유의 지적 능력을 아주 조금이나마 갖다 바치도록 하는 기법을 ‘인간 기반 연산’이라고 한다. 이 분야의 선도주자는 미국 카네기 멜런 대학교의 루이스 본 안 교수. 이 교수는 reCAPTCHA 기술을 2009년에 구글에 팔았다.[5] 링크 삭제[6] 영상에서 우리는 사악하지 않으며, 해킹을 지지하지 않는다고 했다. 캡차 자체가 말 그대로 튜링 테스트 중 하나이다보니 인공지능 연구를 하려면 필연적으로 만나게 된 문제였을 뿐이다. 영상을 제작한 연구팀은 사람의 인지심리를 파악하고 이해하는 인공지능을 개발하는 중이다.[7] 이것도 많이 발전한 것이다. v1 시절에는 마우스를 마구 흔들면 무조건 통과였다.[8] 다만 웹사이트 설정에 따라서는 이 방법을 사용하지 않고 바로 밑으로 넘기는 경우도 존재한다.[9] 동물 사진들이 나오는데 소의 다리가 5개가 되거나, 몸은 고양이인데 얼굴은 강아지인 이상한 결과물이 튀어나오는 경우가 대표적.[10] 공유기가 구형이라서 신호 수신율이 약하거나 핑이 잔뜩 튈 때 등등.[11] "로봇이 아닙니다" 라고 쓰여있는 박스 옆 빈칸에 체크 표시를 하기 위한 인증.[12] 다만 캡챠 인증 박스가 인증 없이 다시 뜨는 경우도 있으며 토론 개최, 문서 생성 및 삭제, 편집 요청, 문서 이동 등을 할 때는 로그인 사용자도 CAPTCHA 인증이 필요하다.

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r324 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}}에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r324 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)
문서의 r5002 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)




파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-06 20:56:28에 나무위키 reCAPTCHA 문서에서 가져왔습니다.