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

кандидата технических наук
Родионов, Евгений Юрьевич
город
Москва
год
2012
специальность ВАК РФ
05.13.19
Диссертация по информатике, вычислительной технике и управлению на тему «Защита программных реализаций алгоритмов, основанных на преобразованиях регистрового типа, от анализа в недоверенных средах»

Автореферат диссертации по теме "Защита программных реализаций алгоритмов, основанных на преобразованиях регистрового типа, от анализа в недоверенных средах"

На правах рукописи

005017021

Родионов Евгений Юрьевич

ЗАЩИТА ПРОГРАММНЫХ РЕАЛИЗАЦИЙ АЛГОРИТМОВ, ОСНОВАННЫХ НА ПРЕОБРАЗОВАНИЯХ РЕГИСТРОВОГО ТИПА, ОТ АНАЛИЗА В НЕДОВЕРЕННЫХ СРЕДАХ

Специальность: 05.13.19 - методы и системы защиты информации, информационная безопасность

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

зтор:

!/ —

1 ош

Москва-2012

005017021

Работа выполнена в Национальном исследовательском ядерном университете «МИФИ» (НИЯУ МИФИ)

Научный руководитель: Кандидат физико-математических наук,

доцент кафедры «Криптология и дискретная математика» НИЯУ МИФИ Варфоломеев Александр Алексеевич

Официальные оппоненты:

Ведущая организация:

Доктор технических наук, доцент профессор кафедры «Информационна: безопасность банковских систем) НИЯУ МИФ* Запечников Сергей Владимирови1

Кандидат физико-математических наук доцент кафедрЕ «Информационная безопасность: МГТУ им. Бауман Жуков Алексей Евгеньеви

Институт проблем информатик: Российской академии нау

Защита состоится «28» мая 2012 г. в 14 часов 30 минут на заседании диссертационног совета ДМ 212.130.08 при Национальном исследовательском ядерном университет «МИФИ»: 115409, г. Москва, Каширское ш., д.31. Тел. для справок: +7 (495) 323-95-2« 324-73-34.

С диссертацией можно ознакомиться в библиотеке Национального исследовательског ядерного университета «МИФИ».

Отзывы в двух экземплярах, заверенные печатью, просьба направлять по адрес) 115409, г. Москва, Каширское ш„ д.31, диссертационные советы НИЯУ МИФИ, тел +7 (495) 323-95-26.

Автореферат разослан «25» апреля 2012 г. Ученый секретарь

диссертационного совета ' Горбатов B.C.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

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

С развитием выше приведенных технологий возрастает актуальность защиты юграммного обеспечения, выполняющегося в недоверенных средах. Программное ¡еспечение, выполняющееся в недоверенных средах, может быть подвержено компиляции и внесению изменений в код программы с целью отклонить ее от данного функционирования. Программные реализации алгоритмов защиты [формации в большей степени подвержены таким атакам. Ключевая информация, :пользуемая алгоритмом защиты информации и встроенная в его программную ализацию, может быть извлечена с помощью методов статического и/или шамического анализа программного обеспечения, и в дальнейшем использована [рушителем. В результате, функционируя в недоверенных средах, существующие 1едства защиты информации оказываются не эффективными, так как не способны ютивостоять нарушителю, имеющему полный контроль над вычислительным тройством, на котором обрабатывается и/или хранится защищаемая информация.

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

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

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

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

- Кузюрин H. Н., проводивший исследования по защите программного обеспечения от анализа в недоверенных средах с помощью запутывающих преобразований;

- Варновский Н. П., исследовавший возможность существования доказуемо стойких запутывающих преобразований;

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

- S. Chow, предложивший защищенные программные реализации алгоритмов DES и AES-128;

- В. Wyseur, защитивший в 2009 году диссертацию по теме "White-box Cryptography", автор некоторых атак на программные реализации алгоритмов DES и AES-128;

- О. Billet, автор работы, посвященной анализу запутанной программной реализации алгоритма AES-128;

- W. Michiels, предложивший обобщенный метод анализа запутанных программных реализаций алгоритмов защиты информации, основанных на преобразованиях замены и перестановки.

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

Объектом исследования являются алгоритмы защиты информации, основанные на преобразованиях регистрового типа.

Предметом исследования являются способы программной реализащм алгоритмов защиты информации, основанных на преобразованиях регистрового типа.

Целью диссертационной работы является повышение стойкости алгоритмо! защиты информации, основанных на преобразованиях регистрового типа, от анализа i недоверенных средах.

Методы исследования: теория алгоритмов, теория графов, теория вероятностеГ и математическая статистика.

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

В рамках решения научной задачи необходимо:

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

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

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

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

Научная новизна работы состоит в следующем:

- определены условия применимости рассмотренных методов анализа эограммных реализаций алгоритмов защиты информации в недоверенных средах;

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

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

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

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

- получена запутанная программная реализация алгоритма ГОСТ 28147-89 в ¡жиме простой замены, стойкая к методу разностного анализа в недоверенных 1едах.

- приведены рекомендации выбора параметров запутанной программной :ализации алгоритма ГОСТ 28147-89 в режиме простой замены.

Результаты диссертационной работы представляют практическую ценность для □работки и реализации систем защиты информации в следующих областях гформационных технологий: «облачные технологии», мобильные агенты, хнические средства защиты авторских прав.

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

Практические результаты диссертационной работы использовались при зработке системы предотвращения утечки конфиденциальной информации из |рпоративной информационной системы в программном комплексе «Модуль энтроля Действий Пользователей» в ОАО Банк «Возрождение».

Теоретические результаты исследования, полученные в процессе выполнения 1ссертационной работы, использованы в курсе «Защита программного обеспечения» федры «Криптология и Дискретная Математика» НИЯУ МИФИ для создания бораторных работ и лекционного материала.

Публикации и апробация работы: Результаты диссертации были изложены в публикациях, 4 из которых были опубликованы в журналах рецензируемых ВАК

РФ. Результаты работы докладывались на конференциях и семинарах различного уровня:

- X Международная конференция «РусКрипто». 2008 г.;

- XIV Международная телекоммуникационная конференция студентов и молодых ученых «Молодежь и наука», г. Москва, 2010 г.;

- Инфофорум, г. Москва, 2010 г.;

- Научная сессия НИЯУ МИФИ, г. Москва, 2011, 2012 гг.;

- Летняя школа Microsoft Research Summer School, Кембридж, Великобритания, 2011 г.;

- XIX Всероссийская научно-практическая конференция «Проблемы информационной безопасности в системе высшей школы», г. Москва, 2012 г;

- научный семинар кафедры «Информационная безопасность» Московского Государственного Технического Университета им. Н.Э. Баумана, 2012 г. (25 апреля 2012года).

Основные положения, выносимые на защиту:

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

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

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

- выбор параметров запутанной программной реализации алгоритма ГОСТ 28147-89 в режиме простой замены.

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

СОДЕРЖАНИЕ РАБОТЫ

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

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

- табличные;

- алгебраические;

- автоматные.

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

.ссертационной работе автором предложены табличные реализации некоторых [ассов отображений, используемых в современных алгоритмах защиты информации:

- аффинные отображения;

- отображение сложения с константной в кольце вычетов целых чисел;

- отображение управляемого циклического сдвига координат двоичного :ктора.

Алгебраические методы запутывания программных реализаций алгоритмов щиты информации основаны на представлении алгоритма в виде системы уравнений щ конечным полем: в результате, алгоритм, заданный отображением Ек-.Уп -> , к е Ут реализуется в виде (2):

V? =

^/дС* l'X2.....xt)i

y£s(xi>x2> •••>xt)■ Ек(х) = Ч>Цо...оЧ'1к(х)

(1)

(2)

1е I е {1,...,/?}; е СгР(2Р); Ч'ц-.Уп -» б ■ ц = t ■ р — п; И - число циклов [горитма. Для того чтобы скрыть ключевую информацию, содержащуюся в юрдинатных функциях системы (2) к ним применяются маскирующие )еобразования.

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

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

В настоящей работе был проведен обзор существующих решений по ¡еспечепию безопасности программных реализаций алгоритмов защиты информации ■ анализа в недоверенных средах. Результаты обзора приведены в таблице 1. В )авой колонке таблицы приведена сложность наилучшей атаки на программную :ализацию алгоритма защиты информации, выраженная в количестве выполнений [ализируемого алгоритма.

Таблица 1 - Трудоемкость анализа существующих защищенных реализаций

Запутанная программная реализация алгоритма защиты информации Сложность атаки, кол-во выполнениГ! алгоритма

Защищенный DES, Chow S., 2002 214

Защищенный AES-128, Chow S., 2002 2зо

Защищенный AES-128, Bringer J., 2006 217

Защищенный AES-128, Щелкунов Д.. 2010 224

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

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

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

- считывать/записывать значение произвольного регистра/ячейки памяти СВТ в любой момент времени;

- использовать средства статического и динамического анализа ПО;

- вносить ошибки в работу алгоритма защиты информации. При этом нарушитель может:

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

- точно выбрать значение вносимой ошибки;

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

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

Для обеспечения безопасности программных реализаций алгоритмов защиты информации в соответствии с приведенной моделью нарушителя в диссертационной работе решается задача синтеза запутывающих преобразований. Пусть Т = [Ек: Уп -» Уп\ к 6 ]/т} - семейство отображений, где Уп - множество двоичных векторов длины п, Ек £ Т - алгоритм защиты информации, подлежащий запутыванию, Т -множество запутанных программных реализаций алгоритмов из Т. Преобразование 0:Т —> Т, называется запутывающим преобразованием, если:

- 0{Ек) реализует отображение эквивалентное отображению Ек 6 Т;

- временная и емкостная сложность 0(Ек) полиномиально ограничена временной и емкостной сложностью Ек;

- выполняется свойство (3):

\Рг[А{0{Ек)) = 1] - Рг[5£«(1|£к|) = 1]| = а(|Ек|). (3)

где |Ек| - емкостная сложность Ек, 0{Ек~) - запутанная программная реализация алгоритма защиты информации Ек, <А - вероятностная полиномиальная машина Тьюринга (ПМТ), моделирующая нарушителя, БЕк - вероятностная ПМТ, моделирующая нарушителя имеющего доступ к реализации алгоритма защиты информации Ек как к «черному ящику», а = о(1).

Постановка задачи. Для алгоритма защиты информации, заданного отображением (4):

Ek:Vn^Vn,keVn

(4)

синтезировать запутывающее преобразование О.

Для исследования методов анализа программных реализаций алгоритмов защиты информации от анализа в недоверенных средах в диссертационной работе предлагается модель табличной реализации отображений. Отображению F: Vn-*V тавится в соответствие кортеж, состоящий из четырех элементов:

(T,G.IN, OUT), (5)

де:

Т = {Та | а Е А} - совокупность таблиц замены;

<Е = (А, (У) - ориентированный граф со множеством вершин А = {alf..., az} и :ножеством дуг U;

IN: Vn -> VWi х ... х VWs - входное отображение;

OUT:VVix...x VVt -» Vm - выходное отображение.

Каждая таблица Та е Т реализует отображение Fa: Vnia х ... х Vn. -> Vm . 1ножество А соответствует множеству индексов таблиц замены. Дуга (а;, а;) Е U, згда и только тогда, когда в процессе вычисления значения отображения у = F(x) ыходное значение таблицы Та. является входным значением таблицы Та„

Входное и выходное значения х S Vn,y е Vm; у = F{x) отображения F

[тределяется состояниями .....xs) е VWi х ... х VWs и (ylt ...,yt) е х ... х Vv

ютветсвенно. Входное отображение IN ставит в соответствие входному значению

е Vn начальное состояние (х?.....выходное отображение OUT по

шершающему состоянию (у1( ...,yt) возвращает выходное значение у е Vm. В зоцессе вычисления значения у = F(x) происходит последовательное вычисление

ичений координат состояния (у1.....у„), таким образом, граф (Е = (A, U) состоит из

компонент связанности каждая из которых является деревом. Ниже приведен 1горитм, позволяющий по заданной табличной реализации (Т, G,IN, OUT) ображения F для входного значения х Е Vn вычислить выходное значение v =

М G vm.

Пусть (Gj - дерево входящее в состав графа G с корнем, соответствующим

•ординате yt выходного состояния (ух.....yt); ¿¡(Gj) - множество вершин дерева Gj

щадящихся на i-ом ярусе. При вычислении значения отображения получается едующая последовательность состояний х° = (х°,... ,л:°о), х1 = (xj, ),...,

= (х1 , где D=diam(GF). Перенумеруем таблицы замены Та

едующим образом: а = (i,j) а £ = Та(л:').

Входные данные алгоритма:

- (Т, G, IN, OUT) - табличная реализация отображения F: Vn -» Vm;

- х G Vn - входное значение.

Выходные данные алгоритма:

- у = F(x) е Vm - выходное значение.

Описание алгоритма:

1. Вычислить начальное состояние = ...,) = lN{x)-,

2. Для i от 0 до D + 1 выполнить:

2.1. Вычислить состояниеxL+1 =

».ШЛППСА — ^Aj

xi+1=Tu(Xjii.....xhj),

4+1 = Ти(хЬд.....хЬ|),

4+1 = тъ(хЬд.....хЬ|),

,¡+1

Xki+i _ T'.ki+1 (xiki+1.i' -' xiki+1,l) '

3. Вычислить выходное значение у = ОиТ(х° 1).

Пусть |Т„| - количество элементов содержащихся в таблице Та £ Т. Определим емкостную сложность табличной реализации отображения (5) как г/р = £аел |Та| равную суммарному размеру таблиц замены, входящих в состав табличной реализации. Временная сложность табличной реализации отображения (5) определяется как тР — |£/| количество дуг в графе СЕ.

Для начальных состояний х — (хи ...,х5),лг' = (х[, ...,х'$') е х ... х У^ и соответствующих завершающих состояний у = (у1д ...,ус),у' = {у[, ■■■•Ус) е ^ х •■■х Ц,с определим разностную характеристику табличной реализации отображения 5а ь = ..., Ус) = Ь} при случайном и равновероятном выборе х, х' € УШ1 х ...х

где а = х ф х', ав х ... х Ь е Ус,

для £ = 1, ...,t. Разностная характеристика табличной реализации отображений позволяет оценить сложность атаки на запутанную программную реализацию алгоритма защиты информации. Количество материала необходимое для анализа запутанной программной реализации алгоритмов защиты информации обратно пропорционально преобладанию разностной характеристики табличной реализации отображений.

Ниже приведены исследованные в диссертационной работе атаки на программные реализации алгоритмов защиты информации:

- Chow S., 2002;

- Jacob М„ 2002;

- Link Н.Е., 2005;

- Goubin L., 2007;

- Wyseur В., 2007.

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

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

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

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

(7)

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

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

Методы анализа программных реализаций алгоритмов защиты информации, рассмотренные в работе, используют разностные характеристики табличной реализации отображений, существенно отличающиеся от значения 2~с, при генерации входных данных. Это позволяет значительно сократить объем необходимого материала для проведения атаки. Таким образом, для того чтобы противостоять методу разностного анализа по ошибкам вычислений необходимо, чтобы для различных разностей а е VWi х ... х VWs, b 6 Ve выполнялось условие 5аЬ « 2"с.

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

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

- аффинные отображения;

- отображения узлов замены S-бокс;

- сложение с константой в кольце вычетов целых чисел;

- отображение управляемого циклического сдвига координат двоичного вектора.

Аффинное отображение FA:V„ -» Vm, FA(x) = Мх + b, где М - матрица над

GF(2) размера n х т, b 6 Vm. Пусть х = (хг.....xv) 6 Е Vs; b = (bj.....bu) e

Vm, e Vt; M = (m-ij), ту - подматрица размера s x t матрицы M. Тогда FA(x) = (yv ■■■ ,yu),yj =Yd=i mijxi +bj. В результате табличная реализация отображения FA описывается кортежем (TA,GA,INA,OUTA), где:

- INa(x) = Oi, ....хДгдех = (*!, ...,xv) е Vn,Xi е ^ - входное отображение;

- OUTA{y1, ...,уи) = {уъ —,Уи) - выходное отображение;

- Тд = {ТЛ1,ТЛ2} - таблицы замены двух типов. Таблицы замены первого

типа ТА1 = {Tli(ljl).....Tlj(liV),..., TUUil),..., Tlj(UjV)} реализуют отображение

Ti,(i,.0: *s Vt) TL(ijj(x) = m^x. Таблицы замены второго типа

Та2 = {Т2,(1Д)' -.T2,(i.v-1).....T2,(u,i)- •••.1T2i(tl|l;_1)} реализуют операцию сложения

двух векторов Т2>(у): Vt х Vt -» Vt; T2i(iJ)(x,y) = х ф у;

_ (Ел = (X, U) - граф табличного представления отображения FA изображен на рисунке 1.

(1,(1,1)) (1,(1,2)) (1,(1 v)) (1,(2,1)) (1,(2,2)) (l,(2,v)) (l,(u,l)) (l,(u,2)) (l,(u,V))

NLJ NL'J-NLIJ

(2,(1,1)) (2,(l,v-l)) (2,(2,1)) (2,(2,v-l)) (2,(u,l>) (2,(u,v-l))

Рисунок 1 - Граф табличной реализации аффинного отображения.

Отображение сложения с константой Fm:Z2n х Z2n Z2n в кольце вычетов целых чисел Z2"(+-0 входит в состав функции усложнения таких алгоритмов как ГОСТ 28147-89, IDEA, RC5, RC6. Данное отображение определяется соотношением (8):

Fs(x,k) = [х1(...,хпЬ + k (mod 2П), (8)

х Е Z2n,x = [xlt ...,хп]2 - целое число двоичное представление, которого имеет вид

(*i..... хп)> + арифметическая операция сложения.

Табличная реализация отображений (8) описывается кортежем (Тш,<Еш,/ЛГш,0{/Гш):

- IN(x) = (хг,..., хс) - входное отображение, где е l^, s ■ t = п;

- OUTS](x1,... ,xt~) = (х1;...,, xt) - выходное отображение;

- ТШ={Т1Д, ...,Tl t, ...,Ttl, ...,Tt t} - множество таблиц замены Т,-,:^, X V, - Ks+1

т ilix,y) = \ymktmc-GC™i^j m

JJ { х, если i > j ' w

где с - старший бит числа х, к - (fclf..., fct), kt е Vs;

- <ЕШ = (X, U) - граф табличного представления изображен на рисунке 2.

(1Д) (1Л) ^ _(^t)

(2,1) (2,2) (2,t) •-—►----^ф

М) (1,2) (1,1)

•-—►----

Рисунок 2- Граф табличной реализации отображения сложения с константой в

кольце вычетов Z2n

Отображение управляемого циклического сдвига координат двоичного вектора Р<<: Уп х гп Уп имеет вид (10):

Р«С(Х1'Х2'■■•'хп)>2) — (Х7+1'Хг+2< •■■'хп>х1.....

(10)

Положим х = (хр ...,*(;), XI £ в ■ С = п; г = г1 + г225 4- ••• + гр2р5, г^ е р = Пусть - матрица размера пх п над 2), осуществляющая

циклический сдвиг координат двоичного вектора на и позиций. Тогда, отображение (10) может быть представлено в виде (11):

Р«((х1,х2,...,хп),г) = М2р о м2р_1 о ...о М21(х1(х2.....хп)т, (11)

Таким образом, отображение (10) является суперпозицией р параметризованных линейных преобразований Уп. Положим М7к = (т^), где ту- матрицы размера 5 х С, £ = {1,2, ...,и}, ] = {1,2,...,и},С • и = т, б - V — п. Отсюда табличная реализация отображения циклического сдвига в Ц, описывается кортежем (Т«, 6«, /¿V«, ОС/Г«):

- Ш^х.г) = (х1,...1х1,21,...12р),х1 е Ч^г — + г225 Н— + гр26

- ОиТ^х^ ...,Хс,ги ...,гр) = (хг, - выходное отображение;

- Т« = {Т«д, Т«2} - таблицы замены двух типов. Таблицы замены первого типа Т<<д = {Т<<Д121|(1Д)1 ... , Т<<д121>(11„), ... , Т«Д|21,(ид). - . Т<<Д|21(и1,),... , Т«д,2р,(и,у)} реализуют отображение Т<<Д|2ь(и): х ^ Т<<Д2(с>ау)(дг(,гк) = т^хь а таблицы второго типа Т<<2 = {Т«^,^), ..., Т«^,,^,«-!). ■■■, Т«,2|211(иД), ..., Т«,2,••■, Т<<22р(иу_1)} реализуют операция сложения двух векторов Т«,2= Х фу;

~ С« = № - граф табличного представления отображения (10), приведен на рисунке 3.

(или» (1,1„11Д)) (1,2„(1М) (1,1„(г,1)И1,11,(2,2» 11,4.(2.»» (1,1ь("Д» ИлЦиД» 11,и,(ч»» • • • • •

(1,12.(1,1)1

(1,12,1",»))

(2,12,(1.1)) (2,12,(1,»1» (2,г„(2,1)) (2,21,(2.У-1))

(2,2„(и,1)) (2,2„(и^-1))

(1,1^(1,1)) (1,1р,(1,2)) (1,г„(1,»)) (1д„,(2,1)) (1,1р,(2,2)) (1,1р,(2л)) (1,2р,(и,1)) (1,1р,(и,2)) (1,г^(и,»))

.J

(2,Хр,(1,1)) (2,^,(1,^1)1 (2,!„(2Д)) (2,гр.(2л-1|) (2Др.(и,1)) (2,г„(и,»-11)

Рисунок 3 — Граф табличной реализации отображения циклического сдвига координат двоичного вектора.

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

лт}> > 771 "37 Тт-1

Х1®1рт(х2,...,Хт)),

где XI е Уп; х ... х Уп -* Уп - функция усложнения, реализующая нелинейное

отображение, £ = 1 ,...,тш, ] = 2.....т. Большинство современных алгоритмов защиты

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

— сложение с константой в кольце вычетов 22п\

— отображение заданное с помощью узлов замены в-бокс;

— управляемый циклический сдвиг координат двоичного вектора. Предложенная методика запутывания программной реализации алгоритма

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

— осуществление декомпозиции отображений входящих в цикловую функцию алгоритма защиты информации: выделение линейных и нелинейных отображений;

— реализация декомпозированных отображений в виде таблиц замены;

- маскирование линейной составляющей декомпозированного отображения путем умножения на перемешивающую матрицу;

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

Декомпозиция отображений, входящих в алгоритм защиты информации.

Дикловая функция алгоритма защиты информации, основанного на преобразованиях >егистрового типа, может быть представлена в виде (13):

у(х) = М( (13)

де х = (*!.....хт) £ Утп; М,Ы:Утп -> Утп - линейные отображения, гр:Утп -» Утп -

1елинейное отображение. Отображения М, N осуществляют циклический сдвиг и побитовое сложение двоичных векторов:

М(*!.....*т-1) = (0.*1.....*т-1). (14)

.....Хт) = (Х2,...,Хт,Х1').

Нелинейное отображение 1р имеет вид (15):

'К* 1.....= 0М*1.....хт-1),...,1рт(х11...,хт-1)). (15)

Реализация декомпозированных отображений в виде таблиц замены. На

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

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

Пусть х = (*!, е УК1 х ... х^ и у — (у1( ...,у;) 6 х ... х Ц,.

соответственно входное и выходное состояния табличной реализации цикловой функции, запутываемого алгоритма защиты информации. Обозначим 1 = (у^, —.у^) как вектор, состоящий из элементов выходного состояния у, содержащий биты не подверженные воздействию функции усложнения ф, а М = (у^, ...,У(£) - как вектор, состоящий из остальных элементов у. Пусть 1 = (у^,..., у^) = Ф ° у, где Ч* -случайное, невырожденное линейное отображение. Тогда в результате маскирования линейного слоя (14) выходное состояние табличной реализации цикловой функции имеет вид:

у = (у(1«у;1.....У,с Н Л,), (1б)

где || - конкатенация векторов.

Маскирование линейного слоя позволяет уменьшить преобладание разностной характеристики табличной реализации цикловой функции (13), в результате чего,

значительно возрастает трудоемкость метода разностного анализа по ошибкам вычислений.

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

Пусть (Тр, (Ер = (X, и), 1ЫР, ОиТр) - табличная реализация отображения Для исходной таблицы замены Т„ е ТР; Т„: К. х ... х К, Ут маскированная таблица Т^ имеет вид (17):

Та = Фр1 ° Та о фа, (17)

где Фа = (ФаД||Фа,2||... || ФаД); Фа ]: УП]а -» Кп.а, Фр: Ута Ута - случайные биективные преобразования, || - операция конкатенации отображений, У = 1, ...ЛЕсли из вершины а е X не выходит ни одной дуги, то Фр - Е, если в вершину а не входит ни одна дуга, то Фа = Е, где Е - тождественное преобразование.

В четвертой главе приведено описание запутанной программной реализации алгоритма ГОСТ 28147-89 в режиме простой замены и дано обоснование выбранных параметров запутанной реализации. Приводятся примеры практического применения разработанной автором методики запутывания алгоритмов защиты информации, основанных на преобразовании регистрового типа.

С помощью предложенной методики запутывания алгоритмов защиты информации, основанных на преобразованиях регистрового типа, в диссертационной работе была получена запутанная программная реализация алгоритма ГОСТ 28147-89 в режиме простой замены. Отображение одного раунда алгоритма ГОСТ 28147-89 У64 -» У64 может быть представлено в виде (17):

у = Е(х) = М&В(х Ш к)) + ЛГ(х), (18)

где 5£?: У64 -» УЬ4,БВ — БВ1 || ••• II БВв II БВд || ••• || 5б16 - преобразование множества

У64, заданное в виде узлов замены У4 -» У4, при этом БВЭ.....5В16 - тождественные

отображения; Щ:У32 -» У32 - бинарная операция сложения в кольце вычетов 12ъгь М- Уй4 -» У64,Ы: У64 -> У64 - линейные преобразования, осуществляющие операцию циклического сдвига двоичного вектора. Пусть у = (у^ ...,у„),у( е Ус;х = (*1.....хи),х^ 6 Ц, тогда:

£-1 £-1

У1 (*/) = 2 (Х1 Ш ® СЫ - ЕВ с1)) + ^ Них;, (19)

;=о ]=о

где у = 1,ц;£ = 1, у; С = [64/5]; Су е {0,1} - индикатор переполнения возникающего при сложении Xj и /с; по модулю 2".

Определим отображение Тц(х,гу. К(+1 х -> У(+1 как

Ти(х,г) = Мц{БВ^г Ш к, ЕВ *1+г)) + ] = 2Л ппл

Т1л(х.г) = М;д(5В,(г Ш ЛО) + N^2,

Тогда отображение (19) описывается соотношением (21):

У;0) = Ti,t (ht_! (...Tii2{Tifl(ix1),x2)) ,xt)

В работе произведена оценка емкостной и временной сложности запутанной программной реализации алгоритма ГОСТ 28147-89:

?7гост = О ((i + l)2i+1~),

W^oas-i)-1).

(22)

В таблице 3 приведены значения размера и скорости преобразования входных данных запутанной программной реализации алгоритма ГОСТ 28147-89 в режиме простой замены при различных значениях параметров s и I. Тестирование производилось на ЭВМ со следующими характеристиками: Intel Core 2 Duo, 4 Гб ОЗУ с ОС Windows ХР SP3.

Таблица 3 - Результаты тестирования запутанной программной реализации

Значение Размер программной Скорость преобразования

параметров s и 1 реализации алгоритма, Кб входных данных, Кб/с

г = 8,1 = 4 521 660

■¡ = 8,1 = 8 8202 1040

s = 16,1 = 8 1572873 1470

Для того чтобы противостоять рассмотренным в диссертационной работе методам анализа программных реализаций алгоритмов защиты информации, рекомендуется использовать следующие параметры защищенной реализации алгоритма ГОСТ 28147-89: 5 = 8,1 = 4.

Методика запутывания программных реализаций алгоритмов защиты информации, основанных на преобразованиях регистрового типа, была использована при разработке программно-аппаратного комплекса защиты приложений от обратного исследования и несанкционированного копирования компании «Актив», для обеспечения безопасности протокола взаимодействия внешнего аппаратного модуля с защищаемым приложением.

Полученная в диссертационной работе запутанная программная реализация алгоритма ГОСТ 28147-89 была использована при разработке программного комплекса «Модуль Контроля Действий Пользователей» в Банке «Возрождение» ОАО, предназначенного для предотвращения утечки конфиденциальной информации из корпоративной информационной системы. Использование запутанной программной реализации алгоритма ГОСТ 28147-89 позволило обеспечить конфиденциальность и целостность журнала аудита и конфигурационной информации, хранимой на АРМ пользователей корпоративной информационной системы Банка.

Результаты исследования существующих методов анализа и методика запутывания программных реализаций алгоритмов защиты информации внедрены в учебный курс «Защита Программного Обеспечения» на кафедре «Криптология и Дискретная Математика» НИЯУ МИФИ. В результате внедрения созданы

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

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

ОСНОВНЫЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ РАБОТЫ

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

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

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

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

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

6. С помощью созданной методики получена запутанная программная реализация алгоритма ГОСТ 28147-89 в режиме простой замены. Произведен анализ емкостной и временной сложности запутанной программной реализации алгоритма ГОСТ 28147-89.

7. Приведены рекомендации по выбору параметров запутанной программной реализации алгоритма ГОСТ 28147-89 режиме простой замены и проведена оценка ее стойкости к известным методам анализа в недоверенных средах.

8. Созданная методика запутывания программных реализаций алгоритмов защиты информации, основанных на преобразованиях регистрового типа, была использована при разработке системы защиты приложений от несанкционированного копирования в компании «Актив».

9. Полученная запутанная программная реализация алгоритма ГОСТ 28147-89 была использована при разработке системы предотвращения утечки конфиденциальной информации из корпоративной информационной системы в

фограммном комплексе «Модуль Контроля Действий Пользователей» в ОАО Банк (Возрождение».

10. Результаты исследования существующих методов анализа и запутывания фограммных реализаций алгоритмов защиты информации были использованы при ггении лекций и проведении лабораторных работ в учебном курсе «Защита Программного Обеспечения» кафедры «Криптология и Дискретная Математика» 1ИЯУ МИФИ.

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Родионов Е. Ю. Применение запутывающих преобразований в криптографических целях. [Электронный ресурс] «РусКрипто'2008». Режим доступа к ресурсу: http://wvvw.ruscrypto.ru/netcat_files/File/rusciypto.2008.032.zip;

2. Родионов Е. Ю. Применение запутывающих преобразований в криптографии // Безопасность Информационных технологий. 2009. №2. С. 50-52. (Журнал входит в перечень ВАК);

3. Родионов Е. Ю. Преобразования для запутывания симметричных блочных шифров // Безопасность Информационных Технологий. 2009. №3. С. 8082. (Журнал входнт в перечень ВАК);

4. Родионов Е. Ю., Сеник М. В. Предотвращение несанкционированного запуска ПО: подходы к идентификации приложений. // Безопасность Информационных Технологий. 2010. №1. С. 102-105. (Журнал входит в перечень ВАК);

5. Родионов Е. Ю. Контроль доступа к периферийным устройствам ввода/вывода на АРМ пользователей // Безопасность Информационных Технологий. 2010. №1. (Журнал входит в перечень ВАК);

6. Родионов Е. Ю. Разработка системы управления политикой информационной безопасности на предприятии // Научная сессия НИЯУ МИФИ-2010. Т. 3. М.: НИЯУ МИФИ, 2010. С. 159;

7. Родионов Е. Ю. Система контроля действий пользователей в корпоративной информационной системе // Труды научной сессии МИФИ 2010 — 2010. — С. 212—

8. Родионов Е. Ю., Варфоломеев А. А. О реализации криптографических примитивов, устойчивых к анализу методом «белый ящик». - Научная сессия МИФИ-2011. XIV Московская международная телекоммуникационная конференция студентов и молодых ученых «Молодежь и Наука». Тезисы докладов в 3-х частях. Ч. 3. М.:МИФИ, 2010. - с. 257-259;

9. Родионов Е. Ю., Варфоломеев А. А. О выборе параметров реализаций симметричных алгоритмов шифрования, устойчивых к анализу методом «белый ящик». - Научная сессия МИФИ-2011. XIV Московская международная телекоммуникационная конференция студентов и молодых ученых «Молодежь и Наука». Тезисы докладов в 3-х частях. Ч. 3. М.:МИФИ, 2010. - с. 255-257;

10. Rodionov Е., Matrosov A., Rooting about in TDSS // Virus bulletin. October 2010;

11. Rodionov E. «White-Box Implementation of Symmetric Block Ciphers» [Электронный ресурс]: Microsoft Research Summer School 2011. Режим доступа к ресурсу: http://blogs.msdn.eom/b/msr_er/archive/2011/07/12/top-students-descend-on-microsoft-research-cambridge.aspx;

12. Rodionov E., Matrosov A., Harley D., When I'm x64: Bootkit Threat Evolution in 2011 // HAKIN9. Vol №7-02,2012.

Текст работы Родионов, Евгений Юрьевич, диссертация по теме Методы и системы защиты информации, информационная безопасность

61 12-5/3663

НАЦИОНАЛЬНЫМ ИССЛЕДОВАТЕЛЬСКИЙ ЯДЕРНЫЙ УНИВЕРСИТЕТ «МИФИ»

На правах рукописи

Родионов Евгений Юрьевич

ЗАЩИТА ПРОГРАММНЫХ РЕАЛИЗАЦИЙ АЛГОРИТМОВ, ОСНОВАННЫХ НА ПРЕОБРАЗОВАНИЯХ РЕГИСТРОВОГО ТИПА, ОТ. АНАЛИЗА В НЕДОВЕРЕННЫХ СРЕДАХ

Специальность 05.13.19 - Методы и системы защиты информации, информационная безопасность

Диссертация на соискание ученой степени

Научный руководитель -к.ф.-м.н., доцент Варфоломеев А. А.

Москва-2012

Оглавление

ВВЕДЕНИЕ..................................................................................................................................5

1 МЕТОДЫ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ПРОГРАММНЫХ РЕАЛИЗАЦИЙ АЛГОРИТМОВ ЗАЩИТЫ ИНФОРМАЦИИ ОТ АНАЛИЗА В НЕДОВЕРЕННЫХ СРЕДАХ....................................................13

1.1 Методы и средства анализа программного обеспечения................................................13

1.1.1 Статический анализ.................................................................................................15

1.1.2 Динамический анализ................................................................................................22

1.2 Методы защиты программного обеспечения...................................................................27

1.2.1 Навесные защиты......................................................................................................27

1.2.2 Запутывание...............................................................................................................28

1.3 Запутывание программных реализаций алгоритмов защиты информации...............;....28

1.3.1 Запутанная реализация алгоритма DES................................................................32

1.3.2 Запутанная реализация алгоритма AES.................................................................41

1.4 анализ запутанных реализаций алгоритмов защиты информации.................................43

1.5 Выводы..............................................................................................................................45

2 МЕТОДЫ АНАЛИЗА ПРОГРАММНЫХ РЕАЛИЗАЦИЙ АЛГОРИТМОВ ЗАЩИТЫ ИНФОРМАЦИИ В НЕДОВЕРЕННЫХ СРЕДАХ.........................................................................................46

2.1 Модель нарушителя..........................................................................................................46

2.2 Методы анализа по побочным каналам..........................................................................48

2.3 Задача синтеза запутывающих преобразований..............................................................50

2.4 модель табличной реализации отображений..................................................................52

2.4.1 Алгоритм вычисления образа отображения.........................................................54

2.4.2 Емкостная и временная сложность табличной реализации..............................55

2.4.3 Разностная характеристика табличной реализации отображения................55

2.5 Методы анализа табличных реализаций алгоритмов защиты информации...................57

2.5.1 Атака Chow S..............................................................................................................58

2.5.2 Атака Link Н.Е.............................................................................................................61

2.5.3 Атака Jacob M............................................................................................................62

2.5.4 Атака Goubin L............................................................................................................64

2.5.5 Атака Wyseur В...........................................................................................................66

2.6 Выводы..............................................................................................................................69

3 МЕТОДИКА ЗАПУТЫВАНИЯ ПРОГРАММНЫХ РЕАЛИЗАЦИЙ АЛГОРИТМОВ ЗАЩИТЫ ИНФОРМАЦИИ, ОСНОВАННЫХ НА ПРЕОБРАЗОВАНИЯХ РЕГИСТРОВОГО ТИПА..................................70

3.1 Алгоритмы защиты информации на основе преобразований регистрового типа...........70

3.1.1 Алгоритм RC6.............................................................................................................72

3.1.2 Алгоритм MARS..........................................................................................................73

3.1.3 Алгоритм Twofish.......................................................................................................74

3.2 Табличная реализация отображений некоторых классов, входящих в состав алгоритмов

защиты информации..................................................................................................................................

3.2.1 Табличная реализация аффинных отображений..................................................75

3.2.2 Табличная реализация отображения сложения с константой в кольце вычетов ......................................................................................................................................77

3.2.3 Табличная реализация отображения управляемого циклического сдвига координат двоичного вектора..........................................................................................................79

3.3 Методика запутывания программных реализаций алгоритмов защиты информации,

основанных на преобразования регистрового типа...................................................................................81

3.3.1 Декомпозиция отображений, входящих в отображение алгоритма защиты информации ......................................................................................................................................82

3.3.2 Маскирование линейной составляющей отображения.......................................83

3.3.3 Реализация декомпозированных отображений в виде таблиц замены.............84

3.3.4 Маскирование таблиц замены.................................................................................84

3.4 Оценка стойкости запутанных программных реализаций алгоритмов защиты информации ...........................................................................................................................................85

3.5 Выводы..............................................................................................................................87

4 ЗАПУТЫВАНИЕ ПРОГРАММНОЙ РЕАЛИЗАЦИИ АЛГОРИТМА ГОСТ 28147-89...................88

4.1 Алгоритм защиты информации ГОСТ 28147-89...............................................................88

4.2 Запутывание программной реализации алгоритма ГОСТ 28147-89 в режиме простой

замены ...........................................................................................................................................90

4.3 временная и емкостная сложность запутанной реализации ГОСТ 28147-89..................95

4.4 выбор параметров запутанной реализации ГОСТ 28147-89.............................................97

4.5 тестирование запутанной программной реализации алгоритма ГОСТ 28147-89 в режиме

простой замены..........................................................................................................................................99

4.6 реализация результатов работы........................................................................................99

4.6.1 Реализация методики запутывания алгоритмов защиты информации, основанных на преобразованиях регистрового типа, в компании «Актив»............................101

4.6.2 Применение запутанной программной реализации алгоритма ГОСТ28147-89 в Банке «Возрождение» ОАО...............................................................................................................103

4.6.3 Использование предложенной методики запутывания для создания лабораторных работ в учебном курсе «Защита программного обеспечения» на кафедре «Криптология и дискретная математика» НИЯУ МИФИ...........................................................106

4.7 Выводы............................................................................................................................108

ЗАКЛЮЧЕНИЕ........................................................................................................................109

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ..........................................................................112

ПРИЛОЖЕНИЕ А. ФРАГМЕНТЫ ИСХОДНОГО КОДА НА ЯЗЫКЕ С ГЕНЕРАТОРА ЗАПУТАННЫХ ПРОГРАММНЫХ РЕАЛИЗАЦИЙ АЛГОРИТМА ГОСТ 28147-89.............................................................126

Введение

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

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

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

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

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

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

котором обрабатывается и/или хранится защищаемая информация.

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

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

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

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

- Варновский Н. П., исследовавший возможность существования доказуемо стойких запутывающих преобразований;

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

- S. Chow, предложивший защищенные программные реализации

алгоритмов DES и AES-128;

- В. Wyseur, защитивший в 2009 году диссертацию по теме "White-box Cryptography", автор некоторых атак на программные реализации алгоритмов DES и AES-128;

- О. Billet, автор работы, посвященной анализу запутанной программной реализации алгоритма AES-128;

- W. Michiels, предложивший обобщенный метод анализа запутанных программных реализаций алгоритмов защиты информации, основанных на преобразованиях замены и перестановки.

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

Объектом исследования являются алгоритмы защиты информации, основанные на преобразованиях регистрового типа.

Предметом исследования являются способы программной реализации алгоритмов защиты информации, основанных на преобразованиях регистрового типа.

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

Методы исследования: теория алгоритмов, теория графов, теория вероятностей и математическая статистика.

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

В рамках решения научной задачи необходимо:

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

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

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

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

Научная новизна работы состоит в следующем:

- определены условия применимости рассмотренных методов анализа программных реализаций алгоритмов защиты информации в недоверенных средах;

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

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

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

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

- получена запутанная программная реализация алгоритма ГОСТ 28147-89 в режиме простой замены, стойкая к методу разностного анализа в недоверенных средах.

- приведены рекомендации выбора параметров запутанной программной реализации алгоритма ГОСТ 28147-89 в режиме простой замены.

Результаты диссертационной работы представляют практическую ценность для разработки и реализации систем защиты информации в следующих областях информационных технологий: «облачные технологии», мобильные агенты, технические средства защиты авторских прав.

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

Практические результаты диссертационной работы использовались

при разработке системы предотвращения утечки конфиденциальной информации из корпоративной информационной системы в программном комплексе «Модуль Контроля Действий Пользователей» в ОАО Банк «Возрождение».

Теоретические результаты исследования, полученные в процессе выполнения диссертационной работы, использованы в курсе «Защита программного обеспечения» кафедры «Криптология и Дискретная Математика» НИЯУ МИФИ для создания лабораторных работ и лекционного материала.

Публикации и апробация работы: Результаты диссертации были изложены в 12 публикациях, 4 из которых были опубликованы в журналах рецензируемых ВАК РФ. Результаты работы докладывались на конференциях и семинарах различного уровня:

- X Международная конференция «РусКрипто». 2008 г.;

- XIV Международная телекоммуникационная конференция студентов и молодых ученых «Молодежь и наука», г. Москва, 2010 г.;

- Инфофорум, г. Москва, 2010 г.;

- Научная сессия НИЯУ МИФИ, г. Москва, 2011, 2012 гг.;

- Летняя школа Microsoft Research Summer School, Кембридж, Великобритания, 2011 г.;

- XIX Всероссийская научно-практическая конференция «Проблемы информационной безопасности в системе высшей школы», г. Москва, 2012 г;

- научный семинар кафедры «Информационная безопасность» Московского Государственного Технического Университета им. Н.Э.

Баумана, 2012 г. (25 апреля 2012года).

Основные положения, выносимые на защиту:

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

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

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