Back to Blog

TransitSwap ve BabySwap için Çalınan Fonları Nasıl Kurtardık

October 10, 2022
3 min read

Giriş

BSC üzerindeki BabySwap ve TransitSwap, 1 Ekim'de saldırıya uğradı. Bazı saldırı işlemleri bir Bot tarafından öne geçilerek gerçekleştirildi. İlginç bir şekilde, bu bot profanity aracı güvenlik açığına karşı savunmasızdı ve biz de özel anahtarı başarıyla kurtardık. Bot sözleşmesini tersine mühendislikle çözmeyi ve fonları bot sözleşmesinden güvenli hesabımıza çekmeyi de başardık. Fonları TransitSwap'e aktardık ve şu aşamada BabySwap ile iletişim kuruyoruz.

Zaman Çizelgesi

BabySwap'e Yönelik Saldırının Tespiti

2022-10-01 14:47 (UTC) tarihinde, dahili sistemimiz bir saldırı işlemi bildirdi. Daha fazla analizimiz, bunun akıllı yönlendirici sözleşmesindeki kontrol edilebilen fabrikalardan kaynaklandığını gösterdi. Ancak proje hâlâ savunmasız olduğundan o sırada ayrıntıları açıklamadık. BabySwap ile Twitter DM ve TG aracılığıyla iletişime geçtik, ancak yanıt alamadık.

Soruşturma sırasında bu işlemin, orijinal saldırı işlemini öne geçen bir bot hesabı tarafından gönderildiğini tespit ettik. Ayrıca bu hesabın sekiz baştaki sıfırdan oluşan bir deseni var; bu, profanity aracı güvenlik açığına karşı savunmasız olan profanity aracıyla oluşturulduğuna işaret ediyor.

Botun Özel Anahtarının Kurtarılması

2022-10-01 16:10 (UTC) tarihinde, aracımız bu botun özel anahtarını yaklaşık 20 dakika içinde başarıyla kurtardı. Kurtarılan özel anahtar için fonları güvenli bir hesaba aktardık (bu, kurtarma sürecimizin tipik bir adımıdır). Aksi takdirde, özel anahtarı kurtaran başkaları hesabı ele geçirebilir ve hesaptaki fonlar risk altına girebilir.

Fonların Bottan Çıkarılması

Asıl zorluk, fonların botun EOA hesabında değil, bot tarafından dağıtılan sözleşmede bulunmasıydı. Fonların nasıl aktarılacağı bir zorluk teşkil ediyordu.

Sözleşmeyi derleyip açtık ve sözleşmede bir çekim fonksiyonu bulunduğunu tespit ettik (aşağıdaki şekilde gösterildiği gibi).

Bu fonksiyon, sözleşmedeki fonları çekmek için kullanılabilir. İlk argüman token adresidir; ikinci argüman ise sıfır olmalıdır.

Bir işlem gönderdik ve fonları sözleşmeden bot hesabına başarıyla çektik, ardından fonları güvenli hesabımıza aktardık.

Bir Saldırı Daha Geldi!

Birkaç saat sonra, sistemimiz TransSwap'e yönelik başka bir saldırı bildirdi. Farklı adreslerden birkaç saldırı işlemi geldi ve bir işlem bu bot tarafından yine öne geçildi! Ancak bot tarafından dağıtılan sözleşme farklı bir sözleşme olduğundan, fonları aktarmaya yarayan fonksiyon da farklıdır.

Fonların İadesi

Dahili müzakereler sonucunda, aşağıdaki nedenlerle fonları (bot yerine) saldırıya uğrayan projelere iade etmeye karar verdik.

  • Birincisi, fonlar bot tarafından savunmasız sözleşmelere yapılan saldırı yoluyla elde edilmiştir. Bot, saldırı işlemini öne geçmiş olsa da (saldırıyı başlatan taraf olmak yerine), yine de bir saldırı işleminin öne geçilmesinin de bir saldırı niteliği taşıdığını düşünüyoruz.

  • İkincisi, fonlar saldırının mağdurlarına, yani etkilenen DeFi protokollerinin kullanıcılarına aittir. Kullanıcılar, DeFi protokolündeki güvenlik açığı nedeniyle büyük zarar gördü. Fonları saldırganlardan almaları gerekiyor.

Fonları resmi TransitFinance Fon Alıcı adresine aktardık ve BabySwap ile iletişim kuruyoruz.

Kurtarma Güncellemesi

Savunmasız adresleri kurtarma sürecimiz devam etmektedir. Zorluk, özel anahtarı kurtarmadan önce bir adresin savunmasız olup olmadığını anlayamamanızdır. Optimize edilmiş bir algoritmamız olmasına rağmen, hesaplama gücündeki kısıtlamalar nedeniyle tüm kurtarma işlemini tamamlamak için daha fazla zamana ihtiyacımız var. Tüm süreci ayrıntılı biçimde ele alacak ve aşağıdaki soruları yanıtlayacak kapsamlı bir raporu daha sonra yayınlayacağız.

  • Kaç adres savunmasız?
  • Güvenlik açığının etkisi nedir, yani güvenlik açığı nedeniyle kaç varlık risk altında?
  • Bu güvenlik açığına yönelik saldırının genel durumu nedir?

Güncellemeler için takipte kalın ve güvende olun.

Çıkarımlar

Bir DeFi projesini güvenli kılmak kolay bir iş değildir. Kod denetiminin yanı sıra, topluluğun proje durumunu izlemek için proaktif bir yöntem benimsemesi ve saldırı gerçekleşmeden önce engellenmesi gerektiğini düşünüyoruz.

BlockSec Hakkında

BlockSec, 2021 yılında dünya genelinde tanınan güvenlik uzmanlarından oluşan bir ekip tarafından kurulmuş öncü bir blok zinciri güvenlik şirketidir. Şirket, kitlesel benimsenmesini kolaylaştırmak amacıyla gelişmekte olan Web3 dünyasının güvenliğini ve kullanılabilirliğini artırmayı hedeflemektedir. Bu doğrultuda BlockSec; akıllı sözleşme ve EVM zinciri güvenlik denetim hizmetleri, güvenli geliştirme ve tehditleri proaktif olarak engelleme için Phalcon platformu, fon takibi ve soruşturma için MetaSleuth platformu ve kripto dünyasında verimli gezinen web3 geliştiricileri için MetaDock uzantısı sunmaktadır.

Bugüne kadar şirket, MetaMask, Uniswap Foundation, Compound, Forta ve PancakeSwap gibi 300'den fazla saygın müşteriye hizmet vermiş; Matrix Partners, Vitalbridge Capital ve Fenbushi Capital dahil önde gelen yatırımcılardan iki yatırım turunda on milyonlarca ABD doları finansman sağlamıştır.

Resmi web sitesi: https://blocksec.com/

Resmi Twitter hesabı: https://twitter.com/BlockSecTeam