Přestalo být šifrování emailů pomocí PGP/GPG bezpečné?

Tl;dr? Nepřestalo!

V úterý, 15. 5. 2018 byl na webu https://efail.de zveřejněn podrobný popis zranitelností v implementacích PGP/GPG v rozšířeních emailových klientů. Jedná se o zneužití způsobu, jakým daná rozšíření pracují se zprávami.
To je důležitá zpráva. Způsob šifrování jako takový prolomen nebyl, tudíž lze i nadále považovat PGP/GPG za bezpečné!


První doporučení, ještě před zveřejněním podrobností o zranitelnosti bylo, aby uživatelé odinstalovali nebo alespoň deaktivovali rozšíření pro šifrování v emailových klientech — Enigmail, GPGTools a Gpg4win. Na sociálních sítích se rozjela lavina příspěvků o tom, jak je PGP/GPG nebezpečné a uživatelé by měli přejít na jiné způsoby komunikace. Nejčastěji byl zmiňován Signal messenger. Což o to, Signal je opravdu považován za jeden z nejbezpečnějších způsobů komunikace po Internetu (pouze při použití mobilních aplikací, v desktopových verzích byly nedávno nalezeny zranitelnosti), ale email jím lze těžko nahradit. Signal je aplikace pro posílání krátkých zpráv, je to bezpečná alternativa k sms nebo Facebook Messengeru. Ale nahradit jím plně email dost dobře nejde.

Zároveň se ukázalo, že při dodržování jistých pravidel lze i nadále bezpečně komunikovat s použitím zmíněných pluginů (pokud připustíme možnost, že něco jako bezpečná komunikace na Internetu existuje). O těchto pravidlech více na konci článku.


Útoky

Zveřejněné dokumenty popisují dva druhy útoků, ve zkratce a zjednodušeně se dají popsat takto:

1. “Direct exfiltration”, který využívá způsobu, jakým emailový klient zpracovává zprávy v HTML formátu a jak je zobrazuje uživateli.
Pokud útočník získá zašifrovanou zprávu, která ho zajímá, pošle oběti email, který obsahuje i onu dříve zašifrovanou zprávu. Emailový klient uživateli automaticky zobrazí email celý, včetně jeho vlastní, původně zašifrované zprávy. Začátek emailu pak obsahuje kód (neukončený HTML tag img src="”http://efail.de/" )

2. Druhý útok (The CBC/CFB Gadget Attack) umožňuje změnit zašifrovanou zprávu. Útočník ji tak sice není schopen přečíst, ale je schopen jí změnit a poslat adresátovi vlastní verzi emailu. Standard OpenPGP explicitně nevyžaduje kontrolu integrity zprávy (kontrola toho, zda nebyla zpráva “po cestě” změněna) a navíc i když je zpráva odeslána s touto pojistkou, existují způsoby, jak ji odstranit a někteří emailový klienti sice uživatele upozorní, že testem na integritu zpráva neprošla (a tudíž byla změněna), ale zprávu přesto zobrazí. Pak se opakuje scénář prvního útoku — zobrazená zpráva je zaslána na server útočníka.


Jak ochránit svoji komunikaci?

  1. Zakázat zobrazení vzdáleného obsahu (např. v Thunderbirdu je to přednastaveno). Emailový klient tak nebude zasílat požadavek na útočníkův server.
  2. Vypnout zobrazování a vytváření zpráv v HTML formátu. Zpráva se pak bude zobrazovat jako obyčejný text a nebudou se zpracovávat jakékoliv kódy.

Nastavení zobrazení v Thunderbirdu

Další možností je používat defaultně šifrovaný ProtonMail. Ten používá PGP jako základ a není objevenými zranitelnostmi zasažen.

A zkušenější uživatelé mohou použít pro (de)šifrování zpráv shell/příkazovou řádku. Návod např. zde: Linux, MacOS, Windows.


Závěrem je potřeba dodat, že způsob, jakým byly ony zranitelnosti komunikovány veřejnosti, byl poněkud nešťastný (dal by se označit spíše jako bulvární). První zprávy navozovaly dojem, že PGP/GPG bylo prolomeno a mělo by se přestat okamžitě používat. PGP je tu s námi přibližně 20 let a zatím se nikomu nepodařilo jeho bezpečnost narušit. Stát se to samozřejmě může, ale v žádném případě se to nestalo nyní.

Není tedy důvod k panice, šifrujme 🙂

Milan

Jmenuji se Milan Půlkrábek, pamatuji si počítače bez internetu, Internet bez Google a mobilní komunikaci bez šifrování. Mám za sebou více než dvacet let profesionální praxe v IT, přednáším a píšu články o IT bezpečnosti, kryptoměnách a nových technologiích. Od roku 2014 jsem součástí nezikové organizace Paralelní Polis v Praze.