brunch

무심코 누른 ‘나는 로봇이 아닙니다’

느리지만 자연스러운 클릭, 고속 정밀한 봇을 가려내는 은밀한 메커니즘

by 유니콘정글

Chapter 1. 왜 로봇은 “나는 로봇이 아닙니다” 체크박스를 클릭하지 못할까?

image.png

웹사이트에서 어떤 페이지에 접속하면 종종 “로봇이 아닙니다(I’m not a robot)”라고 적힌 작은 체크박스가 보인다. 이는 구글의 reCAPTCHA 시스템으로, 사람이 맞는지(즉 봇이 아닌지)를 확인하기 위한 장치다. 단순히 체크박스를 클릭한다고 해서 로봇이 클릭 자체를 못 하는 것은 아니다. 최근의 자동화된 프로그램(‘봇’)은 매우 정교해졌기 때문에, 단순 클릭이나 이미지 선택 정도는 쉽게 할 수 있다.

그렇다면 reCAPTCHA는 왜 여전히 대부분의 봇을 걸러낼 수 있을까? 비밀은 “어떻게” 클릭하는지를 살피는 데 있다. 다시 말해, 사용자의 마우스 움직임과 클릭 속도 등을 기반으로 봇인지 사람인지를 구분한다. 컴퓨터가 프로그래밍된 대로 클릭할 경우, 마우스 경로나 속도에서 사람이 낼 수 없는 정밀성과 일관성이 나타난다. 반면 실제 사람의 행동은 느리고 불규칙적이며, 화면을 확인하고 반응하는 시간차도 있다. 이 차이가 reCAPTCHA가 사람과 봇을 구분하는 핵심 원리다.


Chapter 2. reCAPTCHA란 무엇인가?

reCAPTCHA는 원래 별도의 회사였으나, 현재 구글이 인수하여 운영하고 있는 서비스다. 특정 웹사이트가 불필요한 봇 트래픽이나 스팸 공격을 방지하기 위해 사용하며, 사용자는 이 시스템을 통해 간단한 테스트를 거쳐야 사이트에 접근할 수 있다.
과거에는 흐릿하게 처리된 텍스트나 기호를 해석하게 하는 방식의 CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)를 많이 사용했다. 하지만 이것은 시력이 좋지 않은 사람에게 불편을 주고, 점점 정교해지는 봇들이 이를 해석하기 시작하면서 효용이 떨어졌다. 그래서 구글은 reCAPTCHA라는 더 정교한 방식으로 전환했다.


Chapter 3. CAPTCHA와 투링 테스트(Turing Test)

CAPTCHA: “Completely Automated Public Turing test to tell Computers and Humans Apart”의 줄임말로, “컴퓨터와 사람을 구별하기 위한 완전 자동화 공개 튜링 테스트”를 의미한다.

투링 테스트(Turing Test): 1950년 영국의 컴퓨터 과학자 앨런 튜링(Alan Turing)이 제안한 개념이다. 기계(컴퓨터)가 사람과 구별할 수 없을 정도로 ‘지능적’이라면, 즉 사람이 봤을 때 대화나 행동이 사람 수준으로 자연스러우면 그 기계는 튜링 테스트를 통과했다고 본다.

reCAPTCHA도 결국 투링 테스트와 비슷한 맥락으로, “인터넷 이용자”가 사람인지 프로그램인지를 구별한다.


Chapter 4. reCAPTCHA의 작동 방식

4.1 클릭과 움직임의 패턴 분석

일반적인 reCAPTCHA에서 사용자는 “I’m not a robot” 체크박스를 클릭하거나, 이미지 퍼즐(예: 횡단보도, 신호등, 자전거 등 구간 선택)을 맞히도록 요구받는다. 그런데 이 과정은 단순히 문제를 ‘풀었다’는 사실만 보는 것이 아니다. 사용자의 마우스 이동 경로, 클릭 속도, 시간 간격 등을 종합적으로 분석해 사람이 낼 수밖에 없는 ‘비효율적’이면서도 자연스러운 흔적을 찾는다.

자동화된 봇은 보통 프로그램된 좌표대로 초고속·직선 경로로 마우스를 이동하거나, 실제 사람이라면 드는 ‘고민 시간’ 없이 즉각적으로 정답을 클릭한다. 반면 사람은 미세하게 좌우로 흔들리거나, 각 이미지를 눈으로 확인하는 시간차가 생긴다. 이러한 미세한 차이들이 reCAPTCHA가 봇을 걸러내는 근거가 된다.

4.2 이미지 퍼즐 테스트

체크박스 클릭 후 한 번 더 검증이 필요하면, 이미지 선택 테스트가 나온다. 예를 들어, “오토바이가 있는 이미지를 모두 고르세요” 같은 문제다. 클라우드플레어(Cloudflare) 등의 보안 기업 자료에 따르면, 현재 인공지능 알고리즘이 이런 시각적 분류를 어느 정도 수행할 수는 있지만, 여전히 배경이나 노이즈가 있는 이미지를 정확히 판단하는 데에는 어려움이 있다. 사람 입장에선 다소 번거롭지만, 이 과정을 통해 재차 봇을 걸러내는 효과를 얻는다.


Chapter 5. 더 발전된 방식: 보이지 않는(invisible) reCAPTCHA

최근에는 사용자가 직접 체크박스를 보지 않아도, 웹사이트 내부적으로 invisible reCAPTCHA를 실행해 사용자 정보를 수집·평가하는 방식도 등장했다. 예를 들어,

사용자의 쿠키나 브라우저 이력

마우스 이동 경로

인터넷 사용 패턴 등

을 기반으로, 구글의 reCAPTCHA Enterprise 시스템이 ‘인간일 가능성 점수’를 매긴다. 점수가 낮으면 봇으로 판정하거나 추가 검증(체크박스나 퍼즐)을 요구하고, 점수가 높으면 자연스럽게 접근을 허용한다.

이 방식은 사용자 몰래 개인 정보를 더 많이 수집할 수 있어 다소 침해적이라는 비판도 있다. 그러나 사이트 운영자는 사용자가 매번 귀찮은 테스트 과정을 거치지 않고도, 봇 트래픽을 막을 수 있다는 장점을 얻는다.


로봇이 아닙니다.png

결론

“I’m not a robot” 체크박스 자체는 봇이 충분히 클릭할 수 있다. 하지만 reCAPTCHA가 보는 것은 “어떤 방식으로 클릭했는가”다. 인간은 마우스를 움직이는 과정이나 반응하는 속도, 고민하는 시간에서 무작위성과 비효율성을 드러내지만, 봇은 이를 흉내 내기 어려워한다.

물론 최근에는 딥러닝 기반 AI가 점점 발전하면서, 글자나 이미지 분류 등 이전보다 훨씬 정교한 일을 수행할 수 있게 되었다. 일부 ChatGPT 같은 모델은 일종의 ‘투링 테스트’를 통과할 정도로 사람과 매우 흡사한 반응을 보이기도 한다. 따라서 향후에는 지금보다 더 정교한 새로운 reCAPTCHA 시스템이 필요해질 가능성이 높다.

하지만 현재 기준으로는, “I’m not a robot” 체크박스를 포함한 reCAPTCHA의 방식이 여전히 사람과 봇을 구별하는 데 효과적이다. 이는 결국 사람 특유의 느리고 비효율적이며 불규칙적인 행동 패턴이, 고도로 정밀하게 움직이는 컴퓨터 프로그램과 달라서 생기는 차이점 덕분이라 할 수 있다.

채널아트.png

유니콘정글 유튜브 바로가기

keyword
매거진의 이전글DeepSeek 돌풍: AI 패권을 뒤바꾼 7가지 함의