"암호화폐 노린 해킹에 '카카오 QR체크인'도 마비됐다"

클레이스왑 보고서…"22억 해킹·QR체크인 먹통 동시 발생 우연아냐"

컴퓨팅입력 :2022/02/06 20:04    수정: 2022/02/06 23:34

지난 3일 정오 발생한 카카오 QR체크인·지도·뉴스 서비스 먹통 사고가 탈중앙금융(디파이) 서비스 클레이스왑 해킹 사고와 연관된 것으로 보이는 정황이 속속 드러나고 있다.

암호화폐 탈취를 노리고 공격을 준비한 해커들이 카카오서버로 가야 할 정상적인 트래픽을 중간에서 교란해, 자신들의 위장 서버로 보내면서 카카오SDK를 사용하는 일부 서비스와 카카오 자체 서비스들이 장애를 일으켰다는 것이다. 

6일 클레이스왑 운영업체 오지스가 보안 업체 티오리가 함께 작성한 '클레이스왑 사건 보고서'에 따르면, 지난 3일 클레이스왑에서 암호화폐를 탈취해 간 해커가 범행 과정에서 카카오 서비스 장애도 일으킨 것으로 의심된다.

지난 3일 11시 30분부터 1시간 30분동안 클레이스왑에서는 이용자가 자산 예치·스왑·인출 등을 요청할 경우, 즉시 해커가 지정한 지갑으로 이용자의 코인이 전송되는 사고가 발생했다. 해커가 탈취한 코인은 총 22억원 상당으로 집계됐다.

(사진=이미지투데이)

오지스는 보고서에서 이번 사고를 "정체를 알 수 없는 해커집단이 '카카오서버'로 가야하는 요청을 자신들이 자체 구축한 위장서버로 가도록 해, 악성코드를 심고 암호화폐를 탈취해 간 것"이라고 요약해 설명했다.

오지스는 클레이스왑 서비스 일부 기능을 카카오가 제공하는 개발 기능인 '카카오SDK'를 이용해 만들었는데, 해커가 이 카카오SDK에 대한 요청을 카카오서버가 아니라 자신들의 위장서버로 보내고 이후 악성코드를 심어 공격했다는 설명이다.

카카오 SDK(https://developers.kakao.com/sdk/js/kakao.min.js)는 카카오 로그인·링크·스토리·내비·채널 등 카카오가 제공하는 여러 기능을 포함하고 있다. 카카오 자체 서비스는 물론 클레이스왑 같이 카카오가 제공하는 기능을 사용하고자 하는 외부 업체들도 해당 SDK를 쓸 수 있다.

해커가 클레이스왑 공격을 목적으로, 카카오서버로 가야 할 트래픽을 교란시키는 대범한 네트워크 공격을 펼친 것이다.

해커가 정상적인 트래픽 요청을 교란하면서, 카카오 자체 서비스와 카카오SDK를 사용하는 외부 서비스의 장애로 이어진 것으로 보인다. 해커는 클레이스왑에는 암호화폐 탈취를 목적으로 악성코드를 심었지만, 나머지 서비스에 대해서는 트래픽 교란행위만 했다.

오지스 측은 보고서에서 "해킹이 이뤄지고 있던 약 1시간 30분 동안 KT 등 일부 ISP 사업자들의 인터넷망을 통한 카카오서버 접속이 차단돼(카카오서버로 향하던 트래픽이 다른 주소로 라우팅돼), 카카오의 여러 서비스에 동시 다발적으로 장애가 발생했다"고 분석했다.

실제 같은 시간 카카오 QR체크인을 포함해 지도, 포털 다음 등에서 오류가 발생해 이용자들이 불편을 겪었다. 

카카오 관계자는 "카카오 QR체크인 등의 장애는 카카오가 특정 ISP에서 사용하는 IP에 대해 (공격자의) 교란행위가 발생한 것이 원이이됐다"고 설명했다.

카카오 자체 서비스뿐 아니라 카카오SDK를 사용하는 외부 서비스들도 장애를 일으켰다. 카카오 개발자 지원 사이트 '카카오 디벨로퍼스'에는 이날 주소검색, 공유하기 등 카카오 관련 스크립트가 작동하지 않는다는 문의 글이 다수 올라왔다. 모두 서비스 내 카카오 SDK를 사용하는 경우였다.

해당 문의에 카카오 측은 "이날 11시 50분부터 12시40분경 특정 서버 IP가 일부 통신사별로 라우팅이 안되는 문제가 있었다"고 답변했다.

사고 보고서에서 밝힌 해커의 구체적인 해킹 수법도 IP변경과 관련있다. 보고서에는 이번 해킹이 BGP하이재킹이라는 방법을 사용했다고 설명돼 있다.

BGP는 라우팅 프로토콜인데, 애초에 상호 간 신뢰를 기반으로 고안됐기 때문에, 이웃에 있는 BGP 피어가 어나운스하는 라우팅 정보에 대해서는 무조건적으로 신뢰한다는 취약성을 가지고 있다. 이런 BGP 프로토콜의 취약점을 활용해 라우팅 테이블 값을 조작해, 해커가 지정한 주소로 요청을 보냈다는 설명이다.

해커가 클레이스왑을 제외한 다른 서비스에서 카카오SDK를 불러올 때 왜 먹통이 되게 했는지는 좀 더 자세한 분석이 필요하다. 해커 입장에서는 여러 서비스가 먹통이 돼 범죄가 쉽게 들통날 일을 스스로 만든 셈이 됐기 때문이다.

관련기사

이번 분석을 도운 보안업체 티오리의 박세준 대표는 "(BGP하이재킹 과정에서) 공격조직의 서버 설정 실수였거나 예상했던 것보다 (카카오SDK 요청으로) 훨씬 큰 트래픽이 몰리면서 (해커가 지정한 서버가 이를) 감당하지 못했을 수 있다고 본다"고 예상했다. 이어 "조사결과 다른 서비스에 영향을 주지 않는 방식으로 공격을 준비한 흔적도 보였다"며 "보다 자세한 내용을 추후 보고서로 공개할 예정"이라고 했다.

카카오 관계자는 "카카오 SDK 자체는 공격받은 바, 오염된 바 없다"며 "카카오 SDK 자체가 공격 받은 바 없으므로 카카오SDK를 사용하는 외부 서비스들은 클레이스왑과 같은 공격을 받은 것이 아니다"고 강조했다.