Zpět na domů

Telega: Analýza bezpečnosti, GPL porušení a MitM hrozby

Analýza klienta Telega odhaluje kritické zranitelnosti, porušení GPL licence a rizika MitM útoků kvůli integraci certifikátu Minifry.

Telega: Bezpečnostní rizika, GPL porušení a MitM útoky odhaleny
Advertisement 728x90

Kritická analýza bezpečnosti Telegram klienta „Telega“: Porušení licence a skryté hrozby MitM útoků

„Telega“, prezentovaná jako „mládežnický“ Telegram klient s deklarovanou otevřeností a obcházením blokací, při detailní reverzní analýze odhalila kritické bezpečnostní zranitelnosti, závažná porušení licence GPL v2 a potenciální mechanismy pro neoprávněné zachycení provozu. Klíčovým zjištěním byla integrace kořenového certifikátu ruského Ministerstva digitálního rozvoje (Minicifry RF), což v kombinaci s vypnutými kontrolami certifikátů vytváří podmínky pro plnohodnotné MitM útoky. To představuje značná rizika pro důvěrnost a integritu uživatelských dat.

Deklarovaná otevřenost versus skrytá rizika

Vývojáři klienta „Telega“ jej aktivně propagují jako Open Source řešení, schopné obcházet blokace a zajišťovat stabilní provoz. Pokusy o získání přístupu ke zdrojovému kódu, který je deklarován jako otevřený, se však setkaly s překážkami: na oficiálních stránkách chybí odkazy na repozitáře a dotazy na podporu a do chatů jsou mazány nebo ignorovány. To již zpochybňuje upřímnost prohlášení o otevřenosti.

Další analýza uživatelské smlouvy (EULA) odhalila přímé rozpory s principy svobodného softwaru. Konkrétně EULA prohlašuje „výhradní právo na Messenger“ pro poskytovatele licence, ačkoli klient, jak se ukázalo, je forkem aplikace Telegram for Android, distribuované pod licencí GPL v2. To znamená, že vývojáři „Telegu“ jsou povinni poskytnout zdrojový kód a nemají právo omezovat jeho kopírování nebo šíření. Namísto toho EULA obsahuje ustanovení, která přímo zakazují „prodávat, reprodukovat, kopírovat Messenger“, což je hrubé porušení GPL v2. Navíc jako odkaz na „otevřený zdrojový kód“ je uvedena licence TDLib (Boost Software License 1.0), která reguluje pouze jednu z použitých knihoven, nikoli hlavního klienta. Byly také nalezeny body umožňující jednostrannou modifikaci funkcionality bez upozornění a nucené přihlášení uživatelů k odběru kanálů, přičemž odpovědnost vývojářů je omezena symbolickou částkou 500 rublů.

Google AdInline article slot

Technické zranitelnosti a architektonické nedostatky

Reverzní inženýrství APK souboru „Telegu“ odhalilo řadu znepokojivých technických řešení. Například uživatelské hovory jsou směrovány přes servery ruské sociální sítě „Odnoklassniki“ (calls.okcdn.ru), což vyvolává otázky ohledně důvěrnosti provozu a vhodnosti takové volby pro „mládežnického“ klienta. Další zvláštností je, že správa Perfect Forward Secrecy (PFS) je prováděna ze serveru. To znamená, že vlastník serveru může potenciálně vypnout PFS, což snižuje úroveň bezpečnosti minulých relací v případě kompromitace dlouhodobých klíčů.

Mechanismus obcházení blokací, deklarovaný jako jedna z klíčových výhod, je také implementován s kritickými nedostatky. Klient si vyžádá aktuální adresy datových center (DC) prostřednictvím HTTP požadavku na https://api.telega.info/v1/dc-proxy. V kódu však chybí mechanismy pro ověření podpisu odpovědi z tohoto serveru a také je potlačen TrustManager, což znamená úplnou absenci ověřování certifikátů.

// Příklad kódu demonstrujícího absenci ověření certifikátu
// (TrustManager je potlačen)
public class InsecureTrustManager implements X509TrustManager {
    @Override
    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        // Vždy důvěřujeme, bez ověření
    }

    @Override
    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        // Vždy důvěřujeme, bez ověření
    }

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

To umožňuje útočníkovi, který provede útok „člověk uprostřed“ (MitM) na cestě k api.telega.info, podvrhnout odpověď a přesměrovat veškerý uživatelský provoz na svůj kontrolovaný server. Ve standardní architektuře Telegramu proxy (MTProto Proxy) nemá přístup k šifrovacím klíčům a nemůže vidět obsah zpráv, zatímco architektura „Telegu“ potenciálně umožňuje přesměrovat provoz kamkoli, čímž se stává zranitelným.

Google AdInline article slot

Kritická hrozba: Certifikát Minicifry a MitM útoky

Nejznepokojivějším zjištěním bylo objevení kořenového certifikátu resources/res/raw/rootca_ssl_rsa2022.cer v prostředcích APK souboru „Telegu“. Nejedná se o nic jiného než o kořenový certifikát Russian Trusted Root CA, vydaný ruským Ministerstvem digitálního rozvoje (Minicifry RF). Implementace státního kořenového certifikátu do klientské aplikace je sama o sobě neobvyklou a potenciálně nebezpečnou praxí. V kombinaci s již zmíněnou absencí ověřování certifikátů (TrustManager je potlačen) a odstraněním mechanismu Certificate Pinning, který je přítomen v originálním klientovi Telegramu, to vytváří ideální podmínky pro plnohodnotný MitM útok.

Certificate Pinning je mechanismus, který umožňuje aplikaci „připnout“ očekávané certifikáty pro určité domény a odmítnout jakékoli jiné, i když jsou podepsány důvěryhodnou kořenovou autoritou. Jeho absence v „Telegu“ v kombinaci s důvěrou v kořenový certifikát Minicifry znamená, že kdokoli, kdo vlastní soukromý klíč tohoto certifikátu (například státní orgány nebo útočníci, kteří jej získali), může zachytávat a dešifrovat veškerý provoz uživatelů „Telegu“ v reálném čase. To představuje přímou hrozbu pro důvěrnost a bezpečnost komunikace, přičemž klienta mění z „obcházeče blokací“ na potenciální nástroj pro sledování.

Únik dat a neúplné zdrojové kódy

Analýza síťové aktivity ukázala, že klient „Telega“ odesílá na své servery (telega.info) následující data:

Google AdInline article slot
  • phone (telefonní číslo)
  • ip (IP adresa)
  • deviceModel (model zařízení)
  • systemVersion (verze operačního systému)
  • authKeyId (identifikátor autorizačního klíče Telegramu)

Přenos authKeyId na externí servery je obzvláště citlivou informací, protože je přímo spojen s autorizací uživatele v síti Telegram a může být použit k identifikaci. Deklarovaná otevřenost zdrojového kódu se ukázala jako fikce nejen kvůli jeho počáteční nedostupnosti, ale také proto, že později nalezené repozitáře na GitHubu byly neúplné a neobsahovaly veškerý kód přítomný v APK souboru. To ještě více podkopává důvěru ve vývojáře a jejich prohlášení o bezpečnosti.

Hlavní závěry analýzy Telegram klienta „Telega“:

  • Porušení licence GPL v2: Klient, založený na kódu Telegram for Android, nedodržuje podmínky otevřené licence, zakazuje kopírování a neposkytuje zdrojový kód.
  • Nezabezpečené směrování hovorů: Použití serverů „Odnoklassniki“ pro hlasové hovory vyvolává otázky ohledně důvěrnosti.
  • Zranitelný mechanismus proxy: Absence ověření podpisu a certifikátů při vyžádání nových DC otevírá cestu pro MitM útoky.
  • Integrace kořenového certifikátu Minicifry: V aplikaci zabudovaný Russian Trusted Root CA v kombinaci s vypnutým Certificate Pinning umožňuje zachytávat a dešifrovat provoz.
  • Rozsáhlý únik dat: Odesílání telefonního čísla, IP adresy, dat zařízení a authKeyId na externí servery telega.info bez adekvátních bezpečnostních záruk.
  • Fiktivní otevřenost: Prohlášení o Open Source nejsou potvrzena dostupností úplného a aktuálního zdrojového kódu.

Co je důležité:

  • Klient „Telega“ obsahuje vážné zranitelnosti, které mohou ohrozit důvěrnost a bezpečnost uživatelských dat.
  • Integrace kořenového certifikátu Minicifry a vypnutí základních bezpečnostních kontrol vytváří podmínky pro státní nebo jiné kontrolované zachycení provozu.
  • Používání tohoto klienta nese značná rizika pro uživatele, zejména s ohledem na přenos kriticky důležitých identifikátorů na externí servery.
  • Prohlášení o Open Source se ukázala jako nepravdivá, což podkopává důvěru v projekt a jeho vývojáře.
  • Vývojáři by se měli striktně držet podmínek GPL v2 a implementovat standardní bezpečnostní postupy, včetně Certificate Pinning a přísného ověřování certifikátů.

— Editorial Team

Advertisement 728x90

Číst dál