В возрасте почти 26 лет HTTP-сервер Apache, известный как httpd, имеет проблему с памятью: он написан на языке C, который известен, помимо прочего, недостаточной безопасностью памяти.

C требует, чтобы программисты в значительной степени сами управляли памятью компьютера, что у них не всегда получается хорошо. А плохое управление памятью может привести к ошибкам памяти, таким как переполнение буфера, разыменование нулевого указателя и проблемы использования после free (). В недавняя ошибка Libgcrypt предлагает пример того, как сбой кода C может вызвать проблемы.

В httpd сервер имел объем памяти безопасность баги раньше, и поскольку он все еще широко используется, составляя около трети веб-серверов, Исследовательская группа Интернет-безопасности (ISRG) решила внедрить программу исправления.

Некоммерческая организация из Сан-Франциско, которая курирует Let’s Encrypt, поддерживает усилия по обновлению почтенного серверного программного обеспечения с помощью свежего слоя Rust, как и раньше. для завивки прошедший год.

ОШИБКА

Серьезная ошибка в Libgcrypt — используемая GPG и другими — это целая куча проблем, вызывает скремблирование патчей

ЧИТАТЬ БОЛЬШЕ

Одним из основных достоинств языка программирования Rust является то, что его можно использовать таким образом, чтобы не было проблем с памятью, тем самым предотвращая попадание различных потенциальных ошибок в производственный код. Rust будет блокировать во время сборки любые непреднамеренно небезопасные операции благодаря своей концепции право собственности среди прочего. Для широко используемого программного обеспечения на основе C, такого как httpd, следующий лучший вариант — это переписать критически важные сетевые компоненты.

Читайте также:
Google прощается с привычным логотипом магазина, заменив «хозяйственную» сумку на простой красочный треугольник

«В настоящее время мы живем в мире, где развертывание нескольких миллионов строк кода C на границе сети для обработки запросов является стандартной практикой, несмотря на все имеющиеся у нас доказательства того, что такое поведение небезопасно», — сказал исполнительный директор Джош Аас в своем блоге. видел перед публикацией Реестр. «Наша отрасль должна достичь такого уровня, в котором развертывание кода, небезопасного для памяти, для обработки сетевого трафика считается опасным и безответственным».

С этой целью ISRG договорилась о том, чтобы Google финансировал создание нового модуля TLS для httpd под названиемmod_tls, заменить mod_ssl. Введенный в эксплуатацию модуль будет полагаться на модуль Rust TLS вместо OpenSSL, который написан в основном на C. Он не заменит сразу mod_ssl но надеюсь, что mod_tls в конечном итоге станет значением по умолчанию.

«Апач httpd «, — сказал Брайан Белендорф, исполнительный директор проекта Hyperledger с открытым исходным кодом и один из создателей Apache, — по-прежнему критически важная часть инфраструктуры.» Как оригинальный со-разработчик, я чувствую себя серьезная реконструкция, подобная этой, может защитить множество людей и сохранить httpd актуально в далеком будущем ».

ISRG привлекла Стефана Эйссинга из G reenbytes к разработке. Эйссингу не придется тратить много времени на ознакомление с httpd источник, учитывая, что он уже фиксирует код для httpd проект.

На вопрос, почему ISRG ремонтирует сантехнику Apache, вместо того, чтобы оставлять ремонт Apache Foundation, Аас сказал: «Мы хотели выполнить эту работу, поэтому мы нашли способ ее выполнить. Мы не знаем, является ли такая работа чем-то, чем занимается ASF. делает. Хотя мы и координировали свои действия с членами сообщества Apache, мы не координировали действия с самим ASF ».

Аас сказал, что не было какой-либо конкретной ошибки Apache, которая мотивировала бы эту инициативу. «Эта работа была мотивирована общим профилем риска», — сказал он, добавив: «Нам бы хотелось, чтобы Nginx и любое другое популярное инфраструктурное программное обеспечение, написанное на C или C ++, выполняли аналогичную работу». ®

Читайте также:
Microsoft думает о том, чтобы потратить 10 миллиардов долларов на Discord, чтобы разместить его рядом со Skype, Mixer ... °