Сетевая безопасность

Материал из Викиконспекты
Перейти к: навигация, поиск

Понятие сетевой безопасности

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

Сама по себе сетевая безопасность включает в себя 3 основных аспекта:

  1. Как взломщики могут атаковать компьютерные сети
  2. Как можно защитить компьютерные сети от атак
  3. Как разработать архитектуру сети, чтобы она была устойчива к атакам

Вредоносное ПО

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

  1. Шпионское ПО может записывать все нажатые клавиши на клавиатуре, посещенные веб-сайты и передавать их злоумышленнику, например, с целью хищения паролей
  2. Зараженный компьютер может использоваться ботнетом для спам или DDoS-атак
  3. Часто вредоносное ПО реплицируется и передается с зараженного компьютера дальше еще не зараженным

Троянский конь

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

Вирус

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

Червь

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

Логическая бомба

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

Зомби

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

Типы сетевых атак

Нормальный поток данных

Нормальный поток данных выглядит идейно следующим образом: Normal flow.png

Прерывание потока данных

По сути это атака на доступность какого-либо ресурса (DDoS (Distributed Denial of Service) атаки). Выглядит примерно так: Interrupted flow.png

Перехват данных

Эта атака происходит с целью похищения каких-либо конфиденциальных данных, при этом не меняя их. Изобразить можно следующим образом:

Intercepted flow.png

Модификация потока данных

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

Modified flow.png

Фабрикация данных

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

Fabricated flow.png

Подходы сетевой безопасности

Криптография

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

The Language Of Cryptography.png

В данном случае нам нужны такие ключи [math]K_{A}[/math] и [math]K_{B}[/math], что [math]m = K_{B}(K_{A}(m))[/math], где [math]m[/math] - исходное сообщение, а [math]K_{A}(m)[/math] - зашифрованное сообщение. Самое простое решение - использовать в качестве ключа некоторую другую перестановку алфавита, то есть словарь соответствия каждой букве какой-то другой. Минус такого подхода заключается в том, что очень быстро простым перебором можно подобрать ключ. Что же можно сделать? Разберемся, на чем основана криптография. Идея заключается в том, что алгоритм шифрования известен всем, а вот ключи являются секретными. Существует 2 основных типа криптографии: по симметричному ключу и по публичному ключу.

Шифрование по симметричному ключу

Оба собеседника используют один и тот же симметричный ключ. По факту у обоих есть ключ [math]K_{AB}[/math] такой, что [math]m = K_{AB}(K_{AB}(m))[/math], где [math]m[/math] - передаваемое сообщение, а [math]K_{AB}(m)[/math] - зашифрованное сообщение.

Symmetric Key Cryptography.png

Есть 2 типа симметричного ключа:

  1. Потоковый шифр - симметричный шифр, в котором каждый символ сообщения преобразуется в символ зашифрованного текста в зависимости от используемого ключа и его расположения в сообщении. Одним из самых популярных шифров данного типа является RC4. Он широко используется в алгоритмах обеспечения безопасности беспроводных сетей WEP и WPA, а также может использоваться в протоколах SSL и TLS. Этот шифр строится на основе генератора псевдослучайных битов. На вход генератора записывается ключ, а на выходе читаются псевдослучайные биты. Длина ключа может составлять от 40 до 2048 бит. Генерируемые биты при этом имеют равномерное распределение. Основными преимуществами RC4 являются высокая скорость работы и переменный размер ключа. При этом он довольно уязвим, если используются не случайные или связанные ключи или один ключевой поток используется дважды.
  2. Блочный шифр - симметричный шифр, оперирующий группами бит фиксированной длины - блоками, характерный размер которых меняется в пределах 64-256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют.