Девять нод Chainlink, которые играют важную роль в обеспечении работы протоколов децентрализованных финансов (DeFi), предоставляя данные о ценах на токены, 30 августа подверглись атаке, в результате которой из их кошельков было потрачено около 700 ETH (на тот момент около $335 000). Об этом сообщает The Block.
Злоумышленник начал отправлять запросы на предоставление данных о ценах, в результате чего операторам приходилось платить большие комиссии за транзакции в сети эфириума.
Компания Certus One, оператор ноды Chainlink, предоставила подробную информацию об атаке. Генеральный директор компании Хендрик Хофштадт сказал, что атака затронула как минимум девять нод Chainlink. Он добавил, что Certus One потеряла 20 ETH.
Chainlink подтвердила атаку, но не сообщила о том, сколько ETH было потрачено и сколько нод было атаковано. По словам представителя Chainlink, в воскресенье была «короткая попытка спама», которая длилась «около двух часов». «Эта атака требовала от нод Chainlink траты дополнительных ETH, но сеть должным образом отразила эту попытку спама», ― добавил он.
Спам-запросы часто требуют, чтобы сети изначально тратили «немного больше» ресурсов, пока они не будут идентифицированы как спам. Представитель назвал атаку «неудачной попыткой» спама, которая «не оказала значимого влияния на сеть или потоки данных».
«Провальная попытка спама в сети является свидетельством того, насколько устойчивой стала Chainlink», ― заключил представитель.
Атака
Оракулы Chainlink передают данные в смарт-контракты через операторов нод. Это связано с тем, что смарт-контракты по своей природе не могут взаимодействовать с внешними системами. Операторы нод получают вознаграждение за свою работу. Chainlink платит им своим нативным токеном LINK.
Злоумышленник смог успешно выполнить атаку, используя газ операторов для выпуска токенов Chi, которые создаются агрегатором децентрализованных бирж 1inch.
Chi ― это токенизированная форма газа, которая помогает застраховаться от неустойчивых комиссий в сети эфириума. По словам Хофштадта, это «самый ликвидный» токен газа, который имеет «довольно высокую ликвидность на Mooniswap [протокол автоматического маркетмейкера 1inch], поэтому злоумышленник, вероятно, решил выбрать именно его».
Как только злоумышленник отправляет запрос на цену, нода отвечает. Таким образом, оператор тратит «много газа и [злоумышленник] в конечном итоге сумел заработать на части этого газа», ― сказал Хофштадт.
Цены на газ в эфириуме выражены в gwei. Злоумышленник воспользовался высокими комиссиями в сети, увеличив стоимость газа для оракулов, а затем выпустил токены Chi на этих высоких уровнях. Эти токены обычно используются для покрытия высоких цен газа, но злоумышленник продал их за ETH. Затем он использовал эфириум-миксер Tornado Cash, чтобы скрыть свои ETH-транзакции.
Затронутые операторы нод Chainlink: T-Systems (дочерняя компания Deutsche Telekom), 01Node, Anyblock Analytics, B-Harvest, ChainLayer, Everstake, Figment Networks, LinkPool и сама Chainlink. «Мы предполагаем, что они просто взяли список нод в алфавитном порядке», ― сказал Хофштадт. Кроме того, у этих операторов на кошельках было больше 50 ETH, поэтому они считались «более прибыльными целями для атаки». Операторы небольших нод имеют на балансах всего около 2-3 ETH.
Влияние
Поскольку операторы нод потратили свои балансы ETH, они не могли выполнять запросы на данные во время атаки, которая длилась около двух часов. Когда нода «потрачена», она больше не может оплачивать транзакции и, следовательно, не может отвечать на запросы и передавать данные в блокчейн.
В целом, по словам Хофштадта, атака не оказала «какого-либо реального воздействия» на сеть Chainlink, потому что незатронутые операторы нод могли продолжать передавать данные. Например, данные о цене ETH/USD предоставляют около 25 или 28 операторов. Поэтому, когда девять нод вышли из строя, остальных было «достаточно для обновления этих данных».
По словам Хофштадта, пока операторы не осознали, что это была атака, большинство из них продолжали пополнять свои балансы. «Моя команда заметила странный паттерн выпуска токена газа, и поэтому мы немедленно сообщили об этом команде Chainlink», ― сказал Хофштадт. «В течение примерно получаса-часа мы были приняли решение о том, что нам лучше перейти на белые списки».
В белом списке операторы нод ранжируют наиболее ценные запросы данных, поступающие от наиболее активных DeFi-протоколов, таких как Aave и Synthetix, и выполняют только их запросы. Однако белый список ― это временное решение. В более долгосрочной перспективе Chainlink необходимо будет внести изменения в систему для лучшего взаимодействия с реальными потребителями данных.
Высокая плата за газ является проблемой для операторов нод Chainlink. Хофштадт сказал, что у Certus One были дни, когда компания терпела «убытки в несколько тысяч долларов». Он считает, что эксплойт не был бы «прибыльным» для злоумышленника при нормальных обстоятельствах.
«Атакующий на самом деле был бы убыточным до тех пор, пока достаточное количество запросов не привело бы к флуду ответов от оракулов, что, в свою очередь, подняло бы цены на газ до точки, когда это могло бы стать прибыльным», ― сказал Хофштадт. Он признал, что рост цены газа стал «главным фактором» для атаки.