2) к - факториал некоторого числа
3) Перебор различных степеней простых чисел
4) к - наименьшее общее кратное нескольких чисел
После анализа работы программы с этими подходами были отклонены первые два метода, поскольку в этих случаях факторизация числа занимала значительно больше времени (уже на 5-8-значных числах приблизительно в 100 раз больше чем на других методах) и давала меньшую эффективность нахождения делителей. Был отклонен и последний метод, поскольку давал меньше удачных разложений, чем метод перебора степеней простых чисел. Так же в программу был добавлен модуль, проводящий тестирование на простоту разлагаемого числа по алгоритму Рабина-Миллера. Это увеличивает время обработки каждого числа, но существенно уменьшает время работы программы в целом при сборе статистики.
Рассмотрим три случая:
1) К = 'р — 1, т. е. к- произведение всех делителей (р — 1) и не имеет больше никаких делителей. В этом случае программа находит делитель, не равный 1 или N.
2) к = (р - Сг - т- е- Ь содержит все делители (р — 1). еще какие-то множители, но не содержит всех делителей (д — 1) . В этом случае программа так же находит делитель, не равный 1 или N.
3) й = (р — , т. е. к содержит не все делители р — "1. При таком к результат работы программы равен 1, необходимо изменить параметры алгоритма.
Таким образом, для удачного нахождения делителя /V параметр к нужно выбрать так, чтобы К являлся произведением всех делителей (р — 1), и, возможно еще каких-то множителей. При этом к не должно содержать всех делителей (р — 1) и (с£ — 1]) одновременно.
Можно оценить параметр к , исходя из значения N : максимальный простой множитель к будет равен
Такой подход хорошо работает на сравнительно
небольших числах. Однако при увеличении числа N , число необходимых простых множителей к растет слишком быстро, что приводит к увеличению времени работы программы.
Увеличение числа к может происходить в двух направлениях:
1) увеличения количества простых множителей, входящих в
2) увеличение степеней простых множителей, с которыми они входят в к-
Предлагается следующий алгоритм выбора к в процессе работы программы:
Пусть к - функция от двух переменных: I - количество простых; а - максимальная степень каждого простого.
к = Г&а) = рЖ-рГ
Здесь рассматривается увеличение к только по одному из параметров - количеству простых (I): а пока будет одинаковой для всех простых, входящих в состав к ■
Идея такого выбора к состоит в том, чтобы выбрать не слишком большое и не слишком малое к, исходя из результатов работы программы (при слишком малом значение результатом работы является 1, а при слишком большом - N).
Пока результат работы алгоритма равен 1, А с каждым шагом увеличивается вдвое. Как только результат работы становится равен N. к уменьшается. Далее, в зависимости от результатов может уменьшаться или увеличиваться, пока не будет найден делитель, не равный 1 или Лт .
Предложенный в данной работе способ оптимизации алгоритма Полларда значительно уменьшает время расчета.
Библиографическая ссылка
1. Маховенко Е. Б. Теоретико-числовые алгоритмы в криптографии. М. : Гелиос АРВ, 2006.
© Климина А. С., 2013
УДК 004.056
Н. А. Коромыслов Научный руководитель - В. Г. Жуков Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
О ВЫЯВЛЕНИИ АНОМАЛИЙ В СЕТЕВОМ ТРАФИКЕ ИСКУССТВЕННЫМИ ИММУННЫМИ СИСТЕМАМИ*
Рассматривается проблема выявления аномалий в сетевом трафике и возможность ее решения путем применения аппарата искусственных иммунных систем.
*
Работа поддержана грантом Президента молодым кандидатам наук МК-473.2013.9.
Актуальные проблемы авиации и космонавтики. Информационные технологии
Угрозы информационной безопасности, реализуемые по сети, как и другие угрозы информационной безопасности, можно разделить на две большие группы: известные и неизвестные. Системы, выявляющие аномалии в сетевом трафике, должны быть ориентированы на обнаружение угроз обеих групп.
Для успешного обнаружения угроз, встречавшихся ранее, система обнаружения должна иметь модуль, который, основываясь на предыдущем опыте, на обнаруженных ранее атаках, выявляет схожее поведение или сигнатуру во вновь поступающем сетевом трафике. Для обнаружения новых угроз, в системе необходимо использовать методы, обнаруживающие отклонения от «нормального», штатного поведения.
Иммунная система человека способна эффективно распознавать чужие клетки, как существующие в природе, так и выведенные в лаборатории. Системы, основанные на принципах функционирования иммунной системы человека, представляют большой интерес в тех областях, где необходима классификация «свой - чужой».
Одним из наиболее часто применяемых алгоритмов, основанных на принципах функционирования иммунной системы человека, является алгоритм отрицательного отбора для обнаружения аномалий, построенный на основе принципов распознавания своего и чужого в системе иммунитета, который можно формализовать следующим образом:
- Определим свое как совокупность S строк длины l над конечным алфавитом, которую необходимо защищать или контролировать. Например, в качестве S могут выступать программа, файл данных (любое программное обеспечение) или нормальная форма активности, подразделяемые на подстроки.
- Образуем набор детекторов R, каждый из которых не должен соответствовать любой строке в S. Вместо точного, или идеального, соответствия используем правило частичного соответствия, при котором две строки соответствуют друг другу, если и только если они совпадают, по крайней мере, в r следующих друг за другом позициях, где r - некоторый целочисленный параметр.
- Проверим S на предмет изменений путем непрерывного сравнения детекторов из R с элементами S. Если хотя бы один из детекторов окажется соответствующим, значит, произошло изменение, поскольку детекторы по определению отобраны так, чтобы не соответствовать любой строке из S [1].
Однако, в таком виде алгоритм не подходит для систем, выявляющих аномалии в сетевом трафике в реальном времени. Это из-за того, что алгоритм является ресурсозатратным, т. е. требуется большое количество детекторов для эффективного обнаружения [2].
Для тестирования системы обнаружения сетевых аномалий предлагается использовать набор данных о состоянии сети «KDD Dataset» (каждая запись определена как соответствующая нормальному состоянию сети или какому-либо типу атаки), либо «NSL-KDD Dataset», содержащий меньшее число записей, однако сохраняющий количественные пропорции «нормальных» записей и записей об атаках.
Предлагается следующая система выявления аномалий.
1. Обучающий набор данных разбивается на два набора: набор, содержащий записи, соответствующие штатному состоянию сети и набор с записями о различных атаках.
2. Половина детекторов генерируется путем случайных изменений в наборе с записями об атаках, таким образом, получая детекторы, схожие с различными записями об атаках, причем количество детекторов каждого типа должно быть пропорционально количеству записей о каждом типе атак. Все детекторы проверяются на частичное соответствие записям о «нормальном» состоянии сети.
3. Вторая половина генерируется случайным образом и проверяется на частичное соответствие записям, соответствующим штатной работе сети. Это делается для того, чтобы итоговый набор детекторов был способен обнаруживать как уже известные угрозы, так и новые аномалии.
4. Все детекторы, среагировавшие на «нормальные» записи, удаляются из набора и заменяются новыми.
5. Готовый набор детекторов проверяется на тестовом множестве. Одновременно происходит как проверка количества обнаружений, так и проверка количества ложных срабатываний (когда детектор считает аномальной запись о штатной работе сети).
Это общее описание системы, возможны следующие модификации системы:
а) для избавления от избыточной информации, а, следовательно, и ускорения работы системы целесообразно использовать не все сорок один параметры, удалив из набора те, которые всегда принимают одно и то же значение, как неинформативные. Кроме того, в работе Муккамалы [3] показано, что 13 параметров являются наиболее значимыми.
б) для того, чтобы не было привязки к строгому формату записей в наборах, возможно использовать различные преобразования данных (как исходных строк, так и детекторов), например, хеширование.
в) возможно изменение исходного алгоритма за счет применения аппарата нечеткой логики, для уменьшения требуемого числа детекторов [4].
Применение детекторов, основанных как на «нормальном», так и на аномальном сетевом трафике, позволит обнаруживать не только известные атаки, но и аномалии, которые нельзя отнести к уже известным типам атак.
Библиографические ссылки
1. Forrest S., Perelson A. S., Allen L., Cherukuri R. Self-nonself discrimination in a computer // In: Proc. of IEEE symposium on research in security and privacy, Oakland.
2. Жукова М. Н., Коромыслов Н. А. О применении нечетких искусственных иммунных систем в задаче построения адаптивных самообучающихся систем защиты информации // сб. тр. XV Междунар. науч. конф. «Решетневские чтения» ; СибГАУ. Красноярск, 2011.
3. Mukkamala S., Janoski G., Sung A. Intrusion Detection: Support Vector Machines and Neural Networks // Proc. of International symposium on applications and the internet technology, Orlando.
4. Жуков В. Г., Жукова М. Н., Коромыслов Н. А. Применение нечетких искусственных иммунных сис-
тем в задаче построения адаптивных самообучающихся средств защиты информации // Вестник Сиб-ГАУ. Вып. 1(41) Красноярск, 2012.
© Коромыслов Н. А., 2013
УДК 004.056
М. В. Купрюхина Научный руководитель - И. А. Лубкин Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск
РАЗРАБОТКА МЕТОДИКИ ДИНАМИЧЕСКОГО КОНТРОЛЯ ЦЕЛОСТНОСТИ ПРОГРАММНОЙ СРЕДЫ ДЛЯ ПРИМЕНЕНИЯ В АС КЛАССА 1А
Описывается методика динамического контроля целостности программной среды. Данная методика разрабатывается в соответствии с требованиями РДГТК «Автоматизированные системы. Защита от несанкционированного доступа. Классификация автоматизированных систем и требования по защите информации», которые предъявляются к компоненту обеспечения целостности в АС класса 1А.
Для обеспечения безопасности информации необходимо использование комплексных мер, включающих в себя программные, аппаратные, программно-аппаратные средства защиты, а также организационные и правовые аспекты.
Согласно РД ГТК «Автоматизированные системы. Защита от несанкционированного доступа. Классификация автоматизированных систем и требования по защите информации» к подсистеме обеспечения целостности АС класса 1А предъявляется следующее требование: «должна быть обеспечена целостность программных средств СЗИ НСД, а также неизменность программной среды. При этом: целостность СЗИ НСД проверяется по имитовставкам алгоритма ГОСТ 28147-89 или по контрольным суммам другого аттестованного алгоритма всех компонент СЗИ как в процессе загрузки, так и динамически в процессе функционирования АС» [1, с. 13].
Различные варианты контроля неизменности программной среды, реализованные в ряде программных средств с помощью механизма ЗПС, позволяют осуществить проверку исполнимого файла только в момент запуска приложения и не обеспечивают контроль целостности в процессе функционирования программы. Это является существенным недостатком систем защиты, основанных на ЗПС.
Для контроля целостности программных средств в процессе их функционирования существуют эвристические методы, однако данные методы не обеспечивают неизменность программной среды. Реализованные эвристические механизмы, с помощью которых осуществляется контроль, не достаточно эффективны в борьбе с внедрением вредоносного кода в виртуальное адресное пространство процесса.
Таким образом, стоит задача разработки методики, удовлетворяющей требованию РД ГТК для компонента целостности в АС класса 1А, которое заключается в осуществлении контроля неизменности программной среды и контроля целостности процессов как в момент запуска, так и во время их функционирования.
Цель разработки методики - повышение эффективности программной защиты АС класса 1А.
Задачи, которые решаются при разработке методики:
- контроль целостности процессов при запуске;
- обеспечение неизменности программной среды;
- контроль целостности процессов во время функционирования приложений.
Поскольку СЗИ НСД работают непосредственно в АС, то существует необходимость контроля целостности не только всех компонент СЗИ, но и компонент самой АС.
Контроль целостности процессов в момент запуска реализуется с помощью механизма автоматической загрузки модуля, который получает контрольные характеристики текущего процесса и ищет информацию о нем в базе разрешенных процессов.
Контроль неизменности программной среды обеспечивается принятием решения о запуске либо завершении программы по результатам проверки контроля целостности и наличия приложения в базе разрешенных процессов во время запуска программы до момента передачи ей управления.
Контроль целостности процессов во время функционирования осуществляется в результате периодического получения контрольных характеристик содержимого памяти всех активных процессов и ее сравнения с контрольными параметрами в базе разрешенных процессов.
Контрольные характеристики включают в себя параметры процессов и их модулей, а также параметры секций кода, что позволяет отследить модификацию ВАП процессов во время их функционирования и усилить механизм контроля целостности.
Согласно РД ГТК «Автоматизированные системы. Защита от несанкционированного доступа. Классификация автоматизированных систем и требования по защите информации» целостность СЗИ НСД должна проверяться по имитовставкам алгоритма ГОСТ 28147-89 или по контрольным суммам другого аттестованного алгоритма [1, с 13].