누구나 손쉽게 하는 캡챠(Captcha) 무력화!

캡챠(CAPTCHA)의 역사, 종류, 우회 방법, 단점, 그리고 웹 보안의 미래에 대한 정보를 확인하세요.

1. 짜증 유발 '캡챠(CAPTCHA)'의 정체

인터넷 세계에서 사용자와 로봇을 구분하는 일은 웹 보안의 핵심적인 부분입니다. 이 과정에서 '캡챠(CAPTCHA)'는 중요한 역할을 합니다. 캡챠는 "Completely Automated Public Turing test to tell Computers and Humans Apart"의 약자로, 말 그대로 컴퓨터와 인간을 구별하기 위한 완전 자동화된 공개 튜링 테스트입니다.
 
 

2. 캡챠의 역사

캡챠 기술은 2000년대 초반 인터넷의 급속한 성장과 함께 등장했습니다. 초기에는 간단한 텍스트 변형을 이용하여 로봇이 자동으로 양식을 작성하거나, 스팸 댓글을 달지 못하도록 하는 데 사용되었습니다. 이후 보안 요구가 높아짐에 따라, 보다 진화된 형태의 캡챠가 개발되었습니다.
 
 

3. 캡챠의 종류

3.1. 텍스트 기반 캡챠

: 사용자에게 왜곡된 텍스트를 보여주고, 이를 올바르게 입력하도록 요구합니다.

3.2. 이미지 기반 캡챠

특정한 이미지를 선택하거나, 이미지 속의 객체를 식별하도록 요구합니다. 오디오 캡챠: 시각 장애가 있는 사용자를 위해 음성으로 문자를 들려주고 이를 입력하도록 합니다. 논리 퍼즐 캡챠: 간단한 문제를 풀거나 퍼즐을 맞추도록 요구합니다. 인터랙티브 캡챠: 사용자의 상호작용을 통해 패턴을 분석하고 인간 여부를 판단합니다.
 
 

4. 캡챠의 중요성

  • 스팸과의 전쟁: 스팸 봇이 포럼이나 블로그에 자동으로 글을 남기는 것을 방지합니다.
  • 서비스 남용 방지: 자동화된 스크립트가 온라인 서비스를 남용하는 것을 막습니다.
  • 계정 보안: 자동화된 도구로부터 사용자 계정을 보호합니다.
  • 데이터 보호: 자동화된 크롤링으로부터 웹사이트의 데이터를 보호합니다.
 
 

5. 캡챠 우회하기

이러한 캡챠를 무력화 할수 있는 방법은 존재할까요? 다음과 같은 대표적인 방법들이 있습니다.

5.1. API를 사용한 무력화 방법

OCR을 통해서 텍스트 인식하고 캡챠의 음성을 문자로 변환시켜주는 Speech-to-Text API 사용하여 무력화할 수 있습니다. https://github.com/dessant/buster

5.2. AI 모델을 사용한 무력화 방법

캡챠의 무작위성에 대응하기 위한 방안으로는 잘 학습된 AI모델을 활용하는 것이 보다 효율적일 수 있습니다. 아래링크의 'Captcha Solver'를 활용하거나 이에 준하는 모델을 직접 개발하여 운용할 수 있습니다. https://github.com/cracker0dks/CaptchaSolver

5.3. 솔루션 이용하기

이미 판매중인 솔루션을 이용할 수 있습니다. 가장 시간과 노력이 적게 들어가는 방법이며, 유지보수에 대한 대응과 이에 따른 걱정이 없다는 장점이 있습니다. 아래는 대표적인 캡챠 무력화 솔루션들입니다.
 
 
 
 

6. 캡챠, 어떤 단점이 있을까?

6.1. 서비스 이용 방해

사용자 인증을 담당하는 기술인 만큼, 유저가 사람인지 입증할 수 있도록 집요한 면이 있습니다. 특히 대부분의 유저가 가장 큰 피로도를 느끼는 '회원가입' 의 초입부에서 부정적인 사용성을 초래하기 때문에, 결과적으로 이탈율을 높이는 데에 일조하기도 합니다.

6.2. 유저를 가리는 사용성

근 10년 동안 원활히 발전하고 있는 '유니버셜 디자인(Universal Design : 모든 사람을 위한 디자인을 의미하며, 연령, 국적, 성별, 장애 유무에 관계 없이 누구나 편하게 이용할 수 있도록 프로덕트를 설계하는 것.)' 추세와 달리, 저시력자나 시각 장애인 테스트가 불가능한 시대 역행적인 문제점이 있습니다. 하지만 보안을 위해 포기할 수 없는 캡챠이기에 최근 문제가 불거지고 있습니다.
 
 

7. 정리

서버를 직접 운용하는 입장에선, 한번쯤은 스팸봇들의 공격을 받은 경험이 있기 때문에 캡챠 도입을 선호하실 수 밖에 없습니다. 해시스크래퍼 역시 고객사의 데이터가 저장된 서버와 유저분들의 쾌적한 플랫폼 이용을 위해서 스팸봇을 막기 위해 이를 무력화할 수 있는 취약점을 지속적으로 연구 중에 있습니다. 현재까지는 캡챠를 통한 방어가 보다 우위에 있는 형국이지만, 머지않아 이를 손쉽게 돌파할 수 있는 인공지능이 등장할 것으로 예상됩니다.