İçindekiler
- 29 Ekim akşamı
- Bir dizüstü bilgisayardan imza altyapısına
- EIP-7702 ile kalıcı erişim
- Kaybın dağılımı
- Fonların izi
- TraderTraitor şüphesi
- Piyasa tepkisi
- Kurumlarda alınması gereken önlemler
- MDR ve SOC ekipleri için tespit rehberi
- Geliştirici cihazları ve bulut kayıtları
- Kubernetes audit log'ları
- İmza ve çekim katmanı
- On-chain IOC'ler
- Açık kalan sorular
Dünyanın en büyük kripto para borsası Binance, 29 Ekim 2026 akşamı kayıt altına alınmış en büyük kripto hırsızlığıyla karşılaştı. Saldırganlar yaklaşık yarım saat içinde borsanın on ayrı blockchain ağındaki hot wallet'larını boşalttı. Binance toplam etkiyi yaklaşık 6,3 milyar dolar olarak açıkladı. Bu rakam, Şubat 2025'te Bybit'ten çalınan 1,5 milyar doların yaklaşık dört katı. Binance'in ön bulgularına göre saldırı bir DevOps mühendisinin dizüstü bilgisayarından başladı ve hiçbir özel anahtar sızmadı. Saldırgan anahtarlara ulaşmadan, onları kullanma yetkisini ele geçirerek parayı çıkardı. Bu yazıda olayın saat saat nasıl geliştiğini, saldırının teknik olarak nasıl işlediğini, fonların nereye gittiğini ve kurumların kendi ortamlarında aynı yolu nasıl kapatabileceğini bir araya getirdik.
29 Ekim akşamı
Hazırlık bir gün önce başladı. TRM Labs'in incelemesine göre saldırganın operatör cüzdanı 28 Ekim'de Tornado Cash üzerinden yapılan üç küçük çekimle fonlandı. 29 Ekim öğleden sonra saldırgan, kendi cüzdanlarında 2 ila 6 dolarlık deneme işlemleriyle aynı tekniği prova etti ve saat 15:59 UTC'de saldırıda kullanılacak sweeper kontratını zincire yükledi. Blockaid'in ve CertiK mühendisi Dickson'ın aktardığı bu provalar, saldırının önceden adım adım planlandığını gösteriyor.
Boşaltma 20:05 civarında XRP Ledger'daki beş cüzdandan 233 milyon XRP'nin çekilmesiyle başladı. Sonraki on beş dakika içinde Solana, Optimism, Bitcoin ve Tron cüzdanları sırayla boşaltıldı. Yalnızca Bitcoin tarafında 18.270 BTC, Tron tarafında 612,7 milyon USDT çıktı. Saat 20:20:59'da Ethereum'daki en büyük hot wallet'lardan biri olan Binance 14 için bir EIP-7702 delegation işlemi zincire gönderildi. Üç buçuk dakika sonra tek bir işlemle yaklaşık 2,5 milyar dolarlık ETH ve token cüzdandan çekildi. Başlangıç saati konusunda kaynaklar ayrışıyor. TRM ilk çıkışı 20:05'e koyarken Arkham'ın CEO'su CoinDesk'e ihlalin 20:30 civarında başladığını söyledi.
BNB'deki düşüş ve stablecoin dondurmaları Binance'in açıklamasından önce başladı. BNB saat 20:50'de 692 dolarla akşamın en düşük seviyesini gördü. Tether 21:01'de 971 milyon USDT'yi, Circle 21:04'te 823 milyon USDC'yi dondurdu. Binance'in ilk kurumsal açıklaması ise 21:24'te geldi ve yalnızca olası bir güvenlik sorununa dair raporların incelendiğini söylüyordu. İlk çıkış ile borsanın ilk açıklaması arasında yaklaşık 80 dakika geçti. Çekimler 22:15 ile 22:32 arasında ağ ağ durduruldu. Binance'in kurucu ortağı Yi He gece yarısına doğru tüm yatırma ve çekim işlemlerinin askıya alındığını duyurdu.
Teknik açıdan en dikkat çekici ayrıntı, Ethereum'daki delegation'ın kalıcı olmasıydı. Binance 14'e sonradan gelen fonlar da 20:41, 21:44 ve 22:39'da aynı kontrat üzerinden saldırgana aktarıldı. Binance 22:55 civarında kalan bakiyeyi kendisi çekmeye başladı, ancak TRM'nin kayıtlarına göre delegation üzerinden yapılan son çekim 23:56'da gerçekleşti. Yani saldırgan yaklaşık üç buçuk saat boyunca cüzdana gelen her yeni fonu alabildi.
Binance'in kapsamlı açıklaması 30 Ekim saat 02:30 civarında yayımlandı. Açıklamaya göre toplam etki yaklaşık 6,3 milyar dolar, dondurulan tutar yaklaşık 3 milyar dolar ve giriş noktası bir DevOps mühendisinin dizüstü bilgisayarı. Şirket kayıpların SAFU fonu ve kendi kaynaklarıyla karşılanacağını, çekimlerin 48 saat içinde yeniden açılmasının beklendiğini söyledi. Bu yazının hazırlandığı 30 Ekim sabahı itibarıyla çekimler hala kapalıydı. Bazı haber sitelerinin "çekimler yeniden açıldı" başlıkları, kendi metinleriyle bile çelişiyor.
Bir dizüstü bilgisayardan imza altyapısına
Binance'in şu ana kadar paylaştığı tek teknik açıklama kısa ve ihtiyatlı. İlk inceleme, olayın ele geçirilmiş bir DevOps mühendisi dizüstü bilgisayarını içerebileceğini, saldırganın bu cihaz üzerinden bir service container'a eriştiğini ve buradan yetkisiz çekim işlemleri gönderdiğini gösteriyor. Şirket, herhangi bir cüzdanın özel anahtarının sızdığına dair kanıt bulmadığını da ekliyor. Dizüstü bilgisayarın nasıl ele geçirildiği, hangi container'ın kullanıldığı ve saldırganın imza servisine nasıl ulaştığı henüz açıklanmadı. Binance teknik bir inceleme raporu yayımlayacağını söylüyor.
On-chain veriler ise eksik parçaların bir kısmını tamamlıyor. Bitcoin ve EVM zincirleri ECDSA, Solana ise Ed25519 imza algoritması kullanıyor. XRP Ledger ve Tron'un da kendi işlem biçimleri var. Buna rağmen on zincirdeki cüzdanların hepsi yarım saat içinde saldırganın hazırladığı işlemler için geçerli imzalar üretti. CoinDesk'in incelediği on bir Bitcoin çıkışının her biri sıradan bir Binance çekimi gibi görünüyordu ve change çıktıları yine Binance adreslerine döndü. TRM Labs buradan hot wallet imza altyapısının ele geçirildiği sonucunu çıkarıyor. Eldeki verilere göre saldırgan büyük olasılıkla imza talep etme yetkisi olan bir servise ulaştı ve bu servis, MPC ya da HSM tabanlı signer'a saldırganın hazırladığı payload'ları iletti. Anahtarlar yerinde kaldı, ancak signer kendisine gelen talebe güvendi.
Analistler arasında bu konuda tam bir uzlaşma yok. Blockaid CEO'su Ido Ben-Natan bir anahtarın sızdığını düşünmediğini söylerken aynı şirketin blog yazısı "çalınmış anahtar" ifadesini kullanıyor. SlowMist'in CISO'su ise Binance'in açıklamasının aksine özel anahtar sızıntısı ihtimaline daha yakın durduğunu ve risk kontrolünün özel olarak hazırlanmış bir çekim aracıyla atlatılmış olabileceğini belirtiyor. Kesin cevap Binance'in teknik raporuyla netleşecek.
Dizüstü bilgisayarın nasıl ele geçirildiğine dair henüz bir bulgu yok, ancak kamuya açık en yakın örnek oldukça öğretici. Google'ın Mart 2026'da yayımladığı Threat Horizons raporunda anlatılan UNC4899 vakasında, bir kripto kuruluşunun geliştiricisine AirDrop ile aktarılan bir arşiv, yapay zeka destekli bir IDE'de açıldı ve kubectl kılığındaki bir backdoor'u çalıştırdı. Saldırgan buradan bir bastion sunucusundaki MFA politikasını değiştirdi, Kubernetes deployment'larına müdahale etti, CI/CD servis hesabı token'larını loglara yazdırdı ve privileged bir pod'dan çıkarak ortam değişkenlerindeki veritabanı kimlik bilgilerine ulaştı. Vaka milyonlarca dolarlık çekimle sonuçlandı. Binance'in "dizüstü bilgisayar, container, çekim" şeklinde özetlediği yol bu zincirle büyük ölçüde örtüşüyor. Bu benzerlik, saldırganın izlemiş olabileceği adımlar hakkında fikir veriyor.
EIP-7702 ile kalıcı erişim
EIP-7702, Mayıs 2025'teki Pectra yükseltmesiyle Ethereum'a geldi. Bu standart, sıradan bir cüzdan adresinin, yani bir EOA'nın, kendi anahtarıyla imzaladığı bir authorization ile kodunu başka bir akıllı kontrata yönlendirmesine imkan veriyor. Authorization zincire işlendiğinde, o adrese yapılan her çağrı yönlendirilen kontratın kodunu cüzdanın kendi bakiyesi üzerinde çalıştırıyor. İmzalı authorization'ı zincire herkes gönderebiliyor ve delegation, cüzdan yeni bir authorization imzalayana kadar kalıcı oluyor.
Binance olayında saldırganın operatör adresi saat 20:20:59'da, Binance 14 tarafından imzalanmış 50 ayrı authorization içeren tek bir işlem gönderdi. Her authorization 18.914.775 ile 18.914.824 arasındaki farklı bir nonce değeri için imzalanmıştı. Binance 14 o sırada normal müşteri çekimlerini işlemeye devam ettiği için nonce değeri sürekli artıyordu. Ardışık 50 değere yayılmak, işlem bloğa girdiğinde authorization'lardan birinin mutlaka eşleşmesini garanti etti. Delegation, yalnızca operatörün çağırabildiği ve kaynak kodu doğrulanmamış bir sweeper kontratına verildi. Bu kontratın sweep fonksiyonu, cüzdandaki ETH'yi ve listelenmiş bütün token'ları tek çağrıda saldırganın adresine aktardı. Blockaid'e göre ilk sweep işleminde 167.464 ETH ve aralarında 1,615 milyar USDT'nin de bulunduğu 63 farklı token çıktı. Binance 14'ü yetkili kabul eden Hot Wallet 34 adlı smart account üzerinden de yaklaşık 823 milyon USDC çekildi.
EIP-7702, Ethereum tarafında saldırının etkisini büyüten bir çarpan olarak çalıştı. Kök neden imza altyapısına ulaşılmasıydı. Diğer dokuz zincirde benzer bir mekanizma kullanılmadı, oralarda sıradan imzalı transferler yeterli oldu. Yine de EIP-7702'nin değer limitlerini nasıl devre dışı bıraktığı dikkat çekici. Bir authorization imzası para aktarmaz, yalnızca cüzdanın kodunu başka bir kontrata yönlendirir. İşlem başına ya da saatlik değer limitleri onu yakalayamaz, çünkü para daha sonra Binance'in çekim akışının dışında, saldırganın kendi adresinden çağrılan kontrat üzerinden hareket eder. Yalnızca standart transfer türlerini imzalamaya izin veren bir signer politikası bu authorization'ları baştan reddederdi. EIP-7702 authorization'ları ayrı bir domain prefix ile (0x05) imzalandığı için bu ayrımı yapmak teknik olarak mümkün.
Saldırıyı ilk tespit eden taraf Blockaid oldu. Şirketin tespit sistemi delegation'ı ve sweep işlemini yaklaşık iki dakika içinde kötü amaçlı olarak işaretledi. Ancak bu tespit üçüncü taraftan geldi ve hiçbir otomatik durdurma mekanizmasına bağlı değildi.
Kaybın dağılımı
Toplam kayıp tahminleri 5,5 ile 6,4 milyar dolar arasında değişiyor. Farkın büyük kısmı, varlıkların transfer anındaki fiyatla mı yoksa güncel fiyatla mı hesaplandığından, hangi zincirlerin sayıldığından ve ölçümün hangi saatte yapıldığından kaynaklanıyor. Aşağıdaki tablo öne çıkan tahminleri bir arada gösteriyor.
| Kaynak | Tahmin | Açıklama |
|---|---|---|
| Binance | Yaklaşık 6,3 milyar $ | Resmi tahmin, artabileceği belirtiliyor |
| TRM Labs | 6,36 milyar $ | Transfer anı fiyatlarıyla 10 zincir. Güncel fiyatlarla 6,23 milyar $ |
| Chainalysis | 6,4 / 5,9 milyar $ | CEO'nun paylaşımı ile CoinDesk'e iletilen güncel rakam farklı |
| Arkham | 6,01 milyar $ | Gece boyunca 5,72 milyar $'dan yukarı güncellendi, 9 zincir |
| Blockaid | 5,5 milyar $ | 22:00 UTC itibarıyla yapılan ilk sayım |
TRM'nin zincir bazlı dökümü Arkham'ınkiyle büyük ölçüde örtüşüyor. Kaybın yüzde 60'ı, yani 3,79 milyar dolar Ethereum'dan geliyor. Bu tutarın içinde 200.630 ETH, 1,875 milyar USDT, 823 milyon USDC ve 88,5 milyon RLUSD bulunuyor. Bitcoin tarafında 18.270 BTC ile 1,47 milyar dolar, Tron tarafında 628 milyon dolar, XRP Ledger'da 296 milyon dolar ve Solana'da 96 milyon dolar kayıp var. Hiçbir kaynakta BNB Chain kaybı geçmiyor. Bu, ele geçirilen servisin kapsamına dair bir ipucu olabilir, ancak henüz açıklanmadı. Bağlam olarak, kayıp Binance'in yaklaşık 144 milyar dolarlık varlıklarının yüzde 4'üne karşılık geliyor.
Çalınan değerin yaklaşık yarısı USDT, USDC ve RLUSD gibi merkezi bir ihraççının dondurabildiği stablecoin'lerdi. Kurtarmanın bu kadar hızlı başlamasının nedeni de bu. Tether ve Circle ilk dondurmaları Binance'in ilk açıklamasından önce yaptı. Toplam dondurulan tutar için kaynaklar farklı rakamlar veriyor. Binance yaklaşık 3 milyar dolar diyor, TRM yaklaşık 2,7 milyar dolar, Arkham ise 2,80 milyar dolar hesaplıyor. Binance'in rakamının kendi cüzdanlarında tuttuğu ya da izlediği fonları da kapsıyor olması muhtemel, ancak şirket bunu teyit etmedi.
| Aktör | Dondurulan | Not |
|---|---|---|
| Tether | Yaklaşık 1,77 milyar USDT | İlk dondurma 21:01'de 971 milyon USDT ile başladı |
| Circle | Yaklaşık 825 milyon USDC | İlk dondurma 21:04'te |
| Ripple | 40,5 milyon RLUSD | Yi He yaklaşık 200 milyon dolar diyor, fark açıklanmadı |
| World Liberty Financial | 27,8 milyon USD1 | Ele geçirilen Binance cüzdanındaki USD1 |
| Arbitrum Security Council | 8.426 ETH ve 74,6 milyon ARB | 30 Ekim 00:08'de saldırgan cüzdanından zorla çıkarıldı |
| Aave | İlgili piyasalar donduruldu | Saldırgan USDT teminatıyla yaklaşık 19.760 ETH borç almıştı |
TRM'ye göre saldırganın elinde hala 420 binden fazla ETH ve 18.270 BTC, yani yaklaşık 2,4 milyar dolarlık dondurulamayan varlık bulunuyor.
Fonların izi
Saldırgan ilk saatlerde önce dondurulabilir varlıklardan kurtulmaya çalıştı. TRM'nin aktardığına göre yaklaşık 325 milyon USDT, UniswapX gibi intent tabanlı protokoller üzerinden yaklaşık 122.300 ETH'ye çevrildi. Efektif fiyat ETH başına 2.650 dolar civarındaydı, piyasa fiyatı ise 2.300 ile 2.350 dolar arasındaydı. Saldırgan hız için yaklaşık yüzde 13 prim ödemeyi göze aldı. Aave'ye 60 milyon USDT teminat yatırılıp ETH borç alındı. Tron tarafında 300 milyon USDT JustLend'e taşındı, 200 milyon USDT ise ara cüzdanlar üzerinden Uniswap'ta takas edildi. 88,5 milyon RLUSD'nin 48 milyonu 21:42 ile 22:01 arasında DEX'lerde satıldı.
Bitcoin tarafında klasik bir peel chain başladı. Fonlar 1.000 ve 100 BTC'lik parçalara bölünüyor ve CoinDesk'in tespitine göre 1,4 milyar dolarlık bitcoin şimdiden 19 ayrı cüzdana dağıtıldı. ZachXBT'nin tespitine göre bir sonraki aşama da başladı. Binance ve Eylül 2026'daki Bitget saldırısından gelen fonlar THORChain'den geçtikten sonra aynı adreste birleşti. Tornado Cash şimdilik yalnızca saldırı öncesindeki fonlamada görüldü. Bybit ve KelpDAO vakalarında THORChain çalınan fonların büyük kısmını taşımış, son aşamada Çinli OTC aracılar devreye girmişti. Aynı desenin burada da aylarca süren bir THORChain, Bitcoin ve OTC döngüsüyle tekrarlanması bekleniyor.
TraderTraitor şüphesi
Güvenlik firmalarının büyük kısmı saldırıyı Kuzey Kore'ye, özellikle Lazarus çatısı altında izlenen TraderTraitor grubuna bağlıyor. TRM Labs saldırıyı yüksek güvenle TraderTraitor'a bağlıyor ve bunu on-chain ve off-chain istihbarata dayandırıyor. Chainalysis sözcüsü CNN'e Kuzey Kore konusunda yüksek güvene sahip olduklarını söylerken şirketin CEO'su X'teki paylaşımında "muhtemelen" ifadesini kullandı. ZachXBT Lazarus'u işaret ediyor, Blockaid de taktiklerin Kuzey Kore operasyonlarıyla tutarlı olduğunu belirtiyor. Binance ise bir fail adı vermedi. FBI ve ABD Adalet Bakanlığı yorum taleplerine yanıt vermedi ve 30 Ekim itibarıyla hiçbir hükümet resmi bir atıf yapmadı.
Atıfın bir zayıf noktası da var. Kamuya açık en güçlü on-chain bağlantı Bitget fonlarıyla birleşme, ancak Bitget saldırısının kendi atfı da kesinleşmemişti. Yani atıf zinciri kısmen kendi kendini doğrulayan bir yapıda. Bu yüzden Kuzey Kore sorumluluğunu şimdilik orta ile yüksek arası bir güven düzeyinde değerlendirmek daha doğru olur. Bybit vakasında FBI'ın resmi atfı adres listesiyle birlikte beş gün sonra gelmişti. Benzer bir duyurunun önümüzdeki günlerde gelmesi şaşırtıcı olmaz.
Taktik açısından Binance olayı, Bybit'in büyütülmüş bir tekrarı gibi duruyor. Bybit'te saldırganlar Safe{Wallet} geliştiricisinin macOS cihazını ele geçirmiş, çalınan AWS oturum token'larıyla imzalama arayüzüne zararlı JavaScript yerleştirmiş ve insan signer'ların değiştirilmiş işlemi körü körüne onaylamasını sağlamıştı. 2024'teki DMM Bitcoin vakasında ise cüzdan sağlayıcısı Ginco'nun bir çalışanı sahte bir LinkedIn işe alım süreciyle kandırılmıştı. Üç vakada da saldırı privileged erişimi olan bir geliştirici ya da operasyon cihazından başlıyor, işlemi hazırlayan sisteme uzanıyor ve meşru signer'ların saldırganın payload'ını imzalamasıyla sonuçlanıyor.
| Binance (Ekim 2026) | Bybit (Şubat 2025) | DMM Bitcoin (Mayıs 2024) | |
|---|---|---|---|
| Kayıp | Yaklaşık 6,3 milyar $ | Yaklaşık 1,46 milyar $ | Yaklaşık 305 milyon $ |
| İlk erişim | DevOps mühendisinin dizüstü bilgisayarı, yöntem bilinmiyor | Safe{Wallet} geliştiricisinin macOS cihazı | Ginco çalışanı, sahte işe alım ve kodlama testi |
| İmzanın kötüye kullanımı | Otomatik signer saldırganın payload'larını imzaladı | İnsan signer'lar değiştirilmiş işlemi onayladı | Meşru akış değiştirilmiş talebi imzaladı |
| Resmi atıf | 30 Ekim itibarıyla yok | FBI, beş gün sonra TraderTraitor | FBI ve Japonya Ulusal Polis Ajansı, TraderTraitor |
Binance olayı bu deseni iki yönde tırmandırıyor. Birincisi, kandırılması gereken bir insan signer yoktu, signer otomatik çalışıyordu. İkincisi, EIP-7702 saldırgana bir treasury cüzdanı üzerinde kalıcı kontrol verdi. Chainalysis'in verilerine göre Kuzey Kore 2025'te toplam 2,02 milyar dolar çalmıştı ve 2022'den bu yana kümülatif toplam yaklaşık 6,75 milyar dolardı. Binance olayı tek başına bu toplama neredeyse eşit.
Piyasa tepkisi
Piyasa şoku sert ama kısa sürdü. The Block ve CoinDesk'in verilerine göre BTC 80 bin dolar seviyesinden 77 bin doların altına indi ve 30 Ekim 02:07'de 76.418 dolarla en düşük seviyesini gördü. ETH yüzde 5 ile 6 arasında değer kaybetti. BNB'deki düşüş kaynağa göre yüzde 6,3 ile yaklaşık yüzde 10 arasında raporlanıyor. CoinGlass verilerine göre 24 saatte 1,55 milyar dolarlık pozisyon likide oldu. AFP'nin aktardığına göre BTC ve ETH saat 04:00 GMT'ye kadar kayıplarının büyük kısmını geri aldı, BNB ise sabah saatlerinde hala yüzde 5 civarında değer kaybındaydı.
Binance, kullanıcı fonlarının güvende olduğunu ve tüm kayıpların SAFU fonu ile şirket kaynaklarından karşılanacağını söylüyor. Kayıp Binance'in kendi hot wallet'larından çıktığı için açığın şirket tarafından kapatılması bekleniyor. Ancak CoinDesk'e göre SAFU fonunda yaklaşık 1 milyar dolarlık bitcoin bulunuyor ve bu, toplam etkinin altıda birine denk geliyor. Dondurulan stablecoin'lerin Binance'e ne zaman ve nasıl iade edileceği de açıklanmadı. NBC News'in hatırlattığı gibi borsalardaki varlıklar otomatik olarak sigortalı değil ve kayıpların karşılanması tamamen borsanın kararına bağlı.
Bu tür büyük olayların ardından neredeyse her zaman sahte iade ve destek dolandırıcılıkları gelir. Kullanıcılar "kaybınızı geri alın" vaadiyle gelen formlara, Binance destek ekibi gibi davranan mesajlara ve sosyal medyadaki sahte duyurulara karşı uyarılmalı, yalnızca Binance'in resmi kanalları takip edilmelidir.
Kurumlarda alınması gereken önlemler
İlk ders, MPC, multisig ya da HSM tartışmasının yanlış başlangıç noktası olduğu. Bu üç yaklaşım da anahtar materyalini korur. Oysa Bybit'te de Binance'te de saldırganlar onay akışını hedef aldı. Belirleyici olan, imzayı hangi servisin istediği ve imzalanan içeriğin gerçekte ne olduğuydu. Bu nedenle imza politikası, imza talep eden servisten ayrı bir trust boundary içinde çalışmalı ve kuralları birden fazla yetkilinin onayı olmadan değiştirilememelidir. Policy engine hedef adres allowlist'lerini, yeni adresler için bekleme süresini, varlık ve cüzdan bazlı velocity limitlerini ve izin verilen işlem türlerini denetlemeli, imza öncesinde işlemin sonucunu simüle etmelidir. TRM Labs'in olay sonrası önerileri de bu katmanı hedefliyor. Buna göre beklenmedik EIP-7702 authorization'ları reddedilmeli, bir nonce aralığına yayılan çoklu authorization talebi tek başına bir IOC sayılmalı, imza akışları zincire ve cüzdan katmanına göre ayrılmalı ve delegation iptali için önceden test edilmiş bir yöntem hazır tutulmalıdır. Son madde Binance'te belirleyici oldu, çünkü delegation 20:20'de kuruldu ve çekimler 23:56'ya kadar sürdü.
İkinci ders, otomatik circuit breaker'ların gerekliliği. Sekiz ila on zincirin yarım saat içinde aynı anda boşalması, bir risk engine'in yakalaması gereken en açık sinyal. Belirli bir süre içinde hot wallet bakiyesinin belirli bir oranından fazlasının çıkması ya da birden fazla zincirden eş zamanlı çıkış görülmesi durumunda sistem insan onayı beklemeden durmalıdır. Hot wallet'larda tutulan bakiyenin büyüklüğü de ayrı bir risk. Yalnızca Binance 14'te yaklaşık 2,5 milyar dolar bekliyordu. FBI da 2024'te kripto şirketlerine, finansal varlık hareketinden önce birbirine bağlı olmayan farklı ağlar üzerinden çok faktörlü onay alınmasını önermişti.
Üçüncü ders, geliştirici cihazı ile üretim ortamı arasındaki köprünün kaldırılması. TraderTraitor 2022'den bu yana sistem yöneticilerini, geliştiricileri ve DevOps mühendislerini hedefliyor. CISA'nın AA22-108A numaralı uyarısı bu grubu tam olarak bu hedef kitleyle tanımlıyor. Sahte işe alım süreçleri, zararlı npm paketleri ve trojanlı kodlama testleri grubun en sık kullandığı yöntemler. Aşağıdaki kontroller bu yolu farklı noktalarından kesiyor.
| Kontrol | Kestiği adım |
|---|---|
| Üretim kubeconfig'lerinin ve bulut yönetici oturumlarının yalnızca privileged access workstation'larda tutulması | E-posta ve LinkedIn kullanılan, npm install çalıştırılan cihazdan üretime doğrudan erişim |
İmza ve ödeme namespace'lerinde pods/exec, pods/attach ve deployment patch yetkilerinin kalıcı olarak kimseye verilmemesi, gerektiğinde just-in-time verilmesi |
Ele geçirilen bir kimlikle container içine komut çalıştırma |
| Statik secret'lar yerine workload identity kullanılması, ortam değişkenlerinde kimlik bilgisi tutulmaması | Container'dan imza servisine ya da veritabanına geçiş |
| Kısa ömürlü ve cihaza bağlı oturumlar, geçici kimlik bilgileriyle MFA kaydının engellenmesi | Bybit'teki gibi çalınan oturum token'larının başka bir cihazdan kullanılması |
| İşe giriş testlerinin ve üçüncü taraf kodların şirket cihazında çalıştırılmaması | Sahte işe alım ve trojanlı kodlama testi |
| Application allowlisting ve kurumsal ile kişisel cihazların ayrılması | Zararlı Python ve Node payload'larının çalışması |
| Pod Security Standards'ta restricted profilinin uygulanması, privileged pod'a izin verilmemesi | Container'dan host'a kaçış |
Mühendislerinin kubeconfig'i ya da bulut oturumu ödeme, ERP, SWIFT veya kod imzalama servislerine ulaşabilen her kurumda Binance'tekine benzer bir yol bulunuyor. Bankalarda, ödeme kuruluşlarında ve büyük işletmelerde de ödeme başlatan servis kendi işlemini onaylayamamalı, onay akışı ve limitler uygulama ekibinin yönetim alanı dışında tutulmalı, yeni alıcılar out-of-band bir kanaldan doğrulanmalı ve acil durdurma yetkisi hazine biriminde olmalıdır.
MDR ve SOC ekipleri için tespit rehberi
Bu tür bir saldırıda tekil alarmlar çoğu zaman orta önem seviyesinde kalır ve kolayca gözden kaçar. Asıl değerli olan, aynı kimlik etrafında oluşan dizinin yakalanmasıdır. Geliştirici cihazında bir kimlik bilgisi erişimi, ardından aynı kimliğin oturumunun yeni bir IP adresinden ya da cihazdan görünmesi, ardından üretim control plane'inde bir işlem ve son olarak ödeme ya da çekim API'sinde alışılmadık bir kullanım. Bu adımlar 24 saat içinde aynı kimlikte art arda geliyorsa olay doğrudan kritik seviyeye yükseltilmelidir.
Geliştirici cihazları ve bulut kayıtları
Elastic Security Labs'in Bybit vakası için yayımladığı kural seti, macOS geliştirici cihazları için iyi bir başlangıç noktası. "Self-Deleting Python Script", "Potential Python Stealer" ve "Cloud Credential Files Accessed by Process in Suspicious Directory" kuralları TraderTraitor'ın bilinen araçlarının davranışlarını hedefliyor. Unit 42'nin Slow Pisces raporuna göre grubun payload'ları ~/Public/__init__.py dosyasını oluşturup çalıştırdıktan sonra siliyor, ardından login.keychain-db, ~/.ssh, ~/.aws ve ~/.kube dizinlerindeki kimlik bilgilerini topluyor. Bir Node ya da Python sürecinin bu dizinlere erişmesi, shell açması ya da yeni bir LaunchAgent oluşturması geliştirici cihazlarında yakından izlenmelidir. UNC4899 vakasındaki gibi bir IDE'den başlatılan ve kubectl görünümünde olan ancak imzası ya da yolu beklenenden farklı bir binary de doğrudan incelenmelidir.
Bulut tarafında AWS CloudTrail için "STS Temporary IAM Session Token Used from Multiple Addresses" ve "IAM Attempt to Register Virtual MFA Device with Temporary Credentials" kuralları, çalınan oturum token'larının başka bir yerden kullanılmasını yakalamak için tasarlandı. GCP ortamlarında bastion sunucularındaki MFA politikası değişiklikleri ve alışılmadık kimliklerden yapılan Cloud SQL Auth Proxy bağlantıları aynı amaçla izlenmelidir.
Kubernetes audit log'ları
Binance'in tarif ettiği yolun ortasında bir container var. Üretimdeki imza ve ödeme servislerinin çalıştığı namespace'lerde bir kullanıcının pod içine komut çalıştırması, olağan bir operasyon olmamalı. Aşağıdaki kural SigmaHQ'daki "Potential Remote Command Execution In Pod Container" kuralını bu namespace'lere daraltıyor. Namespace adları ortama göre uyarlanmalıdır.
title: İmza ve ödeme namespace'lerinde pod içine komut çalıştırma
status: experimental
description: >-
Üretim imza servislerine exec, attach veya port-forward ile
doğrudan erişim
logsource:
product: kubernetes
service: audit
detection:
selection:
verb: create
objectRef.resource: pods
objectRef.subresource:
- exec
- attach
- portforward
objectRef.namespace:
- signing
- wallet
- payments
condition: selection
falsepositives:
- Onaylı ve kayıt altına alınmış acil durum erişimi
level: high
tags:
- attack.execution
- attack.t1609
Kuralın çalışması için audit policy'nin bu istekleri en az Metadata seviyesinde kaydetmesi gerekiyor. EKS, GKE ve AKS kullanılan ortamlarda control plane audit log'larının açık olduğu ve SIEM'e aktığı ayrıca doğrulanmalıdır. Geriye dönük tarama ve yetki kontrolü için aşağıdaki komutlar kullanılabilir.
# Audit log'larda exec ve attach yapan kimlikler, kaynak IP'ler ve hedef pod'lar
jq -r 'select(.objectRef.subresource=="exec" or .objectRef.subresource=="attach")
| [.requestReceivedTimestamp, .user.username, (.sourceIPs | join(",")),
.objectRef.namespace, .objectRef.name] | @tsv' audit.log
# Bir kullanıcının imza namespace'inde exec yetkisi olup olmadığı
kubectl auth can-i create pods --subresource=exec -n signing \
[email protected]
Bunlara ek olarak bir insan kimliğinin serviceaccounts/token oluşturması, CI/CD servis hesabı dışında birinin imza namespace'indeki bir deployment'a curl, wget ya da bash -c içeren bir komut eklemesi ve privileged: true ya da hostPath içeren bir pod oluşturulması da alarm üretmelidir.
İmza ve çekim katmanı
Çekim ve ödeme API'lerini çağıran her servis hesabının hangi hedeflere, hangi tutarlarda, hangi sıklıkla ve hangi zincirlerde işlem yaptığı baseline olarak çıkarılmalıdır. İlk kez görülen bir hedefe eşik üstü bir tutar gönderilmesi, birden fazla zincirde eş zamanlı çıkış, daha önce görülmemiş bir container imajından gelen çağrı ve hiç görülmemiş bir imza talep türü kritik kabul edilmelidir. Bu son kategori EIP-7702 authorization'larını, kontrat delegation'larını ve onay politikası değişikliklerini kapsar.
Ethereum'da işlem yapan kurumlar kendi treasury adreslerinde bir EIP-7702 delegation olup olmadığını basit bir kontrolle izleyebilir. Sıradan bir EOA'nın kodu boş olmalıdır. Standarda göre 0xef0100 ile başlayan bir kod, adresin başka bir kontrata yönlendirildiğini gösterir.
# Boş sonuç (0x) beklenir.
# 0xef0100 ile başlayan bir değer EIP-7702 delegation demektir.
cast code <treasury_adresi> --rpc-url "$ETH_RPC_URL"
Bu kontrol her blokta ya da en azından birkaç dakikada bir çalıştırılmalı, beklenmedik bir değer görüldüğünde doğrudan çekim akışını durduran bir otomasyona bağlanmalıdır.
On-chain IOC'ler
Blockaid'in yayımladığı adresler aşağıda yer alıyor. Kripto varlık hizmet sağlayıcıları ve ödeme kuruluşları bu adreslerle etkileşimi taramalı, FBI bir adres listesi yayımladığında bu liste de tarama kapsamına eklenmelidir.
| IOC | Değer |
|---|---|
| Operatör adresi | 0x7C8601d4645b93cea45F71e118A729332e6B5CA0 |
| Sweeper kontratı | 0x63e842B054Bd624a465454D533C33F573e9c6fAe |
| Fonların aktarıldığı adres | 0x5227f603C1eE34CE3C06eFe6477003BDfCCB2f8c |
| Arkham etiketi | binance-hacker-1029, yaklaşık 70 adres |
| Etherscan etiketi | Binance Hot Wallet Exploiter 2 |
Bu olayda tespit hızı ile müdahale hızı arasındaki fark dikkat çekici. Blockaid delegation'ı ve sweep işlemini yaklaşık iki dakikada işaretledi, Tether ve Circle ilk çıkıştan yaklaşık bir saat sonra dondurmaya başladı, Binance'in kendi kurtarma adımı ise delegation'dan yaklaşık iki buçuk saat sonra geldi. Otomatik bir circuit breaker'a ve önceden onaylanmış bir iptal adımına bağlanmayan tespit, kaybı durdurmaya yetmiyor.
Açık kalan sorular
Olayın en kritik soruları hala açık. Dizüstü bilgisayarın nasıl ele geçirildiği, container'a hangi kimlik bilgisinin taşındığı, Binance'in risk engine'inin on zincirde eş zamanlı çıkışı neden durdurmadığı ve BNB Chain'in neden etkilenmediği henüz bilinmiyor. EIP-7702 authorization'larının yalnızca Ethereum mainnet'te mi yoksa bütün EVM zincirlerinde mi geçerli olacak şekilde imzalandığı da açıklanmadı.
Fatih Purtaş
Purple Team Lead, InfinitumIT