IT Life

누구냐 넌..? 사람과 로봇을 구분하는 캡차

2016.02.03 09:30


<캡차의 모습 (출처: (cc) I-20 at wikimedia.org)>


안녕하세요? LG CNS 대학생 기자단 석승연입니다.


아마 웹 사이트에서 회원가입을 해보셨다면 이런 이상한 문자를 한번쯤 본 적이 있으실 겁니다. 

‘Completely Automated Public Turing test to tell computers and Humans Apart’의 줄임말로 ‘캡차(captcha)’라고 불리는 기술인데요. 이름은 생소하지만 이미 여러 번 접해본 기술일 것입니다. 


이 캡차를 만날 때마다, 왜곡되어 분간하기 어려운 문자를 해석해야 하는 것이 상당히 귀찮고 번거로운 일이었을 텐데요. 


하지만 이제는 우리가 캡차를 풀 때마다 자부심을 가져도 될 것 같습니다. 왜냐하면 이 캡차가 사회 공익에 도움을 주는 일도 하기 때문이죠. 


그럼 캡차가 무엇인지에 대해 알아볼까요?  

캡차는 2000년 미국 카네기멜론 대학 소속 연구원들이 사람과 컴퓨터를 구별하기 위해 만든 기술입니다. 여기서 하나의 궁금증이 생기는데요. 왜 사람과 컴퓨터를 구별해야 하는 걸까요? 


바로 악의적으로 사용되는 프로그램 ‘봇(bot)’을 막기 위해서 입니다. 


봇이란, 보안이 취약한 컴퓨터를 스스로 찾아 침입해, 보이지 않는 곳에서 조용히 작동하면서 컴퓨터 사용자도 모르게 시스템에게 명령을 내릴 수 있는 원거리 해킹 툴입니다. 


이 봇은 2~3분 안에 수천 개의 e-메일 계정을 만들 수 있고, 같은 댓글을 여러 번 반복해서 쓸 수 있습니다. 즉, 반복적인 일을 빠르게 수행할 수 있는 것이죠. 


봇은 이 특징을 이용해서 똑같은 계정을 많이 만들어 스팸 e-메일을 보내고, 비밀번호를 무한대로 입력해서 진짜 비밀번호를 알아내기도 하는데요. 뿐만 아니라 온라인 투표 플랫폼에서 한 대상에게 여러 번 투표를 할 수 있어 봇을 통해 악의적인 일을 할 수도 있다고 합니다. 


이런 봇의 악의적 활동을 막기 위해 캡차를 이용하게 된 것입니다.

이제 캡차가 왜 필요한지 이해하셨나요? 그러면 이 캡차는 어떤 원리로 봇과 사람을 구분하는 걸까요? 


초기 버전의 캡차는 단어에 왜곡을 주어 컴퓨터가 인지할 수 없다는 점을 이용하였습니다. 임의의 문자와 숫자를 가져와 컴퓨터가 인식하기 어려울 정도로만 왜곡시켜서 해당 답을 쓴 사람들만 캡차 시스템을 통과할 수 있는 것이죠. 


하지만 요즘 봇의 성능이 좋아져 캡차를 해석해 내기도 하는데요. 이런 일을 막기 위해 캡차로 나오는 단어가 점점 더 어려워지고 있고, 가끔 사람도 맞추기 힘든 단어가 나오는 웃지 못할 상황도 일어난다고 합니다. 


이처럼 캡차는 컴퓨터가 화면에 있는 문자와 숫자를 잘 인식하지 못한다는 원리를 이용하여 봇과 사람을 구분하는 것이죠


그러면 한 가지 의문이 생기는데요. 시각장애인은 캡차를 어떻게 이용해야 할까요? 캡차는 시각장애인들을 위해 오디오용 캡차를 따로 만들었습니다. 임의의 알파벳과 숫자를 읽어주면서 뒤에 잡음을 살짝 섞는 식으로 사람과 기계를 구분한다고 합니다. 


이 외에도 숫자를 왜곡시켜 간단한 사칙연산을 통해 푸는 캡차, 한글을 섞은 문제를 띄워 해외 스패머들을 막는 캡차 등 다양한 캡차가 이용되고 있습니다.


현재 이 기술은 무료로 공개됐기 때문에 웹 개발하는 사람이라면 누구나 HTML 코드를 통해서 홈페이지에 캡차를 넣을 수 있습니다. 실제로 2000년대 중반에는 캡차 프로그램 6천만 개가 전세계 웹사이트에서 활용되었다고 합니다.

캡차는 문자해독 방법에 따라 여러 종류로 나눌 수 있습니다. 왜곡된 문자를 해석하는 기본적인 방법을 ‘캡차’라고 부르고, 이 외에도 ‘리캡차’와 ‘노캡차 리캡차’ 등이 있는데요. 지금부터 다양한 캡차 기술에 대해 알아보겠습니다.


캡차를 푸는데 걸리는 시간은 평균 10초라고 합니다. 이 10초를 매일 평균 2억명이 사용한다면 캡차 문제를 푸는데 50만 시간이 소요된다고 볼 수 있는데요. 


캡차를 만든 미국 카네기멜론대학의 연구원들은 이런 시간들을 유용하게 사용하기 위해 캡차에서 한 단계 발전된 ‘리캡차’를 만들었습니다. 


어떻게 해서 10초라는 시간을 유용하게 만들었을까요? 바로 고문서 복원 작업에 캡차를 활용한 것인데요. 리캡차 기술의 슬로건도 ‘스팸을 막자. 책을 읽자 (stop spam. read books.)’라고 합니다. 


고문서를 스캔하는 과정에서 종이 색깔이 노랗게 변하거나 글자 잉크가 날라간 경우 제대로 스캔이 되지 않는데요. 이처럼 인식하지 못하는 글자들을 리캡차로 사람들이 읽도록 하여 고문서 복원 작업에 동참시켰습니다. 바로 리캡차에 집단지성을 더한 것이죠.


<두 단어를 이용하는 리캡차 (출처: http://www.captcha.net)>


입력 방식은 캡차와 다르게 2문자를 입력하지만, 원리는 캡차와 비슷합니다. 앞 단어는 사용자가 로봇인지 사람인지 구분하기 위한 단어인데요. 이 단어를 제대로 입력하면 우선 사람으로 인정을 하고, 두 번째 고문서 복원 작업을 위한 단어는 올바르게 해석한 것으로 간주하는 것이죠. 이런 과정을 10명의 사람들에게 반복하여 실시하고, 10명 모두가 똑같은 단어로 읽으면 해당 단어를 스캔 작업에 적용하게 됩니다.  


실제로 하루에 입력하는 약 1억개의 단어로 일년에 250만권의 책을 해독한 리캡차 덕분에, ‘프로젝트 구텐베르크’ 와 플라톤의 ‘향연’ 그리고 최근 발표된 과학논문까지 문서를 복원하는데 큰 도움을 얻을 수 있었습니다. 


지금은 리캡차 기술이 구글에 인수되어 실제 거리나 건물 내부를 보여주는 ‘구글 스트리뷰’에서도 활용되고 있는데요. 표지판이나 건물에 쓰여 있는 글자 중에서 인식하기 어려운 문자를 리캡차를 통해 해석하도록 하고, 이를 통해 구글은 더 나은 구글 지도 서비스를 제공하고 있습니다. 


리캡차에 이어 구글은 2014년 12월에 새로운 캡차 기술인 ‘노캡차 리캡차’를 공개했는데요. 이 ‘노캡차 리캡차’는 기존의 문자를 일일이 입력해야 하는 번거로움을 해결해주는 기술입니다. 

컴퓨터의 기술이 발전하면서 ‘캡차’마저 뚫리기 시작하고 있다고 하는데요. 인공지능이 캡차 문자를 99.8%의 성공률로 읽어 낼 수 있는 수준이 되자 구글은 새로운 캡차 시스템을 발표했습니다.


<출처: http://www.google.com/recaptcha/intro/index.html>


“나는 로봇이 아닙니다(I’m not a robot)”라는 글 왼쪽의 체크박스를 한 번 클릭하는 것만으로 사람과 봇을 구분할 수 있다고 합니다. 어떻게 클릭 한 번만으로 사람과 봇을 구분할 수 있을까요?


구글은 IP주소와 쿠키정보를 이용하고, 체크박스 주변에서 마우스 포인터의 미세한 움직임 등을 분간해서 상당한 정확도로 봇을 가려낸다고 합니다. 이 외에도 다른 정보를 이용해서 사람과 봇을 구분하지만, 보안을 위해서 공개하지 않는다고 하네요.  


이 원클릭 방식은 아쉽게도 아직 모바일에서는 쓰이지 않고 있습니다. 하지만 같은 형태의 그림 맞추기의 방식으로 모바일에서 활용되고 있는데요. 


<모바일에서 쓰이는 노캡차 리캡차 (출처: 구글 블로그)>


위의 이미지처럼, ‘고양이’ 그림을 제시하고 그 그림과 비슷한 그림을 고르는 방식으로 터치를 통해 답을 제출하는 것입니다. 컴퓨터가 아직 사람만큼 이미지를 구별하지 못하고 색깔이나 형태를 보고 같은 그림이라고 판단하는 점을 이용한 것이죠. 



캡차는 문자를 해독하는 것이라고 생각할 수 있지만, 게임 형식으로도 재미있게 캡차 문제를 해결하기도 합니다.


‘yopmail’에서는 일반적인 캡차와는 다르게 게이미피케이션(gamification) 기법을 적용한 캡차를 사용하는데요. 게임처럼 마우스를 드래그하여 사람 얼굴을 만들면 사람인증을 완료한 것입니다. 문제는 쉽지만, 사고를 필요로 하는 질문이기 때문에 사람이 아닌 봇은 절대 풀 수 없는 방식입니다. 


현재 yopmail의 캡차 기술은 얼굴 맞추기 외에도 햄버거 만들기, 양 세기, 냉장고에 음식 넣기 등 다양한 타입의 게임방식으로 해결할 수 있습니다.


<게이미피케이션 기법을 활용한 캡차 (출처: www.yopmail.com)>

지금까지 초기 버전의 캡차와 리캡차, 노캡차 리캡차에 대해 살펴봤는데요. 그동안 우리는 캡차 기술 덕분에 웹사이트에서 발생되는 스팸메일과 해킹을 막을 수 있었습니다. 하지만 캡차 기술들이 완전무결하다고는 볼 수 없을 것 같습니다. 


캡차의 한계점을 보완하고 나온 ‘노캡차 리캡차’ 기술에서는 사용자가 텍스트를 접했을 때의 행동패턴을 분석해야 하기 때문에 프라이버시를 훼손할 수 있다는 문제점도 제기되고 있습니다. 


또한 스팸 메일을 보내는 단체들이 캡차 문자를 읽어내게 하는 사람들을 아주 값싼 비용으로 고용할 수 있어, 도덕적이거나 반인권적인 여러가지 문제를 야기할 수도 있는데요. 


무엇보다도 구글 연구 결과와 같이 컴퓨터 기술의 발전으로 캡차마저 뚫리기 시작했고, 이제 인공지능의 수준이 캡차 텍스트를 99.8%의 성공률로 읽을 수 있다는 점에서 캡차의 기능적인 한계점을 볼 수 있습니다. 


이 한계점을 극복할 수 있는 캡차 기술이 앞으로 계속해서 나올 것으로 예상되는데요. 보안은 기본으로 실용성과 단순함, 재미요소까지 3박자를 모두 갖춘 캡차 기술을 기대해 봅니다.





Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS

댓글을 달아 주세요

위로