Смерть по переписке
АрхивКомментарий дняОткрытый код, увы, не дает никакого преимущества в плане защищенности программного обеспечения. Замечательная тому иллюстрация - критическая уязвимость, найденная в многократно проверенном участке кода программы Sendmail. Кстати, именно Sendmail несет на себе три четверти всего почтового трафика планеты…
Пару недель назад в прессе пробежало сообщение о любопытном докладе, сделанном на одной из многочисленных Open Source-конференций. Автор его, Росс Андерсон (Ross Anderson), дока по части информационной безопасности, утверждал, что степень открытости исходного кода программного обеспечения никак не влияет на степень его защищённости. Иначе говоря, какую бы модель ни выбрал разработчик продукта для своего детища - открытый код или закрытый - на защищённости программы от ошибок и атак злоумышленников это никак не скажется. Обе модели в этом смысле равны. Куда важнее, по мнению Андерсона, скорость, с которой латаются обнаруженные "дыры". Причина проста: атакующий всегда обладает преимуществом - ибо найти одно слабое место проще, нежели отыскать и вычистить все ошибки.
Идея, высказанная Андерсоном, конфликтует с общеизвестным утверждением апологетов открытого кода о том, что модель Open Source даёт разрабатываемым на её основе продуктам преимущество в плане защищённости. Может быть в силу большей очевидности последнего, с Андерсоном так трудно согласиться. Но то, чего не смогла теория, сделала практика: на днях в популярной прессе появилось замечательное подтверждение словам Андерсона. Найдена уязвимость в суперпопулярном инструменте для обработки электронной почты - Sendmail.
Для тех, кто не в курсе: над Sendmail, появившейся больше двадцати лет назад, по сей день трудится огромное сообщество программистов, часть из которых работает за деньги в коммерческих компаниях, другая - совершенно бескорыстно. Код программы настолько вылизан, что за последние два года в Sendmail не находили ни одной сколь-нибудь серьёзной ошибки. И словно гром - сообщение компании Internet Security Systems (ISS): ошибка, найденная её специалистами, таится в многократно проверенном участке кода и позволяет перехватить управление компьютером. В Sendmail есть процедура разбора заголовков письма (полей, содержащих информацию кому и от кого направляется данное сообщение), в которой, помимо прочего, проводятся множественные проверки на предмет того, корректно ли разобраны составляющие почтовых адресов. В одной из таких проверок и скрывается ошибка, позволяющая - через формирование особого заголовка и доставку письма с таким заголовком на сервер-жертву - вызвать ошибку переполнения буфера и перехватить управление системой. Авторы открытия продемонстрировали эксплуатацию уязвимости в реальных условиях на x86-совместимых машинах и характеризовали свою находку как чрезвычайно опасную: ведь захватить сервер можно всего лишь прислав на него письмо, а разные варианты Sendmail, по оценке той же ISS, обрабатывают сегодня до 75% всего почтового трафика Сети. Что самое интересное, ошибка скрывалась от глаз разработчиков и тестеров в течение 15 (!) лет - в версиях программы с 5.79 по 8.12.7 включительно.
Открытие было сделано ещё в декабре, но, чтобы избежать хаоса, ISS предпочла не публиковать сообщение сразу, а обратилась в координирующие организации (NIPC, IAIP), которые помогли донести сообщение до разработчиков Sendmail. Благодаря этому сегодня уже выпущены заплатки и новая версия программы, установка которых решает проблему. Впрочем, сейчас развитие событий во многом зависит от расторопности пользователей, которым предстоит озаботиться апгрейдом…
Дело в том, что если на момент публикации сообщения об ошибке (3 марта), программа, позволяющая её использовать, была лишь у программистов ISS, то уже через сутки (т.е. вчера) польская хакерская группа Last Stage of Delirium известила всех о создании собственного эксплоита для использования "дыры" в Sendmail: код, опубликованный хакерами, вполне функционален и позволяет атаковать системы, работающие под управлением ОС Linux. Сколько дней или часов осталось до момента создания на основе этого кода первого вируса и вспышки глобальной эпидемии - можете предположить сами. Подключайтесь к дискуссии!