MorePC - Главная страница


О сайте

Регистрация

Обратная связь

Реклама на сайте

Публикации на сайте

Карикатуры

  Категории СВТ     Тесты и методики испытаний     Новости СВТ     Проблемы информатизации     Форум     Опросы     Словарь     Поиск  

     Средства защиты информации : Теория  

Предлагаем Вашему вниманию статьи по информационной безопасности.

29.03.2007 ЗАЩИТИМ КОМПЬЮТЕР ОТ СЕТЕВЫХ АТАК

версия для печати

Д.т.н., проф. А.Ю.Щеглов

(ЗАО “НПП “Информационные технологии в бизнесе”)

www.npp-itb.spb.ru

На сегодняшний день одну из серьезнейших (если не основную) угроз ИТ-безопасности составляет возможность запуска на защищаемом компьютере несанкционированной программы, с чем связано наибольшее количество критичных сетевых атак. Это обусловливается тем, что именно с использованием подобных программ, в большинстве случаев, и осуществляется атака на защищаемые ресурсы, причем, как на информационные, так и на системные. При этом существуют совершенно различные способы внедрения и запуска вредоносных программ, совершенно различны их свойства и назначение. К таким программам относятся и эксплойты, как правило, запускаемые злоумышленниками с использованием уязвимостей, связанных с ошибками программирования системного и прикладного ПО, и всевозможные деструктивные, шпионские, троянские программы, которые весьма разнородны по реализуемым ими целям атаки и по своему построению, это и вирусы, модифицирующие исполняемые файлы санкционированных программ. Совершенно различными могут быть и способы внедрения деструктивного кода, как удаленно – из сети, так и локально, в том числе, и санкционированным пользователем (инсайдером). В последнем случае уместно рассматривать деструктивную программу, как инструментальное средство инсайдера, которое может им использоваться для взлома системы защиты. А вот если бы не дать в принципе запускать на защищаемом компьютере несанкционированные (в том числе, и вредоносные) программы? Не это ли является единственно возможным эффективным решением множества совершенно различных, да к тому же еще, и наиболее сегодня актуальных, проблем ИТ-безопасности? Только представьте себе, насколько такое решение, если оно будет найдено, повысит уровень ИТ-безопасности, уровень защиты конфиденциальной информации! Так существуют ли возможность и средства эффективной защиты компьютера от сетевых атак?

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

  • Современные антивирусные средства неэффективны для противодействия новым троянам, шпионам и другим вредоносным программам (Новость с сайта www.it.sec от 24.07.2006). Грэхем Ингрэм, главный управляющий австралийского подразделения Группы оперативного реагирования на чрезвычайные ситуации в компьютерной области (AusCERT) утверждает, что распространённые антивирусные приложения блокируют лишь около 20 процентов недавно появившихся вредоносных программ. При этом популярные антивирусы пропускают до 80 процентов новых троянов, шпионов и других вредоносных программ. Это означает, что в восьми из десяти случаев недавно появившийся вирус может проникнуть на компьютер пользователя”.

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

Решение задачи защиты в общем виде.

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

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

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

Очевидно, что при реализации на защищаемом компьютере подобного решения, любая сторонняя программа, в том числе, и любая вредоносная программа, не сможет быть запущена. Это ли не эффективное решение?! Общность данного решения состоит в том, что не требуется какого-либо анализа (сравнения с эталоном) кода, который в общем случае не может быть осуществлен корректно, не требуется каких-либо выявления сигнатур, составления баз и т.д., т.к. все, что не разрешено, то запрещено, а разрешается только то, в чем мы уверены. Заметим, что при таком решении уже становится неважно, что несанкционированная программа каким-либо способом занесена на компьютер – ее все равно невозможно запустить! Другими слова, не требуется противодействовать занесению вредоносного кода на защищаемый компьютер, что существенно упрощает задачу защиты.

Однако не следует забывать о разнородности вредоносного кода, что, в том числе, определяет и различные способы его запуска. Дело в том, что деструктивные программы могут запускаться, как под учетной записью пользователя, так и под системными учетными записями, например, System, что, в первую очередь, характерно для эксплойтов. С широкими правами создается учетная запись при установке СУБД и т.д. При этом необходимо учитывать, что ошибки программирования могут обнаруживаться как в системном, так и в прикладном ПО.

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

Видим, что речь зашла об инновационных подходах. Такой подход реализован в Комплексной системе защиты информации (КСЗИ) “Панцирь-К” для ОС Windows 2000/XP/2003 (разработчик ЗАО “НПП “Информационные технологии в бизнесе”), и состоит он в следующем.

Для решения рассматриваемой задачи (и иных задач защиты, которые не рассматриваются в данной работе) при управлении доступом к ресурсам в КСЗИ (в большинстве механизмов контроля доступа к ресурсам) различаются два самостоятельных субъекта доступа – “пользователь” и “процесс”. При этом реализованы следующие схемы задания разграничительной политики доступа к ресурсам (заметим, это решение нами запатентовано):

  • Разграничение прав доступа к объектам процессов вне разграничений пользователей (эксклюзивный режим обработки запросов процессов - доступ к объекту разрешается, если он разрешен процессу);

  • Разграничение прав доступа к объектам пользователей, вне разграничений процессов (эксклюзивный режим обработки запросов пользователей - доступ к объекту разрешается, если он разрешен пользователю);

  • Комбинированное разграничение прав доступа - разграничение прав доступа к объектам процессов в рамках разграничений пользователей (доступ к объекту разрешается, если он разрешен и пользователю, и процессу).

Таким образом, в качестве субъекта доступа может рассматриваться либо только пользователь, либо только процесс, либо “пара” – процесс и пользователь.

Нас далее в работе будет интересовать реализация разграничительной политики доступа к ресурсам для субъекта процесс.

Реализованное в КСЗИ “Панцирь-К” для ОС Windows 2000/XP/2003 решение состоит в задании разрешенных к запуску процессов (приложений) заданием перечня папок (каталогов, подкаталогов), из которых разрешено запускать исполняемые файлы системных и прикладных процессов. С учетом того, что должен контролироваться запуск и прикладных, и системных процессов, в качестве подобных папок целесообразно задавать каталоги \Program Files и \XP (WINDOWS) на системном диске. Данные каталоги должны запрещаться (не разрешаться) на запись под любой учетной записью, в том числе, и под любой системной – только такое решение предотвращает любую возможность модификации разрешенных на выполнение исполняемых файлов.

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


Рис.1. Пример настройки механизма защиты

Рассмотрим, что мы получаем при таких настройках – любому процессу (субъект доступа – процесс, задается маской “*”) разрешается выполнение процессов только из соответствующих двух папок на системном диске, при этом запрещается любая возможность (опять же, любым процессом, в том числе и системным) модификации данных папок. Т.е. любой несанкционированный исполняемый файл запустить становится невозможно в принципе. Это ли не решения большинства актуальных сегодня задач защиты информации! Да пусть ваш компьютер “напичкан” вредоносным кодом – эксплойтами, деструктивными и шпионскими программами, троянами, вирусами (здесь рассматриваем именно вирусы – программы, призванные модифицировать исполняемый код разрешенных к запуску программ), запустить-то его невозможно никаким образом!

В порядке замечания отметим, что в КСЗИ “Панцирь-К” для ОС Windows 2000/XP/2003 кардинально изменен подход к построению интерфейса механизма защиты – права доступа назначаются не присвоением атрибутов объектам, а присвоением прав доступа субъектам. Основной же разграничительной политикой доступа к ресурсам является разрешительная политика, задаваемая правами доступа “Ресурсы, разрешенные для…”. Проиллюстрируем сказанное. В интерфейсе на рис.1 задано, что субъект (в данном случае, любой – маска “*”) может запустить процесс только из двух соответствующих папок на диске F:). Не правда ли, очень удобно?! Это существенно упрощает задачу администрирования (КСЗИ “Панцирь-К” для ОС Windows 2000/XP/2003 – это средство защиты, ориентированное на корпоративное (где необходимо эффективное решение задач защиты информации), а не на домашнее использование, отсюда, и инновации, продуманность и эффективность механизмов защиты, и принципиально иные подходы к построению интерфейсов механизмов защиты).

Однако, специалист, представляющий себе архитектуру современных ОС семейства Windows, нам возразит – при подобных настройках система работать не будет, мы увидим “синий экран”! К сожалению, он окажется прав. При подобных настройках система работать не сможет, требуются уточняющие настройки. Дело в том, что некоторые системные процессы должны иметь право записи в соответствующие файловые объекты на системном диске. Их не так много (не более десятка). К таким процессам, например, могут быть отнесены: winlogon.exe, lsass.exe, csrss.exe, svchost.exe, services.exe и некоторые другие.

Заметим, что данное свойство современных ОС семейства Windows определяет огромный их архитектурный недостаток – невозможность запретить модификацию системного диска системным пользователям (в частности, System), как следствие, и всем системным процессам, а также иным процессам, запускаемым под этой учетной записью (т.к. возможность реализации разграничительной политики доступа для субъекта “процесс” здесь отсутствует). Вот результат – невозможность какого-либо противодействия атакам, связанным с уязвимостями, предоставляющими возможность получение злоумышленником системных прав – записывай на системный диск эксплойт и запускай!

Однако в КСЗИ “Панцирь-К” для ОС Windows 2000/XP/2003 присутствует возможность разграничивать права доступа процессов к ресурсам. Воспользуемся ею.

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

Естественно возникает вопрос, а как определить подобные процессы? В КСЗИ “Панцирь-К” для ОС Windows 2000/XP/2003 с этой целью реализованы необходимые инструментальные средства аудита.

Методика настройки разграничительной политики доступа к ресурсам, с применением данных инструментальных средств, состоит в следующем. Включается аудит событий (либо всех событий доступа ко всем ресурсам, либо выборочный – к интересующим ресурсам, в данном случае, к заданным папкам, из которых разрешается запуск системных и прикладных процессов). Разграничения при этом не активизируются. Далее осуществляются необходимые действия, например, загрузка системы, работа в штатном режиме с заданным набором приложений и т.д. При этом средствами аудита фиксируются все обращения к контролируемым ресурсам, которые в КСЗИ формируются в виде, представленном на рис.2.


Рис.2. Журнал регистрации событий

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

Для удобства дальнейшей обработки зарегистрированных событий в КСЗИ “Панцирь-К” для ОС Windows 2000/XP/2003 предусмотрена возможность фильтрации событий, накопленных в журнале, по одному, либо по совокупности параметров, окно фильтра журналов представлено на рис.3.

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

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

Сложно ли подобным образом настроить соответствующие механизмы защиты. На наш взгляд – нет! Надо просто попробовать. Это задача на один день, которая может решаться студентом ВУЗа, имеющим некоторые навыки администрирования! А ведь, определив необходимые настройки для одного компьютера, вы затем растиражируете их на все компьютеры в корпоративной сети.

Стоит ли денек “повозиться”, чтобы разом “забыть” о наиболее актуальных сегодня проблемах ИТ-безопасности.

Если же администратор безопасности вашей компании усомнится в возможности решения подобной задачи, начнет говорить о сложности администрирования КСЗИ “Панцирь-К” для ОС Windows 2000/XP/2003, “забудьте” об ИТ-безопасности, по крайней мере, до тех пор, пока не замените своего администратор.


Рис.3. Фильтр журнала аудита

Вот, насколько изящно и эффективно разом могут быть решены наиболее актуальные сегодня задачи обеспечения ИТ-безопасности. Вот что такое инновационное решение! А как же сегодня без инноваций, посмотрите, что делается сегодня в области ИТ-безопасности в мире:

  • (Новость от 01.02.2006 с сайта www.it.sec) под названием “ИТ-безопасность: никто не готов к новым угрозам”. Компания Ernst&Young провела ежегодный глобальный опрос ИТ-руководителей о проблемах информационной безопасности. Как оказалось, пропасть между угрозами ИТ-безопасности и тем, что делается для защиты от них, стала еще шире. Компания Ernst&Young выпустила очередную, восьмую, версию своего ежегодного отчета "Global Information Security Survey 2005". В опросе приняли участие высшие исполнительные лица более 1,3 тыс. коммерческих и государственных организаций в 55 странах мира, включая Россию. Основную массу респондентов составили директора информационных служб (CIO) и отделов ИТ-безопасности (CSO). Наиболее общим и, пожалуй, самым значимым выводом из этого исследования явилось то, что пропасть между угрозами ИТ-безопасности и тем, что делается для защиты от них, стала еще шире. Другими словами, риски, вызванные постоянным развитием бизнеса во всем мире, эволюционируют так быстро, что специалисты по ИТ-безопасности не успевает адекватно отреагировать на них. Эксперты компании Ernst&Young посчитали эту тенденцию настолько важной, что даже включили слова "Отчет о расширяющейся пропасти" ("Report on Widening Gap") в название своего исследования.

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

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

  • (Новость от 10.01.2007 с сайта www.it.sec). Microsoft оставила Word под угрозой. Microsoft выпустила ежемесячное обновление безопасности, закрывшее 10 уязвимостей, включая критические в Office и Windows. Однако серьезные "дыры" типа "zero-day" в текстовом редакторе Word остались незакрытыми. Хакеры в последние месяцы уделяли повышенное внимание незакрытым уязвимостям в Word и Excel для проведения узконацеленных атак. Обычно их жертва получает электронное письмо с инфицированным вложением и текстом в теле письма, заманивающим открыть это вложение. В конце прошлого года было найдено множество уязвимостей офисного пакета Microsoft типа “zero-day”, то есть они становились известными хакерам еще до выпуска соответствующего патча производителем. Причем многие из этих “дыр” обнаруживались и начинали активно эксплуатироваться хакерами сразу после выхода ежемесячного обновления безопасности софтверного гиганта, что говорит о приспособлении компьютерных преступников к графику выпуска патчей. Эксперты института SANS заявляют, что ко всем “залатанным” вчера уязвимостям, кроме как в  Excel, существуют эксплойты. Минимум 3 уязвимости Word остаются незакрытыми, для их использования в арсенале хакеров также есть эксплойты. Возможно, что данная проблема будет решена с помощью внеочередного обновления безопасности Microsoft. Пока же пользователям остается быть бдительными и не открывать вложения форматов Word в письмах от недоверенных лиц.

Пример разграничительной политики доступа к файловым объектам для приложения Internet Explorer представлен на рис.4.


Рис.4. Пример разграничительной политики доступа к файловым объектам для приложения Internet Explorer

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

Макро-вирусы являются побочным эффектом идеи тотальной автоматизации приложений, к которым, в первую очередь, следует отнести офисные приложения Microsoft, за счет использования макросов. Если какая-либо задача часто выполняется, ее выполнение можно автоматизировать с помощью макроса. Макрос — это набор команд и инструкций, выполняемых как одна команда.

Макросы, как правило, используются для решения следующих задач:

- Для ускорения часто выполняемых операций редактирования или форматирования;

- Для объединения нескольких команд, например, для вставки таблицы с указанными размерами и границами и определенным числом строк и столбцов;

- Для упрощения доступа к параметрам в диалоговых окнах;

- Для автоматизации обработки сложных последовательных действий в задачах.

Другими словами, пользователь может произвольно расширить возможности используемого программного обеспечения. Проблема же состоит в том, что на возможности расширения функций офисных приложений практически нет никаких ограничений. Ядро автоматизации составляет Visual Basic for Application (VAP). Он включает в себя функции работы с реестром и файловой системой, что позволяет осуществлять деструктивные действия не только по отношению к обрабатываемым данным, но и в отношении системных ресурсов.

Высокая распространенность макро-вирусов имеет очень простое объяснение.

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

Во-вторых, простота создания макро-вирусов. Для того чтобы написать вирус, например, для MS Word, достаточно изучить азы языка программирования VBA. Несмотря на то, что он является самым простым и доступным среди всех остальных языков, вместе с тем, данный язык предоставляет злоумышленникам достаточно возможностей для того, чтобы похитить или уничтожить важную информацию, либо надолго вывести компьютер из строя.

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

Стоит также сказать, что в последнее время макро-вирусы все чаще используются совместно с другими вирусными атаками. Так, например, Kukudro.A – это макро-вирус, внедряющий на зараженные компьютеры троян Downloader.JIH.

Итак, макро-вирус – это некий исполняемый код, располагаемый в теле документа, приводящий к тому, что после его прочтения процессом офисного приложения, данный процесс выполняет действия, предписанные макро-вирусами. Другими словами, атаки на системные и информационные ресурсы в данном случае связаны с действиями конкретных, однозначно определенных, процессов. При этом в общем случае не представляется возможным предугадать, какие действия этих процессов (процессов офисных приложений) могут быть активизированы макро-вирусом. Естественно, что именно это условие должно рассматриваться в качестве основного требования при реализации защиты, в противном случае, мы вернемся к проблеме, имеющей место для антивирусных сканеров – возможность обнаруживать только известные (для которых выделена сигнатура) макро-вирусы.

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

Пример единых настроек к системных ресурсам для наиболее часто используемых офисных приложений: Microsoft Office Word 2003, Microsoft Office Excel 2003, Microsoft Office Outlook 2003, приведен в табл.1.

 

Таблица 1

Единые разграничения к системным ресурсам для процессов офисных приложений

Файловые ресурсы

Разрешенные для чтения

Разрешенные для записи и чтения

Разрешенные для выполнения

F:\DOCUMENTS AND SETTINGS\

ALL USERS\

APPLICATION DATA\

MICROSOFT\

OFFICE\

DATA\

OPA11.BAK

F:\XP\*

F:\PROGRAM FILES\*

F:\DOCUMENTS AND SETTINGS\“Имя пользователя”\*

F:\DOCUMENTS AND SETTINGS\ALL USERS\APPLICATION DATA\MICROSOFT\OFFICE\

DATA\OPA11.DAT

 

F:\XP\*

F:\PROGRAM FILES\*

Ресурсы реестра

Запрещенные для чтения

Разрешенные для записи и чтения

-

HKCU\*

 

Проанализируем разграничения для процессов офисных приложений, приведенные в табл.1. Видим, что настройки, обеспечивающие реализацию необходимой разграничительной политики доступа к ресурсам, минимальны (практически несколько строк в интерфейсах соответствующих механизмов защиты), а результат – полноценная защита основных системных ресурсов! Это ли не инновационный подход!

Невольно возникает вопрос, о каком поведенческом анализаторе (широко сегодня используемое решение в антивирусных средствах защиты) для этих процессов может идти речь - зачем он нужен, если процессам разрешены только те права доступа к системным ресурсам, без которых невозможно корректное их функционирование, а любые иные возможности доступа априори без всякого анализа исключаются. Заметим, что задача защиты системных ресурсов при этом решается в общем виде, т.к. становится неважным, известным ли, либо каким-либо новым макро-вирусом осуществляется атака.

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

 

Статью "29.03.2007 ЗАЩИТИМ КОМПЬЮТЕР ОТ СЕТЕВЫХ АТАК" Вы можете обсудить на форуме.




вверх
  Copyright by MorePC - обзоры, характеристики, рейтинги мониторов, принтеров, ноутбуков, сканеров и др. info@morepc.ru  
разработка, поддержка сайта -Global Arts