Типы разрушающих программных средств
Вредоносное ПО — любое ПО, написанное с целью нанесения ущерба или использования ресурсов атакованного компьютера.
Троянские кони — программы, выполняющие нелегальное действие и скрытые внутри обычных программ.
Черви — автономные программ, обычно воспроизводящиеся путём копирования себя на другие компьютерные сети.
Логические бомбы — простые программы, выполняющие вредоносное действие при наступлении некоторого условия.
Атаки на отказ в обслуживании — атакуются конкретные веб-узлы и вызывают переполнение за счёт преднамеренно направленного на них интернет-траффика большого объёма.
Вирусы — самовоспроизводящийся код, присоединяющийся к другим файлам.
· Файловые В — В этого типа записывают свой код в тело файла таким образом, что при запуске программы он первым получает управление.
· Макрокоммандные (макро) — механика их распространения основывается на том, что существуют макрокомманды, которые запускаются при выполнении различных операций с документами.
· Загрузочные В.
· Комбинированные (файлово-загрузочные) — используют методы распространения, характерные для файловых и загрузочных вирусов.
· Простые и шифрующиеся В.
· Полиморфные В — даже после расшифровки отличаются отразличных особей одного вида.
· Стелсвирусы — после запуска оставляют в ОЗУ специальные модули, перехватывающие обращения программ к дисковой подсистеме.
Асимметричные алгоритмы шифрования
Алгоритмы асимметричного шифрования, как уже отмечалось, используют два ключа: k1 - ключ зашифрования, или открытый, и k2 - ключ расшифрования, или секретный. Открытый ключ вычисляется из секретного: k1 = f(k2).
Асимметричные алгоритмы шифрования основаны на применении однонаправленных функций. Согласно определению, функция y = f(x) является однонаправленной, если: ее легко вычислить для всех возможных вариантов x и для большинства возможных значений y достаточно сложно вычислить такое значение x, при котором y = f(x).
Еще один важный класс функций, используемых в асимметричном шифровании, - однонаправленные функции с потайным ходом. Их определение гласит, что функция является однонаправленной с потайным ходом, если она является однонаправленной и существует возможность эффективного вычисления обратной функции x = f-1(y), т. е. если известен "потайной ход" (некое секретное число, в применении к алгоритмам асимметричного шифрования - значение секретного ключа).
Однонаправленные функции с потайным ходом используются в широко распространенном алгоритме асимметричного шифрования RSA.
Алгоритм RSA
Надежность алгоритма основывается на сложности факторизации больших чисел и вычисления дискретных логарифмов. Основной параметр алгоритма RSA - модуль системы N, по которому проводятся все вычисления в системе, а N = P*Q (P и Q - секретные случайные простые большие числа, обычно одинаковой размерности).
Секретный ключ k2 выбирается случайным образом и должен соответствовать следующим условиям:
1<k2<F(N)
НОД(k2, F(N)) = 1,
Открытый ключ k1 вычисляется из соотношения (k2*k1 ) = 1 mod F(N), и для этого используется обобщенный алгоритм Евклида (алгоритм вычисления наибольшего общего делителя). Зашифрование блока данных M по алгоритму RSA выполняется следующим образом: C = M[в степени k1] mod N. Заметим, что, поскольку в реальной криптосистеме с использованием RSA число k1 весьма велико (в настоящее время его размерность может доходить до 2048 бит), прямое вычисление M[в степени k1] нереально. Для его получения применяется комбинация многократного возведения M в квадрат с перемножением результатов.
Обращение данной функции при больших размерностях неосуществимо; иными словами, невозможно найти M по известным C, N и k1. Однако, имея секретный ключ k2, при помощи несложных преобразований можно вычислить M = Ck2 mod N. Очевидно, что, помимо собственно секретного ключа, необходимо обеспечивать секретность параметров P и Q. Если злоумышленник добудет их значения, то сможет вычислить и секретный ключ k2.