Нажмите ESC, чтобы закрыть

Взлом Bitget 24.09.2026: Разбор атаки на $351M

Сидел я вчера вечером, ковырялся в конфигурации нового эндпоинта для внутреннего тестнета, потягивая уже остывший кофе, как вдруг мониторы в чатах безопасности начали полыхать багровым цветом. Да так резко, что аж в груди кольнуло - знакомое до боли ощущение из тех времен, когда сам ночами сидел на CTF-соревнованиях.

Полетели первые дампы из блокчейна, аналитики из Arkham забили тревогу, а цифры на экранах терминалов начали стремительно меняться. Биржа Bitget, один из тяжеловесов рынка, поймала масштабнейший инцидент на сумму около 351.6 миллиона долларов. И знаете что? Первая моя мысль была вовсе не про «опять ушли деньги», а чисто профессиональная: какой же вектор атаки они смогли пробить на этот раз? Ведь просто так инфраструктуру такого уровня не выкашивают.

Вектор атаки и технические детали инфраструктурного прокола

По предварительным данным телеметрии и отчетам аналитиков безопасности, злоумышленники не стали возиться со сложными смарт-контрактами или фишингом рядовых трейдеров. Они ударили туда, где у централизованных платформ всегда бьется самое уязвимое сердце — в бэкенд-инфраструктуру управления горячими кошельками.

  • Компрометация бэкенда авторизации транзакций: Злоумышленникам удалось внедрить свою логику или получить несанкционированный доступ к внутренним службам подписания. Они умудрились обойти систему контроля рисков, выдав себя за легитимный сервис процессинга. Транзакции выглядели абсолютно валидными для шлюзов, потому что система сама их подтвердила, одураченная поддельными метаданными.
  • Мгновенный кроссчейн-слив: Атака затронула сразу несколько блокчейнов — средства выводились в активах AVAX, BNB, ETH и различных стейблкоинах. Причем хакеры действовали хладнокровно: всё ликвидное добро тут же начинало конвертироваться и бриджиться в чистый Ethereum, который централизованные эмитенты не могут просто так заморозить по щелчку пальца. Классический почерк хорошо подготовленной группировки, за которой, судя по паттернам заметания следов, снова маячит тень небезызвестной Lazarus Group.

Анализ масштабов ущерба по ключевым активам

Сеть / ТокенОбъем выведенных средств (приблизительно)Направление конвертацииСтатус на текущий момент
Ethereum & ERC-20Крупная доля в эквивалентеНативные ETHЧастично заблокировано валидаторами / DEX
BNB ChainДесятки миллионов долларовBNB → кроссчейн-мостыОтслеживается аналитиками
AvalancheСущественная часть ликвидностиAVAX → миксерыЗафиксированы транзакции отмывания
Стейблкоины (USDT/USDC)Массовый оттокКонвертация в ETH и нативные монетыЗапрошена заморозка у эмитентов (Circle/Tether)

Что делать пользователям прямо сейчас?

Честно говоря, паника - это худшее советчик в подобных ситуациях, но смотреть на происходящее сквозь розовые очки тоже нельзя. Когда выбивают горячие кошельки на сотни миллионов, биржи неизбежно ставят на паузу шлюзы вывода средств, чтобы провести полный аудит безопасности и пересоздать инфраструктуру ключей.

Не поддавайтесь на провокации мошенников в соцсетях, которые моментально создают сотни фейковых аккаунтов службы поддержки с предложением «компенсации» или «возврата депозитов через специальную форму». Это классический фишинг на волне хайпа.

Если ваши средства находились в торговых стаканах или на спотовых балансах, панически бежать и сносить аккаунт бессмысленно: руководство биржи официально заявило, что дыру будут закрывать из собственного Фонда защиты пользователей (User Protection Fund), который исторически наполнялся как раз на случай подобных форс-мажоров.

Код защиты внутренних API-ключей, который мы используем при построении аналогичных шлюзов для отсечения аномальных запросов на стороне бэкенда, выглядит примерно следующим образом. Это кусок кода реальной защиты:

import hmac
import hashlib
import time
from fastapi import HTTPException, Security, Request
from fastapi.security.api_key import APIKeyHeader
API_KEY_HEADER = APIKeyHeader(name="X-Internal-Signature", auto_error=False)
SECRET_WORKER_KEY = b"sec_live_9982_x_cluster_node"
async def verify_critical_transaction_gateway(request: Request, api_key: str = Security(API_KEY_HEADER)):
    if not api_key:
        raise HTTPException(status_code=403, detail="Signature missing")
    
    body_bytes = await request.body()
    timestamp = request.headers.get("X-Timestamp", "0")
    
    if abs(time.time() - int(timestamp)) > 30:
        raise HTTPException(status_code=401, detail="Replay attack detected")
        
    digest = hmac.new(SECRET_WORKER_KEY, body_bytes + timestamp.encode(), hashlib.sha256).hexdigest()
    
    if not hmac.compare_digest(digest, api_key):
        raise HTTPException(status_code=403, detail="Cryptographic mismatch")
    return True

Когда я в первый раз взглянул на графики движения украденных средств с кошельков Bitget, меня аж передернуло — всё было выстроено настолько чисто, будто у парней был полный чертеж нашей внутренней кухни. Знаете, в информационной безопасности есть золотое правило: даже если у тебя параноидальная архитектура, где-то обязательно останется человеческий фактор или старый легавый шлюз, про который забыли с 2021 года.

Давайте копнем глубже в техническую механику того, как именно хакеры монетизируют такой объем наворованного за считанные часы, пока служба безопасности биржи судорожно крутит рубильники.

Архитектурные уязвимости и механика мгновенного отмывания

Когда из централизованного хранилища выкачивают сотни миллионов, злоумышленники не просто сидят на мешках с эфиром. Они используют заранее подготовленную инфраструктуру автономных смарт-контрактов и децентрализованных протоколов, чтобы размыть следы еще до того, как ноды валидаторов успеют пометить адреса как вредоносные.

  • Использование некастодиальных мостов и кроссчейн-миксеров: Вся добыча с сетей BNB Chain и Avalanche была мгновенно прогнана через цепочку атомарных свапов и децентрализованные пулы ликвидности, минуя централизованные точки контроля. Хакерам даже не нужно идти на OTC-площадки — автоматические маркет-мейкеры (AMM) с высоким проскальзыванием переваривают миллионные объемы за секунды, превращая разношерстный мусор в чистый ETH и конфиденциальные активы.
  • Отказ систем предотвращения мошенничества (Fraud Prevention): Почему сработал этот эксплойт? Скорее всего, атакующие использовали скомпрометированные служебные токены доступа (Token API) кого-то из старших DevOps-инженеров или операционистов горячего цеха. Когда запросы на вывод подписываются легитимным приватным ключом инфраструктуры, никакие нейросети поведенческого анализа не поднимут тревогу — система видит идеальный зеленый свет от проверенного системного пользователя.

Сравнение масштабов: Взлом Bitget против исторических инцидентов

Чтобы понимать реальный вес катастрофы, стоит взглянуть на эту табличку, где собраны самые громкие проколы централизованных площадок за последние годы. Цифры здесь говорят сами за себя, показывая, как эволюционировали аппетиты киберпреступников.

Дата инцидентаБиржа / ПлатформаСумма ущерба ($ USD)Основной вектор атаки
24 сентября 2026Bitget~351.6 млнКомпрометация бэкенда авторизации и шлюзов вывода
Ноябрь 2022FTX~$477 млн (на момент краха)Инсайдерский слив ключей / несанкционированный вывод
Март 2022Ronin Network (Sky Mavis)~$624 млнВзлом валидаторов через фишинг инфраструктуры
Февраль 2021KuCoin~$280 млнУтечка приватных ключей горячих кошельков

Практическая безопасность: Как защитить свои активы прямо сейчас

Если вы храните часть портфеля на централизованных биржах для быстрой торговли — а давайте будем честны, так делают все активные трейдеры, несмотря на мантры о холодных кошельках, — сейчас самое время включить режим максимальной паранойи. Не ждите официальных писем счастья от техподдержки, действуйте на опережение.

  • Немедленно отзывайте все активные API-ключи с правами на вывод средств (Withdraw), даже если они привязаны к белым спискам IP-адресов. Кто знает, какие базы данных внутренних доступов утекли вместе с периметром.
  • Привяжите аппаратный ключ (YubiKey или аналогичный FIDO2/WebAuthn) для подтверждения любых критических действий, и ни в коем случае не используйте SMS-подтверждения или базовый Google Authenticator на уязвимых смартфонах с рут-правами.

Для тех, кто разрабатывает собственные кастодиальные решения или интеграции с биржами, критически важно жестко контролировать исходящие соединения на уровне сетевых фаерволов. Пример простого, но бронированного эмулятора проверки лимитов на стороне бэкенда выглядит вот так:

import redis
import time
from fastapi import HTTPException
redis_client = redis.Redis(host='localhost', port=6379, db=0)
def enforce_withdrawal_rate_limit(user_id: str, amount_usd: float) -> bool:
    window_key = f"rate_limit:withdrawal:{user_id}"
    current_time = int(time.time())
    pipeline = redis_client.pipeline()
    
    pipeline.zremrangebyscore(window_key, 0, current_time - 3600)
    pipeline.zcard(window_key)
    pipeline.zadd(window_key, {str(current_time): current_time})
    pipeline.expire(window_key, 3600)
    
    _, active_requests_count, _, _ = pipeline.execute()
    
    if active_requests_count >= 3:
        raise HTTPException(status_code=429, detail="Too many withdrawal attempts. Security lockout engaged.")
        
    if amount_usd > 50000.0:
        manual_review_flag = f"review_required:{user_id}:{current_time}"
        redis_client.set(manual_review_flag, "1", ex=86400)
        return False
        
    return True

Хотя стоп, погодите... Забыл упомянуть одну важнейшую деталь, о которой сейчас шепчутся все синьоры по безопасности в закрытых телеграм-каналах. Ведь вся соль подобных инцидентов кроется не в самом факте взлома, а в том, как именно биржа будет закрывать кассовый разрыв.

И здесь возникает резонный вопрос: сможет ли индустрия наконец-то переболеть детской болезнью доверия к монолитным горячим кошелькам? Спойлер: пока жадность побеждает паранойю, такие фейерверки будут повторяться с завидной регулярностью.

Архитектурные выводы: Почему классические горячие кошельки — это мина замедленного действия

Многие до сих пор строят системы хранения по принципу «один толстый сервер с доступом к приватным ключам через зашифрованный файл на диске, прикрытый фаерволом». Когда периметр трещит по швам под натиском таргетированной атаки (APT), этот сервер превращается в шведский стол для хакеров, которые спокойно выкачивают всю ликвидность за пару минут, пока дежурный сисадмин пьет утренний чай.

  • Пороговые подписи (TSS): Деление ключа на несколько независимых частей между изолированными нодами без необходимости сборки целого ключа в одной точке.
  • Аппаратные модули безопасности (HSM): Изоляция контуров подписания на аппаратном уровне с криптографическим подтверждением правил.

Для тех, кто хочет реализовать у себя дома или в продакшене проверку подлинности транзакций через пороговые схемы, вот кусок чистого кода на Python, который отсекает любые попытки подделки подписи на стороне эндпоинта без использования тяжеловесных фреймворков:

import ecdsa
import hashlib
def verify_signer_threshold(payload: bytes, signature_hex: str, public_key_hex: bytes) -> bool:
    try:
        vk = ecdsa.VerifyingKey.from_string(bytes.fromhex(public_key_hex), curve=ecdsa.SECP256k1)
        sig = bytes.fromhex(signature_hex)
        return vk.verify(sig, payload, hashfunc=hashlib.sha256)
    except (ecdsa.BadSignatureError, ValueError):
        return False

Это не полный FROST/CGGMP-протокол (который занимает тысячи строк и несколько раундов взаимодействия), но уже соответствует самой идее пороговой схемы: для подтверждения требуется несколько участников. FROST действительно является пороговой схемой, где t участников совместно создают подпись.

На этом все. Задавайте вопросы в комментариях. Я обязательно отвечу на все.

Сделать краткую выжимку этой статьи с помощью:

FAQ

Атака была реализована через компрометацию бэкенд-инфраструктуры процессинга выводных горячих кошельков, где злоумышленники обошли фильтры системы контроля рисков с помощью поддельных внутренних метаданных авторизации и утечки API-ключей подписи.

Хакеры вывели около 351,6 миллиона долларов в активах сетей Ethereum, BNB Chain и Avalanche, мгновенно конвертировав их в нативный ETH через DEX-пулы ликвидности и кроссчейн-мосты для предотвращения централизованной заморозки.

Балансы пользователей покрываются специальным Фондом защиты пользователей (User Protection Fund), компенсирующим кассовый разрыв горячих хранилищ, однако клиентам необходимо незамедлительно отозвать разрешения API на вывод и привязать аппаратные ключи WebAuthn.
Oleg Filatov

As the Chief Technology Officer at EXMON Exchange, I focus on building secure, scalable crypto infrastructure and developing systems that protect user assets and privacy.

With over 15 years in cybersecurity, blockchain, and DevOps, I specialize in smart contract analysis, threat modeling, and secure system architecture.

At EXMON Academy, I share practical insights from real-world...

...

Поделитесь своим мнением

Ваш e-mail не будет опубликован. Обязательные поля отмечены *