Атаки на системы защиты информации. Алгоритм очереди на основе структуры " Товар"

Автор работы: Пользователь скрыл имя, 01 Октября 2013 в 16:30, курсовая работа

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

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

Содержание работы

ВВЕДЕНИЕ 3
1. Теоретические основы 5
1.1 Атаки сети, виды и защита 5
1.1.1 Классификация 5
1.1.2 Почтовая бомбардировка 5
1.1.3 Атаки с подбором пароля 6
1.1.4 Вирусы, почтовые черви и "троянские кони" 7
1.1.5 Сетевая разведка 7
1.1.6 Сниффинг пакетов 8
1.1.7 IP-спуфинг 9
1.1.8 Атака на отказ в обслуживании 10
1.1.9 Атаки типа Man-in-the-Middle 12
1.1.10 Использование "дыр" и "багов" в ПО 12
2. Постановка задачи 14
3. Описание программы 15
3.1 Описание данных 15
4. Блок схема 17
5. Руководство пользователя 18
6. Тестирование программы 19
7. ЗАКЛЮЧЕНИЕ 21
8. Список используемой литературы 22

Файлы: 1 файл

Записка к курсовой.docx

— 1.99 Мб (Скачать файл)

 

1.1.7 IP-спуфинг

 

 Спуфинг  - это вид атаки, при которой  хакер внутри организации или  за ее пределами выдает себя  за санкционированного пользователя. Для этого существуют различные  способы. Например, хакер может  воспользоваться IP-адресом, находящимся  в пределах диапазона санкционированных  к применению в рамках Сети  данной организации IP-адресов,  или авторизованным внешним адресом,  в случае если ему разрешен  доступ к определенным сетевым  ресурсам. Кстати, IP-спуфинг часто  используется как составная часть  более сложной, комплексной атаки.  Типичный пример - атака DDoS, для  осуществления которой хакер  обычно размещает соответствующую  программу на чужом IP-адресе, чтобы  скрыть свою истинную личность. Однако чаще всего IP-спуфинг  используется для выведения из  строя системы при помощи ложных  команд, а также для воровства  конкретных файлов или, наоборот, внедрения в базы данных ложной  информации. Полностью устранить  угрозу спуфинга практически  невозможно, но ее можно существенно  ослабить. Например, имеет смысл  настроить системы безопасности  таким образом, чтобы они отсекали  любой трафик, поступающий из  внешней сети с исходным адресом,  который должен на самом деле  находиться в сети внутренней. Впрочем, это помогает бороться  с IP-спуфингом, только когда  санкционированными являются лишь  внутренние адреса. Если таковыми  являются и некоторые внешние  адреса, использование данного метода  теряет смысл. Неплохо также  на всякий случай заблаговременно  пресечь попытки спуфинга чужих  сетей пользователями вашей сети - эта мера может позволить  избежать целого ряда неприятностей,  если внутри организации объявится  злоумышленник или просто компьютерный  хулиган. Для этого нужно использовать  любой исходящий трафик, если  его исходный адрес не относится ко внутреннему диапазону IP-адресов организации. При необходимости данную процедуру может выполнять и провайдер услуг Интернет. Этот тип фильтрации известен под названием "RFC 2827". Опять-таки, как и в случае со сниффингом пакетов, самой лучшей защитой будет сделать атаку абсолютно неэффективной. IP-спуфинг может быть реализован только при условии, что аутентификация пользователей происходит на базе IP-адресов. Поэтому криптошифрование аутентификации делает этот вид атак бесполезными. Впрочем, вместо криптошифрования с тем же успехом можно использовать случайным образом генерируемые одноразовые пароли.

 

1.1.8 Атака на отказ в обслуживании

 

 Сегодня  одна из наиболее распространенных  в мире форм хакерских атак - атака на отказ в обслуживании (Denial of Service - DoS). Между тем, это  одна из самых молодых технологий - ее осуществление стало возможно  только в связи с действительно  повсеместным распространением  Интернета. Не случайно о DoS-атаках  широко заговорили только после  того, как в декабре 1999 года  при помощи этой технологии  были "завалены" web-узлы таких  известных корпораций, как Amazon, Yahoo, CNN, eBay и E-Trade. Хотя первые сообщения  о чем-то похожем появились  еще в 1996 году, до "рождественского  сюрприза" 1999 года DoS-атаки не воспринимались  как серьезная угроза безопасности  в Сети. Однако спустя год, в  декабре 2000-го, все повторилось: web-узлы  крупнейших корпораций были атакованы  по технологии DoS, а их системные  администраторы вновь не смогли  ничего противопоставить злоумышленникам.  Ну а в 2001 году DoS-атаки стали  уже обычным делом. Собственно  говоря, DoS-атаки производятся отнюдь  не для кражи информации или  манипулирования ею. Основная их  цель - парализовать работу атакуемого web-узла. В сущности, это просто  сетевой терроризм. Не случайно поэтому американские спецслужбы подозревают, что за многими DoS-атаками на серверы крупных корпораций стоят пресловутые антиглобалисты. Действительно, одно дело швырнуть кирпич в витрину "Макдональдса" где-нибудь в Мадриде или Праге, и совсем другое - "завалить" сайт этой суперкорпорации, давно уже ставшей своего рода символом глобализации мировой экономики. DoS-атаки опасны еще и тем, что для их развертывания кибертеррористам не требуется обладать какими-то особенными знаниями и умениями - все необходимое программное обеспечение вместе с описаниями самой технологии совершенно свободно доступно в Интернете. К тому же от подобного рода атак очень сложно защититься. В общем случае технология DoS-атаки выглядит следующим образом: на выбранный в качестве мишени web-узел обрушивается шквал ложных запросов со множества компьютеров по всему миру. В результате, обслуживающие узел серверы оказываются парализованы и не могут обслуживать запросы обычных пользователей. При этом пользователи компьютеров, с которых направляются ложные запросы, и не подозревают о том, что их машина тайком используется злоумышленниками. Такое распределение "рабочей нагрузки" не только усиливает разрушительное действие атаки, но и сильно затрудняет меры по ее отражению, не позволяя выявить истинный адрес координатора атаки. Сегодня наиболее часто используются следующие разновидности DoS-атак:

- Smurf - ping-запросы  ICMP (Internet Control Message Protocol) по адресу  направленной широковещательной  рассылки. Используемый в пакетах  этого запроса фальшивый адрес  источника в результате оказывается  мишенью атаки. Системы, получившие  направленный широковещательный  ping-запрос, отвечают на него и  "затапливают" сеть, в которой  находится сервер-мишень.

- ICMP flood - атака, аналогичная Smurf, только  без усиления, создаваемого запросами  по направленному широковещательному  адресу.

- UDP flood - отправка на адрес системы-мишени  множества пакетов UDP (User Datagram Protocol), что приводит к "связыванию" сетевых ресурсов.

- TCP flood - отправка на адрес системы-мишени  множества TCP-пакетов, что также  приводит к "связыванию" сетевых  ресурсов.

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

 В  случае атаки трафик, предназначенный  для переполнения атакуемой сети, необходимо "отсекать" у провайдера  услуг Интернет, потому что на  входе в Сеть сделать это  уже будет невозможно - вся полоса  пропускания будет занята. Когда  атака этого типа проводится  одновременно через множество  устройств, говорится о распределенной  атаке DoS (Distributed Denial of Service - DDoS). Угрозу DoS-атак можно снизить несколькими  способами. Во-первых, необходимо  правильно сконфигурировать функции  анти-спуфинга на маршрутизаторах  и межсетевых экранах. Эти функции  должны включать, как минимум,  фильтрацию RFC 2827. Если хакер будет  не в состоянии замаскировать  свою истинную личность, он вряд  ли решится на проведение атаки.  Во-вторых, необходимо включить и  правильно сконфигурировать функции  анти-DoS на маршрутизаторах и межсетевых экранах. Эти функции ограничивают число полуоткрытых каналов, не позволяя перегружать систему. Также рекомендуется при угрозе DoS-атаки ограничить объем проходящего по Сети некритического трафика. Об этом уже нужно договариваться со своим интернет-провайдером. Обычно при этом ограничивается объем трафика ICMP, так как он используется сугубо для диагностических целей.

 

1.1.9 Атаки типа Man-in-the-Middle

 

 Этот тип атак весьма характерен для промышленного шпионажа. При атаке типа Man-in-the-Middle хакер должен получить доступ к пакетам, передаваемым по Сети, а потому в роли злоумышленников в данном случае часто выступают сами сотрудники предприятия или, к примеру, сотрудник фирмы-провайдера. Для атак Man-in-the-Middle часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Цель подобной атаки, соответственно, - кража или фальсификация передаваемой информации или же получение доступа к ресурсам сети. Защититься от подобных атак крайне сложно, так как обычно это атаки "крота" внутри самой организации. Поэтому в чисто техническом плане обезопасить себя можно только путем криптошифрования передаваемых данных. Тогда хакер вместо необходимых ему данных получит мешанину символов, разобраться в которой, не имея под рукой суперкомпьютера, попросту невозможно. Впрочем, если злоумышленнику повезет, и он сможет перехватить информацию о криптографической сессии, шифрование данных автоматически потеряет всяческий смысл. Так что "на переднем крае" борьбы в данном случае должны находиться не "технари", а кадровый отдел и служба безопасности предприятия.

 

1.1.10 Использование "дыр" и "багов" в ПО

 

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

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

 

2. Постановка задачи

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

Предусмотреть заполнение очереди из файла (подготовить  файл на 20 элементов).

Предусмотреть многоуровневое меню:

  1. Заполнение очереди
    1. с консоли (циклически)
    2. из файла (выбор файла, тек. папка, любая папка)
  2. Удаление элемента из очереди (циклически)
    1. безвозвратно
    2. с сохранением в файл
  3. Очистка очереди (с выводом удаляемых элементов)
    1. безвозвратно
    2. с сохранением в файл
  4. Вывод элементов, содержащихся в очереди
    1. на экран
    2. в файл
  5. Вывод количества элементов в очереди
  6. Сдвиг всех элементов очереди к началу при наличии пустых мест в начале очереди (для статического варианта)
  7. Выход

Реализовать алгоритм обработки исключений.

Проанализировать  достоинства и недостатки статического и динамического вариантов.

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

 

3. Описание программы

3.1 Описание данных

1) void vvodMass();

Функция vvodMass отвечает за выбор способа ввода данных.

2) void consolVvodMass();

Функция consolVvodMass отвечает за ввод данных в массив с консоли и обеспечивает его.

3) void vivodFileMass();

Функция vivodFileMass обеспечивает вывод данных массива в файл.

4) void vivodEkranMass();

Функция vivodEkranMass обеспечивает вывод данных массива на экран.

5) void delElem();

Функция delElem отвечает за выбор способа удаления элементов массива или очереди.

6) void clean();

Функция clean отвечает за выбор способа очистки массива или очереди.

7) void vivodElem();

Функция vivodElem обеспечивает выбор варианта вывода элементов массива или очереди на экран или в файл.

8) void vivodColMass();

Функция vivodColMass обеспечивает вывод количества элементов массива.

9) void vivodColStruct();

Функция vivodColStruct обеспечивает вывод количества элементов очереди.

10) void sdvig();

Функция sdvig обеспечивает выбор сдвига элементов массива или очереди.

11) void sdvigMass();

Функция sdvigMass обеспечивает сдвиг элементов массива.

12) void sdvigStruct();

Функция sdvigStruct обеспечивает сдвиг элементов очереди.

13) void FromFileMass();

Функция FromFileMass обеспечивает считывание массива структур из файла.

14) void FromFileStruct();

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

15) void BezvDelMass();

Функция BezvDelMass обеспечивает безвозвратное удаление элемента массива.

16) void BezvDelStruct();

функция BezvDelStruct обеспечивает безвозвратное удаление элемента очереди.

17) void DelInFileMass();

Функция DelInFileMass обеспечивает удаление элемента массива с сохранением в файл.

18) void DelInFileStruct();

Функция DelInFileStruct обеспечивает удаление элемента очереди с сохранением в файл.

19) void BezvCleanMass();

Функция BezvCleanMass обеспечивает безвозвратную очистку массива.

20) void BezvCleanStruct();

Функция BezvCleanStruct обеспечивает безвозвратную очистку структуры.

21) void CleanInFileMass();

Функция CleanInFileMass обеспечивает очистку массива с сохранением элементов в файл.

22) void CleanInFileStruct();

Функция CleanInFileStruct обеспечивает очистку очереди с сохранением элементов в файл.

23) void chooseMethod();

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

24) void FromFileChain();

Функция FromFileChain обеспечивает ввод элементов очереди из файла.

25) void consolVvodStruct();

Функция consolVvodStruct обеспечивает ввод элементов очереди с консоли.

26) void vivodEkranStruct();

Функция vivodEkranStruct обеспечивает вывод элементов очереди на экран.

Информация о работе Атаки на системы защиты информации. Алгоритм очереди на основе структуры " Товар"