어플리케이션

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart)에 대해 알아보겠습니다.

forward error correction Circle 2025. 3. 11. 09:01
반응형

Ⅰ. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart)란?

 사람과 컴퓨터가 서로 다른 방식으로 문제를 해결한다는 점에 착안하여 개발되었고, 컴퓨터와 인간을 구별하는 자동화된 튜링 테스트로, 주로 웹사이트나 애플리케이션에서 사용자 인증을 위해 활용됩니다.

 예를 들어, 이미지 속 글자를 인식하는 문제는 컴퓨터에게는 어렵지만 사람에게는 쉽습니다. 웹사이트에서 봇(bot) 또는 자동화된 프로그램의 접근을 차단하고 인간 사용자를 인증하는 기술입니다.

* 튜링 테스트 : 컴퓨터가 인간과 구별되지 않는 지능을 가질 수 있는지 판별하는 시험

Ⅱ. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) 목적

 악의적인 자동화 공격을 방지하기 위해 사용되며, 다음과 같습니다.

ⅰ. 스팸 방지 → 자동화된 봇이 게시판, 댓글, 이메일 등록을 도배하는 것을 차단
ⅱ. 브루트포스(Brute Force) 공격 방지 → 무차별 대입 공격(패스워드 크래킹) 차단
ⅲ. 자동 회원가입 방지 → 봇이 대량으로 계정을 생성하는 행위 방지
ⅳ. DDoS 공격 완화 → 대량의 자동화된 요청을 방지하여 서버 부하 감소
ⅳ. 설문 조작 방지 → 투표, 설문 조사에서 봇을 이용한 조작 방지

Ⅲ. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) 로직

ⅰ) 사용자가 웹사이트에서 특정 작업(로그인, 회원가입 등)을 시도
ⅱ) 시스템이 CAPTCHA 테스트를 생성하여 사용자에게 표시
ⅲ) 사용자가 CAPTCHA를 보고 입력
ⅳ) 시스템이 입력값을 검증하여 인간인지 판단
ⅴ) 올바르면 요청을 승인, 틀리면 재시도 요청

Ⅳ. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) 종류

ⅰ) 텍스트 기반 CAPTCHA
왜곡된 문자 입력: 왜곡된 이미지 속 텍스트를 사람이 직접 입력

장점: 간단하고 구현이 쉬움
단점: OCR(문자인식 기술)에 의해 쉽게 우회될 수 있음


ⅱ) 이미지 기반 CAPTCHA
예제: 버스가 포함된 이미지를 선택하세요.


방식: 여러 개의 이미지를 보여주고 특정 객체(신호등, 자동차, 버스 등)를 선택하도록 요구
Google의 reCAPTCHA에서 많이 사용
장점: 텍스트 인식보다 우회하기 어려움
단점: 이미지 인식 AI가 발달하면서 점점 우회 가능성이 증가


ⅲ) reCAPTCHA (Google 제공)
reCAPTCHA v2: "I'm not a robot" 체크박스를 클릭하여 사용자 행동을 분석
reCAPTCHA v3: 별도의 체크 없이 사용자 행동 패턴을 분석하여 자동으로 판단 (점수 기반)


장점: 사용자 경험(UX)이 좋고, AI 기반 자동 판별 가능
단점: Google 서비스에 의존해야 함


ⅳ) 논리 퍼즐 기반 CAPTCHA
예제: 퍼즐 조각 맞추기

장점: 단순하지만 효과적
단점: AI가 쉽게 풀 수 있음


ⅴ) 음성 CAPTCHA
시각장애인을 위한 CAPTCHA
예제 : 왜곡된 음성을 듣고 입력
장점: 접근성이 높음
단점: 음성 인식 기술에 의해 쉽게 우회될 가능성이 있음

 

ⅵ) 영수증 기반 OCR(광학 문자 인식) CAPTHA

영수증 속 항목과 가격을 분석 CAPCHA



문자 인식 및 해석: 숫자와 제품명을 읽고 최저가 제품을 찾는 논리적 사고 필요.
OCR 방지 목적: 자동화된 스크립트나 봇이 단순한 이미지 인식을 통해 풀기 어렵게 설계됨.

 

Ⅴ. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) 우회

ⅰ) OCR (문자인식) 기술 → 텍스트 CAPTCHA는 AI로 쉽게 해결됨
ⅱ) 머신러닝 기반 이미지 인식 → 이미지 CAPTCHA도 AI 모델로 학습 가능
ⅲ) 자동화 브라우저 (Selenium, Puppeteer) → 봇이 UI를 조작하여 해결
ⅳ) 사람을 이용한 해결 (Captcha Solving Services) → 값싼 노동력을 이용하여 CAPTCHA를 직접 해결하는 서비스 존재

Ⅵ. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) 대응

ⅰ) reCAPTCHA v3 사용 → 사용자 행동 분석 기반 자동 판별
ⅱ) 다중 인증(MFA) 적용 → CAPTCHA 외에도 OTP 등 추가 인증 적용
ⅲ) 비정상적인 접근 탐지 → 봇 트래픽을 감지하는 AI 적용
ⅳ) 사용자 행동 기반 인증 → 마우스 움직임, 클릭 패턴 등 분석

반응형