22
Теоретические аспекты проблемы обфускации программ Н.П. Варновский, В.А. Захаров, Н.Н. Кузюрин, А.В. Шокуров Институт системного программирования РАН , ф-т ВМиК и ИПИБ МГУ им. М.В. Ломоносова 10 октября 2008 г. 1 / 22

Obfuscation Curstate Review

Embed Size (px)

Citation preview

Page 1: Obfuscation Curstate Review

Теоретические аспекты проблемы обфускациипрограмм

Н.П. Варновский, В.А. Захаров, Н.Н. Кузюрин, А.В. Шокуров

Институт системного программирования РАН ,ф-т ВМиК и ИПИБ МГУ им. М.В. Ломоносова

10 октября 2008 г.

1 / 22

Page 2: Obfuscation Curstate Review

ОБФУСКАЦИЯ ПРОГРАММ

Обфускация — эквивалентные преобразования программ длязатруднения:

понимания программ;извлечения полезной информации содержащейся в программе:

I алгоритмов;I структур данных;I секретных ключей;

. . .

2 / 22

Page 3: Obfuscation Curstate Review

История исследований

1976 Первое упоминание:Diffie W., Hellman M.

”New directions in cryptography“, 1976.

1997 Первая научная статья:Collberg C., Thomborson C., Low D.

”A taxonomy of obfuscating transformations“, 1997.

2001 Первая математическая постановка задачи:Barak B., Goldreich O., Impagliazzo R., Rudich S., Sahai A.,Vedhan S., Yang K.

”On the (Im)possibility of obfuscating programs“, 2001.

3 / 22

Page 4: Obfuscation Curstate Review

Обфускация: модель «черного ящика»

Вероятностный алгоритм O называется обфускатором, стойким вмодели «черного ящика», если

1 (функциональность) π ≈ O(π) для любой программы π;2 (полиномиальное замедление) существует полином p(·), такой что

∀π : |O(π)| ≤ p(|π|), time(O(π)) ≤ p(time(π));

3 (стойкость) Для любой PPT A (противника ) существует PPT S(симулятор ) и пренебрежимо малая функция ν, такие что, длялюбой машины Тьюринга π:

|Pr{A(O(π))=1} − Pr{Sπ(1|π|)=1}| ≤ ν(|π|)

Barak B., Goldreich O., Impagliazzo R., Rudich S., Sahai A., Vedhan S.,Yang K.

”On the (Im)possibility of obfuscating programs“, 2001.

4 / 22

Page 5: Obfuscation Curstate Review

Обфускация: новые модели и определения

2003 обфускация предикатов:Захаров В.А., Варновский Н.П.;

2004 обфускация в модели «серого ящика»:Варновский Н.П.

2004 обфускация алгоритмов:Варновский Н.П.

2004 защита констант (ключей):Варновский Н.П.;Hofheinz D., Malobe-Lee J., Stam M. 2007.

2005 обфускация с дополнительным входом:Goldwasser S., Tauman Kalai Y.T.

2007 наилучшая возможная обфускация:Goldwasser S., Rothblum G.N.

5 / 22

Page 6: Obfuscation Curstate Review

ОТРИЦАТЕЛЬНЫЕ РЕЗУЛЬТАТЫ

2001 Не существует обфускаторов, стойких в модели«черного ящика».Barak B., Goldreich O., Impagliazzo R., et al., 2001;

2004 Не существует обфускаторов, стойких в модели«серого ящика», если существуют односторонниефункции.Варновский Н.П., 2004;

2005 Не существует обфускаторов с дополнительнымвходом.Goldwasser S., Tauman Kalai Y.T., 2005;

2007 Не существует наилучшей возможной обфускации длясемейства 3-CNF формул, если полиномиальная иерархияне вырождается на втором уровне (т. е. Σp

2 6= Σp3).

Goldwasser S., Rothblum G.N., 2007.

6 / 22

Page 7: Obfuscation Curstate Review

ПОЛОЖИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ

«Обфускация точечных функций »Canetti R. 1997; Захаров В.А., Варновский Н.П., 2003; Lynn B.,Prabhakaran M., Sahai A. 2004, Wee H. 2005, Canetti R.,Dakdouk R. 2008.«Обфускация POBDD и конечных автоматов »Кузюрин Н.П., Шокуров А.А. и др., 2007; Goldwasser, S.,Rothblum G., 2007.«Обфускация программ решифрования »Hohenberger S., Rothblum G. N., Shelat A., Vaikuntanathan V., 2007.«Обфускация программ перемешивания шифртекстов »B. Adida, D. Wikstrom, 2005.«Обфускация баз данных »Narayanan A., Shmatikov V., 2005.

7 / 22

Page 8: Obfuscation Curstate Review

ПОЛОЖИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ

ОпределениеТочечной называется функция fa,b : {0, 1}n → {0, 1}n, a, b ∈ {0, 1}n,удовлетворяющая условию

fa,b(x) =

{b, если x = a,0n, если x 6= a.

Рассмотрим семейство точечных функций Fn = {fu,v : u, v ∈ {0, 1}n} ипредикат πa,b(f ) = (f ≡ fa,b).

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

8 / 22

Page 9: Obfuscation Curstate Review

ПОЛОЖИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ

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

Кузюрин Н.Н., Шокуров А.В., Варновский Н.П., Захаров В.А.,ISC 2007;Goldwasser, S., Rothblum G., TCC 2007.

9 / 22

Page 10: Obfuscation Curstate Review

Наилучшая возможная обфускация

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

1 (функциональность)2 (полиномиальное замедление)3 (стойкость) Для любой PPT A (противника) существует PPT S

(симулятор) такие что для любой пары эквивалентных булевыхсхем (программ) M и M ′ одинакового размера распределения

Pr{A[O(M)]} и Pr{S [M ′]}

вычислительно неотличимы.

10 / 22

Page 11: Obfuscation Curstate Review

Модели обфускации: взаимосвязь

?

«Черный ящик»

«Серый ящик» Best Possible

«Защита алгоритмов»

«Неотличимость»

«. . . с дополнительным входом»

11 / 22

Page 12: Obfuscation Curstate Review

Обфускация с разделением программы

Блок A Блок B

ПРОГРАММА

-

Блок А : вычисляется на защищенном устройстве небольшойвычислительной мощности (смарт-карта, процессор с малым объемомпамяти и др.)

Блок B : вычисляется на открытом высокопроизводительномвычислительном устройстве.

Goldreich O., 1985; Ostrovsky R., 2005; Anderson W.E., 2008.

12 / 22

Page 13: Obfuscation Curstate Review

Секретная часть

(Оракул R)

Открытая часть

(Программа O(M))

ЭЛЕКТРОННАЯ СХЕМА (конечный автомат)

-

Обфускация с оракулом [Anderson W.E., 2008]Вероятностный алгоритм O и оракул R образуют обфускаторсемейства программ F , если:

1 (функциональность) π ≈ OR(π) для любой π из F ;2 (полиномиальное замедление)3 (стойкость) Для любой PPT A (противника) существует PPT S

(симулятор) и пренебрежимо малая функция ν, такие что

|Pr[AR(OR(π))]=1} − Pr[Sπ(1n)=1]| ≤ ν(n)

для любой программы π размера n.

13 / 22

Page 14: Obfuscation Curstate Review

Обфускация с разделением программы

Шифратор Ex

Дешифратор Dx

Схема вычисления O(π, x)

над зашифрованными данными

Вычисление над зашифрованными данными

-

Теорема. [Sander, Tchudin, 1998; Шокуров А.В., 2004. ]Существует обфускатор O ациклических алгебраических программ, всистемы вычислений над зашифрованными данными со следующимисвойствами:

1 преобразование программы A в схему вычислений(Ex ;O(A, x); Dx) корректно и эффективно;

2 size(O(A, x)) = poly(size(A));3 для любой схемы вычислений B с n входами существует не менее

2O(n) пар (A, x), удовлетворяющих условию B = O(A, x).14 / 22

Page 15: Obfuscation Curstate Review

Новые приложения обфускацииПовторное шифрование

Re-encryption R- -mK = E(m,K) mK′ = E(m,K′)

Программа повторного шифрования принимает на вход шифр mK

сообщения m, зашифрованного при помощи ключа K , и вычисляетшифр mR того же сообщения m, зашифрованного при помощи другогоключа R .

[Hohenberger S., Rothblum G. N., Shelat A., Vaikuntanathan V.,2007]Для некоторых криптосистем с открытым ключом существуютпрограммы повторного шифрования, для которых можно построитьобфускацию, стойкую в среднем в модели «черного ящика».

15 / 22

Page 16: Obfuscation Curstate Review

Новые приложения обфускацииПеремешивание шифртекстов

-

-

-

-

C′=C⊗Mπ

c1

c2

c3

cn

-

-

-

-

-

-

-

-

E

x1

x2

x3

xn

-

-

-

-

c ′i1

c ′i2

c ′i3

c ′in

-

-

-

-

-

-

-

-

D

xi1

xi2

xi3

xin

Обфускация программы предусматривает использованиекриптосистемы (K ,G ,E ,D), гомоморфной относительно сложения иоднократного умножения, т. е.:

Ek(x1, r1)⊕ Ek(x2, r2) = Ek(x1 + x2, ϕ(r1, r2)),Ek(x1, r1)⊗ Ek(x2, r2) = Ek(x1 × x2, ψ(r1, r2)).

16 / 22

Page 17: Obfuscation Curstate Review

Новые приложения обфускацииПеремешивание шифртекстов

-

-

-

-

C′=C⊗Mπ

c1

c2

c3

cn

-

-

-

-

-

-

-

-

E

x1

x2

x3

xn

-

-

-

-

c ′i1

c ′i2

c ′i3

c ′in

-

-

-

-

-

-

-

-

D

xi1

xi2

xi3

xin

Теорема 1. [B. Adida, D. Wikstrom, 2005]Если криптосистема (K ,G ,E ,D) является семантически стойкой, тообфускированная программа

C′=C⊗Mπ

является стойкой относительно угрозы различения пары перестановкиπ′, π′′.

17 / 22

Page 18: Obfuscation Curstate Review

Новые приложения обфускацииПеремешивание шифртекстов

-

-

-

-

C′=C⊗Mπ

c1

c2

c3

cn

-

-

-

-

-

-

-

-

E

x1

x2

x3

xn

-

-

-

-

c ′i1

c ′i2

c ′i3

c ′in

-

-

-

-

-

-

-

-

D

xi1

xi2

xi3

xin

Теорема 2. [B. Adida, D. Wikstrom, 2005]Существует протокол с нулевым разглашением для доказательствакорректности обфускированной программы перестановки шифртекстов

C′=C⊗Mπ.

18 / 22

Page 19: Obfuscation Curstate Review

Новые приложения обфускации

Другие приложенияOstrovsky R., Skeith W., 2005.Применение обфускации с разделением программ для скрытногоэффективного выбора текстов из потока данных по заданномунабору ключевых слов. В основу обфускации положеносемантически стойкая гомоморфная криптосистема.Narayanan A., Shmatikov V., 2005Обфускация баз данных для ограничения доступа к атрибутамданных. В основу обфускации положена стойкая в моделислучайного оракула обфускация точечных функций.

19 / 22

Page 20: Obfuscation Curstate Review

Новые приложения обфускации

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

Н.П. Варновский, В.А. Захаров, Р.И. Подловченко, В.С. Щербина, Н.Н.Кузюрин, А.В. Шокуров, О применении методов деобфускациипрограмм для обнаружения сложных компьютерных вирусов, ИзвестияТРТУ, №7, 2006.

20 / 22

Page 21: Obfuscation Curstate Review

Враг не дремлет: методы обфускации полиморфных компьютерныхвирусов постоянно совершенствуются.

Trojan.Win32.Obfuscated.ev: use polymorphic tactics to self-mutate,disable security software, modify system files, and install additionalmalware. Last updated on Jun 24 2008 .

[www.viruslist.com]

21 / 22

Page 22: Obfuscation Curstate Review

СПАСИБО ЗА ВНИМАНИЕ.

ВАШИ ВОПРОСЫ?

22 / 22