<< Пред. стр.

стр. 4
(общее количество: 9)

ОГЛАВЛЕНИЕ

След. стр. >>


где t - время, необходимое на ввод слова длиной s; s — длина пароля; А - количество символов, из которых может быть составлен пароль.
Время t определяется из соотношения: t=E/R,
где Е - число символов в сообщении, содержащем пароль; R - скорость передачи символов пароля (симв./мин.). Величина Е зависит от длины пароля и количества служебных символов.
В приведенной формуле расчета величины Тб считается, что злоумышленник имеет возможность непрерывно осуществлять подбор пароля. Если предусмотрена задержка в несколько секунд после неудачной попытки ввода пароля, то безопасное время значительно возрастает. Период смены пароля не должен превышать Тб. В любом случае использовать пароль свыше 1 года недопустимо.
4. В КС должны фиксироваться моменты времени успешного получения доступа и время неудачного ввода пароля. После трех ошибок подряд при вводе пароля устройство блокируется, и информация о предполагаемом факте подбора пароля поступает дежурному администратору системы безопасности.
5. Пароли должны храниться в КС таким образом, чтобы они были недоступны посторонним лицам. Этого можно достичь двумя способами:
* использовать для хранения паролей специальное запоминающее устройство, считанная информация из которого не попадает за пределы блока ЗУ (схема сравнения паролей находится в самом блоке). Запись в такое ЗУ осуществляется в специальном режиме;
* криптографическое преобразование пароля.
6. Пароль не выдается при вводе на экран монитора. Чтобы субъект доступа мог ориентироваться в количестве введенных символов на экран, взамен введенного выдается специальный символ (обычно звездочка).
7. Пароль должен легко запоминаться и в то же время быть сложным для отгадывания. Не рекомендуется использовать в качестве пароля имена, фамилии, даты рождения и т.п. Желательно при наборе пароля использование символов различных регистров, чередование букв, цифр, специальных символов. Очень эффективным является способ использования парадоксального сочетания слов («книга висит», «плот летит» и т.п.) и набора русских букв пароля на латинском регистре. В результате получается бессмысленный набор букв латинского алфавита.
В качестве идентификатора во многих КС используется съемный носитель информации, на котором записан идентификационный код субъекта доступа. В ПЭВМ для этой цели используется гибкий магнитный диск. Такой идентификатор обладает рядом достоинств:
* не требуется использовать дополнительные аппаратные средства;
* кроме идентификационного кода, на носителе может храниться другая информация, используемая для аутентификации, контроля целостности информации, атрибуты шифрования и т. д.
Для идентификации пользователей широко используются электронные жетоны-генераторы случайных идентификационных кодов [18]. Жетон-это прибор, вырабатывающий псевдослучайную буквенно-цифровую последовательность (слово). Это слово меняется примерно раз в минуту синхронно со сменой такого же слова в КС. В результате вырабатывается одноразовый пароль, который годится для использования только в определенный промежуток времени и только для однократного входа в систему. Первый такой жетон SecurID американской фирмы Security Dynamics появился в 1987 году.
Жетон другого типа внешне напоминает калькулятор. В процессе аутентификации КС выдает на монитор пользователя цифровую последовательность запроса, пользователь набирает ее на клавиатуре жетона. Жетон формирует ответную последовательность, которую пользователь считывает с индикатора жетона и вводит в КС. В результате опять получается одноразовый неповторяющийся пароль. Без жетона войти в систему оказывается невозможным. Вдобавок ко всему, прежде чем воспользоваться жетоном, нужно ввести в него свой личный пароль.
Атрибутивные идентификаторы (кроме паролей) могут использоваться только на момент доступа и регистрации, или постоянно должны быть подключены к устройству считывания до окончания работы. На время даже кратковременного отсутствия идентификатор изымается, и доступ к устройству блокируется. Такие аппаратно-программные устройства способны решать задачи не только разграничения доступа к устройствам, но и обеспечивают защиту от НСДИ. Принцип действия таких устройств основан на расширении функций ОС на аппаратном уровне.
Процесс аутентификации может включать также диалог субъекта доступа с КС. Субъекту доступа задаются вопросы, ответы на которые анализируются, и делается окончательное заключение о подлинности субъекта доступа.
В качестве простого идентификатора часто используют механические ключи. Механический замок может быть совмещен с блоком подачи питания на устройство. На замок может закрываться крышка, под которой находятся основные органы управления устройством. Без вскрытия крышки невозможна работа с устройством. Наличие такого замка является дополнительным препятствием на пути злоумышленника при попытке осуществить НСД к устройству.
Доступ к устройствам КС объекта может блокироваться дистанционно. Так в ЛВС подключение к сети рабочей станции может блокироваться с рабочего места администратора. Управлять доступом к устройствам можно и с помощью такого простого, но эффективного способа, как отключение питания. В нерабочее время питание может отключаться с помощью коммутационных устройств, контролируемых охраной.
Комплекс мер и средств управления доступом к устройствам должен выполнять и функцию автоматической регистрации действий субъекта доступа. Журнал регистрации событий может вестись как на автономной ЭВМ, так и в сети. Периодически или при фиксации нарушений протоколов доступа, администратор просматривает журнал регистрации с целью контроля действий субъектов доступа.
Организация доступа обслуживающего персонала к устройствам отличается от организации доступа пользователей. Прежде всего, по возможности, устройство освобождается от конфиденциальной информации и осуществляется отключение информационных связей. Техническое обслуживание и восстановление работоспособности устройств выполняются под контролем должностных лиц. Особое внимание обращается на работы, связанные с доступом к внутреннему монтажу и заменой блоков.

7.4.2. Противодействие несанкционированному подключению устройств

Одним из возможных путей несанкционированного изменения технической структуры КС является подключение незарегистрированных устройств или замена ими штатных средств КС.
Для парирования такой угрозы используются следующие методы:
* проверка особенностей устройства;
* использование идентификаторов устройств.
В запоминающих устройствах КС, как правило, содержится информация о конфигурации системы. К такой информации относятся: типы устройств (блоков) и их характеристики, количество и особенности подключения внешних устройств, режимы работы и другая информация. Конкретный состав особенностей конфигурации определяется типом КС и ОС. В любом случае, с помощью программных средств может быть организован сбор и сравнение информации о конфигурации КС. Если ЭВМ работает в сети, то, по крайней мере, при подключении к сети осуществляется контроль конфигурации ЭВМ.
Еще более надежным и оперативным методом контроля является использование специального кода-идентификатора устройства. Этот код может генерироваться аппаратными средствами, а может храниться в ЗУ. Генератор может инициировать выдачу в контролирующее устройство (в вычислительной сети это может быть рабочее место администратора) уникального номера устройства. Код из ЗУ может периодически считываться и анализироваться средствами администратора КС. Комплексное использование методов анализа особенностей конфигурации и использование идентификаторов устройств значительно повышают вероятность обнаружения попыток несанкционированного подключения или подмены.

7.4.3. Защита внутреннего монтажа, средств управления и коммутации
от несанкционированного вмешательства

Для защиты от несанкционированных действий по изменению монтажа, замене элементов, переключению коммутирующих устройств необходимо выполнить условия:
* доступ к внутреннему монтажу, к органам управления и коммутации устройств блокируется имеющими замок дверями, крышками, защитными экранами и т. п.;
* наличие автоматизированного контроля вскрытия аппаратуры.
Создание физических препятствий на пути злоумышленника должно предусматриваться на этапе проектирования. Эти конструкции не должны создавать существенных неудобств при эксплуатации устройств.
Например, крышки и защитные экраны, защищающие наборные устройства, тумблеры, переключатели и т. п. желательно изготавливать из прозрачного и прочного материала, позволяющего контролировать состояние органов управления без снятия (открывания) защитных конструкций.
Контроль вскрытия аппаратуры обеспечивается за счет использования несложных электрических схем, аналогичных системам охранной сигнализации. Контроль вскрытия обеспечивается путем использования датчиков контактного типа. Они устанавливаются на всех съемных и открывающихся конструкциях, через которые возможен доступ к внутреннему монтажу устройств, элементам управления и коммутации. Датчики объединяются в единую систему контроля вскрытия устройств (СКВУ) с помощью проводных линий. Известно множество вариантов объединения датчиков в систему [28]. При построении таких систем решаются две взаимосвязанные задачи: обеспечение максимальной информативности системы и минимизация числа проводных линий. Максимум информативности автоматизированной СКВУ достигается в системах, позволяющих определить факт вскрытия конкретной защитной конструкции на определенном устройстве. Однако во многих случаях достаточно получить дежурному администратору системы безопасности сигнал о вскрытии устройства, чтобы принять адекватные меры. Конкретное нарушение внешней целостности устройства определяется на месте. Этому может способствовать контроль целостности специальных защитных знаков на защитных конструкциях [12]. Специальные защитные знаки реализуются в виде материалов, веществ, самоклеющихся лент, наклеек, самоклеющихся пломб. Целостность специальных защитных знаков определяется по внешнему виду и определенным признакам, которые могут контролироваться с применением технических средств. Специальные защитные средства на защитных конструкциях служат дополнительным индикатором вскрытия. Периодический контроль целостности специальных защитных средств позволяет (хотя бы с некоторым опозданием) выявить нарушение внешней целостности устройства при отсутствии или обходе злоумышленником аппаратных средств СКВУ.
Если разрешающая способность СКВУ ограничивается устройством, то существенно сокращается число проводных линий.
В этом случае датчики с нормально замкнутыми контактами всех защитных конструкций устройства соединяются последовательно.
По возможности проводные линии СКВУ желательно маскировать под линии информационных трактов устройств.
Факт снятия разъема может быть легко зафиксирован. Для этого достаточно выделить один контакт разъема на цели контроля. При снятии разъема линия СКВУ разрывается.

7.4.4. Контроль целостности программной структуры
в процессе эксплуатации

Контроль целостности программ и данных выполняется одними и теми же методами. Исполняемые программы изменяются крайне редко на этапе их эксплуатации. Существует достаточно широкий класс программ, для которых все исходные данные или их часть также изменяются редко. Поэтому контроль целостности таких файлов выполняется так же, как и контроль программ.
Контроль целостности программных средств и данных осуществляется путем получения (вычисления) характеристик и сравнения их с контрольными характеристиками. Контрольные характеристики вычисляются при каждом изменении соответствующего файла. Характеристики вычисляются по определенным алгоритмам. Наиболее простым алгоритмом является контрольное суммирование. Контролируемый файл в двоичном виде разбивается на слова, обычно состоящие из четного числа байт. Все двоичные слова поразрядно суммируются с накоплением по mod2, образуя в результате контрольную сумму. Разрядность контрольной суммы равняется разрядности двоичного слова. Алгоритм получения контрольной суммы может отличаться от приведенного, но, как правило, не является сложным и может быть получен по имеющейся контрольной сумме и соответствующему файлу.
Другой подход к получению характеристик целостности связан с использованием циклических кодов [63]. Суть метода состоит в следующем. Исходная двоичная последовательность представляется в виде полинома F(x) степени n-1, где n - число бит последовательности. Для выбранного порождающего полинома Р(х) можно записать равенство:



где m - степень порождающего полинома, G(x) - частное, a R(x) -остаток от деления F(x) • хш на Р(х).
Из приведенного соотношения можно получить новое выражение:



Из последнего выражения можно сделать вывод: если исходный полином увеличить на хm (сдвинуть в сторону старших разрядов на m разрядов) и сложить с остатком R(x) по модулю 2, то полученный многочлен разделится без остатка на порождающий полином Р(х).
При контроле целостности информации контролируемая последовательность (сектор на диске, файл и т. д.), сдвинутая на m разрядов, делится на выбранный порождающий полином, и запоминается полученный остаток, который называют синдромом. Синдром хранится как эталон. При контроле целостности к полиному контролируемой последовательности добавляется синдром и осуществляется деление на порождающий полином. Если остаток от деления равен нулю, то считается, что целостность контролируемой последовательности не нарушена. Обнаруживающая способность метода зависит от степени порождающего полинома и не зависит от длины контролируемой последовательности. Чем выше степень полинома, тем выше вероятность определения изменений d, которая определяется из соотношения: d =1/2m.
Использование контрольных сумм и циклических кодов, как и других подобных методов, имеет существенный недостаток. Алгоритм получения контрольных характеристик хорошо известен, и поэтому злоумышленник может произвести изменения таким образом, чтобы контрольная характеристика не изменилась (например, добавив коды).
Задача злоумышленника усложнится, если использовать переменную длину двоичной последовательности при подсчете контрольной характеристики, а характеристику хранить в зашифрованном виде или вне КС (например, в ЗУ Touch Memory).
Рассмотрим пример использования циклических кодов для контроля целостности двоичной последовательности.
Пусть требуется проконтролировать целостность двоичной последовательности А=1010010. Используется порождаемый полином вида: Р(х)=х3+х+1.
А. Получение контрольной характеристики.
GA(x) = 1•хб+0•х5+ 1•х4+0•х3+0•х2+1•х1+0-х°= х6+ х4+х.
GA(x)•x3= x9+ х7+х4.
При вычислении синдрома RA(x) действия выполняются по правилам деления полиномов, заменяя операцию вычитания операцией сложения по модулю:

FA(x) = GA(x) • x3RA(x) = х9 + х7 + х4 + х + 1.


Результат произведенных вычислений свидетельствует о целостности информации.
Если синдром отличен от нуля, то это означает, что произошла ошибка при хранении (передаче) двоичной последовательности. Ошибка определяется и в контрольных разрядах (в синдроме).
Существует метод, который позволяет практически исключить возможность неконтролируемого изменения информации в КС. Для этого необходимо использовать хэш-функцию. Под хэш-функцией понимается процедура получения контрольной характеристики двоичной последовательности, основанная на контрольном суммировании и криптографических преобразованиях. Алгоритм хэш-функции приведен в ГОСТ Р34.11-94. Алгоритм не является секретным, так же как и алгоритм используемого при получении хэш-функции криптографического преобразования, изложенного в ГОСТ 28147-89 [9].
Исходными данными для вычисления хэш-функции являются исходная двоичная последовательность и стартовый вектор хэширования. Стартовый вектор хэширования представляет собой двоичную последовательность длиной 256 бит. Он должен быть недоступен злоумышленнику. Вектор либо подвергается зашифрованию, либо хранится вне КС.
Итерационный процесс вычисления хэш-функции Н предусматривает:
* генерацию четырех ключей (слов длиной 256 бит);
* шифрующее преобразование с помощью ключей текущего значения Н методом простой замены (ГОСТ 28147-89);
* перемешивание результатов;
* поразрядное суммирование по mod2 слов длиной 256 бит исходной последовательности;
* вычисление функции Н.
В результате получается хэш-функция длиной 256 бит. Значение хэш-функции можно хранить вместе с контролируемой информацией, т. к., не имея стартового вектора хэширования, злоумышленник не может получить новую правильную функцию хэширования после внесения изменений в исходную последовательность. А получить стартовый вектор по функции хэширования практически невозможно.
Для каждой двоичной последовательности используются две контрольные характеристики: стартовый вектор и хэш-функция. При контроле по стартовому вектору и контролируемой последовательности вычисляется значение хэш-функции и сравнивается с контрольным значением.

Контрольные вопросы
1. Назовите основные принципы разработки алгоритмов, программ и технических средств.
2. В чем заключается суть современных технологий программирования?
3. Дайте характеристику автоматизированной системы разработки программных средств.
4. Каким образом достигается защита от несанкционированного изменения структур КС на этапах разработки и эксплуатации?
5. Как осуществляется контроль целостности информации?


ГЛАВА 8
Защита информации в КС от несанкционированного доступа

Для осуществления НСДИ злоумышленник не применяет никаких аппаратных или программных средств, не входящих в состав КС. Он осуществляет НСДИ, используя:
* знания о КС и умения работать с ней;
* сведения о системе защиты информации;
* сбои, отказы технических и программных средств;
* ошибки, небрежность обслуживающего персонала и пользователей.
Для защиты информации от НСД создается система разграничения доступа к информации. Получить несанкционированный доступ к информации при наличии системы разграничения доступа (СРД) возможно только при сбоях и отказах КС, а также используя слабые места в комплексной системе защиты информации. Чтобы использовать слабости в системе защиты, злоумышленник должен знать о них.
Одним из путей добывания информации о недостатках системы защиты является изучение механизмов защиты. Злоумышленник может тестировать систему защиты путем непосредственного контакта с ней. В этом случае велика вероятность обнаружения системой защиты попыток ее тестирования. В результате этого службой безопасности могут быть предприняты дополнительные меры защиты.
Гораздо более привлекательным для злоумышленника является другой подход. Сначала получается копия программного средства системы защиты или техническое средство защиты, а затем производится их исследование в лабораторных условиях. Кроме того, создание неучтенных копий на съемных носителях информации является одним из распространенных и удобных способов хищения информации. Этим способом осуществляется несанкционированное тиражирование программ. Скрытно получить техническое средство защиты для исследования гораздо сложнее, чем программное, и такая угроза блокируется средствами и методами обеспечивающими целостность технической структуры КС.
Для блокирования несанкционированного исследования и копирования информации КС используется комплекс средств и мер защиты, которые объединяются в систему защиты от исследования и копирования информации (СЗИК).
Таким образом, СРД и СЗИК могут рассматриваться как подсистемы системы защиты от НСДИ.

8.1. Система разграничения доступа к информации в КС

8.1.1. Управление доступом

Исходной информацией для создания СРД является решение владельца (администратора) КС о допуске пользователей к определенным информационным ресурсам КС. Так как информация в КС хранится, обрабатывается и передается файлами (частями файлов), то доступ к информации регламентируется на уровне файлов (объектов доступа). Сложнее организуется доступ в базах данных, в которых он может регламентироваться к отдельным ее частям по определенным правилам. При определении полномочий доступа администратор устанавливает операции, которые разрешено выполнять пользователю (субъекту доступа).
Различают следующие операции с файлами):
* чтение (R);
* запись;
* выполнение программ (Е).
Операция записи в файл имеет две модификации. Субъекту доступа может быть дано право осуществлять запись с изменением содержимого файла (W). Другая организация доступа предполагает разрешение только дописывания в файл, без изменения старого содержимого (А).
В КС нашли применение два подхода к организации разграничения доступа [6]:
* матричный;
* полномочный (мандатный).
Матричное управление доступом предполагает использование матриц доступа. Матрица доступа представляет собой таблицу, в которой объекту доступа соответствует столбец Oj, а субъекту доступа — строка Si. На пересечении столбцов и строк записываются операция или операции, которые допускается выполнять субъекту доступа i с объектом доступа j (рис. 12).



Рис. 12. Матрица доступа

Матричное управление доступом позволяет с максимальной детализацией установить права субъекта доступа по выполнению разрешенных операций над объектами доступа. Такой подход нагляден и легко реализуем. Однако в реальных системах из-за большого количества субъектов и объектов доступа матрица доступа достигает таких размеров, при которых сложно поддерживать ее в адекватном состоянии.
Полномочный или мандатный метод базируется на многоуровневой модели защиты. Такой подход построен по аналогии с «ручным» конфиденциальным (секретным) делопроизводством. Документу присваивается уровень конфиденциальности (гриф секретности), а также могут присваиваться метки, отражающие категории конфиденциальности (секретности) документа. Таким образом, конфиденциальный документ имеет гриф конфиденциальности (конфиденциально, строго конфиденциально, секретно, совершенно секретно и т. д.) и может иметь одну или несколько меток, которые уточняют категории лиц, допущенных к этому документу («для руководящего состава», «для инженерно-технического состава» и т. д.). Субъектам доступа устанавливается уровень допуска, определяющего максимальный для данного субъекта уровень конфиденциальности документа, к которому разрешается допуск. Субъекту доступа устанавливаются также категории, которые связаны с метками документа.
Правило разграничения доступа заключается в следующем: лицо допускается к работе с документом только в том случае, если уровень допуска субъекта доступа равен или выше уровня конфиденциальности документа, а в наборе категорий, присвоенных данному субъекту доступа, содержатся все категории, определенные для данного документа.
В КС все права субъекта доступа фиксируются в его мандате. Объекты доступа содержат метки, в которых записаны признаки конфиденциальности. Права доступа каждого субъекта и характеристики конфиденциальности каждого объекта отображаются в виде совокупности уровня конфиденциальности и набора категорий конфиденциальности.
Мандатное управление позволяет упростить процесс регулирования доступа, так как при создании нового объекта достаточно создать его метку. Однако при таком управлении приходится завышать конфиденциальность информации из-за невозможности детального разграничения доступа.
Если право установления правил доступа к объекту предоставляется владельцу объекта (или его доверенному лицу), то такой метод контроля доступа к информации называется дискреционным.

8.1.2. Состав системы разграничения доступа

Система разграничения доступа к информации должна содержать четыре функциональных блока:
* блок идентификации и аутентификации субъектов доступа;
* диспетчер доступа;
* блок криптографического преобразования информации при ее хранении и передаче;
* блок очистки памяти.
Идентификация и аутентификация субъектов осуществляется в момент их доступа к устройствам, в том числе и дистанционного доступа.
Диспетчер доступа реализуется в виде аппаратно-программных механизмов (рис.13) и обеспечивает необходимую дисциплину разграничения доступа субъектов к объектам доступа (в том числе и к аппаратным блокам, узлам, устройствам). Диспетчер доступа разграничивает доступ к внутренним ресурсам КС субъектов, уже получивших доступ к этим системам. Необходимость использования диспетчера доступа возникает только в многопользовательских КС.
Запрос на доступ 1-го субъекта и j-му объекту поступает в блок управления базой полномочий и характеристик доступа и в блок регистрации событий. Полномочия субъекта и характеристики объекта доступа анализируются в блоке принятия решения, который выдает сигнал разрешения выполнения запроса, либо сигнал отказа в допуске. Если число попыток субъекта допуска получить доступ к запрещенным для него объектам превысит определенную границу (обычно 3 раза), то блок принятия решения на основании данных блока регистрации выдает сигнал «НСДИ» администратору системы безопасности. Администратор может блокировать работу субъекта, нарушающего правила доступа в системе, и выяснить причину нарушений. Кроме преднамеренных попыток НСДИ диспетчер фиксирует нарушения правил разграничения, явившихся следствием отказов, сбоев аппаратных и программных средств, а также вызванных ошибками персонала и пользователей.


Рис. 13. Диспетчер доступа

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

8.1.3. Концепция построения систем разграничения доступа

В основе построения СРД лежит концепция разработки защищенной универсальной ОС на базе ядра безопасности [6]. Под ядром безопасности понимают локализованную, минимизированную, четко ограниченную и надежно изолированную совокупность программно-аппаратных механизмов, доказательно правильно реализующих функции диспетчера доступа [29]. Правильность функционирования ядра безопасности доказывается путем полной формальной верификации его программ и пошаговым доказательством их соответствия выбранной математической модели защиты.
Применение ядра безопасности требует провести изменения ОС и архитектуры ЭВМ. Ограничение размеров и сложности ядра необходимо для обеспечения его верифицируемости.
Для аппаратной поддержки защиты и изоляции ядра в архитектуре ЭВМ должны быть предусмотрены:
* многоуровневый режим выполнения команд;
* использование ключей защиты и сегментирование памяти; Ф реализация механизма виртуальной памяти с разделением адресных пространств;
* аппаратная реализация части функций ОС:
* хранение программ ядра в постоянном запоминающем устройстве (ПЗУ);
* использование новых архитектур ЭВМ, отличных от фон-неймановской архитектуры (архитектуры с реализацией абстрактных типов данных, теговые архитектуры с привилегиями и др.).
Обеспечение многоуровневого режима выполнения команд является главным условием создания ядра безопасности. Таких уровней должно быть не менее двух. Часть машинных команд ЭВМ должна выполняться только в режиме работы ОС. Основной проблемой создания высокоэффективной защиты от НСД является предотвращение несанкционированного перехода пользовательских процессов в привилегированное состояние. Для современных сложных ОС практически нет доказательств отсутствия возможности несанкционированного получения пользовательскими программами статуса программ ОС.
Использование ключей защиты, сегментирование памяти и применение механизма виртуальной памяти предусматривает аппаратную поддержку концепции изоляции областей памяти при работе ЭВМ в мультипрограммных режимах. Эти механизмы служат основой для организации работы ЭВМ в режиме виртуальных машин. Режим виртуальных машин позволяет создать наибольшую изолированность пользователей, допуская использование даже различных ОС пользователями в режиме разделения времени.
Аппаратная реализация наиболее ответственных функций ОС и хранение программ ядра в ПЗУ существенно повышают изолированность ядра, его устойчивость к попыткам модификации. Аппаратно должны быть реализованы прежде всего функции идентификации и аутентификации субъектов доступа, хранения атрибутов системы защиты, поддержки криптографического закрытия информации, обработки сбоев и отказов и некоторые другие.
Универсальные ЭВМ и их ОС, используемые ранее, практически не имели встроенных механизмов защиты от НСД. Такие распространенные ОС как ЮМ System/370, MS-DOS и целый ряд других ОС не имели встроенных средств идентификации и аутентификации и разграничения доступа. Более современные универсальные ОС UNIX, VAX/VMS, Solaris и др. имеют встроенные механизмы разграничения доступа и аутентификации. Однако возможности этих встроенных функций ограничены и не могут удовлетворять требованиям, предъявляемым к защищенным ЭВМ.
Имеется два пути получения защищенных от НСД КС:
* создание специализированных КС;
* оснащение универсальных КС дополнительными средствами защиты.
Первый путь построения защищенных КС пока еще не получил широкого распространения в связи с нерешенностью целого ряда проблем. Основной из них является отсутствие эффективных методов разработки доказательно корректных аппаратных и программных средств сложных систем. Среди немногих примеров специализированных ЭВМ можно назвать систему SCOMP фирмы «Honeywell», предназначенную для использования в центрах коммутации вычислительных сетей, обрабатывающих секретную информацию. Система разработана на базе концепции ядра безопасности. Узкая специализация позволила создать защищенную систему, обеспечивающую требуемую эффективность функционирования по прямому назначению.
Чаще всего защита КС от НСД осуществляется путем использования дополнительных программных или аппаратно-программных средств. Программные средства RACF, SECURC, TOPSECRET и другие использовались для защиты ЭВМ типа ЮМ-370.
В настоящее время появились десятки отдельных программ, программных и аппаратных комплексов, рассчитанных на защиту персональных ЭВМ от несанкционированного доступа к ЭВМ, которые разграничивают доступ к информации и устройствам ПЭВМ.

8.1.4. Современные системы защиты ПЭВМ от несанкционированного доступа к информации

В качестве примеров отдельных программ, повышающих защищенность КС от НСД, можно привести утилиты из пакета Norton Utilities, такие как программа шифрования информации при записи на диск Diskreet или Secret disk, программа стирания информации с диска WipeInfo, программа контроля обращения к дискам Disk Monitor и др. [32].
Отечественными разработчиками предлагаются программные системы защиты ПЭВМ «Снег-1.0», «Кобра», «Страж-1.1» и др. В качестве примеров отечественных аппаратно-программных средств защиты, имеющих сертификат Гостехкомиссии, можно привести системы «Аккорд-4», «DALLAS LOCK 3.1», «Редут», «ДИЗ-1». Аппаратно-программные комплексы защиты реализуют максимальное число защитных механизмов:
* идентификация и аутентификация пользователей;
* разграничение доступа к файлам, каталогам, дискам;
* контроль целостности программных средств и информации;
* возможность создания функционально замкнутой среды пользователя;
* защита процесса загрузки ОС;
* блокировка ПЭВМ на время отсутствия пользователя;
* криптографическое преобразование информации;
* регистрация событий;
* очистка памяти.
Программные системы защиты в качестве идентификатора используют, как правило, только пароль. Пароль может быть перехвачен резидентными программами двух видов. Программы первого вида перехватывают прерывания от клавиатуры, записывают символы в специальный файл, а затем передают управление ОС. После перехвата установленного числа символов программа удаляется из ОП. Программы другого вида выполняются вместо штатных программ считывания пароля. Такие программы первыми получают управление и имитируют для пользователя работу со штатной программой проверки пароля. Они запоминают пароль, имитируют ошибку ввода пароля и передают управление штатной программе парольной идентификации. Отказ при первом наборе пароля пользователь воспринимает как сбой системы или свою ошибку и осуществляет повторный набор пароля, который должен завершиться допуском его к работе. При перехвате пароля в обоих случаях пользователь не почувствует, что его пароль скомпрометирован. Для получения возможности перехвата паролей злоумышленник должен изменить программную структуру системы. В некоторых программных системах защиты («Страж-1.1») для повышения достоверности аутентификации используются съемные магнитные диски, на которых записывается идентификатор пользователя.
Значительно сложнее обойти блок идентификации и аутентификации в аппаратно-программных системах защиты от НСД. В таких системах используются электронные идентификаторы, чаще всего - Touch Memory.
Для каждого пользователя устанавливаются его полномочия в отношении файлов, каталогов, логических дисков. Элементы, в отношении которых пользователю запрещены любые действия, становятся «невидимыми» для него, т. е. они не отображаются на экране монитора при просмотре содержимого внешних запоминающих устройств.
Для пользователей может устанавливаться запрет на использование таких устройств, как накопители на съемных носителях, печатающие устройства. Эти ограничения позволяют предотвращать реализацию угроз, связанных с попытками несанкционированного копирования и ввода информации, изучения системы защиты.
В наиболее совершенных системах реализован механизм контроля целостности файлов с использованием хэш-функции. Причем существуют системы, в которых контрольная характеристика хранится не только в ПЭВМ, но и в автономном ПЗУ пользователя. Постоянное запоминающее устройство, как правило, входит в состав карты или жетона, используемого для идентификации пользователя. Так в системе «Аккорд-4» хэш-функции вычисляются для контролируемых файлов и хранятся в специальном файле в ПЭВМ, а хэш-функция, вычисляемая для специального файла, хранится в Touch Memory.
После завершения работы на ПЭВМ осуществляется запись контрольных характеристик файлов на карту или жетон пользователя. При входе в систему осуществляется считывание контрольных характеристик из ПЗУ карты или жетона и сравнение их с характеристиками, вычисленными по контролируемым файлам. Для того, чтобы изменение файлов осталось незамеченным, злоумышленнику необходимо изменить контрольные характеристики как в ПЭВМ, так и на карте или жетоне, что практически невозможно при условии выполнения пользователем простых правил.
Очень эффективным механизмом борьбы с НСДИ является создание функционально-замкнутых сред пользователей. Суть его состоит в следующем. Для каждого пользователя создается меню, в которое попадает пользователь после загрузки ОС. В нем указываются программы, к выполнению которых допущен пользователь. Пользователь может выполнить любую из программ из меню. После выполнения программы пользователь снова попадает в меню. Если эти программы не имеют возможностей инициировать выполнение других программ, а также предусмотрена корректная обработка ошибок, сбоев и отказов, то пользователь не сможет выйти за рамки установленной замкнутой функциональной среды. Такой режим работы вполне осуществим во многих АСУ.
Защита процесса загрузки ОС предполагает осуществление загрузки именно штатной ОС и исключение вмешательства в ее структуру на этапе загрузки. Для обеспечения такой защиты на аппаратном или программном уровне блокируется работа всех ВЗУ, за исключением того, на котором установлен носитель со штатной ОС. Если загрузка осуществляется со съемных носителей информации, то до начала загрузки необходимо удостовериться в том, что установлен носитель со штатной ОС. Такой контроль может быть осуществлен программой, записанной в ПЗУ ЭВМ.
Способы контроля могут быть разными: от контроля идентификатора до сравнения хэш-функций. Загрузка с несъемного носителя информации все же является предпочтительнее.
Процесс загрузки ОС должен исключать возможность вмешательства до полного завершения загрузки, пока не будут работать все механизмы системы защиты. В КС достаточно блокировать на время загрузки ОС все устройства ввода информации и каналы связи.
При организации многопользовательского режима часто возникает необходимость на непродолжительное время отлучиться от рабочего места, либо передать ЭВМ другому пользователю. На это время необходимо блокировать работу ЭВМ. В этих случаях очень удобно использовать электронные идентификаторы, которые при работе должны постоянно находиться в приемном устройстве блока идентификации ЭВМ. При изъятии идентификатора гасится экран монитора и блокируются устройства управления. При предъявлении идентификатора, который использовался при доступе к ЭВМ, осуществляется разблокировка, и работа может быть продолжена. При смене пользователей целесообразно производить ее без выключения ЭВМ. Для этого необходим аппаратно-программный или программный механизм корректной смены полномочий. Если предыдущий пользователь корректно завершил работу, то новый пользователь получает доступ со своими полномочиями после успешного завершения процедуры аутентификации.
Одним из наиболее эффективных методов разграничения доступа является криптографическое преобразование информации. Этот метод является универсальным. Он защищает информацию от изучения, внедрения программных закладок, делает операцию копирования бессмысленной. Поэтому криптографические методы защиты информации рассматриваются довольно подробно в гл. 9. Здесь необходимо лишь отметить, что пользователи могут использовать одни и те же аппаратно-программные или программные средства криптографического преобразования или применять индивидуальные средства.
Для своевременного пресечения несанкционированных действий в отношении информации, а также для контроля за соблюдением установленных правил субъектами доступа, необходимо обеспечить регистрацию событий, связанных с защитой информации. Степень подробности фиксируемой информации может изменяться и обычно определяется администратором системы защиты. Информация накапливается на ВЗУ. Доступ к ней имеет только администратор системы защиты.
Важно обеспечивать стирание информации в ОП и в рабочих областях ВЗУ. В ОП размещается вся обрабатываемая информация, причем, в открытом виде. Если после завершения работы пользователя не осуществить очистку рабочих областей памяти всех уровней, то к ней может быть осуществлен несанкционированный доступ.

8.2. Система защиты программных средств
от копирования и исследования

8.2.1. Методы, затрудняющие считывание скопированной информации

Создание копий программных средств для изучения или несанкционированного использования осуществляется с помощью устройств вывода или каналов связи.
Одним из самых распространенных каналов несанкционированного копирования является использование накопителей на съемных магнитных носителях. Угроза несанкционированного копирования информации блокируется методами, которые могут быть распределены по двум группам:
методы, затрудняющие считывание скопированной информации;
методы, препятствующие использованию информации.
Методы из первой группы основываются на придании особенностей процессу записи информации, которые не позволяют считывать полученную копию на других накопителях, не входящих в защищаемую КС. Таким образом, эти методы направлены на создание совместимости накопителей только внутри объекта. В КС должна быть ЭВМ, имеющая в своем составе стандартные и нестандартные накопители. На этой ЭВМ осуществляется ввод (вывод) информации для обмена с другими КС, а также переписывается информация со стандартных носителей на нестандартные, и наоборот. Эти операции осуществляются под контролем администратора системы безопасности. Такая организация ввода-вывода информации существенно затрудняет действия злоумышленника не только при несанкционированном копировании, но и при попытках несанкционированного ввода информации.
Особенности работы накопителей на съемных магнитных носителях должны задаваться за счет изменения программных средств, поддерживающих их работу, а также за счет простых аппаратных регулировок и настроек. Такой подход позволит использовать серийные образцы накопителей.
Самым простым решением является нестандартная разметка (форматирование) носителя информации [18]. Изменение длины секторов, межсекторных расстояний, порядка нумерации секторов и некоторые другие способы нестандартного форматирования дискет затрудняют их использование стандартными средствами операционных систем. Нестандартное форматирование защищает только от стандартных средств работы с накопителями. Использование специальных программных средств (например, DISK EXPLORER для IBM-совместимых ПЭВМ) позволяет получить характеристики нестандартного форматирования.
Перепрограммирование контроллеров ВЗУ, аппаратные регулировки и настройки вызывают сбой оборудования при использовании носителей на стандартных ВЗУ, если форматирование и запись информации производились на нестандартном ВЗУ. В качестве примеров можно привести изменения стандартного алгоритма подсчета контрольной суммы и работы системы позиционирования накопителей на гибких магнитных дисках.
В контроллерах накопителей подсчитывается и записывается контрольная сумма данных сектора. Если изменить алгоритм подсчета контрольной суммы, то прочитать информацию на стандартном накопителе будет невозможно из-за сбоев.
Позиционирование в накопителях на магнитных дисках осуществляется следующим образом. Определяется номер дорожки, на которой установлены магнитные головки. Вычисляется количество дорожек, на которое необходимо переместить головки и направление движения. Если нумерацию дорожек магнитного диска начинать не с дорожек с максимальным радиусом, как это делается в стандартных накопителях, а нумеровать их в обратном направлении, то система позиционирования стандартного накопителя не сможет выполнять свои функции при установке на него такого диска. Направление движения будет задаваться в направлении, обратном фактически записанным на дискете номерам дорожек, и успешное завершение позиционирования невозможно.
Выбор конкретного метода изменения алгоритма работы ВЗУ (или их композиции) осуществляется с учетом удобства практической реализации и сложности повторения алгоритма злоумышленником. При разработке ВЗУ необходимо учитывать потребность использования устройств в двух режимах: в стандартном режиме и в режиме совместимости на уровне КС. Выбор одного из режимов, а также выбор конкретного алгоритма нестандартного использования должен осуществляться, например, записью в ПЗУ двоичного кода. Число нестандартных режимов должно быть таким, чтобы исключался подбор режима методом перебора. Процесс смены режима должен исключать возможность автоматизированного подбора кода. Установку кода на ВЗУ всего объекта должен производить администратор системы безопасности.

8.2.2. Методы, препятствующие использованию скопированной информации

Эта группа методов имеет целью затруднить использование полученных копированием данных. Скопированная информация может быть программой или данными. Данные и программы могут быть защищены, если они хранятся на ВЗУ в преобразованном криптографическими методами виде. Программы, кроме того, могут защищаться от несанкционированного исполнения и тиражирования, а также от исследования.
Наиболее действенным (после криптографического преобразования) методом противодействия несанкционированному выполнению скопированных программ является использование блока контроля среды размещения программы [18]. Блок контроля среды размещения является дополнительной частью программ. Он создается при инсталляции (установке) программ. В него включаются характеристики среды, в которой размещается программа, а также средства получения и сравнения характеристик.
В качестве характеристик используются характеристики ЭВМ или носителя информации, или совместно, характеристики ЭВМ и носителя. С помощью характеристик программа связывается с конкретной ЭВМ и (или) носителем информации. Программа может выполняться только на тех ЭВМ или запускаться только с тех носителей информации, характеристики которых совпадут с характеристиками, записанными в блоке контроля среды выполнения.
В качестве характеристик ЭВМ используются особенности архитектуры: тип и частота центрального процессора, номер процессора (если он есть), состав и характеристики внешних устройств, особенности их подключения, режимы работы блоков и устройств и т. п.
Сложнее осуществляется привязка программ к носителям информации, так как они стандартны и не имеют индивидуальных признаков [38]. Поэтому такие индивидуальные признаки создаются искусственно путем нанесения физических повреждений или изменением системной информации и структуры физических записей на носителе. Например, на гибких магнитных дисках могут прожигаться лазером отверстия, используется нестандартное форматирование, пометка некоторых секторов как дефектных. Приведенные средства защиты от несанкционированного использования дискет эффективны против стандартных способов создания копий (COPY, XCOPY, Diskcopy, Pctools, Norton Utilities в MS DOS и др.).
Однако существуют программные средства (COPYWR1TE, DISK EXPLORER), позволяющие создавать полностью идентичные копии дискет с воспроизведением всех уникальных характеристик. Все же приведенный метод защиты нельзя считать абсолютно неэффективным, так как трудоемкость преодоления защиты велика и требования, предъявляемые к квалификации взломщика, высоки.
Общий алгоритм механизма защиты от несанкционированного использования программ в «чужой» среде размещения сводится к выполнению следующих шагов.
Шаг 1. Запоминание множества индивидуальных контрольных характеристик ЭВМ и (или) съемного носителя информации на этапе инсталляции защищаемой программы.
Шаг 2. При запуске защищенной программы управление передается на блок контроля среды размещения. Блок осуществляет сбор и сравнение характеристик среды размещения с контрольными характеристиками.
Шаг 3. Если сравнение прошло успешно, то программа выполняется, иначе - отказ в выполнении. Отказ в выполнении может быть дополнен выполнением деструктивных действий в отношении этой программы, приводящих к невозможности выполнения этой программы, если такую самоликвидацию позволяет выполнить ОС.
Привязка программ к среде размещения требует повторной их инсталляции после проведения модернизации, изменения структуры или ремонта КС с заменой устройств.
Для защиты от несанкционированного использования программ могут применяться и электронные ключи [51] . Электронный ключ «HASP» имеет размеры со спичечный коробок и подключается к параллельному порту принтера. Принтер подключается к компьютеру через электронный ключ. На работу принтера ключ не оказывает никакого влияния. Ключ распространяется с защищаемой программой. Программа в начале и в ходе выполнения считывает контрольную информацию из ключа. При отсутствии ключа выполнение программы блокируется.

8.2.3. Защита программных средств от исследования

Изучение логики работы программы может выполняться в одном из двух режимов: статическом и динамическом [60,61]. Сущность статического режима заключается в изучении исходного текста программы. Для получения листингов исходного текста выполняемый программный модуль дизассемблируют, то есть получают из программы на машинном языке программу на языке Ассемблер.
Динамический режим изучения алгоритма программы предполагает выполнение трассировки программы. Под трассировкой программы понимается выполнение программы на ЭВМ с использованием специальных средств, позволяющих выполнять программу в пошаговом режиме, получать доступ к регистрам, областям памяти, производить остановку программы по определенным адресам и т. д. В динамическом режиме изучение алгоритма работы программы осуществляется либо в процессе трассировки, либо по данным трассировки, которые записаны в запоминающем устройстве.
Средства противодействия дизассемблированию не могут защитить программу от трассировки и наоборот: программы, защищенные только от трассировки, могут быть дизассемблированы. Поэтому для защиты программ от изучения необходимо иметь средства противодействия как дизассемблированию, так и трассировке.
Существует несколько методов противодействия дизассемблированию:
* шифрование;
* архивация:
* использование самогенерирующих кодов;
* «обман» дизассемблера.
Архивацию можно рассматривать как простейшее шифрование. Причем архивация может быть объединена с шифрованием. Комбинация таких методов позволяет получать надежно закрытые компактные программы. Зашифрованную программу невозможно дизассемблировать без расшифрования. Зашифрование (расшифрование) программ может осуществляться аппаратными средствами или отдельными программами. Такое шифрование используется перед передачей программы по каналам связи или при хранении ее на ВЗУ. Дизассемблирование программ в этом случае возможно только при получении доступа к расшифрованной программе, находящейся в ОП перед ее выполнением (если считается, что преодолеть криптографическую защиту невозможно).
Другой подход к защите от дизассемблирования связан с совмещением процесса расшифрования с процессом выполнения программ. Если расшифрование всей программы осуществляется блоком, получающим управление первым, то такую программу расшифровать довольно просто. Гораздо сложнее расшифровать и дизассемблировать программу, которая поэтапно расшифровывает информацию, и этапы разнесены по ходу выполнения программы. Задача становится еще более сложной, если процесс расшифрования разнесен по тексту программы.
Сущность метода, основанного на использовании самогенерируемых кодов, заключается в том, что исполняемые коды программы получаются самой программой в процессе ее выполнения. Самогенерируемые коды получаются в результате определенных действий над специально выбранным массивом данных. В качестве исходных данных могут использоваться исполняемые коды самой программы или специально подготовленный массив данных. Данный метод показал свою высокую эффективность, но он сложен в реализации.
Под «обманом» дизассемблера понимают такой стиль программирования, который вызывает нарушение правильной работы стандартного дизассемблера за счет нестандартных приемов использования отдельных команд, нарушения общепринятых соглашений. «Обман» дизассемблера осуществляется несколькими способами:
* нестандартная структура программы;
* скрытые переходы, вызовы процедур, возвраты из них и из прерываний;
* переходы и вызовы подпрограмм по динамически изменяемым адресам;
* модификация исполняемых кодов.
Для дезориентации дизассемблера часто используются скрытые переходы, вызовы и возвраты за счет применения нестандартных возможностей команд.
Маскировка скрытых действий часто осуществляется с применением стеков.
Трассировка программ обычно осуществляется с помощью программных продуктов, называемых отладчиками. Основное назначение их - выявление ошибок в программах. При анализе алгоритмов программ используются такие возможности отладчиков как пошаговое (покомандное) выполнение программ, возможность останова в контрольной точке.
Покомандное выполнение осуществляется процессором при установке пошагового режима работы. Контрольной точкой называют любое место в программе, на котором обычное выполнение программы приостанавливается, и осуществляется переход в особый режим, например, в режим покомандного выполнения. Для реализации механизма контрольной точки обычно используется прерывание по соответствующей команде ЭВМ (для IBM-совместных ПЭВМ такой командой является команда INT). В современных процессорах можно использовать специальные регистры для установки нескольких контрольных точек при выполнении определенных операций: обращение к участку памяти, изменение участка памяти, выборка по определенному адресу, обращение к определенному порту ввода-вывода и т. д.
При наличии современных средств отладки программ полностью исключить возможность изучения алгоритма программы невозможно, но существенно затруднить трассировку возможно. Основной задачей противодействия трассировке является увеличение числа и сложности ручных операций, которые необходимо выполнить программисту-аналитику.
Для противодействия трассировке программы в ее состав вводятся следующие механизмы:
* изменение среды функционирования;
* модификация кодов программы;
* «случайные» переходы.
Под изменением среды функционирования понимается запрет или переопределение прерываний (если это возможно), изменение режимов работы, состояния управляющих регистров, триггеров и т. п. Такие изменения вынуждают аналитика отслеживать изменения и вручную восстанавливать среду функционирования.
Изменяющиеся коды программ, например, в процедурах приводят к тому, что каждое выполнение процедуры выполняется по различным ветвям алгоритма.
«Случайные» переходы выполняются за счет вычисления адресов переходов. Исходными данными для этого служат характеристики среды функционирования, контрольные суммы процедур (модифицируемых) и т. п. Включение таких механизмов в текст программ существенно усложняет изучение алгоритмов программ путем их трассировки.


Контрольные вопросы
1. Дайте определение несанкционированного доступа к информации.
2. Сравните два подхода к организации разграничения доступа.
3. Поясните принцип действия и концепцию создания системы разграничения доступа.
4. Приведите примеры современных систем защиты ПЭВМ и их возможности.
5. Поясните сущность защиты информации от копирования.
6. Какие методы применяются для защиты программных средств от исследования?


ГЛАВА 9
Криптографические методы защиты информации

9.1. Классификация методов криптографического преобразования информации

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



Рис. 14. Классификация .методов криптографического преобразования информации

Процесс шифрования заключается в проведении обратимых математических, логических, комбинаторных и других преобразований исходной информации, в результате которых зашифрованная информация представляет собой хаотический набор букв, цифр, других символов и двоичных кодов.
Для шифрования информации используются алгоритм преобразования и ключ. Как правило, алгоритм для определенного метода шифрования является неизменным. Исходными данными для алгоритма шифрования служат информация, подлежащая зашифрованию, и ключ шифрования. Ключ содержит управляющую информацию, которая определяет выбор преобразования на определенных шагах алгоритма и величины операндов, используемые при реализации алгоритма шифрования.
В отличие от других методов криптографического преобразования информации, методы стеганографии [2] позволяют скрыть не только смысл хранящейся или передаваемой информации, но и сам факт хранения или передачи закрытой информации. В компьютерных системах практическое использование стеганографии только начинается, но проведенные исследования показывают ее перспективность. В основе всех методов стеганографии лежит маскирование закрытой информации среди открытых файлов. Обработка мультимедийных файлов в КС открыла практически неограниченные возможности перед стеганографией.
Существует несколько методов скрытой передачи информации. Одним из них является простой метод скрытия файлов при работе в операционной системе MS DOS. За текстовым открытым файлом записывается скрытый двоичный файл, объем которого много меньше текстового файла. В конце текстового файла помещается метка EOF (комбинация клавиш Control и Z). При обращении к этому текстовому файлу стандартными средствами ОС считывание прекращается по достижению метки EOF и скрытый файл остается недоступен. Для двоичных файлов никаких меток в конце файла не предусмотрено. Конец такого файла определяется при обработке атрибутов, в которых хранится длина файла в байтах. Доступ к скрытому файлу может быть получен, если файл открыть как двоичный. Скрытый файл может быть зашифрован. Если кто-то случайно обнаружит скрытый файл, то зашифрованная информация будет воспринята как сбой в работе системы.
Графическая и звуковая информация представляются в числовом виде. Так в графических объектах наименьший элемент изображения может кодироваться одним байтом. В младшие разряды определенных байтов изображения в соответствии с алгоритмом криптографического преобразования помещаются биты скрытого файла. Если правильно подобрать алгоритм преобразования и изображение, на фоне которого помещается скрытый файл, то человеческому глазу практически невозможно отличить полученное изображение от исходного. Очень сложно выявить скрытую информацию и с помощью специальных программ. Наилучшим образом для внедрения скрытой информации подходят изображения местности: фотоснимки со спутников, самолетов и т. п. С помощью средств стеганографии могут маскироваться текст, изображение, речь, цифровая подпись, зашифрованное сообщение. Комплексное использование стеганографии и шифрования многократно повышает сложность решения задачи обнаружения и раскрытия конфиденциальной информации.
Содержанием процесса кодирования информации является замена смысловых конструкций исходной информации (слов, предложений) кодами. В качестве кодов могут использоваться сочетания букв, цифр, букв и цифр. При кодировании и обратном преобразовании используются специальные таблицы или словари. Кодирование информации целесообразно применять в системах с ограниченным набором смысловых конструкций. Такой вид криптографического преобразования применим, например, в командных линиях АСУ. Недостатками кодирования конфиденциальной информации является необходимость хранения и распространения кодировочных таблиц, которые необходимо часто менять, чтобы избежать раскрытия кодов статистическими методами обработки перехваченных сообщений.
Сжатие информации может быть отнесено к методам криптографического преобразования информации с определенными оговорками. Целью сжатия является сокращение объема информации. В то же время сжатая информация не может быть прочитана или использована без обратного преобразования. Учитывая доступность средств сжатия и обратного преобразования, эти методы нельзя рассматривать как надежные средства криптографического преобразования информации. Даже если держать в секрете алгоритмы, то они могут быть сравнительно легко раскрыты статистическими методами обработки. Поэтому сжатые файлы конфиденциальной информации подвергаются последующему шифрованию. Для сокращения времени целесообразно совмещать процесс сжатия и шифрования информации.

9.2. Шифрование. Основные понятия

Основным видом криптографического преобразования информации в КС является шифрование. Под шифрованием понимается процесс преобразования открытой информации в зашифрованную информацию (шифртекст) или процесс обратного преобразования зашифрованной информации в открытую. Процесс преобразования открытой информации в закрытую получил название зашифрование, а процесс преобразования закрытой информации в открытую - расшифрование.
За многовековую историю использования шифрования информации человечеством изобретено множество методов шифрования или шифров. Методом шифрования (шифром) называется совокупность обратимых преобразований открытой информации в закрытую информацию в соответствии с алгоритмом шифрования. Большинство методов шифрования не выдержали проверку временем, а некоторые используются и до сих пор. Появление ЭВМ и КС инициировало процесс разработки новых шифров, учитывающих возможности использования ЭВМ как для зашифрования/расшифрования информации, так и для атак на шифр. Атака на шифр (криптоанализ) - это процесс расшифрования закрытой информации без знания ключа и, возможно, при отсутствии сведений об алгоритме шифрования.
Современные методы шифрования должны отвечать следующим требованиям:
* стойкость шифра противостоять криптоанализу (криптостойкость) должна быть такой, чтобы вскрытие его могло быть осуществлено только путем решения задачи полного перебора ключей;
* криптостойкость обеспечивается не секретностью алгоритма шифрования, а секретностью ключа;
* шифртекст не должен существенно превосходить по объему исходную информацию;
* ошибки, возникающие при шифровании, не должны приводить к искажениям и потерям информации;
* время шифрования не должно быть большим;
* стоимость шифрования должна быть согласована со стоимостью закрываемой информации.
Криптостойкость шифра является его основным показателем эффективности. Она измеряется временем или стоимостью средств, необходимых криптоаналитику для получения исходной информации по шифртексту, при условии, что ему неизвестен ключ.
Сохранить в секрете широко используемый алгоритм шифрования практически невозможно. Поэтому алгоритм не должен иметь скрытых слабых мест, которыми могли бы воспользоваться криптоаналитики. Если это условие выполняется, то криптостойкость шифра определяется длиной ключа, так как единственный путь вскрытия зашифрованной информации - перебор комбинаций ключа и выполнение алгоритма расшифрования. Таким образом, время и средства, затрачиваемые на криптоанализ, зависят от длины ключа и сложности алгоритма шифрования.
В качестве примера удачного метода шифрования можно привести шифр DES (Data Encryption Standard), применяемый в США с 1978 года в качестве государственного стандарта. Алгоритм шифрования не является секретным и был опубликован в открытой печати. За все время использования этого шифра не было обнародовано ни одного случая обнаружения слабых мест в алгоритме шифрования.
В конце 70-х годов использование ключа длиной в 56 бит гарантировало, что для раскрытия шифра потребуется несколько лет непрерывной работы самых мощных по тем временам компьютеров. Прогресс в области вычислительной техники позволил значительно сократить время определения ключа путем полного перебора. Согласно заявлению специалистов Агентства национальной безопасности США 56-битный ключ для DES может быть найден менее чем за 453 дня с использованием суперЭВМ Cray T3D, которая имеет 1024 узла и стоит 30 млн. долл. Используя чип FPGA (Field Programmably Gate Array - программируемая вентильная матрица) стоимостью 400 долл., можно восстановить 40-битный ключ DES за 5 часов. Потратив 10000 долл. за 25 чипов FPGA, 40-битный ключ можно найти в среднем за 12 мин. Для вскрытия 56-битного ключа DES при опоре на серийную технологию и затратах в 300000 долл. требуется в среднем 19 дней, а если разработать специальный чип, то - 3 часа. При затратах в 300 млн. долл. 56-битные ключи могут быть найдены за 12 сек. Расчеты показывают, что в настоящее время для надежного закрытия информации длина ключа должна быть не менее 90 бит.
Все методы шифрования могут быть классифицированы по различным признакам. Один из вариантов классификации приведен на рис. 15 [8].

9.3. Методы шифрования с симметричным ключом

9.3.1. Методы замены

Сущность методов замены (подстановки) заключается в замене символов исходной информации, записанных в одном алфавите, символами из другого алфавита по определенному правилу [56]. Самым простым является метод прямой замены. Символам s0i исходного алфавита A0, с помощью которых записывается исходная информация, однозначно ставятся в соответствие символы sli шифрующего алфавита A1. В простейшем случае оба алфавита могут состоять из одного и того же набора символов. Например, оба алфавита могут содержать буквы русского алфавита.
Задание соответствия между символами обоих алфавитов осуществляется с помощью преобразования числовых эквивалентов символов исходного текста Т0, длиной - К символов, по определенному алгоритму.
Алгоритм моноалфавитной замены может быть представлен в виде последовательности шагов.
Шаг 1. Формирование числового кортежа L0h путем замены каждого символа s0i д Т0 (1=1,К), представленного в исходном алфавите A0 размера [1xR], на число h0i(s0i), соответствующее порядковому номеру символа s0i в алфавите A0.
Шаг 2. Формирование числового кортежа L1h путем замены каждого числа кортежа L0h на соответствующее число hli кортежа L1h, вычисляемое по формуле:
hli = (k1 x h0i(s0i) + k2)(mod R),
где k1 - десятичный коэффициент; k2 - коэффициент сдвига. Выбранные коэффициенты k1 k2 должны обеспечивать однозначное соответствие чисел h0i и hli, а при получении hli = 0 выполнить замену hli = R.
Шаг 3. Получение шифртекста T1 путем замены каждого числа hli(sli)кортежа L1h соответствующим символом sli д T1 (i=1,K) алфавита шифрования A1 размера [1XR].
Шаг 4. Полученный шифртекст разбивается на блоки фиксированной длины b. Если последний блок оказывается неполным, то в конец блока помещаются специальные символы-заполнители (например, символ *).







Рис. 15. Классификация методов шифрования

Пример. Исходными данными для шифрования являются:
T0 = <МЕТОД_ШИФРОВАНИЯ>;
A0 = <АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ_>;
А1 = <ОРЩЬЯТЭ_ЖМЧХАВДЫФКСЕЗПИЦГН
ЛЪШБУЮ>;
R=32; k1=3; k2=15, b=4.
Пошаговое выполнение алгоритма приводит к получению следующих результатов.
Шаг 1. L0h = <12,6,18,14,5,32,24,9,20,16,14,3,l,13,9,31>.
Шаг 2. L1h = <19,1,5,25,30,15,23,10,11,31,25,24,18,22,10,12>.
ШагЗ. T1 = <СОЯГБДИМЧУГЦКПМХ>.
Шаг4. Т2 = <СОЯГ БДИМ ЧУГЦ КПМХ>.
При расшифровании сначала устраняется разбиение на блоки. Получается непрерывный шифртекст T1 длиной К символов. Расшифрование осуществляется путем решения целочисленного уравнения:
k1 h0i +k2=nR+ hli,
При известных целых величинах k1 k2, hli и R величина h0i вычисляется методом перебора n.
Последовательное применение этой процедуры ко всем символам шифртекста приводит к его расшифрованию.
По условиям приведенного примера может быть построена таблица замены, в которой взаимозаменяемые символы располагаются в одном столбце (табл. 1).

Таблица 1
Таблица замены
s0i
АБ ВГ ДЕ ЖЗ И К Л М Н О П Р С ТУ Ф X Ц Ч Ш
h0i
1 2 3 4 56 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
sli
К З Ц Л Б О Ь Э М А Ы С П Г Ъ У Р Я _ Ч В Ф Е И
hli
18 21 24 27 30 1 4 7 10 13 16 19 22 25 28 31 2 5 8 1114 17 20 23

s0i
Щ Ъ Ы Ь Э Ю Я _
h0i
25 26 27 28 29 30 31 32
sli
Н Ш Ю Щ Т Ж Х Д
hli
26 29 32 3 6 9 12 15
Использование таблицы замены значительно упрощает процесс шифрования. При шифровании символ исходного текста сравнивается с символами строки s0i таблицы. Если произошло совпадение в i-м столбце, то символ исходного текста заменяется символом из строки sli, находящегося в том же столбце i таблицы.
Расшифрование осуществляется аналогичным образом, но вход в таблицу производится по строке sli.
Основным недостатком метода прямой замены является наличие одних и тех же статистических характеристик исходного и закрытого текста. Зная, на каком языке написан исходный текст и частотную характеристику употребления символов алфавита этого языка, криптоаналитик путем статистической обработки перехваченных сообщений может установить соответствие между символами обоих алфавитов.
Существенно более стойкими являются методы полиалфавитной замены. Такие методы основаны на использовании нескольких алфавитов для замены символов исходного текста. Формально полиалфавитную замену можно представить следующим образом. При N - алфавитной замене символ s01 из исходного алфавита A0 заменяется символом s11 из алфавита А1, s02 заменяется символом s22 из алфавита А2 и так далее. После замены s0N символом sNN из AN символ s0(N+1) замещается символом s1(N+1) из алфавита А1 и так далее.
Наибольшее распространение получил алгоритм полиалфавитной замены с использованием таблицы (матрицы) Вижинера ТВ, которая представляет собой квадратную матрицу [RxR], где R - количество символов в используемом алфавите. В первой строке располагаются символы в алфавитном порядке. Начиная со второй строки, символы записываются со сдвигом влево на одну позицию. Выталкиваемые символы заполняют освобождающиеся позиции справа (циклический сдвиг). Если используется русский алфавит, то матрица Вижинера имеет размерность [32x32] (рис. 16).

Рис. 16. Матрица Вижинера
Шифрование осуществляется с помощью ключа, состоящего из М неповторяющихся символов. Из полной матрицы Вижинера выделяется матрица шифрования Тш, размерностью [(М+1),R]. Она включает первую строку и строки, первые элементы которых совпадают с символами ключа. Если в качестве ключа выбрано слово <ЗОНД>, то матрица шифрования содержит пять строк (рис. 17).

Рис.17. Матрица шифрования для ключа <ЗОНД>

Алгоритм зашифрования с помощью таблицы Вижинера представляет собой следующую последовательность шагов.
Шаг 1. Выбор ключа К длиной М символов.
Шаг 2. Построение матрицы шифрования Тш=(bij) размерностью [(М+1),R] для выбранного ключа К.
Шаг 3. Под каждым символом s0r исходного текста длиной I символов размещается символ ключа km (рис. 20). Ключ повторяется необходимое число раз.
Шаг 4. Символы исходного текста последовательно замещаются символами, выбираемыми из Тш по следующему правилу:
1) определяется символ km ключа К, соответствующий замещаемому символу s0r;
2) находится строка i в Тш, для которой выполняется условие km= bil;
3) определяется столбец j, для которого выполняется условие: s0r= bij;
4) символ s0r замещается символом bij.
Шаг 5. Полученная зашифрованная последовательность разбивается на блоки определенной длины, например, по четыре символа. Последний блок дополняется, при необходимости, служебными символами до полного объема.
Расшифрование осуществляется в следующей последовательности:
Шаг 1. Под шифртекстом записывается последовательность символов ключа по аналогии с шагом 3 алгоритма зашифрования.
Шаг 2. Последовательно выбираются символы s1r из шифртекста и соответствующие символы ключа km, В матрице Тш определяется строка i, для которой выполняется условие km= bil. В строке i определяется элемент bij = s1r. В расшифрованный текст на позицию r помещается символ blj.
Шаг 3. Расшифрованный текст записывается без разделения на блоки. Убираются служебные символы.
Пример.
Требуется с помощью ключа К = <ЗОНД> зашифровать исходный текст Т = <БЕЗОБЛАЧНОЕ_НЕБО>. Механизмы зашифрования и расшифрования представлены на рис. 18.


Рис. 18. Пример шифрования с помощью матрицы Вижинера

Криптостойкость методов полиалфавитной замены значительно выше методов простой замены, так как одни и те же символы исходной последовательности могут заменяться разными символами. Однако стойкость шифра к статистическим методам криптоанализа зависит от длины ключа.
Для повышения криптостойкости может использоваться модифицированная матрица шифрования. Она представляет собой матрицу размерности [11,R], где R - число символов алфавита. В первой строке располагаются символы в алфавитном порядке. Остальные 10 строк нумеруются от 0 до 9. В этих строках символы располагаются случайным образом.
В качестве ключей используются, например, непериодические бесконечные числа р, е и другие. Очередной n-й символ исходного текста заменяется соответствующим символом из строки матрицы шифрования, номер которой совпадает с n-й цифрой бесконечного числа.

9.3.2. Методы перестановки

Суть методов перестановки заключается в разделении исходного текста на блоки фиксированной длины и последующей перестановке символов внутри каждого блока по определенному алгоритму [56].
Перестановки получаются за счет разницы путей записи исходной информации и путей считывания зашифрованной информации в пределах геометрической фигуры. Примером простейшей перестановки является запись блока исходной информации в матрицу по строкам, а считывание - по столбцам. Последовательность заполнения строк матрицы и считывания зашифрованной информации по столбцам может задаваться ключом. Криптостойкость метода зависит от длины блока (размерности матрицы). Так для блока длиной 64 символа (размерность матрицы 8x8) возможны 1,6х109 комбинаций ключа. Для блока длиной 256 символов (матрица размерностью 16x16) число возможных ключей достигает 1,4х1026. Решение задачи перебора ключей в последнем случае даже для современных ЭВМ представляет существенную сложность.
Перестановки используются также в методе, основанном на применении маршрутов Гамильтона. Этот метод реализуется путем выполнения следующих шагов.
Шаг 1. Исходная информация разбивается на блоки. Если длина шифруемой информации не кратна длине блока, то на свободные места последнего блока помещаются специальные служебные символы-заполнители (например, *).

<< Пред. стр.

стр. 4
(общее количество: 9)

ОГЛАВЛЕНИЕ

След. стр. >>