Пояснительная записка Самойлов Д.С. 24Б (1209227), страница 2
Текст из файла (страница 2)
3) изменение условий использования ПО в одностороннем порядке (например, скачивание обновлений без ведома пользователя).
Также в соответствии с указом Президента РФ № 351 сказано, что подключение ИС к сети Интернет у государственных органов не допускается. В связи с этим возникает угроза появления новых уязвимостей, например при обновлении системного ПО или установки драйвера устройства. Также можно отметить человеческий фактор, где пользователь может совершать действия, нарушающие политику безопасности предприятия.
-
Взаимосвязь уязвимостей и угроз
При проведении анализа защищенности информационной системы, наряду, в том числе, с мероприятиями анализа защищенности информации, что является основой анализа защищенности, определяются уязвимости. Они заставляют уделять себе особое внимание, из-за использования за счет реализации угрозы, которые могут исходить от преднамеренных или случайных источников. То есть, для каждой угрозы определяется список уязвимостей (таблица 1.1).
Таблица 1.1 – Взаимосвязь уязвимостей и угроз
Уязвимость | Угроза, использующая уязвимость |
Некорректно документированное программное обеспечение | Ошибка персонала технической поддержки |
Отсутствие проверки обрабатываемых данных | Искажение информации |
Неполные спецификации для разработчиков | Сбой программного обеспечения |
Недостаточная защита криптографических ключей | Раскрытие информации |
Неконтролируемое использование бесплатного программного обеспечения в корпоративных приложениях | Юридическая ответственность |
Неправильный выбор тестовых данных | Несанкционированный доступ к персональным данным |
ФСТЭК России были классифицированы угрозы в документе “Базовая модель угроз безопасности персональных данных при их обработке в информационных системах персональных данных”, а также на официальном сайте этой организации, в разделе техническая защита, существует банк данных угроз, где представлены на сегодняшний день 194 угрозы безопасности информации. Используя всю эту информацию, каждая организация создает свою модель угроз безопасности информации, которая необходима для определения требований к системе защиты информации.
Существует классификация угроз безопасности информации.
-
По виду защищаемой от УБИ:
– угрозы РИ;
– угрозы ВИ;
– угрозы информации, обрабатываемой в ТСОИ;
– угрозы информации, обрабатываемой в АС.
-
По видам возможных источников УБИ:
а) создаваемые нарушителем (физическим лицом):
1) создаваемые внутренним нарушителем;
2) создаваемые внешним нарушителем;
б) создаваемые аппаратной закладкой:
1) создаваемые встроенной закладкой;
2) создаваемые автономной закладкой;
в) создаваемые вредоносными программами:
1) программной закладкой, программой типа “Троянский конь”;
2) программным вирусом;
3) вредоносной программой, распространяющейся по сети (сетевым червем);
4) другими вредоносными программами, предназначенными для осуществления НСД (подбора паролей, удаленного доступа и др.).
-
По виду нарушаемого свойства информации:
– угрозы конфиденциальности (утечки, перехвата, съема, копирования, хищения, разглашения) информации;
– угрозы целостности (утраты, уничтожения, модификации) информации;
– угрозы доступности (блокирования) информации.
-
По типу ИС, на которые направлена реализация УБИ:
– УБИ, обрабатываемых в ИС на базе АРМ (с подключением и без подключения к вычислительной сети);
– УБИ, обрабатываемые в ИС на базе локальной вычислительной сети (с подключением и без подключения к распределенной вычислительной сети);
– УБИ, обрабатываемые в ИС на базе распределенных информационных систем (с подключением, без подключения к сети общего пользования).
-
По способам реализации УБИ:
а) угрозы специальных воздействий на ИС:
1) механического воздействия;
2) химического воздействия;
3) акустического воздействия;
4) биологического воздействия;
5) радиационного воздействия;
6) термического воздействия;
7) электромагнитного воздействия;
б) угрозы НСД в ИС:
1) угрозы, реализуемые с применением программных средств операционной системы;
2) угрозы, реализуемые с применением специально разработанного ПО;
3) угрозы, реализуемые с применением вредоносных программ;
в) угрозы утечки информации по техническим каналам:
1) по радиоканалу;
2) по электрическому каналу;
3) по оптическому каналу;
4) по акустическому (вибрационному) каналу;
5) по смешанным (параметрическим) каналам;
6) угрозы утечки РИ;
7) угрозы утечки ВИ;
8) угрозы утечки информации по каналам ПЭМИН.
-
По используемой уязвимости:
– с использованием уязвимости системного ПО;
– с использованием уязвимости прикладного ПО;
– с использованием уязвимости, вызванной наличием в АС аппаратной закладки;
– с использованием уязвимостей протоколов сетевого взаимодействия и каналов передачи данных;
– с использованием уязвимости, вызванной недостатками организации ТЗИ от НСД;
– с использованием уязвимостей, обусловливающих наличие технических каналов утечки информации;
– с использованием уязвимостей СЗИ.
-
По объекту воздействия:
а) УБИ, обрабатываемые на АРМ:
1) на отчуждаемых носителях информации;
2) на встроенных носителях долговременного хранения информации;
3) в средствах обработки и хранения оперативной информации;
4) в средствах (портах) ввода (вывода) информации;
б) УБИ, обрабатываемые в выделенных технических средствах обработки:
1) на принтера, плоттерах, графопостроителях и т.п.;
2) на выносных терминалах, мониторах, видеопроекторах;
3) в средствах звукоусиления, звуковоспроизведения;
в) УБИ, передаваемые по сетям связи:
1) УБИ при передаче сигналов по линиям связи;
2) УБИ при обработке пакетов в коммуникационных элементах информационно-телекоммуникационных систем;
г) угрозы прикладным программам, предназначенным для работы с информацией;
д) угрозы системному ПО, обеспечивающему функционирование ИС.
Используя классификацию угроз безопасности информации можно устранить определенными мероприятиями уязвимости, которые могут служить толчком нежелательного инцидента (рисунок 1.2), где по итогам, возможно, будет причинен ущерб организации. Сам же ущерб возникает из-за атаки на информацию, которая принадлежит организации и приводит к ее уничтожению, повреждению, недоступности, несанкционированному раскрытию, потери или модификации. Любые атаки нарушителей реализуются путём активизации той или иной уязвимости, которая присутствует в системе. Это в свою очередь создаёт условия для успешной реализации информационных атак на ИС.
Примерами уязвимостей могут являться некорректным образом составленная политика безопасности, отсутствие определённых средств защиты или ошибки в используемом ПО.
–Ошибки в программном обеспечении системы
–Неправильная конфигурация средств защиты
–Атаки, направленные на несанкционированную вставку команд в SQL-запросы
–Атаки, направленные на переполнение буфера
–Нарушение работоспособности ИС
Рисунок 1.2 – Потенциальные последствия уязвимостей ИС
-
Методы поиска уязвимостей в ПО
Для того чтобы оператор безопасности информации ИС смог обеспечить защищенность ИС, как говорилось ранее, проводится анализ защищенности ИС. Во время этого анализа защищенности определяются угрозы и уязвимости ИС, а для их определения используются различные методы поиска.
-
Ручной поиск
При данном методе основное исследование опирается на опыт уже предыдущих лет работы. При этом в том самом опыте немало важно знать шаблонные уязвимости, уметь читать дизассемблированный код, писать код для проверки предположений (например, о наличии в пользовательских сборках).
Существуют ключевые места, где вероятность присутствия уязвимости в данном участке кода является высокой (например, вызов небезопасных функций работы со строками (рисунок 1.3)). Если исследование этого места показало, что оно подвержено уязвимости, то необходимо выяснить, какая информация ведет к ее возникновению, и этот диапазон информации необходимо брать приближенным к максимуму.
Следующим шагом является отдаление от места уязвимости и попытка внедрения уязвимой информации в исследуемом месте при помощи содержимого памяти или регистров. Все это покажет, существует ли возможность распространения информации из текущего места к уязвимому.
Рисунок 1.3 – Перемещение вредоносных данных по разделам программы
-
Поиск по шаблонам
Поиск уязвимости по шаблону является автоматизированным методом, который основан на сравнении некоторых характеристик исследуемого ПО с заранее подготовленными описаниями (сигнатурами) уязвимых мест. Данный метод наиболее эффективен в случаях, когда идет поиск немаскируемых закладок и несложных уязвимостей (например, переполнение буфера, парольные константы).
Поиск уязвимостей по шаблонам проводится статически. При статическом анализе исследуется код программы не требующий запуска. Код сравнивается с сигнатурами из базы методом побайтового сравнения или по более сложному алгоритму. Когда сходства обнаруживаются, то сообщается найденная уязвимость.
Современные сканеры кода позволяют хорошо справляются с автоматизацией шаблонного поиска следующих типов уязвимостей:
– ошибки входных и выходных значений;
– внедрение произвольных команд;
– XSS-запросы (межсайтовый скриптинг);
– SQL-инъекции;
– уязвимости переполнения буфера.
Существует немало разработок, которые посвящены поиску шаблонов уязвимого кода: RATS, FlawFinder, Parasoft, PREfast, lint, Coverity, ITS4, а также продукты российского производства АИСТ-С, и АК-ВС. Все они поддерживают поиск ошибок в модулях исходного кода, написанных на одном из поддерживаемых языков.
-
Фаззинг (Fuzzing)
Одним из методов тестирования, который приобретает значительную популярность, является фаззинг (fuzzing).
Наиболее близким к этому термину является «анализ граничных значений», определяющий доступные диапазоны входных значений программы и тестирующий значения, которые выходят за этот диапазон, либо находятся на границе. Фаззинг же отличается тем, что на граничных значениях не сужает свое внимание. Также занимается подготовкой входных данных специального вида.
Для проведения фаззинга создано множество коммерческих и свободно распространяемых программных продуктов: PROTOS SNMP, Protos Test Suites, SPIKEfile, SPIKE, Codenomican, AxMan.
Подход к фаззингу разделяют на два класса, зависимость которых идет от метода генерации данных:
– мутация данных. Новые данные получаются за счет незначительных изменений существующих данных;
– генерирование данных. Данные подготавливаются «с нуля» на основе протоколов или в соответствие с заданными правилами.
Следующие типы фаззинга, так или иначе, относятся к одному из вышеперечисленных классов:
– использование случайных данных. Это наименее эффективный из возможных подходов. Целевой программе передается большое количество случайных данных, из-за чего при возникновении сбоя очень трудно найти настоящую причину;
– использование заранее подготовленных тестовых данных. Используется для тестирования реализаций протоколов. Вместе с формальным описанием протокола разработчик может подготовить ряд тестовых данных, которые должны соответствующим образом обрабатываться программой, реализующей протокол;
– ручное изменение данных протокола. Исследователю известен протокол и он пытается добиться аномального поведения исследуемого ПО за счет внесения ошибочных данных. За счет отсутствия автоматизации мало эффективен;
– полный перебор мутаций данных, подготовленных в соответствие с протоколом. Подход уменьшает объем тестов за счет использования знаний о протоколе. Однако в данные вносятся все возможные мутации и за счет этого объем данных велик.