당신은 로봇이 아닙니까? I’m not a robot!

지금으로부터 20년 전인 1999년 11월, 미국의 slashdot.com은 ‘컴퓨터 과학 분야에서 최고의 학교는 어느 학교일까요?’라는 온라인 투표를 실시했습니다. 일반적인 온라인 투표에서처럼 중복 투표 방지를 위해서 당연히 IP 주소를 기록하고 한 번만 투표가 가능하도록 했죠.

그렇지만 카네기멜론대학(CMU)의 학생들은 그걸 회피하는 프로그램을 만들어냈고, CMU를 최고의 대학으로 투표하도록 했습니다. 당연히 CMU의 점수는 급격하게 상승했죠. 다음날에는 MIT 대학의 학생들이 자기 학교를 투표하도록 하는 봇(Bot)을 만들어냈습니다. 결국 MIT는 21,156명 투표, CMU는 21,032표를 얻었습니다. 다른 학교들은 1,000표도 안 되는 성적을 거두었고요.

이런 온라인 투표와 통계를 왜곡하는 것을 방지하기 위해 만들어진 것이 바로 ‘CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart)’입니다. 해석하자면, 컴퓨터와 인간을 명확히 구분하기 위해 만들어진 자동화된 ‘튜링 테스트’ 기법이라고 하겠습니다. CAPTCHA는 인간이 아닌 봇이 무차별적으로 웹사이트를 공격하거나, 정보를 빼내고 왜곡하는 것을 방지하는 목적으로 활용되고 있죠.

CAPTCHA(캡챠)는 사람과 로봇을 구별하기 위해 만들어진 인증 수단입니다


여기서 잠깐! '튜링 테스트'란?
1950년, 앨런 튜링은 ‘기계가 사람처럼 생각할 수 있는가?’라는 질문에 답하는 방법을 제안했습니다.
사람이 상대방을 볼 수 없는 상태에서 각각 기계(A)와 사람(B)과의 대화를 여러 차례 나눈 다음, A와 B 중에 누가 기계이고 사람인지 구별할 수 없다면 기계에 지능이 있다고 봐야 한다고 주장했습니다.
이렇듯 인공지능의 완성도를 측정하기 위한 기본 개념으로 ‘튜링 테스트’가 언급되고 있습니다.



다양한 CAPTCHA의 세계, 그렇지만 AI가 금세 뚫어내고 있어…

CAPTCHA에 대한 개념을 정리한 것은 2003년, ‘CAPTCHA: 보안을 위해 어려운 AI 문제들을 이용하기’라는 카네기멜론대학과 IBM Watson 연구소의 연구를 통해서입니다.

CAPTCHA는 온라인 투표뿐만 아니라 검색엔진의 검색 결과, 소비자를 위한 리뷰 등이 왜곡되는 것을 방지하는 것 이외에도, 지메일 서비스처럼 봇이 무차별적으로 계정을 만들어 불법적인 용도로 사용되는 것을 막거나, 반복적인 암호 해독을 위한 해킹 공격 등을 방지하기 위해 사용됩니다.

그 다양한 용도만큼이나 최근에는 CAPTCHA의 종류도 다양해졌는데요. 가장 기본적으로 많이 활용되고 있는 것은 ‘TEXT CAPTCHA’입니다. TEXT CAPTCHA는 사람은 읽을 수 있지만, 기계는 읽기 어려운 방식으로 텍스트를 기울이고 구부러뜨려 변형하여 문제를 출제합니다.

가장 일반적인 방식의 TEXT CAPTCHA

그렇지만 TEXT CAPTCHA는 시각 장애가 있거나, 난독증을 가진 사람들은 사용하기 어려운 문제가 있었죠.
그래서 등장한 것이 ‘AUDIO CAPTCHA’입니다. CAPTCHA 내용을 소리로 전달하면, 사람이 그것을 알아듣고 입력하는 방식으로 봇을 걸러내는 것입니다.

재생을 눌러 들리는 숫자를 입력하는 AUDIO CAPTCHA

CAPTCHA의 등장에도 불구하고, OCR(광학글자판독) 기술의 발전 및 심지어 음성인식 기술까지 발전하면서 봇은 이런 장벽을 금세 뛰어넘었습니다. 심지어 2010년대 인도와 동남아 저소득 국가에서는 ‘CAPTCHA 공장’이 운영되고 있다는 소식도 있었죠. (1천 개 정도의 CAPTCHA를 사람이 일일이 풀어내면 2달러 정도의 일당을 지급했다고 합니다.)

그래서 최근에 많이 활용되고 있는 방식은 ‘IMAGE CAPTCHA’입니다. 다양한 사진이나 이미지들을 보여준 다음 특정 이미지를 사람이 맞추도록 하는 방식이죠.

딸기가 있는 이미지를 모두 선택하는 IMAGE CAPTCHA

이런 새로운 방식을 지속적으로 적용하고 있지만, AI가 이것을 극복하고 뚫어내는 방식은 더욱 빠릅니다. 딥러닝이나 강화 학습이라고 불리는 방법을 통해 유사한 이미지를 찾아내고, 사람만이 맞출 수 있도록 제공된 퀴즈까지 정확히 풀어내고 있거든요.

구글에서는 최근 새로운 reCAPTCHA v3를 내놨습니다. 아마 보신 분도 있겠지만, ‘나는 로봇이 아닙니다(I’m not a robot)’라는 입력 상자에 클릭하기만 하면 통과하는 방식의 CAPTCHA입니다. ‘이런 걸로 내가 봇인지 사람인지를 어떻게 구별한다는 거지?’라고 생각하셨을 거예요. 저도 그랬으니까요.

구글이 제공하는 reCAPTCHA 서비스, 제법 높은 정확도를 자랑한다

구글에서는 해당 reCAPTCHA 방식도 뚫릴 것을 염려해서 정확히 어떤 방식으로 동작하는지 설명하고 있지는 않습니다. 사용자의 세션, 클릭하기 위해 움직이는 마우스 동작 등의 다양한 정보를 활용해서 봇인지 아닌지를 판별하는 걸로 예상할 뿐이죠.




기계가 사람을 모방하는 시대를 넘어설까요?

가까운 미래에는 아예 봇이 사람을 대신하는 시대가 올 것입니다.

그 미래를 보여주기라도 하듯 2018년 구글은 듀플렉스(Duplex) 서비스를 통해 봇이 사람 대신 헤어숍이나 레스토랑에 전화를 걸어 복잡한 대화를 이해하고 예약을 마무리하는 것을 시연했습니다. 이건 단편적인 기술만으로 상대방이 사람인지 기계인지를 판별하는 것 자체가 불가능해질 것을 의미합니다.

네이버 클로바는 NES라는 음성 합성 기술을 최근 발표했는데요. 이는 40분 정도의 실제 사람 음성을 녹음하면, 그 사람의 음성에 가까운 합성음을 손쉽게 제작할 수 있는 기술입니다. 유명 연예인들의 음성으로 보이스 챗봇을 만드는 것도 손쉽게 가능하겠죠?

최근에는 고객서비스센터의 전화상담 서비스도 봇이 대체하기 시작했습니다. 기존의 고객상담 채팅 봇은 단순한 질문에 간단한 답만 해줄 수 있었던 반면, 요즘은 복잡한 고객 클레임에 관련 부서로 전화연결하고, 필요한 해결 방안을 제안할 수 있는 수준까지 가능하다고 하네요.

이런 기술이 발전하면 우리 사람들은 상대편이 기계인지 인간인지도 모르는 상태에서 같이 일하게 되고, 영화 <그녀(Her)>에서처럼 OS를 사랑하게 되는 날이 올지도 모르겠습니다. 기계와 인간을 구분하는 이런 기술들이 더 이상 효과가 없어진다면 어떤 일이 벌어지게 될까요?


참고자료_ CAPTCHA: Using Hard AI Problems For Security, 2003

삼성SDS 소셜크리에이터 조남호(Principal Professional)
공유하기