THORChain’in (RUNE) Güvenlik Riskleri

 THORChain’in (RUNE) Güvenlik Riskleri

THORChain’in 1 Nisan’da yayınlanan Q1 2022 hazine raporuna göre, zincir, kalıcı piyasa durgunluğunun ve oldukça istikrarsız jeopolitik faktörlerin iki yönlü etkisine rağmen gelirde bir büyüme kaydetti. Kamuya açık veriler, THORChain’in 2022 yılının ilk çeyreğinde 2,17 milyar dolar gelir kaydettiğini gösteriyor. “UniSwap’ın zincirler arası versiyonu” olarak kabul edilen THORChain, benzersiz avantajlarına dayanarak zincirler arası ticaret pazarında bir yer edindi ve yatırımcılar arasında geniş bir tanınırlık kazandı.

Tüm bu cazibelerin arkasında, THORChain de hacklemeden derinden rahatsız. Zincir, Ethereum’da piyasaya sürülmesinden bu yana sık sık güvenlik ihlallerine maruz kaldı ve bu, güvenliği konusunda şüphe uyandıran bir gerçek. 11 Nisan’da THORChain, kimlik avı saldırılarını tweetledi ve kullanıcıları etkileşime girmemeleri konusunda uyardı. [DeTHOR] veya cüzdanlarındaki diğer bilinmeyen jetonlar, güvenlik sorunlarıyla ilgili endişeleri bir kez daha artırdı.

CoinEx ürünleri için sağlam bir güvenlik sistemi oluştururken, CoinEx güvenlik ekibi, kullanıcıların farklı projelerin güvenliğini teknik güvenlik açısından daha iyi anlamalarına ve yatırım riskini azaltmalarına yardımcı olmak için blok zinciri alanındaki güvenlik olaylarını da takip eder. Blockchain sektörü için güvenlik kriterlerini iyileştirmeyi hedefleyen CoinEx güvenlik ekibi, THORChain’in (RUNE) güvenlik risklerini analiz etti. Ekip, THORChain’in ilgili akıllı sözleşme kodlarını optimize ederek aşağıdaki riskleri not edip azaltabileceğini umuyor. Ayrıca bu yazı aynı zamanda kullanıcılara varlık güvenliği konusunda daha bilinçli olmaları ve varlık kayıplarından kaçınmaları konusunda bir uyarı niteliğindedir.

THORChain (RUNE) ne kadar güvenli?

THORChain’in (RUNE) sözleşme kodunun ve mantığının analizi yoluyla, CoinEx güvenlik ekibi aşağıdaki riskleri buldu:

Başlamak için, THORChain’in (RUNE) sözleşme kodunu kontrol edelim:

https://etherscan.io/address/0x3155ba85d5f96b2d030a4966af206230e46849cb#code

RUNE’nin oldukça standart bir ERC-20 jetonu olduğunu söyleyebiliriz. THORChain’in (RUNE) ERC-20 arayüzü dışında ek bir arayüz sunduğuna dikkat edilmelidir:

TransferTo’ya göre (yukarıdaki resimde gösterildiği gibi), THORChain (RUNE), güvenlik risklerinin arkasındaki nedenlerden biri olan tx.origin’i kullanır. Burada tx.origin ile msg.sender arasındaki farkı açıklamamız gerekiyor:

Aşağıdaki resim, normal bir adres akıllı sözleşmeyi çağırdığında ne olduğunu açıklar:

Bu gibi durumlarda, msg.sender = hesap.adresi ve tx.origin = hesap.adresi, bu, msg.sender’ın tx.origin ile aynı olduğu anlamına gelir.

Bir hesap A sözleşmesini çağırdığında ve A sözleşmesi B sözleşmesini çağırdığında aşağıdakiler olur:

A sözleşmesi B sözleşmesini çağırdığında (yukarıda gösterildiği gibi), A sözleşmesinde msg.sender’ın tx.origin’e eşit olduğunu söyleyebiliriz.

Ancak, B sözleşmesinde, msg.sender = sözleşmeA.adresi, tx.origin = hesap.adresi. Bu nedenle, tx.origin, tüm çağrı yığınını dolaşan ve işlemi orijinal olarak gönderen hesabın adresini döndüren global bir değişken gibidir. Ana sorun şudur: bugüne kadar THORChain’e (RUNE) yönelik neredeyse tüm bilinen saldırılar tx.origin ile ilgilidir.

Şimdi saldırganların tx.origin aracılığıyla kullanıcıların RUNE jetonlarını nasıl çaldığını öğrenelim:

Saldırı No.1: Bir Sürüden Keçi Çalın

Ethereum’daki adresler, harici adreslere ve sözleşme adreslerine bölünmüştür. ETH’yi bu iki tür adrese harici adresler aracılığıyla aktarmak temelde farklıdır. bu Resmi Belgeler of solidity, bir sözleşme adresinin transfer yapmadan önce bir Ether alma işlevi uygulaması gerektiğini belirtir.

tx.origin’in özellikleri ışığında, bilgisayar korsanları bir Saldırı sözleşmesi oluşturabilir:

Saldırı sözleşmesi bir kullanıcıdan bir ETH transferi aldığında, “sürüden bir keçi çalacaktır” – sözleşme bu süreçte kullanıcının RUNE jetonlarını çalacaktır.

Saldırı No.2: Dahili Saldırı

Dahili Saldırı, özel bir saldırı türüdür. Bir kullanıcının RUNE’sini Dahili Saldırı yoluyla çalmaya çalışırken, bilgisayar korsanının bir orta jetona sahip olması gerekir. Ayrıca, belirteç ayrıca üçüncü taraf sözleşmelerini de çağırmalıdır. RUNE’nin Ethereum üzerindeki transfer kayıtlarına göre bazı saldırganlar AMP Token transferleri aracılığıyla RUNE’u hacklediler.

AMP Token, Hook kaydını yönetmek ve her aktarımda Hook’un kayıtlı olup olmadığını incelemek için ERC-1820 standardını kullanır. Kanca kaydedildiyse, Kanca çağrılacaktır.

AMP Token sözleşme kodu, aktarımın son uygulamasının şu şekilde olduğunu gösterir: _transferByPartition. Bu arada transferHook’u içeren iki çağrı vardır: _callPreTransferHooks (aktarımdan önce) ve _callPostTransferHooks (aktarımdan sonra). Özellikle, _callPreTransferHooks gönderen adresi içindir, _callPostTransferHooks ise to adresi (yani alıcı adresi) içindir.

Normal kullanıcılar için, kendilerinden token çalmak anlamsızdır. Bu nedenle, saldırganlar _callPostTransferHooks’tan yararlanabilir. Şimdi _callPostTransferHooks’un kodlarını inceleyelim.

IAmpTokensRecipient(recipientImplementation).tokensReceived()

Saldırganların yararlanabileceği tek geri aramanın IAmpTokensRecipient(recipientImplementation).tokensReceived() olduğunu söyleyebiliriz.

Ardından, bir AMP Token aktarımı yaparken bir kullanıcının RUNE’sini aktarmak için bu çağrının nasıl kullanılabileceğini göstereceğiz.

Adım 1: Bir arama sözleşmesi gereklidir (aşağıda gösterildiği gibi):

Adım 2: Saldırı Adresini almak için sözleşmeyi dağıtın.

Adım 3: Arabirimi kaydetmek için ERC-1820 sözleşme arabirimini (setInterfaceImplementer) arayın.

ERC-1820 Adres: 0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24

Sözleşme arayüzü: setInterfaceImplementer(Addr adresi, bytes32 interfaceHash, adres uygulayıcısı)

Özellikle toAddr, AMP aktarımının alıcı adresidir,

interfaceHash为AmpTokensRecipient的hash:

0xfa352d6368bbc643bcf9d528ffaba5dd3e826137bc42f935045c6c227bd4c72a

interfaceHash, AmpTokensRecipient’in karma değeridir:

0xfa352d6368bbc643bcf9d528ffaba5dd3e826137bc42f935045c6c227bd4c72a

Uygulayıcı, Adım 2’de elde edilen Saldırı Adresidir.

Adım 4: Bir kullanıcıyı, bir geri aramayı tetiklemek için AMP’yi toAddr’a aktarması ve aynı anda RUNE’sini çalması için cezbedin.

Saldırı No.3: Kimlik Avı Saldırısı

Adından da anlaşılacağı gibi, bir kimlik avı saldırısında saldırgan, kullanıcıları belirli sözleşme işlemlerini gerçekleştirmeye çekmek için inanılmaz faydalar sağlamayı vaat eder. Burada, yaygın bir phishing saldırısını tanıtacağız.

Adım 1: Saldırgan bir ERC-20 jetonu yayınlar ve bunu imza içeren herhangi bir sözleşme arayüzüne yazabilir.

Adım 2: Uniswap veya başka bir takas üzerinde bir ticaret çifti oluşturun;

Adım 3: RUNE jetonlarına sahip tüm kullanıcılara/adreslere airdrop sunun;

Kimlik avı saldırısının ilk çalışması, temel olarak yukarıdaki bu adımlarla tamamlanır. Ardından, saldırganın yalnızca kullanıcıların bir takas üzerinde işlem yapmasını beklemesi gerekir ve kullanıcılar onaylama, aktarma vb. işlemleri gerçekleştirdikten sonra RUNE’larını kaybetme riskiyle karşı karşıya kalırlar.

Ayrıca, THORChain sözleşme kodunun güvenlik riskini daha fazla doğrulamak için CoinEx, sektörde iyi bilinen iki güvenlik kurumu olan SlowMist ve PeckShield’ın güvenlik ekibiyle görüştü. SlowMist ve PeckShield tarafından onaylanan, yukarıda bahsedilen güvenlik riski mevcuttur.

Şimdiye kadar, kullanıcıların maruz kaldığı güvenlik risklerinin yanı sıra çeşitli saldırı türlerini ele aldık.

Proje ekibi, kendisini daha güvenli hale getirmek ve kullanıcıların varlıklarını korumak için sözleşme kodunu nasıl optimize etmelidir?

Tek cevap, tx.origin’i kullanırken dikkatli olmaktır.

Normal kullanıcılar, kaçınılmaz görünen saldırılar karşısında riskleri nasıl azaltabilir ve varlıklarını nasıl koruyabilir? CoinEx güvenlik ekibi aşağıdaki önerileri sunar:

Saldırı No.1 için: Bir transfer yaparken tahmini Gaz tüketimini takip edin. Normal bir ETH transferi için 21.000 Gaz ücreti fazlasıyla yeterlidir. Gaz tüketimi bu rakamı çok aşarsa dikkatli olun. Saldırı No.2 için: Farklı cüzdanlar benimseyerek jetonlarınızı izole edin. Farklı belirteçleri farklı adreslerde saklayabilirsiniz. Borsalar tarafından sunulan sıcak cüzdan adresi söz konusu olduğunda ekstra dikkatli olunması gerekiyor. Saldırı No.3 için: Açgözlülük tüm kötülüklerin kaynağıdır. Herhangi bir airdrop etkinliğine körü körüne katılmayın.

Güvenlik, blockchain sektöründe her zaman en önemli endişe kaynağı olmuştur. Proje ekipleri ve borsalar dahil tüm oyuncular, proje çalışması sırasında güvenliğe öncelik vermeli, kullanıcıların varlıklarını güvenli ve emniyetli tutmalı ve ortaklaşa blok zinciri endüstrisinin sağlam büyümesini teşvik etmelidir.


Yorum Yap