Рефераты
 

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

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

1.6 Узлы коммутации сетей

Узлы коммутации сетей представляют для злоумышленников 1) как инструмент маршрутизации сетевого трафика, и 2) как необходимый компонент работоспособности сети.

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

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

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

1.7 Уровни сетевых атак согласно модели OSI

Эталонная модель взаимодействия открытых систем OSI (англ. Open Systems Interconnection) была разработана институтом стандартизации ISO с целью разграничить функции различных протоколов в процессе передачи информации от одного абонента другому. Подобных классов функций было выделено 7 - они получили название уровней. Каждый уровень выполняет свои определенные задачи в процессе передачи блока информации, причем соответствующий уровень на приемной стороне производит преобразования, точно обратные тем, которые производил тот же уровень на передающей стороне. В целом прохождение блока данных от отправителя к получателю показано на рис.1.1 Каждый уровень добавляет к пакету небольшой объем своей служебной информации - префикс (на рисунке они изображены как P1... P7). Некоторые уровни в конкретной реализации вполне могут отсутствовать.

Рисунок 1.1 - Прохождение блока данных от отправителя к получателю

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

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

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

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

Транспортный уровень отвечает за доставку больших сообщений по линиям с коммутацией пакетов. Так как в подобных линиях размер пакета представляет собой обычно небольшое число (от 500 байт до 5 килобайт), то для передачи больших объемов информации их необходимо разбивать на передающей стороне и собирать на приемной. Транспортными протоколами в сети Интернет являются протоколы UDP и TCP. Реализация транспортного протокола - довольно сложная задача, а если еще учесть, что злоумышленник придумывает самые разные схемы составления неправильных пакетов, то проблема атак транспортного уровня вполне объяснима.

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

Сеансовый уровень отвечает за процедуру установления начала сеанса и подтверждение (квитирование) прихода каждого пакета от отправителя получателю. В сети Интернет протоколом сеансного уровня является протокол TCP (он занимает и 4, и 5 уровни модели OSI). В отношении сеансового уровня очень широко распространена специфичная атака класса "отказ в сервисе", основанная на свойствах процедуры установления соединения в протоколе TCP. Она получила название SYN-Flood (зд. flood - англ. "большой поток").

При попытке клиента подключиться к серверу, работающему по протоколу TCP (а его используют более 80% информационных служб, в том числе HTTP, FTP, SMTP, POP3), он посылает серверу пакет без информации, но с битом SYN, установленным в 1 в служебной области пакета - запросом на соединение. По получении такого пакета сервер обязан выслать клиенту подтверждение приема запроса, после чего с третьего пакета начинается собственно диалог между клиентом и сервером. Одновременно сервер может поддерживать в зависимости от типа сервиса от 20 до нескольких тысяч клиентов.

При атаке типа SYN-Flood злоумышленник начинает на своей ЭВМ создавать пакеты, представляющие собой запросы на соединение (то есть SYN-пакеты) от имени произвольных IP-адресов (возможно даже несуществующих) на имя атакуемого сервера по порту сервиса, который он хочет приостановить. Все пакеты будут доставляться получателю, поскольку при доставке анализируется только адрес назначения. Сервер, начиная соединение по каждому из этих запросов, резервирует под него место в своем буфере, отправляет пакет-подтверждение и начинает ожидать третьего пакета клиента в течение некоторого промежутка времени (1-5 секунд). Пакет-подтверждение уйдет по адресу, указанному в качестве ложного отправителя в произвольную точку Интернета и либо не найдет адресата вообще, либо чрезмерно "удивит" операционную систему на этом IP-адресе (поскольку она никаких запросов на данный сервер не посылала) и будет просто проигнорирован. А вот сервер при достаточно небольшом потоке таких запросов будет постоянно держать свой буфер заполненным ненужными ожиданием соединений и даже SYN-запросы от настоящих легальных пользователей не будут помещаться в буфер: сеансовый уровень просто не знает и не может узнать, какие из запросов фальшивые, а какие настоящие и могли бы иметь больший приоритет.

Атака SYN-Flood получила довольно широкое распространение, поскольку для нее не требуется никаких дополнительных подготовительных действий. Ее можно проводить из любой точки Интернета в адрес любого сервера, а для отслеживания злоумышленника потребуются совместные действия всех провайдеров, составляющих цепочку от злоумышленника до атакуемого сервера (к чести сказать, практически все фирмы-провайдеры, если они обладают соответствующим программным обеспечением и квалифицированным персоналом, активно участвуют в отслеживании атакующей ЭВМ по первой же просьбе, в том числе и от зарубежных коллег).

1.8 Предварительные выводы

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

Таким образом разрабатываемая система должна обеспечивать:

ограничение доступа пользователей в сеть Internet;

ведение журнал доступа пользователей в сеть Internet;

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

защита от прямой видимости машин локальной сети в Internet;

удаленное администрирование.

2. Разработка технологии защиты банковской компьютерной сети

2.1 Архитектуры брандмауэра

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

Одна из самых надежных моделей защиты используемая во многих продуктах такова:

1. Разрешать любому пользователю локальной сети доступ к любому ресурсу в Internet;

2. Разрешать каждому компьютеру в сети иметь доступ к административным утилитам системы защиты, при условии, что он предоставляет верный пароль доступа;

3. Никому из Internet не разрешать доступ в локальную сеть и к системе защиты банковской сети.

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

1. Пакет не должен являться попыткой инициировать соединение с системой защиты или с компьютером в локальной сети.

2. Пакет не должен иметь активизированный блок маршрутизации от источника.

3. Пакет не может быть направлен к какому-либо TCP/IP порту приложения любого компьютера в сети.

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

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

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

Брандмауэр

Банковская сеть

Рисунок 2.1 - Деление сети на несколько частей

Как правило, брандмауэры функционируют на какой-либо UNIX платформе - чаще всего это BSDI, SunOS, AIX, IRIX и т.д., реже - DOS, VMS, WNT, Windows NT. Из аппаратных платформ встречаются INTEL, Sun SPARC, RS6000, Alpha, HP PA-RISC, семейство RISC процессоров R4400-R5000. Помимо Ethernet, многие брандмауэры поддерживают FDDI, Token Ring, 100Base-T, 100VG-AnyLan, различные серийные устройства. Требования к оперативной памяти и объему жесткого диска зависят от количества машин в защищаемом сегменте сети, но чаще всего рекомендуется иметь не менее 32Мб ОЗУ и 500 Мб на жестком диске.

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

Все брандмауэры можно разделить на три типа:

пакетные фильтры (packet filter)

сервера прикладного уровня (application gateways)

сервера уровня соединения (circuit gateways)

Все типы могут одновременно встретиться в одном брандмауэре.

Пакетные фильтры.

Брандмауэры с пакетными фильтрами принимают решение о том, пропускать пакет или отбросить, просматривая IP-адреса, флаги или номера TCP портов в заголовке этого пакета. IP-адрес и номер порта - это информация сетевого и транспортного уровней соответственно, но пакетные фильтры используют и информацию прикладного уровня, т.к все стандартные сервисы в TCP/IP ассоциируются с определенным номером порта.

Для описания правил прохождения пакетов составляются таблицы типа (см. табл.2.1):

Таблица 2.1

Описания правил прохождения пакетов

Действие

тип пакета

адрес источн.

порт источн.

адрес назнач.

порт назнач.

флаги

Поле "действие" может принимать значения пропустить или отбросить.

Тип пакета - TCP, UDP или ICMP.

Флаги - флаги из заголовка IP-пакета.

Поля "порт источника" и "порт назначения" имеют смысл только для TCP и UDP пакетов.

Сервера прикладного уровня

Брандмауэры с серверами прикладного уровня используют сервера конкретных сервисов - TELNET, FTP и т.д. (proxy server), запускаемые на брандмауэре и пропускающие через себя весь трафик, относящийся к данному сервису. Таким образом, между клиентом и сервером образуются два соединения: от клиента до брандмауэра и от брандмауэра до места назначения.

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

терминалы (Telnet, Rlogin)

передача файлов (Ftp)

электронная почта (SMTP, POP3)

WWW (HTTP)

Gopher

Wais

X Window System (X11)

Принтер

Rsh

Finger

новости (NNTP) и т.д.

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

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

2.2 Сервера уровня соединения

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

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

Такой тип сервера позволяет создавать транслятор для любого определенного пользователем сервиса, базирующегося на TCP, осуществлять контроль доступа к этому сервису, сбор статистики по его использованию.

2.3 Сравнительные характеристики

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

К положительным качествам пакетных фильтров следует отнести следующие:

относительно невысокая стоимость

гибкость в определении правил фильтрации

небольшая задержка при прохождении пакетов

Недостатки у данного типа брандмауэров следующие:

локальная сеть видна (маршрутизируется) из INTERNET

правила фильтрации пакетов трудны в описании, требуются очень хорошие знания технологий TCP и UDP

при нарушении работоспособности брандмауэра все компьютеры за ним становятся полностью незащищенными либо недоступными

аутентификацию с использованием IP-адреса можно обмануть использованием IP-спуфинга (атакующая система выдает себя за другую, используя ее IP-адрес)

отсутствует аутентификация на пользовательском уровне

К преимуществам серверов прикладного уровня следует отнести следующие:

локальная сеть невидима из INTERNET

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

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

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

Недостатками этого типа являются:

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

невозможность использовании протоколов RPC и UDP;

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

2.4 Виртуальные сети

Ряд брандмауэров позволяет также организовывать виртуальные корпоративные сети (Virtual Private Network), т.е. объединить несколько локальных сетей, включенных в INTERNET в одну виртуальную сеть. VPN позволяют организовать прозрачное для пользователей соединение локальных сетей, сохраняя секретность и целостность передаваемой информации с помощью шифрования. При этом при передаче по INTERNET шифруются не только данные пользователя, но и сетевая информация - сетевые адреса, номера портов и т.д.

2.5 Схемы подключения

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

Если брандмауэр может поддерживать два Ethernet интерфейса (так называемый dual-homed брандмауэр), то чаще всего подключение осуществляется через внешний маршрутизатор (см рис.2.3).

Рисунок 2.2 - Схема подключения брандмауэров

Рисунок 2.3 - Подключение через внешний маршрутизатор

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

Другая схема представлена на рис.2.4

Рисунок 2.4 - Защита только одной подсети из нескольких выходящих из роутера

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

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

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

Рисунок 2.5 - Организация третьей сети

Администрирование.

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

Системы сбора статистики и предупреждения об атаке.

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

2.6 Предварительные выводы

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

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

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

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

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

3.1 Описание алгоритма работы программы

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

Для эффективного управления

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

ведение списка пользователей сетью Internet;

аутентификация;

назначение и контроль за использованием ресурсов Internet;

учет входящего трафика;

отключение пользователей от сети Internet в случае превышения выделенного ему трафика;

генерация отчетности.

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

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

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

Режим контроля.

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

Как правило, используется принцип, получивший название "что он знает" - т.е. пользователь знает некоторое секретное слово, которое он посылает серверу аутентификации в ответ на его запрос.

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

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

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

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

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

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

Алгоритм, реализующий указанный принцип работы программы, приведен на рисунке 3.1.

4

Рисунок 3.1 - Алгоритм работы программы в режиме контроля

В режиме администрирования обеспечивается управление пользователями сети, выделение ресурсов, запрещение или разрешение использования Internet.

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

Алгоритм работы программы в режиме администрирования приведен га рисунке 3.2.

4

Рисунок 3.2 - Режим администрирования

4

Рисунок 3.2 - Лист 2

3.2 Предварительные выводы

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

Разработанный алгоритм предусматривает два режима работы:

режим контроля за работой пользователя в сети;

режим администрирования.

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

4.1 Описание работы программы

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

Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен. Perl сочетает в себе лучшие черты C, shell, sed и awk. Cинтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать. dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perlе, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.

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

Для создания и тестирования Perl-программ необходимы:

любой текстовый редактор, позволяющий сохранять файлы в ASCII-коде (например, встроенный редактор из оболочки FAR Commander);

программа конвертации ACSII-файлов в формат Unix-систем (в частности, редактор Castillo TextEditor);

интерпретатор Perl для отладки;

Web-сервер, поддерживающий работу Perl-программ (для проверки интерфейсных программ был применен Web-сервер OmniHTTPd 2.0 Professional);

FTP-клиент для загрузки файлов на сервер (больше всего для этого подходит CuteFTP 2.0, позволяющий устанавливать права доступа к файлам);

любой Web-браузер (был использован MS IE 4.0).

Программы на языке Perl с расширениями. cgi или. pl должны находиться в специальном каталоге на Web-сервере, обычно называемом CGI-BIN. Размещая в нем свои программы, пользователи могут создавать там собственные папки для обеспечения иерархичности. Если сервер работает в среде Unix, то необходимо придать ему определенные права для доступа. Для исполняемых Perl-программ следует задать атрибут 755. Если в них существует какой-либо каталог, в котором будут производиться запись и удаление файлов, то предпочтительнее поставить атрибут 777 (полный доступ). Когда сервер работает под управлением операционной системы Windows XP/Vista, то не следует преобразовывать созданные файлы в формат систем Unix. А операционные системы семейства Windows не позволяют выставлять атрибуты доступа подобно Unix-системам - в них используется другая методика.

Как было отмечено в предыдущем разделе в работе программы предусмотрено два режима: контроля и администрирования.

Режим контроля работы пользователей.

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

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

Рисунок 4.1 - Приглашение ввести имя пользователя и пароль

Рисунок 4.2 - Запрет доступа к сети

Пройдя проверку, пользователю предоставляется требуемый доступ во внешнюю сеть.

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

Ниже приводится фрагмент такого протокола:

1005144301.524 292 192.168.59.42 TCP_DENIED/407 1329 GET http://www.rambler.ru/ - NONE/ -

1005144351.251 616 192.168.59.42 TCP_MISS/200 573 GET http://top. list.ru/counter? mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144356.139 4885 192.168.59.42 TCP_MISS/200 11659 GET http://www.images. auto.ru/banners/paint2. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144381.452 30817 192.168.59.42 TCP_MISS/200 1252 GET http://images. rambler.ru/logo-r. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144387.328 31187 192.168.59.42 TCP_MISS/200 2395 GET http://images. rambler.ru/upl/info/adv145x60-6 [1]. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144403.545 84960 192.168.59.42 TCP_MISS/000 23466 GET http://www.rambler.ru/ mcdulcimer DEFAULT_PARENT/iserv. kture -

1005144403.689 53053 192.168.59.42 TCP_MISS/000 0 GET http://counter. rambler.ru/top100. cnt? mcdulcimer DEFAULT_PARENT/iserv. kture -

1005144403.689 16357 192.168.59.42 TCP_MISS/000 0 GET http://images. rambler.ru/n/sonet-200x20. gif mcdulcimer DEFAULT_PARENT/iserv. kture -

1005144403.689 22233 192.168.59.42 TCP_MISS/000 0 GET http://images. rambler.ru/other/narod_190_012. gif mcdulcimer DEFAULT_PARENT/iserv. kture -

1005144407.269 2386 192.168.59.42 TCP_MISS/200 572 GET http://top. list.ru/counter? mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144410.282 6551 192.168.59.42 TCP_MISS/200 58746 GET http://search. rambler.ru/cgi-bin/rambler_search? mcdulcimer DEFAULT_PARENT/iserv. kture text/html

1005144412.022 4752 192.168.59.42 TCP_MISS/200 5630 GET http://images. rambler.ru/upl/clients/narod_468_016. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144415.390 5043 192.168.59.42 TCP_MISS/200 13961 GET http://images. rambler.ru/upl/clients/2citroen_150_80_2. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144417.085 1692 192.168.59.42 TCP_MISS/200 492 GET http://images. rambler.ru/i-s-site1. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144447.872 42981 192.168.59.42 TCP_MISS/200 1241 GET http://images. rambler.ru/newd/logo-r. gif mcdulcimer DEFAULT_PARENT/iserv. kture image/gif

1005144463.935 59059 192.168.59.42 TCP_MISS/000 0 GET http://counter. rambler.ru/top100. cnt?

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

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

Следующий фрагмент отражает эту ситуацию:

serg. tr

192.168.59.16 1390 http://www.mail.ru/

192.168.59.16 12875 http://r. mail.ru/b1062. swf

192.168.59.16 23071 http://www.mail.ru/

192.168.59.16 23393 http://www.rambler.ru/

192.168.59.16 9080 http://search. rambler.ru/cgi-bin/rambler_search?

192.168.59.16 47352 http://search. rambler.ru/cgi-bin/rambler_search?

192.168.59.16 33726 http://search. rambler.ru/cgi-bin/rambler_search?

192.168.59.16 750 http://search. rambler.ru/click?

192.168.59.16 714 http://search. rambler.ru/click?

192.168.59.16 726 http://search. rambler.ru/click?

192.168.59.16 724 http://search. rambler.ru/click?

192.168.59.16 2001 http://www.citforum.ru/css/forum. css

192.168.59.16 2674 http://www.citforum.ru/ssi/ms_proc/y1ie. js

192.168.59.16 33333 http://www.citforum.ru/ssi/ms_proc/processor03. swf?

192.168.59.16 714 http://search. rambler.ru/click?

192.168.59.16 1039 http://www.computerinform.ru/main. css

192.168.59.16 17443 http://www.computerinform.ru/inform05_00/p_04asb. htm

192.168.59.16 1849 http://www.computerinform.ru/index.html

192.168.59.16 810 http://www.computerinform.ru/mainl. css

192.168.59.16 4001 http://www.computerinform.ru/left. htm

192.168.59.16 90 http://www.computerinform.ru/main. css

192.168.59.16 18876 http://www.computerinform.ru/praft. htm

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

Для управления работой пользователей сети в программе предусмотрен режим администрирования.

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

удаленное администрирование прокси-сервера при помощи WEB-интерфейса;

просмотр списка пользователей;

добавление - удаление пользователей;

выбор пользователя для изменения его свойств;

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

предоставление расширенного отчета о работе пользователя за определенны период.

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

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

Для проверки имени пользователя и пароля ему открывается следующее окно (см. рис.4.3)

Рисунок 4.3 - Проверка имени и пароля пользователя

Внешний вид программы в режиме администрирования приведен на рисунке 4.4

Рисунок 4.4 - Внешний вид программы в режиме администрирования

4.2 Предварительные выводы

В данном разделе дипломной работы была разработана программа контроля доступа пользователей к банковской сети через internet. В качестве языка программирования был выбран язык Perl, что позволило гибко управлять работой прокси-сервера. Для достижения поставленной задачи - возможности удаленного управления сервером, был разработан платформо-независимый WEB интерфейс. Таким образом разработанное программное средство выполняет следующие функции:

удаленное администрирование прокси-сервера при помощи WEB-интерфейса;

просмотр списка пользователей;

добавление - удаление пользователей;

выбор пользователя для изменения его свойств;

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

предоставление расширенного отчета о работе пользователя за определенный период.

Выводы

В результате выполнения данной дипломной работы получены следующие результаты:

Производен обзор основных видов и источников атак на информацию компьютерной сети банка. Также произведен обзор наиболее распространенных методов "взлома".

Рассмотрены возможные цели злоумышленников, которые можно классифицировать как:

получение доступа к информации,

получение несанкционированного доступа к услугам,

попытка вывода из рабочего режима определенного класса услуг,

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

Произведена постановка задачи исследования.

Разработана технология защиты компьютерной банковской сети от атак на информацию со стороны Интернет.

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

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

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

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

Разработанный алгоритм предусматривает два режима работы:

режим контроля за работой пользователя в сети;

режим администрирования.

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

удаленное администрирование прокси-сервера при помощи WEB-интерфейса;

просмотр списка пользователей;

добавление - удаление пользователей;

выбор пользователя для изменения его свойств;

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

предоставление расширенного отчета о работе пользователя за определенный период.

Перечень ссылок

1. Сервер Red Had Linux для Windows: Пер. с англ. / Пол Сэри - К.: Издательство "Диа Софт", 2001. - 400с.

2. Освой самостоятельно Perl за 24 часа: Пер. с англ.: Уч. пос. - М.: Издательский дом "Вильямс", 2000. - 384с.: ил. - Парал. тит. англ.

3. Компьютерные сети. Принципы, технологии, протоколы / В.Г. Олифер, Н.А. Олифер. - СПб: Издательство "Питер", 1999. - 672 с.: ил.

4. Фоминов О. "Диагностика сетей как средство выживания" - Компьютер Пресс 1996, №4, с 72-76.

5. Михаил Федотов. "Системы сетевого/системного управления: принципы создания".

6. Нессер Д. Дж. Оптимизация и поиск неисправностей в сетях. - К.: "Диалектика", 1996. - 384 с., ил.

7. Фаронов В.В. Delphi 4. Учебный курс. - М.: "Нолидж", 1998. - 464 с., ил.

8. Клепчинов И. "Произвол в локальной сети. Кнуты и пряники системного администратора". - Компьютеры + программы, 1999, №9.

9. Галушка С. "Введение в локальные сети", - Компьютерное обозрение, 1996, №7 (31).

10. ДСТУ 3008-95. Документация. Отчеты в сфере науки и техники. Структура и правила оформления.

Приложения

Приложение А

Листинг программы контроля доступа пользователей к банковской сети.

#! /usr/bin/perl

$passwd_file = ". /passwd";

$squid_copylog_file = ". /access. log";

$passwdnew_file = ">. /passwd. new";

$squid_file = "/etc/init. d/squid reload";

$users_cvota_file = ". /users";

init_cvota ();

sum_traf ();

razbor_passwd ();

$i = @cnames;

$j = 0;

print_traf ();

$j = 0;

$flag = 0;

open (PASLISTNEW, $passwdnew_file) || die "can't open file users";

while ($j<$i) {

# print $cnames [$j]," ", $traf {$cnames [$j] },"\n";

$a=index ($passwd {$cnames [$j] },"*");

if ( ($cvota {$cnames [$j] } < $traf {$cnames [$j] }) && ($a==-1)) {

print PASLISTNEW ($cnames [$j],": *",$passwd {$cnames [$j] },"\n");

$flag = 1;

}

else

{

print PASLISTNEW $cnames [$j],": ",$passwd {$cnames [$j] },"\n";

};

$j = $j + 1;

};

close (PASLISTNEW) || die "can't close file users";

if ($flag == 1) {

rename (". /passwd. new",$passwd_file);

system ($squid_file);

};

sub razbor_passwd {

open (PASLIST, $passwd_file) || die "can't open file users";

while (defined ($pas = <PASLIST>)) {

chomp ($pas);

$pname = $pas;

$pname =~ s/:. * //;

$ppas = $pas;

$ppas =~ s/\w*: //;

$passwd {$pname} = $ppas;

# print $pname," ",$passwd {$pname},"\n";

};

close (PASLIST) || die "can't close file users";

};

sub init_cvota {

open (USERLIST, $users_cvota_file) || die "can't open file users";

while (defined ($fname = <USERLIST>)) {

chomp ($fname);

$fcvota = <USERLIST>;

chomp ($fcvota);

$cvota {$fname} = $fcvota;

@cnames = (@cnames, $fname);

};

close (USERLIST) || die "can't close file users";

};

sub razbor_str {

$date = $str;

$date =~ s/. * //;

#print $date," ";

$date =~s/^\d+\. \d+/localtime $&/e;

#print $date,"\n";

$s2 = $str;

$s2 =~ s/\S* * //;

$s2 =~ s/. * //;

$IP = $str;

$IP =~ s/\S* *\S* * //;

$IP =~ s/. * //;

$rez = $str;

$rez =~ s/\S* *\S* *\S* * //;

$rez =~ s/. * //;

$raz = $str;

$raz =~ s/\S* *\S* *\S* *\S* * //;

$raz =~ s/. * //;

$metod = $str;

$metod =~ s/\S* *\S* *\S* *\S* *\S* * //;

$metod =~ s/. * //;

$addr = $str;

$addr =~ s/\S* *\S* *\S* *\S* *\S* *\S* * //;

$addr =~ s/. * //;

$name = $str;

$name =~ s/\S* *\S* *\S* *\S* *\S* *\S* *\S* * //;

$name =~ s/. * //;

};

sub sum_traf {

open (LOG, $squid_copylog_file) || die "can't open file users";

while (defined ($str = <LOG>)) {

chomp ($str);

razbor_str ();

if (! ($name eq "-")) {

$traf {$name} = $traf {$name} + $raz;

};

};

close (LOG) || die "can't close file users";

};

sub print_traf {

open (SUMTRAF,">. /sumtraf. log") || die "can't open sum-log file";

$j=0;

while ($j<$i) {

print SUMTRAF $cnames [$j]," ", $traf {$cnames [$j] },"\n";

$j++;

};

close (SUMTRAF) || die "can't close sum-log file";

};

Страницы: 1, 2


© 2010 BANKS OF РЕФЕРАТ