Дата звіту: 2023-12-20
Дата події: 2023-12-14
Тип виявленого інциденту: Несанкціонований доступ і шкідливий код
Резюме
Ledger виявив експлойт за допомогою Ledger Connect Kit у четвер, 14 грудня 2023 року. Цей експлойт впровадив шкідливий код у DApps, які використовували Ledger Connect Kit, обманом змушуючи користувачів EVM DApp підписувати транзакції, які виснажують їхні гаманці. Експлойт було швидко помічено, і невдовзі після цього було реалізовано рішення. Тим часом невелика кількість користувачів потрапила під атаку та підписала транзакції, виснаживши їхні гаманці.
Timeline
Години часової шкали деталізовано з використанням часового поясу за центральноєвропейським часом (CET):
2023: Ранок: Колишній співробітник Ledger став жертвою складної фішингової атаки, яка отримала доступ до його облікового запису NPMJS, минаючи 2FA, використовуючи маркер сеансу особи.
2023-12-14 – 09:49 / 10:44 / 11:37: Зловмисник опублікував на NPMJS (менеджер пакетів для спільного коду Javascript між програмами) шкідливу версію Ledger Connect Kit (впливає на версії 1.1.5, 1.1.6 і 1.1.7). Шкідливий код використовував шахрайський проект WalletConnect для перенаправлення активів на гаманці хакерів.
2023-12-14: 1.45: Ledger дізнався про триваючу атаку завдяки швидкій реакції різних учасників екосистеми, включаючи Blockaid, який зв’язався з командою Ledger і поділився оновленнями щодо X.
2023-12-14: 2.18: Команди Ledger із технологій і безпеки були попереджені про атаку, і протягом 40 хвилин після того, як Ledger стало відомо, команда Ledger розгорнула справжню версію виправлення Ledger Connect Kit. Через особливості CDN (мережі доставки вмісту) та механізмів кешування в Інтернеті шкідливий файл залишався доступним трохи довше. Від компрометації NPMJS до повного вирішення пройшло приблизно 5 годин. Ця розширена доступність зловмисного коду стала результатом часу, який знадобився CDN для розповсюдження та глобального оновлення своїх кешів останньою справжньою версією файлу. Незважаючи на п’ятигодинний період існування файлу, за нашими розслідуваннями ми оцінили, що вікно, протягом якого активи користувача активно вичерпувалися, загалом обмежувалося менш ніж двома годинами.
Ledger швидко скоординував дії з нашим партнером WalletConnect, який вимкнув шахрайський екземпляр WalletConnect, який використовувався для вилучення активів у користувачів.
2023-12-14: 2.55 Після нашої координації Tether заморозив USDT зловмисника(ів) (див. TX).
Аналіз першопричини, висновки та заходи запобігання
Контекст
Гросбух Connect-Kit це бібліотека Java Script з відкритим вихідним кодом, яка дозволяє розробникам підключати свої DApps до апаратного забезпечення Ledger. Його можна інтегрувати за допомогою Connect-Kit-завантажувач компонент, який дозволяє DApp завантажувати Connect-Kit під час виконання з CDN. Це дозволяє розробникам DApp завжди мати найновішу версію Connect-Kit без необхідності вручну оновлювати версії пакетів і випускати нові збірки. CDN, який Ledger використовує для розповсюдження, — це NPMJS. Більшість DApps інтегрували Connect-Kit за допомогою згаданого завантажувача Connect-Kit.
У експлойті Ledger Connect Kit зловмисник жодного разу не мав доступу до жодної інфраструктури Ledger, сховища коду Ledger або до самих DApps. Зловмисник зміг проштовхнути пакет шкідливого коду в CDN замість самого Connect-Kit. Потім цей зловмисний код Connect-Kit динамічно завантажувався DApps, які вже інтегрували завантажувач Connect-Kit.
Експлойт Ledger Connect Kit підкреслює ризики, з якими разом стикаються Ledger і індустрія, щоб захистити користувачів, і це також нагадування, що разом ми повинні продовжувати піднімати планку безпеки навколо DApps, де користувачі будуть використовувати підписи на основі браузера. Цього разу була використана служба Ledger, але в майбутньому це може статися з іншою службою чи бібліотекою.
Першопричина
Для того, щоб мати можливість просунути пакет шкідливого коду на NPMJS, зловмисник підманив колишнього співробітника, щоб отримати доступ цієї особи до NPMJS. Доступ колишнього співробітника до систем Ledger (включаючи Github, служби на основі SSO, усі внутрішні інструменти Ledger і зовнішні інструменти) було належним чином скасовано, але, на жаль, доступ колишніх співробітників до NPMJS не було належним чином скасовано.
Ми можемо підтвердити, що це був прикрий поодинокий випадок. Доступ до інфраструктури Ledger співробітників Ledger автоматично скасовується під час виходу співробітника з борту, однак через те, як поточні технологічні служби та інструменти зараз працюють у всьому світі, ми не можемо автоматично скасовувати доступ до певних зовнішніх інструментів (включаючи NPMJS), і їх потрібно обробляти вручну за допомогою контрольний список звільнення співробітників для кожного окремо. Ledger має існуючу та регулярно оновлювану процедуру виходу з борту, згідно з якою ми видаляємо співробітників, які відходять, із усіх зовнішніх інструментів. У цьому окремому випадку доступ до NPMJS не було скасовано вручну, про що ми шкодуємо, і перевіряємо його за допомогою стороннього зовнішнього партнера.
Це була складна атака зловмисника. Незважаючи на застосування двофакторної автентифікації (2FA) для цільового облікового запису NPMJS, яка зазвичай стримує багато спроб, зловмисник обійшов цей захід безпеки, використавши ключ API, пов’язаний з обліковим записом колишнього співробітника.
Ця конкретна атака дозволила зловмиснику завантажити нову шкідливу версію Ledger Connect Kit, яка містила те, що називається шкідливим програмним забезпеченням Angel Drainer. Angel Drainer — це зловмисне програмне забезпечення як служба, яка спеціально розроблена для створення зловмисних транзакцій, які виснажують гаманці після підписання. Це повна інфраструктура, що спеціалізується на ланцюжках EVM, яка розгортає смарт-контракти на вимогу та створює індивідуальні транзакції, щоб максимізувати шкоду.
На жаль, NPMJS.com не дозволяє багаторазову авторизацію або перевірку підпису для автоматичного видавництво. Ми працюємо над додаванням спеціальних механізмів, які забезпечують додатковий контроль на етапі розгортання.
Результати
Це була добре підготовлена атака, яку здійснили досвідчені зловмисники. Застосована техніка фішингу не зосереджена на облікових даних, що ми бачимо в більшості зовнішніх атак, що впливають на екосистему, а замість цього зловмисник працював безпосередньо з маркером сеансу.
Використаним зловмисним програмним забезпеченням був Angel Drainer, і команда безпеки Ledger за останні три місяці помітила збільшення злочинної діяльності з використанням цього зловмисного програмного забезпечення (будь ласка, зверніться до цього опублікованого Звіт про блокування). Ми також бачимо в ланцюжку, що викрадені кошти розподіляються: 85% для експлуататора та 15% для Angel Drainer, що може розглядатися як зловмисне програмне забезпечення як послуга.
Цей Angel Drainer обманом змушує користувачів підписувати різні типи транзакцій залежно від типу активу, на який він націлений. Для токенів ERC20 і NFT він просить користувачів підписати твердження та дозволяти повідомлення. Для нативних токенів дрейнер просить користувача підписати або підроблену транзакцію «претензії», де стверджувати метод просто очищає кошти або прості перекази токенів, які пізніше можна очистити, розгорнувши смарт-контракт за відповідною адресою.
Ось чому ми продовжуємо заохочувати Clear Signing як галузь, щоб користувачі могли перевірити те, що вони бачать на надійному дисплеї на своєму апаратному пристрої Ledger.
Корекційні дії
Групи безпеки та технологій Ledger, включаючи виконавчу команду Ledger, наразі перевіряють і перевіряють усі наші засоби контролю доступу до внутрішніх і зовнішніх інструментів і систем Ledger, які ми використовуємо.
Ledger посилить свою політику щодо перевірки коду, розгортання, розповсюдження та контролю доступу, включаючи додавання всіх зовнішніх інструментів до нашого технічного обслуговування та перевірок на вихід. Ми продовжуватимемо узагальнювати підписання коду, коли це буде доречно. Крім того, ми проводимо регулярні внутрішні аудити, щоб переконатися, що це правильно реалізовано.
Ledger вже організовує тренінги з безпеки, включно з фішингом. Програму навчання внутрішньої безпеки також буде посилено на початку 2024 року для всіх співробітників у відповідних відділах. Ledger вже організовує регулярні оцінки безпеки третіми сторонами та й надалі надаватиме пріоритет цим оцінкам.
На початку 2024 року буде проведено спеціальний аудит третьої сторони, зосереджений на контролі доступу, просуванні та розповсюдженні коду.
Крім того, ми посилимо наші системи моніторингу і оповіщення інфраструктури, щоб мати змогу ще швидше виявляти майбутні інциденти та реагувати на них.
Нарешті, ми подвоїмо запобігання сліпому підпису, видаливши його як опцію для користувачів Ledger, щоб забезпечити максимальну безпеку, і навчимо користувачів про потенційний вплив підписання транзакцій без безпечного відображення або розуміння того, що вони підписують, не використовуючи Чіткий підпис.
Ми ще раз дякуємо нашим партнерам в екосистемі за швидку роботу з командами Ledger над виявленням і усуненням експлойту.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://www.ledger.com/blog/security-incident-report
- : має
- :є
- : ні
- :де
- 09
- 1
- 10
- 11
- 14th
- 15%
- 2023
- 2024
- 26%
- 2FA
- 40
- 51
- 7
- a
- Здатний
- доступ
- доступною
- рахунки
- активно
- діяльності
- актори
- Ad
- додати
- доповнення
- Додатково
- адреса
- зачіпає
- після
- знову
- ВСІ
- дозволяти
- Дозволити
- дозволяє
- вже
- Також
- завжди
- an
- аналіз
- та
- ангел
- Інший
- будь-який
- API
- приблизно
- додатка
- ЕСТЬ
- навколо
- AS
- оцінки
- активи
- Активи
- асоційований
- At
- атака
- нападки
- Спроби
- аудит
- аудит
- аудит
- Authentication
- автоматично
- наявність
- знати
- бар
- заснований
- BE
- становлення
- буття
- між
- коротко
- Будує
- але
- by
- CAN
- не може
- випадок
- Викликати
- центральний
- певний
- ланцюга
- Перевірки
- ясно
- код
- Перегляд коду
- колективно
- приходить
- повний
- компонент
- проводиться
- Проведення
- підтвердити
- З'єднуватися
- містяться
- зміст
- продовжувати
- контракт
- контрактів
- контроль
- управління
- узгоджений
- координація
- Відповідний
- може
- виробити
- Повноваження
- Кримінальну
- Поточний
- В даний час
- пошкодження
- dapp
- Розробники DApp
- DApps
- Грудень
- доставка
- Попит
- відомства
- Залежно
- розгорнути
- розгортання
- розгортання
- розгортає
- призначений
- Незважаючи на
- докладно
- виявляти
- виявлено
- розробників
- пристрій
- DID
- різний
- безпосередньо
- інвалід
- дисплей
- розподіл
- робить
- подвійний
- вниз
- виснажувати
- злиті
- два
- під час
- динамічно
- кожен
- Рано
- екосистема
- виховувати
- або
- Співробітник
- співробітників
- включений
- заохочувати
- виконання
- займатися
- забезпечувати
- ERC20
- оцінити
- Європейська
- Навіть
- EVM
- виконано
- виконавчий
- існуючий
- досвідчений
- Експлуатувати
- експлуатований
- експлуатація
- розширений
- зовнішній
- Face
- підроблений
- швидше
- філе
- результати
- п'ять
- виправляти
- Сфокусувати
- увагу
- для
- Колишній
- від
- засоби
- вкрадені кошти
- далі
- майбутнє
- отримала
- справжній
- GitHub
- Глобально
- траплятися
- апаратні засоби
- апаратний пристрій
- Мати
- має
- основний момент
- годину
- ГОДИННИК
- Як
- Однак
- HTTP
- HTTPS
- ідентифікує
- Impact
- реалізовані
- in
- інцидент
- включені
- У тому числі
- Augmenter
- індивідуальний
- промисловість
- Інфраструктура
- всередині
- екземпляр
- замість
- інтегрувати
- інтегрований
- внутрішній
- інтернет
- в
- дослідження
- ізольований
- IT
- ЙОГО
- сам
- Java
- JavaScript
- ключ
- пізніше
- останній
- Гросбух
- менше
- Важіль
- бібліотека
- трохи
- загрузка
- довше
- низький
- made
- обслуговування
- зробити
- шкідливих програм
- менеджер
- вручну
- багато
- макс-ширина
- Максимізувати
- тим часом
- вимір
- механізми
- згаданий
- повідомлення
- хвилин
- моніторинг
- місяців
- Ранок
- найбільш
- повинен
- рідний
- природа
- Необхідність
- мережу
- Нові
- НФТ
- токени nft
- нормально
- of
- on
- На ланцюжку
- постійний
- відкрити
- з відкритим вихідним кодом
- працювати
- варіант
- or
- порядок
- організовує
- наші
- з
- пакет
- партнер
- партнери
- партія
- Пройшов
- Минуле
- phishing
- фішинг-атака
- місце
- plato
- Інформація про дані Платона
- PlatoData
- будь ласка
- pm
- Політика
- потенціал
- практики
- підготовлений
- наявність
- попередження
- Пріоритетність
- процедура
- програма
- проект
- просування
- правильно
- захист
- опублікований
- Штовхати
- швидко
- підвищення
- досяг
- Реагувати
- реакція
- останній
- послатися
- називають
- жалкувати
- регулярний
- регулярно
- зміцнювати
- звільнити
- доречний
- залишився
- нагадування
- видаляти
- видалення
- звітом
- Сховище
- запитів
- дозвіл
- рішення
- ті
- результат
- огляд
- рецензування
- ризики
- час виконання
- s
- сценарій
- безпечний
- безпеку
- побачити
- бачив
- обслуговування
- Послуги
- Сесія
- сесіях
- загальні
- підпис
- підпис
- підписаний
- підписання
- простий
- просто
- розумний
- розумний контракт
- Спритні контракти
- So
- складний
- Source
- спеціалізований
- конкретний
- конкретно
- розкол
- Стажування
- старт
- вкрали
- Переконайтеся
- швидко
- Systems
- з урахуванням
- прийняті
- цільове
- націлювання
- команда
- команди
- техніка
- Технологія
- прив'язь
- ніж
- дякувати
- Дякую
- Що
- Команда
- Майбутнє
- їх
- самі
- потім
- Ці
- вони
- третій
- це
- три
- четвер, четвер
- час
- до
- знак
- Жетони
- інструменти
- Усього:
- Навчання
- угода
- Transactions
- переклади
- Довірений
- два
- тип
- Типи
- розуміння
- нещасний
- на жаль
- Оновити
- Updates
- USDT
- використання
- використовуваний
- користувач
- користувачі
- використання
- максимально
- перевірка
- перевірити
- версія
- версії
- Жертва
- обсяг
- Wallet
- Гаманці
- було
- we
- ДОБРЕ
- були
- Що
- Що таке
- коли
- який
- ВООЗ
- чому
- волі
- вікно
- з
- в
- без
- працював
- робочий
- б
- X
- зефірнет