ЗАЩИТА ПРОГРАММ И ДАННЫХ ЛЕКЦИЯ 1. АНАЛИЗ ПРОГРАММ, МЕТОД ЧЕРНОГО ЯЩИКА. О СЕБЕ • ЗАИКИН ОЛЕГ СЕРГЕЕВИЧ • К.Т.Н., НАУЧНЫЙ СОТРУДНИК ЛАБОРАТОРИИ ДИСКРЕТНОГО АНАЛИЗА И ПРИКЛАДНОЙ ЛОГИКИ ИНСТИТУТА ДИНАМИКИ СИСТЕМ И ТЕОРИИ УПРАВЛЕНИЯ СО РАН • СТАРШИЙ ПРЕПОДАВАТЕЛЬ КАФЕДРЫ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЭИ ИГУ • НАУЧНЫЕ ИНТЕРЕСЫ В ОБЛАСТИ КРИПТОГРАФИИ: КРИПТОАНАЛИЗ ПОТОЧНЫХ ШИФРОВ, ПОИСК КОЛЛИЗИЙ КРИПТОГРАФИЧЕСКИХ ХЭШ-ФУНКЦИЙ КУРС «ЗАЩИТА ПРОГРАММ И ДАННЫХ» • ОСНОВАН НА КНИГЕ ПРОСКУРИН В.Г. ЗАЩИТА ПРОГРАММ И ДАННЫХ. ИЗДАТЕЛЬСТВО: М.: АКАДЕМИЯ, ВТОРОЕ ИЗДАНИЕ, 2012 Г. 208 С. • ДАННАЯ КНИГА ОСНОВАНА НА КУРСЕ ЛЕКЦИЙ, КОТОРЫЙ ПРОСКУРИН В.Г. ПРЕПОДАВАЛ БОЛЕЕ 13 ЛЕТ В ИНСТИТУТЕ КРИПТОГРАФИИ, СВЯЗИ И ИНФОРМАТИКИ (ИКСИ) ПРИ АКАДЕМИИ ФСБ РОССИИ. • НАШ КУРС РАССЧИТАН НА 1 ЛЕКЦИЮ И 1 ПРАКТИЧЕСКОЕ ЗАНЯТИЕ В КОМПЬЮТЕРНОМ КЛАССЕ В НЕДЕЛЮ В ТЕЧЕНИЕ СЕМЕСТРА. КУРС «ЗАЩИТА ПРОГРАММ И ДАННЫХ» 1. АНАЛИЗ ПРОГРАММНЫХ РЕАЛИЗАЦИЙ 2. ЗАЩИТА ПРОГРАММ ОТ АНАЛИЗА 3. ПРОГРАММНЫЕ ЗАКЛАДКИ 4. ВНЕДРЕНИЕ ПРОГРАММНЫХ ЗАКЛАДОК 5. ПРОТИВОДЕЙСТВИЕ ПРОГРАММНЫМ ЗАКЛАДКАМ 6. ЗАЩИТА ОПЕРАЦИОННЫХ СИСТЕМ 7. ТЕХНИЧЕСКИЕ СРЕДСТВА ЗАЩИТЫ ПРОГРАММ И ДАННЫХ 8. ВЫБОР СИСТЕМ ШИФРОВАНИЯ ДЛЯ ПЕРЕДАЧИ ДАННЫХ 9. ХЕШ-ФУНКЦИИ, КОНТРОЛЬНЫЕ СУММЫ 10. АНТИВИРУСЫ 11. СЕТЕВЫЕ АТАКИ, ФАЙЕРВОЛЫ НА ОСНОВЕ КНИГИ ПРОСКУРИНА АНАЛИЗ ПРОГРАММНЫХ РЕАЛИЗАЦИЙ ФОРМУЛИРОВКА ЗАДАЧИ АНАЛИЗА ПРОГРАММНЫХ РЕАЛИЗАЦИЙ ПО БИНАРНОМУ КОДУ ПРОГРАММЫ (НАПРИМЕР, ЕХЕ-ФАЙЛУ) И ИНФОРМАЦИИ О ТОМ, ЧТО ЭТА ПРОГРАММА ДЕЛАЕТ, НУЖНО ПОЛУЧИТЬ БОЛЕЕ ДЕТАЛЬНУЮ ИНФОРМАЦИЮ О ФУНКЦИОНИРОВАНИИ ЭТОЙ ПРОГРАММЫ. Т.Е. МЫ ЗНАЕМ, ЧТО ДЕЛАЕТ ПРОГРАММА (ХОТЯ БЫ ЧАСТИЧНО), И ХОТИМ УЗНАТЬ, КАК ОНА ЭТО ДЕЛАЕТ, И ЕСТЬ ЛИ ЧТО-ТО ИЗ ТОГО, ЧТО ОНА ДЕЛАЕТ, О ЧЕМ МЫ НЕ ЗНАЕМ. АКТУАЛЬНОСТЬ ПУНКТ 1 В НАСТОЯЩЕЕ ВРЕМЯ КОМПЬЮТЕРНЫЕ ТЕХНОЛОГИИ АКТИВНО ПРИМЕНЯЮТСЯ ПРАКТИЧЕСКИ ВО ВСЕХ ОБЛАСТЯХ НАШЕЙ ЖИЗНИ. АВТОМАТИЗИРОВАННЫЕ СРЕДСТВА ОБРАБОТКИ ИНФОРМАЦИИ ИСПОЛЬЗУЮТСЯ КАК В ГОСУДАРСТВЕННЫХ УЧРЕЖДЕНИЯХ (В ТОМ ЧИСЛЕ ИМЕЮЩИХ ОТНОШЕНИЕ К ОБОРОНОСПОСОБНОСТИ СТРАНЫ), ТАК И В МНОГОЧИСЛЕННЫХ ПРЕДПРИЯТИЯХ И ОРГАНИЗАЦИЯХ, БАНКАХ И Т.П. ПРАКТИЧЕСКИ КАЖДАЯ ОРГАНИЗАЦИЯМ ИМЕЕТ У СЕБЯ КОНФИДЕНЦИАЛЬНУЮ ИНФОРМАЦИЮ, КОТОРУЮ НАДО ЗАЩИЩАТЬ. АКТУАЛЬНОСТЬ ПУНКТ 2 СРЕДСТВА ЗАЩИТЫ ВСТРАИВАЮТСЯ ВО МНОГИЕ ПРОГРАММНЫЕ СИСТЕМЫ (ОПЕРАЦИОННЫЕ СИСТЕМЫ, СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ, СИСТЕМЫ ЭЛЕКТРОННОГО ДОКУМЕНТООБОРОТА И Т.П.). ПРИ ЭТОМ ПОДРОБНЫЕ ТЕХНИЧЕСКИЕ ОПИСАНИЯ, А ТАКЖЕ ДАННЫЕ НЕЗАВИСИМЫХ ЭКСПЕРТИЗ КАЧЕСТВА ИСПОЛЬЗУЕМОЙ СИСТЕМЫ ЗАЩИТЫ ДАЛЕКО НЕ ВСЕГДА ДОСТУПНЫ ПОЛЬЗОВАТЕЛЮ. В ЭТИХ УСЛОВИЯ ПОЛЬЗОВАТЕЛЮ ПРОГРАММНОЙ СИСТЕМЫ ВАЖНО ЗНАТЬ, НАСКОЛЬКО НАДЕЖНА ПРИМЕНЯЕМАЯ ИМ ЗАЩИТА. АКТУАЛЬНОСТЬ ПУНКТ 3 ШИРОКОЕ РАСПРОСТРАНЕНИЕ ПРОГРАММНЫХ СРЕДСТВ ЗАРУБЕЖНОГО ПРОИЗВОДСТВА В РОССИЙСКОЙ ФЕДЕРАЦИИ. В РЯДЕ СТРАН, НАПРИМЕР В США И ФРАНЦИИ, ИМЕЮТСЯ ОГРАНИЧЕНИЯ НА ИМПОРТ СИСТЕМ ЗАЩИТЫ ИНФОРМАЦИИ. ДЛЯ ПРОГРАММНЫХ СРЕДСТВ, ПРИМЕНЯЕМЫХ В КРИТИЧЕСКИ ВАЖНЫХ СЕГМЕНТАХ ИНФОРМАЦИОННОЙ ИНФРАСТРУКТУРЫ РОССИЙСКОЙ ФЕДЕРАЦИИ, ВАЖНО ВЫЯВИТЬ В ИСПОЛЬЗУЕМЫХ ПРОГРАММНЫХ СРЕДСТВАХ НЕДОКУМЕНТИРОВАННЫХ ВОЗМОЖНОСТЕЙ, КОТОРЫЕ МОГУТ ПОСЛУЖИТЬ ИНФОРМАЦИОННЫМ ОРУЖИЕМ. АКТУАЛЬНОСТЬ НАВЫКИ АНАЛИЗА ПРОГРАММНЫХ РЕАЛИЗАЦИЙ ТРЕБУЮТСЯ ПРИ РЕШЕНИИ ЦЕЛОГО РЯДА ПРАКТИЧЕСКИХ ЗАДАЧ: • ЭКСПЕРТИЗА КАЧЕСТВА РЕАЛИЗАЦИИ ПРОГРАММНЫХ И ПРОГРАММНО-АППАРАТНЫХ СРЕДСТВ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ; • ВЫЯВЛЕНИЕ УЯЗВИМОСТЕЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ; • ИССЛЕДОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ПРЕДМЕТ НАЛИЧИЯ НЕДОКУМЕНТИРОВАННЫХ ВОЗМОЖНОСТЕЙ; • ВЫЯВЛЕНИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ОЦЕНКА ОПАСНОСТИ ОБНАРУЖЕННЫХ ВРЕДОНОСНЫХ ПРОГРАММ, ПЛАНИРОВАНИЕ РАБОТ ПО ЛОКАЛИЗАЦИИ ПОСЛЕДСТВИЙ И ПРЕСЕЧЕНИЮ ОБНАРУЖЕННОЙ АТАКИ. ВОССТАНОВЛЕНИЕ АЛГОРИТМОВ ВАЖНЕЙШИЙ ЭТАП АНАЛИЗА ПРОГРАММЫ – ЭТО ВОССТАНОВЛЕНИЕ АЛГОРИТМОВ, РЕАЛИЗУЕМЫХ ПРОГРАММОЙ. ЭТО НЕОБХОДИМО, Т.К. В БОЛЬШИНСТВЕ СЛУЧАЕВ ИСХОДНЫЙ КОД ПРОГРАММЫ НЕДОСТУПЕН. ВАРИАНТЫ ВОССТАНОВЛЕНИЯ: • МЕТОД ЭКСПЕРИМЕНТОВ; • СТАТИЧЕСКИЙ МЕТОД; • ДИНАМИЧЕСКИЙ МЕТОД. ВОССТАНОВЛЕНИЕ АЛГОРИТМОВ МЕТОД ЭКСПЕРИМЕНТОВ В МЕТОДЕ ЭКСПЕРИМЕНТОВ ПРОГРАММА РАССМАТРИВАЕТСЯ КАК «ЧЕРНЫЙ ЯЩИК», ОСУЩЕСТВЛЯЮЩИЙ ОПРЕДЕЛЕННЫЕ ПРЕОБРАЗОВАНИЯ В ЗАВИСИМОСТИ ОТ ПОСТУПАЮЩЕГО НА НЕГО ВХОДА. АНАЛИТИК ПРОВОДИТ МНОГОКРАТНЫЕ ЭКСПЕРИМЕНТЫ, МАНИПУЛИРУЯ ВХОДНЫМИ ДАННЫМИ, АНАЛИЗИРУЯ И СРАВНИВАЯ ПОЛУЧАЕМЫЕ РЕЗУЛЬТАТЫ. НА ОСНОВЕ ЭТИХ ЭКСПЕРИМЕНТОВ ОН ВОССТАНАВЛИВАЕТ, А ТОЧНЕЕ, УГАДЫВАЕТ АЛГОРИТМЫ ПРЕОБРАЗОВАНИЙ. ВОССТАНОВЛЕНИЕ АЛГОРИТМОВ СТАТИЧЕСКИЙ МЕТОД В СТАТИЧЕСКОМ МЕТОДЕ ПО ФАЙЛАМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВОССТАНАВЛИВАЮТСЯ ОСНОВНЫЕ ЭЛЕМЕНТЫ ИСХОДНОЙ ПРОГРАММЫ, КОТОРАЯ ЗАТЕМ АНАЛИЗИРУЕТСЯ С ЦЕЛЬЮ ВЫЯВЛЕНИЯ АЛГОРИТМОВ ЗАЩИТЫ. ОСНОВНЫМ ИНСТРУМЕНТОМ СТАТИЧЕСКОГО МЕТОДА СЛУЖАТ ПРОГРАММЫ ДИЗАССЕМБЛИРОВАНИЯ, ВОССТАНАВЛИВАЮЩИЕ ПО ИСПОЛНЯЕМЫМ ФАЙЛАМ ЛИСТИНГИ ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕР. ВОССТАНОВЛЕНИЕ АЛГОРИТМОВ ДИНАМИЧЕСКИЙ МЕТОД В ДИНАМИЧЕСКОМ МЕТОДЕ АНАЛИЗИРУЕМАЯ ПРОГРАММА ЗАПУСКАЕТСЯ ПОД КОНТРОЛЕМ ДРУГИХ СПЕЦИАЛИЗИРОВАННЫХ ПРОГРАММНЫХ СРЕДСТВ. НАЛИЧИЕ ЭТИХ СРЕДСТВ ПОЗВОЛЯЕТ ЗАПУСКАТЬ ПРОГРАММУ В ПОШАГОВОМ РЕЖИМЕ, А ТАКЖЕ ОСТАНАВЛИВАТЬ ЕЕ РАБОТУ ПРИ ОСУЩЕСТВЛЕНИИ ТЕХ ИЛИ ИНЫХ СОБЫТИЙ, ЧТО ЗНАЧИТЕЛЬНО ОБЛЕГЧАЕТ ПОИСК И АНАЛИЗ ФРАГМЕНТОВ ПРОГРАММЫ, РЕАЛИЗУЮЩИХ ПРЕОБРАЗОВАНИЯ, СВЯЗАННЫЕ С ЗАЩИТОЙ ИНФОРМАЦИИ. ОСНОВНЫМ ИНСТРУМЕНТОМ ДИНАМИЧЕСКОГО МЕТОДА ЯВЛЯЮТСЯ ТАК НАЗЫВАЕМЫЕ ПРОГРАММЫ-ОТЛАДЧИКИ. ВМЕСТЕ С ТЕМ МОГУТ ИСПОЛЬЗОВАТЬСЯ И ДРУГИЕ ПРОГРАММНЫЕ СРЕДСТВА. ВОССТАНОВЛЕНИЕ АЛГОРИТМОВ ПРИ ВОССТАНОВЛЕНИИ АЛГОРИТМОВ ЗАЩИТЫ АНАЛИТИК, КАК ПРАВИЛО, ИСПОЛЬЗУЕТ ВСЕ ТРИ ПОДХОДА В КОМБИНАЦИИ. КАКОЙ ИЗ ПОДХОДОВ ИГРАЕТ ВЕДУЩУЮ РОЛЬ, ОПРЕДЕЛЯЕТСЯ СПЕЦИФИКОЙ КОНКРЕТНОЙ ЗАДАЧИ И ПРЕДПОЧТЕНИЯМИ АНАЛИТИКА. МНОГИЕ АНАЛИТИКИ ОТДАЮТ ПРЕДПОЧТЕНИЕ ДИНАМИЧЕСКОМУ МЕТОДУ, СЧИТАЯ ЕГО НАИБОЛЕЕ ЭФФЕКТИВНЫМ. МЕТОД ЧЕРНОГО ЯЩИКА ЧЕРНЫЙ ЯЩИК — ТЕРМИН, ИСПОЛЬЗУЕМЫЙ ДЛЯ ОБОЗНАЧЕНИЯ СИСТЕМЫ, ВНУТРЕННЕЕ УСТРОЙСТВО И МЕХАНИЗМ РАБОТЫ КОТОРОЙ ОЧЕНЬ СЛОЖНЫ, НЕИЗВЕСТНЫ ИЛИ НЕВАЖНЫ В РАМКАХ ДАННОЙ ЗАДАЧИ. МЕТОД ЧЕРНОГО ЯЩИКА — МЕТОД ИССЛЕДОВАНИЯ ТАКИХ СИСТЕМ, КОГДА ВМЕСТО СВОЙСТВ И ВЗАИМОСВЯЗЕЙ СОСТАВНЫХ ЧАСТЕЙ СИСТЕМЫ, ИЗУЧАЕТСЯ РЕАКЦИЯ СИСТЕМЫ, КАК ЦЕЛОГО, НА ИЗМЕНЯЮЩИЕСЯ УСЛОВИЯ. МЕТОД ЧЕРНОГО ЯЩИКА ТЕРМИН «ЧЕРНЫЙ ЯЩИК» ИСПОЛЬЗУЕТСЯ В МАТЕМАТИЧЕСКОЙ ТЕОРИИ АВТОМАТОВ. СТАВИТСЯ ЗАДАЧА С ПОМОЩЬЮ НАБЛЮДЕНИЙ ЗА ВХОДОМ И ВЫХОДОМ АВТОМАТА ПОСТРОИТЬ АВТОМАТ, ЭКВИВАЛЕНТНЫЙ ДАННОМУ. ДВА АВТОМАТА ЭКВИВАЛЕНТНЫ, ЕСЛИ НА ОДНОМ И ТОМ ЖЕ ПРОИЗВОЛЬНОМ ВХОДЕ ОНИ ВЫДАЮТ ОДИНАКОВЫЙ ВЫХОД. ТЕОРИЯ АВТОМАТОВ ТЕОРИЯ АВТОМАТОВ — РАЗДЕЛ ДИСКРЕТНОЙ МАТЕМАТИКИ, ИЗУЧАЮЩИЙ АБСТРАКТНЫЕ АВТОМАТЫ — ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ, ПРЕДСТАВЛЕННЫЕ В ВИДЕ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ — И ЗАДАЧИ, КОТОРЫЕ ОНИ МОГУТ РЕШАТЬ. АБСТРАКТНЫЙ АВТОМАТ МАТЕМАТИЧЕСКАЯ АБСТРАКЦИЯ, МОДЕЛЬ ДИСКРЕТНОГО УСТРОЙСТВА, ИМЕЮЩЕГО ОДИН ВХОД, ОДИН ВЫХОД И В КАЖДЫЙ МОМЕНТ ВРЕМЕНИ НАХОДЯЩЕГОСЯ В ОДНОМ СОСТОЯНИИ ИЗ МНОЖЕСТВА ВОЗМОЖНЫХ. НА ВХОД ЭТОМУ УСТРОЙСТВУ ПОСТУПАЮТ СИМВОЛЫ ОДНОГО АЛФАВИТА, НА ВЫХОДЕ ОНО ВЫДАЕТ СИМВОЛЫ ДРУГОГО АЛФАВИТА. ТЕОРИЯ АВТОМАТОВ ТЕОРИЯ АВТОМАТОВ ЗАНИМАЕТСЯ РАЗРАБОТКОЙ МЕТОДОВ ПОСТРОЕНИЯ ЭКВИВАЛЕНТНЫХ АВТОМАТОВ, А ТАКЖЕ ОЦЕНКОЙ СЛОЖНОСТИ РЕШЕНИЯ ЭТОЙ ЗАДАЧИ — ОЦЕНКОЙ ЧИСЛА ЭКСПЕРИМЕНТОВ И ДЛИНЫ ВХОДНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ, ДОСТАТОЧНЫХ ДЛЯ ПОСТРОЕНИЯ ЭКВИВАЛЕНТНОГО АВТОМАТА. ТЕОРИЯ АВТОМАТОВ УТВЕРЖДАЕТ, ЧТО ЗАДАЧА ПОСТРОЕНИЯ ЭКВИВАЛЕНТНОГО АВТОМАТА В ПРИНЦИПЕ РАЗРЕШИМА. ОДНАКО ОЦЕНКИ СЛОЖНОСТИ РЕШЕНИЯ ЭТОЙ ЗАДАЧИ ЗАВИСЯТ ОТ ЧИСЛА ВНУТРЕННИХ СОСТОЯНИЙ АНАЛИЗИРУЕМОГО АВТОМАТА И ДЛЯ РЕАЛЬНЫХ ПРОГРАММ ПРЕВЫШАЮТ ВСЕ РАЗУМНЫЕ ГРАНИЦЫ. МЕТОД ЧЕРНОГО ЯЩИКА ТАКИМ ОБРАЗОМ, ТЕОРИЯ НЕ МОЖЕТ ГАРАНТИРОВАТЬ В НАШЕМ СЛУЧАЕ УСПЕШНОЕ ПРИМЕНЕНИЕ МЕТОДА ЧЕРНОГО ЯЩИКА ЗА ПРИЕМЛЕМОЕ ВРЕМЯ В ОБЩЕМ СЛУЧАЕ. ТЕМ НЕ МЕНЕЕ, ПРАКТИКА ПОКАЗЫВАЕТ, ЧТО ДЛЯ СРАВНИТЕЛЬНО ПРОСТЫХ АЛГОРИТМОВ ЗАЩИТЫ ДАННЫЙ МЕТОД МОЖЕТ ПРИВЕСТИ К УСПЕХУ. МЕТОД ЧЕРНОГО ЯЩИКА ДВА ПОДХОДА: 1. ВХОД НА АВТОМАТ ЯВЛЯЕТСЯ СЛУЧАЙНЫМ, И ЕГО МОЖНО ТОЛЬКО НАБЛЮДАТЬ; 2. ИССЛЕДОВАТЕЛЬ МОЖЕТ ПО СВОЕМУ УСМОТРЕНИЮ ЗАДАВАТЬ ВХОД АВТОМАТА И НАБЛЮДАТЬ ВЫХОД (МЕТОД ПРОЗВАНИВАНИЯ). МЕТОД ЧЕРНОГО ЯЩИКА ПРИМЕР 1 ФОРМАТ ЗАГОЛОВКОВ БИНАРНОГО ФАЙЛА ДАННЫХ. ЕСЛИ ПРОГРАММА ПОЛУЧАЕТ ВХОДНЫЕ ДАННЫЕ В ВИДЕ БИНАРНОГО ФАЙЛА, ТО ФОРМАТ ЕГО ЗАГОЛОВКОВ НЕРЕДКО УДАЕТСЯ УСТАНОВИТЬ, МОДИФИЦИРУЯ ОТДЕЛЬНЫЕ БАЙТЫ В НАЧАЛЕ ФАЙЛА И ИССЛЕДУЯ ПОВЕДЕНИЕ ПРОГРАММЫ, ПОЛУЧИВШЕЙ МОДИФИЦИРОВАННЫЕ ВХОДНЫЕ ДАННЫЕ. НАПРИМЕР, ЕСЛИ ПРОГРАММА-АРХИВАТОР ПОКАЗЫВАЕТ НЕВЕРНОЕ ВРЕМЯ СОЗДАНИЯ АРХИВА ПОСЛЕ ИЗМЕНЕНИЯ НЕКОТОРОГО БАЙТА В ЗАГОЛОВКЕ ФАЙЛА С АРХИВОМ, ЗНАЧИТ, ЭТОТ БАЙТ ВХОДИТ В СОСТАВ ПОЛЯ, СОДЕРЖАЩЕГО ВРЕМЯ СОЗДАНИЯ АРХИВА. МЕТОД ЧЕРНОГО ЯЩИКА ПРИМЕР 2. НАЛИЧИЕ ИЛИ ОТСУТСТВИЕ МАРКАНТА В КРИПТОСИСТЕМЕ ПРОВОДИМ ДВУКРАТНОЕ ШИФРОВАНИЕ ОДНОГО И ТОГО ЖЕ ОТКРЫТОГО ТЕКСТА НА ОДНОМ И ТОМ ЖЕ КЛЮЧЕ. ЕСЛИ В РЕЗУЛЬТАТЕ ДВУХ ШИФРОВАНИЙ ПОЛУЧЕНЫ РАЗНЫЕ ШИФРТЕКСТЫ, ЗНАЧИТ, В КРИПТОГРАФИЧЕСКОМ ПРЕОБРАЗОВАНИИ ИСПОЛЬЗУЕТСЯ МАРКАНТ — СЛУЧАЙНО ГЕНЕРИРУЕМОЕ ЧИСЛО ИЛИ СТРОКА, ПРЕДНАЗНАЧЕННОЕ ДЛЯ ЗАТРУДНЕНИЯ ВЫЯВЛЕНИЯ В ПОТОКЕ ЗАШИФРОВАННЫХ ДАННЫХ ОДИНАКОВЫХ ФРАГМЕНТОВ. МЕТОД ЧЕРНОГО ЯЩИКА ПРИМЕР 3. ЗАВИСИМОСТЬ МАРКАНТА, ИСПОЛЬЗУЕМОГО КРИПТОСИСТЕМОЙ, ОТ ТЕКУЩЕГО ВРЕМЕНИ ПОВТОРЯЕМ ПРЕДЫДУЩИЙ ЭКСПЕРИМЕНТ В УСЛОВИЯХ, КОГДА С ТОЧКИ ЗРЕНИЯ АНАЛИЗИРУЕМОЙ ПРОГРАММЫ СИСТЕМНЫЕ ЧАСЫ ОСТАНОВЛЕНЫ. В WINDOWS ЭТО МОЖНО СДЕЛАТЬ, НАПРИМЕР, МОДИФИЦИРОВАВ МАШИННЫЙ КОД ФУНКЦИИ GETTICKCOUNT В ОБРАЗЕ БИБЛИОТЕКИ KERNEL32.DLL, ЗАГРУЖЕННОМ В АДРЕСНОЕ ПРОСТРАНСТВО АНАЛИЗИРУЕМОЙ ПРОГРАММЫ. ЕСЛИ В РЕЗУЛЬТАТЕ ДВУХ ШИФРОВАНИЙ, ПРОВЕДЕННЫХ В ХОДЕ НАСТОЯЩЕГО ЭКСПЕРИМЕНТА ПОЛУЧЕНЫ ОДИНАКОВЫЕ ШИФРТЕКСТЫ, ЗНАЧИТ, МАРКАНТ, ГЕНЕРИРУЕМЫЙ АНАЛИЗИРУЕМОЙ ПРОГРАММОЙ, ЗАВИСИТ ТОЛЬКО ОТ ТЕКУЩЕГО ВРЕМЕНИ. МЕТОД ЧЕРНОГО ЯЩИКА ПРИМЕР 4. ТИП КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ ПОДГОТАВЛИВАЕМ ДВА ОТКРЫТЫХ ТЕКСТА, РАЗЛИЧАЮЩИХСЯ ТОЛЬКО ОДНИМ БАЙТОМ, И ЗАШИФРОВЫВАЕМ КАЖДЫЙ ИЗ НИХ НА ОДНОМ И ТОМ ЖЕ КЛЮЧЕ. ЕСЛИ ШИФРТЕКСТЫ РАЗЛИЧАЮТСЯ ТОЖЕ ТОЛЬКО ОДНИМ БАЙТОМ, ЗНАЧИТ, В ПРОГРАММЕ РЕАЛИЗОВАН ПОТОЧНЫЙ ШИФР БЕЗ ОБРАТНОЙ СВЯЗИ. ЕСЛИ РАЗЛИЧИЯ В ШИФРТЕКСТАХ РАСПРОСТРАНЯЮТСЯ НА НЕСКОЛЬКО БАЙТ, ТО В ПРОГРАММЕ РЕАЛИЗОВАН БЛОЧНЫЙ ШИФР БЕЗ ОБРАТНОЙ СВЯЗИ. ЕСЛИ РАЗЛИЧИЯ В ШИФРТЕКСТАХ ПРОДОЛЖАЮТСЯ ДО КОНЦА ЗАШИФРОВАННОГО ФАЙЛА, ТО ПРОГРАММА ШИФРУЕТ ДАННЫЕ В РЕЖИМЕ ОБРАТНОЙ СВЯЗИ. МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР ДЛЯ ИЛЛЮСТРАЦИИ ПРИМЕНЕНИЯ ДАННОГО МЕТОДА НА ПРАКТИКЕ МЫ ВОСПОЛЬЗУЕМСЯ УСТАРЕВШЕЙ ПРОГРАММОЙ — АРХИВАТОРОМ ARJ ВЕРСИИ 2.0. ПОПРОБУЕМ ВОССТАНОВИТЬ СХЕМУ ШИФРОВАНИЯ АРХИВА, ЗАДАВАЕМУЮ КОМАНДНОЙ СТРОКОЙ ARJ A ARCHIVE FILE -PASSWORD - M0 ГДЕ A — КОМАНДА ДОБАВИТЬ ФАЙЛЫ В АРХИВ; ARCHIVE — ИМЯ СОЗДАВАЕМОГО АРХИВА; FILE — ИМЯ ФАЙЛА, ДОБАВЛЯЕМОГО В АРХИВ; PASSWORD — ПАРОЛЬ, НЕОБХОДИМЫЙ ДЛЯ ПОСЛЕДУЮЩЕГО ИЗВЛЕЧЕНИЯ ФАЙЛА ИЗ АРХИВА. МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР ДЛЯ УПРОЩЕНИЯ ДАЛЬНЕЙШЕЙ РАБОТЫ БУДЕМ РАССМАТРИВАТЬ СЛУЧАЙ, КОГДА АРХИВ ARCHIVE НЕ СУЩЕСТВУЕТ НА МОМЕНТ ЗАПУСКА АРХИВАТОРА, А СОЗДАЕТСЯ В ХОДЕ ЕГО РАБОТЫ. ЧТОБЫ ИСКЛЮЧИТЬ ИЗ РАССМОТРЕНИЯ АЛГОРИТМЫ СЖАТИЯ ИНФОРМАЦИИ, РЕАЛИЗОВАННЫЕ В ARJ, БУДЕМ ЗАПУСКАТЬ АРХИВАТОР С КЛЮЧОМ -M0 — «КОПИРОВАНИЕ ФАЙЛОВ В АРХИВ БЕЗ СЖАТИЯ ИНФОРМАЦИИ». МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР ЗАШИФРОВАВ С ПОМОЩЬЮ ARJ НЕСКОЛЬКО ФАЙЛОВ НА РАЗНЫХ КЛЮЧАХ, МЫ СРАЗУ ОБНАРУЖИВАЕМ ПРИ ВИЗУАЛЬНОМ ПРОСМОТРЕ ПОЛУЧЕННЫХ АРХИВОВ, ЧТО ФАЙЛ АРХИВА ВКЛЮЧАЕТ В СЕБЯ: • ЗАГОЛОВОК; • ЗАШИФРОВАННЫЙ ОБРАЗ ФАЙЛА, ПОМЕЩЕННОГО В АРХИВ; • ПОСЛЕДОВАТЕЛЬНОСТЬ ИЗ ЧЕТЫРЕХ БАЙТОВ, ОДИНАКОВУЮ ДЛЯ ВСЕХ АРХИВОВ И СЛУЖАЩУЮ, ПО ВСЕЙ ВИДИМОСТИ, ПРИЗНАКОМ КОНЦА АРХИВА. МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР ДВУКРАТНОЕ ШИФРОВАНИЕ ОДНОГО И ТОГО ЖЕ ФАЙЛА НА ОДНОМ И ТОМ ЖЕ КЛЮЧЕ ДАЕТ СОВЕРШЕННО РАЗНЫЕ ОБРАЗЫ ФАЙЛА В АРХИВЕ. СЛЕДОВАТЕЛЬНО, ИСПОЛЬЗУЕМОЕ КРИПТОГРАФИЧЕСКОЕ ПРЕОБРАЗОВАНИЕ ЗАВИСИТ ОТ МАРКАНТА. МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР ПРОВЕДЕМ СЛОЖЕНИЕ ПО МОДУЛЮ 2 ДВУХ ОБРАЗОВ ОДНОГО И ТОГО ЖЕ ФАЙЛА: ПОМЕЩЕННОГО В АРХИВ БЕЗ ШИФРОВАНИЯ И ЗАШИФРОВАННОГО НА НЕКОТОРОМ КЛЮЧЕ. МЫ ПОЛУЧАЕМ ЦИКЛИЧЕСКИ ПОВТОРЯЮЩУЮСЯ ПОСЛЕДОВАТЕЛЬНОСТЬ БАЙТ (СМ. РИСУНОК). МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР НАБЛЮДЕНИЕ: ПЕРИОД ДАННОЙ ПОСЛЕДОВАТЕЛЬНОСТИ ВСЕГДА ТОЧНО СОВПАДАЕТ С ДЛИНОЙ ПАРОЛЯ, ИСПОЛЬЗОВАННОГО ПРИ ШИФРОВАНИИ. СЛЕДОВАТЕЛЬНО, ИСПОЛЬЗУЕТСЯ ГАММИРОВАНИЕ, ПРИ ЭТОМ ИСХОДНЫЙ ТЕКСТ СМЕШИВАЕТСЯ С НЕКИМ ОБРАЗОМ ПАРОЛЯ. ШИФРОВАНИЕ МЕТОДОМ ГАММИРОВАНИЯ МЕТОД СИММЕТРИЧНОГО ШИФРОВАНИЯ. СУТЬ МЕТОДА СОСТОИТ В ТОМ, ЧТО СИМВОЛЫ ШИФРУЕМОГО ТЕКСТА ПОСЛЕДОВАТЕЛЬНО СУММИРУЮТСЯ С СИМВОЛАМИ НЕКОТОРОЙ ПСЕВДОСЛУЧАЙНОЙ ПОСЛЕДОВАТЕЛЬНОСТИ, НАЗЫВАЕМОЙ ГАММОЙ. ИНОГДА ТАКОЙ МЕТОД ПРЕДСТАВЛЯЮТ КАК НАЛОЖЕНИЕ ГАММЫ НА ИСХОДНЫЙ ТЕКСТ, ПОЭТОМУ ОН ПОЛУЧИЛ НАЗВАНИЕ "ГАММИРОВАНИЕ". ПОСЛЕДОВАТЕЛЬНОСТЬ ИСПОЛЬЗУЕТСЯ ДЛЯ ШИФРОВЫВАНИЯ И РАСШИФРОВЫВАНИЯ ДАННЫХ. СУММИРОВАНИЕ, ОБЫЧНО, ВЫПОЛНЯЕТСЯ В КАКОМ-ЛИБО КОНЕЧНОМ ПОЛЕ НАПРИМЕР, В ПОЛЕ ГАЛУА GF(2) СУММИРОВАНИЕ ПРИНИМАЕТ ВИД ОПЕРАЦИИ «ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR)». ШИФРОВАНИЕ МЕТОДОМ ГАММИРОВАНИЯ ПОСЛЕДОВАТЕЛЬНОСТИ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ МОЖНО ПОЛУЧИТЬ, НАПРИМЕР, С ПОМОЩЬЮ ГЕНЕРАТОРОВ КЛЮЧЕВОГО ПОТОКА. ПРИ ЭТОМ СЕКРЕТНЫМ КЛЮЧОМ КРИПТОСИСТЕМЫ БУДЕТ ЯВЛЯТЬСЯ СОСТОЯНИЕ ГЕНЕРАТОРА КЛЮЧЕВОГО ПОТОКА ПЕРЕД НАЧАЛОМ ГЕНЕРАЦИИ (ДАЛЕЕ ВСЕ СОСТОЯНИЯ ГЕНЕРАТОРА ВЫВОДЯТСЯ ОДНОЗНАЧНО). ПРИМЕР: ШИФРОВАНИЕ ТРАФИКА В ПРОТОКОЛЕ GSM. ИСПОЛЬЗУЕТСЯ ГЕНЕРАТОР A5/1, СЕКРЕТНЫЙ КЛЮЧ (ЗАПОЛНЕНИЕ РЕГИСТРОВ ГЕНЕРАТОРА ПЕРЕД НАЧАЛОМ ГЕНЕРАЦИИ) ДЛИНОЙ 64 БИТА. МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР СДЕЛАЕМ ТРЕТИЙ ОБРАЗ ТОГО ЖЕ ФАЙЛА, ПОЛУЧЕННЫЙ ШИФРОВАНИЕМ НА ТОМ ЖЕ КЛЮЧЕ, ЧТО И ВТОРОЙ ОБРАЗ, НО В ДРУГОЙ МОМЕНТ ВРЕМЕНИ. СЛОЖИМ ПО МОДУЛЮ 2 КАЖДЫЙ ЗАШИФРОВАННЫЙ ОБРАЗ С ОРИГИНАЛОМ ФАЙЛА, А ЗАТЕМ ВЫЧТЕМ ПОЛУЧЕННЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ БАЙТ ОДНУ ИЗ ДРУГОЙ ПО МОДУЛЮ 2. МЫ ПОЛУЧАЕМ ПОСЛЕДОВАТЕЛЬНОСТЬ, СОСТОЯЩУЮ ИЗ ОДНОГО И ТОГО ЖЕ ПОВТОРЯЮЩЕГОСЯ СИМВОЛА. МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР К ЭТОМУ МОМЕНТУ МОЖНО СДЕЛАТЬ СЛЕДУЮЩИЕ ВЫВОДЫ: • ШИФРОВАНИЕ ОТКРЫТОГО ТЕКСТА АРХИВАТОРОМ ARJ ЗАКЛЮЧАЕТСЯ В НАЛОЖЕНИИ НА НЕГО ПО МОДУЛЮ 2 ГАММЫ, ПЕРИОД КОТОРОЙ ТОЧНО СОВПАДАЕТ С ДЛИНОЙ ПАРОЛЯ; • ПРИ ШИФРОВАНИИ ИСПОЛЬЗУЕТСЯ МАРКАНТ ДЛИНОЙ 1 БАЙТ; • КАЖДЫЙ БАЙТ ГАММЫ 𝛾𝑖 = 𝑓𝑖 𝐾 + 𝑀(𝑚𝑜𝑑 256), ГДЕ 𝐾 – ЭТО ПАРОЛЬ, 𝑓 - НЕКОТОРАЯ ФУНКЦИЯ ОТ НЕГО, 𝑀 — МАРКАНТ. МЕТОД ЧЕРНОГО ЯЩИКА. ПРИМЕР ДЛЯ ПОЛНОГО ВОССТАНОВЛЕНИЯ АЛГОРИТМА ШИФРОВАНИЯ ФАЙЛОВ АРХИВАТОРОМ ARJ ОСТАЕТСЯ ЛИШЬ ВОССТАНОВИТЬ ФОРМАТ ЗАГОЛОВКА АРХИВА. ЭТО ДЕЛАЕТСЯ ПУТЕМ РУЧНОГО ИЗМЕНЕНИЯ ОТДЕЛЬНЫХ БАЙТ В ЗАГОЛОВКЕ АРХИВА И ПОСЛЕДУЮЩЕГО НАБЛЮДЕНИЯ ЗА ДЕЙСТВИЯМИ АРХИВАТОРА ПРИ ОТКРЫТИИ МОДИФИЦИРОВАННОГО АРХИВА. В ЧАСТНОСТИ, МЫ ОБНАРУЖИВАЕМ, ЧТО МАРКАНТ 𝑀 ХРАНИТСЯ В ЗАГОЛОВКЕ АРХИВА ПО СМЕЩЕНИЮ 53 + 𝐿, ГДЕ 𝐿 — ДЛИНА ИМЕНИ ЗААРХИВИРОВАННОГО ФАЙЛА. КОММЕНТАРИЙ. ПРИНЦИП КИРХГОФА ОТМЕТИМ, ЧТО УСПЕШНОЕ ВОССТАНОВЛЕНИЕ АЛГОРИТМА ШИФРОВАНИЯ – ЭТО ВАЖНАЯ ЧАСТЬ КРИПТОАНАЛИЗА. НО НАДО УЧИТЫВАТЬ ПРИНЦИП КЕРХГОФФСА. ПРИНЦИП КЕРКГОФФСА — ПРАВИЛО РАЗРАБОТКИ КРИПТОГРАФИЧЕСКИХ СИСТЕМ, СОГЛАСНО КОТОРОМУ В ЗАСЕКРЕЧЕННОМ ВИДЕ ДЕРЖИТСЯ ТОЛЬКО ОПРЕДЕЛЁННЫЙ НАБОР ПАРАМЕТРОВ АЛГОРИТМА, НАЗЫВАЕМЫЙ КЛЮЧОМ, А САМ АЛГОРИТМ ШИФРОВАНИЯ ДОЛЖЕН БЫТЬ ОТКРЫТЫМ. ДРУГИМИ СЛОВАМИ, ПРИ ОЦЕНКЕ НАДЁЖНОСТИ ШИФРОВАНИЯ НЕОБХОДИМО ПРЕДПОЛАГАТЬ, ЧТО ПРОТИВНИК ЗНАЕТ ОБ ИСПОЛЬЗУЕМОЙ СИСТЕМЕ ШИФРОВАНИЯ ВСЕ, КРОМЕ ПРИМЕНЯЕМЫХ КЛЮЧЕЙ. КОММЕНТАРИЙ. ПРИНЦИП КИРХГОФА ВПЕРВЫЕ ДАННЫЙ ПРИНЦИП СФОРМУЛИРОВАЛ В XIX ВЕКЕ ГОЛЛАНДСКИЙ КРИПТОГРАФ ОГЮСТ КЕРКГОФФС. ШЕННОН СФОРМУЛИРОВАЛ ЭТОТ ПРИНЦИП (ВЕРОЯТНО, НЕЗАВИСИМО ОТ КЕРКГОФФСА) СЛЕДУЮЩИМ ОБРАЗОМ: «ВРАГ ЗНАЕТ СИСТЕМУ». ДАННЫЙ ПРИНЦИП ЯВЛЯЕТСЯ ОДНИМ ИЗ БАЗОВЫХ В КРИПТОГРАФИИ. МЕТОД ЧЕРНОГО ЯЩИКА. ОГРАНИЧЕНИЯ ПРИ ИСПОЛЬЗОВАНИИ МЕТОДА ЧЕРНОГО ЯЩИКА НЕРЕДКО ВСТРЕЧАЮТСЯ СЕРЬЕЗНЫЕ ТРУДНОСТИ: • НЕТ ГАРАНТИЙ, ЧТО УГАДАННЫЙ РЕЗУЛЬТАТ СООТВЕТСТВУЕТ ДЕЙСТВИТЕЛЬНОСТИ. • ТРУДНО ПРОВЕРИТЬ, ЧТО ВО ВСЕХ МЫСЛИМЫХ СИТУАЦИЯХ АЛГОРИТМ ЗАЩИТЫ РАБОТАЕТ ИМЕННО ТАК, КАК БЫЛО ВОССТАНОВЛЕНО В ХОДЕ АНАЛИЗА; • КАК ПРАВИЛО, МЕТОД ПРИВОДИТ К УСПЕХУ ЛИШЬ В ТОМ СЛУЧАЕ, КОГДА АНАЛИЗИРУЕМЫЙ АЛГОРИТМ ЗАЩИТЫ ДОСТАТОЧНО ПРОСТ. ДЛЯ СЛОЖНЫХ АЛГОРИТМОВ ОБЫЧНО УДАЕТСЯ УСТАНОВИТЬ ТОЛЬКО САМЫЕ ОБЩИЕ ФАКТЫ; МЕТОД ЧЕРНОГО ЯЩИКА. ОГРАНИЧЕНИЯ • В СОВРЕМЕННЫХ ПРОГРАММНЫХ ПРОДУКТАХ ИНФОРМАЦИЯ НЕРЕДКО ЗАПИСЫВАЕТСЯ В СЛОЖНОМ ФОРМАТЕ, КОТОРЫЙ К ТОМУ ЖЕ НЕ ДОКУМЕНТИРОВАН. ОСОБЕННО БОЛЬШИЕ ПРОБЛЕМЫ ВОЗНИКАЮТ ПРИ ПРИМЕНЕНИИ МЕТОДА ЭКСПЕРИМЕНТОВ К ПРОГРАММНЫМ СРЕДСТВАМ, ФАЙЛЫ КОТОРЫХ СОДЕРЖАТ «ШУМ» ОТ РАНЕЕ УДАЛЕННЫХ ДАННЫХ, «МУСОР» ОТ ВЫДЕЛЕННОЙ, НО НЕ ИНИЦИАЛИЗИРОВАННОЙ ПАМЯТИ И Т.П. ТАК, НАПРИМЕР, ВОССТАНОВИТЬ С ПОМОЩЬЮ МЕТОДА ЧЕРНОГО ЯЩИКА ФОРМАТЫ ПОЧТОВЫХ БАЗ MICROSOFT OUTLOOK И LOTUS NOTES ПРАКТИЧЕСКИ НЕВОЗМОЖНО; • ЧАСТО ВХОДНЫЕ ДАННЫЕ ПРОГРАММЫ СОДЕРЖАТ ИЗБЫТОЧНУЮ ИНФОРМАЦИЮ, ИСПОЛЬЗУЕМУЮ ДЛЯ ПРОВЕРКИ ИХ КОРРЕКТНОСТИ. ЭТО ЗАТРУДНЯЕТ ПОДГОТОВКУ ВХОДНЫХ ДАННЫХ ДЛЯ НЕСКОЛЬКИХ ПОСЛЕДОВАТЕЛЬНЫХ ЭКСПЕРИМЕНТОВ. МЕТОД ЧЕРНОГО ЯЩИКА. ОГРАНИЧЕНИЯ ОТМЕЧЕННЫЕ НЕДОСТАТКИ В РЯДЕ СЛУЧАЕВ СОЗДАЮТ ТРУДНОСТИ ПРИ ПРИМЕНЕНИИ МЕТОДА ЧЕРНОГО ЯЩИКА. ЧАСТЬ ИЗ НИХ УДАЕТСЯ ПРЕОДОЛЕТЬ, ЕСЛИ ПРИМЕНЯТЬ МЕТОД В КОМБИНАЦИИ С ДИНАМИЧЕСКИМ МЕТОДОМ АНАЛИЗА, О ЧЕМ ПОЙДЕТ РЕЧЬ ДАЛЕЕ.