Ведь если пробел в системе безопасности еще не обнаружен и сведения о нем не опубликованы, то, естественно, невозможно принять превентивные меры. С другой стороны, если администраторы и конечные пользователи компьютеров не обращают внимания на известные уязвимые места и не интересуются обновленными версиями программ, то вся ответственность за нарушения безопасности ложится на них.
Согласно данным, собранным компанией Secunia (см. secunia.com/blog/18/ (http://ct.email.windowsitpro.com/rd/cts?d=33-1391-803-202-12847-96846-0-0-0-1-2-207), приблизительно на 95 % всех компьютеров есть одно или несколько уязвимых приложений, для которых исправления существуют, но они не применяются. Из этого следует, что большинство пользователей не обновляет своих программ, когда поставщики выпускают исправления.
Компания Secunia собрала данные с помощью бесплатного инструмента Personal Software Inspector (PSI), совместимого с Windows 2000, Windows XP, Windows Server 2003 и Windows Vista. По словам представителя компании, данные были собраны при обследовании 20 009 новых пользователей PSI в течение первой недели января. Не указывается, проверяли эти пользователи свои личные ноутбуки или компьютеры в сети предприятия; перед загрузкой PSI пользователям таких вопросов не задавали.
Однако очевидно, что пользователи PSI заботятся о своей безопасности. Поэтому данные Secunia еще более интересны из-за большой вероятности, что у беспечных пользователей уязвимых программ еще больше.
Один из факторов, усугубляющих проблему обновления программ -- осведомленность. Если пользователи не знают, что для приложения существует обновление, они не могут принять решение о его установке. Как известно, приложений, для которых не выпускается автоматических обновлений, больше, чем программ, для которых рассылаются уведомления. Сколько пользователей регулярно обращается в Internet в поисках обновлений для своих программ? Сомневаюсь, что их число велико. Поэтому важно использовать инструмент для применения исправлений стороннего поставщика, особенно домашним пользователям. При этом возникает другая проблема: каким образом люди узнают об этих инструментах?
Рассматривая ситуацию, я подумал, что поскольку Windows установлена на большинстве компьютеров, у компании Microsoft есть возможность сделать огромный шаг вперед в области безопасности, помогая продвигать на рынке такой инструмент, как Secunia PSI, или разработав API-интерфейс уведомления об изменениях программ, которым могли бы воспользоваться поставщики приложений. Например, пользователь, установивший новое приложение, сможет получать извещения об обновлениях вместе с информацией о способах их доставки и установки. Конечно, такую функциональность может подготовить любая компания, но Microsoft занимает наиболее выгодное положение, чтобы быстро внедрить API.
Такая функциональность давно реализована в сообществе пользователей программ с открытым кодом. Те, кто знаком с Linux, знают, что в большинстве версий есть диспетчер пакетов, который в сущности представляет собой внешний интерфейс гигантского репозитария данных о множестве приложений, упакованных в удобной для установки форме. Отдельные разработчики децентрализованно обслуживают свои пакеты, поэтому обновление конкретного пакета может произойти в любой момент времени.
Чтобы компьютер с Linux обновлялся своевременно, пользователю необходимо сделать две вещи: только установить новое приложение с помощью диспетчера пакетов (не применяйте инсталляторов независимых производителей без крайней необходимости) и периодически запускать процедуру обновления диспетчера пакетов, чтобы обновлять все установленные программы. Достаточно пары щелчков мыши или команд (для использующих командную строку), чтобы обновить все приложения, независимо от разработчика. Что может быть проще?
К сожалению, в Windows нет близкого типа функциональности. Конечно, в Microsoft Systems Management Server (SMS) есть компонент "Inventory Tool for Custom Updates", с помощью которого можно обновлять сторонние программы. Но, насколько мне известно, у Microsoft нет похожего инструмента для пользователей, которые не могут применять SMS, например, в небольшой компании или дома.