Dün gece Binance'in kripto para birimi BNB hacklendi. Yaşanan saldırı kapsamında yaklaşık 600 milyon dolara denk gelen 2 milyon BNB çalındı. Saldırganlar, likidite havuzlarındaki fonları yağmaladı.
Ayrıca saldırganlar, çaldıkları parayı başka zincirlere taşımak için blok zincirler arası köprülerden para aktarmaya çalıştı.
https://twitter.com/slowmist_team/status/1578159110708940801?s=48&t=1IHvG4WEubdWfjUTlCvA4w
Binance'in sahibi Changpeng Zhao, attığı bir tweet ile saldırı hakkında bilgi verdi. Changpeng Zhao'nun paylaştıklarına göre, BSC Token Hub'ında gerçekleşen bir istismar, fazladan BNB oluşturulmasına yol açtı. Bu noktada BSC Token Hub'ın, BNB Beacon Chain (BEP2) ve BNB Chain (BEP20 ya da BSC) arasındaki köprü olduğunu belirtelim.
An exploit on a cross-chain bridge, BSC Token Hub, resulted in extra BNB. We have asked all validators to temporarily suspend BSC. The issue is contained now. Your funds are safe. We apologize for the inconvenience and will provide further updates accordingly.
— CZ 🔶 Binance (@cz_binance) October 6, 2022
Saldırı nasıl gerçekleşti?
BNB hackini çözmeye çalışan geliştiriciler arasında yer alan paradigm araştırma ekibinden @samczsun, saldırganın Binance Köprüsü'nü iki kez kendisine 1,000,000 BNB göndermeye ikna ettiğini belirtti.
Saldırganın kritik bir hatadan (bug) yararlandığını düşünen @samczsun, saldırganın transfer işlemleriyle yasal çekim işlemlerini karşılaştırdı. Karşılaştırma sonucunda saldırganın kullandığı blok yüksekliğinin (height) hep aynı olduğu farkedildi. Saldırgan 110217401 blok yüksekliğini kullanırken, yasal çekim işlemleri 270822321 olmak üzere çok daha yüksek bir blok yüksekliğine sahipti.
Buna ek olarak saldırganın kanıtının (proof), yasal çekim işlemlerinin kanıtına kıyasla çok daha kısa olması dikkat çekti. Bu veriler ışığında saldırganın bu belirli blok için sahte bir kanıt oluşturduğu düşünüldü.
Sahte kanıtlar nasıl çalışıyor?
Binance'de IAVL ağaçlarını (tree) doğrulamak için özel bir ön derleme sözleşmesi kullanılıyor. IAVL ağaçlarını doğrularken operasyonların listesini Binance'e bildirmeniz gerekiyor. Bu noktada Binance Köprüsü sizden "iavl:v" operasyonunu ve "multistore" operasyonunu belirtmenizi bekliyor.
"110217401"
Sahte bir kanıt oluşturmak ya da başka bir deyişle bir kanıtı taklit etmek için her iki operasyonun da başarılı olması gerekmekte. Üstelik "multistore" operasyonunun tekrar sabit bir değere dönmesi şart. Bu noktada da karşımıza "110217401" çıkıyor.
Tersine mühendislik ile saldırganın attığı adımlar yeniden izlenmeye çalışıldığında, yasal bir kanıtın modifiye edilmesi gerektiği düşünülüyor. Aktarılan bilgilere göre, saldırgan, bu yasal kanıta, taklit edilmiş bir veri yükü için yeni bir yaprak (leaf) eklemiş olabilir.
Ayrıca bu modifiye etme işlemi sırasında, söz konusu yasal kanıta, kanıtlayıcıyı tatmin etmek için boş iç düğüm eklenmesi söz konusu olabilir. Bununla beraber, köprüden erken çıkmak için kanıta eklenen yeni yaprağa ince ayar yapılması da ihtimal dahilinde. Ancak tüm adımlar, saldırganın izlediği adımlarla tıpatıp aynı değil. Konunun daha detaylı anlatımı için samczsun'ın tweet selini inceleyebilirsiniz.
Binance Köprüsü'nün kanıtları doğrulama sürecinde, saldırganların gelişigüzel sahte mesajlar oluşturmasına imkan tanıyan bir hataya ev sahipliği yaptığını söylemek mümkün. Uzmanlar, bu hata nedeniyle çok daha büyük kayıplar yaşanabileceğini dile getiriyor.
Saldırının akabinde yaşananlar
Sadırı sonrasında Tether hesabı kara listeye aldı. Bu gelişmenin ardından tüm BNB zinciri işlemlerini durdurdu. BSC'nin işlemlerinin durdurulmasıyla yaklaşık 400 milyon dolarlık varlık Binance zincirinde mahsur kaldı.
Bir süre sonra BNB Chain, BSC Onaylayıcılarını düğüm (node) güncellemesi için kendileriyle iletişime geçmeye davet etti.
We request BSC Validators to get in touch with us within the next few hours so that we can plan a node upgrade.
We'd like to thank the community again for their continuous support.— BNB Chain (@BNBCHAIN) October 7, 2022
İlerleyen saatlerde BNB Beacon Chain ve BNB Smart Chain arasındaki zincirler arası iletişim devre dışı bırakıldı. Tüm düğüm çalıştırıcılarının, düğümleri v1.1.15 versiyonuna yükseltmesi istendi.
📢BNB Smart Chain (BSC) is running ok from 20+ mins ago.
The validators are confirming their status and the community infrastructure are upgrading as well.— BNB Chain (@BNBCHAIN) October 7, 2022
Yaklaşık 1.5 saat önce BNB Smart Chain yeniden düzgün çalışır hale getirildi.
Yaşanan olayların ardından Binance açıklama yaptı:
Son dönemde gündeme gelen siber saldırı hakkındaki haberler BNB Chain ile sınırlı olmakla beraber Binance ile bir ilgisi bulunmamaktadır. Binance, BNB Chain üzerinde kontrol sahibi değildir.
BNB Chain, topluluğu tarafından yönetilen, herhangi bir merkezi olmadan çalışan ve günlük aktif kullanıcı sayısı bakımından dünyanın en büyük akıllı sözleşme blokzinciridir. Operasyona geçmesinden bu yana, 163 milyon farklı adresten 3 milyar işlemi gerçekleştirerek düşük gas ücretleri ve sıfır gecikme süresi sayesinde geliştiriciler için büyük bir kullanıcı kitlesini erişime sunmaktadır. Binance ise DeFi, Meta Evrenler, blockchain oyunları, NFT’ler ve daha fazlasını kapsayan birden çok kategoride Binance Smart Chain’i kullanan 1.400’ün üzerindeki proje ve dApp’ten oluşan bir ekosistemdir.
Bir zincirler arası köprü olan BSC Token Hub’da gerçekleşen bahsi geçen olayda Binance’in
herhangi bir kaybı ve zararı bulunmamaktadır ve bu durumdan Binance kullanıcıları herhangi bir şekilde etkilenmemiştir. Olayla ilgili BNB Chain açıklamasını linkten görüntüleyebilirsiniz.