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

Автор работы: Пользователь скрыл имя, 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. на тему: ” Атаки на системы защиты информации. Алгоритм очереди на основе структуры " Товар".

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Выполнил: ст. гр. 107211 Корогода В.И.

 

Приняла:  ст. преподаватель  И.М.Желакович

 

 

 

 

 

 

 

 

 

Минск  2012

Содержание

Содержание 2

ВВЕДЕНИЕ 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

 

 

ВВЕДЕНИЕ

 

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

Язык С++ был разработан Бьерном Страуструпом в начале 80-х годов в AN&T Bell Labs. С++ был также стандартизирован комитетом ISO в рамках ISO/IEC 14882:1998 или как «Стандарт С++»(Standard C++).

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

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

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

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

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

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

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

 

1. Теоретические основы

 

1.1  Атаки сети, виды и защита

 

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

 

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

 

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

 

1.1.2 Почтовая бомбардировка

 

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

 

1.1.3 Атаки с подбором пароля

 

 Атакующий  систему хакер часто начинает  свои действия с попыток заполучить  пароль администратора или пользователя. Для того чтобы узнать пароль, существует великое множество  различных методов. Вот основные из них: IP-спуфинг и сниффинг пакетов - их мы рассмотрим позже. Внедрение в систему "троянского коня" - один из наиболее распространенных приемов, про него мы также расскажем подробнее в дальнейшем. Перебор "в лоб" (brute force attack - "атака грубой силой"). Существует много программ, которые осуществляют перебор паролей через Интернет или напрямую компьютере. Одни программы подбирают пароли по определенному словарю, другие просто генерируют случайным образом. Логический перебор пароля. Использующий этот метод злоумышленник просто подбирает возможные комбинации символов, которые могут быть использованы в качестве пароля. Такой метод обычно оказывается очень эффективным. Специалисты по компьютерной безопасности не перестают удивляться, до чего часто пользователи используют в качестве пароля такие "загадочные" комбинации как, 1234, qwerty или собственное имя, написанное задом наперед. Хакеры, подбирая  пароль, могут досконально изучить человека, использующего этот пароль. Имена членов семьи и родственников, домашних животных; спортивных команд; названия книг и кинофильмов – используются все эти данные и комбинации из них. Спастись от подобного можно, только используя в качестве пароля абсолютно случайную комбинацию символов, желательно сгенерированную программой. И необходимо регулярно менять пароль - следить за этим должен системный администратор. Социальная инженерия. Это использование хакером психологических приемов "работы" с пользователем. Типичный  пример - телефонный звонок от якобы "системного администратора" с заявлением вроде "У нас тут произошел сбой в системе, и информация о пользователях была утеряна. Не могли бы вы сообщить еще раз свой логин и пароль?". Так жертва сама отдает пароль в руки хакеру. Защититься от таких атак, помимо обычной бдительности, помогает система "одноразовых паролей".

 

1.1.4 Вирусы, почтовые черви и "троянские кони"

 

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

 

1.1.5 Сетевая разведка

 

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

 

1.1.6 Сниффинг пакетов

 

 Сниффер  представляет собой программу,  которая использует сетевую карту,  работающую в режиме promiscuous mode (в  этом режиме все пакеты, полученные  по физическим каналам). При этом  сниффер перехватывает все пакеты, которые передаются через атакуемый  домен. Во многих случаях снифферы  работают в сетях на вполне  законном основании - их используют  для диагностики неисправностей  и анализа трафика. Поэтому  далеко не всегда можно определить, используется или нет конкретная программа-сниффер злоумышленниками, и не произошло ли банальной подмены программы на аналогичную. При помощи сниффера можно узнать различную конфиденциальную информацию - такую, например, как имена пользователей и пароли. Связано это с тем, что ряд широко используемых сетевых приложений передает данные в текстовом формате (telnet, FTP, SMTP, POP3 и т.д.). Поскольку пользователи часто применяют одни и те же логин и пароль, даже однократный перехват этой информации несет серьезную угрозу информационной безопасности. Единожды завладев логином и паролем сотрудника, хакер может получить доступ к ресурсу на системном уровне и с его помощью создать фальшивого, пользователя, которого можно в любой момент использовать для доступа в Сеть. Впрочем, используя определенный набор средств, можно существенно смягчить угрозу сниффинга пакетов. Это достаточно сильные средства аутентификации, которые трудно обойти, даже используя "человеческий фактор". Например, однократные пароли (One-Time Passwords). Это технология двухфакторной аутентификации, при которой происходит сочетание того, что у вас есть, с тем, что вы знаете. При этом аппаратное или программное средство генерирует по случайному принципу уникальный одномоментный однократный пароль. Если хакер узнает этот пароль с помощью сниффера, эта информация будет бесполезной, потому что в этот момент пароль уже будет использован и выведен из употребления. Но это касается только паролей - к примеру, сообщения электронной почты все равно остаются незащищенными. Другой способ борьбы со сниффингом - использование анти-снифферов. Это аппаратные или программные средства, которые распознают снифферы. Они измеряют время реагирования хостов и определяют, не приходится ли хостам обрабатывать "лишний" трафик. Подобного рода средства не могут полностью ликвидировать угрозу сниффинга, но жизненно необходимы при построении комплексной системы защиты. Однако наиболее эффективной мерой, по мнению ряда специалистов, будет просто сделать работу снифферов бессмысленной. Для этого достаточно защитить передаваемые по каналу связи данные современными методами криптографии. В результате хакер перехватит не сообщение, а зашифрованный текст. Сейчас наиболее распространенными являются криптографические протоколы IPSec от корпорации Cisco, а также протоколы SSH (Secure Shell) и SSL (Secure Socket Layer).

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