Разработка алгоритмов динамического масштабирования вычислительных сетей

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

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

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

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

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

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

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ

ВС - вычислительная сеть

СУ - система управления

ИВС - информационно-вычислительные сети

СПД - сети передачи данных

ПО - программное обеспечение

ОС - операционная система

НСИ - несанкционированный сбор информации

БД - база данных

ССОП - сеть связи общего пользования

СЗИ - средство защиты информации

НДВ - недекларированная возможность

ТКС - телекоммуникационная система

ССОП - сеть связи общего пользования

ИБ - информационная безопасность

VPN - Virtual Private Network (виртуальная частная сеть)

СПРУ - Система принятия решения на управление

ЕСЭ - Единая сеть электросвязи

СС - Система связи

ПДВ - Предпринятые деструктивные воздействия

ВВЕДЕНИЕ

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

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

Естественным в условиях интеграции Единой сети электросвязи РФ и международных телекоммуникаций, бурного развития технологий является рост количества угроз информационной безопасности распределенным вычислительным сетям (ВС) различных организаций, органов государственной власти, силовых и других ведомств. Существенно возрастают потенциальные возможности террористических организаций, отдельных злоумышленников по идентификации элементов ВС и вскрытию ее структуры. Например, концепция «сетецентричной войны» США предполагает использование (ВС) как арены боевых действий. В то же время существующие методы и средства защиты предполагают лишь разграничение доступа и обнаружение вторжений в локальные сегменты сетей, т. е. осуществляется попытка установить границы на уровне локальных сегментов, а информация о построении и развитии ВС остается незащищенной в виду незащищенности технологической информации (информации развития) ВС и отображения процессов ее обработки на информационном поле противодействующей стороны. Информацией развития ВС являются топология и алгоритмы функционирования ВС и ее элементов, используемое оборудование и программное обеспечение, схемы информационных потоков и роль отдельных сегментов. Более того, иерархия элементов и узлов ВС отражает структуру системы управления (СУ), в интересах которой она создается. Это связано с тем, что элементы ВС и процессы управления обладают характерными признаками. Наиболее ярким примером этого является возможность с помощью перехвата и анализа информационных потоков распределенной ВС получить их схему, отражающую в свою очередь структуру ВС, а значит и структуру ее СУ.

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

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

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

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

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

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

Данное противоречие позволяет констатировать проблему, заключающуюся в разработке механизмов контроля корректности сборки пакетов.

Выявленное противоречие и существующая проблема обусловили выбор темы данного исследования: «Разработка алгоритмов динамического масштабирования вычислительных сетей» и ее актуальность.

1. АНАЛИЗ УСЛОВИЙ ФУНКЦИОНИРОВАНИЯ АВТОМАТИЗИРОВАННЫХ СИСТЕМ УПРАВЛЕНИЯ

1.1 Анализ средств построения динамически масштабируемых вычислительных сетей

Основная идея введения сетевого уровня состоит в следующем. Сеть в общем случае рассматривается как совокупность нескольких сетей и называется сетью или интерсетью (internetwork или internet). Сети, входящие в сеть, называются подсетями (subnet), составляющими сетями или просто сетями (рис. 1).

Рис. 1. Архитектура сети

Подсети соединяются между собой маршрутизаторами. Компонентами сети могут являться как локальные, так и глобальные сети. Внутренняя структура каждой сети на рисунке не показана, так как она не имеет значения при рассмотрении сетевого протокола. Все узлы в пределах одной подсети взаимодействуют, используя единую для них технологию. Так, в сеть, показанную на рисунке, входит несколько сетей разных технологий: локальные сети Ethernet, Fast Ethernet, Token Ring, FDDI и глобальные сети frame relay, X.25, ISDN. Каждая из этих технологий достаточна для того, чтобы организовать взаимодействие всех узлов в своей подсети, но не способна построить информационную связь между произвольно выбранными узлами, принадлежащими разным подсетям, например между узлом А и узлом В на рис. 1. Следовательно, для организации взаимодействия между любой произвольной парой узлов этой «большой» сети требуются дополнительные средства. Такие средства и предоставляет сетевой уровень.

Хотя многие технологии локальных сетей (Ethernet, Token Ring, FDDI, Fast Ethernet и др.) используют одну и ту же систему адресации узлов на основе МАС-адресов, существует немало технологий (X.25, АТМ, frame relay), в которых применяются другие схемы адресации. Адреса, присвоенные узлам в соответствии с технологиями подсетей, называют локальными. Чтобы сетевой уровень мог выполнить свою задачу, ему необходима собственная система адресации, не зависящая от способов адресации узлов в отдельных подсетях, которая позволила бы на сетевом уровне универсальным и однозначным способами идентифицировать любой узел сети.

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

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

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

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

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

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

время жизни пакета, указывающее, как долго он путешествует по интерсети, это время может использоваться для уничтожения «заблудившихся» пакетов;

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

Когда две или более сети организуют совместную транспортную службу, то такой режим взаимодействия обычно называют межсетевым взаимодействием (internetworking).

Важнейшей задачей сетевого уровня является маршрутизация - передача пакетов между двумя конечными узлами в сети.

рассмотрим процесс маршрутизации на примере.

Допустим (см. рис. 2.), хосты А и В находятся в сети 1, сеть 1 соединяется с сетью 2 с помощью маршрутизатора G1. К сети 2 подключен маршрутизатор G2, соединяющий ее с сетью 3, в которой находится хост С.

Рис. 2. Пример маршрутизации

Таблица маршрутов хоста А выглядит, например, так:

Сеть 1 А

Прочие сети G1

Это означает, что дейтаграммы, адресованные узлам сети 1, отправляет сам хост А (так как это его локальная сеть), а дейтаграммы, адресованные в любую другую сеть (это называется маршрут по умолчанию), хост А отправляет маршрутизатору G1, чтобы тот занялся их дальнейшей судьбой.

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

Если хост А отправляет дейтаграмму хосту С, то он определяет по IP-адреcу C, что хост С не принадлежит к сети 1. Согласно таблице маршрутов А, все дейтаграммы с пунктами назначения, не принадлежащими сети 1, отправляются на маршрутизатор G1 (это называется маршрут по умолчанию). При этом хост А не знает, что маршрутизатор G1 будет делать с его дейтаграммой и каков будет ее дальнейший маршрут - это забота исключительно G1. G1 в свою очередь по своей таблице маршрутов определяет, что все дейтаграммы, адресованные в сеть 3, должны быть пересланы на маршрутизатор G2. Это может быть как явно указано в таблице, находящейся на G1, в виде Сеть 3 G2, так и указано в виде маршрута по умолчанию.

На этом функции G1 заканчиваются, дальнейший путь дейтаграммы ему неизвестен и его не интересует. Маршрутизатор G2, получив дейтаграмму, определяет, что она адресована в одну из сетей (№3), к которым он присоединен непосредственно, и доставляет дейтаграмму на хост С.

Фрагментация IP-пакетов

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

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

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

В большинстве типов локальных и глобальных сетей значения MTU, то есть максимальный размер поля данных, в которое должен инкапсулировать свой пакет протокол IP, значительно отличается. Сети Ethernet имеют значение MTU, равное 1500 байт, сети FDDI - 4096 байт, а сети Х.25 чаще всего работают с MTU в 128 байт.

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

Протокол IP допускает возможность использования в пределах отдельной подсети ее собственных средств фрагментирования, невидимых для протокола IP. Например, технология АТМ делит поступающие IP-пакеты на ячейки с полем данных в 48 байт с помощью своего уровня сегментирования, а затем собирает ячейки в исходные пакеты на выходе из сети. Но такие технологии, как АТМ более перспективны, т.к. создают регулярный поток заявок на входы обслуживающих приборов - узлов сети.

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

Поле смещения фрагмента сообщает получателю положение фрагмента в исходном пакете. Смещение фрагмента и длина определяют часть исходного пакета, принесенную этим фрагментом. Флаг «more fragments» показывает появление последнего фрагмента. Модуль протокола IP, отправляющий неразбитый на фрагменты пакет, устанавливает в нуль флаг «more fragments» и смещение во фрагменте.

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

Каждая из полученных частей данных помещается в новый пакет. Когда происходит фрагментация, то некоторые параметры IP-заголовка копируются в заголовки всех фрагментов, а другие остаются лишь в заголовке первого фрагмента. Процесс фрагментации может изменить значения данных, расположенных в поле параметров, и значение контрольной суммы заголовка, изменить значение флага «more fragments» и смещение фрагмента, изменить длину IP-заголовка и общую длину пакета, В заголовок каждого пакета заносятся соответствующие значения в поле смещения «fragment offset», а в поле общей длины пакета помещается длина каждого пакета. Первый фрагмент будет иметь в поле «fragment offset» нулевое значение. Во всех пакетах, кроме последнего, флаг «more fragments» устанавливается в единицу, а в последнем фрагменте - в нуль.

Чтобы собрать фрагменты пакета, модуль протокола IP (например, модуль на хост - компьютере) объединяет IP-пакеты, имеющие одинаковые значения в полях идентификатора, отправителя, получателя и протокола. Таким образом, отправитель должен выбрать идентификатор таким образом, чтобы он был уникален для данной пары отправитель-получатель, для данного протокола и в течение того времени, пока данный пакет (или любой его фрагмент) может существовать в IP-сети.

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

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

Процедура объединения заключается в помещении данных из каждого фрагмента в позицию, указанную в заголовке пакета в поле «fragment offset».

Каждый модуль IP должен быть способен передать пакет из 68 байт без дальнейшей фрагментации. Это связано с тем, что IP-заголовок может включать до 60 байт, а минимальный фрагмент данных - 8 байт. Каждый получатель должен быть в состоянии принять пакет из 576 байт в качестве единого куска либо в виде фрагментов, подлежащих сборке.

Если бит флага запрета фрагментации (Don't Fragment, DF) установлен, то фрагментация данного пакета запрещена, даже если в этом случае он будет потерян. Данное средство может использоваться для предотвращения фрагментации в тех случаях, когда хост - получатель не имеет достаточных ресурсов для сборки фрагментов.

Работа протокола IP по фрагментации пакетов в хостах и маршрутизаторах иллюстрируется на рис. 3.

Рис.3. Фрагментация IP-пакетов при передаче между сетями с разным максимальным размером пакетов: К1 и 01 - канальный и физический уровень сети 1; К2 и Ф2 - канальный и физический уровень сети 2

Пусть компьютер 1 связан с сетью, имеющей значение MTU в 4096 байт, например с сетью FDDI, При поступлении на IP-уровень компьютера 1 сообщения от транспортного уровня размером в 5600 байт протокол IP делит его на два IP-пакета, устанавливая в первом пакете признак фрагментации и присваивая пакету уникальный идентификатор, например 486, В первом пакете величина поля смещения равна 0, а во втором - 2800. Признак фрагментации во втором пакете равен нулю, что показывает, что это последний фрагмент пакета. Общая величина IP-пакета составляет 2800 плюс 20 (размер IP-заголовка), то есть 2820 байт, что умещается в поле данных кадра FDDI. Далее модуль IP компьютера 1 передает эти пакеты своему сетевому интерфейсу (образуемому протоколами канального уровня К 1 и физического уровня Ф1), Сетевой интерфейс отправляет кадры следующему маршрутизатору.

После того, как кадры пройдут уровень сетевого интерфейса маршрутизатора (К1 и Ф1) и освободятся от заголовков FDDI, модуль IP по сетевому адресу определяет, что прибывшие два пакета нужно передать в сеть 2, которая является сетью Ethernet и имеет значение MTU, равное 1500. Следовательно, прибывшие IP-пакеты необходимо фрагментировать. Маршрутизатор извлекает поле данных из каждого пакета и делит его еще пополам, чтобы каждая часть уместилась в поле данных кадра Ethernet. Затем он формирует новые IP-пакеты, каждый из которых имеет длину 1400 + 20 - 1420 байт, что меньше 1500 байт, поэтому они нормально помещаются в поле данных кадров Ethernet.

В результате в компьютер 2 по сети Ethernet приходят четыре IP-пакета с общим идентификатором 486, что позволяет протоколу IP, работающему в компьютере 2, правильно собрать исходное сообщение. Если пакеты пришли не в том порядке, в котором были посланы, то смещение укажет правильный порядок их объединения.

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

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

MTU

Максимальный блок передачи (maximum transmission unit, MTU). Большинство типов сетей определяют верхний предел.

Если IP хочет отослать датаграмму, которая больше чем MTU канального уровня, осуществляется фрагментация (fragmentation), при этом датаграмма разбивается на меньшие части (фрагменты). Каждый фрагмент должен быть меньше чем MTU.

На рисунке 4 приведен список некоторых типичных значений MTU. Здесь приведены MTU для каналов точка-точка (таких как SLIP или PPP), однако они не являются физической характеристикой среды передачи. Это логическое ограничение, при соблюдении которого обеспечивается адекватное время отклика при диалоговом использовании.

Рисунок 4. Типичные значения максимальных блоков передачи (MTU)

Транспортный MTU

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

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

1.2 Атаки, основанные на IP-Фрагментации и защита от них

Атака крошечными фрагментами (Tiny Fragment Attack)

В случае, когда на вход фильтрующего маршрутизатора поступает фрагментированная датаграмма, маршрутизатор производит досмотр только первого фрагмента датаграммы (первый фрагмент определяется по значению поля IP-заголовка Fragment Offset=0). Если первый фрагмент не удовлетворяет условиям пропуска, он уничтожается. Остальные фрагменты можно безболезненно пропустить, не затрачивая на них вычислительные ресурсы фильтра, поскольку без первого фрагмента датаграмма все равно не может быть собрана на узле назначения.

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

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

Злоумышленник формирует искусственно фрагментированную датаграмму с TCP-сегментом, при этом первый фрагмент датаграммы имеет минимальный размер поля данных -- 8 октетов (напомним, что размеры фрагментов указываются в 8-октетных блоках). В поле данных датаграммы находится TCP-сегмент, начинающийся с TCP-заголовка. В первых 8 октетах TCP-заголовка находятся номера портов отправителя и получателя и поле Sequence Number, но значения флагов не попадут в первый фрагмент. Следовательно, фильтр пропустит первый фрагмент датаграммы, а остальные фрагменты он проверять не будет. Таким образом, датаграмма с SYN-сегментом будет успешно доставлена на узел назначения и после сборки передана модулю TCP.

На рис. 6. пример датаграммы из 2 фрагментов (IP-заголовки выделены серым). В поле данных первого фрагмента находится 8 октетов TCP-заголовка. В поле данных второго фрагмента помещена остальная часть TCP-заголовка с флагом SYN.

Рис. 6. Фрагментированный TCP-сегмент

Описанный выше прием проникновения сквозь фильтр называется «Tiny Fragment Attack» (RFC-1858). Использование его в других случаях (для обхода других условий фильтрации) не имеет смысла, так как все остальные «интересные» поля в заголовке TCP и других протоколов находятся в первых 8 октетах заголовка и, следовательно, не могут быть перемещены во второй фрагмент.

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

1) не пропускать датаграммы с Fragment Offset=0 и Protocol=6 (TCP), размер поля данных которых меньше определенной величины, достаточной, чтобы вместить все «интересные поля» (например, 20);

2) не пропускать датаграммы с Fragment Offset=1 и Protocol=6 (TCP): наличие такой датаграммы означает, что TCP-сегмент был фрагментирован с целью скрыть определенные поля заголовка и что где-то существует первый фрагмент с 8 октетами данных. Несмотря на то, что в данном случае первый фрагмент будет пропущен, узел назначения не сможет собрать датаграмму, так как фильтр уничтожил второй фрагмент.

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

Второй аспект фрагментации, интересный с точки зрения безопасности, -- накладывающиеся (overlapping) фрагменты. Рассмотрим пример датаграммы, несущей TCP-сегмент и состоящей из двух фрагментов (рис.7, IP-заголовок выделен серым цветом). В поле данных первого фрагмента находится полный TCP-заголовок, без опций, дополненный нулями до размера, кратного восьми октетам. В поле данных второго фрагмента -- часть другого TCP-заголовка, начиная с девятого по порядку октета, в котором установлен флаг SYN.

Видно, что второй фрагмент накладывается на первый (первый фрагмент содержит октеты 0-23 данных исходной датаграммы, а второй фрагмент начинается с октета 8, потому что его Fragment Offset=1). Поведение узла назначения, получившего такую датаграмму, зависит от реализации модуля IP. Часто при сборке датаграммы данные второго, накладывающегося фрагмента записываются поверх предыдущего фрагмента. Таким образом, при сборке приведенной в примере датаграммы в TCP-заголовке переписываются поля начиная с ACK SN в соответствии со значениями из второго фрагмента, и в итоге получается SYN-сегмент.

Рис. 7. Накладывающиеся фрагменты

Если для защиты от Tiny Fragment Attack применяется подход 1) из описанных выше (инспекция первого фрагмента датаграммы), то с помощью накладывающихся фрагментов злоумышленник может обойти эту защиту.

Маршрутизатор, применяющий второй подход, будет успешно противостоять Tiny Fragment Attack с накладывающимися фрагментами.

Фрагментация и фильтрация пакетов.

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

У нас возникла ситуация, когда в сеть пропускаются пакеты, которые не отвечают критериям блокировки, так как отсутствует заголовок идентифицирующий принадлежность пакета к тому или иному виду трафика (tcp, udp, icmp).

Если датаграмма с установленным флагом пересекает сеть, где необходима фрагментация, маршрутизатор выясняет это и возвращает посылающему хосту ICMP сообщение об ошибке. Данное сообщение указывает MTU сети, требующей фрагментации (данное ошибочное сообщение может использоваться атакующим для выяснения MTU некоторого сегмента сети где находится интересующая его цель и впоследствии может применять это значение для своих целей, например, для генерирования своих пакетов с данным MTU с целью обхода брандмауэра). Некоторые хосты в зависимости от используемой на них ОС (соответствующего стэка tcp/ip), намеренно посылают в сеть начальную датаграмму с установленным флагом фрагментации, определяя MTU на пути к хосту назначения. Если сообщение об ошибке ICMP возвращается с меньшим MTU, хостом производится пакетирование датаграмм, предназначенных для хоста назначения, в группы, которые малы, чтобы избежать фрагментации. В связи с этим фрагментация снижает эффективность работы сети в целом, поскольку при потере одного фрагмента нужно посылать опять их всех (на данной особенности строятся атаки типа «затопления» фрагментированными пакетами).

1.3 Постановка задачи на поиск новых технических решений, выводы

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

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

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

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

вычислительный сеть атака фрагментированный

2. Анализ алгоритмов защиты ИВС от деструктивных программных воздействий, связанных с некорректной фрагментацией пакетов сообщений

2.1 Атаки на информационно-вычислительно сети

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

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

Модели атак

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

В модели распределенной или скоординированной (distributed или coordinated attack) атаки используются иные принципы. В отличие от традиционной модели "один к одному" и "один ко многим", в распределенной модели используются принципы "многие к одному" и "много ко многим" (рис. 3 и 4 соответственно).

Распределенные атаки основаны на "классических" атаках типа "отказ в обслуживании", которые будут рассмотрены ниже, а точнее, на их подмножестве, известном как Flood- или Storm-атаки (указанные термины можно перевести как "шторм", "наводнение" или "лавина"). Смысл данных атак заключается в посылке большого количества пакетов на заданный узел или сегмент сети (цель атаки), что может привести к выведению этого узла или сегмента из строя, поскольку он захлебнется в лавине посылаемых пакетов и не сможет обрабатывать запросы авторизованных пользователей. По такому принципу работают атаки SYN-Flood, Smurf, UDP Flood, Targa3 и т. д. Однако в том случае, если пропускная способность канала до цели атаки превышает пропускную способность атакующего или целевой узел некорректно сконфигурирован, то "успеха" такая атака не достигнет. Скажем, с помощью этих атак бесполезно пытаться нарушить работоспособность своего провайдера. В случае же распределенной атаки ситуация коренным образом меняется. Атака происходит уже не из одной точки интернета, а сразу из нескольких, что приводит к резкому возрастанию трафика и выведению атакуемого узла из строя. Например, по данным "России-Онлайн", в течение двух суток, начиная с 9 часов утра 28 декабря 2000 г. крупнейший интернет-провайдер Армении "Арминко" подвергался распределенной атаке. В данном случае к атаке подключилось более 50 машин из разных стран, которые посылали по адресу "Арминко" бессмысленные сообщения. Кто организовал эту атаку и в какой стране находился хакер, установить было невозможно. Хотя атаке подвергся в основном "Арминко", перегруженной оказалась вся магистраль, соединяющая Армению с Всемирной Паутиной. 30 декабря благодаря сотрудничеству "Арминко" и другого провайдера -- "АрменТел" связь была полностью восстановлена. Компьютерная атака, правда, продолжалась, но с меньшей интенсивностью.

Этапы реализации атак

Можно выделить следующие этапы реализации атаки: предварительные действия, или сбор информации (information gathering), реализация атаки (exploitation) и завершение атаки. Обычно когда говорят об атаке, то подразумевают именно второй этап, забывая о первом и последнем. Сбор информации и завершение атаки ("заметание следов") в свою очередь также могут являться атакой и могут быть разделены на три этапа (рис. 5).

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

Межсетевые экраны неэффективны против множества атак.

На первом этапе злоумышленник пытается выявить все каналы взаимодействия цели атаки с другими узлами. Это позволит выбрать не только тип реализуемой атаки, но и источник ее реализации. Например, атакуемый узел взаимодействует с двумя серверами под управлением ОС Unix и Windows NT. С одним сервером атакуемый узел имеет "доверительные" отношения, а с другим - нет. От того, через какой сервер злоумышленник будет реализовывать нападение, зависит, какая атака будет задействована, какое средство реализации будет выбрано, и т. д. Затем, в зависимости от полученной информации и преследуемых целей, выбирается атака, дающая наибольший эффект. Например, для нарушения функционирования узла можно использовать SYN Flood, Teardrop, UDP Bomb и т. д., а для проникновения на узел и кражи информации - CGI-скрипт PHF для кражи файла паролей, удаленный подбор пароля и т. п. Затем наступает второй этап - реализация выбранной атаки.

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

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

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

Сбор информации

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

Изучение окружения.

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

Идентификация топологии сети.

Можно назвать два метода определения топологии сети (network topology detection), применяемых злоумышленниками: изменение TTL (TTL modulation) и запись маршрута (record route). Программы traceroute для Unix и tracert для Windows используют первый способ определения топологии сети. Они используют для этого поле Time to Live ("время жизни") в заголовке IP-пакета, которое изменяется в зависимости от числа пройденных сетевым пакетом маршрутизаторов. Утилита ping подходит для записи маршрута ICMP-пакета. Зачастую сетевую топологию можно выяснить при помощи протокола SNMP, установленного на многих сетевых устройствах, защита которых неверно сконфигурирована. При помощи протокола RIP можно попытаться получить информацию о таблице маршрутизации в сети и т. д.

Множество атак безгранично.

Многие из этих методов используются современными системами управления (например, HP OpenView, Cabletron SPECTRUM, MS Visio и др.) для построения карт сети. И эти же методы могут быть с успехом применены злоумышленниками для построения карты атакуемой сети.

Идентификация узлов.

Идентификация узла (host detection), как правило, осуществляется путем посылки при помощи утилиты ping команды ECHO_REQUEST протокола ICMP. Ответное сообщение ECHO_REPLY говорит о том, что узел доступен. Существуют свободно распространяемые программы, которые автоматизируют и ускоряют процесс параллельной идентификации большого числа узлов, например, fping или nmap. Опасность данного метода в том, что стандартными средствами узла запросы ECHO_REQUEST не фиксируются. Для этого необходимы средства анализа трафика, межсетевые экраны или системы обнаружения атак.

Это самый простой метод идентификации узлов, но он имеет ряд недостатков. Во-первых, многие сетевые устройства и программы блокируют ICMP-пакеты и не пропускают их во внутреннюю сеть (или, наоборот, не пропускают их наружу). Например, MS Proxy Server 2.0 не разрешает прохождение пакетов по протоколу ICMP. В результате не получается полной картины. С другой стороны, блокировка ICMP-пакета говорит злоумышленнику о наличии "первой линии обороны" - маршрутизаторов, межсетевых экранов и т. д. Во-вторых, использование ICMP-запросов позволяет с легкостью обнаружить их источник, в чем, разумеется, злоумышленник вовсе не заинтересован.

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

Идентификация сервисов и сканирование портов.

Идентификация сервисов (service detection), как правило, осуществляется путем обнаружения открытых портов (port scanning). Такие порты очень часто связаны с сервисами, основанными на протоколах TCP или UDP. Например, открытый 80-й порт подразумевает наличие Web-сервера, 25-й порт -- почтового SMTP-сервера, 31 337-й -- серверной части "троянского коня" BackOrifice, 12 345-й или 12 346-й - серверной части "троянского коня" NetBus и т. д. Для идентификации сервисов и сканирования портов могут быть использованы различные программы, в том числе и свободно распространяемые, например nmap или netcat.

Идентификация операционной системы.

Основной механизм удаленного определения ОС (OS detection) -- анализ ответов на запросы, учитывающие различные реализации TCP/IP-стека в различных операционных системах. Стек протоколов TCP/IP в каждой ОС реализован по-своему, что позволяет при помощи специальных запросов и ответов на них определить, какая ОС установлена на удаленном узле.

Другой, менее эффективный и крайне ограниченный, способ идентификации ОС узлов - анализ сетевых сервисов, обнаруженных на предыдущем этапе. Например, открытый 139-й порт позволяет сделать вывод, что удаленный узел, вероятнее всего, работает под управлением ОС семейства Windows. Для определения ОС могут быть использованы различные программы, например nmap или queso.

Определение роли узла.

Предпоследним шагом на этапе сбора информации об атакующем узле является определение его роли, скажем, в выполнении функций межсетевого экрана или Web-сервера. Делается этот шаг на основе уже собранной информации об активных сервисах, именах узлов, топологии сети и т. п. Допустим, открытый 80-й порт может указывать на наличие Web-сервера, блокировка ICMP-пакета - на потенциальное наличие межсетевого экрана, а DNS-имя узла proxy.domain.ru или fw.domain.ru говорит само за себя.

Определение уязвимостей узла.

Последний шаг - поиск уязвимостей (searching vulnerabilities). Злоумышленник при помощи различных автоматизированных средств или вручную определяет уязвимости, которые могут быть использованы для реализации атаки. В качестве таких автоматизированных средств могут быть использованы ShadowSecurityScanner, nmap, Retina и т. д.

Реализация атаки

После всего вышеперечисленного предпринимается попытка получить доступ к атакуемому узлу, причем как непосредственный (проникновение на узел), так и опосредованный, например, при реализации атаки типа "отказ в обслуживании". Реализация атаки в случае непосредственного доступа также может быть разделена на два этапа: проникновение и установление контроля.

Проникновение подразумевает преодоление средств защиты периметра (межсетевого экрана) различными путями - использованием уязвимости сервиса компьютера, "смотрящего" наружу, или передачей враждебной информации по электронной почте (макровирусы) или через апплеты Java. Такая информация может быть передана через так называемые туннели в межсетевом экране (не путать с туннелями VPN), через которые затем и проникает злоумышленник. К этому же этапу можно отнести подбор пароля администратора или иного пользователя при помощи специализированной утилиты (L0phtCrack или Crack).

Установление контроля.

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

Цели реализации атак.

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

Завершение атаки

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

Классификация атак

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

Удаленное проникновение (remote penetration). Атаки, которые позволяют реализовать удаленное управление компьютером через сеть. Примером такой программы является NetBus или BackOrifice.

Локальное проникновение (local penetration). Атака, приводящая к получению несанкционированного доступа к узлу, на котором она запущена, например программа GetAdmin.

Удаленный отказ в обслуживании (remote denial of service). Атаки, позволяющие нарушить функционирование или перегрузить компьютер через интернет (Teardrop или trin00).

Локальный отказ в обслуживании (local denial of service). Атаки, которые позволяют нарушить функционирование или перегрузить атакуемый компьютер. Примером такой атаки является "враждебный" апплет, загружающий центральный процессор бесконечным циклом, что приводит к невозможности обработки запросов других приложений.

Сетевые сканеры (network scanners). Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки, например система nmap.


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

  • Исследование структуры типовой вычислительной сети. Модель процесса вскрытия вычислительной сети и взаимосвязь основных его этапов. Конфликт в информационной сфере между субъектом и объектом познания. Описания алгоритмов динамического масштабирования.

    дипломная работа [2,9 M], добавлен 21.12.2012

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

    отчет по практике [34,6 K], добавлен 18.06.2014

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

    курсовая работа [67,7 K], добавлен 20.07.2015

  • Классификация компьютерных сетей. Назначение компьютерной сети. Основные виды вычислительных сетей. Локальная и глобальная вычислительные сети. Способы построения сетей. Одноранговые сети. Проводные и беспроводные каналы. Протоколы передачи данных.

    курсовая работа [36,0 K], добавлен 18.10.2008

  • Понятие локальных вычислительных сетей, их виды и принципы построения. Топология (кольцо, звезда и шина) и древовидная структура ЛВС. Алгоритм решения экономической задачи по осуществляемой страховой деятельности на территории России по видам полисов.

    курсовая работа [604,2 K], добавлен 23.04.2013

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

    доклад [23,2 K], добавлен 09.11.2009

  • Создание автоматизированной системы мониторинга состояния аппаратных средств компьютерных сетей на основе протокола SNMP в среде программирования С++Builder. Описание реляционной базы данных и ее визуальное представление. Разработка диаграммы классов.

    отчет по практике [2,2 M], добавлен 05.01.2016

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