Атака с использованием флеш-кредита (Flash Loan Attack)
Кратко: Атака с использованием флеш-кредита (flash loan attack) происходит, когда злоумышленники эксплуатируют уязвимости смарт-контрактов с помощью флеш-кредита…
Атака с использованием флеш-кредита (flash loan attack) происходит, когда злоумышленники эксплуатируют уязвимости смарт-контрактов с помощью флеш-кредита — займа, который берётся и возвращается в рамках одной транзакции в блокчейне без какого-либо залога.
Почему это важно
Сами по себе флеш-кредиты — легитимный инструмент DeFi. Заём должен быть возвращён до завершения транзакции, а если этого не происходит, вся транзакция откатывается, поэтому кредитор почти ничем не рискует. Флеш-кредиты используются для арбитража и для перемещения залога между протоколами. Однако та же особенность даёт любому кратковременный доступ к очень крупному капиталу. Уязвимостью, для эксплуатации которой в иных условиях понадобился бы состоятельный злоумышленник, может воспользоваться любой, кто её заметит. Частая цель — протокол, который берёт цены из одного небольшого пула ликвидности, где одна крупная сделка может на мгновение резко сдвинуть цену. Протоколы защищаются с помощью надёжных ценовых оракулов, например средних цен, взвешенных по времени, или нескольких независимых источников, а также с помощью аудита кода и ограничений на то, насколько сильно что-либо может измениться в рамках одной транзакции.
Пример
В рамках одной транзакции злоумышленник берёт крупную сумму через флеш-кредит и покупает на неё токен в небольшом пуле, поднимая цену в этом пуле. Затем он вносит ставший «дорогим» токен в качестве залога в кредитный протокол, который доверяет цене этого пула, и занимает больше, чем на самом деле стоит залог. Он возвращает флеш-кредит и оставляет разницу себе, а кредитный протокол несёт убыток.