«Белоснежные хакеры» предупредили кражу 25 000 ETH из смарт-контракта Lien Finance

Создатель Victoria Grain «Белоснежный взломщик» под псевдонимом samczsun нашел уязвимость в смарт-контракте Lien Finance на блокчейне Эфириума, предотвратив кражу 25 000 ETH (около $10 млн).  

Samczsun нашел уязвимость 15 сентября, занимаясь поиском багов в смарт-контрактах Эфириума. «Взломщик» случаем отыскал договор протокола Lien Finance, в каком содержалось выше 25 000 ETH. samczsun узнал, что вывести монеты из этого смарт-контракта мог хоть какой желающий. В нем была функция «сжигания», при помощи которой юзеры могли без помощи других выпускать токены, не имеющие ценности, и обменивать их на эфиры, хранящиеся в смарт-контракте.

Беря во внимание анонимность команды Lien Finance, исследователь сказал о дилемме Александру Уэйду (Alexander Wade) — спецу по кибербезопасности ConsenSys, работающей над развитием экосистемы Эфириума, также связался со спецом по сохранности Эфириума Скоттом Бигелоу (Scott Bigelow). Они начали находить решение задачи, рассматривая несколько вариантов развития событий. 

Команда Lien Finance могла раскрыть информацию о уязвимости, но в таком случае злоумышленники пользовались бы данной для нас возможностью. Возвращать монеты прежним держателям тоже было опасно, потому что «боты-хищники» могли бы присвоить их, выполнив такие же операции, используя мемпул Эфириума «Ethereum’s Dark Forest».

Мемпул представляет собой промежную зону, в какой накапливаются транзакции, ожидающие доказательства майнеров, чтоб быть включенными в последующий блок. Эта зона повсевременно «патрулируется ботами-хищниками», которые могли бы автоматом скопировать транзакции в мемпул, поменять их адреса на собственные и «подсунуть» дублированные операции майнерам. Потому прямой вывод криптоактивов из смарт-контракта Lien Finance привел бы к краже 25 000 ETH этими ботами в считанные секунды.

Исследователи подключили к решению исследовательницу блокчейна Тину Чжень (Tina Zhen), также аудиторскую компанию CertiK и майнинговый пул SparkPool. Совместными усилиями они разработали особый API, при помощи которого майнеры могли принимать транзакции без их раскрытия в мемпуле. Не считая того, с целью «спасения» 25 000 ETH спецы подготовили скрипт для сотворения 4 подписанных транзакций. Но эти меры все таки не предполагали прямой вывод монет. В Lien Finance требовалось перевести 30 000 токенов SBT и LBT, которые доступны для выпуска в огромном количестве, и преобразовать их в ETH через функцию сжигания.

В итоге операция по спасению эфиров была выполнена удачно при сотрудничестве с майнинговым пулом, что позволило избежать отправки транзакций в мемпул и их столкновения с ботами. Транзакции были расположены в блоке самими майнерами. Команде Lien Finance оставалось только поменять токены SBT и LBT на ETH, используя функцию сжигания. Через некое время в обозревателе блокчейна Эфириума Etherscan подтвердилось успешное проведение операции.

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

Источник

Author: Zero