Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Код, который почти невозможно взломать

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

Само собой, разработчики подобных программ не хотят, чтобы посторонние люди имели возможность изучить их код и раскрыть содержащиеся в нем секретные формулы. Исследователи из Калифорнийского университета, IBM и Техасского университета в Остине не оставляют попыток избавиться от этой угрозы.

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

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

Согласно схеме запутывания, компилятор сперва переводит код в некую промежуточную форму; затем запутывающий компилятор превращает его в кусочки «математической головоломки», как ее называют ученые из Калифорнийского университета в Лос-Анджелесе.

Специальный верификатор, написанный с помощью машинного кода, пытается собрать все эти кусочки — представляющие собой последовательности случайных чисел — а так же входные данные, в единую систему. Если они «складываются», то собранная «головоломка» сообщит процессору последовательность действий, которая приведет к правильному ответу.

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

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

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

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

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

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

Автор: Скитович Алёна Сергеевна, специально для xBB.uz, 05.11.2014


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2014-11-05 07:06:03

Метки материала: код, шифрование запутыванием, программы, шифрование программного кода, алгоритмы, исходный код, шифрование, программный код

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.