My IBM 로그인 구독하기
CAPTCHA란 무엇인가요?

CAPTCHA란 무엇인가요?

IBM의 CAPTCHA 솔루션 살펴보기 보안 주제 업데이트 구독 신청하기
CAPTCHA가 봇의 위협을 방지하기 위해 사용자를 사람으로 인증하는 방법을 보여주는 일러스트
CAPTCHA란 무엇인가요?

CAPTCHA란 무엇인가요?

CAPTCHA는 '컴퓨터와 사람을 구분하는 완전히 자동화된 공개 튜링 테스트*'의 약자입니다. 사용자를 봇이 아닌 인간으로 검증하는 다양한 인증 방법을 의미하며, 인간에게는 간단하지만 기계에게는 어려운 문제를 제시합니다.

CAPTCHA 사기꾼과 스팸 발송자가 봇을 사용하여 악의적인 목적으로 웹 양식을 작성하는 것을 방지합니다.

기존 CAPTCHA의 경우 사용자가 광학 문자 인식(OCR) 기술로 해석할 수 없는 왜곡된 텍스트를 읽고 올바르게 다시 입력해야 했습니다. 최신 버전의 CAPTCHA 기술은 AI 기반 행동 및 위험 분석을 사용하여 단일 작업이 아닌 활동 패턴을 기반으로 인간 사용자를 인증합니다.

많은 웹사이트는 사용자가 계정 프로필에 로그인하거나, 등록 양식을 제출하거나, 댓글을 게시하거나, 해커가 봇을 사용하여 수행할 수 있는 기타 작업을 수행하기 전에 CAPTCHA 챌린지를 완료하도록 요구합니다. 챌린지를 완료함으로써 사용자는 자신이 인간임을 확인하고 웹사이트에서 활동을 계속할 수 있습니다.

* 튜링 테스트는 창시자 Alan Turing의 이름을 딴 것으로, 기계가 인간의 지능을 발휘하는 능력을 테스트합니다.

IBM Security X-Force Threat Intelligence 인덱스

IBM Security X-Force Threat Intelligence Index를 통해 더 빠르고 효과적으로 사이버 공격에 대비하고 대응할 수 있는 인사이트를 확보하세요.

관련 내용 데이터 유출 비용 보고서 등록 데모 대화형 데모를 살펴보고 보안과 사용자 경험의 균형을 맞추는 방법을 알아보세요.
CAPTCHA의 진화

CAPTCHA의 진화

여러 그룹이 1990년대 후반과 2000년대 초반에 초기 형태의 CAPTCHA 기술을 동시에 개발했습니다. 각 그룹은 인터넷에서 불법적인 활동을 위해 봇을 사용하는 해커들의 광범위한 문제를 해결하기 위해 노력했습니다. 예를 들어, 검색 엔진 AltaVista에서 일하는 컴퓨터 과학자들은 봇이 회사의 링크 데이터베이스에 악성 웹 주소를 추가하는 것을 막고자 했습니다.

IT 회사인 Sanctum의 연구원들은 1997년에 최초의 CAPTCHA 스타일 시스템을 제출했습니다. 그러나 Luis von Ahn과 Manuel Blum이 이끄는 Carnegie Mellon University의 컴퓨터 과학 연구원 그룹이 2003년에 CAPTCHA라는 용어를 처음 도입했습니다. 이 팀은 수백만 개의 가짜 이메일 계정에 가입하는 스팸봇과 관련된 회사의 문제에 대해 이야기한 Yahoo 임원으로부터 이 기술에 대한 영감을 받았습니다.

Yahoo의 문제를 해결하기 위해 von Ahn과 Blum은 다음을 수행하는 컴퓨터 프로그램을 만들었습니다.

  1. 임의의 텍스트 문자열을 생성합니다.
  2. 해당 텍스트의 왜곡된 이미지('CAPTCHA 코드'라고 함)를 생성합니다.
  3. 사용자에게 이미지를 표시합니다.
  4. 사용자에게 양식 필드에 텍스트를 입력한 다음 '로봇이 아닙니다.'라는 문구 옆의 확인란을 클릭하여 항목을 제출하도록 요청합니다.

당시의 OCR 기술은 이렇게 왜곡된 텍스트를 해독하는 데 어려움을 겪었기 때문에 봇은 CAPTCHA 챌린지를 통과할 수 없었습니다. 사용자가 올바른 문자열을 입력하면 사용자가 사람이라고 확실하게 가정할 수 있으며 계정 등록 또는 웹 양식 제출을 완료할 수 있습니다.

Yahoo는 Carnegie Mellon의 기술을 구현하여 모든 사용자가 이메일 주소를 등록하기 전에 CAPTCHA 테스트를 통과하도록 요구했습니다. 이를 통해 스팸봇 활동이 크게 줄어들었고 다른 기업들도 웹 양식을 보호하기 위해 보안 문자를 채택하기 시작했습니다. 그러나 시간이 지남에 따라 해커는 완료된 CAPTCHA 챌린지의 데이터를 사용하여 CAPTCHA 테스트를 안정적으로 통과할 수 있는 알고리즘을 개발했습니다. 이는 CAPTCHA 개발자와 사이버 범죄자 간의 지속적인 경쟁의 시작을 의미했고, 이는 CAPTCHA 기능의 발전을 촉진했습니다.

reCAPTCHA v1

von Ahn이 2007년에 출시한 reCAPTCHA v1은 두 가지 목표를 가지고 있었습니다. 바로 텍스트 기반 CAPTCHA 챌린지를 봇이 해독하기 어렵게 만들고, 당시 인쇄된 텍스트를 디지털화하는 데 사용하던 OCR의 정확도를 개선하는 것이었습니다.

reCAPTCHA는 사용자에게 표시되는 텍스트의 왜곡을 증가시키고 결국 텍스트에 선을 추가함으로써 첫 번째 목표를 달성했습니다.

또한 무작위로 생성된 왜곡된 텍스트의 단일 이미지를 두 개의 다른 OCR 프로그램으로 실제 텍스트에서 스캔한 단어의 왜곡된 텍스트 이미지 두 개로 대체하여 두 번째 목표를 달성했습니다. 첫 번째 단어 또는 제어 단어는 두 OCR 프로그램 모두에서 올바르게 식별된 단어였습니다. 두 번째 단어는 두 OCR 프로그램이 모두 식별하지 못한 단어였습니다. 사용자가 제어 단어를 올바르게 식별한 경우 reCAPTCHA는 사용자가 사람이라고 가정하고 작업을 계속할 수 있도록 허용했으며, 사용자가 두 번째 단어를 올바르게 식별한 것으로 가정하고 향후 OCR 결과를 확인하는 데 응답을 사용했습니다.

이러한 방식으로 reCAPTCHA는 봇 방지 보안을 개선하고 Internet Archive와 New York Times에서 디지털화되는 텍스트의 정확성을 개선했습니다. 아이러니하게도 시간이 지나면서 2014년에는 가장 왜곡된 텍스트 CAPTCHA 99.8% 식별할 수 있을 정도로 인공 지능머신 러닝 알고리즘을 개선하는 데도 도움이 되었습니다.

2009년 Google은 reCAPTCHA를 인수하여 Google Books의 텍스트를 디지털화하는 데 사용하기 시작했으며 다른 조직에 서비스로 제공했습니다. 그러나 reCAPTCHA의 도움으로 OCR 기술이 발전함에 따라 텍스트 기반 reCAPTCHA를 효과적으로 해결할 수 있는 인공 지능 프로그램도 발전했습니다. 이에 대응하여 Google은 2012년에 이미지 인식 reCAPTCHA를 도입하여 왜곡된 텍스트를 Google 스트리트 뷰에서 가져온 이미지로 대체했습니다. 사용자는 가로등이나 택시와 같은 실제 물체를 식별하여 인간성을 입증했습니다. 이러한 이미지 기반 reCAPTCHA는 현재 봇이 배포하는 고급 OCR을 우회할 뿐만 아니라 모바일 앱 사용자에게 더 편리한 것으로 간주되었습니다.

Google reCAPTCHA v2: No CAPTCHA reCAPTCHA

2014년 Google은 텍스트 및 이미지 기반 챌린지를 '로봇이 아닙니다.'라는 간단한 확인란으로 대체한 reCAPTCHA v2를 출시했습니다. 사용자가 확인란을 선택하면 reCAPTCHA v2는 사용자와 웹페이지의 상호 작용을 분석하여 입력 속도, 쿠키, 디바이스 기록, IP 주소와 같은 요소를 평가하여 사용자가 사람일 가능성이 높은지 여부를 판단합니다. 이 확인란은 CAPTCHA 작동 방식의 일부이기도 합니다. no CAPTCHA reCAPTCHA는 사용자가 확인란을 클릭할 때 마우스의 움직임을 추적합니다. 사람의 움직임은 더 혼란스러운 경향이 있는 반면, 봇의 움직임은 더 정밀합니다. no CAPTCHA reCAPTCHA는 사용자가 봇일 가능성이 있다고 의심될 경우 이미지 기반 CAPTCHA 챌린지를 표시합니다. 

reCAPTCHA v3

2018년에 출시된 reCAPTCHA v3는 확인란을 없애고 no CAPTCHA reCAPTCHA의 AI 기반 위험 분석을 확장했습니다. ReCAPTCHA v3는 JavaScript API를 통해 웹페이지와 통합되고 백그라운드에서 실행되며, 사용자의 행동을 0.0(봇일 가능성)부터 1.0(인간일 가능성)까지의 척도로 채점합니다. 웹사이트 소유자는 사용자의 점수가 봇일 수 있음을 시사하는 특정 순간에 트리거되도록 자동화된 작업을 설정할 수 있습니다. 예를 들어, 점수가 낮은 사용자의 블로그 댓글은 '제출'을 클릭하면 검토 대기열로 보내지거나 점수가 낮은 사용자가 계정에 로그인을 시도할 때 다단계 인증 프로세스를 완료하라는 메시지가 표시될 수 있습니다.

reCAPTCHA v3와 같은 AI 기반 인증 방법은 해커의 문제를 피하고자 합니다. CAPTCHA 인증 프로세스에서 대화형 챌린지를 제거함으로써 해커가 이전에 해결한 챌린지의 데이터를 사용하여 새로운 CAPTCHA를 해독하도록 봇을 학습시키는 것을 방지합니다. 이 때문에 전문가들은 AI 기반 CAPTCHA가 향후 5~10년 내에 챌린지 기반 CAPTCHA를 완전히 대체하는 표준이 될 것이라고 믿고 있습니다.

CAPTCHA 사용 사례

CAPTCHA 사용 사례

CAPTCHA 기술은 봇 탐지 및 방지 수단으로 다음과 같은 몇 가지 일반적인 용도로 사용됩니다.

  1. 허위 등록 방지
  2. 의심스러운 거래로부터 보호
  3. 온라인 투표 무결성 보호
  4. 댓글 및 제품 리뷰 스팸 방지
  5. 무차별 대입 및 사전 공격에 대한 방어

허위 등록 방지

이메일 계정, 소셜 미디어 프로필 또는 기타 온라인 서비스에 가입하기 전에 사용자에게 CAPTCHA 테스트를 제공함으로써 회사는 이러한 서비스를 사용하여 스팸 또는 맬웨어를 퍼뜨리거나 악의적인 활동을 수행하는 봇을 차단할 수 있습니다. CAPTCHA의 얼리 어답터는 Yahoo, Microsoft 및 AOL과 같은 회사로, 봇이 가짜 이메일 계정에 등록하는 것을 막고자 했습니다.

의심스러운 거래로부터 보호

Ticketmaster와 같은 회사는 CAPTCHA를 사용하여 봇이 콘서트 티켓과 같은 제한된 상품을 구매하여 2차 시장에서 재판매하는 것을 방지했습니다.

온라인 투표 무결성 보호

봇은 CAPTCHA와 같은 억제 수단이 없으면 온라인 투표에 개입할 수 있습니다. 온라인 투표 결과의 무결성을 보호해야 할 필요성 때문에 CAPTCHA와 같은 기술에 대한 초기 실험이 이루어졌습니다. 예를 들어, 1996년 미국 대통령 선거 기간 동안 온라인 여론조사의 품질을 보장하기 위해 Digital Equipment Corporation은 사용자에게 투표를 하기 전에 웹 페이지에서 픽셀화된 국기 이미지를 찾아 클릭하도록 요청했습니다.

댓글 및 제품 리뷰 스팸 방지

사기꾼과 사이버 범죄자들은 종종 블로그와 기사 댓글 섹션을 이용해 사기와 맬웨어를 퍼뜨리기도 합니다. 또한 이커머스 웹사이트나 검색 엔진에서 제품의 순위를 인위적으로 높이기 위해 가짜 리뷰를 대량으로 게시하는 리뷰 스팸에 가담할 수도 있습니다. 봇은 보호되지 않은 댓글 섹션을 이용해 사용자를 괴롭히는 캠페인을 시행할 수도 있습니다. 댓글이나 리뷰를 게시하기 전에 사용자에게 CAPTCHA를 작성하도록 요청하여 이러한 악의적인 활동을 완화할 수 있습니다.

무차별 대입 및 사전 공격에 대한 방어

무차별 대입 공격에서 해커는 올바른 암호를 찾을 때까지 봇을 사용하여 숫자, 문자 및 특수 문자의 조합을 추측하여 계정에 침입합니다. 이러한 공격은 사용자가 특정 횟수의 로그인 시도에 실패하면 CAPTCHA를 완료하도록 요구하여 중단할 수 있습니다.

CAPTCHA의 단점

CAPTCHA의 단점

CAPTCHA 기술은 일반적으로 봇을 차단하는 데 효과적인 것으로 입증되었지만 다음과 같은 단점도 있습니다.

  1. 불편한 사용자 경험
  2. 접근성 문제
  3. 전환율 감소
  4. 새로운 CAPTCHA를 무력화할 수 있는 Bot AI의 능력
  5. 개인정보 보호 문제

불편한 사용자 경험

CAPTCHA 챌린지는 등록, 로그인 및 양식 작성 프로세스에 추가 단계를 넣기 때문에 일부 사람들에게는 번거롭게 느껴질 수 있습니다. 또한 더 정교한 봇을 무력화하기 위해 CAPTCHA의 복잡성이 증가함에 따라 CAPTCHA는 사용자에게 불편을 초래했습니다. 2010년 연구에서 스탠포드 대학 연구원이 3명으로 구성된 그룹에게 동일한 CAPTCHA를 풀도록 요청했을 때 참가자들이 CAPTCHA 솔루션에 만장일치로 동의한 경우는 71%에 불과했습니다(ibm.com 외부 링크). 또한 이 연구에서는 영어가 모국어가 아닌 사람들이 원어민보다 CAPTCHA를 푸는 데 더 어려움을 겪는다는 사실을 발견했으며, 이는 일부 인구 집단에서는 CAPTCHA가 다른 그룹보다 더 어려울 수 있음을 시사합니다.

접근성 문제

텍스트 및 이미지 CAPTCHA는 시각 장애가 있는 사용자가 해결하기가 매우 어렵거나 불가능할 수 있습니다. 이는 스크린 리더가 대부분의 CAPTCHA 챌린지를 읽을 수 없다는 사실로 인해 더욱 복잡해졌는데, 이러한 테스트는 기계가 읽을 수 없도록 설계되었기 때문입니다.

이 문제를 해결하기 위해 대체 형식의 CAPTCHA가 시도되었지만 자체적으로 한계가 있었습니다. 사용자가 왜곡된 오디오를 해독해야 하는 오디오 CAPTCHA는 해결하기가 매우 어렵기로 악명이 높습니다. 앞서 언급한 스탠포드 대학의 연구에 따르면 사용자가 오디오 CAPTCHA 솔루션에 만장일치로 동의하는 비율은 31%에 불과했습니다.

사용자가 간단한 수학 문제를 풀어야 하는 CAPTCHA의 일종인 MAPTCHA는 알고리즘에 의해 해독될 가능성이 매우 높습니다.

액세스할 수 없는 CAPTCHA를 사용하면 법적 처벌을 받을 수도 있습니다. 1998년에 도입된 1973년 재활법 개정안 508조에 따라 미국 연방 기관과 민간 부문 파트너는 장애인이 디지털 정보에 액세스할 수 있도록 해야 합니다. 회사는 액세스할 수 있는 CAPTCHA 옵션이 없는 경우 이 요구 사항을 위반할 수 있습니다.

전환율 감소

CAPTCHA의 불편한 사용자 경험과 접근성은 전환율에 부정적인 영향을 미칠 수 있습니다. 50개 웹사이트를 대상으로 한 2009년 사례 연구에 따르면, 사용자에게 CAPTCHA를 완료하도록 요청한 결과 합법적인 전환율이 3.2% 감소했습니다(ibm.com 외부 링크). 오디오 CAPTCHA는 특히 문제가 큽니다. 앞서 언급한 스탠포드 연구에 따르면 사용자들 중 사운드 기반 CAPTCHA 문제를 풀다가 포기하는 비율은 50%에 달합니다.

새로운 CAPTCHA를 무력화할 수 있는 Bot AI의 능력

봇이 각각의 새로운 CAPTCHA 챌린지를 물리치기 위해 지속적으로 진화했기 때문에 CAPTCHA 체계는 기술이 시작된 이래로 여러 번 변경되었습니다. 이 문제는 CAPTCHA 기술의 구조 자체에서 비롯되는데, CAPTCHA는 봇을 방해하기 위해 해결되지 않은 AI 문제에 의존하기 때문입니다. 인간이 CAPTCHA 문제를 해결하면 이는 이전에는 불가능했던 이러한 AI 문제를 극복하기 위해 머신 러닝 알고리즘을 훈련할 수 있는 데이터 세트를 생성합니다. 예를 들어, 2016년 컴퓨터 과학 연구원인 Jason Polakis는 Google의 역 이미지 검색을 사용하여 Google의 이미지 기반 CAPTCHA를 70% 해결했습니다.

개인정보 보호 문제

새로운 형태의 CAPTCHA는 대화형 챌린지를 완전히 제거하여 접근성 문제를 해결하고 봇 경쟁을 중단하려고 시도하지만, 일부 사용자와 연구원은 AI 기반 CAPTCHA가 침습적이라고 생각합니다. 사람들은 reCAPTCHA v3가 코드와 쿠키를 사용하여 여러 웹사이트에서 사용자를 추적하는 방법에 대해 우려를 제기했습니다. 일부 사람들은 이 추적 데이터가 검증 이외의 목적으로 어떻게 사용될 수 있는지에 대한 투명성이 충분하지 않다고 생각합니다.

관련 솔루션

관련 솔루션

ID 및 액세스 관리(IAM)

IBM Security Verify IAM 솔루션으로 모든 사용자를 적절한 수준의 액세스 권한에 연결하세요.

IAM 솔루션 살펴보기
고급 인증

IBM Security Verify로 비밀번호 없는 인증 또는 다중 인증 옵션으로 기본 인증을 뛰어넘을 수 있습니다.

고급 인증 살펴보기
적응형 액세스

IBM Security Verify의 AI 지원 위험 기반 인증으로 사용자와 자산을 선제적으로 보호하세요.

적응형 액세스 솔루션 살펴보기
직원 생산성

귀사에 가장 적합한 직원 IAM 접근 방식을 찾아보세요.

Workforce Identity and Access Management 솔루션에 대해 자세히 알아보기
리소스

리소스

ID 및 액세스 관리(IAM)란?

IAM을 통해 IT 관리자는 네트워크의 각 사용자 또는 엔티티에 대해 단일 디지털 ID를 할당, 인증, 허용 및 관리할 수 있습니다.

다중 인증(MFA)이란 무엇인가요?

MFA는 사용자를 인증하기 위해 비밀번호 외에 하나 이상의 인증 요소를 요구하거나 비밀번호 대신 두 개 이상의 인증 요소를 요구합니다.

Single Sign On(SSO)이란 무엇인가요?

SSO를 사용하면 사용자가 단일 로그인 자격 증명 세트를 사용하여 세션에 한 번 로그인하고 해당 세션 동안 여러 관련 애플리케이션 및 서비스에 액세스할 수 있습니다.

다음 단계 안내

IBM Security Verify는 직원과 고객의 요구 사항을 관리할 수 있는 AI 기반 기능을 제공하는 선도적인 IAM 플랫폼입니다. ID 사일로를 통합하고, ID 기반 공격의 위험을 줄이고, 비밀번호 없는 기능을 포함한 최신 인증을 제공합니다.

Verify 살펴보기 90일 동안 Verify 체험하기