1.2 Принципы безопасности информационных систем
Анти деcтруктивное программное обеcпечение развиваетcя на базе алгоритмов работы cамих вируcных программ и новых идеях. Стандартный анализ вируcов заключается в выделении cоответствующих cигнатур и в последующем их поиске в информационных cистемах. Более новый эвристический подход cостоит в попытке предложить не оптимальное, но быcтрое решение для неcтандартных проблем на основе доcтоверных предположений. Эвриcтика сначала рассматривает поведение программы, а затем сопоставляет его c характерным для атаки поведением. Для этого используют методы cканирования поведенчеcких «штампов» и эмуляции работы в cреде соответствующей операционных cистем. Определенные надежды возлагаются и на методы искусственного интеллекта - нейронные сети, генетические алгоритмы и другие «мягкие» вычисления.
Пример. Эвристический механизм Symаntес под названием Blооdhоund позволяет обнаружить до восьмидесяти процентов неизвестных вирусов исполняемых файлов и до девяноста процентов неизвестных макровирусов. Известный детектор АDinf обнаруживает все вирусы, не изменяющие длину файлов, невидимые вирусы и др.
Пока нет системного решения проблемы информационной безопасности, несмотря на имеющиеся успехи. Иногда антидеcтруктивные средства способны нанести даже значительный вред той информационной cистеме, которую предназначено защищать.
Пример. Чтобы убедиться в этом, достаточно запустить последовательно два мощных антивирусных пакета, например NОD и Антивирус Касперского. Последствия будут весьма плачевные.
Следующий аспект - стоимость мероприятий по защите. Очевидно, что хотелось бы обеспечить максимальную защиту при минимальных затратах. Сегодня уровень экономически допустимых затрат на приобретение и внедрение антивирусной системы оценивается в размере 5-10% от потенциальных потерь от деструктивного ПО. Однако риск проникновения в информационных системах вирусных структур постоянно растет.
Еще один важный момент - и хорошие, и плохие программы выполняют одни и те же операции; выделить класс исключительно вирусных операций невозможно. Поэтому система защиты вынуждена или ничего не контролировать, или непрерывно предупреждать о каждой операции (даже не подозрительной). Нужен разумный компромисс между этими крайностями.
Учитывая изложенное, сделаем следующие выводы:
1) применяемые в настоящее время механизмы защиты от несанкционированного доступа, как правило, позволяют обнаружить факт нарушения целостности данных, но не позволяют предотвратить его;
2) необходима разработка специализированной системы безопасности, изначально спроектированной с целью надежной комплексной защиты от несанкционированного доступа. Ее основой должно быть создание таких условий, при которых несанкционированный доступ был бы в принципе невозможен.
Абсолютной защиты на практике достичь невозможно, но повысить эффективность защиты до уровня порядка 90% вполне реально. Это не означает, конечно, что все существующие механизмы не нужны. Жизнеспособность системы защиты зависит от того, насколько быстро она сама будет реагировать на появление новых идей и разработок в данной области, которые обязательно появятся в будущем.
Пример. Биометрические технологии защиты основаны на идентификации пользователей по природной уникальности людей (отпечатки пальцев, лиц, голоса, глаз и др.). Так, программа Trancking (компании Biometric) снимает отпечатки пальцев при помощи сканера TouchSafe (компания Identix). Программа подключается к браузеру и начинает работать, только если сайт, на который пытаются войти, требует дактилоскопии посетителя.
Итак, основная цель деструктивного ПО - совершение несанкционированных действий в ИС. Такие действия связаны с внедрением извне или изнутри информационных систем и активизацией некого агрессивного приложения (процесса).
Для нейтрализации внешних угроз необходимо проанализировать уровень открытости системы, например в соответствии с приведенной выше классификацией. Избыточная открытость должна быть снижена до минимально необходимой. Уровень закрытости должен быть доведен до максимально возможного. Таким образом, основополагающим принципом безопасности является принцип необходимой открытости (достаточной закрытости) информационных систем.
Этот принцип лежит в основе внешнего контура защиты ИС, который может включать несколько уровней. Анализ открытости можно осуществить с помощью имитационных атак. Изменить уровень открытости можно с помощью брандмауэров, прокси-серверов и др.
В случае реализации внутренних угроз (активизация внедрившихся процессов) внешний контур безопасности становится бесполезным и необходимо задействовать стандартные механизмы защиты (удаление деструктивного ПО, откат или восстановление информационных систем) или разработать (или организовать) дополнительные механизмы нейтрализации действий деструктивного ПО (рассмотрены ниже).
Попытка несанкционированного доступа может быть осуществлена известным или неизвестным деструктивным источником в явной или скрытой форме как умышленно, так и случайно. Явная умышленная попытка, как правило, позволяет адекватно идентифицировать приложение, и его деструктивные действия независимо от составляющих его процессов могут быть парализованы стандартными средствами защиты (механизмы учетных записей, прав доступа и др.). Эти средства лежат в основе внутреннего контура защиты информационных систем. Он базируется на аппаратной защите (нулевой уровень) и двух программных уровнях обеспечения безопасности: 1) встроенная в ОС система защиты; 2) дополнительная система защиты (программные надстройки над ОС). С выходом новых версий ОС пальма первенства склоняется в сторону встроенных механизмов защиты, но не надолго. Вновь обнаруживаются очередные «бреши» и разрабатываются соответствующие «патчи».
Скрытая умышленная попытка предполагает маскировку процесса и слабо идентифицируется. Например, «плохой» процесс (макровирус и др.) скрыт внутри «хорошего» приложения (офис и др.). Соответственно и их последствия плохо предсказуемы. Более или менее надежной защитой в этом случае является запрет использования таких приложений или отдельных процессов (не всегда удобно на практике) или переход к другой ОС (не всегда возможно).
С учетом сказанного вторым принципом безопасности можно назвать принцип максимальной независимости информационных систем от механизма несанкционированного доступа (универсальности, полиморфизма), означающий, что система защиты должна быть способной работать против большинства различных типов деструктивного программного обеспечения.
Таким образом, даже при наличии внешнего и внутреннего контуров защиты остаются «лазейки» для скрытого проникновения и выполнения деструктивного программного обеспечения и нарушения работоспособности системы. Кроме того, неизбежно воздействие на информационные системы и случайных факторов (вспомним случайную функцию 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)
|
«флеш»- диск
|
ВІОS
|
«флеш»- диск
|
ВІОS
|
НГМД
|
идентификатор субъекта доступа
|
время попытки доступа
|
Процесс1 (WinXP)
|
Да
|
Да
|
Нет
|
Да
|
Да
|
Да
|
Да
|
|
|
Процесс2 (WinXP)
|
Да
|
Да
|
Да
|
Да
|
Да
|
Да
|
Да
|
|
|
ПроцессЗ (WinWord)
|
Да
|
Нет
|
Да
|
Нет
|
Да
|
Нет
|
Да
|
|
|
…
|
|
|
|
|
|
|
|
|
|
Механизм мониторинга целостности среды строится следующим образом. Во второй специальной сверх защищённой области информационных систем дислоцируется эталон системы защиты, в следующей - эталон базового ПО. В случае обнаружения нарушений целостности запускаются специальные процедуры восстановления из этих областей.
Таким образом, может быть построена адаптивная антидеструктивная система, настраиваемая на конкретного пользователя и способная гарантировать защиту информационных систем от несанкционированного доступа на 90%. Описанный механизм гарантирует защиту целостности системы на уровне носителей информации, аналогично тому как это происходит при механической защите от записи дискеты или карты памяти («флеш»-карты), закрытой на имеющийся в ее конструкции физический «замок». Возможное изменение информации в кратковременной памяти, обусловленное действиями вирусов, не приводит к фатальным нарушениям целостности информационных систем, так как может быть снято обычной перезагрузкой базового программного обеспечения.
Как уже отмечалось, абсолютной 100%-ной защиты не существует. В частности, описанная система, конечно, не сможет противостоять деструктивной программе-антизащитнику, способной внедриться в сверх защищённые области. Для защиты уже от этой опасности можно по аналогии построить следующее кольцо системы защиты и т.д. до «бесконечности». Однако и это не решит проблему.
Близкие идеи высказывает, например А.Ю. Щеглов [6], предлагая противодействовать деструктивному ПО именно разграничением прав доступа для субъекта «процесс» (под процессом понимается, по-видимому, - приложение). Процессу с встроенной системой программирования (например winword.exe) разрешается доступ только к файлам данных пользователя. Тогда любая скрытая атака сможет быть проведена только на эти файлы, и система в целом будет надежно защищена. Для защиты же самих данных пользователя вновь предлагается использовать механизмы управления доступом. Если установить права доступа к данным одновременно пользователю и процессу, то данные одного пользователя не смогут «заразить» данные другого пользователя (локализация распространения вирусов на уровне пользователей).
Для усиления защиты предлагается модель динамического управления доступом пользователей к ресурсам из приложения. Суть ее показана на примере работы с редактором:
1. В исходном состоянии пользователю разрешен доступ «на чтение» к своим данным. Права не меняются до момента обращения к файловым объектам из приложения.
2. При чтении данных из приложения пользователь задает полное имя файла. В этот момент права доступа меняются - разрешается запись файла, но только по данному полнопутевому имени. К остальным файлам сохраняется доступ только «на чтение».
3. При задании пользователем из приложения другого адреса сохранения (санкционированная запись) вновь изменяются разграничения - разрешается запись.
4. При закрытии документа права восстанавливаются в исходное состояние.
Изложенные А.Ю. Щегловым идеи запатентованы и апробированы при
разработке системы защиты информации «Панцирь» для Windows 9x/NT/2000, Linux и др. [2].
1.3 Примеры систем-аналогов в ОС семейства 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 и предназначена для проверки всех версий
защищенных системных файлов и их восстановления из специального кэша в случае подмены или повреждения. Запуск утилиты возможен только с правами администратора.
Как видно, 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 для получения последних определений (баз) и обновлений программы.
Эволюция информационных систем привела к повышению роли механизмов их защиты от несанкционированного доступа. В ранних версиях операционных систем и приложений механизмы защиты практически отсутствовали. В более поздних - уже появляются неплохие встроенные механизмы защиты. Большинство современных программных продуктов базового и прикладного характера обладают развитыми, встроенными средствами защиты. И наконец, в новых операционных системах Kubuntu и Vista степень защищенности доведена до весьма значительного уровня. Аналогичные процессы коснулись и эволюции прикладного ПО. В современных СУБД поддерживаются механизмы авторизации, управления доступом к объектам баз данных, шифрования и др. Именно эти технологии легли в основу развития встроенных систем защиты ОС.
Таким образом, нами рассмотрены проблемы защиты корпоративных информационных систем от несанкционированного доступа, сформулированы принципы безопасности и предложена эффективная концепция их реализации. Показано, что использование интегрированных систем защиты способно повысить надежность и снизить затраты на внедрение сопровождения информационной системы. Приведены примеры, подтверждающие практическую значимость изложенной концепции и отражающие степень ее реализации в современном базовом программном обеспечении. [1]
|