Telegram Desktop 취약점으로 사용자 파일 탈취가 가능했음
요약
본 기사는 Telegram Desktop의 취약점을 분석하며, 이는 특정 앱만의 문제가 아닌 현대 데스크톱 OS의 근본적인 설계 문제임을 지적합니다. 모든 사용자 프로세스가 파일 시스템 전체에 접근할 수 있는 구조가 보안 위험을 높이며, 이상적으로는 프로그램별 데이터 격리가 필요하다고 주장합니다.
핵심 포인트
- 취약점은 Telegram 고유의 버그이지만, 본질은 OS 레벨의 설계 문제다.
- 모든 앱이 기반 파일 시스템과 격리되어야 하며, 접근 범위를 제한해야 한다.
- 개인 정보 보호는 기업의 상업적 이해관계보다 사용자가 우선시되어야 한다.
- 샌드박스 및 앱 격리 수단 활용을 통해 유사 문제를 예방할 수 있다.
Telegram Desktop이나 Windows는 쓰지 않지만, 바로 이런 이유로 Linux에서 Firefox를 firejail 샌드박스 안에서 실행함. 브라우저가 접근할 수 있는 폴더는 Downloads뿐이며, 그곳은 신뢰할 수 없는 영역으로 보고 파일을 오래 두지 않음.
FreeBSD jail에서 Firefox를 실행해 서버급 보안을 확보하는 이유도 같음. 하지만 공격자가 Firefox 프로필 데이터에 접근할 수 있는지가 관건임. Firefox 자체의 프로필 접근을 막을 수는 없기 때문임.
그래도 모든 로그인 쿠키에는 접근할 수 있을 듯함.
흥미롭게도 Firefox에는 이번 Telegram 취약점에 이용된 단일 인스턴스 기능을 끄는 방법이 없음.
오랜 Firefox 기여자 한 명이 몇 년째 --noremote 옵션을 조금씩 제거하고 있으며, 얼마 전에는 이 옵션이 아무 효과도 없다는 콘솔 알림마저 잘못 처리했음.
Telegram Desktop을 꼭 써야 하는 드문 경우에는 가상 머신에서 실행함. 그 꼬마 재벌의 코드를 내 데스크톱 운영체제에 직접 들일 생각은 없음.
엄밀히 말하면 Telegram만의 취약점이 아님. 모든 사용자 프로세스가 모든 사용자 파일을 읽고 쓸 수 있게 허용하는 현대 데스크톱 운영체제의 취약점임. 이상적으로 모든 프로그램은 기반 파일 시스템과 격리하고, 자기 파일과 프로그램별 데이터 디렉터리의 파일에만 접근하도록 해야 함. 브라우저나 Telegram 클라이언트의 다운로드 폴더가 그 예임.
아님. 분명히 Telegram 고유의 취약점임. 심층 방어가 부족해서 피해가 커질 수는 있지만, Telegram 자체에 취약점이 없다면 문제가 되지 않았을 것임.
반대로 모바일 운영체제는 이런 기능이 없어서 공급업체 종속에 취약함. 사용자가 백업 도구에 다른 앱의 사진 접근 권한을 주지 못하거나, 리믹스 앱에서 쓰려고 미디어 스트림을 안정적으로 녹화하지 못하는 쪽이 명백히 더 큰 문제임.
원래 파일을 만든 앱이 구독제를 도입하거나 개발을 중단했을 때 다른 클라이언트로 전환하려면, 어떤 소프트웨어가 어떤 파일에 접근할지 사용자가 결정할 수 있어야 함. 기업이 소비자로부터 보호받는 것보다 소비자가 상업적 이해관계로부터 보호받는 것이 훨씬 더 절실함. 모바일 운영체제처럼 개인을 희생해 상업 활동을 돕는 것은 비윤리적임.
앱이 자발적으로 격리를 적용해 이런 사고의 피해 범위를 제한할 방법은 이미 많음.
Telegram은 그렇게 하고 있나? 아니면 종단간 암호화도 필요 없을 만큼 똑똑하고 누구도 건드릴 수 없다고 여기는 것처럼, 버그도 자신들과 무관하다고 여기나?
이게 취약점이 아니라면, Telegram을 속여 메시지 데이터베이스를 공격자에게 업로드하게 해서 모든 사적 대화를 유출해도 괜찮다는 뜻인가? 그 파일은 어쨌든 Telegram 소유임.
넓게 보면 모든 운영체제의 취약한 설계지만, 엄밀히는 Telegram의 버그이며 지금은 앱 수준에서 수정됨. 그런 운영체제에도 샌드박스와 앱 격리 수단은 있으니, 앱이 지금부터 활용해 비슷한 문제를 예방할 수 있지 않을까?
그랬지만, 대부분은 전 세계 보안 연구자들이 한목소리로 외쳐도 실제 지인이나 일방적으로 친밀감을 느끼는 인물의 말을 더 믿는 편임.
그래도 쓰는 이유는 사용자 경험이 다른 앱을 압도하고, 아마 배후에 있을 이들도 별로 주목받지 않는 평범한 사람에게는 거의 해를 끼치지 않을 것이기 때문임.
기본 채팅이 종단간 암호화가 아니고 전화번호가 계정에 지나치게 큰 영향을 준다는 것도 알고 있음. 그래도 데이터를 팔고 광고로 먹고사는 기업보다는, 좋은 사용자 경험과 주요 인물에게 관심을 두는 기관 쪽이 더 나음.
맞지만, 기존의 문제는 주로 프로토콜, 발언, 관계자, 인프라에 관한 것이었음. 파일 유출 취약점은 여전히 주목할 만함.
플랫폼에 가입한 다른 사용자를 알려주는 기능이 있음. 큰 유출은 아니지만 처음부터 개인정보 보호 수준이 썩 좋지 않음. 더 안전하고 사생활을 존중한다고 내세우는 메신저가 이 부분에서는 WhatsApp보다도 못함.
이 링크는 이미 https://news.ycombinator.com/item?id=50019667에 올라왔지만, 제목이 “Telegram Desktop: 클릭 한 번으로 계정 탈취”여서 사용자가 접근 가능한 디스크의 모든 파일도 훔칠 수 있었다는 사실이 드러나지 않음. 본문도 이상하게 계정 탈취에 주로 집중함. 제목을 바꿔 다시 올릴 만한 사안이라고 봄.
놀랍게도 취약점의 핵심은 Telegram이 자기 채널에 새 버전을 배포하기 위해 추가한 내부 URL 스킴임. 개발자들은 지시받은 파일을 무엇이든 업로드하는 내부 도구를 넣는 방식을 택했음. 다른 앱 개발자들은 Telegram에 배포할 때 스크립트로 해결하는데, 굳이 이렇게 구현한 것임.
악용 과정이 다소 복잡했던 것은 맞지만 명백히 위험한 기능임. 결국 Telegram Desktop에서 링크를 클릭하는 것만으로 사용자 파일이 유출되고 계정에 접근하거나 계정을 탈취할 수 있었음.
JiaTan급 기능임. 구현 방식이 터무니없으면서도, 악의는 없었다고 그럴듯하게 둘러댈 수 있기 때문임.
doas jexec -U opengrass tellyjail env DISPLAY=:0 Telegram으로 실행하면 됨.
그래도 Telegram 자체 파일을 이용하는 계정 탈취나 캐시된 파일에 대한 접근은 막지 못했을 것임.
은행에 전화번호 변경을 알리는 걸 깜빡했는데, 그 번호를 새로 받은 낯선 사람에게 계좌와 그 안의 모든 내용에 대한 접근 권한이 주어진다고 상상해 보길 바람. 설정을 뒤져 기본적으로 꺼져 있는 2단계 인증 비밀번호를 설정했더라도, 그 사람이 계정을 통째로 삭제할 수 있다면 어떨까?
마지막으로 확인했을 때 Telegram은 기본적으로 정확히 이렇게 작동했음. 전화번호에 묶인 서비스가 안전하다고 보는 것은 우스운 일임.
전화번호 기반 서비스는 원래 그런 취지인 듯함. 이전 사용자가 내 번호를 썼다는 이유로 Telegram이나 WhatsApp 등에 가입하지 못한다면 어떨까?
AI 자동 생성 콘텐츠
본 콘텐츠는 RSS: GeekNews (한국어)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기