Любая уборщица вам скажет — чище не там, где убирают, а там, где не ходят

В сентябре исследователь проблем безопасности Михал Залевски разработал программу, которая генерировала некорректный HTML-код. С помощью этой программы автор задумал проверить качество синтаксических анализаторов HTML, используемых в разных браузерах. Результат исследования многим показался парадоксальным: Internet Explorer устоял под натиском некорректного кода, но зато все остальные браузеры пали очень быстро. Залевски заявил о найденных им ошибках в Mozilla, Opera и даже в обоих текстовых браузерах Lynx и Linx.

Фактически это означает провал активно пропагандируемой концепции «тысячи глаз», которая утверждает, что продукты с открытыми кодами более безопасны, поскольку тысяча глаз могут просмотреть их и найти ошибку. Но оказалось, что и в свободно распространяемых продуктах ошибки неуловимы, просто их зачастую никто не ловит. Тем не менее в распоряжении сообщества Open Source есть рычаги, способные стимулировать поиск. Их продемонстрировал фонд разработчиков Mozilla, который в августе объявил о премиях для исследователей, которые найдут критические дефекты защиты. В сентябре первые премии были выплачены; возможно, именно это стимулировало Залевски на разработку генератора некорректного кода.

Валерий Коржов — обозреватель еженедельника Computerworld Россия в области информационной безопасности. С ним можно связаться по электронной почте по адресу oskar@osp.ru

Но, так или иначе, история генератора имела продолжение. У исследователей появился мощный инструмент, и концепция «тысячи глаз» сработала — но не в применении к свободно распространяемым браузерам. В одной из Web-конференций появилось сообщение об ошибке, которая была найдена с помощью этого генератора в Internet Explorer. Оказалось, что этот браузер неправильно обрабатывает тэги IFRAME и EMBED. Исследователи тут же принялись за изучение этой ошибки и обнаружили, что с ее помощью можно исполнять коды. Только IE, работающий в Windows XP SP2, не был ей подвержен (в этой операционной системе есть встроенный механизм защиты от переполнения буфера).

Компьютерный андеграунд встретил сообщение об ошибке в IE куда с большим интересом, чем в случае альтернативных браузеров. 7 ноября, через три дня после появления информации о найденной ошибке, для нее вышел публичный эксплойт. А еще через три дня одна из крупных группировок вирусописателей — авторы червей Mydoom — выпустила сразу две модификации вирусов, Mydoom.AH и Mydoom.AG, избрав в качестве средства проникновения ошибку в тэге IFRAME. Впрочем, вирусы для IE не вызвали глобальной эпидемии, как это было с Sasser.

Таким образом, приходится констатировать: модель защиты, построенная на закрытости исходных текстов, также не всесильна. Ошибки в таком коде все равно есть, и каждая из них, будучи найдена и опубликована, тут же попадает под пристальное внимание злоумышленников. Однако исправления для них может выпустить только сам автор, который не всегда реагирует оперативно. В результате пользователям приходится применять дополнительные программные продукты, которые исполняли бы роль виртуальной заплатки и защищали бы от различных ошибок.

Что же до сравнительной защищенности от вторжений различных программ, то следует обратить внимание на то обстоятельство, что более популярные продукты всегда находятся под более пристальным вниманием: для «тотального» контроля у хакеров просто не хватает ни ресурсов, ни времени. Поэтому, возможно, кто-то из экспертов в области информационной безопасности порекомендует стратегию минимизации риска нападения, основанную на работе с редко используемыми программными продуктами. Можно, к примеру, — если достанет энтузиазма — взять исходные тексты какого-нибудь браузера и творчески их переработать. В конце концов, любая уборщица вам скажет — чище не там, где убирают, а там, где не ходят.