카카오톡에서 ‘원클릭’ 취약점 발견... 다른 사용자 채팅 메시지 읽기 가능

2024-06-28 10:45
  • 카카오톡
  • 네이버 블로그
  • url
종단간 암호화 메시징 비활성화가 문제...웹뷰에서 발생하는 오류가 취약점 통로

[보안뉴스 김영명 기자] 카카오톡의 10.4.3 버전에서 원클릭 익스플로잇 취약점이 발견됐다. 이 취약점은 딥링크 유효성 검사로 인해 원격 공격자가 사용자에게 웹뷰(WebView) 내에서 공격자가 제어하는 자바스크립트를 임의로 실행하도록 지시해 다른 사용자의 계정을 탈취, 채팅 메시지를 무단으로 읽을 수 있는 것으로 알려졌다.


▲보안 연구원이 카카오톡 원클릭 잇스플로잇 취약점을 소개하는 동영상[캡처=깃허브 stulle123 블로그]

이번 취약점은 CVE-2023-51219로 명명됐다. 현재 구글 플레이스토어에 등록된 버전은 10.8.3 버전으로 6월 24일에 업데이트된 것으로 표기돼 있다.

이 취약점은 공공 코드 리포지터리인 깃허브(GitHub)에서 stulle123라는 계정을 갖고 있는 외국의 한 보안연구원이 “카카오톡 안드로이드 애플리케이션의 다양한 취약점이 어떻게 사용자의 메시지 공개로 이어질 수 있는지 보여주고 있다”고 설명했다.

종단간 암호화 메시징 비활성화 디폴트가 문제
이번 취약점에 대해 해당 연구원은 “카카오톡에서는 종단간 암호화(End-to-End Encrypted, E2EE) 메시징이 기본적으로 활성화되어 있지 않았다. 카카오톡이 전송 중인 메시지에 접근할 수 있는 일반 채팅방은 많은 사용자들이 선호하는 방식이다. 카카오톡에는 ‘보안 채팅’이라는 옵트인(opt-in) E2EE 기능이 있지만, 그룹 메시징이나 음성 통화와 같은 기능은 지원하지 않는다”고 설명했다.

이번 취약점의 진입 통로는 웹뷰(WebView)에 있다고 이 연구원은 소개했다. ‘웹뷰(WebView)’란 안드로이드 플랫폼에 내장된 애플리케이션으로 2021년 3월에도 구글 안드로이드 스마트폰에서 카카오톡과 네이버 등 모바일 앱의 작동이 멈추는 오류가 발생했을 때 주요 원인으로 꼽히기도 했다.

이 웹뷰는 내보내기가 되며, 딥링크(Deeplink)로 시작할 수 있다. 딥링크란, 모바일 웹상에 있는 링크나 그림을 클릭할 경우 기기 내 관련 앱이나 사전에 정의된 특정 웹페이지가 실행되는 모바일 기술을 말한다.

그리고 자바스크립트가 활성화돼 있으며, 자바스크립트를 통해 내보내지 않은 다른 앱 구성 요소에 데이터를 전송하는 방식을 사용하고 있다. 예를 들어 URI(Uniform Resourcce Identifier, 통합 자원 식별자)는 MyProfileSettingsActivity에서 특정 웹사이트를 로드한다. 하지만 URI는 삭제되지 않아 잠재적으로 모든 앱 구성요소에 액세스할 수 있다.

또한 Authorization HTTP 헤더에서 액세스 토큰이 유출된다. 이는 CommerceBuyActivity 내에서 자체 자바스크립트를 실행하는 방법을 찾으면 사용자의 액세스 토큰을 훔치고 사용자가 악성 kakaotalk://buy 딥링크를 클릭할 때 임의의 앱 구성 요소를 시작할 수 있는 능력을 갖게 된다는 것을 의미한다. 이 연구원은 현재 일부 검증이 진행되고 있기 때문에 공격자가 제어하는 ​​임의의 URL을 로드할 수 없다고 설명했다.

코드를 살펴보면 경로, 쿼리 매개변수와 URL 조각을 제어한다는 것을 알 수 있다. 카카오톡을 사용하는 모든 항목에는 ‘m36725d’라는 문자열이 접두어로 붙는다. 따라서 사용자가 딥링크를 클릭하면 buy[.]kakao[.]com/foo가 CommerceBuyActivity 웹뷰에 로드된다.

이 연구원은 “공격자는 임의의 자바스크립트를 실행해 사용자의 액세스 토큰을 탈취할 수 있다. 그리고 악의적인 딥링크를 제작해 토큰을 공격자가 제어하는 서버로 보낼 수 있다”고 설명했다.


▲CVE 홈페이지에 소개된 CVE-2023-51219 안내[자료=CVE 홈페이지]

개념증명 통한 공격 단계 살펴보니
윈도와 맥 OS용 카카오톡이나 오픈소스 클라이언트인 키위토크(KiwiTalk)를 피해자의 계정에 등록해 비 종단간 암호화된 채팅 메시지를 읽는 것으로 개념증명을 했다. 먼저 공격자가 악의적인 딥링크를 준비하기 위해 파일에 페이로드를 저장, HTTP 서버를 시작하고 다른 터미널 창에서 Netcat(TCP/UDP 프로토콜로 연결된 네트워크상에서 특정 대상과 데이터를 송수신하게 해주는 유틸리티) 수신기를 연다.

다음으로 공격자는 URL을 전송, 피해자가 클릭할 때까지 기다린다. 그리고 액세스 토큰이 Netcat 수신기에서 유출되면, 공격자는 액세스 토큰을 사용해 피해자의 비밀번호를 재설정한다. 마지막으로 공격자는 피해자의 카카오톡 계정을 자신의 기기로 등록할 수 있다.

이 연구원은 “사용자의 메시지를 훔치기 위해 매우 복잡한 익스플로잇 체인이 필요하지 않은 인기 있는 채팅 앱이 여전히 많이 있다”며 “앱 개발자가 사소한 실수를 저지른다면 안드로이드에서 제공하는 강력한 보안 모델과 메시징 암호화도 무용지물이 될 수밖에 없다”고 말했다. 이어 “여러 보안 커뮤니티에서 아시아의 채팅 앱들은 잘 드러나지 않아 이 같은 사실을 알기 힘들다”고 덧붙였다.
[김영명 기자(boan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


현상훈(hsh9062) 2024.06.29 15:07

리포티저리 -> 리포지터리


과월호 eBook List 정기구독 신청하기

    • 씨프로

    • 인콘

    • 엔텍디바이스코리아

    • 마이크로시스템

    • 다봄씨엔에스

    • 아이디스

    • 씨프로

    • 웹게이트

    • 지오멕스소프트

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 비엔비상사

    • 원우이엔지
      줌카메라

    • 지인테크

    • 인텔리빅스

    • 이화트론

    • 다누시스

    • 테크스피어

    • 렉스젠

    • 슈프리마

    • 혜성테크윈

    • 시큐인포

    • 미래정보기술(주)

    • 비전정보통신

    • 한국씨텍

    • 경인씨엔에스

    • 트루엔

    • 성현시스템

    • 디비시스

    • 다후아테크놀로지코리아

    • (주)우경정보기술

    • 투윈스컴

    • 세연테크

    • 위트콘

    • 구네보코리아주식회사

    • 유에치디프로

    • 넥스트림

    • 주식회사 에스카

    • 포엠아이텍

    • 에이티앤넷

    • 세렉스

    • 한국드론혁신협회

    • 네이즈

    • 이노뎁

    • 다누시스

    • 시만텍

    • 테이텀시큐리티

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 사라다

    • 아이엔아이

    • (주)일산정밀

    • 새눈

    • 에이앤티코리아

    • 유투에스알

    • 태정이엔지

    • 네티마시스템

    • 에이치지에스코리아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 미래시그널

    • 두레옵트로닉스

    • 엘림광통신

    • 에스에스티랩

    • 에이앤티글로벌

    • 현대틸스
      팬틸트 / 카메라

    • 모스타

    • 지와이네트웍스

    • 보문테크닉스

    • 엔에스티정보통신

    • 메트로게이트
      시큐리티 게이트

    • 포커스에이치앤에스

    • 엔시드

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

PC버전

닫기