Проектирование локальной вычислительной сети на основе PLC-технологии с использованием сетей Петри

Основные принципы организации сетей абонентского доступа на базе PLC-технологии. Угрозы локальным сетям, политика безопасности при использовании технологии PLC. Анализ функционирования PLC здания инженерно-внедренческого центра ООО "НПП "Интепс Ком".

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 25.11.2012
Размер файла 3,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Поскольку в дискретно-событийной модели все изменения происходят только во время возникновения событий, периоды бездействия системы пропускаются, и часы переводятся со времени возникновения одного события на время возникновения другого. Отметим, что при продвижении времени с постоянным шагом такие периоды бездействия не пропускаются, что приводит к большим затратам компьютерного времени, поэтому такой подход используется гораздо реже (29, стр.66).

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

состояние системы - совокупность переменных состояния, необходимых для описания системы в определенный момент времени;

часы модельного времени-переменная, указывающая текущее значение модельного времени;

список событий-список, содержащий время возникновения каждого последующего типа событий;

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

алгоритм инициализации - алгоритм, устанавливающий модель в исходное состояние модель в момент времени, равный 0;

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

алгоритм обработки событий-алгоритм, обновляющий состояние системы, когда происходит событие определенного типа, причем для каждого типа событий существует отдельная программа обработки событий;

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

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

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

Основные действия, производимые при логическом моделировании идентичны для всех уровней абстракции моделируемых схем и моделей дискретного времени. Каждый элемент схемы имеет, по крайней мере, один вход и, по крайней мере, один выход, а также своё внутреннее состояние, зависящее от времени. Входы и выходы различных элементов схемы соединены между собой проводниками, по которым распространяются значения сигналов на входах и выходах элементов. Значения сигналов могут изменяться в дискретные моменты времени. Проводники в системе моделирования реализуются как узлы, в которых хранится текущее значение сигнала проводника и, возможно, будущее изменение этого сигнала. На значение сигнала в проводнике могут оказывать влияние выходы сразу нескольких элементов схемы, соединённые с этим проводником. По этой причине, узел должен отделять значения сигналов подаваемых на выходы связанных с ним элементов от входов связанных с ним элементов.

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

Для простоты, внешние входы элементов (контакты микросхемы) рассматриваются как узлы, которые управляют соединёнными с ними элементами схемы, подавая на них значения сигналов с внешних выводов.

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

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

Размещено на http://www.allbest.ru/

8

Рисунок 3.2 - Основная процедура моделирования.

Моделирование схемы заканчивается только тогда, когда на очередном цикле моделирования не произошло никаких изменений, или когда выполняется предопределённое условие завершения (например, время моделирования достигнет некоторого предельного значения).

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

Основным критерием, по которому отличают различные стратегии моделирования, является способ, которым осуществляется продвижение по модельному времени. В соответствии с этим все методы моделирования можно разделить на два класса (18, стр.103):

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

Этот метод является наиболее простым способом моделирования. Продвижение по модельному времени при таком способе моделирования, как правило, осуществляется на одинаковые интервалы. Для каждого такого интервала модельного времени происходит моделирование всех элементов схемы. Новые состояния элементов и значения сигналов сохраняются в переменных, и которые будут использоваться на следующем шаге модельного времени в качестве старых состояний элементов и значений сигналов. Третий этап цикла моделирования основной схемы вырождается в планирование на моделирование всех элементов схемы. Однако, эта стратегия может быть оптимизирована, путём моделирования только тех элементов схемы, для которых значения сигналов на входах были изменены на предыдущем шаге модельного времени. Эта оптимизированная стратегия также известна как синхронное моделирование, управляемое событиями.

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

Моделирование, управляемое событиями: Основным недостатком моделирования, управляемого временем является существование множества холостых шагов модельного времени (в течение которых не происходило никаких изменений в состояниях элементов или значений сигналов). Поэтому много времен расходуется на моделирование элементов, которые не изменяют своё состояние и значения сигналов, и на проверку того, произошли ли в схеме изменения, по сравнению с предыдущим шагом, или нет. Этот недостаток устраняется при моделировании, управляемом событиями, при котором изменения сигналов моделируются как события, связанные с определёнными шагами модельного времени. Шаги модельного времени указывают, на то, когда должны произойти эти события. Для сохранения последовательности событий во времени при моделировании, управляемом событиями, события всегда моделируются в порядке увеличения модельного времени. Таким образом, интервалы модельного времени, в течение которых не происходит никаких изменений в схеме, не моделируются, что обычно приводит к более быстрому моделированию.

Все методы распараллеливания логического моделирования могут быть разделены на два класса: методы синхронного и асинхронного параллельного логического моделирования.

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

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

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

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

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

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

В случае параллельного логического моделирования, события отражают изменения сигналов, которые управляют или управляются элементами схемы. Так как обычно сигналы реализуются как узлы, то изменения сигналов, которые оказывают влияние на другие части схемы, должны также распространяться через узлы. Это означает, что узлы сами могут быть распределенными, если их входы и выходы соединяют части схемы, обрабатываемые различными ЛП (11, стр.312). Таким образом, в качестве таких распределённых узлов выступают создаваемые и пересылаемые сообщения для передачи изменений сигналов на удалённые части схемы.

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

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

При последовательном моделировании событие с временем наступления t1 не может обрабатываться раньше события с временем наступления t2 если t2 < t1. Т.е. при последовательном моделировании порядок обработки событий соответствует времени их наступления. Это означает, что все события ei, которые могут оказать влияние на событие ej, обрабатываются перед обработкой события ej. Таким образом, при моделировании соблюдаются последовательность событий и зависимости между ними имеющие место в реальной системе. Для событий имеющих одинаковое время наступления должны использоваться подходы, гарантирующие определённость и повторяемость. Для простоты далее будет подразумеваться, что при моделировании не может возникнуть двух событий с одинаковыми временами наступления.

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

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

При консервативном подходе, локальные события обрабатываются только в том случае, когда ЛП точно уверен в том, что для него не поступят прошедшие удалённые события с других ЛП (т.е. удалённые события, имеющие время наступления меньше чем локальное модельное время). Это может быть достигнуто с помощью установления логических каналов между логическими процессами, которые могут планировать удалённые события друг для друга. Каждый раз, когда логический процесс планирует удалённое событие для другого логического процесса, часы канала устанавливаются на наименьшее значение локального модельного времени для обоих логических процессов. Так как логические процессы обрабатывают события только в порядке увеличения времени их наступления, и запланированные удалённые сообщения всегда имеют время наступления большее времени установленного в логическом канале, то значение часов логического канала не может уменьшаться. В случае, если логические каналы не получают сообщения в порядке FIFO, должны быть предусмотрены дополнительные действия для предотвращения уменьшения значения часов логического канала, так как это может нарушить консервативный подход. Перед обработкой очередного события логический процесс сверяет время наступления этого события с показаниями часов связанных с ним логических каналов. Если время наступления события является наименьшим, то данному логическому процессу не может быть запланировано более раннее удалённое событие, и ЛП обрабатывает очередное событие. В противном случае, логическому процессу может быть запланировано более раннее удалённое событие, и логический процесс должен быть заблокирован до тех пор, пока значения часов всех его каналов не станут больше времени наступления очередного события.

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

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

Наиболее известным примером оптимистического метода является метод Деформации Времени (Time Warp). Этот метод был разработан для случая, когда несколько ЛП взаимодействуют между собой при помощи сообщений. Во время отката изменения, сделанные в удалённых логических процессах, отменяются с помощью посылки им антисообщений для неверных удалённых событий, Локальные процессы сохраняют список своих входных сообщений до тех пор, пока не обработаются события, связанные с этими сообщениями. Если антисообщение находит соответствующее ему необработанное сообщение, то оба сообщения удаляются. Если сообщение, соответствующее полученному антисообщению, уже обработано, то необходимо также выполнить откат ЛП, получившего это антисообщение. Это может привести к последовательности откатов. Существует несколько методов оптимизации для избегания слишком длинных цепочек откатов, которые могут сделать оптимистический подход неэффективным. Необходимо отметить, что время, затраченное на обработку предполагаемых событий при оптимистическом подходе, может быть бесполезно потрачено при консервативном подходе из-за блокировки, вызванной ожиданием новых событий или тупиками и их разрешением.

3.2 Имитационное моделирование информационных атак на ЛВС

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

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

В общем случае в любой атаке можно выделить четыре стадии (рис.3.3.) (35, стр.56-605).

Рис.3.3 Жизненный цикл типовой атаки.

Рекогносцировка. На этой стадии нарушитель старается получить как можно больше информации об объекте атаки, чтобы на ее основе спланировать дальнейшие этапы вторжения. Этим целям может служить, например, информация о типе и версии ОС, установленной на хостах ИС; список пользователей, зарегистрированных в системе; сведения об используемом прикладном ПО и т.д.

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

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

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

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

Для получения информации о структуре и топологии системы нарушитель может воспользоваться стандартными утилитами, такими, как traceroute, входящими в состав практически любой ОС, которые позволяют сформировать список IP-адресов транзитных маршрутизаторов вплоть до хоста-объекта нападения. Информацию о структуре ИС злоумышленник может получить и путем обращения к DNS-серверу.

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

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

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

На стадии атакующего воздействия нарушитель выполняет те действия, которые и составляют цель атаки, - например, извлекает из СУБД атакованного хоста номера кредитных карточек или другую конфиденциальную информацию.

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

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

Размещено на http://www.allbest.ru/

8

Рис.3.4 Схема процесса обнаружения информационной атаки.

Для сбора исходной информации традиционно используют специализированные датчики СОА (системы обнаружения атаки), размещаемые на разных элементах ИС. Напомним, что существуют два типа таких датчиков - сетевые и хостовые. Первые предназначены для сбора информации о пакетах данных, передаваемых в тех сегментах ИС, где они установлены. Хостовые же датчики размещаются на определенных компьютерах и собирают информацию о событиях, возникающих на этих компьютерах (например, сведения о сетевом трафике, поступающем на хост, или системных событиях, регистрируемых в журналах аудита ОС). При этом один узел может отслеживаться сразу несколькими хостовыми датчиками, каждый из которых предназначен для сбора определенной информации (35, стр.79-81).

Анализ данных, собранных сетевыми и хостовыми датчиками, проводится в СОА с использованием специальных методов выявления атак. Существуют две основные группы таких методов - сигнатурные и поведенческие. Для того, чтобы лучше понять специфику обоих методов, рассмотрим их конкретные примеры, реализованные в современных СОА.

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

Среди сигнатурных методов выявления атак наиболее распространен метод контекстного поиска, который заключается в обнаружении в исходной информации определенного множества символов. Так, для выявления атаки на Web-сервер, направленной на получение несанкционированного доступа к файлу паролей, проводится поиск последовательности символов "GET */etc/passwd" в заголовке HTTP-запроса.

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

В ряде академических СОА были реализованы еще два сигнатурных метода: анализа состояний и метод, базирующийся на экспертных системах.

Метод анализа состояний основан на формировании сигнатуры атак в виде последовательности переходов ИС из одного состояния в другое. По сути, каждый такой переход определяется по наступлению в ИС определенного события, а набор этих событий задается параметрами сигнатуры атаки. Как правило, сигнатуры атак, созданные на основе анализа состояний, описываются математическими моделями, базирующимися на теории конечных автоматов или сетей Петри. На рис.3.5 показана сеть Петри, описывающая сигнатуру атаки, которая выполняет подбор пароля для получения несанкционированного доступа к ресурсам ИС. Каждый переход ИС в новое состояние в этой сети Петри связан с попыткой ввода пароля. Если пользователь в течение 1 мин четыре раза подряд введет неправильный пароль, то метод зафиксирует факт осуществления атаки (См.38).

Размещено на http://www.allbest.ru/

8

Рис.3.5 Сеть Петри, описывающая сигнатуру атаки, осуществляющей подбор пароля.

Методы, базирующиеся на экспертных системах, позволяют описывать модели атак на естественном языке с высоким уровнем абстракции. Экспертная система, лежащая в основе методов этого типа, состоит из двух баз данных: фактов и правил. Факты представляют собой исходные данные о работе ИС, а правила - алгоритмы логических решений о факте атаки на основе поступившего набора фактов. Все правила экспертной системы записываются в формате "если <. >, то <. >". Результирующая база правил должна описывать характерные признаки атак, которые обязана обнаруживать СОА.

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

Нейросетевой метод основан на создании сети взаимосвязанных друг с другом искусственных нейронов, каждый из которых представляет собой пороговый сумматор атак. После создания нейросеть проходит период "обучения", в течение которого она учится распознавать определенные типы атак: на ее вход подаются данные, указывающие на определенную атаку, после чего параметры нейросети настраиваются таким образом, чтобы на выходе она смогла определить тип этой атаки. Проблема данного метода состоит в том, что, прежде чем использующее его средство СОА сможет выявлять большое количество атак, необходим чрезвычайно длительный период обучения на большом количестве примеров. На сегодняшний день все методы, базирующиеся на биологических моделях, находятся в стадии исследования и коммерческого применения не имеют.

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

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

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

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

Рис.3.6 Многоуровневая схема обнаружения атак в ИС.

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

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

Таблица 3.1 Применимость сигнатурного и поведенческого методов для обнаружения различных стадий атак (См.38)

Стадия атаки

Сигнатурный метод

Поведенческий метод

Рекогносцировка

+, СХ

-

Вторжение в ИС

+, СХ

+, СХ

Атакующее воздействие

-

+, Х

Развитие атаки

-

+, Х

Примечание: + - метод применим; - метод неприменим; СХ - используются сетевые и хостовые датчики; Х - только хостовые датчики

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

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

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

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

3.3 Сети Петри как инструмент имитационного моделирования

Сеть Петри состоит из трех элементов: множество мест , множество переходов и отношение инцидентности (20, стр.21-33).

Определение: Простой сетью Петри называется набор , где

1. - множество мест;

2. - множество переходов таких, что .

3. - отношение инцидентности такое, что

(а) ;

(б)

Условия в пункте 3 говорят, что для каждого перехода существует единственный элемент , задающий для него входное мультимножество мест и выходное мультимножество . Дадим определение входному и выходному мультимножеству.

Определение (20, стр.24): Входное и выходное мультимножества мест и переходов

Пусть задана сеть .

1. Если для некоторого перехода имеем , то будем обозначать ;

2. .

Будем говорить, что - входные, а - выходные места перехода . Таким образом, согласно определению, справедливо . Далее будем говорить, что место инцидентно переходу если или .

Расширим функции и на мультимножества переходов. Пусть есть мультимножество переходов такое, что . Тогда положим

.

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

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

Определение (20, стр.36): Маркированной сетью Петри называется набор , где

1. - сеть;

2. - начальная маркировка.

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

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

Определение (20, стр.37): Правило срабатывания переходов

Пусть маркированная сеть.

1. Переход считается возбужденным при маркировке , если ;

2. Переход , возбужденный при маркировке , может сработать, приведя к новой маркировке , которая вычисляется по правилу: . Срабатывание перехода обозначается как .

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

Моделирование в сетях Петри осуществляется на событийном уровне. Определяются, какие действия происходят в системе, какие состояние предшествовали этим действиям и какие состояния примет система после выполнения действия. Выполнения событийной модели в сетях Петри описывает поведение системы. Анализ результатов выполнения может сказать о том, в каких состояниях пребывала или не пребывала система, какие состояния в принципе не достижимы.

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

Определение (20, стр.38): Определение T-точки доступа.

Пусть задана сеть и некоторый алфавит . Т-точкой доступа называется набор , где

1. - имя (идентификатор) t-точки доступа;

2. - некоторый алфавит;

3. - пометочная функция, где . Запись обозначает множество всех конечных и непустых мультимножеств, определённых на множестве .

Определение (20, стр.39): Определение S-точки доступа

Пусть задана сеть . Тогда s-точкой доступа сети N называется набор , где

1. - имя (идентификатор) s-точки доступа;

2. - множество такое, что .

Введённые понятия точек доступа предоставляют возможность ввести две основные операции над сетями Петри для построения композициональных сетей:

1. Операция слияния переходов - позволяет порождать и описывать синхронизацию параллельных процессов (tmerge);

2. Операция слияния мест - позволяет применять к сетям операции последовательной композиции, выбора, итерации и другие (smerge).

Приведённые операции имеют следующий смысл:

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

При слиянии переходов - определяется алфавит событий, видимых из t-точки доступа. Каждый переход в сети помечается либо невидимым событием, либо комбинацией событий из алфавита точки доступа. Слияние по переходам производится так, что если при срабатывании одной сети возникает некоторая комбинация событий, то эта же комбинация событий происходит во второй сети.

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

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

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

Безопасность - частный случай ограниченности, а именно это

1-ограниченность. Если для некоторой позиции установлено, что она безопасна, то ее можно представлять одним триггером.

Сохраняемость характеризуется постоянством загрузки ресурсов, т.е.

? Аi Ni = const,

где Ni - число маркеров в i-й позиции; Аi - весовой коэффициент.

Достижимость Мk > Мj характеризуется возможностью достижения маркировки Мj из состояния сети, характеризуемого маркировкой Мk.

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

В основе исследования перечисленных свойств сетей Петри лежит анализ достижимости.

Один из методов анализа достижимости любой маркировки из состояния М0 - построение графа достижимости. Начальная вершина графа отображает М0, а остальные вершины соответствуют другим маркировкам. Дуга из Мi в Мj означает событие Мi > Мj и соответствует срабатыванию перехода t. В сложных сетях граф может содержать чрезмерно большое число вершин и дуг. Однако при построении графа можно не отображать все вершины, так как многие из них являются дублями (действительно, от маркировки Mt всегда порождается один и тот же подграф независимо от того, из какого состояния система пришла в Мk). Тупики обнаруживаются по отсутствию разрешенных переходов из какой-либо вершины, т.е. по наличию листьев - терминальных вершин. Неограниченный рост числа маркеров в какой-либо позиции свидетельствует о нарушениях ограниченности.

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

В сети Петри условия моделируются позициями, события - переходами. При этом входы перехода являются предусловиями соответствующего события; выходы - постусловиями. Возникновение события моделируется запуском соответствующего перехода. Выполнение условия представляется фишкой в позиции, соответствующей этому условию. Запуск перехода удаляяет фишки, представляющие выполнение предусловий и образует новые фишки, которые представляют выполнение постусловий.

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

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

3.4 Реализация модели безопасности для ЛВС на основе PLC технологии с использованием сетей Петри

3.4.1 Реализация сетями Петри основных логических элементов

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

1. Разработка модели выявления угрозы несанкционированного доступа к сети

2. Разработка модели блокирования канала поднесущей частоты в случае существенного отклонения показателей работы сети от штатных и перенаправления отправки пакетов по незатронутым атакой каналам

Заметим, что фактически только данные модели для технологии PLC имеют существенные отличия по сравнению с другими типами ЛВС.

Для того, чтобы с помощью сетей Петри решать такие достаточно сложные вопросы (а в случае, если в составе сети имеются десятки рабочих станций и несколько серверов, даже для сетей Петри наглядное представление модели вряд ли возможно), необходимо научиться строить с использованием механизма сетей Петри сначала простые логические элементы. В качестве такого универсального элемента выберем логический элемент И-НЕ. Известно, что одного такого элемента достаточно для моделирования с его помощью любых, сколь угодно сложных, логических функций. Кроме того, элемент И-НЕ лежит в основе конструкции такого объекта, как RS-триггер, одного из базисных элементов, позволяющего строить сложные параллельные модели процессов на стандартной элементной базе (37, стр.309-314).

На рис.3.7 представлена модель элемента И-НЕ в форме сети Петри. Ее места моделируют состояние выхода элемента. Наличие фишки соответствует наличию на выходе сигнала (на рисунке имена состояний выхода элемента проставлены рядом с соответствующими местами).

Заранее зная, что моделируемый элемент будет взаимодействовать с другой сетью Петри, мы один из входов элемента моделируем состояниями соседней сети. Другой вход - потенциальный. Это должен быть вход R или S триггера. Его состояния, как и состояния выходов, моделируются специально для этого введенными местами.

На графе они изображены в форме эллипсов. Присутствие фишки здесь означает наличие на входе/выходе сигнала. Имя сигнала проставлено внутри места.

Размещено на http://www.allbest.ru/

8

Рис.3.7 Модель И-НЕ в виде сети Петри

Так как внешняя информация приходит на переходы модели, то извне она будет поступать от мест. Элемент также выдает информацию во внешнюю среду. Т.к. она снимается с мест сети Петри, то должна поступать на переходы внешней модели. Такие условия - следствие вида графа Петри (его функции инцидентности), где дуги могут соединять между собой только переход и место или место и переход, но ни как ни другую их комбинацию. Для дальнейших построений нам понадобится реализовать с использованием сетей Петри логические функции max и min двух булевых аргументов, значениями которых соответственно являются максимальное и минимальное значения аргументов. Для алгебры логики хорошо известно (22, стр.21-33), что Max (x,y) =xy, Min (x,y) =xy, а построенная ранее схема И-НЕ реализует т. н. функцию стрелка Пирса xy. При этом имеют место соотношения:


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.