Кавасаки и Пекин, 14 марта 2018 года – Компания Fujitsu объявила о создании технологии, которая в проактивном режиме способна обнаруживать уязвимости в смарт-контрактах, а также в программах, выполняющих транзакции на основе блокчейн-платформ. Новая разработка автоматически определяет подозрительные места в исходном коде смарт-контракта.
Технология блокчейн гарантирует, что данные не будут изменены в процессе передачи. Поэтому она может найти применение не только в сфере финансов, но и в других областях, включая недвижимость и здравоохранение. Блокчейн предлагает особые функции, которые получили название смарт-контракты.. Смарт-контракты автоматически создаются в системе, копируются в разные хранилища и исполняются с помощью распределенных вычислений. Поэтому после исполнения смарт-контракта его нельзя исправить, даже если позже в нем обнаружатся уязвимости.
С помощью Ethereum, единой платформы для блокчейн-приложений, смарт-контракты объединяются в 6 категорий. В ходе идентификации начального вызова к исполнению транзакции с помощью непрямых вызов через несколько смарт-контрактов возникали изменения данных о начальном вызове транзакции из-за определенных особенностей платформы Ethereum. Это свойство системы можно использовать для обхода процедуры аутентификации. Предыдущие разработки не позволяли обнаруживать подобного рода риски, т.к. они не могли отследить внутреннюю информацию блокчейн-платформы о транзакции.
Риски при генерации и исполнении смарт-контрактов напрямую связаны с убытками компаний, использующих блокчейн Ethereum. Поэтому специалисты Fujitsu разработали специальные алгоритмы для определения подвергающихся рискам последовательностей транзакций в Ethereum. Для защиты используется технология символьного выполнения. С помощью особых алгоритмов разработка Fujitsu может обнаруживать риски, которые могут быть пропущены при проверке корректности смарт-контрактов всех 6 категорий в ручном режиме, и определять соответствующие места в их исходном коде.
Особенности технологии Fujitsu:
1. Обнаружение рисков в смарт-контрактах с помощью технологии символьного выполнения
Специалисты Fujitsu создали алгоритм, исключающий риск того, что кто-то воспользуется языковыми спецификациями платформы Ethereum для фальсификации происхождения вызова транзакции. Таким образом блокируется возможность ложного виртуального исполнения транзакций при помощи технологии символьного выполнения.
2. Технология точного обнаружения уязвимых мест в исходном коде для обнаруженных рисков
Данная технология с высокой точностью определяет, к какой части исходного кода относится обнаруженная уязвимость смарт-контракта. Она позволяет осуществлять символьное выполнение за счет удаления неиспользуемых команд.
Компании-разработчики установили, что ранее используемые инструменты проверки обнаруживают только порядка 67% рисков, тогда как новая технология Fujitsu обнаруживает до 100% (за исключением отдельных случаев). Показатели точности обнаружения уязвимостей достигают 88%, что гарантирует защиту от всех типов уязвимостей и выявление их точного положения в исходном коде.
Новая технология улучшит эффективность разработки новых типов смарт-контрактов. Совместно с технологией обнаружения расположения рисков, она будет способствовать значительному уменьшению объема работ по анализу спецификации, оценке и исправлению кода.
Компания Fujitsu продолжит разработку технологий проверки надежности смарт-контрактов не только на базе платформы Ethereum, но и для проектов Hyperledger Fabric и Hyperledger, реализуемых некоммерческим консорциумом Linux Foundation.
Источник: http://www3.ru.ts.fujitsu.com/news/14-03-2018/