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

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

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

В этой статье рассматривается проблема отказоу­стойчивости серверных узлов распределенных ин­формационных систем в открытой среде передачи данных.

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

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

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

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

Решение проблемы позволяет значительно повы­сить эффективность работы серверов и всей сети в це­лом, обеспечить клиентам требуемый сервис, снизить затраты на создание и эксплуатацию системы.

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

Задачи, подлежащие решению:

  • Необходим анализ существующих методов опре­деления сетевых атак на распределенные информа­ционные системы.

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

Надежность принято характеризовать вероятно­стью отказа в работе (или вероятностью безотказной работы) в течение определенного отрезка времени. Другой характеристикой надежности системы явля­ется среднее время наработки на отказ.

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

Информационная безопасность — состояние за­щищенности информационной среды, обеспечиваю­щее ее формирование, использование и развитие.

В качестве стандартной модели безопасности ча­сто приводят модель CIA:

  • конфиденциальность информации — confidentiality (обязательное для выполнения лицом, получившим доступ к определенной информации, требование не передавать такую информацию третьим лицам без со­гласия ее владельца);
  • целостность (integrity);
  • доступность (availability).

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

Выделяют и другие категории:

  • аутентичность — возможность установления ав­тора информации;
  • апеллируемость — возможность доказать что ав­тором является именно заявленный человек, и никто другой.

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

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

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

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

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

Таким образом, проблемы надежности и безопас­ности во многом родственны. Они связаны с вмеша­тельством в функционирование системы. Различие заключается в том, что ненадежность определяется физическими, природными факторами и не связана с чьими-то целями. Небезопасность определяется, в основном, «человеческим фактором» — наличием злоу­мышленников и/или беспечных сотрудников. Но одна из проблем безопасности — утечка информации при несанкционированном доступе — не имеет аналога среди проблем надежности.

DoS-атака (Denial of Service, отказ в обслуживании) — атака на вычислительную систему с целью выве­сти её из строя, то есть создание таких условий, при которых пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён. Если атака выполняется одно­временно с большого числа компьютеров, говорят о DDoS-атаке (Distributed Denial of Service, распределён­ная атака типа «отказ в обслуживании»).

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

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

  • Smurf — ping-запросы ICMP (Internet Control Message Protocol) по адресу направленной широко­вещательной рассылки. Используемый в пакетах это­го запроса фальшивый адрес источника в результате оказывается мишенью атаки. Системы, получившие направленный широковещательный ping-запрос, от­вечают на него и «затапливают» сеть, в которой нахо­дится сервер-мишень.
  • ICMP flood — атака, аналогичная Smurf, только без усиления, создаваемого запросами по направленному широковещательному адресу.
  • UDP flood — отправка на адрес системы-мишени множества пакетов UDP (User Datagram Protocol), что приводит к «связыванию» сетевых ресурсов.
  • TCP flood — отправка на адрес системы-мишени множества TCP-пакетов, что также приводит к «связы­ванию» сетевых ресурсов.
  • TCP SYN flood — при проведении такого рода атаки выдается большое количество запросов на инициали­зацию TCP-соединений с узлом-мишенью, которому, в результате, приходится расходовать все свои ресур­сы на то, чтобы отслеживать эти частично открытые соединения.

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

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

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

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

Моделирование — это исследование каких-либо яв­лений, процессов или систем объектов путем построе­ния и изучения их моделей; использование моделей для определения или уточнения характеристик и рационализации способа построения вновь конструи­руемых объектов.

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

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

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

За последние годы область применения математи­ческих методов теории массового обслуживания не­прерывно расширяется.

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

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

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

Итоговой целью теории массового обслуживания, является расчет характеристик:

  • коэффициент загрузки;
  • средняя длина очереди;
  • среднее число заявок в СМО;
  • среднее время ожидания обслуживания;
  • среднее время пребывания заявки в СМО.

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

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

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

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

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


Похожие материалы:

 
Опубликовать в Twitter Написать в Facebook Поделиться ВКонтакте В Google Buzz Записать себе в LiveJournal Показать В Моем Мире В дневник на LI.RU Поделиться ссылкой на Я.ру