카카오는 '기술적으로 절대 불가능'하다고 하는 오픈채팅 이용자의 개인정보 유출, 실제로는 어떤 과정을 통해 이뤄졌을까. 전자신문이 대규모 개인정보 유출이 발생한 지난 8일 유출 피해 제보자 협조를 통해 실제 해커가 이용자 개인정보를 추출하는 과정을 함께 관찰했다.
텔레그램을 통해 해커에게 메시지를 보내자 해커는 제보자에게 “어떤 채널로 광고를 보았는지” “어떤 업종에 종사하고 있는지” “혹시 주식리딩방 등을 운영하고 있는지, 있다면 해당 오픈채팅방을 인증하라”고 요청했다.
단가는 개인정보 추출 인원 1명에 7000원이 매겨졌다. 5000명 이상 추출할 경우 1인당 5000원으로 할인해 주기로 했다. “이용가치가 매우 높은 데이터이기 때문에 돈이 아깝지 않을 것”이라는 설명도 덧붙였다. 실제 개인정보 추출 가능 여부를 확인시켜 주겠다며 참여한 오픈채팅방의 링크를 요구했다.
기자와 제보자가 입장해 있는 오픈채팅방 가운데 무작위로 택해서 방의 링크주소를 전달하고, 해당 채팅방에서 기자가 사용하는 닉네임 포함 10개 대상을 지목했다. 해당 오픈채팅방에 입장한 해커는 두 시간이 지나자 해당 닉네임과 연결된 전화번호와 실명, 숫자로 구성된 유저아이디가 포함된 엑셀표를 캡처해서 전달했다. 사전 정보 없이 오픈채팅방과 그 방에서 사용하는 닉네임만으로 이용자의 개인정보를 정확하게 추출해 냈다.
전문가들은 추출한 유저아이디를 통해 해커가 이용자의 '실제 프로필 아이디' 또는 '전화번호' 정보에 접근했을 가능성에 주목했다. 실제 개발자 커뮤니티 '깃허브' 등에서는 오픈채팅 유저아이디와 실제 프로필 아이디를 연결하는 로직(규칙성)을 추정하는 연구가 오랫동안 이뤄졌다.
예를 들어 이 규칙성이 '곱하기 10'이라면 숫자 '10'으로 생성된 유저아이디와 연결된 프로필 아이디는 '1'일 것으로 복호화하는 방식이다. 물론 실제 로직은 이보다 훨씬 더 복잡하다.
이들의 연구에 따르면 2020년 8월 이전에 생성된 오픈채팅방의 경우 로직이 발견됐기 때문에 실제로 유저아이디를 통해 이용자 신상정보를 뽑아내는 해킹이 간단히 이뤄졌다. 카카오는 이후 생성된 오픈카톡방부터 새로운 알고리즘을 적용했고, 한동안 이 로직을 파악해 낸 해커는 없었다.
그러나 최근 인공지능(AI) 기술 발전 등으로 이 로직을 파악했다고 주장하는 개발자가 속속 등장하기 시작했다. 해외 이용자 차단 기능을 구현해서 이 로직을 입증했다는 오픈채팅방 '봇'도 등장했다.
올해 1월에는 카카오톡 개발자들의 커뮤니티 '카카오디벨로퍼스'에 이를 경고한 글도 올라왔다. 한 개발자는 오픈채팅방에서 유저 아이디를 통해 실제 프로필 아이디, 이메일 주소, 전화번호를 추출한 장면을 담은 캡처 이미지와 함께 해당 오픈채팅방을 신고했다. 이 게시글은 현재 카카오 조치로 다른 사람들이 볼 수 없도록 비공개로 전환된 상태다.
카카오는 이용자의 개인정보 유출은 '절대 불가능하다'는 입장을 고수하고 있다.
다만 이번 사태처럼 실제 개인정보 유출이 일어났더라도 카카오 측이 해킹 여부를 파악하기는 어렵다. 개설된 오픈채팅방이 너무 많아서 이상 접근에 대한 실시간 모니터링이 불가능하기 때문이다. 본지가 개인정보가 유출된 오픈카톡방을 특정해서 전달했음에도 카카오에서는 접근 흔적을 알아내는 데만 40시간 이상 소요되기도 했다.
익명을 요구한 국내 보안업체 최고기술책임자(CTO)는 “메신저에서 사용되는 프로토콜 API는 이용자가 어떤 요청을 하면 응답이 오는 구조로 설계돼 있다. 해킹 여부를 파악하려면 모든 오픈채팅방의 API 송수신 과정에서 어떤 명령과 데이터가 오고갔는지를 카카오가 전부 확인해야 한다”면서 “이 과정을 거치지 않았다면 보안 취약점으로 유출된 정보가 없다고 카카오가 단정하기는 무리”라고 말했다.
해커가 유저아이디를 통해 이용자 개인정보를 추출하더라도 이를 통해 이용자의 '대화 내역'까지 확보하기는 어렵다. 다만 '한 사람'의 내부인만 있어도 오픈카톡방에서 각 개인이 어떤 말을 했는지 특정하는 게 가능하다. 예를 들어 채팅방에서 공익제보를 한 사람의 인적 사항이 바로 확인될 수 있다.
이형두기자 dudu@etnews.com