Типы разрушающих программных средств

 

Вредоносное ПО — любое ПО, написанное с целью нанесения ущерба или использования ресурсов атакованного компьютера.

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

Черви — автономные программ, обычно воспроизводящиеся путём копирования себя на другие компьютерные сети.

Логические бомбы — простые программы, выполняющие вредоносное действие при наступлении некоторого условия.

Атаки на отказ в обслуживании — атакуются конкретные веб-узлы и вызывают переполнение за счёт преднамеренно направленного на них интернет-траффика большого объёма.

Вирусы — самовоспроизводящийся код, присоединяющийся к другим файлам.

· Файловые ВВ этого типа записывают свой код в тело файла таким образом, что при запуске программы он первым получает управление.

· Макрокоммандные (макро) — механика их распространения основывается на том, что существуют макрокомманды, которые запускаются при выполнении различных операций с документами.

· Загрузочные В.

· Комбинированные (файлово-загрузочные) — используют методы распространения, характерные для файловых и загрузочных вирусов.

· Простые и шифрующиеся В.

· Полиморфные В — даже после расшифровки отличаются отразличных особей одного вида.

· Стелсвирусы — после запуска оставляют в ОЗУ специальные модули, перехватывающие обращения программ к дисковой подсистеме.

 

 

Асимметричные алгоритмы шифрования

 

 

Алгоритмы асимметричного шифрования, как уже отмечалось, используют два ключа: 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.