14일 카카오에 따르면 이달 3일 정오께 △카카오톡 QR 체크인 서비스 △다음 뉴스 △카카오맵 등 카카오 API를 활용하는 서비스 일부가 원활하게 작동되지 않았으며 당일 13시경 서비스가 복구됐다. 원인으로 지목된 것은 BGP 하이재킹이라는 공격 기법이다.
BGP 하이재킹은 PC와 서버가 통신하는 규칙을 명시한 '라우팅 테이블'을 손상시키고, 정상적인 서버가 아닌 다른 곳으로 유도하는 공격이다. 사용자의 통신 목적지를 서버가 아닌 다른 곳으로 변조하며, 사용자가 정상적인 주소(IP)로 연결하더라도 해커가 만든 가짜 서버에 도달한다.
사용자가 카카오 QR 체크인을 사용하기 위해 앱을 실행하고, QR 코드를 요청하더라도 해당 요청 내용이 서버가 아닌 공격자에게 전송된다. 결국 사용자 입장에서는 서비스가 작동하지 않는 셈이다.
보안 전문가들은 타인이 트래픽을 가로챌 경우 트래픽 내용을 모니터할 수 있다고 경고했다. 뿐만 아니라 가짜 서버에서 악성 스크립트(명령어)를 주입하고, 사용자에게 피해를 주기도 한다. 실제로 카카오 서비스 오류가 발생한 당일, 암호화폐 유출 사고가 발생한 클레이스왑도 BGP 하이재킹을 통한 피해를 입었다.
클레이스왑에 따르면 그간 카카오 SDK를 마케팅에 활용해왔으며, 공격자는 사용자와 카카오 서버 사이의 통신에 개입해 사용자를 가짜 서버로 유도했다. 사용자 기기가 정상적인 카카오 SDK를 요청하더라도, 공격자가 설정한 악성 SDK가 설치되도록 했다. SDK는 실제 클레이스왑에서 사용하는 코드를 공격자가 임의로 수정해 제공했으며, 사용자가 암호화폐 환전(스왑, Swap)을 시도할 경우 해커 암호화폐 지갑으로 사용자 암호화폐가 전송되도록 유도했다.
해당 사건을 분석한 보안 전문가는 공격자가 트래픽(HTTP 헤더)을 분석해 여러 카카오 서비스로 연결되는 요청 중 클레이스왑으로 연결되는 내용만 골라 악성 SDK를 유포했고, 이밖에 사용자에게는 서버 오류가 표시되도록 했다고 설명했다.
클레이스왑은 해당 사고 보고서를 통해 인터넷 서비스를 제공하는 대기업이 이러한 공격을 예방하기 위해서는 라우팅 인증(RPKI) 기능을 도입해야 한다고 제언했다.
한편, 카카오는 이번 사고의 피해 원인을 밝히기 위해 경찰에 고소장을 제출하는 등 수사당국과 협조할 계획이다.
©'5개국어 글로벌 경제신문' 아주경제. 무단전재·재배포 금지