홈으로 돌아가기

텔레가 텔레그램 클라이언트: GPL 위반, MitM 공격 위험 분석

텔레가 텔레그램 클라이언트의 심각한 보안 취약점을 분석합니다. GPL v2 라이선스 위반, 러시아 디지털 개발부 루트 인증서 통합, MitM 공격 가능성, 데이터 유출 위험 등 숨겨진 위협을 자세히 다룹니다. 사용자 보안에 대한 경고.

텔레가 텔레그램 클라이언트: 숨겨진 보안 위협과 MitM 공격 가능성
Advertisement 728x90

'텔레가' 텔레그램 클라이언트의 치명적인 보안 분석: 라이선스 위반 및 숨겨진 MitM 공격 위협

'청소년 지향' 텔레그램 클라이언트로 홍보되며 개방성과 검열 우회 기능을 내세운 '텔레가'는 정밀한 역공학 분석 결과, 치명적인 보안 취약점, 심각한 GPL v2 라이선스 위반, 그리고 무단 트래픽 가로채기 가능성이 있는 메커니즘이 드러났습니다. 핵심 발견 사항은 러시아 디지털 개발부의 루트 인증서 통합이었는데, 이는 인증서 유효성 검사 비활성화와 결합되어 완전한 중간자(MitM) 공격 조건을 조성합니다. 이는 사용자 데이터의 기밀성과 무결성에 심각한 위험을 초래합니다.

주장된 개방성 vs. 숨겨진 위험

'텔레가' 클라이언트 개발자들은 이를 차단을 우회하고 안정적인 작동을 보장할 수 있는 오픈 소스 솔루션으로 적극 홍보합니다. 그러나 오픈 소스라고 주장되는 소스 코드에 접근하려는 시도는 장애에 부딪혔습니다. 공식 웹사이트에는 저장소 링크가 없으며, 지원 요청 및 채팅 메시지는 삭제되거나 무시됩니다. 이 사실만으로도 그들의 개방성 주장의 진정성에 의문이 제기됩니다.

최종 사용자 라이선스 계약(EULA) 분석 결과, 자유 소프트웨어 원칙과 직접적인 모순이 발견되었습니다. 특히, 클라이언트는 GPL v2 라이선스 하에 배포되는 안드로이드용 텔레그램의 포크로 밝혀졌음에도 불구하고, EULA는 라이선스 제공자가 '메신저에 대한 독점적 권리'를 주장합니다. 이는 '텔레가' 개발자들이 소스 코드를 제공해야 하며 복사 또는 배포를 제한할 권리가 없음을 의미합니다. 대신, EULA에는 '메신저 판매, 복제, 복사'를 명시적으로 금지하는 조항이 포함되어 있는데, 이는 GPL v2의 명백한 위반입니다. 또한, TDLib에 대한 Boost Software License 1.0이 '오픈 소스 코드'의 참조로 인용되었지만, 이는 메인 클라이언트가 아닌 사용된 라이브러리 중 하나에만 적용됩니다. 사전 통지 없이 기능의 일방적 수정 및 사용자 채널 강제 구독을 허용하는 조항도 발견되었으며, 개발자 책임은 상징적인 금액인 500루블(약 5-6달러)로 제한됩니다.

Google AdInline article slot

기술적 취약점 및 아키텍처 결함

'텔레가' APK 파일의 역공학 분석 결과, 몇 가지 우려스러운 기술적 결정이 드러났습니다. 예를 들어, 사용자 통화는 러시아 소셜 네트워크 '오드노클라스니키'(calls.okcdn.ru) 서버를 통해 라우팅되는데, 이는 트래픽 기밀성과 '청소년 지향' 클라이언트에 대한 이러한 선택의 적절성에 의문을 제기합니다. 또 다른 특이점은 완전 순방향 비밀성(PFS) 관리가 서버 측에서 처리된다는 것입니다. 이는 서버 소유자가 PFS를 비활성화할 수 있으며, 이는 장기 키가 손상될 경우 과거 세션의 보안 수준을 저하시킬 수 있음을 의미합니다.

주요 장점 중 하나로 선전되는 검열 우회 메커니즘 또한 치명적인 결함으로 구현되었습니다. 클라이언트는 https://api.telega.info/v1/dc-proxy로 HTTP 요청을 통해 현재 데이터 센터(DC) 주소를 요청합니다. 그러나 코드는 이 서버의 응답 서명을 확인하는 메커니즘이 부족하고, TrustManager가 비활성화(더미 처리)되어 있어 인증서 유효성 검사가 전혀 이루어지지 않습니다.

// 인증서 유효성 검사 부족을 보여주는 예시 코드
// (TrustManager가 더미 처리됨)
public class InsecureTrustManager implements X509TrustManager {
    @Override
    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        // 유효성 검사 없이 항상 신뢰
    }

    @Override
    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        // 유효성 검사 없이 항상 신뢰
    }

    @Override
    public X509Certificate[] getAcceptedIssuers() {
        return new X509Certificate[0];
    }
}

이는 api.telega.info 경로에서 중간자(MitM) 공격을 수행하는 공격자가 응답을 위조하고 모든 사용자 트래픽을 자신들이 통제하는 서버로 리디렉션할 수 있게 합니다. 표준 텔레그램 아키텍처에서 프록시(MTProto 프록시)는 암호화 키에 접근할 수 없고 메시지 내용을 볼 수 없지만, '텔레가'의 아키텍처는 트래픽이 어디로든 라우팅될 수 있도록 하여 취약하게 만듭니다.

Google AdInline article slot

치명적인 위협: 디지털 개발부 인증서 및 MitM 공격

가장 충격적인 발견은 '텔레가' APK 파일 리소스 내에 루트 인증서 resources/res/raw/rootca_ssl_rsa2022.cer가 존재한다는 것이었습니다. 이는 다름 아닌 러시아 디지털 개발부에서 발행한 러시아 신뢰 루트 CA 인증서입니다. 클라이언트 애플리케이션에 국가 발행 루트 인증서를 포함하는 것은 그 자체로 이례적이고 잠재적으로 위험한 관행입니다. 앞서 언급된 인증서 유효성 검사 부족(TrustManager 비활성화)과 원본 텔레그램 클라이언트에 존재하는 인증서 고정(Certificate Pinning) 메커니즘 제거가 결합되어, 완전한 MitM 공격을 위한 이상적인 조건을 만듭니다.

인증서 고정은 애플리케이션이 특정 도메인에 대해 예상되는 인증서를 '고정'하여, 신뢰할 수 있는 루트 기관에 의해 서명되었더라도 다른 모든 인증서를 거부하는 메커니즘입니다. '텔레가'에 이 기능이 없다는 점과 디지털 개발부의 루트 인증서에 대한 신뢰가 결합되면, 이 인증서의 개인 키를 소유한 누구든지(예: 국가 기관 또는 이를 획득한 공격자) '텔레가' 사용자 트래픽을 실시간으로 가로채고 해독할 수 있음을 의미합니다. 이는 통신 기밀성과 보안에 직접적인 위협을 가하며, 클라이언트를 '차단 우회 도구'에서 잠재적인 감시 도구로 변모시킵니다.

데이터 유출 및 불완전한 소스 코드

네트워크 활동 분석 결과, '텔레가' 클라이언트가 다음 데이터를 서버(telega.info)로 전송하는 것으로 나타났습니다.

Google AdInline article slot
  • phone (전화번호)
  • ip (IP 주소)
  • deviceModel (기기 모델)
  • systemVersion (운영 체제 버전)
  • authKeyId (텔레그램 인증 키 식별자)

특히 authKeyId를 제3자 서버로 전송하는 것은 텔레그램 네트워크 내 사용자 인증과 직접적으로 연결되어 있으며 식별에 사용될 수 있는 민감한 정보입니다. 주장된 오픈 소스 특성 또한 초기 접근 불가능성뿐만 아니라 나중에 GitHub에서 발견된 저장소들이 불완전하고 APK 파일에 있는 모든 코드를 포함하지 않았기 때문에 허위로 드러났습니다. 이는 개발자와 그들의 보안 주장에 대한 신뢰를 더욱 약화시킵니다.

'텔레가' 텔레그램 클라이언트 분석의 주요 발견 사항:

  • GPL v2 라이선스 위반: 안드로이드용 텔레그램 코드를 기반으로 하는 클라이언트가 복사를 금지하고 소스 코드를 제공하지 않아 오픈 소스 라이선스 약관을 준수하지 않습니다.
  • 안전하지 않은 통화 라우팅: 음성 통화에 오드노클라스니키 서버를 사용하는 것은 개인 정보 보호 문제를 야기합니다.
  • 취약한 프록시 메커니즘: 새로운 DC를 요청할 때 서명 및 인증서 유효성 검사가 부족하여 MitM 공격의 문을 엽니다.
  • 디지털 개발부 루트 인증서 통합: 애플리케이션에 내장된 러시아 신뢰 루트 CA와 비활성화된 인증서 고정이 결합되어 트래픽 가로채기 및 해독을 허용합니다.
  • 광범위한 데이터 유출: 전화번호, IP 주소, 기기 데이터 및 authKeyId를 적절한 보안 보장 없이 제3자 telega.info 서버로 전송합니다.
  • 허위 개방성: 오픈 소스 주장은 허위로 드러났으며, 프로젝트와 개발자에 대한 신뢰를 약화시켰습니다.

중요한 점:

  • '텔레가' 클라이언트는 사용자 데이터의 기밀성과 보안을 위태롭게 할 수 있는 심각한 취약점을 포함하고 있습니다.
  • 디지털 개발부 루트 인증서 통합과 기본 보안 검사 비활성화는 국가 후원 또는 기타 통제된 트래픽 가로채기 조건을 조성합니다.
  • 이 클라이언트를 사용하는 것은 사용자에게 상당한 위험을 초래하며, 특히 중요한 식별자를 제3자 서버로 전송한다는 점을 고려할 때 더욱 그렇습니다.
  • 오픈 소스 주장은 허위로 드러났으며, 프로젝트와 개발자에 대한 신뢰를 약화시켰습니다.
  • 개발자는 GPL v2 약관을 엄격히 준수하고, 인증서 고정 및 엄격한 인증서 유효성 검사를 포함한 표준 보안 관행을 구현해야 합니다.

— Editorial Team

Advertisement 728x90

다음 읽기