Разработчики GnuPG предупредили о трудноустранимой атаке на серверы ключей
Зафиксирована атака на сеть серверов криптографических ключей, построенных на базе ПО SKS Keyserver. Атакующие воспользовались проблемой в протоколе OpenPGP, о которой известно уже более 10 лет, но которая неустранима без кардинальных изменений и до сих пор не применялась для осуществления реальных атак. В случае импорта с сервера атакованного OpenPGP-сертификата проблема приводит к нарушению работы окружения GnuPG у пользователя (зависание, делающее невозможным дальнейшую работу).
Суть атаки в размещении на серверах хранения открытых ключей большого числа подписей для сертификата жертвы. Спецификация OpenPGP даёт возможность пользователям добавлять цифровые подписи для произвольных сертификатов, подтверждая их владельца, но не регламентирует максимальное число таких подписей. Сервер ключей SKS допускает размещение в сети до 150 тысяч подписей на один сертификат, но GnuPG такое число подписей не поддерживает. Попытка загрузки атакованного сертификата приводит к трудно восстановимому нарушению нормальной работы GnuPG.
В силу распределённого характера сети ключей предсказать на какие ещё сертификаты направлена атака невозможно до момента начала проявления сбоев при их обработке. Иными словами любой сертификат может быть атакован и эта атака проявится лишь тогда, когда начнутся сбои. Единственным способом защиты является полное прекращение использования серверов ключей, т.е. необходимо удаление настроек keyserver из gpg.conf и добавление строки «keyserver keys.openpgp.org» в конец файла dirmngr.conf. Если проблема уже проявилась, то если известен проблемный сертификат для восстановления работы достаточно его удалить из локального хранилища, а если сертификат не известен, то возможно потребуется пересоздание хранилища сертификатов.
Рекомендация по полному прекращению использования существующих серверов ключей обусловлена тем, что пострадавшие в ходе атаки сертификаты не могут быть удалены из сети серверов ключей, а атакованные сертификаты невозможно отследить до проявления сбоя на стороне пользователей. Атака не может быть блокирована на уровне существующих сетей хранения ключей SKS в ближайшее время. В строй введён новый экспериментальный сервер ключей keys.openpgp.org, в котором реализована защита от подобных атак, но БД данного сервера заполняется с нуля, а сам сервер не входит в сеть серверов криптографических ключей.
Основная проблема в том, что одним из ключевых принципов ключей хранения являет то, что уже размещённый сертификат никаким образом не может быть удалён. Сертификаты и любую другую информацию можно только добавлять, но не удалять, чтобы оставалась цепочка для прослеживания всех действий и было невозможно подменить сертификат после его удаления. Более того, сервера криптографических ключей постоянно взаимодействуют между собой и осуществляют сверку своих баз для выявления возможных изменений или удаления сертификатов. Не существует единого эталонного сервера, на котором можно было бы удалить проблемные записи, все серверы равноправны, что делает задачу внесения архитектурных изменений крайне сложной.
Маловероятно, что исправление, нарушающее данную концепцию, будет внесено на уровне протокола OpenPGP. В любом случае для исправления и обновления ПО на серверах и клиентских системах потребуется очень много времени. В ближайшем выпуске GnuPG ожидается добавление обходного пути для предотвращения сбоев. Внесению изменений в SKS (Synchronizing Key Server) мешает необходимость аккуратного изменения проверенного временем достаточно сложного алгоритма синхронизации. Задача усложняется тем, что SKS написан на достаточно специфичном языке OCaml и остаётся без сопровождающего — никто из остающихся в сообществе разработчиков не знает начинку настолько хорошо, чтобы безболезненно вносить фундаментальные изменения (в текущем виде в код вносятся лишь исправления ошибок, но в данном случает требуется переработка архитектуры).
В настоящее время приводящее к проблемам наводнение подписями сертификатов зафиксировано для двух известных участников сообщества OpenPGP (Robert J. Hansen (rjh) и Daniel Kahn Gillmor (dkg)). Ожидается, что атака не остановится на двух жертвах и из-за простоты проведения атаки число проблемных сертификатов лишь будет расти со временем. Возможный размер ущерба от атаки пока трудно оценить.
Суть атаки в размещении на серверах хранения открытых ключей большого числа подписей для сертификата жертвы. Спецификация OpenPGP даёт возможность пользователям добавлять цифровые подписи для произвольных сертификатов, подтверждая их владельца, но не регламентирует максимальное число таких подписей. Сервер ключей SKS допускает размещение в сети до 150 тысяч подписей на один сертификат, но GnuPG такое число подписей не поддерживает. Попытка загрузки атакованного сертификата приводит к трудно восстановимому нарушению нормальной работы GnuPG.
В силу распределённого характера сети ключей предсказать на какие ещё сертификаты направлена атака невозможно до момента начала проявления сбоев при их обработке. Иными словами любой сертификат может быть атакован и эта атака проявится лишь тогда, когда начнутся сбои. Единственным способом защиты является полное прекращение использования серверов ключей, т.е. необходимо удаление настроек keyserver из gpg.conf и добавление строки «keyserver keys.openpgp.org» в конец файла dirmngr.conf. Если проблема уже проявилась, то если известен проблемный сертификат для восстановления работы достаточно его удалить из локального хранилища, а если сертификат не известен, то возможно потребуется пересоздание хранилища сертификатов.
Рекомендация по полному прекращению использования существующих серверов ключей обусловлена тем, что пострадавшие в ходе атаки сертификаты не могут быть удалены из сети серверов ключей, а атакованные сертификаты невозможно отследить до проявления сбоя на стороне пользователей. Атака не может быть блокирована на уровне существующих сетей хранения ключей SKS в ближайшее время. В строй введён новый экспериментальный сервер ключей keys.openpgp.org, в котором реализована защита от подобных атак, но БД данного сервера заполняется с нуля, а сам сервер не входит в сеть серверов криптографических ключей.
Основная проблема в том, что одним из ключевых принципов ключей хранения являет то, что уже размещённый сертификат никаким образом не может быть удалён. Сертификаты и любую другую информацию можно только добавлять, но не удалять, чтобы оставалась цепочка для прослеживания всех действий и было невозможно подменить сертификат после его удаления. Более того, сервера криптографических ключей постоянно взаимодействуют между собой и осуществляют сверку своих баз для выявления возможных изменений или удаления сертификатов. Не существует единого эталонного сервера, на котором можно было бы удалить проблемные записи, все серверы равноправны, что делает задачу внесения архитектурных изменений крайне сложной.
Маловероятно, что исправление, нарушающее данную концепцию, будет внесено на уровне протокола OpenPGP. В любом случае для исправления и обновления ПО на серверах и клиентских системах потребуется очень много времени. В ближайшем выпуске GnuPG ожидается добавление обходного пути для предотвращения сбоев. Внесению изменений в SKS (Synchronizing Key Server) мешает необходимость аккуратного изменения проверенного временем достаточно сложного алгоритма синхронизации. Задача усложняется тем, что SKS написан на достаточно специфичном языке OCaml и остаётся без сопровождающего — никто из остающихся в сообществе разработчиков не знает начинку настолько хорошо, чтобы безболезненно вносить фундаментальные изменения (в текущем виде в код вносятся лишь исправления ошибок, но в данном случает требуется переработка архитектуры).
В настоящее время приводящее к проблемам наводнение подписями сертификатов зафиксировано для двух известных участников сообщества OpenPGP (Robert J. Hansen (rjh) и Daniel Kahn Gillmor (dkg)). Ожидается, что атака не остановится на двух жертвах и из-за простоты проведения атаки число проблемных сертификатов лишь будет расти со временем. Возможный размер ущерба от атаки пока трудно оценить.
Ещё новости по теме:
18:20