Що потрібно знати: |
- Зростання екосистеми EVM робить її основною мішенню для криптоатак.
– Є багато варіантів і методів, які використовують шахраї під егідою Address Poisoning. – Ledger постійно шукає інноваційні засоби захисту для користувачів мережі EVM. |
Останнім часом ми спостерігаємо збільшення кількості атак, позначених як «Отруєння адрес», націлених на ланцюги EVM. Це впливає на наших клієнтів, які можуть втрачати кошти, оскільки в кінцевому підсумку довіряють і копіюють/вставляють неправильні адреси. Це було обговорювалися досить багато по головні дійові особи, але онлайн-контент є повторюваним і водночас технічно неповним, у ньому відсутні чіткі приклади.
Тож давайте розберемося в різних типах адресного отруєння! Тому що так, це насправді сімейство атак із варіаціями в їх реалізації.
Vanity Poisoning: груба форсування ваших адрес
Цей перший тип адресного отруєння є найпростішим і про нього розповідається в більшості статей в Інтернеті. Щоб зрозуміти це, нам спочатку потрібно поговорити про марнославні адреси та наші людські обмеження.
Марнославні адреси
У ланцюжках EVM адреси отримують шляхом хешування відкритого ключа облікового запису та збереження лише останніх (крайніх правих) 20 байтів. Потім ці 20 байтів форматуються як шістнадцятковий рядок із 40 символів, і це те, чим ми всі маніпулюємо під час надсилання/отримання ETH або токенів.
Тепер, люди залишаючись людьми, вони почали шукати адреси за певним шістнадцятковим шаблоном, оскільки він мав витончений вигляд. Відомий приклад Контракт токена 1INCH який має адресу 0x111111111117dc0aa78b770fa6a738034120c302
, починаючи з багатьох 1 😍. Це те, що ми називаємо a Vanity Address.
Команда 1inch створила його шляхом отримання та хешування багатьох відкритих ключів, доки вони не отримали один, який виглядає так, як вони хотіли. Ймовірно, вони використовували такий інструмент, як Марнославство ETH зробити це не складно, але досить довго.
«Але зачекайте, це означає, що я можу знайти закритий ключ до будь-якої адреси Ethereum?» Ви можете запитати. На що я відповім: «Сподіваюся, ні, або мені доведеться швидко знайти нову роботу, щоб покрити свою іпотеку».
Насправді складність генерації Vanity Address зростає нелінійно з кількістю символів, які ви виправляєте. Використання Марнославство ETH, вам знадобиться кілька місяців, щоб отримати адресу з 10 фіксованих символів. Для 12 фіксованих символів, він бульбашки до кількох сотень років. Я дозволю вам екстраполювати, скільки часу знадобиться для повної адреси з 40 символів.
Як круто виглядатимуть мої нащадки з цією адресою!
Ключовим моментом є те, що, доклавши достатніх зусиль, можна згенерувати адресу, яка відповідає певному шаблону на кількох символах.
Люди переглядають байти
Як люди, ми схильні лише частково переглядати адреси, читаючи їх. Найпоширенішим шаблоном є перегляд лише кількох перших і останніх символів адреси. Хоча це менш безпечно, ніж точне порівняння їх характер за характером, це набагато легше для очей і є шляхом найменшого опору.
Це також певною мірою заохочує доступні нам інструменти, оскільки багато з них приховують більшість адрес.
Метамаска показує лише початок і кінець вашої адреси
Атака
Враховуючи вищесказане, деякі погані актори зрозуміли, що вони можуть:
- Шукайте активну адресу користувача, яка повна чарівних інтернет-грошей.
- Створіть Vanity Address , який збігається з першим і останнім кількома байтами адреси користувача.
- Надішліть транзакцію на суму 0 або майже 0 з Vanity Address на User Address. Це справжнє отруєння: тепер користувач бачить Vanity Address зловмисника у власній історії транзакцій.
- Тепер зловмисник чекає та сподівається, що користувач зробить помилку та скопіює свою особисту адресу, намагаючись надіслати кошти собі.
Оскільки людям важко працювати з випадковими байтами, ми маємо тенденцію копіювати будь-яку адресу, схожу на нашу, коли поспішаємо, що робить цю атаку досить ефективною.
Однак створення приватних адрес займає багато часу, що ускладнює масштабування цієї атаки. Однак важливо зазначити, що процес можна змінити, щоб зробити його дешевшим:
- Зловмисник генерує якомога більше Vanity Address, якими він керує.
- Зловмисник спостерігає за всіма діями в ланцюжку та всіма активними адресами користувачів.
- Якщо будь-яка активна адреса користувача збігається з адресою Vanity, почніть процес отруєння.
Таким чином зловмисник відмовляється від націлювання на певний обліковий запис, але розширює зону атаки.
Атака передачі маркера нульової вартості: обман ланцюжка
Цей другий тип отруєння ще більш підступний, оскільки він покладається на створення транзакцій ERC20 від вашого імені та без вашої згоди!
Щоб зрозуміти це, вам потрібно бути знайомими з подіями в ланцюзі, надбавкою токенів і трохи Solidity.
Події в мережі
У ланцюжках EVM транзакція може впливати на стан ланцюга різними способами. Найпоширенішим є переміщення ETH між адресами, що фактично змінює баланс у ланцюзі залучених рахунків.
Ще одна зміна стану – публікація Подій. Переглядаючи транзакцію на Etherscan, ви можете побачити події, які це породило. Ці події є тим, як передача токенів (ERC20, NFT, …) матеріалізується в ланцюжку.
Дивлячись на свою історію транзакцій ERC20, ви дійсно дивитеся на все Передача (адреса з індексом _from, адреса з індексом _to, uint256 _value) події, які стосуються вашої адреси.
Про символічну надбавку
Багато розширеного використання токенів ERC20 залежать від сторонніх контрактів, яким дозволено переміщувати кошти від імені користувача. Це обробляється за допомогою карти дозволів, де ключем є дозволена адреса, а значенням є максимальна сума коштів, яку ця адреса може перемістити.
У стандарті ERC-20: стандарт маркерів допуск може змінити лише користувач, викликавши функцію approve(address _spender, uint256 _value).
Переказ на ваше ім'я
Єдиний спосіб для зловмисника відправити X
кількість токенів від імені іншого користувача, щоб викликати функцію transferFrom(адреса _від, адреса _до, uint256 _значення). Однак, щоб мати можливість це зробити, цільовий користувач повинен уже зателефонувати approve({_spender: <attacker_address>, _value: X})
, надаючи їм необхідну надбавку.
На перший погляд здається, що це межа, яку важко подолати.
Однак, враховуючи те, як відображення та значення за замовчуванням працюють у Solidity, кожна адреса має надбавку значення 0
на кожній іншій адресі в стандартній реалізації контрактів ERC20. Таким чином, у цих реалізаціях будь-кому дозволено виконати наступну передачу, незалежно від того, чи надав цільовий користувач йому дозвіл:
transferFrom({from: <user_address>, to: <attacker_address>, _value: 0})
Ще краще, стандарт ERC20 стверджує, що:
Передачі значень 0 ПОВИННІ розглядатися як звичайні передачі та викликати подію «Передача».
Це гарантує, що цей порожній переказ завжди створюватиме дійсний Transfer
подія, яка зрештою відображатиметься в історії транзакцій користувача.
Атака
Використовуючи отримані вище знання, ми можемо здійснити таку атаку:
- виклик
transferFrom
зі значенням0
за відомими контрактами ERC20, такими як USDC, Matic, Uniswap… - Зробіть перенесення з адреси користувача на адресу зловмисника.
- Це створить законну подію передачі в ланцюжку від адреси користувача до адреси зловмисника.
- Потім ця подія буде синхронізована гаманцем користувача та відображена як дійсний переказ.
Зловмисник досяг своєї мети: створення законної транзакції ERC20 з облікового запису цільової особи на свій власний.
У будь-якому стандартному гаманці їхня адреса тепер відображатиметься в історії транзакцій цілі як частина дійсної торгівлі. Користувач був отруєний. Якщо пощастить (для зловмисника), мета може помилково використати неправильну адресу в майбутніх угодах.
Ось кілька прикладів таких атак у мережі:
Захист користувачів
Атаки, які ми описали, мають реальний вплив на користувачів криптовалюти. Вони теж лише вершина айсберга. У своєму прагненні змусити користувачів взаємодіяти зі зловмисними адресами шахраї будуть використовувати будь-які технічні або людські недоліки. Вони також дуже швидко адаптують свої стратегії до будь-яких контрзаходів, які можуть застосувати виробники гаманців.
Як супроводжувачі Ledger Live, ми несемо відповідальність за надання рішень, які є безпечними та покращують взаємодію з користувачем. З огляду на характер атак, повністю запобігти їх виникненню дуже важко. Замість цього роль гаманців полягає в тому, щоб обробляти шкідливі транзакції по-іншому, щоб уникнути будь-яких можливих помилок користувача.
Отже, який найкращий шлях вперед?
Для нас проста відповідь: ви ніколи не повинні копіювати адресу зі свого гаманця без попереднього перевіряючи його на надійному екрані вашого апаратного пристрою. Цей контрзахід доступний з моменту виходу на комерціалізацію першого Nano S, і він не має відомих технічних недоліків.
Але залишити це було б помилкою. Люди не машини: ми можемо бути ледачими, ми можемо поспішати, можливо, у нас немає нашого Nano з нами, деякі люди навіть не маєте пристрою Ledger 😱. У повсякденному житті ми завжди йдемо шляхом найменшого опору. У цьому випадку це буде копіювання адреси без її ретельної перевірки.
У цьому контексті наші команди з боку продукту, розробника та служби підтримки клієнтів досліджували кілька рішень. Найпростіший, але найефективніший з них був доданий до останнього випуску Ledger Live: приховування транзакцій із сумами абсолютного нуля.
Тепер найнегідніша атака (атака передачі маркерів нульової вартості) стає беззубою, оскільки для її виконання сума має бути абсолютним нулем. Це також безпечна зміна, оскільки 99.9% користувачів ніколи навмисно не використовують транзакції з абсолютним нулем. Для решти 0.1%, звичайно, можна продовжувати відображати транзакції, налаштувавши розширені налаштування Ledger Live.
Загалом ця зміна має великий вплив, дуже мало недоліків і дуже короткий час виходу на ринок. Для інших версій атак Address Poisoning ми вивчаємо різні рішення, такі як безпечні адресні книги, виявлення шахрайських адрес і багато іншого!
Забезпечення майбутнього
Оскільки криптосвіт продовжує розвиватися, зловмисники невпинно шукають нові способи використання вразливостей і нападу на нічого не підозрюють користувачів. Address Poisoning є яскравим прикладом таких зловмисних атак, які використовують обмеження як технології, так і людської природи. Просвітлюючи різні типи атак з отруєнням адресами та досліджуючи їх основні механізми, ми прагнемо підвищити обізнаність і дати вам змогу приймати зважені рішення під час вашої криптовалютної подорожі.
Для боротьби з цими загрозами, що постійно розвиваються, вкрай важливо, щоб постачальники гаманців, такі як Ledger Live, і ширша криптовалютна спільнота залишалися пильними, співпрацювали та розробляли інноваційні рішення для захисту користувачів. Оскільки ми постійно вдосконалюємо заходи безпеки та взаємодію з користувачами, ми заохочуємо користувачів залишатися в курсі, бути обережними та застосовувати рекомендовані передові практики.
Подібно до спроб шахраїв обдурити вас, згруповані зусилля команд Ledger, щоб захистити вас, постійно тривають. Це забезпечить регулярні покращення вашого щоденного досвіду в Ledger Live, тож очікуйте змін у майбутніх випусках!
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoAiStream. Web3 Data Intelligence. Розширення знань. Доступ тут.
- Карбування майбутнього з Адріенн Ешлі. Доступ тут.
- Купуйте та продавайте акції компаній, які вийшли на IPO, за допомогою PREIPO®. Доступ тут.
- джерело: https://www.ledger.com/blog/address-poisoning
- : має
- :є
- : ні
- :де
- $UP
- 10
- 12
- 1inch
- 20
- 22
- 250
- 40
- a
- Здатний
- МЕНЮ
- вище
- абсолют
- рахунки
- Рахунки
- активно
- діяльність
- актори
- фактичний
- насправді
- пристосовувати
- доданий
- адреса
- адреси
- прийняти
- просунутий
- впливати
- мета
- ВСІ
- вже
- Також
- завжди
- кількість
- суми
- an
- та
- Інший
- відповідь
- Протиотрута
- будь-який
- будь
- ЕСТЬ
- статті
- AS
- At
- атака
- нападки
- Спроби
- доступний
- уникнути
- обізнаність
- геть
- поганий
- Balance
- BE
- оскільки
- було
- буття
- КРАЩЕ
- передового досвіду
- Краще
- між
- бінанду
- Біт
- книги
- обидва
- ширше
- але
- by
- call
- покликання
- CAN
- обережність
- певний
- ланцюг
- ланцюга
- зміна
- змінилися
- Зміни
- заміна
- характер
- символи
- більш дешевий
- ясно
- клієнтів
- співпрацювати
- боротьби з
- загальний
- співтовариство
- порівняння
- повний
- зміст
- контекст
- триває
- постійно
- контракт
- контрактів
- контроль
- Прохолодно
- копіювання
- може
- Курс
- обкладинка
- покритий
- створення
- вирішальне значення
- крипто
- криптова спільнота
- користувачів криптовалют
- криптосвіт
- клієнт
- підтримка клієнтів
- з дня на день
- рішення
- дефолт
- розгортання
- описаний
- Виявлення
- розвивати
- Розробник
- різний
- важкий
- трудність
- DIG
- do
- робить
- Не знаю
- недоліки
- легше
- легко
- екосистема
- Ефективний
- фактично
- ефективний
- зусилля
- уповноважувати
- заохочувати
- заохочувати
- кінець
- повністю
- ERC20
- Токени ERC20
- ETH
- Ефіріума
- ефіри
- Навіть
- Event
- Події
- Кожен
- повсякденний
- EVM
- еволюціонувати
- точно
- приклад
- Приклади
- виконувати
- досвід
- Експлуатувати
- Дослідження
- очі
- знайомий
- сім'я
- кілька
- знайти
- Пожежа
- Перший
- виправляти
- фіксованою
- недолік
- стежити
- після
- слідує
- для
- Вперед
- знайдений
- від
- засоби
- майбутнє
- породжувати
- генерується
- генерує
- породжує
- отримати
- даний
- дає
- дає
- мета
- великий
- Зростання
- гарантії
- було
- обробляти
- Обробка
- Відбувається
- Жорсткий
- апаратні засоби
- хешування
- Мати
- приховувати
- історія
- З надією
- сподівається,
- Як
- Однак
- HTTP
- HTTPS
- людина
- Людей
- сто
- i
- Я БУДУ
- Impact
- Вплив
- реалізація
- важливо
- удосконалювати
- поліпшення
- in
- Augmenter
- Збільшує
- повідомив
- інноваційний
- екземпляр
- замість
- взаємодіяти
- інтернет
- в
- залучати
- залучений
- IT
- ЙОГО
- робота
- подорож
- тримати
- зберігання
- ключ
- ключі
- Дитина
- Знати
- знання
- відомий
- останній
- останній
- найменш
- догляд
- Гросбух
- Ledger Live
- залишити
- законний
- менше
- дозволяти
- життя
- світло
- як
- МЕЖА
- недоліки
- трохи
- жити
- Довго
- подивитися
- шукати
- ВИГЛЯДИ
- програш
- серія
- удача
- Машинки для перманенту
- магія
- Чарівні Інтернет-гроші
- зробити
- Makers
- РОБОТИ
- багато
- карта
- ринок
- Matic
- Макс
- макс-ширина
- Може..
- значити
- заходи
- механізми
- може бути
- відсутній
- помилка
- гроші
- місяців
- більше
- Іпотека
- найбільш
- рухатися
- переміщення
- багато
- множинний
- повинен
- my
- нано
- природа
- Необхідність
- ніколи
- Нові
- NFT
- немає
- нормальний
- зараз
- номер
- отриманий
- of
- on
- На ланцюжку
- мережева діяльність
- ONE
- постійний
- онлайн
- тільки
- or
- Інше
- наші
- з
- Подолати
- власний
- частина
- шлях
- Викрійки
- Люди
- Виконувати
- plato
- Інформація про дані Платона
- PlatoData
- це можливо
- практика
- практики
- досить
- запобігати
- Prime
- приватний
- Private Key
- ймовірно
- процес
- Product
- захист
- Захисні
- забезпечувати
- провайдери
- громадськість
- публічний ключ
- відкриті ключі
- Публікація
- пошук
- Швидко
- швидко
- підвищення
- випадковий
- швидше
- досяг
- читання
- реальний
- Реальність
- зрозумів,
- насправді
- рекомендований
- Незалежно
- регулярний
- звільнити
- решті
- повторювані
- вимагається
- Опір
- відповідальність
- огляд
- рецензування
- Роль
- порив
- s
- сейф
- шкала
- Шахрайство
- Шахраї
- Екран
- другий
- безпечний
- безпеку
- Заходи безпеки
- Шукати
- Здається,
- бачив
- бачить
- послати
- налаштування
- кілька
- Короткий
- Повинен
- Шоу
- Сторони
- зір
- з
- So
- солідність
- Рішення
- деякі
- кілька
- конкретний
- standard
- старт
- почалася
- Починаючи
- стан
- Штати
- залишатися
- стратегії
- рядок
- такі
- достатній
- підтримка
- поверхню
- Приймати
- балаканина
- Мета
- націлювання
- команда
- команди
- технічний
- методи
- Технологія
- ніж
- Що
- Команда
- Держава
- їх
- Їх
- самі
- потім
- Там.
- Ці
- вони
- третя сторона
- це
- ретельно
- хоча?
- загрози
- через
- час
- чайові
- до
- знак
- Жетони
- інструмент
- інструменти
- торгувати
- торги
- угода
- Transactions
- переклад
- переклади
- Довірений
- довірливий
- налаштування
- тип
- Типи
- парасолька
- при
- що лежить в основі
- розуміти
- до
- us
- Використання
- USDC
- використання
- використовуваний
- користувач
- User Experience
- користувачі
- значення
- Цінності
- ТОРМІСТЬ
- перевірка
- дуже
- Уразливості
- чекати
- Wallet
- Виробники гаманців
- Гаманці
- хотів
- було
- годинник
- шлях..
- способи
- we
- добре відомі
- Що
- Що таке
- коли
- Чи
- який
- в той час як
- ВООЗ
- волі
- з
- без
- Work
- б
- років
- так
- ще
- вихід
- Ти
- вашу
- Zendesk
- зефірнет
- нуль