Сетевая безопасность — различия между версиями
Juliet (обсуждение | вклад) |
|||
Строка 1: | Строка 1: | ||
+ | [[Категория:Компьютерные сети]] | ||
==Сетевая безопасность== | ==Сетевая безопасность== | ||
===Виды нарушителей и цели их действия=== | ===Виды нарушителей и цели их действия=== |
Текущая версия на 11:49, 5 июня 2009
Содержание
Сетевая безопасность
Виды нарушителей и цели их действия
Студент | Прочитать из любопытсва чужие письма |
Хакер | Проверить на прочность чужую систему безопасность; украсть данные |
Торговый агент | Притвориться представителем всей Европы, а не только Андорры |
Бизнесмен | Разведать стратегические торговые планы конкурента |
Уволенный сотрудник | Отомстить за увольнение |
Бухгалтер | Украсть деньги компании |
Биржевой брокер | Не выполнить обещание, данное клиенту по электронной почте |
Аферист | Украсть номера кредитных карт для продажи |
Шпион | Узнать военные или производственные секреты противника |
Террорист | Украсть секреты производства бактериологического оружия |
Шифрование данных
Стандарты шифрования
Wired Equivalent Privacy (WEP) - первый стандарт (ключ: 5 или 13 ASCII-символов) – не является достаточно криптостойким.
Wi-Fi Protected Access (WPA) – включает протоколы 802.1х, TKIP, MIC и стандарт шифрования AES (Advanced Encryption Standard):
- 802.1х - протокол аутентификации пользователей (нужен спец. RADIUS-сервер);
- TKIP (Temporal Key Integrity Protocol) – динамические ключи шифрования (очень часто меняются);
- MIC (Message Integrity Check) - проверка целостности сообщений (для предотвращения перехвата).
Любая точка доступа, и тем более беспроводной маршрутизатор, предоставляют в распоряжение пользователей возможность настраивать шифрование сетевого трафика при его передаче по открытой среде. Существует несколько стандартов шифрования, которые поддерживаются точками доступа.
Первым стандартом, использующимся для шифрования данных в беспроводных сетях, был стандарт WEP (Wired Equivalent Privacy). В соответствии со стандартом WEP шифрование осуществляется с помощью 40- или 104-битного ключа (некоторые модели беспроводного оборудования поддерживают и более длинные ключи), а сам ключ представляет собой набор ASCII-символов длиной 5 (для 40-битного) или 13 (для 104-битного ключа) символов. Набор этих символов переводится в последовательность шестнадцатеричных цифр, которые и являются ключом. Допустимо также вместо набора ASCII-символов напрямую использовать шестнадцатеричные значения (той же длины).
Как правило, в утилитах настройки беспроводного оборудования указываются не 40- или 104-битные ключи, а 64- или 128-битные. Дело в том, что 40 или 104 бита – это статическая часть ключа, к которой добавляется 24-битный вектор инициализации, необходимый для рандомизации статической части ключа. Вектор инициализации выбирается случайным образом и динамически меняется во время работы. В результате c учётом вектора инициализации общая длина ключа и получается равной 64 (40+24) или 128 (104+24) битам.
Протокол WEP-шифрования, даже со 128-битным ключом, считается не очень стойким, поэтому в устройствах стандарта 802.11g поддерживается улучшенный алгоритм шифрования WPA – Wi-Fi Protected Access, который включает протоколы 802.1х, EAP, TKIP и MIC.
Протокол 802.1х — это протокол аутентификации пользователей. Для своей работы данный протокол требует наличия выделенного RADIUS-сервера, которого в домашней сети, естественно, нет. Поэтому воспользоваться данным протоколом в домашних условиях не удастся.
Протокол TKIP (Temporal Key Integrity Protocol) – это реализация динамических ключей шифрования. Ключи шифрования имеют длину 128 бит и генерируются по сложному алгоритму, а общее количество возможных вариантов ключей достигает сотни миллиардов, и меняются они очень часто.
При использовании для настройки адаптера клиента Microsoft откройте диалоговое окно Wireless Network Connection Properties (Свойства беспроводного сетевого соединения) и на вкладке «Wireless Networks» (беспроводные сети) выберите нужный профиль беспроводного соединения. Нажмите на кнопку «Properties» (Свойства) и в открывшемся диалоговом окне установите тип сетевой аутентификации (Network Authentication) Shared, тип шифрования (Data encryption) WEP и введите точно такой же ключ шифрования, который был задан при настройке точки доступа.
Даже не принимая во внимания тот факт что WEP, предшественник WPA, не обладает какими-либо механизмами аутентификации пользователей как таковой, его ненадёжность состоит, прежде всего, в криптографической слабости алгоритма шифрования. Ключевая проблема WEP заключается в использовании слишком похожих ключей для различных пакетов данных.
TKIP, MIC и 802.1X (части уравнения WPA) внесли свою лепту в усиление шифрования данных сетей, использующих WPA.
TKIP отвечает за увеличение размера ключа с 40 до 128 бит, а так же за замену одного статического ключа WEP ключами, которые автоматически генерируются и рассылаются сервером аутентификации. Кроме того в TKIP используется специальная иерархия ключей и методология управления ключами, которая убирает излишнюю предсказуемость, которая использовалась для несанкцианированного снятия защиты WEP ключей.
Сервер аутентификации, после получения серитификата от пользователя, использует 802.1X для генерации уникального базового ключа для сеанса связи. TKIP осуществляет передачу сгенерированного ключа пользователю и точке доступа, после чего выстраивает иерархию ключей плюс систему управления. Для этого используется двусторонний ключ для динамической генерации ключей шифрования данных, которые в свою очередь используются для шифрования каждого пакета данных. Подобная иерархия ключей TKIP заменяет один ключ WEP (статический) на 500 миллиардов возможных ключей, которые будут использованы для шифрования данного пакета данных.
Другим важным механизмом является проверка целостности сообщений (Message Integrity Check, MIC). Ее используют для предотвращения перехвата пакетов данных, содержание которых может быть изменено, а модифицированный пакет вновь передан по сети. MIC построена на основе мощной математической функции, которая применяется на стороне отправителя и получателя, после чего сравнивается результат. Если проверка показывает на несовпадение результатов вычислений, данные считаются ложными и пакет отбрасывается.
При этом механизмы шифрования, которые используются для WPA и WPA-PSK, являются идентичными. Единственное отличие WPA-PSK состоит в том, что аутентификация производится с использованием пароля, а не по сертификату пользователя.
Понятие сетевой безопасности
Подойдем к раскрытию понятия сетевой безопасности, используя примеры.
При общении по электронной почте клиент посылает приватные сообщения и хочет быть уверенным, что полученное сообщение послано именно отправителем и текст сообщения не поменялся по дороге.
Также можно осуществлять электронные покупки. При этом клиент должен платить за вещи и не бояться, что кто-то украдет номер его карточки и электронный магазин должен быть уверен, что покупки совершает именно владелец карточки.
В обоих случаях речь идет о сетевой безопасности. Ее основные аспекты:
- конфиденциальность;
- целостность данных;
- аутентификация;
- доступность.
Конфиденциальность
Конфиденциальность – только отправитель и получатель должны знать содержимое сообщения.
Целостность данных
Целостность данных – злоумышленник не должен иметь возможность изменить передаваемые данные.
Аутентификация
Аутентификация - установление подлинности пользователя.
Доступность
Доступность – злоумышленник не должен помешать передаче данных.
Угрозы безопасности
- Сниффинг пакетов (Wireshark, вардрайвинг, спутниковая рыбалка)
- IP-спуфинг (подмена IP-адреса).
Подробнее
IP-спуфинг (spoof по-английски „мистификация“) — это вид хакерской атаки, заключающийся в использовании чужого IP-адреса с целью обмана системы безопасности. Метод, используемый в некоторых атаках. Состоит в проставлении в поле обратного (source) адреса IP-пакета неверного адреса. Применяется с целью сокрытия истинного адреса атакующего, с целью вызвать ответный пакет на нужный адрес и с иными целями.
Протокол транспортного уровня TCP имеет встроенный механизм для предотвращения спуфинга — так называемые номера последовательности и подтверждения (sequence number, acknowledgement number). Протокол UDP не имеет такого механизма, следовательно, построенные на его основе приложения более уязвимы для спуфинга.
ПримерПредположим, что A “доверяет” B (не требует пароля). Z блокирует B посылая кучу запросов (DoS-атака). Z посылает запрос на подключение (SYN) к A от имени B. A соглашается, посылая ACK к B. B не может сообщить об ошибке (он атакован). Z посылает команды A (например, отправить файл с паролями к B).
- Аутентификация (Authentication)
- Перехват ключа/пароля
- Подбор (Brute Force)
Подробнее
Многие системы позволяют использовать слабые пароли или ключи шифрования, и пользователи часто выбираю легко угадываемые или содержащиеся в словарях парольные фразы.
Используя эту ситуацию, злоумышленник может воспользоваться словарем и попытаться использовать тысячи или даже миллионы содержащихся в нем комбинаций символов в качестве пароля. Если испытуемый пароль позволяет получить доступ к системе, атака считается успешной и атакующий может использовать учетную запись.
Подобная техника проб и ошибок может быть использована для подбора ключей шифрования. В случае использования севером ключей недостаточной длины, злоумышленник может получить используемый ключ, протестировав все возможные комбинации.
Существует два вида подбора: прямой и обратный. При прямом подборе используются различные варианты пароля для одного имени пользователя. При обратном перебераются различные имена пользователей, а пароль остается неизменным. В системах с миллионами учетных записей вероятность использования различными пользователями одного пароля довольно высока. Не смотря на популярность и высокую эффективность, подбор может занимать несколько часов, дней или лет.
Пример прямого подбораИмя пользователя = Jon Пароли = smith, michael-jordan, [pet names], [birthdays], [car names], ...
Пример обратного подбораПароль = 12345678 Имена пользователей = Jon, Dan, Ed, Sara, Barbara, ...
- Недостаточная аутентификация (Insufficient Authentication)
Подробнее
Эта уязвимость возникает, когда Web-сервер позволяет атакующему получать доступ к важной информации или функциям сервера без должной аутентификации.
ПримерыМногие Web-приложения по умолчанию используют для административного доступа ссылку в корневой директории сервера (/admin/). Обычно ссылка на эту страницу не фигурирует в содержимом сервера, однако страница доступна с помощью стандартного браузера. Поскольку пользователь или разработчик предполагает, что никто не воспользуется этой страницей, так как ссылки на неё отсутствует, зачастую реализацией аутентификации пренебрегают. И для получения контроля над сервером злоумышленнику достаточно зайти на эту страницу.
Другой пример – аутентификация по IP-адресу. IP-адрес можно подменить.
- Man-in-the-Middle - «человек посередине»
Подробнее
Man-in-the-Middle - «человек посередине» — термин в криптографии, обозначающий ситуацию, когда атакующий способен читать и видоизменять по своей воле сообщения, которыми обмениваются корреспонденты, причём ни один из последних не может догадаться о его присутствии в канале.
Пример: FTP, TelNetПример использования: для пересылки файла FTP-клиент может посылать команду PORT мой IP-адрес, порт , а потом RETR имя файла. Пусть администратор зашел на сервер по FTP. Тогда злоумышленник может послать IP-пакет с вышеуказанными командами FTP, указав в заголовке сетевого уровня IP-адрес администратора (чтобы пакет не заподозрили и отправили приложению FTP), а в параметрах FTP-команды – свой IP-адрес и имя файла с логинами и паролями. Готово! Один пакет – и удаленный компьютер полностью под нашим контролем (так как мы знаем логин и пароль администратора).
Для TelNet – то же самое. Во время работы администратора, можно отправить команду операционной системе «скопировать файл с паролями на удаленный компьютер».
- Атаки типа: «отказ в обслуживании»
- ICMP пакеты длиннее 65 Кб (ping of death) (1996 г.)
Подробнее
On the Internet, ping of death is a denial of service (DoS) attack caused by an attacker deliberately sending an IP packet larger than the 65,536 bytes allowed by the IP protocol. One of the features of TCP/IP is fragmentation; it allows a single IP packet to be broken down into smaller segments. In 1996, attackers began to take advantage of that feature when they found that a packet broken down into fragments could add up to more than the allowed 65,536 bytes. Many operating systems didn't know what to do when they received an oversized packet, so they froze, crashed, or rebooted. Ping of death attacks were particularly nasty because the identity of the attacker sending the oversized packet could be easily spoofed and because the attacker didn't need to know anything about the machine they were attacking except for its IP address. By the end of 1997, operating system vendors had made patches available to avoid the ping of death. Still, many Web sites continue to block Internet Control Message Protocol (ICMP) ping messages at their firewalls to prevent any future variations of this kind of denial of service attack.
- Лавинные атаки
- Недостаточное противодействие автоматизации
Подробнее
Недостаточное противодействие автоматизации возникает, когда сервер позволяет автоматически выполнять операции, которые должны проводиться вручную. Для некоторых функций приложения необходимо реализовывать защиту от автоматических атак. Автоматизированные программы могут варьироваться от безобидных роботов поисковых систем до систем автоматизированного поиска уязвимостей и регистрации учетных записей. Подобные роботы генерируют тысячи запросов в минуту, что может привести к падению производительности всего приложения. Чтобы противодействовать ботам, используется CAPTCHA (от англ. «Completely Automated Public Turing test to tell Computers and Humans Apart» — полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей) Основная идея теста: предложить пользователю такую задачу, которую может решить человек, но которую крайне трудно научить решать компьютер. В основном это задачи на распознавание символов.
- Распределенные атаки (Distributed Denial of Service)
Подробнее
Флуд (англ. flood) — атака, связанная с большим количеством обычно бессмысленных или сформированных в неправильном формате запросов к компьютерной системе или сетевому оборудованию, имеющая своей целью или приведшая к отказу в работе системы из-за исчерпания ресурсов системы — процессора, памяти либо каналов связи.
Если атака (обычно флуд) производится одновременно с большого количества IP-адресов, то в этом случае она называется распределённой атакой на отказ в обслуживании (DDoS).
Существует мнение, что специальные средства для обнаружения DoS-атак не требуются, поскольку факт DoS-атаки невозможно не заметить. Во многих случаях это действительно так. Однако достаточно часто отмечались успешные атаки, которые были замечены жертвами лишь через 2-3 суток. Бывало, что негативные последствия атаки (типа флуд) заключались в излишних расходах по оплате трафика, что выяснялось лишь при получении счёта. Кроме того, многие методы обнаружения атак неэффективны вблизи цели атаки, но эффективны на магистральной сети. В таком случае целесообразно ставить системы обнаружения именно там, а не дожидаться, пока пользователь, подвергшийся атаке, сам её заметит и обратится за помощью. К тому же, для эффективного противодействия необходимо знать тип, характер и другие показатели DoS-атаки, а оперативно получить эти сведения как раз и позволяют системы обнаружения.
Методы обнаружения можно разделить на несколько больших групп:
- сигнатурные — основанные на качественном анализе трафика;
- статистические — основанные на количественном анализе трафика;
- гибридные — сочетающие в себе достоинства двух предыдущих методов.
ПримерMydoom (известен также как Novarg) — почтовый червь для Microsoft Windows и Windows NT, эпидемия которого началась 26 января 2004. Распространялся по электронной почте и через файлообменную сеть Kazaa. Файл-носитель червя имеет размер около 28 килобайт и содержит текстовую строку «sync-1.01; andy; I’m just doing my job, nothing personal, sorry». При заражении компьютера Mydoom модифицирует операционную систему, блокируя доступ к сайтам многих антивирусных компаний, новостным лентам и различным разделам сайта компании Microsoft. В период с 1 по 12 февраля Mydoom.A проводил DDoS‑атаку на сайт Microsoft, а Mydoom.B — на сайт SCO Group.
За несколько дней до того SCO Group заявила, что подозревает в создании червя сторонников операционной системы GNU/Linux, в которой якобы использовался принадлежавший SCO код, и объявила награду в 250 тысяч долларов за информацию, которая поможет поймать создателей MyDoom.
- SYN-атака: отправка множества запросов (SYN) на установление TCP-соединения
Подробнее
SYN атака -это один из типов DDoS атак. Мы можем говорить, что хост жертвы подвергся SYN атаке, в случае, когда злоумышленник пытается создать огромное количество подключений в состоянии SYN RECEIVED до тех пор, пока не переполнится очередь соединений. Состояние SYN RECEIVED создается, когда хост жертвы получает запрос на подключение (пакет с набором флага SYN) и распределяет для этого некоторые ресурсы памяти. При SYN атаке создается такое количество полуоткрытых подключений, что система переполняется и больше не может обрабатывать поступающие запросы.
- Эхо-атака: отправка серии широковещательных ICMP-запросов с IP-адресом отправителя, подмененным на IP жертвы. Ответы – переполнят сеть жертвы.
Подробнее
In such an attack, a perpetrator sends a large amount of ICMP echo request (ping) traffic to IP broadcast addresses, all of which have a spoofed source IP address of the intended victim. If the routing device delivering traffic to those broadcast addresses delivers the IP broadcast to all hosts (for example via a layer 2 broadcast), most hosts on that IP network will take the ICMP echo request and reply to it with an echo reply, multiplying the traffic by the number of hosts responding. On a multi-access broadcast network, hundreds of machines might reply to each packet. In the late 1990s, many IP networks would participate in Smurf attacks (that is, they would respond to pings to broadcast addresses). Today, thanks largely to the ease with which administrators can make a network immune to this abuse, very few networks remain vulnerable to Smurf attacks.
- Вирусы
Подробнее
Внедряют себя в исполняемый код других программ/документов.
- Сетевые черви
Подробнее
Являются отдельные программами.
ПримерыKido, Conficker
- Троянские программы
Подробнее
Троянская программа (также — троян, троянец, троянский конь, трой) — программа, используемая злоумышленником для сбора информации, её разрушения или модификации, нарушения работоспособности компьютера или использования его ресурсов в неблаговидных целях. Действие троянской программы может и не быть в действительности вредоносным, но трояны заслужили свою дурную славу за их использование в инсталляции программ типа Backdoor. По принципу распространения и действия троян не является вирусом, так как не способен распространяться саморазмножением.
- Сетевая разведка
Подробнее
Сетевая разведка включает в себя сканирование портов, шпионские программы. Ее неотъемлимой частью является заметание следов (Rootkit). Rootkit (руткит, от англ. root kit, то есть «набор root'а») — программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе.
- Инъекция (SQL, PHP, XPath)
- Переполнение буфера
- Атака на функции форматирования строк
Подробнее
При использовании этих атак путь исполнения программы модифицируется методом перезаписи областей памяти с помощью функций форматирования символьных переменных. Уязвимость возникает, когда пользовательские данные применяются в качестве аргументов функций форматирования строк, таких как fprintf, printf, sprintf, setproctitle, syslog и т.д. Если атакующий передает приложению строку, содержащую символы форматирования ("%f", "%p", "%n" и т.д.), то у него появляется возможность:
- выполнить произвольный код на сервере;
- считывать значения из стека;
- вызывать ошибки в программе/отказ в обслуживании.
- Выполнение команд ОС
Подробнее
Атаки этого класса направлены на выполнение команд операционной системы на Web-сервере путем манипуляции входными данными. Если информация, полученная от клиента, должным образом не верифицируется, атакующий получает возможность выполнить команды ОС. Они будут выполняться с тем же уровнем привилегий, с каким работает компонент приложения, выполняющий запрос (сервер СУБД, Web-сервер и т.д).
- Человеческий фактор