Derinlik Analizi Safe Sıkıntısı: Guard Sözleşme Babel Kulesi'ni Yeniden İnşa Edebilir mi?
2025年2月21日, kripto para sektörü tarihinin en ciddi varlık yönetimi krizini yaşadı. Bir ticaret platformunun zincir üzerindeki çoklu imza cüzdanı hedefli bir saldırıya uğradı ve yaklaşık 1.5 milyar dolar değerindeki varlık, "meşru imza" ile yapılan bir işlemle sessizce kayboldu. Olaydan sonra zincir üzerindeki analizler, saldırganların hassas sosyal mühendislik saldırılarıyla çoklu imza yetkilerini elde ettiğini, Safe sözleşmesinin deleGatecall fonksiyonunu kötü amaçlı mantık yerleştirmek için kullandığını ve sonunda çoklu imza doğrulama mekanizmasını aşarak fonları anonim bir adrese transfer ettiğini gösterdi.
Bu olay, "çoklu imza"nın "mutlak güvenlik" ile eşdeğer olmadığını ortaya koyan acı bir gerçeği açığa çıkardı. Safe çoklu imza cüzdanı gibi güvenlik mekanizmaları bile, ek koruma önlemleri eksik olduğunda, hala saldırıya uğrama riski taşır. Bu, Safe çoklu imza cüzdanına yönelik ilk saldırı vakası değildir. Geçen yıl iki tanınmış borsa, benzer saldırı yöntemleriyle sırasıyla 230 milyon dolar ve 50 milyon dolar kaybetti. Safe çoklu imza cüzdanı saldırı olayları aşağıdaki teknik benzerlikleri göstermektedir:
Aşırı bağımlılık imza mekanizması: Güvenlik sorumluluğunu tamamen özel anahtarın saklanmasına devretmek.
Dinamik savunma eksikliği: İşlem gerçekleştirilmeden önce gerçek zamanlı risk taramasının olmaması.
İzin kontrolü kaba: deleGatecall gibi yüksek riskli işlemler için beyaz liste mekanizması kurulmamıştır.
Bu olaylar dizisinin temel sorunu, Safe sözleşmesinin kendisinde değil, tüm sistemin entegrasyon sürecindeki güvenlik açıklarındadır, özellikle de ön uç doğrulama aşamasında. Bu, bize şunu düşünmeye zorlar: Safe'in ek güvenlik önlemleri mekanizması aracılığıyla çok imzalı cüzdanların koruma yeteneklerini nasıl güçlendirebiliriz?
Güvenli
Safe, yüksek değerli varlıkların ve dijital para birimlerinin güvenli depolanması ve transferi için kullanılan çoklu imza (Multi-Sig) cüzdanıdır. Merkeziyetsiz varlık yönetiminin altyapısı olarak, çok taraflı iş birliği doğrulama mekanizması ile fon işlemlerinin güvenliğini sağlar, tek bir yöneticinin veya hackerın tek nokta arızasını kullanarak kötü niyetli işlemler yapmasını engeller. DAO yönetimi, kurumsal fon yönetimi, merkeziyetsiz fon havuzları gibi senaryolar için geniş bir şekilde kullanılmaktadır. Bu sözleşme, Safe (eski adıyla Gnosis Safe) ekibi tarafından geliştirilmiştir ve mevcut endüstri standardı olan zincir üstü varlık yönetim çözümüdür. Sözleşme, işlem verilerinin güvenliğini ve doğrulanabilirliğini artırmak için yapılandırılmış veri imzalamayı gerçekleştiren EIP-712 standardını kullanmaktadır.
Temel Kullanım
Fon güvenliği yönetimi: Sözleşme, işlemin gerçekleştirilebilmesi için önceden belirlenmiş birden fazla (Sahip) tarafından ortak onaylanmasını gerektirir, bu sayede tek nokta hataları veya kötü niyetli işlemleri etkili bir şekilde önler ve fon güvenliğini sağlar.
İşlem yürütme ve yönetimi: Dahili çoklu imza doğrulama mekanizması sayesinde, sözleşme imza eşiği koşulları karşılandığında dışa transfer gerçekleştirebilir, diğer sözleşmeleri çağırabilir veya karmaşık iş mantığını işleyebilir, token ve yerel para birimleri için ödeme ve ücret tazminatını destekler.
Modüler genişleme: Sözleşme, OwnerManager, ModuleManager, GuardManager, FallbackManager gibi birden fazla yönetim modülünün miras alınması ve birleştirilmesi yoluyla modüler bir tasarım benimser. Bu, işlevselliği esnek hale getirir ve genişletmeyi kolaylaştırır, farklı uygulama senaryoları için özelleştirilmiş destek sağlar.
Fonksiyon Analizi
execTransaction fonksiyonu çoklu imza doğrulaması yapılmış işlemleri gerçekleştirir:
İşlemin benzersiz hash değerini hesapla (işlem parametreleri, nonce vb. ile birleştirerek);
Tüm imzaların geçerliliğini doğrulayın, her imzanın yasal sahibinden veya önceden onaylı bir adresten geldiğinden emin olun;
Hedef adresin iş mantığını çağırın ve işlem gerçekleştikten sonra olaylar aracılığıyla başarı veya başarısızlık durumunu kaydedin;
Esnek gaz ücreti işlemlerini destekler, tazminat ödemelerinde işlem maliyetinin doğru hesaplanmasını sağlar.
checkContractSignatures & checkNSignatures fonksiyonları, işlem veya mesajın imza verilerini doğrular:
EOA hesap imzalarını, sözleşme imzalarını (EIP-1271) ve ön onaylı hash'leri ayrı ayrı işleyin;
İmzaların sahiplerin sırasına göre düzenli olduğundan ve her imzanın geçerli bir adresten geldiğinden emin olun, bu sayede yeniden oynatma saldırılarını ve imza değişikliklerini önleyin.
getTransactionHash fonksiyonu, imza doğrulama ve yeniden oynama saldırılarını önlemek için işlem hash'ini oluşturur:
EIP-712 standardını kullanarak işlem verilerini yapılandırılmış hash'e dönüştür;
Bellek işlemlerini optimize etmek için satır içi montaj kullanarak hesaplama verimliliğini artırın;
Mevcut nonce değerini birleştirerek her bir işlemin benzersizliğini sağlamak.
handlePayment fonksiyonu, işlem sürecindeki gas tazminat ödemesini işler:
Gerçek tüketilen gas ücretleri ve temel ücretler dikkate alınarak ödeme tutarı hesaplanır;
ETH ve diğer tokenlerin ödemesini destekleyerek, ücretlerin doğru bir şekilde telafi edilmesini sağlar.
onBeforeExecTransaction, execTransaction fonksiyonu çalıştırılmadan önce çağrılan bir iç sanal kanca fonksiyonudur. Bu fonksiyonun tasarım amacı, Safe sözleşmesini miras alan alt sözleşmelerin işlem gerçekleştirilmeden önce özelleştirilmiş mantık işlemleri yapmasına izin vermektir. Alınan parametre kümesi şunları içerir:
to:Hedef adres - İşlemin çağıracağı sözleşme veya hesap adresi
değer: Ethereum değeri - İşlemle gönderilen Ethereum miktarı
data: Veri yükü - Fonksiyon seçici ve parametreleri içeren çağrı verisi
işlem: İşlem türü - CALL mı yoksa DELEGateCALL mı olduğunu belirleyin
safeTxGas: İşlem gaz limiti - İşlemi gerçekleştirmek için ayrılan gaz miktarı
baseGas:Temel gas - İşlem yürütümünden bağımsız gas maliyeti
gasPrice:gas fiyatı - işlem maliyetlerini telafi etmek için kullanılan gas fiyatı
gasToken:gas token - İşlem ücretlerini ödemek için kullanılan token adresi
refundReceiver:Geri ödeme alıcısı - İşlem ücreti tazminatını alan adres
signatures:İmza kümesi - Sahibin işlem üzerindeki imza verileri
Çoklu imza cüzdanı sözleşmeleri, titiz güvenlik tasarımı ve esnek modüler yapısıyla dijital varlık yönetimine verimli ve güvenli bir çözüm sunarak işlem başlatmadan nihai yürütmeye kadar olan süreçte tam güvenlik kontrolü sağlamakta ve blok zinciri güvenlik yönetiminin önemli bir aracı haline gelmektedir. Ancak, dikkat edilmesi gereken bir diğer husus, mağdurların çoğunun imza için donanım cüzdanlarına güvenmesidir; bazı donanım cihazları ise yapılandırılmış veri imzasının gösteriminde yetersiz kalmakta ve kullanıcıların işlem verilerini kısa sürede doğru bir şekilde tanıyamamasına neden olmakta, böylece "kör imza" riski ortaya çıkmaktadır. Bu duruma karşı, donanım ve veri gösterim performansını optimize etmenin yanı sıra, çoklu onay, akıllı uyarılar ve imza doğrulama araçlarını güçlendirme gibi önlemlerin de araştırılması, kör imzanın getirdiği güvenlik risklerini daha da azaltabilir.
Güvenlik Koruması
Safe sözleşmesine 1.3.0 sürümünde tanıtılan önemli güvenlik özelliği ------ Safe Guard mekanizması. Bu mekanizma, standart n-out-of-m çoklu imza şemasına ek kısıtlama koşulları sağlamayı hedefleyerek işlem güvenliğini daha da artırmaktadır. Safe Guard'ın temel değeri, işlem gerçekleştirme aşamalarının farklı aşamalarında güvenlik kontrolü yapabilme yeteneğidir:
İşlemden önce (checkTransaction) kontrolü: Guard mekanizması, işlem gerçekleştirilmeden önce işlemle ilgili tüm parametreleri programatik olarak kontrol edebilir ve işlemin önceden belirlenmiş güvenlik kurallarına uygun olmasını sağlar.
İşlem sonrası kontrol (checkAfterExecution): İşlem tamamlandıktan sonra, Guard ek bir güvenlik doğrulaması yapacak ve işlem sonrası Safe cüzdanının nihai durumunun beklentilere uygun olup olmadığını kontrol edecektir.
Mimari Analiz
Safe'de, çoklu imza işlemleri genellikle execTransaction fonksiyonu aracılığıyla gerçekleştirilir. Safe Guard etkinleştirildiğinde, kullanıcı çoklu imza işlemi gerçekleştirdiğinde, Safe sözleşmesi Guard sözleşmesinin checkTransaction fonksiyonunu çağırarak işlemi ön kontrol eder; çoklu imza işlemi tamamlandığında ise Safe sözleşmesi Guard sözleşmesinin checkAfterExecution fonksiyonunu çağırarak işlemin sonuçlarını kontrol eder.
Safe sözleşmesi Guard mekanizması aracılığıyla çoklu imza işlemi ön kontrolü gerçekleştirdiğinde, checkTransaction işlevi hedef sözleşme adresi, çağrı yöntemi, yürütme verileri (örneğin deleGatecall), owner imza bilgileri, Gas yapılandırması ve ödeme bilgilerini içeren tam işlem bağlam verilerini alacaktır. Bu mekanizma geliştiricilerin çok boyutlu risk kontrol stratejileri uygulamasını sağlar; örneğin, sözleşme beyaz liste kontrolü (etkileşimli adresleri kısıtlama), işlev seviyesinde yetki yönetimi (yüksek riskli işlev seçicilerini devre dışı bırakma), işlem sıklığı kısıtlaması ve fon akışına dayalı dinamik kurallar gibi. Guard stratejileri uygun şekilde yapılandırıldığında, saldırganların sözleşme dışı seviyelerde saldırı gerçekleştirmesini etkili bir şekilde engelleyebilir.
Son zamanlarda sürekli ortaya çıkan güvenlik olayları çerçevesinde, taraflar çoklu imza cüzdan sözleşmelerinin güvenliğine giderek daha fazla önem vermekte, donanım cüzdanı sağlayıcıları Safe sözleşmelerinin analiz ve koruma yeteneklerinin artırılması çağrısında bulunmaktadırlar, benzer risklerin yeniden ortaya çıkmasını önlemek amacıyla. Bir ticaret platformundaki olayın ardından, birçok proje ekibi Safe sözleşmesine odaklanmaya başladı ve Guard mekanizmasına dayalı yükseltme ve genişletme çözümleri keşfetmektedir. Bu bağlamda, Guard mekanizmasına dayanan yenilikçi uygulamalar bulunmaktadır; Safe çoklu imza cüzdanı üzerine inşa edilmiş bir ara katman güvenlik çözümü geliştirerek, temel varlıklar ile kullanıcı varlıkları arasında ek bir güvenlik garantisi sağlamaktadır. Temel işlevi, Safe çoklu imza işlemlerinin hedef sözleşmeleri, çağrı yöntemleri, yürütme verileri, owner imza bilgileri, ödeme bilgileri ve gaz bilgilerini checkTransaction fonksiyonuna aktararak işlem üzerinde son derece ayrıntılı bir kontrol sağlamaktır; bu, beyaz liste sözleşme çağrıları, beyaz liste fonksiyon işlemleri, beyaz liste transfer hedefleri, işlem sıklığı gibi yetki kontrollerini içermektedir.
Dikkate değer bir nokta, Safe'in kendisinin yalnızca Guard yönetimi ve geri çağırma işlevi sağladığı, gerçek çoklu imza işlem kontrol mantığının kullanıcı tarafından kendisinin uygulanması gerektiği ve güvenliğinin Guard uygulamasının kalitesine bağlı olduğudur. Örneğin: Belirli bir güvenlik çözümü bu düşünceyi geliştirmiştir, her Vault için özel bir Guardian yapılandırarak izin verilen hedef adresleri ve işlem yetkilerini belirlemiştir, izin verilen sözleşmeleri belirleme, izin verilen fonksiyon işlemleri tanımlama ve ACL doğrulama gereksinimleri olmak üzere üç temel yetki kontrol unsurunu gerçekleştirmiştir. Aynı zamanda, ayrılmış bir yönetim mekanizması benimsenmiştir; burada Vault Guardian işlemleri yürütmekle sorumluyken, Governor yönetim yetkisini kontrol eder, böylece Guardian bir sorun yaşasa bile kullanıcı varlıklarını korumak için zamanında telafi edici önlemler alınabilir. Benzer tasarım felsefesi başka bir güvenlik modülünde de uygulanmıştır; bu modül, kritik işlemleri engellemek için preExecute fonksiyonunu kullanmakta ve beyaz liste mekanizması sayesinde modül kurulumları, kanca ayarlamaları ve doğrulayıcı yönetimi gibi yüksek riskli işlemleri hassas bir şekilde kontrol etmektedir, böylece yalnızca güvenilir sözleşmeler sistemde eklenebilmektedir ve cüzdan için kalıcı bir güvenlik sağlamaktadır.
Bir ticaret platformundaki olay saldırı zincirinde, eğer Safe sözleşmesi makul bir şekilde yapılandırılmış bir Guard mekanizması ile dağıtılmışsa, saldırganın execTransaction ile başlattığı kötü niyetli deleGatecall, ön kontrol aşamasında çoklu stratejiler tarafından engellenecektir: Guard'ın checkTransaction fonksiyonu ilk olarak deleGatecall işlem türünü tanır ve devre dışı bırakma kurallarını tetikler (örneğin, operation'ı yalnızca normal çağrı olarak zorunlu kılmak), ardından data alanını analiz ederek olağan dışı sözleşme adresi ve yüksek riskli fonksiyon seçici tespit eder, önceden belirlenmiş sözleşme beyaz listesi ve fonksiyon kara listesi stratejileri ile doğrudan işlemi geri alır ve nihayetinde "strateji engelleme → mantıksal engelleme" savunma sistemi oluşturur, depolama manipülasyonu ve fonların transfer yollarını tamamen engeller.
Genel olarak, Safe yalnızca 1.3.0 sürümünden sonra Guard işlevselliği sunmaktadır. Guard, son derece ayrıntılı çoklu imza işlemi kontrolü sağlayabilse de, kullanıcılar Guard işlevselliğini kullanırken yüksek bir eşiğe sahiptir. Guard kontrol mantığını kendileri uygulamaları gerekmektedir; kaba veya hatalı bir Guard uygulaması, kullanıcıların Safe cüzdanlarının güvenliğini artırmalarına yardımcı olamayabilir. Bu nedenle, Guard uygulamalarının güvenlik denetimi yapılması gereklidir. Şüphesiz ki, güvenli ve uygun bir Guard uygulaması Safe cüzdanının güvenliğini büyük ölçüde artırabilir.
Sonuç ve Gelecek
Bir ticaret platformunun saldırıya uğraması olayı, güvenlik altyapısının zamanında güncellenmesinin önemini vurgulamaktadır. Bu platform, v1.1.1(<1.3.0) sürümündeki Safe sözleşmesini kullanıyordu, bu da onların Guard mekanizması gibi kritik bir güvenlik özelliğini kullanamadıkları anlamına geliyor. Eğer bu platform, 1.3.0 veya daha yüksek sürümdeki Safe sözleşmesine yükseltirse ve uygun Guard mekanizmasını, örneğin yalnızca fon alacak beyaz liste adreslerini belirleyerek ve sözleşme fonksiyonu ACL doğrulaması yaparak uygularsa, bu kayıplardan kaçınabilirlerdi. Bu sadece bir varsayım olsa da, gelecekteki varlık güvenliği yönetimi için önemli bir fikir sunmaktadır.
Safe Guard mekanizması, dijital varlıkların kasa gibi akıllı güvenlik sistemleriyle donatılması gibidir; etkinliği, kural tasarımının titizliği ve uygulama kalitesine bağlıdır. Giderek daha karmaşık saldırı yöntemleriyle karşılaşırken, şunlara ihtiyacımız var:
Otomatik doğrulama: Otomatik bir ticaret doğrulama mekanizması kurmak
Dinamik strateji ayarlama: Tehdit istihbaratına dayalı olarak güvenlik stratejilerini gerçek zamanlı olarak ayarlamak
Çok Katmanlı Savunma: Derinlik savunma sistemi oluşturmak için çeşitli güvenlik mekanizmalarının birleştirilmesi
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
22 Likes
Reward
22
8
Share
Comment
0/400
MetaverseVagrant
· 07-06 01:49
Bu sözleşmenin delikleri kafamdaki deliklerden daha fazla.
View OriginalReply0
MysteryBoxOpener
· 07-06 01:14
Yine 1.5 milyar patladı, gerçekten de hayalet hırsız!
View OriginalReply0
MemeKingNFT
· 07-03 03:32
Tarih hep döngüde, dokuz çıkış on üç dönüş, akıllı sözleşmelerin düşünmesi gerek.
View OriginalReply0
LiquidityOracle
· 07-03 03:31
Hmm, gelecek olan er ya da geç gelir.
View OriginalReply0
JustHereForAirdrops
· 07-03 03:31
Sözleşim güvenliği tekrar sorun yaşadı, kripto dünyası neden böyle?
View OriginalReply0
BlockchainDecoder
· 07-03 03:15
EVM dinamik izleme açısından bakıldığında, deleGatecall tehlikesinin gerçekten çoktan düzeltilmesi gerekiyordu.
Safe Guard mekanizması: Çoklu İmza Cüzdanı'nın yeni nesil güvenlik hattı
Derinlik Analizi Safe Sıkıntısı: Guard Sözleşme Babel Kulesi'ni Yeniden İnşa Edebilir mi?
2025年2月21日, kripto para sektörü tarihinin en ciddi varlık yönetimi krizini yaşadı. Bir ticaret platformunun zincir üzerindeki çoklu imza cüzdanı hedefli bir saldırıya uğradı ve yaklaşık 1.5 milyar dolar değerindeki varlık, "meşru imza" ile yapılan bir işlemle sessizce kayboldu. Olaydan sonra zincir üzerindeki analizler, saldırganların hassas sosyal mühendislik saldırılarıyla çoklu imza yetkilerini elde ettiğini, Safe sözleşmesinin deleGatecall fonksiyonunu kötü amaçlı mantık yerleştirmek için kullandığını ve sonunda çoklu imza doğrulama mekanizmasını aşarak fonları anonim bir adrese transfer ettiğini gösterdi.
Bu olay, "çoklu imza"nın "mutlak güvenlik" ile eşdeğer olmadığını ortaya koyan acı bir gerçeği açığa çıkardı. Safe çoklu imza cüzdanı gibi güvenlik mekanizmaları bile, ek koruma önlemleri eksik olduğunda, hala saldırıya uğrama riski taşır. Bu, Safe çoklu imza cüzdanına yönelik ilk saldırı vakası değildir. Geçen yıl iki tanınmış borsa, benzer saldırı yöntemleriyle sırasıyla 230 milyon dolar ve 50 milyon dolar kaybetti. Safe çoklu imza cüzdanı saldırı olayları aşağıdaki teknik benzerlikleri göstermektedir:
Bu olaylar dizisinin temel sorunu, Safe sözleşmesinin kendisinde değil, tüm sistemin entegrasyon sürecindeki güvenlik açıklarındadır, özellikle de ön uç doğrulama aşamasında. Bu, bize şunu düşünmeye zorlar: Safe'in ek güvenlik önlemleri mekanizması aracılığıyla çok imzalı cüzdanların koruma yeteneklerini nasıl güçlendirebiliriz?
Güvenli
Safe, yüksek değerli varlıkların ve dijital para birimlerinin güvenli depolanması ve transferi için kullanılan çoklu imza (Multi-Sig) cüzdanıdır. Merkeziyetsiz varlık yönetiminin altyapısı olarak, çok taraflı iş birliği doğrulama mekanizması ile fon işlemlerinin güvenliğini sağlar, tek bir yöneticinin veya hackerın tek nokta arızasını kullanarak kötü niyetli işlemler yapmasını engeller. DAO yönetimi, kurumsal fon yönetimi, merkeziyetsiz fon havuzları gibi senaryolar için geniş bir şekilde kullanılmaktadır. Bu sözleşme, Safe (eski adıyla Gnosis Safe) ekibi tarafından geliştirilmiştir ve mevcut endüstri standardı olan zincir üstü varlık yönetim çözümüdür. Sözleşme, işlem verilerinin güvenliğini ve doğrulanabilirliğini artırmak için yapılandırılmış veri imzalamayı gerçekleştiren EIP-712 standardını kullanmaktadır.
Temel Kullanım
Fonksiyon Analizi
execTransaction fonksiyonu çoklu imza doğrulaması yapılmış işlemleri gerçekleştirir:
checkContractSignatures & checkNSignatures fonksiyonları, işlem veya mesajın imza verilerini doğrular:
getTransactionHash fonksiyonu, imza doğrulama ve yeniden oynama saldırılarını önlemek için işlem hash'ini oluşturur:
handlePayment fonksiyonu, işlem sürecindeki gas tazminat ödemesini işler:
onBeforeExecTransaction, execTransaction fonksiyonu çalıştırılmadan önce çağrılan bir iç sanal kanca fonksiyonudur. Bu fonksiyonun tasarım amacı, Safe sözleşmesini miras alan alt sözleşmelerin işlem gerçekleştirilmeden önce özelleştirilmiş mantık işlemleri yapmasına izin vermektir. Alınan parametre kümesi şunları içerir:
Çoklu imza cüzdanı sözleşmeleri, titiz güvenlik tasarımı ve esnek modüler yapısıyla dijital varlık yönetimine verimli ve güvenli bir çözüm sunarak işlem başlatmadan nihai yürütmeye kadar olan süreçte tam güvenlik kontrolü sağlamakta ve blok zinciri güvenlik yönetiminin önemli bir aracı haline gelmektedir. Ancak, dikkat edilmesi gereken bir diğer husus, mağdurların çoğunun imza için donanım cüzdanlarına güvenmesidir; bazı donanım cihazları ise yapılandırılmış veri imzasının gösteriminde yetersiz kalmakta ve kullanıcıların işlem verilerini kısa sürede doğru bir şekilde tanıyamamasına neden olmakta, böylece "kör imza" riski ortaya çıkmaktadır. Bu duruma karşı, donanım ve veri gösterim performansını optimize etmenin yanı sıra, çoklu onay, akıllı uyarılar ve imza doğrulama araçlarını güçlendirme gibi önlemlerin de araştırılması, kör imzanın getirdiği güvenlik risklerini daha da azaltabilir.
Güvenlik Koruması
Safe sözleşmesine 1.3.0 sürümünde tanıtılan önemli güvenlik özelliği ------ Safe Guard mekanizması. Bu mekanizma, standart n-out-of-m çoklu imza şemasına ek kısıtlama koşulları sağlamayı hedefleyerek işlem güvenliğini daha da artırmaktadır. Safe Guard'ın temel değeri, işlem gerçekleştirme aşamalarının farklı aşamalarında güvenlik kontrolü yapabilme yeteneğidir:
Mimari Analiz
Safe'de, çoklu imza işlemleri genellikle execTransaction fonksiyonu aracılığıyla gerçekleştirilir. Safe Guard etkinleştirildiğinde, kullanıcı çoklu imza işlemi gerçekleştirdiğinde, Safe sözleşmesi Guard sözleşmesinin checkTransaction fonksiyonunu çağırarak işlemi ön kontrol eder; çoklu imza işlemi tamamlandığında ise Safe sözleşmesi Guard sözleşmesinin checkAfterExecution fonksiyonunu çağırarak işlemin sonuçlarını kontrol eder.
Safe sözleşmesi Guard mekanizması aracılığıyla çoklu imza işlemi ön kontrolü gerçekleştirdiğinde, checkTransaction işlevi hedef sözleşme adresi, çağrı yöntemi, yürütme verileri (örneğin deleGatecall), owner imza bilgileri, Gas yapılandırması ve ödeme bilgilerini içeren tam işlem bağlam verilerini alacaktır. Bu mekanizma geliştiricilerin çok boyutlu risk kontrol stratejileri uygulamasını sağlar; örneğin, sözleşme beyaz liste kontrolü (etkileşimli adresleri kısıtlama), işlev seviyesinde yetki yönetimi (yüksek riskli işlev seçicilerini devre dışı bırakma), işlem sıklığı kısıtlaması ve fon akışına dayalı dinamik kurallar gibi. Guard stratejileri uygun şekilde yapılandırıldığında, saldırganların sözleşme dışı seviyelerde saldırı gerçekleştirmesini etkili bir şekilde engelleyebilir.
Son zamanlarda sürekli ortaya çıkan güvenlik olayları çerçevesinde, taraflar çoklu imza cüzdan sözleşmelerinin güvenliğine giderek daha fazla önem vermekte, donanım cüzdanı sağlayıcıları Safe sözleşmelerinin analiz ve koruma yeteneklerinin artırılması çağrısında bulunmaktadırlar, benzer risklerin yeniden ortaya çıkmasını önlemek amacıyla. Bir ticaret platformundaki olayın ardından, birçok proje ekibi Safe sözleşmesine odaklanmaya başladı ve Guard mekanizmasına dayalı yükseltme ve genişletme çözümleri keşfetmektedir. Bu bağlamda, Guard mekanizmasına dayanan yenilikçi uygulamalar bulunmaktadır; Safe çoklu imza cüzdanı üzerine inşa edilmiş bir ara katman güvenlik çözümü geliştirerek, temel varlıklar ile kullanıcı varlıkları arasında ek bir güvenlik garantisi sağlamaktadır. Temel işlevi, Safe çoklu imza işlemlerinin hedef sözleşmeleri, çağrı yöntemleri, yürütme verileri, owner imza bilgileri, ödeme bilgileri ve gaz bilgilerini checkTransaction fonksiyonuna aktararak işlem üzerinde son derece ayrıntılı bir kontrol sağlamaktır; bu, beyaz liste sözleşme çağrıları, beyaz liste fonksiyon işlemleri, beyaz liste transfer hedefleri, işlem sıklığı gibi yetki kontrollerini içermektedir.
Dikkate değer bir nokta, Safe'in kendisinin yalnızca Guard yönetimi ve geri çağırma işlevi sağladığı, gerçek çoklu imza işlem kontrol mantığının kullanıcı tarafından kendisinin uygulanması gerektiği ve güvenliğinin Guard uygulamasının kalitesine bağlı olduğudur. Örneğin: Belirli bir güvenlik çözümü bu düşünceyi geliştirmiştir, her Vault için özel bir Guardian yapılandırarak izin verilen hedef adresleri ve işlem yetkilerini belirlemiştir, izin verilen sözleşmeleri belirleme, izin verilen fonksiyon işlemleri tanımlama ve ACL doğrulama gereksinimleri olmak üzere üç temel yetki kontrol unsurunu gerçekleştirmiştir. Aynı zamanda, ayrılmış bir yönetim mekanizması benimsenmiştir; burada Vault Guardian işlemleri yürütmekle sorumluyken, Governor yönetim yetkisini kontrol eder, böylece Guardian bir sorun yaşasa bile kullanıcı varlıklarını korumak için zamanında telafi edici önlemler alınabilir. Benzer tasarım felsefesi başka bir güvenlik modülünde de uygulanmıştır; bu modül, kritik işlemleri engellemek için preExecute fonksiyonunu kullanmakta ve beyaz liste mekanizması sayesinde modül kurulumları, kanca ayarlamaları ve doğrulayıcı yönetimi gibi yüksek riskli işlemleri hassas bir şekilde kontrol etmektedir, böylece yalnızca güvenilir sözleşmeler sistemde eklenebilmektedir ve cüzdan için kalıcı bir güvenlik sağlamaktadır.
Bir ticaret platformundaki olay saldırı zincirinde, eğer Safe sözleşmesi makul bir şekilde yapılandırılmış bir Guard mekanizması ile dağıtılmışsa, saldırganın execTransaction ile başlattığı kötü niyetli deleGatecall, ön kontrol aşamasında çoklu stratejiler tarafından engellenecektir: Guard'ın checkTransaction fonksiyonu ilk olarak deleGatecall işlem türünü tanır ve devre dışı bırakma kurallarını tetikler (örneğin, operation'ı yalnızca normal çağrı olarak zorunlu kılmak), ardından data alanını analiz ederek olağan dışı sözleşme adresi ve yüksek riskli fonksiyon seçici tespit eder, önceden belirlenmiş sözleşme beyaz listesi ve fonksiyon kara listesi stratejileri ile doğrudan işlemi geri alır ve nihayetinde "strateji engelleme → mantıksal engelleme" savunma sistemi oluşturur, depolama manipülasyonu ve fonların transfer yollarını tamamen engeller.
Genel olarak, Safe yalnızca 1.3.0 sürümünden sonra Guard işlevselliği sunmaktadır. Guard, son derece ayrıntılı çoklu imza işlemi kontrolü sağlayabilse de, kullanıcılar Guard işlevselliğini kullanırken yüksek bir eşiğe sahiptir. Guard kontrol mantığını kendileri uygulamaları gerekmektedir; kaba veya hatalı bir Guard uygulaması, kullanıcıların Safe cüzdanlarının güvenliğini artırmalarına yardımcı olamayabilir. Bu nedenle, Guard uygulamalarının güvenlik denetimi yapılması gereklidir. Şüphesiz ki, güvenli ve uygun bir Guard uygulaması Safe cüzdanının güvenliğini büyük ölçüde artırabilir.
Sonuç ve Gelecek
Bir ticaret platformunun saldırıya uğraması olayı, güvenlik altyapısının zamanında güncellenmesinin önemini vurgulamaktadır. Bu platform, v1.1.1(<1.3.0) sürümündeki Safe sözleşmesini kullanıyordu, bu da onların Guard mekanizması gibi kritik bir güvenlik özelliğini kullanamadıkları anlamına geliyor. Eğer bu platform, 1.3.0 veya daha yüksek sürümdeki Safe sözleşmesine yükseltirse ve uygun Guard mekanizmasını, örneğin yalnızca fon alacak beyaz liste adreslerini belirleyerek ve sözleşme fonksiyonu ACL doğrulaması yaparak uygularsa, bu kayıplardan kaçınabilirlerdi. Bu sadece bir varsayım olsa da, gelecekteki varlık güvenliği yönetimi için önemli bir fikir sunmaktadır.
Safe Guard mekanizması, dijital varlıkların kasa gibi akıllı güvenlik sistemleriyle donatılması gibidir; etkinliği, kural tasarımının titizliği ve uygulama kalitesine bağlıdır. Giderek daha karmaşık saldırı yöntemleriyle karşılaşırken, şunlara ihtiyacımız var: