Köprü hackleri Vitalik Buterin’in 2022 başında dikkat çektiği ve sonrasında yatırımcıların başını çok ağrıtan olaylardı. Ronin köprüsünden yüz milyonlarca dolar çalındı. Şimdi gelecekte daha büyük kayıplara yol açabilecek kritik bir açık erkenden keşfedildi. Aptos ağında keşfedilen zafiyet MOVE kodlama dilinin yanlış kullanılmasından kaynaklanıyordu. İşte detaylar.
Kritik Güvenlik Açığı
CertiK kripto alanında tanınan siber güvenlik, denetleme şirketlerinden biri. Akıllı sözleşmeler faaliyete başlamadan önce eğer yatırımcılarını dolandırmayı amaçlamıyorsa CertiK gibi denetim şirketlerinden kod inceleme hizmeti alıyor. Bu şirketlerin yaptığı şey akıllı sözleşmelerdeki zafiyetleri tespit ederek bunları yamamak.
Klasik siber güvenlik şirketlerinin yaptığı penetrasyon testlerin benzer süreçlerin yanı sıra kriptoda asıl sorun kod hataları olduğundan buna odaklanıyorlar. Kodlarda gözden kaçan ve saldırganların giriş kapısı olarak kullanabileceği açıklar devasa kayıplara yol açabilir. CertiK’in sosyal medya gönderisine göre, Aptos ağındaki Wormhole köprüsünde bu kritik açıklardan biri tespit edildi.
Platform, hatayı keşfettiğini ve Wormhole ekibiyle iletişime geçtiğini açıkladı. Yoğun biçimde kullanılmadığından şimdilik bu haliyle köprü hacklenseydi en az 5 milyon dolarlık kayıp yaşanabilirdi.
Aptos Güvenlik Açığı
Facebook’un meşhur Libra projesi için geliştirilen MOVE diliyle inşa edilen Aptos hali hazırda Solana rakibi ağlar arasında. Geliştiriciler bugüne kadar MOVE dilinin diğerlerine kıyasla daha güvenli olduğunu düşünüyordu. Ancak şirketin raporuna göre ilk bölümde bahsettiğimiz kusur MOVE dilinin hatalı kullanılmasından kaynaklanıyordu. Ekip şunları söyledi;
“MOVE programlama dilindeki ‘public(friend)’ ve ‘entry’ modifier’larının yanlış uygulanmasından kaynaklanıyor. public(friend)’ modifieri bir fonksiyonun aynı modül içindeki diğer fonksiyonlar ya da bir ” friends list” üzerinde belirtilen harici hesaplar tarafından çağrılmasına izin verir, ancak diğer çağıranlar tarafından çağrılamaz. Öte yandan, ‘entry’ modifier’ı bir fonksiyonun herhangi bir harici hesap tarafından çağrılabileceğini belirtir.”
Köprüyü kodlayan ekip ‘publish_event’ işlevinin istismara açık biçimde tasarlanması sebebiyle bu zafiyete yol açtı. Bu teknik laf salatalarını kenara bırakırsak kötü niyetli birinin kod açığını kullanarak köprüden gerçekte var olmayan tokenleri geçirip diğer tarafta sattığını görebilirdik. Köprüden geçen varlıklar önce teminatlandırıp sonrasında ağda yerel versiyonlarının kilidi açılıyor. Yeni yama, publish_event işlevinden ‘entry’ anahtar kelimesinin kaldırılmasıyla zafiyeti ortadan kaldırdı. Wormhole 2022 yılında benzer bir açıktan dolayı 321 milyon dolarlık kayıp yaşamıştı.