- Повернутися до менюЦіни
- Повернутися до менюдослідження
- Повернутися до менюКонсенсус
- Повернутися до менюСпонсорський матеріал
- Повернутися до меню
- Повернутися до меню
- Повернутися до меню
- Повернутися до менюВебінари та Заходи
Як додатки Ethereum отримують рейтинг безпеки A+
Понад 1,2 мільйона програм Ethereum використовували маловідомий інструмент безпеки від Amberdata, щоб уникнути дорогих помилок від смарт-контрактів.
Понад 1,2 мільйона додатків Ethereum використовували маловідомий інструмент безпеки, щоб допомогти їм уникнути дорогих помилок, які виникають через самовиконувані рядки коду, відомі як смарт-контракти.
Безкоштовний інструмент , Технології Ethereum Amberdata в жовтні, доступний для будь-кого в широкій громадськості для інтерпретації безпеки активних програм у блокчейні Ethereum . Розумні контракти з помилками, які були використані, призвели до величезних втрат, навіть у розмірісотні мільйонів.
Автоматизована служба сканує типові вразливості в коді смарт-контракту та генерує літерний рейтинг (наприклад, A, B або C) для безпеки децентралізованої програми (dapp).
Ця функція є ONE із багатьох інструментів, які заохочують передовий досвід і підвищують прозорість між розробниками dapp і кінцевими користувачами в екосистемі Ethereum .
Більше того, це функція, яка вже досить давно існує в широкому веб-просторі. Браузер DuckDuckGo, який піклується про конфіденційність, нещодавно запустив розширення для веб-переглядача Chrome, яке використовується для оцінювання веб-сайтів (а не програмних додатків) літерною оцінкою, надаючи користувачам легке уявлення про те, наскільки добре чи погано адміністратори служби захищають Політика конфіденційності користувачів.
«Наше бачення — підвищити рівень довіри в Інтернеті», — пише DuckDuckGo в a публікація в блозі з січня 2017 року.
Подібним чином бачення інструменту оцінки безпеки Amberdata, як підкреслив генеральний директор Amberdata Шон Дуглас у прес-релізі, полягає в тому, щоб забезпечити «ширший доступ і покращену видимість смарт-контрактів».
Він додав:
«Ми сподіваємося, що, надаючи ці інструменти спільноті, ми зможемо зменшити зовнішню залежність і дати змогу спільноті розвиватися швидше та безпечніше».
Оцінки
Але як саме ці програми на Ethereum оцінюються на Amberdata?
Вказуючи на 13 типів уразливостей, які автоматично скануються програмою, технічний директор Amberdata Джоанес Еспаньол порівняв кожну з них із «індикаторами двигуна на приладовій панелі [автомобіля]».
«Це просто означає, що мені потрібно перевірити, що відбувається з автомобілем. Будь-яке з них може призвести до помилки безпеки», — пояснив Еспаньол CoinDesk.
І що більше помилок безпеки буде виявлено скануванням безпеки Amberdata, то нижчу оцінку алфавіту отримає програма. Ці оцінки варіюються від A+ до F.
Але вони T залежать строго від кількості помилок безпеки. Еспаньол пояснює, що кожна з 13 уразливостей має різний ступінь серйозності, що вплине на остаточну оцінку програми. Дві поширені вразливості низького рівня серйозності, відмічені Espanol, включають «делегування виклику на адресу, надану користувачем» і «виклик повідомлення до зовнішнього контракту».
Останнє може становити потенційну загрозу безпеці, якщо dapp, замість того, щоб бути самодостатнім в ONE смарт-контракті, викликає додаткові контракти, що містять помилковий код.
Подібним чином, виклик делегата — це ще одна операція, яка зазвичай використовується для поділу коду смарт-контракту на кілька субконтрактів, щоб будь-які необхідні оновлення програмного забезпечення можна було виконувати по частинах без припинення роботи всієї програми.
"Це хороша частина викликів делегатів. Але погана частина полягає в тому, що тепер, як власник контракту, я можу почати робити погані речі. Тож я можу почати замінювати контракти, які змінюють поведінку оригінальної [програми]", - пояснив Еспаньол.
Таким чином, в обох випадках Espanol описав перевірку безпеки як надсилання «попереджень», а не вказівку на помилки коду.
Дійсно, ONE із таких додатків, який наразі використовує виклик повідомлень і раніше розгортав оновлення смарт-контракту за допомогою виклику делегату ще в січні, є TrueUSD. Створений блокчейн-стартапом TrustToken, стейблкойн, що підтримується доларами США, на Ethereum наразі займає Літерний клас C.
Хоча це звучить не T добре, дивлячись на вразливості, позначені для TrueUSD, інженер безпеки TrustToken Вільям Морріс сказав CoinDesk у попередньому інтерв’ю, що всі виявлені проблеми насправді не є «критичними».
«Уразливості, про які повідомляється, не є способами, за допомогою яких ми можемо бути атаковані... Ми знаємо про них, і коли люди повідомляють нам про вразливості, ми ставимося до них дуже серйозно», — сказав Морріс.
Уточнюючи питання дзвінків із повідомленнями, Моррісс додав, що для TrueUSD усі зовнішні контракти належать і управляються самими компаніями, а не третіми сторонами з потенційно нижчими стандартами безпеки.
Як отримати A+
Помилки «високого» ступеня тяжкості сильніше вдарять по рейтингу безпеки програми, оскільки вони вказують на більший потенціал помилок коду та використання.
ONE із найпоширеніших із них, «переповнення цілих чисел», вказує на те, що операції, що виконуються в рамках смарт-контракту, можуть генерувати значення, що перевищують обмеження коду, що призводить до дивної, непередбачуваної поведінки, яка, у гіршому випадку, може призвести до втрати коштів.
Зворотною стороною є «заниження цілого числа», ще одна вразливість «високого» ступеня серйозності, через яку може статися навпаки, і значення нижче визначеного діапазону також спричинить помилковий вихід.
У Solidity також є деякі функції, яких слід уникати розробникам прикладних додатків відповідно до системи оцінювання Amberdata, зокрема «suicide()» і «tx.origin». Останній описується Espanol як «застарілий код», який може бути повністю видалено з мови Solidity в майбутньому, тоді як перший створює ризик бути захопленим сторонніми сторонами для заморожування коштів користувачів, що вони ніколи не зможуть повернути.
Оскільки він T має жодної з цих чотирьох вразливостей, то ганебно популярний Ethereum dapp CryptoKitties наразі має A+ рейтинг безпеки на Amberdata. Розробник програмного забезпечення CryptoKitties Фабіано Соріані пояснює це «впровадженням якомога більшої кількості тестів».
Додавши, що «пасивних ресурсів», таких як письмова документація та відеоінструкції з розробки dapp, недостатньо для створення безпечних програм на Ethereum, Соріані сказав CoinDesk:
"Коли хтось проводить аудит, вони вказують Для вас на речі. Це дуже хороший додатковий ресурс [до пасивних ресурсів], оскільки розробники з більш традиційного середовища T знайомі з блокчейном".
«Це новий набір проблем»
Дійсно, коли справа доходить до створення dapps, важливість герметичного, непроникного коду неможливо недооцінити. CORE аргументація для цього двояка.
По-перше, на відміну від традиційних додатків, dapps, як правило, є комп’ютерними програмами з відкритим вихідним кодом, і, як пояснює Моррісс, «підвищений рівень обережності» потрібен під час запуску коду, який є «загальнодоступним».
«Якщо в традиційному додатку є якась помилка, ви, можливо, зможете позбутися від неї протягом кількох років... але якщо у вас є помилка у вашому смарт-контракті, люди досить швидко її знайдуть і скористаються нею або на вашу шкоду, або на свою користь», — сказав Морріс.
По-друге, dapps на Ethereum працюють виключно на смарт-контрактах. Спеціально закодований мовою програмування Solidity та виконаний у нервовому центрі блокчейну, який називається Віртуальна машина Ethereum (EVM), ключовою перевагою dapp є те, що їх T змінити.
Зворотна сторона цього очевидна. Програмістам нелегко виправляти помилки чи баги в програмному забезпеченні після того, як воно розгорнуте в блокчейні.
Назвавши «серйозною помилкою» пропуск стороннього аудиту безпеки або сканування з цих причин, Морріс сказав CoinDesk , що розробникам важливо не стати жертвами власної «зарозумілості» і переконатися, що «тести охоплюють кожну гілку вашого коду».
«З Ethereum це новий набір проблем, про які люди T знають під час кодування в Solidity», — підкреслив Espanol CoinDesk.
Зображення програмування через Shutterstock
Christine Kim
Крістін є дослідницьким аналітиком CoinDesk. Вона зосереджується на отриманні інформації про індустрію Криптовалюта і блокчейнів на основі даних. До того як стати аналітиком-дослідником, Крістін була технічним кореспондентом CoinDesk, головним чином висвітлюючи події в блокчейні Ethereum . Криптовалюта авуари: немає.
