Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #48, НОЯБРЬ 2004 г.

Сертификация программ от Microsoft

Леший из-за Лукоморья

Спецвыпуск: Хакер, номер #048, стр. 048-092-1


(lukomore@xakep.ru)

Не все так хорошо, как кажется

В последнее время Microsoft неустанно твердит о повышении уровня защищенности своей продукции, в особенности операционных систем Windows 2003 и Windows XP. Специалисты компании размахивают бумагами с печатями, якобы подтверждающими безопасность творений MS. Какова на самом деле цена этих бумаг?

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

О процессе

В чем отличие обычного бета-тестирования от тестирования по безопасности, завершающегося выдачей сертификата? В подходе. В первом случае ищут ошибки, приводящие к сбоям и некорректной работе тестируемой программы, и просто орфографические ошибки в меню и справке. Но на безопасность эти ошибки влияют мало. Более того, программа может работать идеально, но быть абсолютно незащищенной. Представь, что программа шифрования PGP хранит секретный ключ шифрования в корне диска C: и этот ключ вычисляется за пару секунд на обычной персоналке. По бета-тестированию, в этом нет ничего предосудительного. А вот с точки зрения тестирования на безопасность это ключевые дыры, сводящие на нет эффективность тестируемой системы.

О критериях

Система обычно тестируется не случайным образом, а на соответствие заранее определенным критериям по четкой методике. В России сейчас действует два набора таких критериев: уже устаревшие Руководящие документы Гостехкомиссии и так называемые "Общие критерии", введенные в действие с 1 января 2004 года. В этих документах прописаны требования к механизмам защиты, обязанным присутствовать в тестируемых средствах. Документов, входящих в "Общие критерии", много. Это более десятка профилей защиты под каждый из распространенных классов программных средств: операционные системы, базы данных, межсетевые экраны (firewall) и т.д. Руководящие документы Гостехкомиссии классифицировались аналогично. Но сейчас подход стал более гибким. Если видно, что под конкретный профиль ты не подпадаешь, то можно создать задание по безопасности, в котором укажешь только те требования, на соответствие которым ты и будешь тестировать свою систему.

Но такой подход несет в себе очевидную угрозу: производитель может, например, написать задание, в котором будет всего одно требование, и проводить тестирование на соответствие ему. Сертификационная лаборатория получит деньги за проверку, производитель получит заветную бумагу. Только потребителя никто не будет спрашивать, устраивает ли его дырявый софт. А сам он проверить его, к сожалению, окажется не в состоянии.

С Windows XP произошла именно такая ситуация. Не имея возможности сертифицировать по высокому классу защиты, Microsoft разработала свое задание по безопасности и провела сертификацию Windows XP Professional Service Pack 1a "на соответствие реализованных в операционной системе функций защиты и задекларированных в задании по безопасности". Вдумайся в эту формулировку. Тестировались не механизмы защиты, а соответствие их реального наличия номенклатуре, указанной в документации. Можно ли удивляться тому, что с момента получения сертификата в Windows XP в начале этого года было обнаружено на момент написания этой статьи 37 дыр (по данным Security Focus).

Содержание  Вперед на стр. 048-092-2