Завершён аудит реализации TLS 1.3 в OpenSSL 1.1.1
Фонд OSTIF (Open Source Technology Improvement Fund), созданный с целью усиления защищённости открытых проектов, объявил о завершении независимого аудита ветки OpenSSL 1.1.1, сосредоточенного на анализе безопасности алгоритмов и кода, связанных с реализацией TLS 1.3, новых протоколов и переработанного генератора псевдослучайных чисел. Работа выполнена французской компанией QuarksLab, которая находится вне юрисдикции крупнейших спецслужб, заинтересованных в организации слежки, и уже привлекалась для аудита проектов OpenVPN и VeraCrypt. Проведение аудита было профинансировано компанией Private Internet Access и проектом DuckDuckGo.
Аудит не выявил серьёзных проблем с безопасностью в OpenSSL 1.1.1 и реализации TLS 1.3. Код отмечен в целом как безопасный, быстрый и функциональный, но выявлены отдельные области, в которых качество кода и комментариев могут быть улучшены. Всего разработчикам OpenSSL было предоставлено 16 рекомендаций и исправлений. Для дальнейшего контроля качества проект OpenSSL включён в программу Internet Bug Bounty, в рамках которой производятся выплаты вознаграждений за выявление уязвимостей и недоработок в области безопасности.
При проведении аудита выявлено 6 проблем, которые были устранены ещё до официального релиза OpenSSL 1.1.1 в ходе приватной переписки разработчики OpenSSL и исследователей, проводивших аудит:
- В некоторых ситуациях соединения могли сбрасываться без обработки ошибки. Проблема могла применяться для осуществления DoS-атаки на клиента (крах приложения) при его обращении к подконтрольному злоумышленнику серверу (например, через организацию MITM-атаки);
- Проблемы с генерацией уведомлений об ошибках, связанных с TLS v1.3. Проблемы можно было использовать для инициирования отказа в обслуживании;
- Высказано несколько замечаний по качеству кода нового генератора псевдослучайных чисел и недостаточно ясному описанию назначения функций в комментариях (функциональные недоработки в PRNG были выявлены ранее, после другого аудита);
- Реализация протокола аутентификации SRP признана корректной, но выявлено отсутствие проверок некоторых возвращаемых значений. Также высказаны замечания по качеству кода и недостаточным пояснениям в комментариях;
- По реализации CAPI замечания коснулись отсутствия комментариев в коде, что значительно затрудняет понимание реализованной логики. Качество кода не вызвало нареканий;
- Во многих внутренних функциях OpenSSL обнаружены случаи отсутствия явных проверок на значения NULL, что потенциально может приводить к непредсказуемому поведению, которое может вылиться в проблемы со стабильностью или безопасностью.
Полный текст статьи читайте на OpenNet