Эксперты НПО «Эшелон» в результате исследования открытых программных проектов выявили критическую угрозу для интернет-приложений – возможность проведения атаки Бляйхенбахера! В настоящее время самым эффективным средством для заблаговременного предупреждения данной атаки является статический анализатор кодов AppChecker!
В далеком 1998-м году американский профессор Даниэль Бляйхенбахер показал возможность атаки на алгоритм шифрования RSA, позволяющей злоумышленнику без наличия закрытого ключа получить доступ к зашифрованным сообщениям или осуществить атаку «человек посередине».
Атака Бляйхенбахера может быть заранее предупреждена, благодаря статистическому анализатору AppChecker. C помощью него можно отыскивать всевозможные дефекты кодирования на языках C/C++, Java, PHP и C#.
На сегодняшний день, активно применяя AppChecker, специалисты лаборатории НПО «Эшелон» провели анализ безопасности кода различных opensource-проектов, включая Dolibarr (ERP/CRM), Chamilo LMS (LMS), ocPortal (CMS) и др. Практически во всех случаях были обнаружены бреши, а в одной из них и была найдена критическая уязвимость, позволяющая провести атаку Бляйхенбахера.
К уязвимости приводит следующий фрагмент кода:
function encrypt_data($data)
{
...
if (!openssl_public_encrypt($input,$encrypted,$key))
...
}
Использование функции openssl_public_encrypt без указания параметра padding приводит к тому, что используется значение по умолчанию - OPENSSL_PKCS1_PADDING. Известно, что этот padding является уязвимым и с помощью атаки Бляйхенбахера злоумышленник может получить закрытый ключ.
Обо всех обнаруженных уязвимостях эксперты НПО «Эшелон» известили разработчиков указанных проектов и бреши были ликвидированы.
«Возможность предупредить атаку Бляйхенбахера – это важнейшее событие в безопасной ИТ-сфере. Разумеется, гораздо эффективнее использовать мощное профилактическое средство AppChecker, чем пожинать столь горькие плоды этой страшнейшей атаки!» - прокомментировал волнующее известие профессор Алексей Сергеевич Марков.
© Галактика, 2019
© Издание 12NEWS (ИП Маринин А.Л.), 2019