TMPA-2013 Keynote: Zakharov Obfuscation
Upcoming SlideShare
Loading in...5
×
 

TMPA-2013 Keynote: Zakharov Obfuscation

on

  • 380 views

Tools & Methods of Program Analysis (TMPA-2013) ...

Tools & Methods of Program Analysis (TMPA-2013)
Vladimir A. Zakharov, Associate Professor of Mathematical Cybernetics Department, Head of Laboratory of Mathematical Problems of Computer Security, Faculty of Computational Mathematics and Cybernetics, Moscow State University (MSU)
Mathematical Aspects of Program Obfuscation

Statistics

Views

Total Views
380
Views on SlideShare
380
Embed Views
0

Actions

Likes
1
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    TMPA-2013 Keynote: Zakharov Obfuscation TMPA-2013 Keynote: Zakharov Obfuscation Presentation Transcript

    • Ìàòåìàòè÷åñêèå àñïåêòû çàäà÷è îáôóñêàöèè ïðîãðàìì Â.À. Çàõàðîâ ô-ò ÂÌèÊ ÌÃÓ èì. Ì.Â. Ëîìîíîñîâà
    • ÎÁÔÓÑÊÀÖÈß ÏÐÎÃÐÀÌÌ  ýòî òàêàÿ ðàçíîâèäíîñòü ýêâèâàëåíòíûõ ïðåîáðàçîâàíèé ïðîãðàìì, êîòîðàÿ ïðåäíàçíà÷åíà äëÿ çàòðóäíåíèÿ ïîíèìàíèÿ ïðîãðàìì è èçâëå÷åíèÿ èç íèõ ïîëåçíîé èíôîðìàöèè îá àëãîðèòìàõ, ñòðóêòóðàõ äàííûõ, ñåêðåòíûõ êëþ÷àõ, ñîäåðæàùèõñÿ â ïðîãðàììàõ.
    • ÎÁÔÓÑÊÀÖÈß ÏÐÎÃÐÀÌÌ  ýòî òàêàÿ ðàçíîâèäíîñòü ýêâèâàëåíòíûõ ïðåîáðàçîâàíèé ïðîãðàìì, êîòîðàÿ ïðåäíàçíà÷åíà äëÿ çàòðóäíåíèÿ ïîíèìàíèÿ ïðîãðàìì è èçâëå÷åíèÿ èç íèõ ïîëåçíîé èíôîðìàöèè îá àëãîðèòìàõ, ñòðóêòóðàõ äàííûõ, ñåêðåòíûõ êëþ÷àõ, ñîäåðæàùèõñÿ â ïðîãðàììàõ. Îñíîâíûå çàäà÷è Êàê ïîñòðîèòü îáôóñêàòîð ïðîãðàìì? Êàê îöåíèòü ñòîéêîñòü îáôóñêàöèè?
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Die W., Hellman M. New directions in cryptography. IEEE Transactions in Information Theory, 1976. Îáôóñêàöèÿ ïîçâîëÿåò ïðåîáðàçîâûâàòü êðèïòîñèñòåìû ñ ñåêðåòíûì êëþ÷îì â êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì. Äëÿ ýòîãî äîñòàòî÷íî ïîäâåðãíóòü îáôóñêàöèè ïðîãðàììó, ðåàëèçóþùóþ àëãîðèòì øèôðîâàíèÿ ñ âñòàâëåííûì â íåå ñåêðåòíûì êëþ÷îì. Ïðåîáðàçîâàííóþ òàêèì îáðàçîì ïðîãðàììó ìîæíî èñïîëüçîâàòü â êà÷åñòâå ïðîãðàììû øèôðîâàíèÿ êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Îáôóñêàöèÿ ïðîãðàìì ïîçâîëÿåò ïðåâðàùàòü êðèïòîñèòåìû ñ ñåêðåòíûì êëþ÷îì â êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì, ñòðîèòü ñèñòåìû âû÷èñëåíèé íàä çàøèôðîâàííûìè äàííûìè (êðèïòîñèñòåìû ãîìîìîðôíûõ âû÷èñëåíèé), èçáàâèòüñÿ îò ìîäåëè ñëó÷àéíîãî îðàêóëà â êðèïòîãðàôè÷åñêèõ ïðîòîêîëàõ, ñîçäàâàòü âåðèôèöèðóåìûå ñèñòåìû òàéíîãî ãîëîñîâàíèÿ, îáåñïå÷èòü êîíôèäåíöèàëüíîñòü â ïîèñêîâûõ ñèñòåìàõ è áàçàõ äàííûõ.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ íóæä êðèïòîãðàôèè Íî äëÿ ýòîãî îáôóñêàöèÿ äîëæíà óäîâëåòâîðÿòü î÷åíü ñòðîãèì òðåáîâàíèÿì ñòîéêîñòè, ïðèíÿòûì â êðèïòîãðàôèè. Ñîâðåìåííîå ñîñòîÿíèå äåë â ýòîì íàïðàâëåíèè èññëåäîâàíèé òàêîâî: î÷åíü ìíîãî îòðèöàòåëüíûõ ðåçóëüòàòîâ, è î÷åíü ìàëî ïîëîæèòåëüíûõ äîñòèæåíèé.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Collberg C., Thomborson C., Low D. A taxonomy of obfuscating transformations, Tech. Report, N 148, Dept. of Computer Science, University of Auckland, 1997. Îáôóñêèðóþùèå ïðåîáðàçîâàíèÿ ìîæíî èñïîëüçîâàòü äëÿ çàùèòû èíòåëëåêòóàëüíîé ñîáñòâåííîñòè íà ïðîãðàììíîå îáåñïå÷åíèå, èíôîðìàöèîííîé çàùèòû ìîáèëüíûõ àãåíòîâ è ìèêðîýëåêòðîííûõ ñõåì íà ýòàïå ïðîåêòèðîâàíèÿ, à òàêæå äëÿ
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Collberg C., Thomborson C., Low D. A taxonomy of obfuscating transformations, Tech. Report, N 148, Dept. of Computer Science, University of Auckland, 1997. Îáôóñêèðóþùèå ïðåîáðàçîâàíèÿ ìîæíî èñïîëüçîâàòü äëÿ çàùèòû èíòåëëåêòóàëüíîé ñîáñòâåííîñòè íà ïðîãðàììíîå îáåñïå÷åíèå, èíôîðìàöèîííîé çàùèòû ìîáèëüíûõ àãåíòîâ è ìèêðîýëåêòðîííûõ ñõåì íà ýòàïå ïðîåêòèðîâàíèÿ, à òàêæå äëÿ ñîêðûòèÿ èñêóññòâåííûõ óÿçâèìîñòåé â ïðîãðàììàõ , ìàñêèðîâêè êîìïüþòåðíûõ ¾âèðóñîâ¿ , óäàëåíèÿ ¾âîäÿíûõ çíàêîâ¿ èç ïðîãðàìì .
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Öåëü îáôóñêàöèè  îêàçàòü ïðîòèâîäåéñòâèå ìåòîäàì îáðàòíîé èíæåíåðèè è àëãîðèòìàì ñòàòè÷åñêîãî è äèíàìè÷åñêîãî àíàëèçà ïðîãðàìì. Ñîâðåìåííîå ñîñòîÿíèå äåë â ýòîì íàïðàâëåíèè èññëåäîâàíèé òàêîâî: ìíîãî ¾ýâðèñòè÷åñêèõ¿ ìåòîäîâ îáôóñêàöèè, è íèêàêèõ îöåíîê èõ ñòîéêîñòè.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè C. Wang, ¾A Security Architecture for survivability Mechanisms¿, PhD thesis, Dep. of Computer Science, University of Virginia, 2000. G. Wroblewski, ¾General Method of Program Code Obfuscation¿, PhD thesis, Wroclaw University, 2002. À.Â. ×åðíîâ, ¾Èññëåäîâàíèå è ðàçðàáîòêà ìåòîäîëîãèè ìàñêèðîâêè ïðîãðàìì¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ô.-ì.í, ÂÌÊ ÌÃÓ, 2003. Y. T. Kalai, ¾Attacks on the Fiat-Shamir Paradigm and Program Obfuscation¿, PhD thesis, MIT, 2006
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè S. Drape, ¾Obfuscation of Abstract Data-Types¿, PhD thesis, University of Oxford, 2004. Ä.À. Ùåëêóíîâ, ¾Ðàçðàáîòêà ìåòîäèê çàùèòû ïðîãðàìì îò àíàëèçà è ìîäèôèêàöèè íà îñíîâå çàïóòûâàíèÿ êîäà è äàííûõ¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ò.íàóê, ÌÃÒÓ èì. Í.Ý. Áàóìàíà, 2009. Mila Dalla Preda, ¾Code Obfuscation and Malware Detection by Abstract Interpretation¿, Ph.D. Thesis. Universita degli Studi di Verona, 2007.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Îáôóñêàöèÿ äëÿ îáåñïå÷åíèÿ êîìïüþòåðíîé áåçîïàñíîñòè Í.À. Êîíîíîâ, ¾Ñòðóêòóðíàÿ îïòèìèçàöèÿ è îáôóñêàöèÿ êîìáèíàöèîííûõ öèôðîâûõ ñõåì â áàçèñå ÏËÈÑ/ÑÁÌÊ¿, Äèññ. íà ñîèñêàíèå ó÷. ñò. ê.ò.í., ÌÈÝÒ, 2011. J. Cappaert, ¾Code Obfuscation Techniques for Software Protection¿, PhD thesis, Katholieke Universiteit Leuven, B. Preneel (promotor), 112+14 pages, 2012. C. Collberg, J. Nagra. ¾Surreptitious Software: Obfuscation, Watermarking, and Tamperproong for Program Protection.¿ Addison-Wesley Professional, 2009.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè. ïîëîæèòåëüíûìè è îòðèöàòåëüíûìè ðåçóëüòàòàìè : Åñòü ìíîãî ðåçóëüòàòîâ î íåâîçìîæíîñòè ïîñòðîåíèÿ óíèâåðñàëüíûõ îáôóñêàòîðîâ, íî ìàëî ÷òî èçâåñòíî î âîçìîæíîñòè ñòîéêîé îáôóñêàöèè äëÿ îòäåëüíûõ ñïåöèàëüíûõ êëàññîâ ïðîãðàìì.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Ðàçðûâ ïðîëåãàåò ìåæäó ôîðìàëüíîé ïîñòàíîâêîé çàäà÷è îáôóñêàöèè è ïðèëîæåíèÿìè : Îáëàñòü ïðèìåíåíèÿ îáôóñêàöèè îáøèðíà, íî ëèøü â ðåäêèõ ñëó÷àÿõ óäàâàëîñü äîáèòüñÿ ñòðîãîé ìàòåìàòè÷åñêîé ïîñòàíîâêè çàäà÷è îáôóñêàöèè ñ ïîäõîäÿùèì îïðåäåëåíèåì ñòîéêîñòè îáôóñêàöèè. ïîëîæèòåëüíûìè è îòðèöàòåëüíûìè ðåçóëüòàòàìè : Åñòü ìíîãî ðåçóëüòàòîâ î íåâîçìîæíîñòè ïîñòðîåíèÿ óíèâåðñàëüíûõ îáôóñêàòîðîâ, íî ìàëî ÷òî èçâåñòíî î âîçìîæíîñòè ñòîéêîé îáôóñêàöèè äëÿ îòäåëüíûõ ñïåöèàëüíûõ êëàññîâ ïðîãðàìì. òåîðèåé è ïðàêòèêîé îáôóñêàöèè : Èçâåñòíî ìíîãî ïðàêòè÷åñêèõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì, îäíàêî, íà íèõ íå îêàçàëè íèêàêîãî âëèÿíèÿ îñíîâîïîëàãàþùèå ðåçóëüòàòû èç îáëàñòè êðèïòîãðàôèè.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Äàëüíåéøèé ïðîãðåññ áóäåò âîçìîæåí, åñëè óäàñòñÿ ñáëèçèòü îáà ýòèõ íàïðàâëåíèÿ èññëåäîâàíèé çà ñ÷åò ñîçäàíèÿ ñîãëàñîâàííîé ñèñòåìû òðåáîâàíèé ñòîéêîñòè, êîòîðûå ìîæíî áóäåò ïðèìåíÿòü äëÿ ðàçðàáîòêè ðàçíûõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì â ðàçíûõ ïðèëîæåíèÿõ.
    • ÄÂÀ ÍÀÏÐÀÂËÅÍÈß ÈÑÑËÅÄÎÂÀÍÈÉ Äàëüíåéøèé ïðîãðåññ áóäåò âîçìîæåí, åñëè óäàñòñÿ ñáëèçèòü îáà ýòèõ íàïðàâëåíèÿ èññëåäîâàíèé çà ñ÷åò ñîçäàíèÿ ñîãëàñîâàííîé ñèñòåìû òðåáîâàíèé ñòîéêîñòè, êîòîðûå ìîæíî áóäåò ïðèìåíÿòü äëÿ ðàçðàáîòêè ðàçíûõ ìåòîäîâ îáôóñêàöèè ïðîãðàìì â ðàçíûõ ïðèëîæåíèÿõ. Áëàãîäàðÿ ýòîìó ìîæíî áóäåò ïîíÿòü, êàêèì òðåáîâàíèÿì ñòîéêîñòè äîëæíû óäîâëåòâîðÿòü òå èëè èíûå ðàçíîâèäíîñòè îáôóñêàöèè ïðîãðàìì; îöåíèòü, êàêèìè äîñòîèíñòâàìè è íåäîñòàòêàìè îáëàäàþò ðàçíûå ìåòîäû îáôóñêàöèè, ïðèñïîñîáèòü ôîðìàëüíûå ìåòîäû òåîðèè âû÷èñëåíèé è êðèïòîãðàôèè äëÿ íóæä îáôóñêàöèè ïðîãðàìì.
    • ÎÁÔÓÑÊÀÖÈß ×ÀÑÒÈ×ÍÎ ÇÀÙÈÙÅÍÍÛÕ ÏÐÎÃÐÀÌÌ R. Ostrovsky, Ecient computation on oblivious RAM, Proc. of 22nd ACM Symposium on Theory of Computing (STOC-90) Çàùèùåííûé ïðîöåññîð P èìååò îòêðûòóþ ïàìÿòü M : M ⇐⇒ P
    • ÎÁÔÓÑÊÀÖÈß ×ÀÑÒÈ×ÍÎ ÇÀÙÈÙÅÍÍÛÕ ÏÐÎÃÐÀÌÌ R. Ostrovsky, Ecient computation on oblivious RAM, Proc. of 22nd ACM Symposium on Theory of Computing (STOC-90) Çàùèùåííûé ïðîöåññîð P èìååò îòêðûòóþ ïàìÿòü M : Òåîðåìà M ⇐⇒ P Åñëè ñóùåñòâóþò îäíîñòîðîííèå ôóíêöèè, òî ëþáóþ ïðîãðàììó π ìîæíî ïðåîáðàçîâàòü â ýêâèâàëåíòíóþ ïðîãðàììó O(π) òàê, ÷òî: 1. Time(O(π)) = Time(π) × log3(Time(π)); 2. Ïðè âûïîëíåíèè O(π) íà âû÷èñëèòåëüíîì óñòðîéñòâå ñ çàêðûòûì ïðîöåññîðîì P è îòêðûòîé ïàìÿòüþ M íèêàêîé ïðîòèâíèê, îãðàíè÷åííûé ïîëèíîìèàëüíûì âðåìåíåì, íå ñïîñîáåí ðàñïîçíàòü ïðîãðàììó O(π) ïî ïîñëåäîâàòåëüíîñòè åå îáðàùåíèé ê ïàìÿòè.
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ [Barak B., Goldreich O., Impagliazzo R., et al., 2001] Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêèì â ìîäåëè ¾÷åðíîãî ÿùèêà¿, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) äëÿ ëþáîé ìàøèíû Òüþðèíãà M M ≈ O(M). 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) Ñóùåñòâóåò òàêîé ïîëèíîì p(·), ÷òî äëÿ ëþáîé ìàøèíû Òüþðèíãà M size(O(M)) ≤ p(size(M)), time(O(M)) ≤ p(time(M)). A S ν 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT (ïðîòèâíèêà ) ñóùåñòâóåò PPT (ñèìóëÿòîð ) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M)) = 1} − Pr{SM (1size(M) ) = 1}| ≤ ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé ìàøèíû Òüþðèíãà M .
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Òåîðåìà [Barak B., Goldreich O., Impagliazzo R., et al., 2001] Îáôóñêàòîðîâ, ñòîéêèõ â ìîäåëè ¾÷åðíîãî ÿùèêà¿, íå ñóùåñòâóåò .
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ñóùåñòâóþò òàêèå âû÷èñëèìûå ôóíêöèè, ÷òî ëþáóþ èõ ïðîãðàììíóþ ðåàëèçàöèþ íåâîçìîæíî îáôóñêèðîâàòü.
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ñóùåñòâóþò òàêèå âû÷èñëèìûå ôóíêöèè, ÷òî ëþáóþ èõ ïðîãðàììíóþ ðåàëèçàöèþ íåâîçìîæíî îáôóñêèðîâàòü. β, åñëè x = α , Fα,β (x) = 0 â îñòàëüíûõ ñëó÷àÿõ . Gγ,δ (x) = 1, åñëè x(γ) = δ , 0 â îñòàëüíûõ ñëó÷àÿõ . Hα,β,γ,δ (x, y ) = Fα,β (x), Gγ,δ (x), åñëè y = 0 , åñëè y = 0.
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π  ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π)  ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ.
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π  ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π)  ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ. Åñëè òåêñò ïðîãðàììû O(π) íåäîñòóïåí, òî ýòî ìîæíî ñäåëàòü òîëüêî ïîëíûì ïåðåáîðîì.
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾×ÅÐÍÎÃÎ ßÙÈÊÀ¿ Äîêàçàòåëüñòâî. Ïðåäïîëîæèì, ÷òî π  ïðîãðàììà, âû÷èñëÿþùàÿ ôóíêöèþ Hα,β,γ,δ , è O(π)  ýòî îáôóñêàöèÿ ïðîãðàììû π. Ðàñïîëàãàÿ ïðîãðàììîé O(π), òðåáóåòñÿ âûÿñíèòü, ïðàâäà ëè, ÷òî α = γ è β = δ. Åñëè òåêñò ïðîãðàììû O(π) íåäîñòóïåí, òî ýòî ìîæíî ñäåëàòü òîëüêî ïîëíûì ïåðåáîðîì. Åñëè òåêñò ïðîãðàììû O(π) äîñòóïåí, òî äîñòàòî÷íî âû÷èñëèòü O(π)[O(π)[·, 0], 1] .
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêèì â ìîäåëè ¾ñåðîãî ÿùèêà¿, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M)) = 1} − Pr{STr(M) (1size(M) ) = 1}| ≤ ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé ìàøèíû Òüþðèíãà M . Îðàêóë Tr(M) â îòâåò íà çàïðîñ x âûäàåò ïàðó (y , trM (x)), ñîñòîÿùóþ èç ðåçóëüòàòà âû÷èñëåíèÿ y = M(x) òðàññû trM (x) âûïîëíåíèÿ ÌÒ M íà âõîäå x .
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Ðàññìîòðèì ñåìåéñòâî ðåàãèðóþùèõ ÌÒ (RMT), íà âõîä êîòîðûõ ïîäàåòñÿ áåñêîíå÷íûé ïîòîê äàííûõ (çàïðîñîâ) x1 , x2 , . . . , xn , . . . . RMT âû÷èñëÿåò áåñêîíå÷íûé ïîòîê âûõîäíûõ äàííûõ (îòêëèêîâ) y1, y2, . . . , yn , . . . : yn = Fn (x1 , x2 , . . . , xn ). Òåîðåìà[Âàðíîâñêèé Í.Ï., 2002] Åñëè ñóùåñòâóþò îäíîñòîðîííèå ôóíêöèè, òî îáôóñêàòîðîâ, ñòîéêèõ â ìîäåëè âèðòóàëüíîãî ¾ñåðîãî ÿùèêà ¿, äëÿ ðåàãèðóþùèõ ÌÒ íå ñóùåñòâóåò .
    • ÑÒÎÉÊÎÑÒÜ ÎÁÔÓÑÊÀÖÈÈ Â ÌÎÄÅËÈ ÂÈÐÒÓÀËÜÍÎÃÎ ¾ÑÅÐÎÃÎ ßÙÈÊÀ¿ Îòêðûòàÿ ïðîáëåìà À ñóùåñòâóþò ëè îáôóñêàòîðû, ñòîéêèå â ìîäåëè âèðòóàëüíîãî ¾ñåðîãî ÿùèêà ¿, äëÿ îáû÷íûõ ìàøèí Òüþðèíãà?
    • ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñòîéêî çàùèùàþùèì àëãîðèòìû, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A(O(M),N) = 1} − Pr{SM (1size(M) ,N) = 1}| ≤ ν(size(M)) âûïîëíÿåòñÿ äëÿ ëþáîé òàêîé ïàðû ÌÒ (M, N), êîòîðàÿ óäîâëåòâîðÿåò óñëîâèÿì M ≈ N, size(N) = poly (size(M)).
    • ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠÒåîðåìà Ñóùåñòâóåò îáôóñêàòîð, ñòîéêî çàùèùàþùèé àëãîðèòìû , ïðåäñòàâëåííûå äåòåðìèíèðîâàííûìè êîíå÷íûìè àâòîìàòàìè.
    • ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠÒåîðåìà Ñóùåñòâóåò îáôóñêàòîð, ñòîéêî çàùèùàþùèé àëãîðèòìû , ïðåäñòàâëåííûå äåòåðìèíèðîâàííûìè êîíå÷íûìè àâòîìàòàìè. Îáôóñêàòîð äåòåðìèíèðîâàííûõ êîíå÷íûõ àâòîìàòîâ  ýòî ïðîñòî àëãîðèòì ìèíèìèçàöèè êîíå÷íûõ àâòîìàòîâ. Ýòî òèïè÷íûé ïðèìåð òðèâèàëüíîé îáôóñêàöèè àëãîðèòìîâ ïóòåì ýôôåêòèâíîãî ïðèâåäåíèÿ ïðîãðàìì ê åäèíñòâåííîé íîðìàëüíîé ôîðìå (ñòðîãàÿ íîðìàëèçóåìîñòü).
    • ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠS. Goldwasser, G. N. Rothblum, On Best Possible Obfuscation, TCC 2007. Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ íàèëó÷øèì âîçìîæíûì îáôóñêàòîðîì, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT L (âûâåäûâàòåëü) ñóùåñòâóåò òàêàÿ PPT S (ñèìóëÿòîð), ÷òî äëÿ äîñòàòî÷íî áîëüøèõ n è äëÿ ïðîèçâîëüíîé ïàðû ÌÒ M1, M2, âû÷èñëÿþùèõ îäíó è òó æå ôóíêöèþ è èìåþùèõ ðàçìåð n, ò. å. M1 ≈ M2, size(M1 ) = size(M2 ) = n, äâà ðàñïðåäåëåíèÿ âåðîÿòíîñòåé L(O(M1 )) è S(M2 ) âû÷èñëèòåëüíî íåîòëè÷èìû çà ïîëèíîìèàëüíîå âðåìÿ.
    • ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Òåîðåìà [S. Goldwasser, G. N. Rothblum, 2007] Ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð äëÿ OBDD ïîëèíîìèàëüíîãî ðàçìåðà.
    • ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Òåîðåìà [S. Goldwasser, G. N. Rothblum, 2007] Ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð äëÿ OBDD ïîëèíîìèàëüíîãî ðàçìåðà. Òåîðåìà Åñëè äëÿ ñåìåéñòâà 3-CNF ñóùåñòâóåò íàèëó÷øèé âîçìîæíûé îáôóñêàòîð, òî Σ = PSPACE . poly 2
    • ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌΠ[Barak B., Goldreich O., Impagliazzo R., et al., 2001] Âåðîÿòíîñòíûé àëãîðèòì O îáëàäàåò ñâîéñòâîì íåîòëè÷èìîãî îáôóñêàòîðà, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) äëÿ ëþáîé ìàøèíû Òüþðèíãà M M ≈ O(M). 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) Ñóùåñòâóåò òàêîé ïîëèíîì p(·), ÷òî äëÿ ëþáîé ìàøèíû Òüþðèíãà M size(O(M)) ≤ p(size(M)), time(O(M)) ≤ p(time(M)). 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà ) ñóùåñòâóåò òàêàÿ ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , ÷òî äëÿ ëþáîé ïàðû ìàøèí Òüþðèíãà M1, M2, åñëè M1 ∼ M2, òî |Pr{A(O(M1 )) = 1}−Pr{A(O(M2 )) = 1}| ≤ ν(size(M1 ) + size(M2 )
    • ÎÁÔÓÑÊÀÖÈß ÄËß ÇÀÙÈÒÛ ÀËÃÎÐÈÒÌÎÂ Îòêðûòûå ïðîáëåìû Ñóùåñòâóþò ëè êëàññû ïðîãðàìì, äîïóñêàþùèõ íåòðèâèàëüíóþ ñòîéêóþ îáôóñêàöèþ, çàùèùàþùóþ àëãîðèòìû ? Ñóùåñòâóþò ëè ïðîãðàììû, íå èìåþùèå ñòîéêîé îáôóñêàöèè, çàùèùàþùåé àëãîðèòìû ? Êàê ñâÿçàíû äðóã ñ äðóãîì îáôóñêàöèÿ, çàùèùàþùàÿ àëãîðèòìû è íàèëó÷øàÿ âîçìîæíàÿ îáôóñêàöèÿ?
    • ÎÁÔÓÑÊÀÖÈß, ÑÊÐÛÂÀÞÙÀß ÊÎÍÑÒÀÍÒÓ Ïóñòü M  ýòî ïðîãðàììà ñ ïàðàìåòðîì (ïåðåìåííîé) x . Îáîçíà÷èì Mc ïðèìåð ïðîãðàììû M , â êîòîðîé âìåñòî ïàðàìåòðà x ïîäñòàâëåíà êîíñòàíòà c ∈ {0, 1}n . Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì, ñêðûâàþùèì êîíñòàíòó, äëÿ ïàðàìåòðèçîâàííîãî ñåìåéñòâà ïðîãðàìì F = {Mc : c ∈ {0, 1}n , n ≥ 1}, åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A[O(Mc0 ), Mc ] = 1} − Pr{SMc0 [1size(Mc0 ) , Mc ] = 1} ≤ ν(n) âåðíî äëÿ ëþáîé ïàðû êîíñòàíò c0 ∈ {0, 1}n è c ∈R {0, 1}n .
    • ÎÁÔÓÑÊÀÖÈß, ÑÊÐÛÂÀÞÙÀß ÊÎÍÑÒÀÍÒÓ ÃÈÏÎÒÅÇÀ Ñòîéêàÿ îáôóñêàöèÿ, ñêðûâàþùàÿ êîíñòàíòó, íåâîçìîæíà , åñëè M  ýòî óíèâåðñàëüíàÿ ìàøèíà Òüþðèíãà; âîçìîæíà , åñëè M = E (key (x), m)  ýòî ïðîãðàììà øèôðîâàíèÿ ñòîéêîé êðèïòîñèñòåìû ñ îòêðûòûì êëþ÷îì key (x) è ñåêðåòíûì êëþ÷îì x. x x
    • ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒÎÂ Âåðîÿòíîñòíûé àëãîðèòì O íàçûâàåòñÿ îáôóñêàòîðîì ïðåäèêàòà π, çàäàííîãî íà ñåìåéñòâå ìàøèí Òüþðèíãà F , åñëè îí óäîâëåòâîðÿåò ñëåäóþùèì òðåáîâàíèÿì: 1. (ôóíêöèîíàëüíîñòü) 2. (ïîëèíîìèàëüíîå çàìåäëåíèå) 3. (ñòîéêîñòü) Äëÿ ëþáîé PPT A (ïðîòèâíèêà) ñóùåñòâóåò PPT S (ñèìóëÿòîð) è ïðåíåáðåæèìî ìàëàÿ ôóíêöèÿ ν , òàêèå ÷òî íåðàâåíñòâî |Pr{A[O(M)] = π(M)} − Pr{SM [1size(M) ] = π(M)}| ≤ neg(size(M)) âåðíî äëÿ êàæäîé ÌÒ M èç F è åå îáôóñêàöèè O(M).
    • ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÒî÷å÷íîé íàçûâàåòñÿ ôóíêöèÿ fa : {0, 1}n → {0, 1}, a ∈ {0, 1}n , óäîâëåòâîðÿþùàÿ óñëîâèþ 1, åñëè x = a, fa (x) = 0, åñëè x = a. Ðàññìîòðèì ñåìåéñòâî Fn , ñîñòîÿùåå èç òî÷å÷íûõ ôóíêöèé {fu : u ∈ {0, 1}n } è ôóíêöèè, òîæäåñòâåííî ðàâíîé 0. Íà ýòîì ñåìåéñòâå îïðåäåëåí ïðåäèêàò P(f ) = (f ≡ 0). Òåîðåìà [Çàõàðîâ Â.À., Âàðíîâñêèé Í.Ï., 2003] Åñëè ñóùåñòâóþò îäíîñòîðîííèå ïåðåñòàíîâêè, òî ïðåäèêàò P , îïðåäåëåííûé íà ñåìåéñòâå ïðîãðàìì, âû÷èñëÿþùèõ ôóíêöèè ñåìåéñòâà Fn , èìååò ñòîéêóþ îáôóñêàöèþ.
    • ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄîêàçàòåëüñòâî Íóæíî ñäåëàòü íåîòëè÷èìûìè äðóã îò äðóãà äâå ïðîãðàììû prog π0 ; prog πa ; var x : string y : bit; var x : string y : bit; input (x) ; const a : string; y = 0; output (y); input (x) ; end of prog if x==a then y=1 else y=0; output (y); end of prog
    • ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄîêàçàòåëüñòâî Íóæíî ñäåëàòü íåîòëè÷èìûìè äðóã îò äðóãà äâå ïðîãðàììû prog π0 ; prog πa ; var x : string y : bit; var x : string y : bit; input (x) ; const a : string; y = 0; output (y); input (x) ; end of prog if x==a then y=1 else y=0; output (y); end of prog Íàì ïîíàäîáèòñÿ îäíîñòîðîííÿÿ ïåðåñòàíîâêà ϕ íà ìíîæåñòâå ñòðîê {0, 1}n è ãåíåðàòîð ñëó÷àéíûõ ñòðîê, êîòîðûé ìîæíî ïîñòðîèòü íà îñíîâå îäíîñòðîííåé ïåðåñòàíîâêè.
    • ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u, 2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2. i=1
    • ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u, 2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2. i=1 Äëÿ ïðîãðàììû πa : 1) âûáðàòü ñëó÷àéíóþ ñòðîêó u, n 2) âû÷èñëèòü v = ϕ(a) è σ = 1 + ai ui mod 2. i=1
    • ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÄëÿ ïðîãðàììû π0 : 1) âûáðàòün äâå ñëó÷àéíûå ñòðîêè w , u, 2) âû÷èñëèòü v = ϕ(w ) è σ = wi ui mod 2. i=1 Äëÿ ïðîãðàììû πa : 1) âûáðàòü ñëó÷àéíóþ ñòðîêó u, n 2) âû÷èñëèòü v = ϕ(a) è σ = 1 + ai ui mod 2. i=1 Òîãäà êàæäàÿ èç ïðîãðàìì π0 , πa , ãäå a ∈ {0, 1}n ïðèìåò âèä: prog O(π); var x : string y : bit; const u,v : string, σ : bit; input (x) ; if ϕ(x)==v then n if σ == xi ∗ ui mod 2 then y=0 else y=1 i=1 else y=0; output (y); end of prog
    • ÎÁÔÓÑÊÀÖÈß ÏÐÅÄÈÊÀÒΠÒåîðåìà Ïóñòü O1, O2  îáôóñêàòîðû ôóíêöèîíàëüíûõ ñâîéñòâ π1 , π2 ñîîòâåòñòâåííî, è ïðè ýòîì îáëàñòü çíà÷åíèé îáôóñêàòîðà O2 ñîäåðæèòñÿ â îáëàñòè îïðåäåëåíèÿ îáôóñêàòîðà O1. Òîãäà êîìïîçèöèÿ O = O1O2 ÿâëÿåòñÿ îáôóñêàòîðîì îáîèõ ïðåäèêàòîâ π1 è π2.
    • ÇÀÊËÞ×ÅÍÈÅ Íóæíî ïðîäîëæàòü ýòîò ñïèñîê îïðåäåëåíèé, ôîðìóëèðóÿ âñå áîëåå è áîëåå ñëàáûå òðåáîâàíèÿ ñòîéêîñòè, ïðèãîäíûå äëÿ ðåøåíèÿ äðóãèõ ïðèëîæåíèé îáôóñêàöèè.
    • ÇÀÊËÞ×ÅÍÈÅ Íóæíî ïðîäîëæàòü ýòîò ñïèñîê îïðåäåëåíèé, ôîðìóëèðóÿ âñå áîëåå è áîëåå ñëàáûå òðåáîâàíèÿ ñòîéêîñòè, ïðèãîäíûå äëÿ ðåøåíèÿ äðóãèõ ïðèëîæåíèé îáôóñêàöèè. Íóæíî àêòèâíåå ïðèâëåêàòü äëÿ îáôóñêàöèè äîñòèæåíèÿ êðèïòîãðàôèè è òåîðèè ñëîæíîñòè  ñèñòåìû ãîìîìîðôíîãî øèôðîâàíèÿ, òðóäíîðåøàåìûå çàäà÷è.
    • ÄÎÑÒÈÆÅÍÈß ÏÎÑËÅÄÍÈÕ ËÅÒ Â èþëå 2013 ã. áûëà îïóáëèêîâàíà ñòàòüÿ Candidate Indistinguishability Obfuscation and Functional Encryption for All Circuits S. Garg, C. Gentry, S. Halevi, M. Raykova, A. Sahai, B. Waters â êîòîðîé àâòîðû ïîêàçàëè, ÷òî âåðíà Òåîðåìà [S. Carg, C. Gentry, et al, 2013] Íåîòëè÷èìàÿ îáôóñêàöèÿ âîçìîæíà äëÿ ïðîèçâîëüíûõ ïðîãðàìì (ïðè íåêîòîðûõ ïðåäïîëîæåíèÿõ î òðóäíîñòè ðåøåíèÿ çàäà÷ òåîðèè ãðóïï)
    • ÄÎÑÒÈÆÅÍÈß ÏÎÑËÅÄÍÈÕ ËÅÒ 30 ñåíòÿáðÿ 2013 ã. áûëà îïóáëèêîâàíà ñòàòüÿ Virtual Black-Box Obfuscation for All Circuits via Generic Graded Encoding. Zvika Brakerski, Guy N. Rothblum We present a new general-purpose obfuscator for all polynomial-size circuits. The obfuscator uses graded encoding schemes, a generalization of multilinear maps. We prove that the obfuscator exposes no more information than the program's black-box functionality, and achieves virtual black-box security, in the generic graded encoded scheme model.
    • Áëàãîäàðþ çà âíèìàíèå Âàøè âîïðîñû?