Корпорации Microsoft придется немало потрудиться, чтобы обеспечить Windows 7 коммерческий успех. Джейсон Хайнер (Jason Hiner) своей статье «Пять обязательных условий успеха Windows 7» уже высказал свое мнение по этому поводу, теперь пришла и моя очередь.
Чтобы сделать Windows 7 не просто коммерчески успешной, но и надежно защищенной безопасной системой, разработчики Microsoft должны заботиться не только о внешней привлекательности своего продукта для массового потребителя. Корпорации следует полностью пересмотреть свой подход к системной архитектуре, разработке и управлению программным обеспечением. Удастся ли компании решить эту задачу применительно к MS Windows 7 — покажет время. А пока давайте посмотрим, что Microsoft нужно для этого сделать.
1... Использовать стандартизированные утилиты и протоколы, испытанные независимыми специалистами, для всех функций, связанных с обеспечением безопасности. Корпорация Microsoft славится своей нелюбовью к механизмам и технологиям, автором которых она не является. Несмотря на то, что в программном обеспечении Microsoft используется масса стороннего кода, его всегда кардинально перерабатывают, а порой и выкупают у первоначальных владельцев, прежде чем интегрировать в собственную продукцию. В тех редких случаях, когда Microsoft случается использовать технологии, текущую разработку которых корпорация не имеет возможности контролировать, она просто берет общедоступный фрагмент этой технологии, дорабатывает его собственными усилиями и изменяет его функциональность настолько существенно, что всякая совместимость с другими ответвлениями той же кодовой базы просто утрачивается. Так было, например, с сетевым стеком BSD Unix и с MIT Kerberos. Все это только усугубляет и без того существенные недостатки безопасности продуктов Microsoft, поскольку корпорация отказывается использовать достижения сторонних разработчиков позаимствованного кода. В результате компания вынуждена тратить лишние усилия на самостоятельное обслуживание кода и не может извлекать пользу из бесплатного труда сообщества независимых создателей и пользователей по его доработке. Поэтому безопасность всех средств удаленного входа в систему, механизмов шифрования и системы сетевых протоколов Microsoft оказывается как минимум сомнительной с самого момента их возникновения. Только опираясь на весь массив лучших технологий, многократно проверенных независимыми разработчиками, и притом в большинстве случаев бесплатных, можно создать поистине надежную операционную систему.
2... Использовать эффективный механизм разграничения полномочий на архитектурном уровне. Операционные системы Microsoft эволюционируют на протяжении уже многих лет — от ранних версий MS-DOS до супер-современной MS Windows Vista. Изменения, без сомнения, значительны, и самое заметное из них, казалось бы, — постоянное совершенствование механизма разграничения полномочий в системной архитектуре для защиты ключевых компонентов системы от несанкционированного доступа неавторизованных пользователей. Тем не менее, ключевое слово здесь — «казалось бы». На самом деле, несмотря на поверхностные усовершенствования в каждой новой версии MS Windows, кардинального улучшения этого механизма до сих пор не произошло. Чтобы его действительно достичь, Microsoft пора отказаться от затверженных представлений о том, как люди обычно пользуются компьютерами, и перестать придумывать механизмы, позволяющие одним программам Microsoft обойти настройки безопасности других программ Microsoft.
3... Серьезнее подходить к устранению уязвимостей. Семь лет — слишком большой срок для поиска решения такой серьезной проблемы, как ошибка SMB, которая была обнаружена еще самое меньшее в марте 2001 года. Случай самого быстрого устранения обнаруженной уязвимости Microsoft связан с исправлением MS06-001, которое было выпущено с опережением графика всего через десять дней после официального выявления проблемы. Лазейка, через которую проникал червь SQL Slammer, обрушивший в 2003 году весь Интернет, была заделана Microsoft еще до того, как он стал реальной угрозой. Но если исправления ставились не в том порядке, как это было предусмотрено разработчиками, более поздние автоматически удаляли установленные ранее, и в результате система оказывалась вообще не защищена. А корпорация сваливала всю вину на администраторов, которые неправильно установили исправления. В этом вопросе Microsoft следует брать пример с проектов с открытым кодом, эффективные и абсолютно безопасные исправления для которых появляются с завидной регулярностью и не позже, чем через неделю после обнаружения уязвимости, а иногда даже за считанные часы. Только когда эта проблема будет решена, специалисты по компьютерной безопасности смогут воспринимать MS Windows 7 всерьез. Недавно разработчики Microsoft выпустили исправление для предварительной бета-версии MS Windows 7 еще до того, как была опубликована сама предварительная бета-версия. Может быть, это хороший знак, а может, просто случайность — только время покажет.
4... Не жертвовать безопасностью по умолчанию во имя программной совместимости. То, что Microsoft пытается обеспечить совместимость своих новых систем с предыдущими версиями программного обеспечения, — вполне понятно и достойно только восхищения. Но это не значит, что настройки совместимости, ослабляющие безопасность системы, должны применяться по умолчанию. Если без функций, нарушающих системную безопасность, никак нельзя обойтись, их следует включать в систему в качестве настраиваемых пользователем опций, а никак не в виде параметров по умолчанию. И ни при каких условиях обеспечение программной совместимости не должно приводить к ослаблению системной безопасности на уровне архитектуры. Другая аналогичная проблема — недопустимо больше количество необязательных служб, запущенных в MS Windows по умолчанию. Хотелось бы, чтобы в будущем мне не пришлось больше писать статьи о том, какую массу настроек, функций и служб следует отключить, прежде чем вообще подключать компьютер к сети.
5... Изменить модель распространения продукции. Да-да, это тоже вопрос безопасности. Нынешняя модель распространения продукции Microsoft — это, по сути, финансовая манифестация устаревшего подхода к безопасности. Она не только категорически порочна, но и создает ненужный конфликт интересов между стремлением корпорации к гарантированным финансовым выгодам и реальной потребностью пользователей в надежной безопасности системы — конфликт, который разрешается далеко не в пользу потребителя. По мере развития рынка информационных технологий и программного обеспечения, такой конфликт будет становиться все менее оправданным, поскольку «традиционная» модель распространения будет делаться все менее жизнеспособной. Уже давно пора все менять. Может быть, Windows 7 — и не самый подходящий кандидат для стремительного перехода к новой модели, но Microsoft надо хотя бы начать двигаться в правильном направлении. Джейсон Хайнер совершенно прав, когда настаивает, что MS Windows 7 должна стать последней операционной системой Microsoft «из коробки». В противном случае компания только еще больше навредит своей репутации в глазах индивидуальных и корпоративных потребителей.
Разумеется, за последнее десятилетие стало совершенно очевидно, что надежное безопасное программное обеспечение, эффективный подход к устранению уязвимостей и прочие аспекты компьютерной безопасности с точки зрения коммерческого успеха значат очень мало. Создать ощущение защищенности гораздо легче, чем обеспечить реальную безопасность, и корпорация Microsoft в этом очень преуспела.
Тем не менее, есть и те, кто не собирается воспринимать рекламную мишуру и голословные утверждения Microsoft за чистую монету, и для того, чтобы удовлетворить их потребность в надежной безопасности, Microsoft придется подойти к Windows 7 совсем по-другому, чем ко всем предыдущим своим продуктам.