Компания Fujitsu объявила о создании технологии, которая в проактивном режиме способна обнаруживать уязвимости в смарт-контрактах.
Технология блокчейн гарантирует, что данные не будут изменены в процессе передачи. Поэтому она может найти применение не только в сфере финансов, но и в других областях, включая недвижимость и здравоохранение. Блокчейн предлагает особые функции, которые получили название смарт-контракты. Смарт-контракты автоматически создаются в системе, копируются в разные хранилища и исполняются с помощью распределенных вычислений. Поэтому после исполнения смарт-контракта его нельзя исправить, даже если позже в нем обнаружатся уязвимости.
С помощью Ethereum, единой платформы для блокчейн-приложений, смарт-контракты объединяются в шесть категорий. В ходе идентификации начального вызова к исполнению транзакции с помощью непрямых вызов через несколько смарт-контрактов возникали изменения данных о начальном вызове транзакции из-за определенных особенностей платформы Ethereum. Это свойство системы можно использовать для обхода процедуры аутентификации. Предыдущие разработки не позволяли обнаруживать подобного рода риски, т. к. они не могли отследить внутреннюю информацию блокчейн-платформы о транзакции.
Риски при генерации и исполнении смарт-контрактов напрямую связаны с убытками компаний, использующих блокчейн Ethereum. Поэтому специалисты Fujitsu разработали специальные алгоритмы для определения подвергающихся рискам последовательностей транзакций в Ethereum. Для защиты используется технология символьного выполнения. С помощью особых алгоритмов разработка Fujitsu может обнаруживать риски, которые могут быть пропущены при проверке корректности смарт-контрактов всех 6 категорий в ручном режиме, и определять соответствующие места в их исходном коде.
В Fujitsu создали алгоритм, исключающий риск того, что кто-то воспользуется языковыми спецификациями Ethereum для фальсификации происхождения вызова транзакции. Таким образом блокируется возможность ложного виртуального исполнения транзакций при помощи технологии символьного выполнения.
Данная технология с высокой точностью определяет, к какой части исходного кода относится обнаруженная уязвимость смарт-контракта. Она позволяет осуществлять символьное выполнение за счет удаления неиспользуемых команд.
Компании-разработчики установили, что ранее используемые инструменты проверки обнаруживают только порядка 67% рисков, тогда как новая технология Fujitsu обнаруживает до 100% (за исключением отдельных случаев). Показатели точности обнаружения уязвимостей достигают 88%, что гарантирует защиту от всех типов уязвимостей и выявление их точного положения в исходном коде.
Компания Fujitsu продолжит разработку технологий проверки надежности смарт-контрактов не только на базе платформы Ethereum, но и для проектов Hyperledger Fabric и Hyperledger, реализуемых некоммерческим консорциумом Linux Foundation.