В.Х. ФЕДОТОВ
ЗАЩИТА ОТ НЕСАНКЦИОНИРОВАННОГО ДОСТУПА И ЭКОНОМИЧЕСКАЯ ЭФФЕКТИВНОСТЬ ИНФОРМАЦИОННЫХ СИСТЕМ *
Важнейшей проблемой компьютерной безопасности является защита информационных систем (ИС) от несанкционированного доступа (НСД). Пути решения этой проблемы связаны с системным анализом, вопросами надежности, механизмами защиты и экономической эффективностью их внедрения в практику.
Статистика экономического ущерба от НСД показывает, что большинство ИС уязвимо. По данным Forrest Research, IDC и др., в США ежегодные потери от компьютерной преступности оцениваются в 100 млрд долл., в Западной Европе - 30 млрд долл. Средний и максимальный ущерб от одного компьютерного преступления составляет, соответственно, 450 тыс. долл. и 1 млрд долл. Ежегодные потери некоторых фирм США достигают 5 млрд долл. Для России аналогичная оценка дает порядка 1-2 млрд долл./год. Более 80% компаний несут убытки из-за ненадежного обеспечения безопасности данных. Приведенная статистика не отражает многих аспектов проблемы НСД, но подтверждает ее существование и актуальность.
Целью данной работы является определение принципов безопасности и разработка механизмов повышения надежности информационных систем. Приведена принципиальная схема конструирования интегрированной системы защиты от НСД и примеры, подтверждающие практическую значимость изложенной концепции. Классификация информационных систем с точки зрения безопасности
В экономической литературе приводятся различные классификации ИС [1]. Однако классификация по защищенности или уровням безопасности не приводится, хотя она требуется для анализа проблем НСД к информации. Возьмем за основу классификацию кибернетических систем [3].
ИС являются разновидностью сложных динамических кибернетических систем. Их элементы формально могут быть заданы пятеркой <x, y, z, f, g>, где: x=x(t) - вектор входной информации, y=y(t) - вектор выходной информации, z=z(t) - вектор промежуточных значений (внутреннего состояния), f и g - функционалы, задающие текущие значения внутреннего состояния z(t)=f(t, x(t), w(t)) и выхода y(t)= g(t, x(t), w(t)), t- время, w(t) - случайная функция.
Формальные методы анализа сложных ИС развиты слабо, поэтому основным методом их исследования является машинное (имитационное) моделирование. ИС преобразует входную информацию x в выходную y. Системы с ненулевым целым числом n>0 входных параметров x=x(t)=(x1(t), x2(t), ..., xn(t)) называются открытыми (незамкнутыми, неизолированными). С уменьшением n открытость системы уменьшается, и при n=0 система становится закрытой (замкнутой, изолированной).
Если входная информация отсутствует x(t)=0, то выходная информация может все же генерироваться y(t)^0 или нет y(t)=0. В первом случае систему назовем закрытой по входу, а во втором - закрытой и по входу, и по выходу (полностью). Если выходной информации нет, а входная есть, то назовем систему закрытой по выходу. Отметим, что даже полностью закрытые системы можно интерпретиро-
* Исследование выполнено при финансовой поддержке гранта РФФИ проект № 08-07-97009 р_поволжье_а.
вать как генераторы информации, рассматривая только изменение их внутреннего состояния во времени. Поэтому будем считать генерацию информации в полностью закрытой системе частным случаем ее преобразования**.
Примеры. 1) Программа-редактор преобразует исходный документ (входная информация х(/)) в результирующий (выходная информация у(/)=д(^ х(/), w(t)). Набор редактирующих действий - это функция д$, х(/), w(t)). Документ в процессе редактирования отражает внутреннее состояние z(t)=f(t, х(/), w(t)). Случайная функция w(t) - это непредвиденные события. Это пример открытой системы.
2) Та же программа используется для создания нового документа. В этом случае можно считать (вообще говоря, это неверно), что входной информации нет, но выходная образуется. Это систем закрытая по входу.
3) И наконец, та же программа используется в режиме создания нового документа, но завершается без его сохранения. В этом случае имеет место временная генерация информации в закрытой системе.
Надежность, безопасность и экономическая эффективность ИС. Надежность - это свойство ИС сохранять во времени в установленных пределах способность выполнять возложенные на нее функции. Надежность определяет безотказность, долговечность и практическую полезность ИС. Уровень надежности зависит от следующих факторов: надежности и состава технических средств, ПО и персонала; распределения функций между ними; методов эксплуатации; надежности резервирования информации; условий функционирования и др.
Безопасность - это свойство ИС ограничивать НСД к информационным ресурсам. Защита от НСД обеспечивается методами защиты информации, системой учетных записей и паролей, мониторингом и протоколированием, механизмами управления доступом и специализированными программно-техническими комплексами защиты данных. В корпоративных ИС должен быть квалифицированный администратор безопасности или специальная служба информационной безопасности.
Экономическая эффективность ИС определяется соотношением отдачи от ее функционирования и соответствующих затрат ресурсов (критерий эффективности затрат) с учетом ограничений по времени. Оценка экономической эффективности выражается экономическим эффектом (за период времени), сроком окупаемости затрат на разработку, внедрение, эксплуатацию, сопровождение, развитие и др. Эффективность ИС обеспечивается оптимизацией данных и методов их обработки, применением оригинальных разработок, поиском и внедрением новых идей и методов [3].
Несанкционированный доступ
Угрозы внешние и внутренние. Угроза компьютерной безопасности - это событие, реализация которого может привести к нарушению целостности информации. Уязвимость ИС - это характеристика вероятности реализации угрозы (атаки).
С системных позиций угрозы разделим на внешние и внутренние. Внешние угрозы обусловлены избыточной открытостью ИС от внешней среды (каналов связи, сети и др.). Внутренние угрозы обусловлены неправильными действиями персонала или являются следствием реализованных, но необнаруженных своевременно внешних угроз.
С функциональных позиций угрозы делятся на случайные и преднамерен-
** Под входной и выходной информацией здесь соответственно понимаются данные, полученные с внешних устройств или выводимые на них. В общем случае, конечно, обмен информацией может быть произведен и с устройствами кратковременной памяти.
ные. Случайности неизбежны (ошибки пользователей, неправильное хранение данных, сбои оборудования, ОС и др.). Преднамеренные угрозы обусловлены брешами в ИС и значительно опаснее (вирусные атаки, шпионы, НСД, искажение и хищение информации, подмена трафика сети, внедрение компьютерных вирусов и др.).
Угрозы могут быть также явными и скрытыми. Основные последствия - отказ в обслуживании, блокировка доступа к ресурсам ИС, устранимая или фатальная неработоспособность ИС.
Угрозам подвержены и государственные (НСД к базам данных физических лиц, ГИБДД, недвижимости и др.), и коммерческие структуры (финансовые хищения, фальсификация контрактов и др.).
Несанкционированный доступ (НСД) - это совокупность приемов доступа к ресурсам ИС в обход соответствующих (законных) прав в целях реализации угроз безопасности (утечки, целостности, отказа в обслуживании и др.). НСД осуществляется пользователем-агрессором (хакер, взломщик и др.) или программой-агрессором (классические вирусы, трояны, черви и др.) через технические средства (носители информации, компьютерные сети, каналы связи и др.). Степень опасности каждого вида НСД может быть оценена нанесенным ущербом.
Пример. Программа-агрессор незаконно выдает себя за клиента сетевой файловой систем и, обходя стандартные средства контроля доступа, получает прямой доступ к ресурсам ИС. Стандартные компоненты сетевых ОС или защитных приложений часто оказываются бессильны.
Деструктивное ПО - это программы, способные нанести ущерб ИС. Деструктивное ПО целесообразно разделить на пассивное и активное. Пассивное не предназначено для вывода ИС из строя, относительно безопасно, и ущерб от него носит косвенный характер (хотя может быть очень значительным). Активное предназначено именно для разрушения ИС и обусловливает прямой экономический ущерб, размер которого может быть любым.
Термин «деструктивное ПО» мы используем потому, что он позволяет объединить в одно целое все известные и неизвестные виды «плохих» программ (вирусы, макровирусы, трояны, черви, бомбы, считыватели паролей и даже неизвестные пока их разновидности).
Общепринятой классификации деструктивного ПО нет, но существуют известные классификации по: функциям, алгоритмам работы, среде обитания, способу заражения и др. Типовые функции: изменение данных, форматирование дисков, модификация ОС и др. Известные классы: компаньоны (companion); черви (worm); невидимки (stealth); полиморфные (polymorphic); макровирусы (macros).
Основные причины уязвимости ИС хорошо известны и изложены, например в публикации «Антивирусной лаборатории Е. Касперского» - дыры в ПО, ошибки фильтрации, недостатки протоколов, анализ сетевого трафика, подмена IP-адреса источника нападения, атаки типа «отказ в обслуживании» и др. Вирусы могут быстро эволюционировать в среде ИС: размножаться, модифицироваться и приводить к эпидемии, способной охватить всю ИС и заблокировать ее работу.
Деструктивное ПО является основной проблемой защиты ИС. Атаки на серверы электронной коммерции происходят постоянно. Потери от него растут.
Принципы безопасности ИС
Антидеструктивное ПО. Развивается на базе алгоритмов работы самих вирусных программ и новых идеях. Стандартный анализ вирусов заключается в вы-
делении соответствующих сигнатур и в последующем их поиске в ИС. Более новый эвристический подход состоит в попытке предложить не оптимальное, но быстрое решение для нестандартных проблем на основе достоверных предположений. Эвристика сначала рассматривает поведение программы, а затем сопоставляет его с характерным для атаки поведением. Для этого используют методы сканирования поведенческих «штампов» и эмуляции работы в среде соответствующей ОС. Определенные надежды возлагаются и на методы искусственного интеллекта - нейронные сети, генетические алгоритмы и другие «мягкие» вычисления.
Пример. Эвристический механизм Symantec под названием Bloodhound позволяет обнаружить до 80% неизвестных вирусов исполняемых файлов и до 90% неизвестных макровирусов. Известный детектор ADinf обнаруживает все вирусы, не изменяющие длину файлов, невидимые вирусы и др.
Несмотря на имеющиеся успехи, пока нет системного решения проблемы информационной безопасности. Более того, иногда антидеструктивные средства способны нанести даже значительный вред той ИС, которую предназначено защищать.
Пример. Чтобы убедиться в этом, достаточно запустить последовательно два мощных антивирусных пакета, например NOD и Антивирус Касперского. Последствия будут весьма плачевные.
Следующий аспект - стоимость мероприятий по защите. Очевидно, что хотелось бы обеспечить максимальную защиту при минимальных затратах. Сегодня уровень экономически допустимых затрат на приобретение и внедрение антивирусной системы оценивается в размере 5-10% от потенциальных потерь от деструктивного ПО. Однако риск проникновения в ИС вирусных структур постоянно растет.
Еще один важный момент - и «хорошие», и «плохие» программы выполняют одни и те же операции; выделить класс исключительно «вирусных» операций невозможно. Поэтому система защиты вынуждена или ничего не контролировать, или непрерывно предупреждать о каждой операции (даже не подозрительной). Нужен разумный компромисс между этими крайностями.
Учитывая изложенное, сделаем следующие выводы:
1) применяемые в настоящее время механизмы защиты от НСД, как правило, позволяют обнаружить факт нарушения целостности данных, но не позволяют предотвратить его;
2) необходима разработка специализированной системы безопасности, изначально спроектированной с целью надежной комплексной защиты от НСД. Ее основой должно быть создание таких условий, при которых НСД был бы в принципе невозможен.
Абсолютной защиты на практике достичь невозможно, но повысить эффективность защиты до уровня порядка 90% вполне реально. Это не означает, конечно, что все существующие механизмы не нужны. Жизнеспособность системы защиты зависит от того, насколько быстро она сама будет реагировать на появление новых идей и разработок в данной области, которые обязательно появятся в будущем.
Пример. Биометрические технологии защиты основаны на идентификации пользователей по природной уникальности людей (отпечатки пальцев, лиц, голоса, глаз и др.). Так, программа Trancking (компании Biometric) снимает отпечатки пальцев при помощи сканера TouchSafe (компания Identix). Программа подключается к браузеру и начинает работать, только если сайт, на который пытаются войти, требует дактилоскопии посетителя.
Итак, основная цель деструктивного ПО - совершение несанкционированных действий в ИС. Такие действия связаны с внедрением извне или изнутри ИС и активизацией некого агрессивного приложения (процесса).
Для нейтрализации внешних угроз необходимо проанализировать уровень открытости системы, например в соответствии с приведенной выше классификацией. Избыточная открытость должна быть снижена до минимально необходимой. Уровень закрытости должен быть доведен до максимально возможного. Таким образом, основополагающим принципом безопасности является принцип необходимой открытости (достаточной закрытости) ИС.
Этот принцип лежит в основе внешнего контура защиты ИС, который может включать несколько уровней. Анализ открытости можно осуществить с помощью имитационных атак. Изменить уровень открытости можно с помощью брандмауэров, прокси-серверов и др.
В случае реализации внутренних угроз (активизация внедрившихся процессов) внешний контур безопасности становится бесполезным и необходимо задействовать стандартные механизмы защиты (удаление деструктивного ПО, откат или восстановление ИС) или разработать (или организовать) дополнительные механизмы нейтрализации действий деструктивного ПО (рассмотрены ниже).
Попытка НСД может быть осуществлена известным или неизвестным деструктивным источником в явной или скрытой форме как умышленно, так и случайно. Явная умышленная попытка, как правило, позволяет адекватно идентифицировать приложение, и его деструктивные действия независимо от составляющих его процессов могут быть парализованы стандартными средствами защиты (механизмы учетных записей, прав доступа и др.). Эти средства лежат в основе внутреннего контура защиты ИС. Он базируется на аппаратной защите (нулевой уровень) и двух программных уровнях обеспечения безопасности: 1) встроенная в ОС система защиты; 2) дополнительная система защиты (программные надстройки над ОС). С выходом новых версий ОС пальма первенства склоняется в сторону встроенных механизмов защиты, но не надолго. Вновь обнаруживаются очередные «бреши» и разрабатываются соответствующие «патчи».
Скрытая умышленная попытка предполагает маскировку процесса и слабо идентифицируется. Например, «плохой» процесс (макровирус и др.) скрыт внутри «хорошего» приложения (офис и др.). Соответственно и их последствия плохо предсказуемы. Более или менее надежной защитой в этом случае является запрет использования таких приложений или отдельных процессов (не всегда удобно на практике) или переход к другой ОС (не всегда возможно)*.
С учетом сказанного вторым принципом безопасности можно назвать принцип максимальной независимости ИС от механизма НСД (универсальности, полиморфизма), означающий, что система защиты должна быть способной работать против большинства различных типов деструктивного ПО.
Таким образом, даже при наличии внешнего и внутреннего контуров защиты остаются «лазейки» для скрытого проникновения и выполнения деструктивного ПО и нарушения работоспособности системы. Кроме того, неизбежно воздей-
* Статистика показывает, что частота успешных атак на ОС семейства ШМІХ существенно ниже, чем на Мп<^о\мб. Однако, по мнению Е. Касперского [Системный администратор. 2004. №2(15)], это обусловлено не слабостью защиты, а халатностью администраторов безопасности. В мире ЦІИІХ тоже есть черви и были эпидемии с десятками тысяч жертв (червь Біаррег поражает ДраоИе-сервера под Ыпих). По сравнению с миллионами упавших Мп<^о\мз-систем это не много. Однако защищенность иі\ІІХ ни при чем, просто иі\ІІХ-системьі управляются более грамотными операторами.
ствие на ИС и случайных факторов (вспомним случайную функцию w(t), упоминавшуюся в определении информационной системы). Для нейтрализации этих факторов действенным средством является третий принцип безопасности -принцип максимальной восстановимости (выживаемости) ИС.
Конкретные механизмы его реализации определяют уровень жизнестойкости ИС. Идеальным механизмом, по-видимому, можно считать систему автоматического восстановления, способную надежно и быстро выполнять «самолечение» системы при минимальном участии администратора безопасности.
Дополнительно повысить живучесть ИС до необходимого уровня можно повышением числа контуров или уровней обороны. Это особенно актуально для сложных корпоративных ИС (государственных, военных, банковских и др.). Многоуровневая оборона позволяет максимизировать время проникновения деструктивного ПО в защищаемую систему и, как следствие, - минимизировать последствия реализации угроз и максимизировать надежность ИС.
Все уровни защиты, объединяемые в защитные контуры и страхуемые системой восстановления, позволяют сконструировать интегрированную надежную систему безопасности. Для того, чтобы она действительно могла считаться системой безопасности (а не набором изолированных утилит, пусть и очень хороших), необходимо организовать корректную совместную работу всех ее компонент и дружественное взаимодействие с базовым ПО. Система безопасности должна включать подсистемы: аппаратной (пассивной) и программной (активной) защиты и обеспечивать внешнюю и внутреннюю защиту, включая отображение и оценку внешней среды, обнаружение попыток и фактов проникновения, противодействие проникновению и деструктивным действиям.
Стержнем надежной системы безопасности является система противодействия деструктивным действиям, основанная на механизме «учетных записей приложений». Этот механизм должен позволять разграничивать права приложений и процессов (полные, частичные, минимальные) в дополнение к механизму «учетных записей пользователей». Число градаций прав может быть любым.
Механизм управления правами приложений (процессов) позволяет осуществлять их избирательный запуск с разным уровнем полномочий, разрешающих только определенные действия. Для этого при старте ОС запускается и система защиты от НСД. Она резидентно контролирует действия пользователей на запуск приложений и обращение к данным и фиксирует их в специальном журнале (таблице, матрице) безопасности. Система размещается в специальном каталоге и доступна только администратору безопасности. Это позволяет организовать надежный механизм мониторинга, позволяющий инспектировать целостность ПО самой системы защиты на носителе. Система должна быть способной взаимодействовать и с аппаратными средствами защиты (БЮБ, плата доверенной загрузки компьютера и др.).
Механизмы повышения надежности защиты ИС от НСД
Существенным недостатком систем обнаружения НСД остаются их недостаточная адаптивность и способность предупреждать угрозы и, как следствие, невысокая надежность. Возможное направление решения этой проблемы - новые интеллектуальные механизмы зашиты, способные в принципе распознавать угрозы без использования сигнатур и сохранять работоспособность ИС.
Технологии искусственного интеллекта или так называемые мягкие вычисления (нейронные сети, генетические и эволюционные алгоритмы, нечеткая логика и др.) при конструировании антидеструктивного ПО пока используются мало.
Пример. Эвристический алгоритм поиска вирусов реализован в известном пакете Е. Касперского.
На наш взгляд, наиболее перспективным при разработке механизмов безопасности и защиты от НСД является подход, связанный с разработкой программных компонентов информационных систем, способных блокировать действия любых приложений и процессов, контролировать и регулировать права их доступа к информационным ресурсам и проводить мониторинг целостности среды. Такой подход может повысить надежность системы защиты как от деструктивного ПО, так и от ошибок пользователей.
К лидерам разработок в этом важном направлении можно отнести программные продукты от Aladdin, Computer Associates, Pelican Security, Sandbox Security, Stiller Research, Kubuntu и даже Microsoft.
Сформулируем требования к механизмам повышения надежности защиты от НСД. Механизмы защиты ИС должны спроектированы в виде системы защиты от НСД, способной обнаруживать попытки НСД и длительное время противостоять им.
Для этого необходимо, чтобы:
1) система защиты была сконструирована в соответствии с тремя принципами: закрытости, универсальности и восстановимости, описанными выше;
2) основным механизмом системы защиты должно быть интеллектуальное адаптивное управление правами доступа приложений (процессов) и пользователей к ресурсам ИС;
3) система защиты должна быть интегрирована в базовое ПО ИС;
4) система защиты должна иметь механизм мониторинга целостности среды (аудита);
5) область дислокация системы защиты в ИС должна быть надежно защищена.
Реализация этих предложений позволяет построить надежную и эффективную систему защиты от НСД. Базовое ПО ИС, дополненное перечисленными механизмами, будет способно предотвращать проникновение деструктивного ПО в автоматизированном режиме и предупреждать об опасных действиях (предстоящей записи на устройства долговременного хранения данных: диски, «флешки», BIOS и др.). Возможность записи на устройства кратковременного хранения данных (ОЗУ и др.) сохраняется.
Очевидно, что полный запрет записи в устройства долговременного хранения информации неприемлем ввиду хотя бы того, что это необходимо для работы базового ПО. Чтобы обойти эту проблему, нужен адаптивный механизм избирательного запрета операций записи с элементами интеллектуальности. Такой механизм можно реализовать, например, с помощью идеи журнала безопасности - специальной таблицы прав разрешенных приложений ААТ (Allowable Application Table), имеющих допуск на выполнение опасных действий (операции записи, удаления и др.). Всем остальным приложениям (процессам) опасные операции запрещены. Эта таблица дислоцируется в специальной сверхзащищенной области ИС (секретная долговременная память). Система безопасности корректирует эту таблицу, адаптивно подстраивая ее под свою специфику. Таким образом, AAT-приложения (процессы) будут выполняться автоматически или запрашивать разрешения на действие в соответствии с установленными для них правами. Остальные приложения (процессы) будут полностью блокированы до получения соответствующих разрешений от систе-
мы безопасности. По умолчанию в ААТ могут быть занесены все системные приложения, проверенное ПО и др. При необходимости администратор системы безопасности корректирует работу системы защиты.
Примерная структура ААТ приведена ниже.
Таблица ААТ (Allowable Application Table)
Процесс (приложе- ние) Права на действия в устройствах долговременной памяти
запись чтение другие
ЖМД (АТА/ SATA) ЖМД (USB) «флеш»- диск ВІОБ «флеш»- диск ВІОБ НГМД идентификатор субъекта доступа время попытки доступа
Процессі (WinXP) Да Да Нет Да Да Да Да
Процесс2 (WinXP) Да Да Да Да Да Да Да
ПроцессЗ (WinWord) Да Нет Да Нет Да Нет Да
Механизм мониторинга целостности среды строится следующим образом. Во второй специальной сверхзащищенной области ИС дислоцируется эталон системы защиты, в следующей - эталон базового ПО. В случае обнаружения нарушений целостности запускаются специальные процедуры восстановления из этих областей.
Таким образом, может быть построена адаптивная антидеструктивная система, настраиваемая на конкретного пользователя и способная гарантировать защиту ИС от НСД на 90%. Описанный механизм гарантирует защиту целостности системы на уровне носителей информации, аналогично тому как это происходит при механической защите от записи дискеты или карты памяти («флеш»-карты), закрытой на имеющийся в ее конструкции физический «замок». Возможное изменение информации в кратковременной памяти, обусловленное действиями вирусов, не приводит к фатальным нарушениям целостности ИС, так как может быть снято обычной перезагрузкой базового ПО.
Как уже отмечалось, абсолютной 100%-ной защиты не существует. В частности, описанная система, конечно, не сможет противостоять деструктивной про-грамме-антизащитнику, способной внедриться в сверхзащищенные области. Для защиты уже от этой опасности можно по аналогии построить следующее кольцо системы защиты и т.д. до «бесконечности». Однако и это не решит проблему.
Близкие идеи высказывает, например А.Ю. Щеглов [5], предлагая противодействовать деструктивному ПО именно разграничением прав доступа для субъекта «процесс» (под процессом понимается, по-видимому, - приложение). Процессу с встроенной системой программирования (например winword.exe) разрешается доступ только к файлам данных пользователя. Тогда любая скрытая атака сможет быть проведена только на эти файлы, и система в целом будет надежно защищена. Для защиты же самих данных пользователя вновь предлагается использовать механизмы управления доступом. Если установить права доступа к данным одновременно пользователю и процессу, то данные одного пользователя не смогут «заразить» данные другого пользователя (локализация распространения вирусов на уровне пользователей).
Для усиления защиты предлагается модель динамического управления доступом пользователей к ресурсам из приложения. Суть ее показана на примере работы с редактором:
1. В исходном состоянии пользователю разрешен доступ «на чтение» к своим данным. Права не меняются до момента обращения к файловым объектам из приложения.
2. При чтении данных из приложения пользователь задает полное имя файла. В этот момент права доступа меняются - разрешается запись файла, но только по данному полнопутевому имени. К остальным файлам сохраняется доступ только «на чтение».
3. При задании пользователем из приложения другого адреса сохранения (санкционированная запись) вновь изменяются разграничения - разрешается запись.
4. При закрытии документа права восстанавливаются в исходное состояние.
Изложенные А.Ю. Щегловым идеи запатентованы и апробированы при
разработке системы защиты информации «Панцирь» для Windows 9x/NT/2000, Linux и др. [2].
Примеры практической реализации в ОС семейства Unix и Windows
Приведем примеры практической реализации некоторых описанных выше идей в современных ОС. Это подтверждает их эффективность лучше любых теорий.
Unix. В некоторых дистрибутивах Linux есть инструмент контроля целостности файлов - это база данных пакетов и соответствующий диспетчер. Если диспетчер обнаружил изменения файлов, значит, имеются признаки атаки. Если же диспетчер не нашел изменений, это не гарантирует целостность системы [4].
Примеры. 1) Debian сохраняет в базе данных информацию об инсталлированных программах. Сравнение программы на диске с исходным содержимым пакета осуществляется программой rpm с опцией -verify. Например: #rpm -verify postfix. В ответ выводится информация о файлах, состояние которых изменилось: Б.5....Т с /etc/postfix/aliases или Б.5....Т с /etc/postfix/main.cf. Признаки несоответствия: "S" - изменение размера; "5" - несоответствие сумм MD5; "Т"- изменение времени модификации и т.д.
2) Для многих версий Linux разработан инструмент выявления НСД Tripwire (www.tripwire.org), который также сохраняет информацию о файлах в базе данных плюс имеет специальные функции защиты (шифрование, запрет записи, возможность хранения базы данных на сменном носителе и др.).
3) В дистрибутиве Kubuntu, по-видимому, впервые реализован механизм управления правами на уровне приложений. Это позволяет существенно повысить безопасность ИС, построенных на базе этой ОС.
Windows. В последних версиях Windows система защиты сконцентрирована в «Центре обеспечения безопасности» и включает механизм целостности, брандмауэр, управление доступом, антивирусное обеспечение и автообновление.
Механизм целостности обеспечивает утилита sfc (System File Checker)*. Расположена в Windows\system32 и предназначена для проверки всех версий
* Формат: sfc [jscannow] [/scanonce] [/scanboot] [/revert] [/cancel] [/enable] [/purgecache] [/cache size=x] [/quiet], где: scannow - немедленная проверка защищенных системных файлов; scanonce - проверка защищенных системный файлов при следующей загрузке системы: scanboot - проверка защищенньк системных файлов при каждой загрузке; revert - восстанавливает настройки по умолчанию (Windows XP); cancel - отменяет все проверки защищенных системных файлов Windows 2000; purgecache - очистка кэша защищенньк файлов программы и немедленная проверка защищенных системных файлов; cachesize=x - размер кэша защищенных файлов в Мб; enable - включение защиты системных файлов Windows 2000; quiet - замена поврежденных файлов без предупреждения Windows 2000.
защищенных системных файлов и их восстановления из специального кэша в случае подмены или повреждения. Запуск утилиты возможен только с правами администратора.
Как видно, Windows может не только проверить систему, но и при необходимости заменить поврежденные (недостающие) объекты. Наиболее полно механизм целостности реализован в Windows Vista. В долговременной памяти выделена защищенная область для хранения эталонных файлов ОС и контрольных точек для отката. Доступ к этой области возможен через систему восстановления или прошитую в БЮБе утилиту. Таким образом, реализуется автономный механизм, позволяющий надежно восстанавливать работоспособность системы до тех пор, пока сохраняется целостность самой защищенной области. В случае его разрушения остается возможность восстановления через контрольные точки, сохраненные на отчуждаемых носителях.
Брандмауэр Windows (служба SharedAccess процесс svchost.exe) обеспечивает поддержку служб трансляции адресов, адресации и разрешения имен, предотвращает внешние вторжения в ИС и позволяет настроить фильтрацию сетевого трафика.
В Windows Vista система контроля учетных записей (UAC), ограничивающая НСД, может быть отключена из-за ее назойливости, что резко снижает уровень безопасности системы. Рекомендуется отключать UAC только для учетных записей с привилегиями администратора ПК. Оперативное управление правами доступа на уровне пользователя по умолчанию не предполагается (встроенная учетная запись Администратор по умолчанию отключена) для повышения уровня безопасности системы.
Пример. Отключение контроля учетных записей (UAC) выполняется через Панель управления/ Учетные записи пользователей/ Включение и отключение контроля учетных записей. Это можно сделать так: Пуск/ в поле поиска вводим secpol.msc/ Локальные политики/ Параметры безопасности/ Контроль учетных записей: поведение запроса повышения привилегий для администраторов в режиме одобрения администратором/ Повышение без запроса.
При запуске некоторых команд из командной строки выводится сообщение об отсутствии у пользователя необходимых полномочий. Например, при запуске команд изменяющих настройки системы могут потребоваться привилегии встроенной административной учетной записи. Системные приложения (и игры), требующие доступа на запись к реестру или системным папкам, из-за этого могут работать некорректно.
Пример. Включение учетной записи Администратор можно выполнить командой net user Администратор /active:yes из командной строки с повышенными правами пользователя (Пуск/ Программы/ Стандартные/ Запуск от имени администратора).
При запуске от имени администратора в контекстном меню исполняемых файлов происходит выполнение файла с запросом подтверждения действия.
Пример. Для включения выбора учетной записи, от имени которой требуется выполнить файл, нужно изменить значение двух параметров политики безопасности в редакторе групповой политики (gpedit.msc) в разделе «управление учетными записями пользователей»: 1) поведение запроса на повышение прав для обычных пользователей; 2) поведение запроса на повышение прав для администраторов в режиме одобрения администратором. Доступ - Конфигурация компьютера/ Конфигурация Windows/ Параметры безо-
пасности/ Локальные политики/ Параметры безопасности. В обоих нужно выставить «Запрос учетных данных» вместо значения по умолчанию. После этого для любой операции, требующей повышения прав, выводится приглашение для администратора ввести имя пользователя и пароль. Если вводятся действительные учетные данные, операция будет продолжена с применимыми привилегиями. Если компьютер является членом домена, эти настройки нужно выполнить как часть групповой политики домена из клиента Vista, назначив то же значение в тех же объектах групповой политики.
Начиная с Windows 2000 разрабатывается система противодействия деструктивным действиям Windows Defender (Защитник Windows). Прежнее название MS AntiSpyware. Система развивалась с выходом Windows XP, 2003 Server и Vista.
Бесплатный пакет Shared Computer Toolkit for Windows XP предназначен для защиты ОС от деструктивных действий и неопытных пользователей. Создан с применением технологии защиты от пиратства Genuine Advantage (обязательна при обновлении Windows). Требования: лицензионная активированная Windows XP SP2, Microsoft.NET Passport и регистрации на сайте производителя для получения кода активации. Включает четыре приложения. Приложение Getting Started служит для обучения работе с пакетом и правильной настройке ОС.
Второе приложение Disk Protection (защитник реестра и системы) сохраняет измененные в текущем сеансе файлы в выделенной области диска. Перезагрузка аннулирует изменения (откат)*.
Если требуется установить приложение, то можно временно выключить защиту. Можно обновлять ОС по расписанию. Продукты других производителей обновляются с помощью специальных скриптов. Имеется также возможность автоматизировать эту процедуру вплоть до восстановления системы после каждой перезагрузки компьютера.
Приложение Windows Restrictions позволяет назначить каждому пользовательскому профилю индивидуальные ограничения и ограничивать доступ к дискам, папкам, файлам и устройствам. Кроме того, можно задать ограничения на Internet Explorer, Microsoft Office, Windows XP и даже создать список приложений, разрешенных для запуска (!). Можно отключить автостарт компакт-дисков и запись в пишущем CD-приводе. Можно запретить доступ к редактору реестра, командной строке и Менеджеру задач.
Пример. В Internet Explorer блокируется возможность изменения настроек, а в Microsoft Office - использование макросов и VBA.
И наконец, в Windows Vista Защитник доведен до очень хорошего уровня, причем доступ к нему остается бесплатным. Почему бы нет? Ведь многие хорошие идеи, особенно российские, публикуются открыто. А читать «там» умеют. Система защиты Vista действительно достойна внимания и, на наш взгляд, является сегодня лучшей системой безопасности.
Защитник Windows встроен в Vista, включен по умолчанию и интегрирован с сервисом Windows Update для получения последних определений (баз) и обновлений программы**.
Эволюция информационных систем привела к повышению роли механизмов их защиты от несанкционированного доступа. В ранних версиях операционных
* Сначала рекомендуется выделить до 10% объема диска (не менее 1 Гб), размеченных как нераспределенное дисковое пространство (Unallocated Disk Space), под работу приложения.
Перед установкой Защитника обязательно требуется установка Windows Installer 3.1.
систем и приложений механизмы защиты практически отсутствовали. В более поздних - уже появляются неплохие встроенные механизмы защиты. Большинство современных программных продуктов базового и прикладного характера обладают развитыми, встроенными средствами защиты. И наконец, в новых операционных системах Kubuntu и Vista степень защищенности доведена до весьма значительного уровня. Аналогичные процессы коснулись и эволюции прикладного ПО. В современных СУБД поддерживаются механизмы авторизации, управления доступом к объектам баз данных, шифрования и др. Именно эти технологии легли в основу развития встроенных систем защиты ОС.
Таким образом, нами рассмотрены проблемы защиты корпоративных информационных систем от несанкционированного доступа, сформулированы принципы безопасности и предложена эффективная концепция их реализации. Показано, что использование интегрированных систем защиты способно повысить надежность и снизить затраты на внедрение сопровождения информационной системы. Приведены примеры, подтверждающие практическую значимость изложенной концепции и отражающие степень ее реализации в современном базовом программном обеспечении.
Литература
1. Избачков Ю.С. Информационные системы / Ю.С. Избачков, В.И. Петров. СПб.: Питер, 2005.
2. Комплексная система защиты информации «Панцирь» для ОС Windows 95/98/NT/2000 (КСЗИ «Панцирь ») / А.Ю. Щеглов, А.А. Оголюк, И.П. Павличенко и др. Свидетельство об официальной регистрации программы для ЭВМ № 2002611971 от 22.11.2002 г. Правообладатель ЗАО «НПП «Информационные технологии в бизнесе».
3. Математическая энциклопедия / под ред. И.М. Виноградова. М.: Советская энциклопедия, 1079. Т. 2. С. 852.
4. Смит Родерик В. Сетевые средства Linux: пер. с англ. / Родерик В. Смит. М.: Издательский дом "Вильяме", 2003.
5. Щеглов А.Ю. Защита компьютерной информации от несанкционированного доступа / А.Ю. Щеглов. СПб.: Наука и Техника, 2004.
ФЕДОТОВ ВЛАДИСЛАВ ХАРИТОНОВИЧ родился в 1954 г. Окончил Чувашский государственный университет. Кандидат химических наук, доцент кафедры информационных систем Чувашского университета. Область научных интересов - информационные системы, математическое и компьютерное моделирование, базы данных, базы знаний, интеллектуальные технологии и мягкие вычисления системы. Автор 108 научных работ.