Автори : Tianle Sun, Huazhong університет науки і техніки; 2) Ningyu He, Пекінський університет; (3) Цзян Сяо, Університет Науки та Технології Хуачжоу; (4) Yinliang Yue, лабораторія Zhongguancun; (5) Xiapu Luo, Гонконгський політехнічний університет; Haoyu Wang, Huazhong університет науки і техніки. : Authors Tianle Sun, Huazhong університет науки і техніки; 2) Ningyu He, Пекінський університет; (3) Цзян Сяо, Університет Науки та Технології Хуачжоу; (4) Yinliang Yue, лабораторія Zhongguancun; (5) Xiapu Luo, Гонконгський політехнічний університет; Haoyu Wang, Huazhong університет науки і техніки. Лівий стіл Абстракт і 1.Введення Background 2.1 Ethereum Primer 2.2 Whitelisted Address Verification 2.3 Taint Analysis on Smart Contracts and 2.4 Threat Model Motivating Example and Challenges 3.1 Motivating Example 3.2 Challenges 3.3 Limitations of Existing Tools Design of AVVERIFIER and 4.1 Overview 4.2 Notations 4.3 Component#1: Code Grapher 4.4 Component#2: EVM Simulator 4.5 Component#3: Vulnerability Detector Evaluation 5.1 Experimental Setup & Research Questions 5.2 RQ1: Effectiveness & Efficiency 5.3 RQ2: Characteristics of Real-world Vulnerable Contracts 5.4 RQ3: Real-time Detection Discussion 6.1 Threats to Validity and 6.2 Limitations 6.3 Ethical Consideration Related Work Conclusion, Availability, and References абстрактні У Bin Ethereum практика перевірки дійсності переданих адрес є поширеною практикою, яка є важливим кроком для забезпечення безпечного виконання розумних контрактів. Вразливості в процесі перевірки адрес можуть призвести до великих проблем безпеки, і анекдотичні докази були повідомлені нашою спільнотою. Однак цей тип вразливості не був добре вивчений. Щоб заповнити порожнечу, в цій статті ми прагнемо характеризувати і виявляти цей вид виникаючої вразливості. Ми розробляємо та впроваджуємо AVVERIFIER, легкий аналізатор пошкоджень, заснований на симуляції статичного EVM opcode. Його трифазний детектор може поступово виключати неправдиві позитивні і неправдиві негативні результати на основі внутрішніх характеристик. Після добре 1 Введення Після того, як Сатоши Накамото запустив Bitcoin [60], з'явилися блокчейн-платформи. серед них, Ethereum [18] є найбільш відомим. Вона може бути прийнята як частина незмінного сценарію, який повинен бути виконаний певним чином, як тільки будуть виконані заздалегідь визначені умови. Розумний контракт Оскільки мільярди доларів еквівалентних активів зберігаються в розумних контрактах, виявлення та експлуатація прихованих уразливостей в них є пріоритетом для нападників.За даними недавніх звітів [68], протягом минулого року існує близько 303 великих атак проти відомих контрактів Ethereum, що становить збитки приблизно 3,8 мільярда доларів.Chen et al. [21] підсумували 26 основних типів уразливостей в розумних контрактах Ethereum, і нові типи уразливостей все ще виникають в безкінечному потоці уздовж постійного введення і знецінення функцій в Ethereum [48]. Автоматична ідентифікація вразливостей в розумних контрактах Ethereum є добре вивченою темою [14, 37, 46, 47, 56, 70, 72, 78]. Враховуючи кількість контрактів і економічний збиток, викликаний фальшивими негативами, статичне символічне виконання, яке може гарантувати належність до певної міри, використовується як основний метод аналізу. Наприклад, Mythril [70] є статичним символічним виконавцем на рівні байт-коду для контрактів Ethereum, в той час як Slither [31] працює на вихідному коді, який стверджує, що досягає високої ефективності та ефективності. Перевірка дійсності вхідних адрес є поширеною практикою і ключовим кроком для забезпечення безпечного виконання розумних контрактів. Вразливості в процесі перевірки адресів можуть призвести до великих проблем з безпекою, і анекдотичні докази були повідомлені нашою спільнотою [11]. Щоб бути конкретними, функції в розумних контрактах можуть бути розглянуті як аргументи. Якщо розробники випадково нехтують перевіркою на переданій адресі, як тільки вона прийнята як мета зовнішнього виклику, довільні операції, включаючи шкідливі, в межах адреси можуть бути покликані. Тому, якщо будь-яка модифікація стану на ланцюжку спирається на цей зовнішній виклик, така модифікація може йти проти бажань розробника. В даний час жоден існуючий інструмент не може виявити вразливість у перевірці адресів, і впровадження такого детектора вразливості на основі існуючої структури є складним завданням. З одного боку, згідно з характеристиками вразливості у перевірці адресів, щоб ефективно її ідентифікувати, детектор повинен виконувати міжпроцедурний або навіть міжконтрактний аналіз. Існуюча робота, однак, незмінно страждає або від ефективності, або від проблеми ефективності при проведенні таких аналізів. Наприклад, на основі шаблону детектор ледве може впоратися з такою складною закономірністю вразливості, в той час як символічне виконання страждає від проблем з вибухом шляху і пляшок, викликаних обмеженнями. З одного боку, більші Щоб заповнити порожнечу, ми прагнемо характеризувати та виявляти цей тип виникаючої вразливості. Щоб бути конкретними, ми розробляємо та впроваджуємо AVVERIFIER, нову легку структуру аналізу статичного забруднення, яка може ефективно і ефективно ідентифікувати уразливість перевірки адреси. Його аналіз забруднення спирається на статичну симуляцію послідовності опкоду. Іншими словами, не враховуючи можливості шляхів, AVVERIFIER підтримує значення структур даних (наприклад, стек і пам'ять) та стан розповсюдження забруднення. Така статична симуляція проходить багато шляхів, включаючи спочатку неможливі. Таким чином, згідно з відповідними зібраними статтями, AVVERIF This work. На основі наших створених еталонів, AVVERIFIER значно перевершує найсучасніші інструменти виявлення розумних контрактів (тобто, Mythril, Ethainter, Jackal, і ETHBMC)[1] як з точки зору ефективності, так і ефективності. Згідно з комплексною оцінкою понад 5 мільйонів розгорнутих контрактів Ethereum, AVVERIFIER знаменує понад 812 вразливих контрактів, а 348 смарт-контрактів з відкритим кодом були додатково перевірені, загальна вартість яких перевищує $ 11,2 млрд. Нарешті, ми розгорнули AVVERIFIER як детектор в реальному часі на Ethereum і BSC, блокчейн-платформі, схожої на EVM. Результати показують, що Цей документ робить наступні внески: • Це перша робота з виявлення вразливості у перевірці адрес.Ми розробили та впровадили AVVERIFIER, ефективний і ефективний аналізатор забруднень, заснований на статичному симуляції EVM. • Ми застосували AVVERIFIER до понад 5 мільйонів розумних контрактів на Ethereum, і виявили сотні вразливих розумних контрактів, які раніше не були розкриті нашою спільнотою. У порівнянні з Mythril, Ethainter, Jackal і ETHBMC, AVVERIFIER може підвищити ефективність аналізу приблизно в 2-5 разів при досягненні точності 94,3% і 100% відкликання на добре встановлених еталонах. • Ми розгорнули AVVERIFIER як детектор в режимі реального часу на Ethereum і BSC. Результати показують, що AVVERIFIER здатний викликати ранні попередження після того, як контракти будуть розгорнуті, перш ніж атака буде ініційована нападниками. Цей документ доступний під ліцензією CC BY 4.0 DEED. Цей документ доступний під ліцензією CC BY 4.0 DEED. Доступно в архіві [1] Зверніть увагу, що ці інструменти не можуть виявляти уразливість перевірки адресів, ми впровадили ту ж логіку виявлення на їх основі, для справедливого порівняння.