Международные стандарты информационного обмена

Условия и требования, предъявляемые к системам защиты информации. Шифрование и кодирование данных. Криптостойкость шифра. Физические принципы удаления и восстановления информации на жестких магнитных дисках. Вирусы и антивирусное программное обеспечение.

Рубрика Программирование, компьютеры и кибернетика
Вид учебное пособие
Язык русский
Дата добавления 15.11.2012
Размер файла 229,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Современные блочные шифры

Современные криптосистемы ориентированы на программно-аппаратные методы реализации. Блочные криптосистемы представляют собой блочные (групповые) шифрпреобразования. Блочная криптосистема разбивает открытый текст М на последовательные блоки M1, M2,... и зашифровывает каждый блок с помощью одного и того же обратимого преобразования Ek, выполненного с помощью ключа К. Ek(М)=Ek(M1), Ek(M2),.… Любое из них можно рассматривать как последовательность операций, проводимых с элементами ключа и открытого текста, а так же производными от них величинами. Произвол в выборе элементов алгоритма шифрования достаточно велик, однако "элементарные" операции должны обладать хорошим криптографическими свойствами и допускать удобную техническую или программную реализацию. Обычно используются операции:

- побитового сложения по модулю 2 (обозначение операции Е) двоичных векторов (XOR):

0SYMBOL 197 \f "Symbol" \s 12Е 0=0

0SYMBOL 197 \f "Symbol" \s 12Е 1=1

1SYMBOL 197 \f "Symbol" \s 12Е 1=0

- сложение целых чисел по определенному модулю:

например, по модулю 232, обозначение операции - +

a + b= a+b

если a+b<232,

а + b= a+b-232

если a+bSYMBOL 179 \f "Symbol" \s 12і232,

где + - сложение целых чисел;

- умножение целых чисел по определенному модулю:

ab(mod n) = res(ab/n) - остаток от деления произведения целых чисел ab на n;

- перестановка битов двоичных векторов;

- табличная замена элементов двоичных векторов.

Практическая стойкость алгоритмов шифрования зависит и от особенностей соединения операций в последовательности. Примерами блочных систем являются алгоритмы блочного шифрования, принятые в качестве стандартов шифрования данных в США и России - DES-алгоритм и ГОСТ-28147-89 соответственно.

DES - алгоритм

В 1973 году Национальное Бюро Стандартов США начало работы по созданию стандарта шифрования данных на ЭВМ. Был объявлен конкурс, который выиграла фирма IBM, представившая алгоритм шифрования, сейчас известный как DES-алгоритм (Data Encryption Standard) /3/.

Рассмотрим работу DES-алгоритма в простейшем (базовом) режиме ЕСВ - электронной кодовой книги. Алгоритм работы показан на рисунке 5.

Входные 64-битовые векторы, называемые блоками открытого текста, преобразуются в выходные 64-битовые векторы, называемые блоками шифртекста, с помощью 56-битового ключа К (число различных ключей равно 256=7*106)

Алгоритм реализуется в 16 аналогичных циклах шифрования, где в i-ом цикле используется цикловой ключ Ki, предоставляющий собой выборку 48 битов из 56 битов ключа К. Реализация алгоритма функции f показана на рисунке 1.6. Здесь операция Е - расширение 32-битового вектора до 48-битового, операция Sj (S-боксы) - замена 6-битовых векторов на 4 - битовые.

Основным недостатком алгоритма считается 56-битовый ключ, слишком короткий для противостояния полному перебору ключей на специализированном компьютере. Недавние результаты показали, что современное устройство стоимостью 1 млн. долл. способно вскрыть секретный ключ с помощью полного перебора в среднем за 3.5 часа. Поэтому было принято решение использовать DES-алгоритм для закрытия коммерческой (несекретной) информации. В этих случаях практическая реализация перебора всех ключей экономически нецелесообразна, так как затраты не соответствуют ценности зашифрованной информации.

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

Как дешифровать?

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

Основные области применения DES-алгоритма:

- хранение данных в ЭВМ (шифрование файлов, паролей);

- электронная система платежей (между клиентом и банком);

- электронный обмен коммерческой информацией (между покупателем и продавцом).

Российский стандарт шифрования

В 1989 году был разработан блочный шифр для использования в качестве государственного стандарта шифрования (зарегистрирован как ГОСТ 28147-89) /4/. В основном алгоритм применяется в банковской системе, судя по публикациям - несколько медлителен, но обладает весьма высокой стойкостью.

Его общая схема близка к схеме DES-алгоритма, лишь отсутствует начальная перестановка и число циклов шифрования равно 32 (вместо 16 в DES-алгоритме). Ключом считается набор из 8 элементарных 32-битовых ключей X1, X2,...,X8 (общее число ключей 2256). В циклах шифрования трижды используется прямая последовательность элементарных ключей и один раз - обратная: X8, X7,...,X1.

Основное отличие - в реализации функции f стандарта шифрования (приведена на рисунке 1.8). Элементы S1, S2, ..., S8 - представляют собой таблицы замены 4-битовых векторов и могут рассматриваться как долговременные ключи.

ГОСТ 28147-89, как DES-алгоритм, предусматривает различные режимы использования и только базовый (режим простой замены) совпадает, по сути, с базовым режимом DES-алгоритма, остальные - в той или иной мере отличаются.

Известна специальная реализация алгоритма шифрования ГОСТ 28147-89 аппаратная плата шифрования данных "Криптон-3" для IBM PC, ее производительность - 50 Кбит/сек.

Шифр гаммирования

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

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

Можно сформулировать 3 основных требования к криптографически стойкому генератору псевдослучайной последовательности или гаммы:

1. Период гаммы должен быть достаточно большим для шифрования сообщений различной длины.

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

3. Генерирование гаммы не должно быть связано с большими техническими и организационными трудностями.

Режим гаммирования ГОСТ 28147-89

Схема реализации режима гаммирования приведена на рисунке 9.

Открытые данные, разбитые на 64-разрядные блоки T0(i) зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре СМ 5 с гаммой шифра Гш(i), которая вырабатывается блоками по 64 бита. Число двоичных разрядов в блоке Т 0(M), где М определяется объемом шифруемых данных может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока Гш(M) отбрасывается.

В КЗУ вводятся 256 бит ключа. В накопители N1, N2 вводится 64-разрядная двоичная последовательность (синхропосылка) S=(S1,S2,...,S64), являющаяся исходным заполнением этих накопителей для последующей выработки М блоков гаммы шифра. Синхропосылка вводится в N1 и N2 так, что значение S1 вводится в 1-ый разряд N1, значение S33 - в 1-ый разряд N2, S64 - в 32-й разряд N2.

Исходное заполнение накопителей N1 и N2 (синхропосылка S) зашифровывается в режиме простой замены (нижняя часть рисунка). Результат зашифрования A(S)=(Y0,Z0) переписывается в 32-разрядные накопители N3 и N4 так, что заполнение N1 переписывается в N3, а N2 - в N4.

Заполнение накопителя N4 суммируется по модулю (232-1) в сумматоре СМ 4 с 32-разрядной константой С 1 из накопителя N6, результат записывается в N4.

Заполнение накопителя N3 суммируется по модулю 232 в сумматоре СМ 3 с 32- разрядной константой С 2 из накопителя N5, результат записывается в N3.

Заполнение N3 переписывается в N1, а заполнение N4 - в N2. При этом заполнение N3, N4 сохраняется.

Заполнение N1 и N2 зашифровывается в режиме простой замены. Полученное в результате в N1, N2 зашифрование образует первый 64-рарядный блок гаммы шифра Гш(1), который суммируется в СМ 5 с первым 64- разрядным блоком открытых данных Т 0(1).

В результате получается 64 - разрядный блок зашифрования данных Гш(1).

Для получения следующего 64-разрядного блока гаммы шифра Гш(2) заполнение N4 суммируется по модулю (232-1) в СМ 4. С константой С 1 из N6, заполнение N3 суммируется по модулю 232 в сумматоре СМ 3 с С 2 (в N5). Новое заполнение N3 переписывается в N1, а новое заполнение N4 переписывается в N2., при этом заполнение N3, N4 сохраняется.

Заполнение N1 и N2 зашифровывается в режиме простой замены. Полученное в результате зашифрования заполнениеN1, N2 образует второй 64-разрядный блок гаммы шифра Гш(2), который поразрядно суммируется по модулю 2 в СМ 5 со вторым блоком открытых данных Т 0(2).

Аналогично вырабатываются блоки гаммы шифра Гш(3), ... , Гш(М) и зашифровываются блоки открытых данных Т 0(3), ..., Т 0(М).

В канал связи (или память ЭВМ) передается синхропосылка S и блоки зашифрованных данных Тш(1), Тш(2), ..., Тш(М).

Уравнение зашифрования имеет вид:

Tш(i) = A([+]Yi-1C2, {+}Zi-1C1) T0(i) = Гш(i) T0(i),

где [+] - суммирование по модулю 232,

{+}- суммирование по модулю 232-1,

- суммирование по модулю 2,

Yi - содержимое накопителя N3 после зашифрования i-го блока открытых данных T0(i);

Zi - содержимое накопителя N4 после зашифрования i-го блока открытых данных T0(i).

(Y0, Z0) = A(S).

Открытое распределение ключей. Схема Диффи-Хеллмана

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

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

Важнейшей частью практической работы с ключами является обеспечение секретности ключа. К основным мерам по защите ключей относятся следующие:

- ограничение круга лиц, допущенных к работе с ключами;

- регламентация рассылки, хранения и уничтожения ключей;

- регламентация порядка смены ключей;

- применение технических мер защиты ключевой информации от несанкционированного доступа.

Рассмотрим один из принципов распределения ключей (на основе односторонней функции), проработка которого имела весьма неожиданные последствия - была изобретена система шифрования с открытым ключом. Сначала небольшое отступление.

Понятие односторонней функции было введено в теоретическом исследовании о защите входа в вычислительные системы. Функция f(x) называется односторонней (one-way function), если для всех x из ее области определения легко вычислить y=f(x), но нахождение по заданному y0 такого x0, для которого f(x0)=y0, вычислительно неосуществимо, то есть требуется настолько огромный объем вычислений, что за них просто и не стоит браться.

Однако существование односторонних функций не доказано. В качестве приближения была предложена Гиллом Дж. целочисленная показательная функция f(x)=ax(mod n), где основание a и показатель степени x принадлежат интервалу (1,n-1), а умножение ведется по модулю n (3*4 mod 10=2; 7*8mod 9=2). Функция вычисляется достаточно эффективно по схеме Горнера. Если представление числа x в двоичной форме имеет вид

xk-12k-1 + xk-22k-2 + ...+ x121 + x020, то

y = f(x) = ax mod n = ((...(axk-1)2*axk-2)2*...*ax1)2*ax0 mod n.

Операция, обратная к этой, известна как операция вычисления дискретного логарифма: по заданным y, a и n найти такое целое x, что aх(mod n) = y. До настоящего времени не найдено достаточно эффективных алгоритмов решения этой задачи.

Американские криптологи Диффи и Хеллман (Diffi W., Hellman M.E. New direction in criptography. IEEE Trans. Inf. Theory, v. IT-22, 1976) предложили схему распространения (рассылки) ключей для секретной связи на основе односторонней показательной функции. Ее суть состоит в следующем.

В протоколе обмена секретными ключами предполагается, что все пользователи знают некоторые числа n и a (1< a < n). Для выработки общего секретного ключа пользователи A и B должны проделать следующую процедуру:

1. Определить секретные ключи пользователей КА и КВ.

Для этого каждый пользователь независимо выбирает случайные числа из интервала (1,..., n-1).

2. Вычислить открытые ключи пользователей YA и YB.

Для этого каждый использует одностороннюю показательную функцию Y=ak mod n со своим секретным ключом.

3. Обменяться ключами YA и YB по открытому каналу связи.

4. Независимо определить общий секретный ключ К.

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

A: YBKA(mod n) = [aKB ]KA mod n = aKA*KB mod n = K.

B: YAKB(mod n) = [aKA ]KB mod n = aKB*KA mod n = K.

Здесь каждый имеет показатель степени, а основание получает от партнера

Безопасность (секретность) изложенной схемы зависит от сложности вычисления секретных ключей пользователей (КА и КВ). Пока не найдено удовлетворительных быстрых алгоритмов нахождения К из а, YA и YB без явного определения КА или КВ.

Криптосистемы с открытым ключом

Дальнейшим развитием идеи односторонней функции стало введение односторонней функции с секретом, а затем и системы шифрования с открытым ключом.

Под односторонней функцией с секретом (с лазейкой, с потайной дверью - a trap-door one-way) называется зависящая от параметра k функция y=fk(x), такая, что знание k дает возможность легко построить обратное преобразование x=f-1(y), тогда как без знания k определение х по известному y вычислительно не осуществимо.

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

Один из первых предложенных примеров таких функций основан на степенной функции f(x)=xm (mod n), вычисление которой по известным n и m производится достаточно эффективно. Преобразование, обратное к возведению в степень xm (mod n) называется вычислением корня m-й степени по модулю n. Например, 54 mod 21 = 16, поэтому 5 является корнем 4-й степени из 16 по модулю 21; 45 mod 25 = 24, 4 - есть корень 5-й степени из 24 по mod 25. В настоящее время эффективный алгоритм этой операции известен, но требует знания специального разложения n по степеням простых чисел. Эта информация и является секретным ключом. Определить такое разложение по значению n достаточно сложно, но задав такое разложение мы однозначно определяем n.

Таким образом, криптосистема с открытым ключом включает открытый алгоритм Ek шифрования и секретный алгоритм дешифрования Dk, обратный к Ek, но определение которого по Ek вычислительно не осуществимо.

Иногда принято секретное преобразование Dk называть секретным ключем (private key), а открытое преобразование Ek - открытым ключем (public key), поэтому сами системы называют также двухключевыми криптосистемами (two key cryptosystem). Другое название таких криптосистем - асимметричные криптосистемы (asymmetric cryptosystem), в то время как обычные криптосистемы с секретным ключом называются симметричными (symmetric criptosystem).

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

Криптосистема RSA

Название криптосистемы образовано из первых букв фамилий предложивших ее авторов (Rivest R., Shamir A., Adleman L. A method for obtaining digital signatures and pablic-key cryptosystems. Commun. ACM, v.21, N2, 1978).

Система относится к блочным экспоненциальным системам, так как каждый блок М открытого текста рассматривается как целое число в интервале (0,..., n-1) и преобразуется в блок С следующим открытым преобразованием

C = E (e,n) (M) = Me (mod n),

где E(e,n) - преобразование, а (e,n) - ключ зашифрования.

При расшифровании блок открытого текста М восстанавливается таким же преобразованием, но с другим показателем степени.

M = D (d,n) (C) = Cd (mod n),

где D(d,n) - преобразование, а (d,n) - ключ расшифрования.

В основе этого метода лежит довольно сложное теоретическое обоснование. Числа e и d связаны с n определенной зависимостью и существуют рекомендации по выбору ключевых элементов на основе простых чисел. Если взять два простых числа p и g, определить n = p х q, то можно определить пару чисел e и d, удовлетворяющих заданным условиям. Если сделать открытыми числа e и n, а ключ d (и обязательно p и g) держать в секрете - то предложенная система является RSA-криптосистемой открытого шифрования. Очевидно, ее стойкость определяется сложностью операции извлечения из С корня степени е по модулю n.

Рассмотрим основные этапы реализации алгоритма RSA.

1. Отправитель вычисляет n = p х q и M=(p-1)(q-1).

2. Затем он выбирает случайное целое число e, взаимно простое с М и вычисляет d, удовлетворяющее условию

ed = 1 (mod M).

Напомним, что два числа являются взаимно простыми, если их HOD =1. Числа а и b имеют HOD d, если d делит и а и b и максимальный среди таких чисел.

3. После этого он публикует е и n как свой открытый ключ шифрования, сохраняя d, как закрытый (секретный) ключ.

4. Рассмотрим теперь числа e и d. Предположим, что мы знаем одно из них и знаем соотношение, которым они связаны. Мы могли бы легко вычислить второе число, однако мы не знаем чисел p и q. Следовательно можно одно из чисел подарить кому-нибудь вместе с n и попросить его посылать нам сообщения следующим образом.

5. Сообщение представить как векторы (блоки) длины l

X= (x1,x2...,xl)

0<xi< M;

6. Каждое xi возвести в степень e по mod n.

7. Прислать нам Y=(x1e (mod n), x2e (mod n),...,xle (mod n)).

Обозначим t=yiie (mod n) и рассмотрим расшифрование полученной информации.

Для этого возведем полученное число t в степень второго числа пары - d:

R=td(mod n) = xe (mod n)d(mod n) = xed (mod n).

В соответствие с п.2 соотношение ed=1(mod M). а это означает, что ed-1 делится нацело на (p-1)(q-1), т.е. ed=1+a(p-1)(q-1),

где а - целое число.

Утверждается, что

хed(mod n) =x.

Действительно, xed(mod n) = x1+a(p-1)(q-1) (mod n)

Учитывая, что xp-1 = 1 mod p, xq-1 = 1 mod q (эти соотношения доказываются как малая теорема Ферма, например в /10/) получим

x(p-1)(q-1) = 1(mod pq)

x1+a(p-1) (g-1)(mod n) = x, т.к.

xa(p-1) (q-1) = 1(mod pq), из-за того,

что x(p-1) (q-1) = 1(mod pq),

x mod n = x, так как x<M.

Что и требовалось доказать.

Цифровая (электронная) подпись

Одним из основных применений криптосистем с открытым ключом является их использование при создании так называемой цифровой или электронной подписи (digital signature). Впервые идея цифровой подписи была высказана в работе Диффи и Хеллмана.

Один из вариантов изложения принципа электронной подписи выглядит так. Требуется, чтобы существовали взаимообратные преобразования Ek и Dk, для которых выполняется

Ek[Dk(M)] =M для любого открытого текста М.

Тогда Dk считается секретным преобразованием, с помощью которого пользователь может зашифровать исходный текст C=Dk(M) и послать это значение в качестве цифровой подписи к сообщению М другим пользователям, обладающим знанием открытого преобразования Ek. Очевидно, что определение Dk при знании Ek должно быть вычислительно неразрешимой задачей.

Система RSA широко используется в системе цифровой подписи, так как ее преобразования обладают всеми необходимыми свойствами. Использование цифровой подписи предполагает существование двух процедур: подписывания и проверки /8.9/.

Процедура подписывания сообщения M - это возведение числа M в степень d по mod n:

S = Md (mod n)

Число S есть цифровая подпись, которую может выработать только владелец секретного ключа.

Процедура проверки подписи S, соответствующей сообщению M - это возведение числа S в целую степень e по mod n:

M'= Se (mod n).

Если M'= M, то сообщение M признается подписанным пользователем, который предоставил ранее открытый ключ e.

В реализации для сокращения времени подписывания и размера подписи, в качестве источника для подписи служит не само исходное сообщение М (произвольной длины), а некоторая производная от него (фиксированной длины). Для ее получения используется общеизвестная функция Н, отображающая любое сообщение М в сообщение Н(М) фиксированного малого размера, которое далее преобразуется в цифровую подпись. Функция Н называется функцией хеширования (hash function), в простейшем случае это может быть, например, функция вычисления контрольной суммы текста сообщения по модулю 232, размер приведенного для электронного подписывания сообщения тогда будет равен 32 двоичным разрядам (четырем байтам).

11. Понятия о видах вирусов. Происхождение вирусов. Отличительные свойства компьютерных вирусов. Характеристика "традиционных" вирусов. Сущность вирусного заражения

Идея компьютерных вирусов витала в воздухе несколько десятилетий. В 1986 г. они стали реальностью и продолжают быть мощной силой в компьютерном мире.

Вирусы, черви, троянские кони, ошибки, а также логические и часовые бомбы - это все одинаково нежелательное, незваное, потенциально опасное программное обеспечение, но между этими видами программного обеспечения существуют принципиальные различия. Эти различия можно сформулировать в виде двух вопросов: требуется ли вирусу программа-носитель (host program) и способна ли она размножаться. Все четыре вышеупомянутые типа вирусов могут вызывать повреждения, но этот аспект не является основополагающим для их классификации. Определения каждого из этих вирусов приведены в таблице 1.

Компьютерным вирусом называется программа (некоторая совокупность выполняемого кода/инструкций), которая способна создавать свои копии (не обязательно полностью совпадающие с оригиналом) и внедрять их в различные объекты/ресурсы компьютерных систем, сетей и т.д. без ведома пользователя. При этом копии сохраняют способность дальнейшего распространения.

Вирусы можно разделить на классы по следующим признакам:

- по среде обитания вируса;

- по способу заражения среды обитания;

- по деструктивным возможностям

- по особенностям алгоритма вируса

По среде обитания вирусы можно разделить на сетевые, файловые и загрузочные. Сетевые вирусы распространяются по компьютерной сети, файловые внедряются в выполняемые файлы, загрузочные - в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий системный загрузчик винчестера (Master Boot Record). Существуют сочетания - например, файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные сектора дисков.

Таблица 1. Определение вируса, червя, троянского коня, ошибки и бомбы

Категория

Требуется ли носитель

Самокопирование

Вирус

Да. Вирусы нуждаются в программе-носителе. Время от времени они сами обеспечивают свой запуск

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

Червь

Нет.

Да. Червь копирует сам себя при каждом удобном случае

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

Нет. Хотя термин троянский конь иногда применяют к программам, содержащим в себе разрушающий код этот термин чаще всего используется применительно к целому СОМ- или ЕХЕ-файлу

Нет. Большинство троянских коней активизируются при запуске и стремятся разрушить структуру текущего диска (FAT, каталога), удаляя себя во время этого процесса

Ошибка, логическая бомба, часовая бомба

Да. Логические и часовые бомбы включаются программистами намеренно в нормальный в прочих отношениях код

Нет. Этот код производит нечто большее, чем просто самокопирование. Логические и часовые бомбы скрыты, видны только их действия. Ошибки могут делать почти все, что угодно, кроме порождения новых ошибок

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

По деструктивным возможностям вирусы можно разделить на:

- безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);

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

- опасные вирусы, которые могут привести к серьезным сбоям в работе

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

По особенностям алгоритма можно выделить следующие группы вирусов:

- компаньон-вирусы (companion) - это вирусы, не изменяющие файлы. Алгоритм работы этих вирусов состоит в том, что они создают для EXE-файлов файлы-спутники, имеющие то же самое имя, но с расширением.COM, например, для файла XCOPY.EXE создается файл XCOPY.COM. Вирус записывается в COM-файл и никак не изменяет EXE-файл. При запуске такого файла DOS первым обнаружит и выполнит COM-файл, т.е. вирус, который затем запустит и EXE-файл.

- вирусы-"черви" (worm) - вирусы, которые распространяются в компьютерной сети и, так же как и компаньон-вирусы, не изменяют файлы или сектора на дисках. Они проникают в память компьютера из компьютерной сети, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Такие вирусы иногда создают рабочие файлы на дисках системы, но могут вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти). К счастью, в вычислительных сетях IBM-компьютеров такие вирусы пока не завелись.

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

- "студенческие" - крайне примитивные вирусы, часто нерезидентные и содержащие большое число ошибок.

- "стелс"-вирусы (вирусы-невидимки, stealth), представляющие собой весьма совершенные программы, которые перехватывают обращения DOS к пораженным файлам или секторам дисков и "подставляют" вместо себя незараженные участки информации. Кроме этого, такие вирусы при обращении к файлам используют достаточно оригинальные алгоритмы, позволяющие "обманывать" резидентные антивирусные мониторы.

- "полиморфик"-вирусы (самошифрующиеся или вирусы-призраки, polymorphic) - достаточно труднообнаруживаемые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.

- "макро-вирусы" - вирусы этого семейства используют возможности макро-языков, встроенных в системы обработки данных (текстовые редакторы, электронные таблицы и т.д.). В настоящее время наиболее распространены макро-вирусы заражающие текстовые документы редактора Microsoft Word.

Основные симптомы вирусного поражения следующие:

- Замедление работы некоторых программ.

- Увеличение размеров файлов (особенно выполняемых).

- Появление не существовавших ранее "странных" файлов.

- Уменьшение объема доступной оперативной памяти (по сравнению с обычным режимом работы).

- Внезапно возникающие разнообразные видео и звуковые эффекты.

12. Макровирусы. Причины распространения макровирусов. Механизмы вирусного заражения шаблонов и документов

Макровирусы особенно опасны по следующим причинам.

· Макровирусы независимы от платформы. Так, практически все макровирусы поражают документы Microsoft Word. Поэтому любая аппаратно-программная система, поддерживающая Word, может быть заражена таким вирусом.

· Макровирусы инфицируют документы, а не выполняемый код. А информация, вводимая в компьютерную систему, по большей части представлена в форме документов, а не программ.

· Макровирусы быстро распространяются. Чаще всего распространение происходит по электронной почте.

Существование макровирусов построено на использовании средств поддержки макросов, предлагаемых в Word и других офисных приложениях (например, Microsoft Excel). По сути, макрос представляет собой программу, встроенную в документ текстового процессора или файл какого-то другого типа. Обычно пользователи используют макросы для того, чтобы автоматизировать выполнение часто выполняемых действий, что позволяет сэкономить время. Язык макросов чаще всего является каким-нибудь вариантом языка программирования Basic. Пользователь может записать последовательность нажатий клавиш в виде макроса, а затем настроить программу так, чтобы записанный макрос вызывался нажатием функциональной клавиши или какой-то специальной комбинацией клавиш.

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

AutoExec. Макрос, названный зарезервированным именем AutoExec, находится в шаблоне normal.dot или в глобальном шаблоне, хранящемся в каталоге запуска (startup directory) Word, и автоматически выполняется при запуске Word.

Автомакрос. Выполняется, когда происходит определенное событие, например открытие или закрытие документа, создание нового документа или завершение работы Word.

Командный макрос. Если находящийся в глобальном файле макросов или связанный с текущим документом макрос имеет имя, совпадающее с названием команды Word, он будет выполняться при каждом вызове этой команды (например, команды FileSave) пользователем.

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

В современные версии Word встроена защита от макровирусов. Microsoft предоставляет в распоряжение пользователя средство защиты от макровирусов, выявляющее подозрительные файлы Word и предупреждающее пользователя об опасности, связанной с открытием файлов, содержащих макросы. Ведущие разработчики антивирусных программ тоже создали средства для обнаружения и удаления опасных макровирусов. Однако, как и в случае любых других вирусов, "гонка вооружений" в области макровирусов продолжается.

13. Программные и аппаратные закладки. Отличительные свойства программных и аппаратных закладок. Функции, реализуемые программными и аппаратными закладками

Что такое "закладки"

Закладками в сфере ИКТ принято называть скрытые (недокументированные) возможности в программном и аппаратном обеспечении персональных компьютеров и периферийного оборудования, позволяющие осуществлять скрытый несанкционированный доступ к ресурсам системы (как правило, посредством локальной или Глобальной сети). То есть, основное предназначение закладок - обеспечить несанкционированный доступ к конфиденциальной информации.

Как происходит внедрение программной закладки

При внедрении/активизации программной закладки злоумышленник, как правило, использует:

- недокументированные возможности;

- "дыры" в программном обеспечении;

- несоблюдение политики безопасности;

- халатность пользователей;

- внедрение инсайдеров;

- …

Для своего внедрения в систему и дальнейшего функционирования программные закладки могут использовать вирусы (закладки вирусного типа) и шпионские программы (например, клавиатурные шпионы - кейлоггеры). Именно поэтому закладки иногда называют программами-шпионами.

В чем опасность программной закладки

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

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

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

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

Классификация программных закладок

Закладки иногда делят на программные и аппаратные, но фактически все закладки - программные, так как под аппаратными закладками подразумеваются так называемые прошивки.

Программные закладки различают в зависимости от метода их внедрения в систему:

- программно-аппаратные. Это закладки, интегрированные в программно-аппаратные средства ПК (BIOS, прошивки периферийного оборудования);

- загрузочные. Это закладки, интегрированные в программы начальной загрузки (программы-загрузчики), располагающиеся в загрузочных секторах;

- драйверные. Это закладки, интегрированные в драйверы;

- прикладные. Это закладки, интегрированные в прикладное программное обеспечение;

- исполняемые. Это закладки, интегрированные в исполняемые программные модули;

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

- …

Деструктивные действия программных закладок

- перехват вывода информации на экран;

- перехват ввода с клавиатуры;

- перехват и обработка файловых операций;

- уменьшение скорости работы системы;

- неадекватная реакция на команды пользователя;

- вмешательство в процесс обмена информацией по сети путем непрерывной посылки хаотических сообщений;

- блокирование принимаемой или передаваемой по сети информации;

- перехват и искажение информации, передаваемой по сети;

- изменение функционирования программ для разрешения входа в систему и доступа к конфиденциальной пользовательской информации (пароли, криптографические ключи, коды доступа, конфиденциальные электронные документы и т.д.);

- копирование и пересылка конфиденциальной пользовательской информации, которая находится в оперативной или внешней памяти системы;

- уничтожение конфиденциальной пользовательской информации;

- навязывание каких-либо режимов работы (например, блокирование записи или удаления информации);

- инициирование программных и аппаратных сбоев;

- …

Как бороться с закладками

Способы борьбы с закладками зависят от метода их внедрения

- если обнаружена программно-аппаратная закладка, то необходимо перепрограммировать (перепрошить) устройство;

- если обнаружена загрузочная закладка, то необходимо перезаписать загрузочную запись;

- если обнаружена драйверная закладка, то необходимо обновить драйвер, заменив его на заведомо "чистый";

- если обнаружена прикладная закладка, исполняемая или закладка-имитатор, то необходимо переустановить их, заменив на заведомо "чистые";

- …

Профилактические меры против программных закладок

- использование брандмауэров и антивирусов с регулярно обновляемыми базами;

- соблюдение адекватной политики безопасности, - как на локальном ПК, так и в локальной сети;

- использование пароля в BIOS;

- использование пароля на запуск операционной системы;

- использование файловой системы NTFS;

- не использовать пароли, имеющие меньше шести символов;

- запретить анонимный и гостевой доступ;

- …

Как выявляются закладки

Как правило, программные закладки выявляются либо из-за неаккуратного использования злоумышленниками полученной с их помощью информации, либо из-за допущенных при их программировании ошибок, либо чисто случайно…

14. Антивирусное программное обеспечение. Антивирусная профилактика

Требования к антивирусам

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

Антивирусные продукты должны делать следующее:

- Обнаруживать основные бутовые и файловые вирусы.

- Обнаруживать самоизменяющиеся (self-mutating) вирусы. Одна из самых сложных задач для антивирусного сканера сегодня - это обнаружение полиморфных вирусов (polymorphic viruses) - вирусов, принимающих новое обличие с каждой новой копией. Такие вирусы нельзя выявить методом простого сканирования кода программы. Поскольку количество полиморфных вирусов растет, сканеры, не способные бороться с такими вирусами, не могут справиться с таким количеством вирусов.

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

- Обнаруживать заражения главной загрузочной записи. Обнаружить вирус в главной загрузочной записи несколько сложнее, чем в загрузочной записи дискеты. И это представляет серьезную проблему для пользователя, потому что программа DOS FORMAT не модифицирует главную загрузочную запись - это делают только DEBUG и FDISK. В результате пользователь, пытающийся уничтожить этот вирус с помощью команды FORMAT, благополучно уничтожит на жестком диске все, кроме вируса.

- Обнаруживать вирусы в упакованных (сжатых) файлах. Существует полдюжины технологий сжатия, одну из которых применит разработчик программного обеспечения для упаковки вашей любимой программы. Появляющаяся на компьютере программа, как правило, упакована и распаковывается при выполнении. Не существует продукта, способного распаковывать программы, запакованные по всем технологиям сжатия, так что будьте внимательны. Следует также помнить, что вирус может заражать упакованный файл как снаружи, так и изнутри. Практически любой сканер может обнаружить заражение файла снаружи, но далеко не все сканеры способны сканировать упакованные файлы (и распознавать различные методы сжатия). Это важно знать при выборе сканера, так как некоторые производители распространяют вирусы в упакованных файлах. Поскольку программные файлы распаковываются только один раз, сканировать внутри сжатого файла также нужно только раз. Некоторые программы-сканеры указывают, следует ли проверять упакованные файлы. Установите, какие форматы сжатия доступны выбираемому вами сканеру.

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

- Выводить информацию в файл или на принтер.

- Поддерживать сеть. Как продукт работает в сети? Может ли он сканировать сетевой диск (некоторые не могут)? Можно ли его запустить с сетевого диска? Имеет ли он режим извещения администратора сети при обнаружении вируса (в большинстве случаев нет)? Как продукт поступает с файлом на сетевом диске, открытым для записи или чтения? Будет ли он пропускать файл (и сообщать, что файл пропущен) или остановится на нем, и можно ли это регулировать по желанию пользователя? Не зависает ли сканер в сети?

- Обладать достаточной скоростью сканирования. Сколько времени необходимо сканеру для сканирования программы? Желательно быстрое сканирование, но при условии, что это не повлияет на качество. Следует отметить, что некоторые сканеры работают быстрее при втором проходе жесткого диска, чем при первом (например, если они подсчитывают контрольную сумму).

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

- Пользовательские процедуры управления. Обычно сканеры используют в пакетном режиме посредством АUТОЕХЕС.BAT и с помощью меню для специального сканирования, если существует подозрение заражения или при копировании новой дискеты. Для запуска в пакетном режиме необходимо, чтобы сканер не требовал нажатия клавиш во время работы незараженного дисковода. Он должен обеспечивать вывод предупреждений или полезных кодов ошибок при обнаружении вируса или просто передавать управление на следующий файл, указанный в командном файле. При запуске из меню сканер не должен требовать ввода параметров в командной строке.

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

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

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

- Добавить комментарии к файлу, поддерживающему сигнатуры.

- Иметь файл сигнатур, который контролировал бы появление незаконных изменений.

- Задавать адрес смещения для поиска (чтобы увеличить скорость сканирования).

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

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

- Делать все это с небольшими затратами и минимальными усилиями.

- Иметь режим удаления вируса. Имеет ли сканер режим для удаления вируса, обнаруженного в файле, который обеспечивает создание чистого файла? Обратите внимание на сканеры, которые способны удалять зараженный файл, переписывать его или переименовывать.

- Рационально использовать память. Какой объем памяти необходим продукту? Некоторые рабочие станции имеют менее 400 Кбайт свободной стандартной (conventional) памяти, не все сканеры смогут загружаться при таком объеме памяти.

- Уметь обнаруживать Stealth-вирусы. Обнаруживает ли сканер вирусы, применяющие новейшие Stealth-методы для маскировки, такие как несанкционированное использование прерываний (interrupt grafting) и создание туннелей (tunneling)?

- Обеспечивать совместимость. Может ли продукт работать в среде Windows? Если продавец утверждает, что может, сможет ли продукт обнаружить вирус при одновременной работе двух или более систем DOS? Может ли он восстанавливать инфицированные программы Windows? Может ли он работать в DR DOS при объеме стандартной памяти более 640 Кбайт?

- Сканировать всю память. Выполняет ли продукт сканирование дополнительной (extended) памяти? Расширенной (expanded) памяти? Высшей (high) памяти? Блоков верхней (upper) памяти?


Подобные документы

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

    дипломная работа [354,2 K], добавлен 15.12.2012

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

    дипломная работа [2,4 M], добавлен 16.04.2014

  • Шифрование и дешифрование с помощью сети Фейстеля. Процесс блочного преобразования открытой информации в зашифрованную информацию. Таблица перевода чисел и букв. Криптостойкость шифра как показатель его эффективности. Подстановки и перемещение битов.

    курсовая работа [475,6 K], добавлен 30.12.2013

  • Конструкция, общее устройство и принцип действия накопителей на жестких магнитных дисках. Основные характеристики винчестеров: емкость, среднее время поиска, скорость передачи данных. Наиболее распространенные интерфейсы жестких дисков (SATA, SCSI, IDE).

    презентация [324,3 K], добавлен 20.12.2015

  • Необходимость защиты информации. Виды угроз безопасности ИС. Основные направления аппаратной защиты, используемые в автоматизированных информационных технологиях. Криптографические преобразования: шифрование и кодирование. Прямые каналы утечки данных.

    курсовая работа [72,1 K], добавлен 22.05.2015

  • Изучение истории разработки компакт-диска. Версия Джеймса Рассела. Объем хранимых данных. Информационная структура накопителя. Физические принципы считывания, записи и перезаписи информации. Кодирование информации. Этапы производства компакт-дисков.

    контрольная работа [1,3 M], добавлен 08.12.2013

  • Проблема скрытия и защиты информации от несанкционированного использования. История создания шифра. Решения задачи шифрования текста и кодирования данных. Тестирование полученного приложения и анализ работы программы с точки зрения пользователя.

    курсовая работа [3,0 M], добавлен 24.11.2013

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

    контрольная работа [25,5 K], добавлен 12.07.2014

  • Запоминающие устройства на жестких магнитных дисках. Устройство жестких дисков. Интерфейсы жестких дисков. Интерфейс ATA, Serial ATA. Тестирование производительности накопителей на жестких магнитных дисках. Сравнительный анализ Serial ATA и IDE-дисков.

    презентация [1,2 M], добавлен 11.12.2013

  • Описание особенностей работы устройств для стирания записей с носителей на жестких магнитных дисках, а также с неоднородных полупроводниковых носителей. Изучение способов стирания информации с флеш–памяти. Выбор системы виброакустического зашумления.

    контрольная работа [2,9 M], добавлен 23.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.