>

 : Новости : Форум : Поддержка : Скачать: Документация  : Образование : Разработчику : Сайт : Пользователи

 

“Закрыть” != “обезопасить” или как построить безопасную ИС



Владимир Савьяк, Юстар
Вадим Машков, UAFOSS, LinuxWold.Kiev,
OpenOffice.org Ukrainian NL Project Leader

Что есть

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

Компания Mi2g, специализирующаяся на вопросах информационной безопасности, оценивает ущерб, нанесенный мировой экономике от компьютерных атак в 2002 суммой 50 миллиардов долларов. В 2004 году суммарный ущерб от всех видов сетевых преступлений в 2004 году предварительно оценивается в четыреста миллиардов долларов. С этой астрономической цифрой можно согласиться, так как именно в прошлом году были созданы два вируса — MyDoom и Netsky, которые привели к максимальному экономическому ущербу за всю 20-летнюю историю создания вредоносных программ — 83 и 56 млрд. долл. соответственно. По данным Украинского Антивирусного Центра, в Украине потери от вирусных атак в первом полугодии 2004 г. составили 290 миллионов гривен. По сравнению с аналогичным периодом 2003 года убытки выросли на 30%.

С ростом числа компьютерных преступлений и связанных с ними финансовых потерь вопросу информационной безопасности (ИБ) стало уделяться повышенное внимание. Безопасность это вечная забота IT администраторов.

Необходима основа для оценки безопасности программного обеспечения для построения информационных систем. В этом обзоре мы сравним безопасность ПО с закрытым кодом (на примере Microsoft Windows) и ПО с открытым кодом (на примере Linux).

Причина

Применение операционных систем для доступа к Google, сентябрь 2003 года. http://www.google.com/press/zeitgeist/zeitgeist-sep03.html

google.com

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

На 9 из 10 персональных компьютеров можно увидеть Microsoft Windows, Microsoft Outlook, Microsoft Office и Internet Explorer.

Исторически сложилось, что самым распространенным стала информационная платформа производства корпорации Microsoft, которая вновь и вновь доказывает, что является нестабильной, незащищенной и очень благоприятной для ее злонамеренного использования.

Сравним

Из чего складывается безопасность программного обеспечения? Как же в действительности обстоят дела в области компьютерной безопасности?

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

Учет проблем

Первый момент, на котором я хочу остановиться, это количество критических проблем и вообще процент появления и решения именно важных проблем безопасности.
Nicholas Petreley в конце прошлого года опубликовал отчет о сравнении безопасности операционных систем Microsoft Windows Server 2003 и Red Hat Enterprise Linux AS 3, который ссылается на Netcraft, Microsoft Security Bulletin, Red Hat Security Advisories, CERT.

Для сравнения были рассмотрены, например, 40 последних патчей/уязвимостей для ОС MS Windows Server 2003 и RHEL AS 3, в которых особое внимание уделяли потенциально возможному ущербу, простоте эксплуатации, уровню получаемого доступа и числу критических ошибок.

Результаты отчета следующие: у Microsoft обнаружено 38 процентов критических (Critical) уязвимостей против 10% у Red Hat. Причем авторы утверждают, что, если оценивать критичность по их собственным меркам, то это число для Microsoft возрастет до 50%. При анализе базы данных CERT выяснилось, что для Windows серьезную опасность из самых свежих 40 уведомлений представляют 39, а для Red Hat 3 (для Linux вообще 6).

Кроме того, надо учитывать, что списки с уязвимостями в Linux и Red Hat содержат программное обеспечение, работающее и на Linux, и на Windows, а в уведомлениях для Windows не упоминалось ни одной программы, работающей в Linux.

Интересно также отметить, что большинство изъянов в безопасности, найденных в продуктах Microsoft, были обнаружены не фирмой Microsoft, а третьими сторонами - L0PHT/@Stake, NIPC (National Infrastructure Protection Center), Core Security Technologies и другими официальными группами и независимыми исследователями или, возможно, самым популярным (или “печально известным”, по мнению Microsoft) программистом, ищущим слабые места в безопасности Internet Explorer, болгарином Георгием Гунинским.

Скорость

Быть может, у корпорации Microsoft действительно проходит меньше времени с момента обнаружения уязвимости до момента выхода обновления по сравнению с системами на Linux?
Можно утверждать, что недоступность закрытого кода может причинять неудобства самим разработчикам, значительно усложняя определение слабых мест. Кроме того, многие проблемы с безопасностью могут быть просто проигнорированы, так как о них не известно широкому кругу людей.

И это не голословные утверждения, наоборот, это выведенное практическим путем знание. Так, к примеру, летом 2003 года пакистанский программист Мухаммад Фейсал Рауф Данка (Muhammad Faisal Rauf Danka) обнаружил “дыру” в системе безопасности Microsoft Passport, которая хранит информацию о людях (включая такие данные, как даты рождений и номера кредитных карточек) в центральной базе и может использоваться в самых разных целях, например, при проведении онлайновых сделок. Через эту “дыру”, используя особый веб-адрес и ключевое слово, злоумышленник может получить доступ к базе Passport. Пакистанский программист направил в Microsoft одно за другим 10 (десять!!!) электронных писем с предупреждением о “дыре”. Корпорация отреагировала только тогда, когда он опубликовал информацию в сети.

И это далеко не единичный случай умолчания о существовании уязвимостей в программном обеспечении от Microsoft. Не менее яркий пример можно прочитать в статье на Cnews “Российские технари уличили Microsoft в беспомощности”.

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

Удобство

Важна не только скорость появления исправлений, но и удобство установки обновлений, особенно в корпоративной среде. В соответствии с различиями в архитектуре Windows и Linux, свои особенности имеет и управление исправлениями для этих ОС. Большое количество исправлений и время, необходимое для их тестирования и развертывания могут увеличить эксплуатационные расходы. Другими факторами, определяющими успешность обновления системы, является обратная совместимость и возможность применения без остановки приложения.

Значимость обновлений Windows усиливается тесной интеграцией среды выполнения приложений Windows и самой ОС. В противоположность этому, среда выполнения приложений Linux это пространство пользовательских процессов, а не операционной системы. Тесная интеграция с системой в Windows увеличивает количество потенциальных уязвимостей, и это подтверждается практикой. Достаточно типичными являются заголовки статей “Хакеры вовсю используют незаделанные дыры в Internet Explorer” или “Опасные дыры в Microsoft Office и Visual Basic for Applications”.

Огромные проблемы с безопасностью позволяют говорить о том, что монополия компании Microsoft в сфере производства программного обеспечения для компьютеров снижает степень защищенности компьютерных систем и способствует распространению вирусных эпидемий. “Монополия Microsoft угрожает обыкновенным пользователям с различных сторон, однако теперь она создала угрозу и государственной безопасности”, - утверждает Эд Блэк (Ed Black), президент CCIA.

Но, в противоположность Windows, управление исправлениями в Linux зачастую происходит более легко из-за разделения рабочего пространства приложений и ядра, что уменьшает количество потенциальных уязвимостей безопасности. Поскольку код Linux открыт, в отличие от Windows, существует полный доступ к истории всего исходного кода. Более того, большинство изменений и обновлений, производимых в Linux не требует остановки работы системы, что сводит к минимуму усилия со стороны администратора системы. Это значачительно отличие от Windows, где перезагрузка требуется даже для установки или отключения драйвера.

Например, Ximian Red Carpet, позволяющее определить конфликты и зависимости исправлений, поставляется с двумя интерфейсами: web и командная строка. Системная утилита Red Hat, называющаяся up2date, работает вместе с Red Hat Network для предоставления пользователям возможности скачать и установить новые пакеты. SUSE использует процесс AutoBuild для контроля качества исправлений и заплаток. Хотя каждый дистрибутив Linux поставляется с инструментами управления исправлениями, поставщики систем и независимые производители ПО так же предлагают свои инструменты. BMC, HP OpenView, IBM Tivoli и Aduva предоставляют инструменты для управления и установки исправлений.

Качество

Давайте рассмотрим вопрос качества исправлений, которые выпускает производитель ПО. Практика показывает, что качество исправлений от Microsoft зачастую оставляет желать лучшего, и доказательством этого может служить целый ряд фактов.

Примером может быть обновление MS03-013, которое должно было ликвидировать серьезную брешь в системе безопасности Windows XP. После этого в некоторых конфигурациях производительность операционной системы упала почти на 90%. Разработчики вынуждены были срочно писать новую заплату, которую пользователям пришлось ждать целый месяц (апрель 2002 года).

Вы думаете, что это случайность? Если это и случайности то уж слишком их много… Прочтите про третий сервис-пак к Microsoft Office 2000/XP, который открывал дорогу для спама или печально известный патч, описанный в бюллетене безопасности MS03-032, который сам нуждался в патче.

Одним из самых ярких примеров несостоятельности утверждений Microsoft о достоинствах ее обновлений на мой взгляд, является история знаменитого червя Slammer, чемпиона по скорости распространения. Как известно, его триумфальное шествие началось спустя полгода после того, как корпорация Microsoft выпустила обновление MS02-039, которое должно было воспрепятствовать проникновению этого вируса в компьютеры. Вы серьезно полагаете, что виновны были те, кто не уделял должное внимание обновлениям операционной системы Windows и вовремя не установил патчи?
Несколько позже Microsoft предложила клиентам пакет модернизации SQL Server Q317748, который не имел отношения к системе безопасности. В нем были исправлены ошибки, связанные с утечкой памяти, которые приводили к снижению производительности. Однако команда, занимавшаяся разработкой этого обновления, использовала старый вариант системной библиотеки ssnetlib.dll, в которой остались бреши (исправленные в предыдущем обновлении MS02-039) и который затирал исправленный ssnetlib.dll во время своей установки. Пакет Q317748 оставлял сервер беззащитным перед червями наподобие Slammer, как будто обновления системы безопасности до этого и не проводилось. Авторы Slammer с удовольствием воспользовались имеющимися изъянами. Червь заражал как серверы, в которых уязвимые места появились вследствие конфликта обновлений, так и компьютеры, на которые обновленные версии программного обеспечения не устанавливались вовсе по причине чересчур запутанной схемы наложения заплат, столь присущей Microsoft. Кстати, после эпидемии Slammer даже инженерам Microsoft пришлось немало попотеть над обновлением собственных систем.

Эти примеры показывают, что корпорация Microsoft большую часть своих ресурсов тратит не на исследования и разработку ПО, а на маркетинговые мероприятия.

Аудит кода

Как пишет Константин Овчинников, “закрытое ПО дает возможность фирме-разработчику внедрять в программу элементы, целью которых может быть сбор личных сведений о пользователе, создавать специальные “закладки” - “дыры в защите” (для того, чтобы дистанционно, например, при обострении политических отношений со страной, в которой используется данное ПО, вывести ПО из строя). Также возможны явные и неявные сговоры с производителями “железа”, для чего программы могут недостаточно оптимизироваться или специально замедляться, стимулируя пользователей покупать более производительную технику”.

К сожалению программные закладки (программы-шпионы) уже давно стали реальностью. Сегодня они широко применяются многими коммерческими производителями закрытого программного обеспечения с различной целью. Производители этого (в случае обнаружения подобных программ) ПО уверяют пользователей, что единственное назначение этих программ уведомить про установку новой копии коммерческого программного обеспечения на том или ином компьютере. Однако контролировать все функции таких программ-шпионов без знания их кода невозможно.
Например, в 1999 2000 годах состоялся ряд резонансных скандалов, связанных с тем, что программы одного из известных мировых производителей ПО, предназначенные для онлайновой регистрации в Интернет, без ведома пользователя собирали информацию о всём программном обеспечении, установленном на компьютере, а также о персональных данных пользователя.

Исходный код Windows закрыт, поэтому ее методологию безопасности часто называют безопасность в тумане (security through obscurity). Естественно, практика закрытия исходного кода производителем ПО позволяет согласиться с известным специалистом в области безопасности Брюсом Шнайером, который критикует Microsoft за то, что та не учится на прошлых ошибках. Для построения действительно надежных и безопасных информационных систем несвободное программное обеспечение не столько материально невыгодно, сколько опасно.

Гарантия качества.

Документом, определяющим гарантии качества ИТ-продуктов, в том числе и операционной системы, является Common Criteria, стандарт ISO 15408 (Common Criteria for Information Technology Security Evaluation). Правительственные организации, к примеру в США, в первую очередь требуют сертификат Common Criteria все ИТ-продукты, используемые при обработке критически важных данных в государственных учреждениях страны. Не смотря на то, что требования гарантии качества происходят из правительственных учреждений, они применимы и интересны для широкого круга потребителей.Потребители могут оценить продукт на основе результатов независимого тестирования, учитывающего комплекс критериев.
Common Criteria определяет несколько уровней сертификации, от Evaluation Assurance Level 1, EAL1 (самый низкий уровень, требующий лишь минимального набора документации и тестирования функций защиты) до EAL7 (наиболее высокий уровень, требующий формально описанных функций защиты, тщательного тестирования всех аспектов этих функций и детального анализа уязвимостей). Хотя оценка Common Criteria применима только для конкретной системной конфигурации ПО и аппаратной части, ниличие сертификата позволяет получить уверенность, что продукт обладает надежной защитой.
Для того чтобы показать защищенность Linux, была произведена работа по сертификации этой системы. Интересно, что множество разработанных в процессе сертифкации документов была передана в хранилище свободно распространяемых программ корпорации IBM. Данная документация включает в себя описание механизмов защиты, руководства, описание архитектуры верхнего уровня, рекомендации и контрольные примеры. Разработчики других версий ОС Linux могут использовать этот материал, адаптировав его к своим системам. В результате они сумеют провести экспертизу на соответствие Common Criteria, не тратя много времени и денег на подготовку таких документов.

На данный момент уровень EAL как у операционной системы от Microsoft (Microsoft Windows 2000), так и у Linux (SUSE Linux Enterprise Server 9) одинаков — EAL4+.
Сертификация EAL4+ стала еще одним важным шагом в утверждении Linux как надежной основы для критически важных приложений.

Открытые стандарты.

Хотя Microsoft заявляет о поддержке множества открытых стандартов (Kerberos, LDAP, IPSec, IKE, Ipv6, CIFS), в реальности она видоизменяет их. Для организаций с гетерогенными системами и необходимостью их совместной работы, подобные стандарты, расширенные закрытым кодом, требуют больше времени и сил на обнаружение и устранение уязвимостей. Примером является расширение Microsoft стандартного протокола Kerberos, который используется в MS AD. Версия Kerberos от Microsoft не соответствует полностью стандарту, таким образом, системные администраторы, использующие Microsoft Kerberos могут столкнуться с трудностями в развертывании и управлении им в гетерогенных системах и будут вынуждены испльзовать только инфраструктуру Microsoft Windows.

Протокол CIFS - это новое название версий протокола SMB от Microsoft’s, который используется в продуктах Microsoft Windows. Многие операционные системы , включая Windows, Linux, Unix, OS/2 и FreeBSD используют SMB для осуществления взаимодействия типа клиент-сервер в сети. Однако, компания-производитель не публикует полностью описание протоколов и сторонние разработчики используют документацию, созданную Samba Team. Существует устоичивое мнение, что эта документация является фактическим стандартом, который используют не только разработчики свободного ПО, но и компании, разрабатывающие ПО для платформы Windows. Даже в публикациях MSDN (библиотека для разработчиков ПО, выпускается компанией Microsoft) в качестве документации можно встретить ссылки на разработки Samba Team.

Важность открытых стандартов невозможно переоценить. Вспомните когда к Вам, использующим Office 95, попал документ в формате Office 97. Сколько проблем возникло из-за несовмесимости форматов. Это лишь один печальный пример, показывающий несостоятельность проприетарного ПО при смене форматов.

Что надо строить

Свободные операционные системы с открытым исходным кодом, в том числе Linux, своей модульной модульной архитектурой и UNIX-подобной системой безопасности изначально была разработана для защиты данных.

Сочетание преимуществ открытого исходного кода, которые заключаются в:

  • раннем обнаружении дефектов в ПО и возможности быстрого их исправления;
  • низкой начальной стоимости оборудования;
  • отсутствия обязательной платы за право использования продуктов и
  • независимость в вопросе выборе аппаратной платформы
  • позволяют говорить о том, что свободное программное обеспечение является безопасной, надежной и финансово привлекательной платформой для построения ИС в государстве, бизнесе и т.д..

А что необходимо для этого?

В данный момент законодательство Украины делает определенные преимущества для производителей и продавцов несвободного ПО с закрытым исходным кодом. Это и законодательно утвержденное требование об авторском вознаграджении, это и недавний договор о закупке Украиной лицензий на Microsoft Windows Microsoft Office XP.

Одним из негативных следствий несвободы ПО является феномен так называемого “пиратского” продвижения тех или иных программ. “Пиратство” связано с установлением заведомо завышенного (для рынка в целом) тарифа на те или иные товары, что влечет массовое использование контрафактного продукта и возможность для владельцев несвободного кода дополнительного извлечения прибыли путем преследования нарушителей в судах или административным порядком и построения бизнеса на “легализации” контрафактно введенных в оборот экземпляров программ. “Пиратство”, неотъемлемо связанное с феноменом несвободного ПО, является одним из серьезнейших разрушительных факторов функционирования рынка ПО в целом.

Результатом внедрения свободного ПО будет:

  • снижение барьера для входа в бизнес, что влечет за собой расширение круга разработчиков, поставщиков и пользователей. Низкие входные барьеры выгодны также для клиентов, так как конкуренция выше. снижение рисков оппортунистического поведения владельцев несвободного кода (снижение технологической зависимости);
  • возможность снижения затрат потребителя на закупку лицензионного ПО (отказ от массового приобретения лицензий на несвободные программы);
  • переориентация потоков денежных средств на внутренний рынок, что повлечет рост отечественной индустрии производства программного обеспечения;
  • повышение информационной безопасности за счет отказа от пользования программами с недоступным исходным кодом (в которых могут содержаться долго не обнаруживаемые критические ошибки или преднамеренно внедренные “закладки”.

Свободное ПО рекомендуется как приоритетная модель разработки, ввода в оборот (коммерциализации) и развития программ в Украине.

Основными мерами поддержки этой модели являются:

  • легализация свободных лицензий на ПО;
  • стандартизация открытых форматов данных и протоколов их передачи.

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

А это возможно?

В Украине есть специалисты с опытом разработки и эксплуатаци свободного программного обеспечения. В основном они работают в сфере высоких технологий: провайдеры Интернет, мобильная связь, банкинг. Эти специалисты зачастую объединены в устойчивые сообщества — Украинская сеть разработчиков и пользователей свободного ПО (OSDN.org.ua), Украинское Интернет-сообщество (uic.org.ua).
Существует масса проектов по локализации свободных продуктов, к примеру:

Удивительно, насколько мало известны в Украине собственные свободные разработки, к примеру система машинного перевода “Перекладачка”, многоязычный словарь “Словник” и свободая бухгалтерия IceB, которая настроена на украинское законодательство и не требует огромных вычислительных ресурсов.
Существуют и коммерческие фирмы, которые разрабатывают, внедряют и поддерживают решения на основе свободного ПО. Можно вспомнить компании ЕМТ (программные решения корпоративного уровня), Юстар (поставка аппаратно-программных решений), НПФ “Крон” (бухгалтерская система IceB).

Украина давно имеет положительный опыт использования свободного прогоаммного обеспечения в государственном и коммерческом секторах. Так, к примеру, для технического обеспечения выборов президента Украины в 1999 году было использовано 225 машин под управлением операционной системы KSI Linux — ни одного сбоя свободного программного обеспечения. Сегодня в городском совете Тернополя ОС Linux установлена на 10 серверах и рабочих местх администраторов. В образовании свободное ПО также активно используется: 1500 учеников в позапрошлом году выпустила “Компьютерная школа” при НАНУ в Севастополе, оригинальное терминальное решение в Луганском Политехническом коледже. В коммерческих структурах свободное ПО также распространено: сеть супермаркетов “Фоззи” успешно использует OpenOffice.org более двух с половиной лет, свободное ПО активно использует подавляющее большинство Интернет-провайдеров.

Все вышеперечисленное позволяет говорить о возможности успешного использования свободного ПО в Украине для построения надежных, безопасных и экономически эффективных ИТ-решений.

@ 22.06.2007 22:43 

www.comstar.ua

Powered by TYPO3 LinuxWorld.Kiev