7. Кутузов В.В., Терехин С.Н., Филиппов А.Г. Производственная и пожарная автоматика. Технические средства автоматической пожарной сигнализации: Учебник - гриф УМО «Рекомендовано» по университетскому политехническому образованию для курсантов, студентов и слушателей ВУЗов, обучающихся по направлению подготовки бакалавров, магистров «Техносферная безопасность» и по специальности «Пожарная безопасность»; СПб.: Санкт-Петербургский университет ГПС МЧС России, 2014. 284 с.
8. Кутузов В.В., Минкин Д.Ю., Терехин С.Н., Османов Ш.А., Талировский К.С. Методы и технологии обнаружения пожара: Монография / Под общей редакцией В.С. Артамонова. СПб: Астерион, Санкт-Петербургский университет Государственной Противопожарной Службы МЧС России, 2015.
9. Шаровар Ф.И. Пожаропредупредительная автоматика. М: Специнформатика-СИ, 2013.
10. Арутюнян Д.М. Новые технологии гарантированного предотвращения пожаров / Под общей редакцией доктора технических наук Шаровара Ф.И. М: Специнформатика - СИ, 2014.
11. Кутузов В.В. Викман А.В. К вопросу оценки эффективности систем автоматической противопожарной защиты на объектах транспортной инфраструктуры. V Международная научно-практическая конференция молодых ученых: «Проблемы гражданской защиты: управление, предупреждение, аварийно-спасательные и специальные работы» / Республика Казахстан. Кокшетау, 17 марта 2017 г. 61-65 с.
МЕТОДОЛОГИИ АНАЛИЗА ЗАЩИЩЕННОСТИ ИНФОРМАЦИИ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ
Бутин А.А.
Бутин Александр Алексеевич - кандидат физико-математических наук, доцент, направление: информационная безопасность, кафедра информационных систем и защиты информации, Иркутский государственный университет путей сообщения, г. Иркутск
УДК 004.056
При создании инфраструктуры корпоративной автоматизированной системы (АС) на базе современных компьютерных сетей неизбежно возникает вопрос ее защищенности от угроз безопасности информации.
Насколько адекватны реализованные в АС механизмы безопасности существующим рискам? Можно ли доверять этой АС обработку, хранение, передачу конфиденциальной информации? Имеются ли в текущей конфигурации АС ошибки, позволяющие потенциальным злоумышленникам обойти механизмы контроля доступа? Содержит ли установленное в АС программное обеспечение (ПО) уязвимости, которые могут быть использованы для взлома защиты? Как оценить уровень защищенности АС и как определить является ли он достаточным в данной среде функционирования? На какие критерии оценки защищенности следует ориентироваться и какие показатели защищенности использовать? Какие контрмеры позволят реально повысить уровень защищенности АС?
Такими вопросами рано или поздно задаются все специалисты 1Т-отделов, отделов защиты информации и других подразделений, отвечающих за эксплуатацию и сопровождение АС. Ответы на эти вопросы далеко неочевидны. Анализ защищенности АС от угроз безопасности информации - работа сложная. Умение оценивать и управлять рисками, знание типовых угроз и уязвимостей, критериев
и подходов к анализу защищенности, владение методами анализа и специализированным инструментарием, знание различных программно-аппаратных платформ, используемых в современных компьютерных сетях - вот далеко не полный перечень профессиональных качеств, которыми должны обладать специалисты, проводящие работы по анализу защищенности АС.
Анализ защищенности является основным элементом таких взаимно пересекающихся видов работ как аттестация, аудит и обследование безопасности АС.
Методика анализа защищенности. В настоящее время не существует, каких либо стандартизированных методик анализа защищенности АС, поэтому в конкретных ситуациях алгоритмы действий аудиторов могут существенно различаться. Однако методику анализа защищенности корпоративной сети предложить все-таки возможно. И хотя данный подход не претендует на всеобщность, его эффективность многократно проверена на практике. Типовая методика включает использование следующих методов:
• Изучение исходных данных по АС;
• Оценка рисков, связанных с наличием угроз безопасности в отношении ресурсов АС;
• Анализ механизмов организационного уровня, политики
• безопасности организации и организационно-распорядительной
• документации и оценка их соответствия требованиям существующих нормативных документов, а также их адекватности существующим рискам;
• Ручной анализ конфигурационных файлов маршрутизаторов, межсетевых экранов (МЭ) и прокси-серверов, осуществляющих управление межсетевыми взаимодействиями, почтовых и Б№-серверов, а также других критических элементов сетевой инфраструктуры;
• Сканирование внешних сетевых адресов локальной вычислительной системы (ЛВС) из сети Интернет;
• Сканирование ресурсов ЛВС изнутри;
• Анализ конфигурации серверов и рабочих станций ЛВС при помощи специализированных программных средств.
Методы тестирования системы защиты. Перечисленные методы исследования предполагают использование как активного, так и пассивного тестирования системы защиты. Активное тестирование системы защиты заключается в эмуляции действий потенциального злоумышленника по преодолению механизмов защиты. Пассивное тестирование предполагает анализ конфигурации ОС и приложений по шаблонам с использованием списков проверки. Тестирование может производиться вручную либо с использованием специализированных программных средств.
Таким образом, анализ системы защиты АС проводится с целью проверки эффективности используемых в ней механизмов защиты, их устойчивости в отношении возможных атак, а также с целью поиска уязвимостей в защите. Традиционно используются два основных метода тестирования:
• тестирование по методу «черного ящика»;
• тестирование по методу «белого ящика».
Первый вариант предполагает отсутствие у тестирующей стороны каких-либо специальных знаний о конфигурации и внутренней структуре объекта испытаний. При этом против объекта испытаний реализуются все известные типы атак, и проверяется устойчивость системы защиты в отношении этих атак. Используемые методы тестирования эмулируют действия потенциальных злоумышленников, пытающихся взломать систему защиты. Основным средством тестирования в данном случае являются сетевые сканеры, располагающие базами данных известных уязвимостей. Все исследования могут проходить как с предупреждением обслуживающего персонала о планируемых работах, так и без него. Во втором случае
существует возможность оценить, за какое время после начала исследования персонал зафиксирует инцидент, а также какова адекватность предпринимаемых действий по минимизации его воздействия или предотвращения.
Метод «белого ящика» предполагает составление программы тестирования на основании знаний о структуре и конфигурации объекта испытаний. В ходе тестирования проверяются наличие и работоспособность механизмов безопасности, соответствие состава и конфигурации системы защиты требованиям безопасности и существующим рисками. Выводы о наличие уязвимостей делаются на основании анализа конфигурации используемых средств защиты и системного ПО, а затем проверяются на практике. Это наиболее продуктивный метод проведения анализа защищенности, позволяющий выявить наибольшее число уязвимостей. Однако стоит заметить, что данный метод лишен возможности взглянуть на приложение с позиций атакующего.
Средства анализа защищенности. Арсенал программных средств, используемых для анализа защищенности АС достаточно широк. Причем во многих случаях свободно распространяемые программные продукты ничем не уступают коммерческим версиям.
Системы анализа защищенности (security assessment systems), также известные как сканеры безопасности (security scanners) или системы поиска уязвимостей, проводят всесторонние исследования систем с целью обнаружения уязвимостей, которые могут привести к нарушениям политики безопасности. Результаты, полученные от средств анализа защищенности, представляют отчет состояния защиты системы в данный момент времени. Несмотря на то, что эти системы не могут обнаруживать атаку в процессе ее развития, они могут определить потенциальную возможность реализации атак, что позволяет снизить затраты на эксплуатацию средств защиты. Применение средств анализа защищенности позволяет быстро определить все узлы корпоративной сети, доступные в момент проведения тестирования, выявить используемые в сети сервисы и протоколы, их настройки и возможности для несанкционированного воздействия (как изнутри корпоративной сети, так и снаружи). По результатам сканирования эти средства вырабатывают рекомендации и пошаговые меры, позволяющие устранить выявленные недостатки. По существу, действия системы анализа защищенности аналогичны действиям охранника, периодически обходящего все этажи охраняемого здания в поисках открытых дверей, незакрытых окон и других проблем. Только в качестве здания выступает корпоративная сеть, а в качестве незакрытых окон и дверей - уязвимости.
Классификация средств анализа защищенности по типу обнаруживаемых уязвимостей. Напомним, уязвимости информации - это присущие объекту причины, приводящие к нарушению безопасности информации и обусловленные недостатками процесса функционирования объекта, свойствами архитектуры АС, протоколами обмена и интерфейсами, применяемым ПО, аппаратной платформой, а также условиями эксплуатации.
Средства поиска уязвимостей проектирования. При поиске уязвимостей данного типа используются два подхода:
1. анализ алгоритма программно-аппаратного обеспечения;
2. анализ проекта системы.
Примером первого подхода может служить система Prototype Verification System (PVS), разработанная в Computers Science Laboratory института SRJ, известного своими системами обнаружения атак NIDES и EMERALD. В систему PVS встроен язык описания формальных спецификаций программного продукта, а также подсистема, доказательства теорем. Второй подход реализован, например, в системе CRAMM (CCTA Risk Analysis and Management Technology). Помимо нее существуют другие системы для анализа рисков, в том числе и для анализа уязвимостей проектирования. Такие как: RANK-IT, @RISK, ALRAM, ARES, LAVA, ГРИФ и другие.
Система CRAMM была разработана в 1985 году BIS Applied Systems Limited по заказу правительства Великобритании. Продукт, основанный на методологии Центральной Агентства по Компьютерам и Телекоммуникациям Великобритании (ССТА), за время своего существования претерпел несколько модификаций в зависимости от того, какие системы информационной безопасности анализировались с его помощью. На сегодняшний день существуют версии для военных ведомств, государственных структур, частных организаций и финансовых институтов.
Система ГРИФ предполагает, что для проведения полного анализа информационных рисков прежде всего необходимо построить полную модель АС с точки зрения информационной безопасности (ИБ). Для решения этой задачи ГРИФ, в отличие от представленных на рынке западных систем анализа рисков, довольно громоздких и часто не предполагающих самостоятельного использования ИТ-менеджерами и системными администраторами, ответственными за обеспечение безопасности информационных систем компаний, обладает простым и интуитивно понятным для пользователя интерфейсом. Однако за внешней простотой скрывается сложный алгоритм анализа рисков, учитывающий более ста параметров, который позволяет на выходе дать точную оценку существующих в информационной системе рисков, основанную на анализе особенностей практической реализации АС. Основная задача системы ГРИФ -дать возможность ИТ-менеджеру самостоятельно (без привлечения сторонних экспертов) оценить уровень рисков в АС и эффективность существующей практики по обеспечению ИБ компании, а также предоставить возможность доказательно (в количественных показателях) убедить руководство предприятия в необходимости инвестиций в сферу ее информационной безопасности. Достоинство системы - автоматизация трудно формализуемой задачи, недостатками являются зависимость качества работы от заложенных в нее знаний экспертов и высокая стоимость.
Средства поиска уязвимостей реализации. Уязвимости реализации - это по сути ошибки, допущенные на этапе написания кода. Системы, поиска таких уязвимостей, могут быть использованы даже не столько разработчиками ПО, относящимися с пониманием к вопросам ИБ, сколько различными организациями, которые проводят сертификацию программно-аппаратных средств.
Здесь можно выделить два подхода:
• анализ на основе исходного текста;
• анализ на основе исполняемого файла;
В первом случае для решения задачи реализаций программно-аппаратного обеспечения, свободного от ошибок, можно, во-первых, правильно организовать процессы разработки данного обеспечения, что имеет место далеко не всегда из-за желания поскорее выпустить продукт на рынок или в срок выполнить взятые по договору обязательства. В данном варианте используются различные формальные методы описания алгоритма работы продукта, соответствие с которыми проверяется в течение всего процесса разработки. Во-вторых, можно провести тестирование уже готового изделия на предмет отсутствия уязвимостей в его исходном тексте. Примером такой системы является программный анализатор, разработанный в 4 ЦНИИ МО РФ. Очень часто при отсутствии исходного текста анализируемого ПО проводится его дизассемблирование. Полученный в результате листинг исследуется при помощи стандартных способов анализа исходного текста. Примером средств, реализующих подобный способ верификации программно-аппаратного обеспечения, могут служить системы АСТМА и СОТМА, разработанные в Пензенском филиале НТЦ «Атлас». Основным недостатком анализа исходных текстов является возможность внесения в анализируемое ПО различных искажений в процессе
компиляции и компоновки. И даже совершенное с точки зрения исходного текста ПО может иметь уязвимости как следствие работы компилятора и компоновщика.
Программный анализатор 4 ЦНИИ МО предназначен для исследования исходного текста программного обеспечения, передаваемого для сертификации по требованиям безопасности информации. Анализатор реализует три составляющих поиска уязвимостей в исходном тексте — синтаксический анализ, анализ конструкций языка и построение алгоритма (блок-схемы) для каждой процедуры. На основе прототипа этого анализатора в российской компании «Центр безопасности информации» разработана серия анализаторов АИСТ-С для разбора исходных текстов, написанных на языках С, Pascal, Basic, TransactSQL и Assembler.
Система SLINT является анализатором защищенности исходного кода программ (Source Code Security Analyzer), написанных на языках С и С ++. Данный анализатор создан известной группой экспертов в области безопасности LOpht и предназначен для обнаружения следующих наиболее известных ошибок при программировании, приводящих к возникновению уязвимостей и возможности реализации атак:
• переполнение буфера;
• выход за границы массива при индексации;
• отсутствие проверки аргументов;
• некорректный доступ к памяти;
• неподходящие аргументы вызова критических процедур;
По мнению НТЦ «Атлас» - создателя систем АСТМА и СОТМА, не имеет никакого значения, есть ли исходный текст анализируемого ПО или нет, самое главное, — чтобы при анализе был известен его алгоритм. Процесс верификации ПО разбивается на следующие шаги:
1. Запись алгоритма анализируемого ПО в канонизированном виде (описание, составленное на основе математического понятия «соответствие»).
2. Перевод канонизированного описания в тензорное уравнение при помощи транслятора СОТМА (Словесное Описание - Тензорно- Множественный Аппарат).
3. Воспроизведение исходного текста анализируемого ПО на языке ассемблера или С. При этом первоначальный исходный текст получается на языке ассемблера, который затем переводится в синтаксис С. Обработка исходного текста программы на языке ассемблера или С при помощи детранслятора АСТМА (Ассемблер - Тензорно-Мно-жественный Аппарат) и получение тензорного уравнения.
4. Сравнение тензорных уравнений программы и алгоритма и вывод
заключения об их соответствии.
Анализ исполняемого кода. В большинстве случаев ПО поставляется без исходных текстов. Кроме того, анализ исходных текстов требует высокой квалификации от обслуживающего персонала. Да и отсутствие соответствующих эффективных систем анализа не позволяет проводить исследование на качественном уровне. Именно поэтому большой интерес вызывают системы поиска уязвимостей в исполняемом коде. Эти системы анализа по функциональности могут быть разделены на несколько классов: анализ размера, даты файлов и других признаков; проверка во время выполнения кода; генерация тестов; дизассемблирование; имитация атак.
Метод анализа атрибутов файла основан на простом сравнении размера, даты или каких-либо других признаков файла с имеющимися в базе данных уязвимостей. На основании результатов сравнения делается вывод о наличии или отсутствии уязвимости. Например, проверки такого рода выполняет System Scanner.
Системы, реализующие анализ процесса выполнения файла, обнаруживают различные ошибки (в том числе и уязвимости), которые трудно «отловить» в процессе анализа исходных текстов. Они проверяют:
• корректность выполнения операций с памятью;
• корректность работы с указателями;
• вызов функций.
Система BoundsChecker Pro предназначена для обнаружения ошибок, связанных с неправильным обращением к памяти. При ее использовании препроцессор, имеющийся в BoundsChecker Pro, встраивает в определенные участки проверяемой программы свои фрагменты кода, которые и отвечают за контроль операций с памятью, вызов функций, работу с указателями и массивами и т.д. Необходимо отметить, что за всеми своими достоинствами BoundsChecker Pro скрывает и ряд недостатков. Это, во-первых, замедление работы анализируемой программы за счет «лишнего» кода, осуществляющего проверку. Во-вторых, ошибки, не связанные с неправильным использованием памяти, не обнаруживаются этой системой.
Система HeapAgent не изменяет анализируемый код, как это делает BoundsChecker Pro. Однако она подставляет на место любого пула памяти, выделяемого анализируемому приложению, свой собственный, который и
позволяет отслеживать все неверные операции с данным пулом памяти. К
недостаткам системы HeapAgent можно отнести то, что она не позволяет обнаруживать никаких других ошибок (вызовы функций, переполнение стека и т. д.), кроме непосредственно ошибок пула памяти.
Система Purify NT так же, как и BoundsChecker Pro, вставляет в анализируемый код свои фрагменты, отвечающие за проверку работы с пулом памяти и стеком. Помимо замедления работы диагностируемого ПО, присущего и BoundsChecker Pro, ограничивающим ее распространение фактором служит то, что система Purify NT функционирует только под управлением линейки ОС Windows и очень чувствительна к типу процессора.
Системы генерации тестов проводят ряд внешних воздействий на анализируемое программное обеспечение и изучают ответные действия системы на эти тесты. Очень часто данные средства анализируют реакцию системы на различные граничные значения входных данных, к которым можно отнести:
• переполнение буфера;
• выход за границы массива при индексации;
• отсутствие проверки аргументов;
• некорректный доступ к памяти;
• неподходящие аргументы вызова критических процедур;
Потребность в такого рода тестах закономерна, так как по статистике большинство уязвимостей реализации связано именно с указанными ошибками, например, переполнением буфера. Большинство известных систем генераций-тестов разработано для ОС Unix.
Сам процесс дизассемблирования мало чем может помочь при обнаружении уязвимостей, так как в этом случае объемы анализируемого кода будут намного превосходить размер исходного текста на языке программирования высокого уровня для той же программы. Однако дизассемблированный код может служить источником информации для анализаторов более высокого уровня, например, для системы АСТМА.
Имитаторы атак предназначены для моделирования различных несанкционированных воздействий на компоненты АС. Именно эти системы получили широкую известность ввиду своей относительной простоты и дешевизны. Посредством таких имитаторов уязвимости обнаруживаются еще до того, как они будут использованы нарушителями для реализации атак. К числу систем данного класса можно отнести SATAN, Internet Scanner, Cisco Secure Scanner, NetRecon и т. д. Из российских продуктов можно выделить систему НКВД. Средства имитации атак с одинаковым успехом обнаруживают не только уязвимости реализации, но и уязвимости эксплуатации. Именно эти разработки, наряду с системами поиска уязвимостей эксплуатации, получили наибольшее распространение среди пользователей.
Средства поиска уязвимостей эксплуатации наиболее распространены, поскольку пользователи корпоративной сети чаще всего имеют дело именно с этапом эксплуатации. Такие средства обнаруживают слабости системной политики (например, слабые пароли), ошибки настройки программно-аппаратного обеспечения и т.п.
3аключение. В основе современных методик, используемых для анализа защищенности АС, лежат критерии оценки безопасности информационных технологий, устанавливающие классы и уровни защищенности. Методики и концепции оценки безопасности, а также набор критериев в достаточном объеме содержатся в международных стандартах ISO 15408 и ISO 27002 (17799 (BS 7799)), руководящих документах Гостехкомиссии и ФСТЭК России, ведомственных нормативных документах.
Несмотря на отсутствие каких-либо стандартизированных методик анализа защищенности АС, типовую методику предложить все-таки можно. Она включает в себя изучение исходных данных; анализ рисков и оценку политики безопасности организации; анализ конфигурационных файлов маршрутизаторов, МЭ и прокси-серверов, почтовых и DNS-серверов, а также других критических элементов сетевой инфраструктуры; сканирование ЛВС снаружи и изнутри; анализ конфигурации серверов и рабочих станций ЛВС при помощи специализированных программных средств.
Подводя итог всему вышесказанному, отметим, что в настоящее время вопросы анализа защищенности корпоративных АС являются хорошо проработанными. Имеется богатый арсенал средств и методов для проведения подобных работ. Отработанные методики проведения обследования (аудита) безопасности АС в соответствии с проверенными критериями, утвержденными в качестве международных стандартов, делают возможным получение исчерпывающей информации о свойствах АС, имеющих отношение к безопасности. На практике анализ защищенности АС проводится при помощи мощного программного инструментария, в достаточном объеме представленного на рынке средств защиты информации.
Список литературы
1. Бутин А.А. Средства и методы анализа защищенности информации в автоматизированных системах. Краткий обзор // Информационные технологии и проблемы математического моделирования сложных систем. Иркутск: ИрГУПС, 2014. С. 4-18.
2. Носков С.И. Технология моделирования объектов с нестабильным функционированием и неопределенностью в данных. Иркутск: Облинформпечать, 1996. 320 с.
3. Носков С. И., Протопопов В.А. Оценка уровня уязвимости объектов транспортной инфраструктуры: формализованный подход // Современные технологии. Системный анализ. Моделирование,2011. № 4. С. 241-244.
4. Носков С.И., Бутин А.А., Соколова Л.Е. Многокритериальная оценка уровня уязвимости объектов информатизации // Доклады Томского государственного университета систем управления и радиоэлектроники. № 2, 2014. С. 130-136.