리캡챠의 문제 높은 확률로 풀어내는 언캡챠, 오늘 소스코드까지 공개돼
[보안뉴스 문가용 기자] 대대적으로 업데이트 된 구글의 리캡챠(reCAPTCHA) 시스템을 언캡챠(unCaptcha)가 다시 한 번 뚫어내는 데 성공했다고 한다.

[이미지 = iclickart]
언캡챠 시스템은 2017년 4월에 처음 만들어진 것으로, 처음부터 구글의 리캡챠 혹은 그와 비슷한 보안 시스템을 겨냥한 것이었다. 리캡챠를 통해 스팸과 각종 남용으로부터 웹사이트를 보호하려는 시도를 꽤나 높은 확률로 무력화시키는 것이 바로 언캡챠였다.
이런 시스템을 만들어 낸 것은 메릴랜드대학의 컴퓨터과학 전문가들로, 구글은 이 소식을 접하자마자 리캡챠를 대대적으로 업데이트 해 언캡챠에 대한 방어에 나섰다. 그러나 언캡챠는 이마저 무력화시켜버렸다.
언캡챠 시스템은 원래 리캡챠가 사용자들에게 내는 ‘음성 문제’를 풀어내는 데 특화되어 있다. 하지만 리캡챠만이 아니라 봇디텍트(BotDetect), 야후(Yahoo), 페이팔(PayPal) 등의 ‘그림 문제’를 푸는 데에도 놀라운 기능을 보여준다. 사람처럼 리캡챠의 문제를 높은 확률로 맞히는 것이다.
그래서 구글은 리캡챠의 브라우저 정보 탐지 기능을 강화했다. 또한 음성의 단위를 ‘문장’으로 바꾸었다. 이 두 가지 기능 강화로 인해 원래의 언캡챠로는 뚫는 것이 불가능해졌다. 하지만 2018년 6월 연구원들이 언캡챠를 업데이트 하면서 구글의 업데이트를 무위로 돌려버리는 데 성공했다. 게다가 이전보다 성공률이 올라가기까지 했다.
물론 이제는 셀레늄(Selenium)이라는 브라우저 자동화 엔진을 사용해 리캡챠를 공격하는 건 불가능하게 되었다. 하지만 그것 외에는 별다른 어려움이 없었다. 언캡챠 측에서도 스크린 클릭커를 업데이트시켜 특정 픽셀들로 커서를 옮길 때 사람처럼 움직이도록 하는 기능을 추가했다. “아직 다 완성된 건 아닙니다. 사용자가 바뀔 때마다 픽셀의 좌표값을 바꿔야 하는 등 아직 더 추가할 것들이 있습니다.”
구글의 리캡챠 팀은 2018년 6월 언캡챠가 자신들의 작품을 다시 한 번 뚫어냈다는 소식을 접했다. 구글은 대책 마련을 위해 다시 한 번 머리를 감싸 맸다. 언캡챠 측은 이 소식을 대중들에게 발표하기 전에 구글에 6개월의 시간을 주기로 결정했다. 이번에는 단순 언캡챠를 이겨내기 힘들겠다고 판단했기 때문이다. 전반적인 구조에서부터의 수정이 필요했다.
메릴랜드대학의 언캡챠 팀은 “구글 역시 이를 인지하고 있으며, 6개월이 지난 지금 시점에 언캡챠의 성공에 대해 발표해도 큰 문제가 없을 것이라는 확답을 주었다”고 설명했다. 언캡챠 팀은 리캡챠를 뚫어내는 데 성공했던 코드가지도 공개했다. “사실 그래서 지난 6개월 동안 구글은 리캡챠에 대한 버그바운티를 진행하지 않았습니다.”
2018년 10월 구글은 리캡챠 3를 발표했다. 맞춤형 리스크 분석을 배경에서 실시하게 함으로써 사용자 경험을 향상시킨 버전이었다. 또한 배경에서 분석이 끝나면 그 점수를 사용자에게 알려줘 현재 자신의 행동이 얼마나 수상한지를 알려주는 기능도 추가됐다.
언캡챠 팀이 공개한 코드는 개념증명용으로, 구글의 리캡챠 업데이트에 맞춰서 업데이트 되지는 않을 것이다. 즉 이 코드로는 곧 리캡챠의 실제적인 공략이 불가능하게 될 것이라는 뜻이다. 위험할 수 있는 API 키들도 전부 삭제했다. 이 코드는 여기 깃허브 주소(https://github.com/ecthros/uncaptcha2)를 통해 열람이 가능하다.
3줄 요약
1. 사용자가 봇인지 사람인지 구분하게 해주는 방어 시스템, 리캡챠.
2. 이를 깨기 위해 등장한 것이 언캡챠. 대학 연구팀이 개발함.
3. 6개월 전 업데이트 된 리캡챠를 언캡챠가 뚫어냄. 오늘은 코드가 공개됨.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>