`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Леонид Бараш

Ученые разработали «математический пазл» для кодирования ПО

+33
голоса

Проф. Амит Сахай (Amit Sahai) из Калифорнийского университета (UCLA) и команда исследователей разработали систему для шифрования ПО так, чтобы она позволяла использовать программу только по назначению, не допуская расшифровки кода. Это известно в информатике как «запутывание ПО» и было сделано впервые.

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

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

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

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

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

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

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

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

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

Ученые разработали «математический пазл» для кодирования ПО

Концептуальна иллюстрация математической головоломки

+33
голоса

Напечатать Отправить другу

Читайте также

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

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

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT