Computerworld, США

Microsoft выпускает тестовую версию API для корректного взаимодействия с системой защиты ядра, реализованной в Windows Vista
Бен Фази: «Мы стремились внести ясность в процесс внедрения новых API в ядро Windows Vista и хотим услышать отзывы партнеров и других производителей программного обеспечения об этих критериях»

Корпорация Microsoft представила тестовую версию прикладных программных интерфейсов (API), которые позволят программам независимых производителей корректно взаимодействовать с PatchGuard, системой защиты ядра, реализованной в Windows Vista.

По словам Бена Фази, вице-президента группы Microsoft Windows Core Operating System, занимающейся разработкой ядра новой операционной системы, окончательная версия API выйдет после того, как Microsoft представит Service Pack 1 для Windows Vista, то есть в середине 2007 года.

Корпорация также представила документ Criteria Evaluation, в котором описываются критерии отбора запросов и пожеланий независимых производителей относительно разработки API для Windows Vista. Теперь в Microsoft ждут ответной реакции.

«Мы стремились внести ясность в процесс внедрения новых API в ядро Windows Vista, — сказал Фази, — и хотим услышать отзывы партнеров и других производителей программного обеспечения об этих критериях».

Фази отметил, что API и Criteria Evaluation — ответ Microsoft на сохраняющееся в отрасли информационной безопасности беспокойство относительно PatchGuard.

В Microsoft настаивают, что технологии защиты ядра ОС жизненно необходимы и обеспечивают безопасность и стабильность работы Windows Vista, предотвращая попытки несанкционированного изменения кода ядра как разработчиками приложений, так и злоумышленниками. Кроме того, данная технология критически важна для защиты от программ-невидимок (rootkit).

Однако некоторые, в том числе и лидеры отрасли — компании Symantec и McAfee — заявили, что PatchGuard мешает им реализовать в своих программных продуктах определенные функции, такие как предотвращение вторжений на уровне приложений и защита процессов антивирусных программ от несанкционированного удаления. В адрес Microsoft были выдвинуты обвинения в нечестной борьбе с целью расширения своего присутствия на рынке информационной безопасности.

В октябре Microsoft объявила о намерении создать специальные API, которые позволили бы компаниям продолжить развитие функциональности своих продуктов, пользуясь привычными приемами работы с ядром.

Представленные API были разработаны с учетом отзывов десятков компаний. По словам Фази, эти API отвечают за управление памятью, операции загрузки изображений и защиту процессов антивирусных программ от несанкционированного удаления и удовлетворяют все пожелания производителей, собранные за последние месяцы.

«В течение ближайших нескольких недель мы будем работать над необходимыми изменениями, если они понадобятся, — сказал Фази, — но надеемся, что предложенный набор API будет одобрен всеми производителями и войдет в состав SP1». В Microsoft планируют продолжить сбор комментариев и развитие API в соответствии с потребностями независимых производителей.

Тем не менее, Фази подчеркнул, что Microsoft не изменила своей позиции относительно доступа сторонних приложений к ядру Vista. Некоторые компании предлагали Microsoft разрешить их квалифицированным специалистам модифицировать ядро, в качестве основного аргумента ссылаясь на то, что, поскольку в 32-разрядной версии ОС манипуляции с ядром не были официально запрещены, то и в 64-разрядной версии запрещать их не стоит.

«Мы не хотим, чтобы сторонние производители программного обеспечения модифицировали ядро самостоятельно, чтобы достичь той функциональности, которую они могли реализовать, имея доступ к ядру, — сказал Фази. — Единственная допустимая с нашей точки зрения форма доступа к ядру — разработанные, документированные и поддерживаемые нами API».

«Microsoft решает проблему безопасности как за счет своих программных продуктов, так и за счет нововведений в ОС, позволяющих системе быть более надежной в случаях атак, — считает Роб Эндерле, президент компании Enderle Group. — Именно к таким нововведениям и относится PatchGuard».

«API позволят Microsoft успокоить не в меру рьяных борцов за справедливость, особенно в ЕС, не отказавшись от использования PatchGuard, — говорит Роджер Кей, аналитик компании Endpoint Technologies. — Продемонстрировав отличную технику ведения переговоров, Microsoft узнала реальные потребности других производителей и теперь может сказать ‘мы учли пожелания вендоров, создав новые API’, — при этом не соглашаясь с требованиями компаний ‘дать им поковыряться’ в ядре».


Бен Фази об API для PatchGuard и критериях их оценки

Как полагают в Microsoft, тестовые версии API позволят независимым разработчикам адаптироваться к PatchGuard, технологии защиты кода ядра Windows Vista. Эта технология стала предметом жаркой дискуссии между Microsoft и независимыми производителями, заставив Microsoft отвечать на многочисленные неудобные вопросы. Бен Фази, вице-президент корпорации, курирующий вопросы разработки ядра Windows, ответил на вопросы еженедельника Computerworld.

Сколько API было представлено?

Разработано четыре класса API. Мы расставили запросы, поступившие от наших партнеров, по приоритетности. Первый класс API позволяет создавать и открывать процессы и устанавливать для них необходимый уровень безопасности. Второй класс позволяет защитить антивирусные программы и проверить, не повреждены ли вирусами сами устанавливаемые антивирусы. Третий класс позволяет осуществлять управление памятью. Ну и, наконец, последний класс отвечает за операции загрузки исполняемых образов и позволяет избежать попадания в память вредоносных файлов .exe и .dll.

Некоторые разработчики просили обеспечить им уровень доступа к ядру, схожий с уровнем доступа к ядру 32-разрядной версии Windows. Изменилась ли ваша позиция по этому вопросу?

Когда речь идет о доступе к ядру, необходима осторожность. Наши партнеры всегда имели доступ к ядру. Просто теперь этот доступ реализован с помощью документированных API. Мы всегда говорили, что не допустим модификации ядра третьими фирмами для достижения нужной им функциональности. Раньше такие изменения проводились с помощью недокументированных интерфейсов. Поэтому всякий раз, когда мы выпускали новый пакет обновлений, мы ломали приложения сторонних производителей. Так что наша позиция в этом вопросе не изменилось: единственная допустимая с нашей точки зрения форма доступа к ядру — документированные и поддерживаемые нами API.

Мы продолжим совершенствовать API до тех пор, пока компании не получат все, что им нужно. Но мы не отключим защиту ядра от модификации, потому что это ключевой элемент его защиты. Мы не могли ввести такую защиту в 32-разрядной версии в связи с проблемами совместимости приложений. Многие приложения и драйверы устройств модифицировали ядро, и мы понимали, что при введении столь радикальных мер защиты ядра функционирование слишком многих приложений было бы нарушено. Поэтому мы решили ввести систему защиты ядра на 64-разрядной версии, ведь разработчикам все равно придется полностью переделывать свои программы под новую платформу. Мы понимали, что это наш единственный шанс, и что если мы не сделаем этого сейчас, то уже не сможем расчистить экосистему ядра.