Logo
Share this article

Тривала помилка DeFi Dapp досі не виправлена ​​галуззю (оновлено)

ZenGo відновлює дискусію щодо особистої відповідальності та захисту користувачів після виявлення експлойту, який може виснажувати всі кошти користувачів з гаманців.

DeFi має відкриту проблему безпеки. Команда дизайнерів продуктів для ZenGo, компанії, що займається розробкою гаманців, знайшла експлойт, який може витягувати кошти користувачів майже з усіх гаманців для програм. Хоча про недолік безпеки відомо вже два роки, Уріель Огайон, генеральний директор ZenGo, б’є на сполох, стверджуючи, що недолік створює ризик для користувачів, який не було повністю усунено.

Story continues
Don't miss another story.Subscribe to the The Protocol Newsletter today. See all newsletters

Питання безпеки, під назвою BaDApprove, це не помилка коду, а проблема з тим, як гаманці взаємодіють із користувачами та встановлюють дозволи на транзакції за замовчуванням.

Досліджуючи низку відомих гаманців, включаючи Metamask, Opera та imToken, Ohayon виявив, що коли користувачі схвалюють певну транзакцію, вони також часто за замовчуванням схвалюють усі майбутні транзакції. Це відкриває двері для зловмисних децентралізованих програм, які можуть взаємодіяти з коштами користувачів без їх відома чи згоди, можливо, викрадаючи весь ефіру (ETH) холдингів.

Дивіться також: Як додатки Ethereum отримують рейтинг безпеки A+

Помилка добре задокументована, хоча скарга Огайона знову розпалює насіннєвий конфлікт у Крипто: чи повинні Крипто робити все можливе, щоб захистити користувачів, чи власники Крипто повинні взяти на себе повну відповідальність за свої цифрові активи?

Команда ZenGo створила демонстрацію dapp, щоб попередити користувачів про цей потенційний експлойт. На відео показаний користувач, який надсилає кілька FRT (валюта тестової мережі) до «програми для обміну шахраями» та дозволяє їй знімати зазначені токени та автоматизувати транзакції. Потім додаток BaDApprove списує весь баланс користувача.

Гаманці повинні показувати цю інформацію користувачам на передньому плані та отримувати сповіщення, якщо вважають, що відбувається щось неоднозначне.

«Це все одно, що сказати: «здійснюючи цей банківський переказ, ви погоджуєтеся, що одержувач отримає повний доступ до вашого банківського рахунку», — сказав Огайон у Telegram. Ситуація ускладнюється тим фактом, що багато гаманців не повідомляють своїм користувачам ці дозволи стоять, навіть якщо користувачі припиняють використовувати dapp.

З CoinDesk зв’язався Санні Аггарвал, науковий співробітник Tendermint і Cosmos, запустив моделювання та також побачив наслідки.

«Програми Ethereum , якщо вони хочуть взаємодіяти з вашими токенами ERC20, спершу повинні запитати схвалення, щоб отримати дозвіл на перехід до певної кількості з них», — сказав Аггарвал у прямому повідомленні. «Тут сталося те, що dapp попросив схвалити надзвичайно велику кількість токенів, [не показуючи], скільки схвалено».

Аггарвал використовував популярний гаманець Metamask, який, за його словами, показував суму транзакції лише після того, як він натиснув «Показати більше деталей». «І навіть тоді ви побачите, що воно відображається як 1,1579…………e+59», або в науковій нотації, «що надто легко, щоб хтось неправильно прочитав і випадково подумав, що це схвалення як ~1,15 токенів».

Гаманець Metamask
Гаманець Metamask

«Це провал гаманців», — сказав він. «Гаманці повинні показувати цю інформацію користувачам у центрі й отримувати сповіщення, якщо вважають, що відбувається щось неоднозначне».

Відома проблема

Те, на що звернули увагу Ohayon і ZenGo, було відомою проблемою спільноти DeFi (децентралізовані Фінанси) протягом багатьох років. Більше питання полягає в тому, чому це T було виправлено. Для деяких у світі програмних додатків відповідь така: це T стільки недолік чи помилка, скільки погана функція.

У вересні 2018 року Джордан Рендолф, представник децентралізованої біржі Ethex, окреслив проблему в дописі Medium. Одноразові дозволи на переміщення «майже нескінченної кількості токенів … можуть бути зручними», – написав він. «Однак наявність майже нескінченної кількості схвалених токенів означає, що всі [ваші] токени доступні для передачі за допомогою смарт-контракту».

За його словами, попередні налаштування гаманця зводяться до вибору між зручністю та безпекою. Рендолф не відповів на Request про коментар.

Дивіться також: Погляди: Завдяки Better UX цього року Dapps стануть масовими

«Програми Dapp, які пропонують лише ONE опцію – затвердження величезної кількості токенів – містять фатальну помилку безпеки».

За останні кілька тижнів ZenGo порушив проблему з низкою відомих гаманців, часто отримавши відмову.

"Ця проблема є відомим ризиком і вимагає взаємодії з користувачем. Ми вже чітко сповістили користувача, коли він входить у сторонній додаток. Але ми все одно дякуємо вам за ваш звіт", - сказав представник imToken Тал Бе'ері, співзасновник ZenGo, у Twitter.

Бен Хе, генеральний директор imToken, сказав CoinDesk: «Це не експлойт безпеки, це погана умова для всієї екосистеми Ethereum , що більшість програм dapps/DeFi Request від користувачів необмежених дозволів».

Щоб вирішити цю проблему, браузер imToken dapp має два спливаючі моди, сказав він. ONE – це коли користувач вперше відвідує URL-адресу dapp, а другий з’являється спливаюче вікно із запитом згоди користувача перед транзакцією.

Уріель Огайон, генеральний директор ZenGo
Уріель Огайон, генеральний директор ZenGo

«Важливо, щоб користувач підписував транзакції обережно, і ми бачимо, що це правильне та дружнє нагадування для спільноти», — сказав він, додавши, що компанія «відшліфовує наш інтерфейс користувача (інтерфейс користувача), щоб пом’якшити занепокоєння».

Metamask надав подібну відповідь на запитання щодо необмежених дозволів. "Насправді це безпечна функція, якою користувачі регулярно користуються відповідально. Це не якась помилка чи проблема", - сказав представник служби підтримки MetaMask.

«Стандарт ERC-20 не є внутрішньою проблемою, але [T] має фундаментальне значення для того, щоб дозволити смарт-контрактам взаємодіяти з токенами», — сказав він.

Фірма була активною у додаванні заходів безпеки, таких як спливаючі повідомлення, які просять підтвердження для надсилання коштів і дозволяють користувачам коригувати затверджену суму в розширених налаштуваннях.

Дивіться також: США повинні використовувати стейблкойни для екстрених платежів через коронавірус

Крім того, за словами представника, у Metamask є «плани надати користувачам ще більше контролю», наприклад, функції, що полегшують скасування цього дозволу.

Ohayon також зазначив, що Brave і Coinbase відображають «значуще попередження», хоча це не усуває ризик того, що зловмисники можуть використовувати користувачів dapp.

«Деякі компроміси в безпеці, які могли бути прийнятними в епоху, коли користувачів було мало і були дуже технічні, неприйнятні, коли DeFi стає мейнстрімом, залучаючи багатьох нетехнічних користувачів і обробляючи Крипто на мільярди (доларів США)», — написав у блозі Алекс Манускін, дослідник ZenGo.

Він вважає, що якщо Крипто коли-небудь стане мейнстрімом, потрібно буде ввести належні гарантії, щоб уникнути експлуатації нових користувачів.

Подібне питання було піднято два тижні тому після спалаху Крипто , коли питання про торгівлю “автоматичні вимикачіДля багатьох ці запобіжні заходи суперечать Крипто децентралізації та особистої автономії.

ОНОВЛЕННЯ: у відповідь на дослідження ZenGo представник imToken Філіп Сейферт зв’язався з нами, щоб повідомити, що фірма додасть push-повідомлення для транзакцій і спосіб редагування дозволів.

«Хоча це T заважає користувачам встановлювати необмежені дозволи, ми впевнені, що це допомагає приймати обґрунтовані рішення», — йдеться в повідомленні. Середня публікація imToken.

Daniel Kuhn

Деніел Кун був заступником керуючого редактора Consensus Magazine, де він допомагав створювати щомісячні редакційні пакети та розділ Погляди . Він також писав щоденний виклад новин і колонку двічі на тиждень для інформаційного бюлетеня The Node. Він вперше з'явився у друкованому вигляді в журналі Financial Planning, професійному виданні. До журналістики він вивчав філософію на бакалавраті, англійську літературу в аспірантурі та ділову та економічну звітність на професійній програмі Нью-Йоркського університету. Ви можете зв’язатися з ним у Twitter і Telegram @danielgkuhn або знайти його на Urbit як ~dorrys-lonreb.

Daniel Kuhn