06.10 // Бэкдор в PGP Whole Disk - миф или реальность?
Несколько дней назад в известном блоге Securology появилась статья "PGP Whole Disk Encryption – Barely Acknowledged Intentional Bypass". Автор в красках описывает якобы недокументированный механизм Passphrase Bypass, встроенный в загрузчик Bootguard, который позволяет запустить ПК с зашифрованным загрузочным разделом диска без использования парольной фразы. На статью последовало опровержение от Джона Калласа, главного архитектора современной системы PGP, затем — новые контраргументы автора и очередное контропровержение. Не пересказывая всю историю дословно (ссылки есть внизу, если захотите прочитать в деталях), подведу её итог, который, надеюсь, позволит избежать спекуляций, слухов и нового всплеска истерии по поводу "закладок" в программе.
Началось всё несколькими субверсиями назад, когда по настойчивым требованиям крупных корпоративных заказчиков в PGP WDE был встроен инструмент, позволяющий производить "мягкое" обновление и перезагрузку пользовательских операционных систем на больших компьютерных парках. Когда такое необходимо, сисадмин организации, используя Passphrase Bypass, устанавливает одноразовый пустой пароль на загрузку. Когда компьютер перезапускается, Bootguard не запрашивает пароль, а сразу загружает ОС. Хитрость в том, что для установки Passphrase Bypass требуется знание административного пароля WDE (что уже предполагает штатную загрузку и авторизацию администратора), наличие центрального сервера PGP Universal (где применение функции отмечается в логе безопасности), а сам байпасс сбрасывается после первой же перезагрузки (успешной или нет).
Автор статьи поддерживает свою позицию следующими аргументами:
- Это скрытая недокументированная возможность. В действительности, её наличие отмечено в changelog'е PGP и в официальной базе знаний. В то же время, инлайн-документация консольной утилиты pgpwde.exe в текущей версии не сообщает о наличии оператора --add-bypass, а руководства пользователя и администратора PGP Desktop и PGP Universal упоминают о функции лишь вскользь: могло быть и лучше.
- Функция создаёт дополнительные риски безопасности. Лишь отчасти и только в случае её применения. Действительно, после установки байпасса до следующей загрузки ПК сохраняется окно уязвимости: если в этот промежуток компьютер будет похищен, злоумышленник получит полный доступ к загрузочному разделу жёсткого диска (до перезагрузки: изменить параметры безопасности PGP без знания парольной фразы он по-прежнему не сможет).
- Функция может быть использована для получения несанкционированного доступа к диску. Автор приводит следующий сценарий: взломщик внедряет в пользовательскую систему троян, который при загрузке имитирует диалоговый запрос пароля, а затем использует этот пароль для установки байпасса на следующую загрузку. Всё, что остаётся сделать взломщику, — это похитить компьютер. Но если предположить, что злоумышленник уже получил низкоуровневый доступ к системе для установки такого трояна, он может сделать с машиной всё, независимо от наличия или отсутствия функции байпасса.
- Функция не поддаётся отключению даже в случае, если она не нужна. Справедливое замечание, обещают исправить в PGP 9.7. А пока для решения всех возможных проблем достаточно запретить чтение/исполнение файла pgpwde.exe для всех, кроме членов административной группы (используя стандартные механизмы прав доступа в Windows), или просто переместить файл в недоступное место.
Вся эта история сильно напоминает события уже почти десятилетней давности, связанные с появлением функции Additional Decryption Key (ADK) в коммерческом релизе PGP. Справедливости ради стоит заметить, что любые средства восстановления зашифрованных данных делают систему потенциально менее устойчивой (вспомним ошибку в реализации ADK через несколько лет после его появления), но всё же следует сохранять благоразумие и здраво оценивать потенциалы её эксплуатации.
Источники: http://securology.blogspot.com.....cryption-barely.html, http://securology.blogspot.com.....-pgp-encryption.html, http://www.pgp.com/newsroom/ctocorner/smile.html