Розбір свіжого зламу Binance й ідея захисту, у якій що більше нападник пробує, то швидше тоне.
29 жовтня з гаманців Binance зникло близько $6,3 млрд. За даними TRM Labs, основну частину вивели приблизно за 20 хвилин у десяти блокчейнах. Це найбільший криптозлам в історії. Попередній рекорд — близько $1,5 млрд у Bybit 2025 року. Нова сума більша у чотири з гаком рази.
Аналітики TRM Labs і Chainalysis пов'язують атаку з КНДР, а TRM називає конкретне угруповання — TraderTraitor. Binance офіційно винних не називає.
Найцікавіше — як зайшли. За попередніми даними самої Binance, зловмисник скомпрометував ноутбук DevOps-інженера, дістався сервісного контейнера й надіслав неавторизовані транзакції на виведення коштів.
Я DevOps-інженер. У мене теж є ноутбук. І мені не по собі.
Далі хочу порефлексувати: який із наявних на ринку методів захисту обрати? Однозначної відповіді немає, тож пропоную свою ідею й концепцію — як я це бачу. А заразом — як, спираючись на WAF Pillars стовпи AWS Well-Architected Framework, заздалегідь підготувати інфраструктуру.
НОУТБУК НЕ ВИНЕН
Перша реакція — «треба було краще захищати ноутбук». EDR, шифрування диска, MFA. Усе це потрібно, але це перегони, у яких захисник від початку в гіршій позиції: нападникові досить, щоб пощастило один раз, а захисникові має щастити завжди.
Правильне питання інше: чому одного ноутбука вистачило, щоб вивести шість мільярдів?
Binance каже, що приватні ключі не витекли. TRM і Blockaid вказують на компрометацію підпису гарячих гаманців: за оцінкою TRM, зловмисник, імовірно, міг змусити систему підписувати потрібні йому транзакції одразу в кількох блокчейнах. Повного post-mortem поки немає. Але хай там як, підсумок один: систему попросили — і вона слухняно все підписала. Схоже, контейнер виведення довіряв кожному, хто до нього дотягнувся. Замок був міцний, просто ключ висів на цвяшку поруч.
Багато хто одразу подумав про ШІ. Даних про це поки немає. Але наступна атака цілком може прийти від ШІ-агента, який перебирає варіанти набагато швидше за людину. Отже, захист має спрацьовувати в перші секунди без людини і з кожною спробою ставати дорожчим для того, хто ломиться.
Рекомендуємо курси по темі
ІДЕЯ: ЗИБУЧІ ПІСКИ
У зибучих пісках тоне той, хто борсається. Я хочу, щоб система поводилася так само: що активніше нападник її колупає, то глибше грузне. Чотири шари.
1. Бюджет довіри
Кожна сесія — людини, контейнера, токена — крім набору прав, має бюджет. Він тане з кожною аномалією: новий пристрій, нетиповий час, незвичний маршрут запиту, швидкість виведення.
Права відповідають на питання «чи можна». Бюджет — «скільки ще можна сьогодні саме цьому контексту». Спроба вивести шість мільярдів за 20 хвилин спалила б бюджет за перші секунди, навіть із валідними кредами.
2. Тиха підміна
Коли бюджет вичерпано, система не блокує. Блокування — це сигнал: зловмисник розуміє, що його помітили, і змінює тактику.
Натомість сесія непомітно переходить у «дзеркало». API відповідає правдоподібно, транзакції «приймаються». Тільки гроші нікуди не йдуть. А кожен крок записується в трейс: звідки прийшов, що викликав, у якому порядку. Це як AWS X-Ray (сервіс, що малює шлях кожного запиту через усі компоненти системи), тільки для зловмисника.
3. В'язкість
Усередині дзеркала кожна наступна дія дорожча за попередню. Затримки зростають, ніби мережа перевантажена. А тим часом система тихо кличе людей: другий інженер підтверджує, апаратний ключ підписує.
Зибучий пісок, до речі, — неньютонівська рідина. У неї є протилежність — крохмаль із водою. Палець заходить повільно й легко, а вдариш кулаком — камінь. Чесний користувач рухається спокійно й опору не помічає. Нападник б'є швидко й упирається.
Для ШІ-агента це особливо боляче: він учиться на відповідях системи, а відповіді в дзеркалі хибні. Що більше він перебирає, то точніше будує модель світу, якого немає.
4. Мітки
У дзеркалі лежать мічені креди, адреси й токени. Усе, що він винесе, засвітиться під час першого використання та приведе до нього.
ШІСТЬ ПАЛЬ
Якщо система — пісок, то на чому стоїть сам дім? В AWS Well-Architected Framework шість стовпів. Сама AWS порівнює їх із фундаментом будівлі. Мені ближчий образ паль: дім на палях спокійно стоїть посеред болота, поки чужі довкола грузнуть.
1. Operational Excellence. Дзеркало вмикається автоматично, без дзвінка черговому о третій ночі. А трейс зловмисника — готовий матеріал для розбору інциденту.
2. Security. Бюджет довіри й мітки. У цьому стовпі є принципи Enable traceability і Prepare for security events — зибучі піски саме про них.
3. Reliability. Хибна тривога не має зупиняти виведення для всіх. Пісок затягує одну сесію, усієї біржі він не чіпає.
4. Performance Efficiency. Перевірка бюджету має тривати мілісекунди, інакше загрузне й чесний користувач.
5. Cost Optimization. Дзеркало коштує грошей. Тому будуємо його тільки навколо найціннішої дії, решту не чіпаємо.
6. Sustainability. Важку аналітику вмикаємо тільки для підозрілих сесій і не ганяємо її на кожен запит.
ДЕ ЦЕ НЕ СПРАЦЮЄ
Блокчейн публічний. Якщо нападник звіряє свої «успішні» транзакції з ланцюжком, він побачить, що їх там немає, і зрозуміє, що сидить у дзеркалі.
Тому дзеркало не рятує назавжди. Воно виграє хвилини. Але в цій атаці все вирішили саме хвилини: 20 хвилин на виведення основної суми. Якби перші п'ять хвилин пішли на борсання в дзеркалі, а бюджет довіри вже здійняв би тривогу, ми б обговорювали спробу зламу, а не рекорд.
І ще. Окремо нічого з цього не нове: honeytokens, tarpits, moving target defense, поведінкова аналітика існують давно. Нове — зв'язати їх в один контур навколо найціннішої дії в системі. Не навколо ноутбука й не навколо периметра, а навколо кнопки «вивести гроші».
ЩО Я ВИНІС
Ноутбук рано чи пізно скомпрометують. Мій, ваш, будь-чий. Будувати захист на тому, що цього не станеться, — будувати дім на піску. Краще зробити піском саму систему: хай у ньому тоне той, хто прийшов без запрошення.
Рекомендуємо публікації по темі