Компания Amazon представила собственную открытую реализацию TLS
Предоставляемый библиотекой API во многом напоминает типовой программный интерфейс ввода/вывода, реализуемый в стандартах POSIX. Поддерживаются блокируемые и неблокируемые операции, а также передача в полнодуплексном режиме, без необходимости установки блокировок и мьютексов. Пользователю предлагается достаточно взвешенный набор настроек по умолчанию, подразумевающий отключение SSLv3, RC4 и DHE. В целом, разработчики библиотеки придерживаются принципа минимализма и реализуют только самые необходимые и востребованные на практике возможности, без нагромождения кода редко используемыми расширениями и возможностями, которые потеряли актуальность из-за уязвимостей (например, согласование сеансов или DTLS).
Код библиотеки составляет всего около 6 тысяч строк, что значительно упрощает проведение аудита и выявление ошибок (для сравнения OpenSSL занимает около 500 тысяч строк, из которых 70 тысяч связано с TLS). Для повышения защищённости в s2n также предпринят ряд дополнительных мер, таких как регулярное проведение статического анализа кода и fuzzing-тестирования, обширный набор unit-тестов, применение методов безопасного программирования на Си с использованием обвязок, проверяющих соблюдение границ буферов для всех функций работы с памятью, сериализацией и строками. Для предотвращения утечки данных в s2n применяется техника оперативной очистки буфера с зашифрованными данными после его чтения приложением. Также используются специализированные вызовы операционной системы для запрета сброса областей памяти в раздел подкачки и core-дампы.
Интересный подход предпринят в s2n для генерации случайных чисел. Так как генератор псевдослучайных чисел является ключевым звеном в системах шифрования, для каждой нити библиотекой предоставляется два генератора случайных чисел - один для публичной отдачи данных, а второй только для внутреннего использования. Значение внутреннего генератора явно не фигурируют во внешних запросах и используются только внутри библиотеки, что позволяет превентивно обезопасить себя от совершения атак, направленных на предсказание значений генератора случайных чисел на основе уже известных сгенерированных последовательностей.
Источник: http://www.opennet.ru/opennews/art.shtml?num=42537
|
0 | Tweet | Нравится |
|