(Это заявление касается лишь вопросов уязвимости OpenPGP, GnuPG и GPG4Win. Мы ничего не говорим здесь про S/MIME.)
Только что отдельные исследователи безопасности обнародовали статью, озаглавленную «Efail: Взлом шифрования S/MIME и OpenPGP с использованием приемов эксфильтрации». Фонд электронных рубежей (EFF) воспринял это настолько серьезно, что посоветовал незамедлительно удалить Enigmail [0][1].
Мы же по этому поводу сначала заявим три вещи, а затем и постараемся показать, почему мы правы:
- Статья озаглавлена неверно.
- Атака направлена на забагованные почтовые клиенты.
- Авторы составили список таковых клиентов.
В 1999 году мы осознали, что в симметричном шифровании OpenPGP (который представляет собою разновидность режима обратной связи по шифровке, сокр. CFB) имеется слабость: в ряде случаев злоумышленник может изменить текст. По словам основателя GnuPG Вернера Коха дело была так: «[Фил Циммерман] и Йон Каллас пригласили меня в Рим на конференцию по AES, чтобы обсудить проблемы со внедрением CFB. Это было в марте 1999-го, и спустя месяц и в PGP, и в GnuPG была воплощена первая версия [защитных мер]. Как напоминает нам файл NEWS, в тираж она вышла летом 2000-го».
Упомянутые Вернером меры называются «код обнаружения изменений» или сокращенно MDC. Они остаются базовой частью GnuPG вот уже на протяжении 18-и лет. Почти все это время любое письмо, к которому не прикреплен MDC, порождает при расшифровке крупное и заметное предупреждение, наподобие такого:
gpg: encrypted with 256-bit ECDH key, ID 7F3B7ED4319BCCA8, created
2017-01-01
"Werner Koch <wk at gnupg.org>"
[GNUPG:] BEGIN_DECRYPTION
[GNUPG:] DECRYPTION_INFO 0 7
[GNUPG:] PLAINTEXT 62 1526109594
[GNUPG:] PLAINTEXT_LENGTH 69
There is more to life than increasing its speed.
-- Mahatma Gandhi
gpg: WARNING: message was not integrity protected
[GNUPG:] DECRYPTION_FAILED
[GNUPG:] END_DECRYPTION
Точно так же GnuPG выдает предупреждение и в случае, если MDC указывает на то, что письмо было изменено. В обоих случаях, если ваш почтовый клиент принимает это предупреждение во внимание и поступает сообразно — а именно, не показывает вам письма — вы полностью защищены от атаки Efail, ибо она есть не более, чем очередной виток в эксплуатации уязвимости, с которой мы начали бороться еще 20 лет назад.
Если вас обеспокоила Efail, обновитесь до последней версии GnuPG и убедитесь, что ваше дополнение к почтовому клиенту понимает ошибки MDC. Большинство понимает их корректно.
Однако уязвимость все-таки может вас касаться, если вы пользуетесь древними версиями GnuPG (еще из 1.0-й серии, когда нынешняя — это 2.2-я), или же если ваш почтовый клиент неадекватно воспринимает полученные от GnuPG предупреждения. Проблема также могла затрагивать вас ранее, когда вы еще пользовались версиями GnuPG старше 2000 года или невосприимчивыми к предупреждениям почтовыми клиентами.
В начале этого заявления мы озвучили три пункта насчет атаки Efail. Теперь можно их несколько развернуть:
- Статья озаглавлена некорректно. Это не атака на OpenPGP. Это атака на почтовые клиенты, что не придают значения предупреждениям GnuPG и ведут себя глупо.
- Эта атака направлена на забагованные почтовые клиенты. Правильное применение MDC полностью исключает уязвимость. GnuPG поддерживает MDC еще с лета 2000 года.
- Авторы статьи составили список забагованных клиентов. Стоит пролистать этот список (в самом конце статьи), чтобы узнать, касается ли это вас. Однако не будьте слишком доверчивы, так, к примеру, разработчики Mailpile утверждают, что у них все в порядке, но в статье сказано, что какая-то уязвимость там есть.
Авторы сослужили людям добрую службу, систематизировав глючные почтовые клиенты. И мы благодарны им за это. В то же время, мы бы предпочли, чтобы дело было обставлено с меньшим ажиотажем. Куча людей оказалась напугана почем зря.
--
Вернер Кох, Андре Хайнеке, Роберт Хансен.
[0] https://www.eff.org/deeplinks/2018/05/attention-pgp-users-new-vulnerabilities...
[1] https://www.eff.org/deeplinks/2018/05/disabling-pgp-thunderbird-enigmail