Технология обнаружения уязвимостей в технологии блокчейн (смарт-контрактах)

Продукт
Название базовой системы (платформы): Проекты на базе блокчейн-технологии
Разработчики: Fujitsu
Дата последнего релиза: март 2018 года

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

С помощью Ethereum, единой платформы для блокчейн-приложений, смарт-контракты объединяются в 6 категорий. В ходе идентификации начального вызова к исполнению транзакции с помощью непрямых вызов через несколько смарт-контрактов возникали изменения данных о начальном вызове транзакции из-за определенных особенностей платформы Ethereum. Это свойство системы можно использовать для обхода процедуры аутентификации. Предыдущие разработки не позволяли обнаруживать подобного рода риски, т.к. они не могли отследить внутреннюю информацию блокчейн-платформы о транзакции.

Риски при генерации и исполнении смарт-контрактов напрямую связаны с убытками компаний, использующих блокчейн Ethereum. Поэтому специалисты Fujitsu разработали специальные алгоритмы для определения подвергающихся рискам последовательностей транзакций в Ethereum. Для защиты используется технология символьного выполнения (Технология для комплексного изучения работы программы в соответствии с каждой возможной переменной значения). С помощью особых алгоритмов разработка Fujitsu может обнаруживать риски, которые могут быть пропущены при проверке корректности смарт-контрактов всех 6 категорий в ручном режиме, и определять соответствующие места в их исходном коде.

Особенности технологии Fujitsu:

1. Обнаружение рисков в смарт-контрактах с помощью технологии символьного выполнения. Специалисты Fujitsu создали алгоритм, исключающий риск того, что кто-то воспользуется языковыми спецификациями платформы Ethereum для фальсификации происхождения вызова транзакции. Таким образом блокируется возможность ложного виртуального исполнения транзакций при помощи технологии символьного выполнения.

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

Компании-разработчики установили, что ранее используемые инструменты проверки (проверка выполнялась с использованием Oyente, инструмента анализа смарт-контрактов для платформы Ethereum) обнаруживают только порядка 67% рисков, тогда как новая технология Fujitsu обнаруживает до 100% (за исключением отдельных случаев). Показатели точности обнаружения уязвимостей достигают 88%, что гарантирует защиту от всех типов уязвимостей и выявление их точного положения в исходном коде.

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

Компания Fujitsu продолжит разработку технологий проверки надежности смарт-контрактов не только на базе платформы Ethereum, но и для проектов Hyperledger Fabric4 и Hyperledger, реализуемых некоммерческим консорциумом Linux Foundation.