TENET: Telegram Mini App (in)security
이 논문은 텔레그램의 공식 월렛(Wallet)에 포함된 것을 포함하여 민감한 자격 증명을 평문으로 저장하는 것과 같은 텔레그램 미니 앱의 광범위한 보안 취약점을 밝혀내는 특화된 감사 도구인 TENET을 소개하며, 이러한 결함들이 책임 있는 공개 이후 플랫폼이 새로운 보안 저장 API를 구현하도록 이끌어낸 과정을 입증한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
디지털 세상에서 많은 사람들은 단순히 대화를 나누기 위해서뿐만 아니라 돈을 관리하기 위해서도 메시징 앱에 의존합니다. 이러한 앱들은 메인 애플리케이션 내부에서 실행되는 작고 전문화된 프로그램들이 살아 숨 쉬는 생태계로 진화했으며, 이를 통해 사용자들은 채팅 인터페이스를 벗어나지 않고도 암호화폐를 거래하거나, 게임을 즐기거나, 투자를 관리할 수 있게 되었습니다. '미니 앱(Mini Apps)'이라고 불리는 이 프로그램들은 메시징 소프트웨어 내부에서 직접 실행되는 작은 웹사이트처럼 작동합니다. 이러한 통합은 큰 편의성을 제공하지만, 동시에 복잡한 보안 과제를 만들어냅니다. 물리적인 지갑이 현금을 안전하게 보관하기 위해 자물쇠가 필요한 것처럼, 디지털 지갑 역시 자금에 접근할 수 있는 비밀 코드를 보호하기 위한 강력한 암호화가 필요합니다. 만약 이 코드들이 읽거나 복사하기 쉬운 방식으로 저장된다면, 시스템 전체의 보안이 무너집니다. 연구자들이 던지는 질문은 이처럼 편리하게 통합된 도구들이 실제로 사용자의 돈을 안전하게 지켜주고 있는지, 아니면 금고의 열쇠를 현관 앞에 놓아두고 있는 것인지에 대한 것입니다.
킹 압둘라 과학기술대학교(KAUST)의 연구진과 스위스 기업인 아티피셜리(Artificialy) 팀은 이 문제를 텔레그램(Telegram) 메시징 플랫폼 내에서 조사하기 위해 나섰습니다. 일일 활성 사용자 수가 4억 5천만 명을 넘어서는 텔레그램은 이러한 미니 앱들의 주요 허브가 되었습니다. 연구진은 이 애플리케이션들이 사용자의 기기에 민ه한 정보를 어떻게 저장하는지에 주목했습니다. 그들은 특히 암호화폐 지갑을 복구하는 데 사용되는 비밀 문구나 사용자의 로그인을 유지하는 디지털 토큰과 같은 금융 데이터에 대해 우려했습니다. 조사 결과, 광범위하고 위험한 패턴이 발견되었습니다. 많은 애플리케이션이 중요한 보안 비밀을 '플레인 텍스트(plain text)', 즉 데이터를 암호화하지 않고 작성된 그대로 저장하고 있었습니다. 이러한 관행은 도난당한 노트북, 악성 소프트웨어 프로그램, 또는 심지어 휴대전화를 잠시 건네준 경우와 같이 사용자의 기기에 접근할 수 있는 누구에게나 정보를 노출하게 만듭니다.
이 문제의 범위를 밝혀내기 위해 연구진은 '테넷(TENET)'이라는 특화된 감사 도구를 개발했습니다. 이 도구는 비밀번호, 디지털 키 또는 세션 토큰의 존재를 나타내는 특정 패턴을 찾아내기 위해 기기의 로컬 저장소를 스캔하도록 설계되었습니다. 테넷은 이러한 비밀 정보가 어떤 구조로 되어 있는지에 대한 깊은 이해를 바탕으로 구축되었으며, 이를 통해 해롭지 않은 텍스트와 위험한 데이터를 구분할 수 있습니다. 연구진은 테넷을 사용하여 인기와 금융 활동 중심 여부에 따라 선별된 미니 앱 샘ples를 조사했습니다. 그들은 게임부터 복잡한 금융 도구에 이르기까지 61개의 서로 다른 애플리케이션을 스크리닝했으며, 그중 37개를 성공적으로 분석했습니다. 결과는 극명했습니다. 분석한 37개의 앱 중 30개가 심각한 보안 결함을 포함하고 있었습니다.
결함은 세 가지 뚜렷한 심각도 범주로 나뉘었습니다. 가장 치명적인 문제는 비밀 복구 문구나 개인 키를 플레인 텍스트로 저장하는 앱들이었습니다. 이 경우, 공격자가 기기에 접근하면 파일을 단순히 복사하는 것만으로 즉시 사용자의 암호화폐 자산에 대한 완전한 통제권을 가질 수 있습니다. 두 번째 범주는 암호화를 사용하긴 하지만, 그 암호화를 해제하는 데 필요한 키를 잠긴 데이터 바로 옆에 함께 저장하는 앱들이었습니다. 이는 금고를 잠가놓고는 문 앞에 조합 번호를 써 붙여 놓은 것과 같습니다. 키를 쉽게 구할 수 있기 때문에 보호는 환상에 불 불과합니다. 세 번째 범주는 사용자가 로그인되어 있음을 증명하는 디지털 배지인 세션 토큰을 저장하는 앱들이었습니다. 공격자가 이 토큰을 훔치면, 비밀번호를 알지 못하더라도 사용자를 사칭하여 계정을 탈취할 수 있습니다.
아마도 가장 충격적인 발견은 1억 명 이상의 사람들이 사용하는 텔레그램의 공식 '월렛(Wallet)' 애플리케이션조차도 중요한 복구 문구를 플레인 텍스트로 저장하고 있다는 사실이었습니다. 이는 사용자의 전체 금융 정체성이 단지 기기의 저장 파일에 접근하는 것만으로도 위협받을 수 있음을 의미했습니다. 연구진은 이러한 취약점이 현실적인 시나리오에서 어떻게 악용될 수 있는지 입증했습니다. 예를 들어, 컴퓨터에서 데이터를 훔치는 흔한 악성코드는 이러한 암호화되지 않은 파일들을 쉽게 잡아낼 수 있습니다. 또한, 이메일로 전송된 스프레드시트와 같은 악성 문서가 사용자를 속여 코드를 실행하게 함으로써, 사용자가 전혀 모르는 사이에 전체 저장 폴더를 통째로 복사하여 원격 서버로 전송할 수 있음을 보여주었습니다.
연구진은 단순히 문제점을 찾아내는 데 그치지 않고, 이를 어떻게 해결할 수 있는지도 보여주었습니다. 연구 결과를 텔레그램과 해당 앱 개발자들에게 책임감 있게 보고한 후, 플랫폼 측은 두 가지 새로운 보안 기능을 도입하며 대응했습니다. 이 새로운 도구들은 개발자가 민감한 데이터를 운영체제 자체에 의해 암호화된 방식으로 저장할 수 있게 하여, 권한이 없는 프로그램이 접근할 수 없도록 만듭니다. 연구진은 텔레그램의 공식 월렛이 이러한 새로운 보안 방식을 사용하도록 업데이트되었으며, 복구 문구가 더 이상 쉽게 읽힐 수 있는 방식으로 저장되지 않음을 확인했습니다. 이는 해당 취약점이 실재하며, 실질적인 해결책이 존재한다는 것을 입증했습니다.
이 연구는 현대적인 메시징 생태계의 보안에 존재하는 결정적인 격차를 강조합니다. 메시징 플랫폼 자체는 안전할지 몰라도, 그 안에서 실행되는 애플리케이션들은 종종 개발자가 자체적인 안전 조치를 구현하는 것에 의존하며, 많은 경우가 이에 실패했습니다. 연구진은 테스트한 취약한 앱의 대다수가 금융 손실이 영구적이고 되돌릴 수 없는 분야인 암호화폐와 관련되어 있다는 것을 발견했습니다. 신용카드를 도난당했을 때 취소할 수 있는 은행 계좌와 달리, 암호화폐 지갑을 도난당하면 자금은 영원히 사라지는 경우가 많습니다. 이 연구는 편리함이 보안을 희생시키며 이루어져서는 안 된다는 명확한 경고 역할을 합니다. 디지털 자산을 관리하는 도구들은 최고 수준의 보호 기준을 충족해야 합니다. 연구진은 이러한 약점을 폭로하고 해결책을 제시함으로써, 이러한 통합 애플리케이션을 매일 사용하는 수백만 명의 디지털 자산을 보호하는 데 기여했습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.