Библиотека Sodium Compat поможет реализовать верификацию обновлений в WordPress
Ключевым достоинством Sodium Compat является поддержка работы с устаревшими версиями PHP, что является актуальной проблемой, так как полноценные средства для работы с цифровыми подписями и открытыми ключами появились только в относительно новых выпусках PHP. Например, Sodium Compat может работать с PHP 5.2.4, в то время как для использования pecl/libsodium требуется ветка PHP 5.4 и дополнительная внешняя зависимость. Полноценные встроенные средства для работы с RSA-ключами появились только в PHP 5.6.0.
Подобное ограничение мешает внедрению в WordPress средств для верификации устанавливаемых дополнений и обновлений по цифровой подписи. Без повышения минимально поддерживаемой версии интерпретатора PHP проверку по цифровой подписи реализовать не получается из-за отсутствия необходимых криптографических функций, а поднять минимальную версию PHP мешают обязательства перед пользователями. В настоящее время проверка целостности обновления сводится только к сверке хэша MD5 без верификации источника.
Для обеспечения оперативной доставки обновлений начиная с WordPress 3.7 добавлена поддержка автоматической установки обновлений с устранением критических уязвимостей, но данная возможность может сыграть злую шутку в текущей ситуации, когда обновления не проверяются по цифровой подписи. Без полноценной системы верификации компрометация api.wordpress.org и распространение вредоносного обновления через официальные источники может привести к массовому поражению пользовательских систем с WordPress, которые по некоторым оценкам составляют до 27% всех сайтов в глобальной сети.
При этом проблема не умозрительна, например, в ноябре 2016 года была выявлена уязвимость, позволяющая атакующему выполнить свой код на стороне api.wordpress.org. Без проверки по цифровым подписям для успешной атаки на конфигурации WordPress со включенной функцией автоматической установки обновлений достаточно взломать сервер доставки обновлений. В случае применения цифровых подписей получение контроля над сервером распространения обновлений не приведёт к должному результату, так как для проведения атаки понадобиться получить закрытый ключ, при помощи которого осуществляется подпись обновлений.
Sodium Compat позволит выйти из возникшего тупика и реализовать проверку дополнений по цифровым подписям без повышения требований к программному окружению. Для WordPress уже предложен прототип системы верификации по цифровым подписям на базе Sodium Compat. Отсутствие системы верификации не специфично для WordPress и также наблюдается в других CMS на PHP, включая Drupal и Joomla.
Источник: http://www.opennet.ru/opennews/art.shtml?num=45868
|
0 | Tweet | Нравится |
|