Okuma zamanı: 5 dakika
Web3 dünyası, bir protokoller ve standartlar dünyasıdır. Elbette birkaç ERC standardı ile karşılaşmışsınızdır. En ünlü ERC standartlarından bazıları, sırasıyla belirteçler ve NFT için olan 20 ve 721'dir. Ancak Web3 bununla sınırlı değil.
Web3'te düzenli güncellemeler ve yükseltmeler görüyoruz. En son yükseltmelerden biri, Mart 4337'te Ethereum Mainnet'te dağıtılan ERC 2023 idi. Her güncelleme tek seferde başarılı olmaz; aynısı ERC 4337 için de geçerlidir. Bu blogda, standardın Kullanıcı İşlemleri bölümündeki güvenlik açıklarını ve bunların etkilerini öğreneceğiz. Öncelikle ERC 4337 standardına kısa bir giriş yaparak başlayalım.
ERC 4337 nedir?
Bitcoin ağının aksine, Ethereum zincir üzerinde akıllı sözleşmeleri destekler, bu da Ethereum'un biri işlemsel veya operasyonel bir hesap olmak üzere iki farklı türde hesaba sahip olmasını sağlar. Buna ek olarak, akıllı sözleşmelerin neredeyse bir hesap gibi kendi alanları vardır. Ethereum'daki bu iki tür hesabın kendi işlevleri vardır.
Ethereum ile çalışan cüzdanların çoğu, akıllı sözleşme hesapları değil, kullanıcının hesapları anlamına gelen EOA'lardır. Bu tür hesapların kendi sınırlamaları vardır. Bir sınırlama, kullanıcının hesaplara erişmek için yalnızca özel anahtarlara güvenmesini ve işlemler için tüm imzaları gerektirmesini içerir. Bu sınırlamalar, ERC 4337'nin tanıtılmasına neden oldu.
ERC 4337, iki hesap türü özelliğinin en iyilerini birleştirerek hesap soyutlaması sağlamaya çalışır. Evet, EOA'lar ve akıllı sözleşme hesapları. Bu, aynı anda jeton işlemleri yapabilen ve sözleşmeler oluşturabilen tek bir sözleşme ile mümkün olmuştur ve ERC 4337, bu harika yeni gelişmeyi kolaylaştıran bir standarttır.
UserOperation paketleme güvenlik açığı?
Bu standart ve projeyle ilgili her şey harika ama yanlış giden ne? İmzalamak için kullanılan yönteme dayalı olarak tutarsız karmalara neden olan bir uygulama sorunu vardı. Bu, sipariş çakışmalarına, özellikle aynı UserOperations için farklı hash'lere ve farklı UserOperations için çakışan hash'lere yol açar.
Etkilenen bölgeler iki güvenlik açığıyla sınırlıydı: Giriş Noktası Paketleme Güvenlik Açığı ve VerifyingPaymaster Paketleme Güvenlik Açığı. Bunun hakkında daha sonra. Önce genel bir anlayışa sahip olalım, sonra bunları tek tek öğreneceğiz.
UserOperation.sol'a bir göz atalım: -
Bir Calldata olan UserOperation parametresinin pack işlevine argüman olarak iletildiğini görüyorsunuz. Yapıyı inceleyelim: -
Bunlar, UserOperation yapısının taşıdığı alanlardır. Calldata'nın bu büyük bölümünü belleğe kopyalamak için kod bölümleri derlemeyi kullanır. Bazı sözleşme yöntemleri, ABI kodlamasında dinamik alanlar olarak da adlandırılan değişken boyutlu alanlar da dahil olmak üzere UserOperation'ın tüm alanlarını yakalamayı amaçlar. Örneğin, bu yapıdaki dinamik kodlama 'initCode', 'callData' ve 'paymasterAndData'dır.
Bazı yöntemler 'paymasterAndData' içeremez çünkü bu alan henüz tanımlanmamış veya bildirilmemiştir. Yöntemler, bunu yapmak için dinamik veri türlerine sağlanan '.offset' kolaylık alanını kullanır. Ancak ABI kodlu bağımsız değişkenler kullanan sözleşmeler, alanların tanımlandığı sırayı ve denkleştirmelerin geçerliliğini doğrulamaz. Olağandışı hash özellikleriyle Calldata'da kullanıcı işlemlerinin geçerli bir temsilini oluşturmak mümkündür.
Giriş Noktası Paketleme Güvenlik Açığı
UserOperation ile ilgili sorun, standardın diğer bazı bölümlerini de etkiler, EntryPoint Paketleme güvenlik açığı bunlardan biridir. EntryPoint ve cüzdan sözleşmesi arasında farklı bir hash şeması kullanıldığında veya standart olmayan bir kullanıcı işlemi kodlaması kullanıldığında hash sapması görüyoruz.
Risk, Giriş Noktası olarak ortaya çıkar. Artık tek bir kullanıcı işlemi birden çok "kullanıcı işlem hash'i" ile temsil edilebilir ve aynı "kullanıcı işlem hash'i" birden çok kullanıcı işlemini temsil edebilir. Şimdi bu bazı istenmeyen etkiler yaratabilir. Bunun yaratabileceği etkiyi tartışalım.
Erc 4337 henüz Mart ayında piyasaya sürüldüğü için henüz çok erken bir aşamada olduğundan bu güvenlik açıklarının etkisi tam olarak bilinmiyor. Kuşbakışı bir bakış açısıyla potansiyel etkiyi tarif etmek zordur. Bunun ötesinde etki, paketleyicilerin, dizin oluşturucuların, kullanıcı işlem kaşiflerinin ve diğer zincir dışı hizmetlerin uygulanmasına bağlıdır. Bu güvenlik açığının neden olduğu sorunlardan birkaçına bakalım.
- Bu durum kullanıcı için kafa karıştırıcı bir deneyime neden olabilir çünkü kullanıcı işlem karması gönderim ve dahil etme süresi arasında değişebilir. Bu fenomen çoğu cüzdan tarafından bilinmiyor, dolayısıyla bu farkı hesaba katmayabilirler.
- Cüzdanlar, tüm kullanıcı işlem karmalarını aynı olacak şekilde ayarlayarak kasıtlı olarak endekslemeyi önlemek için değiştirilebilir ve tasarlanabilir.
- Kullanıcı işlemi dahil edilmesini izleyen zincir dışı bir hizmet, belirli bir kullanıcı işleminin dahil edilmesini kaçırırsa, verilerin ve anahtarların yanlış kullanıldığını görebiliriz.
Paymaster Paketleme Güvenlik Açığının Doğrulanması
Kimse çevrimiçi alışverişten bir şey sipariş etmeyi ve tamamen farklı bir ürün almayı sevmez. Aynısı Web3'te de var, ancak bu güvenlik açığı kullanıcı deneyimini bozuyor. Bir kullanıcı, imzalama zamanı ile zincire dahil olma arasında değiştirilmiş veya farklı içeriklere sahip olabilir. Bunun olmasının nedeni, iki farklı kullanıcı işleminin 'VerifyingPaymaster.getHash()' işlevinden aynı hash'i döndürmesidir.
VerifyingPaymaster.getHash() işlevi, bir yapı olan 'UserOperation', 'validUnitl', bir uint48 değeri ve validAfter başka bir uint48 değeri gibi birkaç bağımsız değişken alır. İmzalama zamanı ile dahil etme zamanı arasındaki farklı içerik sorunu, kullanıcı deneyimini ve genel güvenliği etkiler. Ortaya çıkardığı endişelerden birkaçını tartışalım.
- Kullanıcı işlemlerini aldıktan sonra ABI kodlu bir biçimde oturum açan zincir dışı imzalayıcılar veya verileri imzaya hazırlamak için sözleşme entegrasyonlarına sahip imzalayıcılar savunmasız hale gelir.
- Karma, beklenenden daha az öğeyi kapsayacak şekilde değiştirilebilir, bu da initCode vb. gibi bazı statik alanların karmadan çıkarılmasına neden olabilir. Bu, paymaster sponsorluk imzaları için amaçlanandan farklı bir kullanıma neden olabilir.
- İmza aldıktan sonra userOp.initCode ve userOp.callData'yı değiştirerek kuralların ihlal edildiğini ve atlandığını görebiliriz. Bu, paymaster'ın yerel jetonunun gazsız NFT basımı dışındaki amaçlar için kullanılmasına izin verecektir.
Sonuç
Devam eden ilerleme ve gelişmeyle birlikte pek çok harika şeye tanık olacağız ve ERC 4337 bunlardan biri. Güvenliği geliştirirken ve ilerletirken asla taviz veremeyeceğimiz bir şeydir. Standarttaki güvenlik açıklarının ne kadar çabuk bulunduğunu ve onu güvenli hale getirmek için sürekli araştırma ve geliştirme yapıldığını not etmek harika.
Web3'te kurulan en büyük ve en tanınmış kuruluşların bazılarının bile güvenlikle ilgili hatalar yapabileceğini ve kesinlikle diğer protokollerin de yaptığını not etmek önemlidir. Sürekli yükseliş Web3 olayları son yıllarda bariz bir şekilde görülmektedir.
Sizi, kullanıcılarınızı ve protokolünüzü bu tür güvenlik tehditlerinden korumaya yönelik tek duraklı çözüm denetime gidiyor. Biz QuillAudits olarak akıllı sözleşme denetimi ve blockchain güvenliğinde en iyi hizmet sağlayıcılardan biriyiz, daha fazlasını öğrenmek ve projenizi güvenceye almak için web sitemizi ziyaret edin. Ve bu tür bilgilendirici blogların keyfini çıkarmak için bizi izlemeye devam edin.
34 Görünümler
- SEO Destekli İçerik ve Halkla İlişkiler Dağıtımı. Bugün Gücünüzü Artırın.
- Plato blok zinciri. Web3 Metaverse Zekası. Bilgi Güçlendirildi. Buradan Erişin.
- Adryenn Ashley ile Geleceği Basmak. Buradan Erişin.
- Kaynak: https://blog.quillhash.com/2023/04/24/understanding-erc-4337-user-operation-packing-vulnerability/
- :dır-dir
- :olumsuzluk
- 20
- 2023
- a
- Hakkımızda
- erişim
- Hesap
- hesap soyutlama
- Hesaplar
- karşısında
- ilave
- gelişme
- Sonra
- Türkiye
- Ayrıca
- değişmiş
- an
- ve
- Başka
- ARE
- tartışma
- argümanlar
- AS
- Montaj
- At
- Denemeler
- denetim
- denetleme
- merkezli
- BE
- Çünkü
- müşterimiz
- olmak
- İYİ
- arasında
- Biggest
- blockchain
- Blockchain güvenliği
- Blog
- ihlal
- bina
- fakat
- by
- denilen
- CAN
- yapamam
- ele geçirmek
- Sebeb olmak
- nedenleri
- zincir
- değişiklik
- değiştirme
- kod
- birleştirme
- nasıl
- uzlaşma
- Endişeler
- kafa karıştırıcı
- kurmak
- içindekiler
- sürekli
- sözleşme
- sözleşmeleri
- kolaylık
- olabilir
- kapak
- yaratmak
- veri
- tanımlı
- bağlıdır
- konuşlandırılmış
- tanımlamak
- tasarlanmış
- gelişen
- gelişme
- fark
- farklı
- tartışmak
- Iraksama
- do
- dinamik
- Erken
- erken aşama
- etkileri
- elemanları
- keyfini çıkarın
- Baştan sona
- ERC-4337
- vb
- Ethereum
- ETHEREUM ANA AĞ
- Hatta
- Her
- örnek
- hariç
- beklenen
- deneyim
- keşfetmek
- Kaşifler
- göz
- kolaylaştırıcı
- ünlü
- Özellikler
- az
- alan
- Alanlar
- bulmak
- Ad
- İçin
- biçim
- bulundu
- itibaren
- tamamen
- işlev
- işlevsellikleri
- işleyen
- genel
- almak
- alma
- verilmiş
- Go
- gidiş
- olur
- Zor
- esrar
- karma
- Var
- Ne kadar
- HTTPS
- darbe
- Etkiler
- uygulama
- uygulanması
- önemli
- in
- dahil
- içerir
- Dahil olmak üzere
- içerme
- Bireysel olarak
- aydınlatıcı
- entegrasyonlar
- niyetinde
- kasten
- içine
- Giriş
- konu
- sorunlar
- IT
- sadece
- anahtarlar
- bilinen
- büyük
- Soyad
- son
- öncülük etmek
- ÖĞRENİN
- sevmek
- sınırlama
- sınırlamaları
- Sınırlı
- Bakın
- yapılmış
- mainnet
- yapmak
- YAPAR
- çok
- Mart
- maksimum genişlik
- Mayıs..
- anlamına geliyor
- Bellek
- yöntem
- yöntemleri
- olabilir
- darb
- Hatalı kullanıma
- özlüyor
- hataları
- değiştirilmiş
- izleme
- Daha
- çoğu
- çoklu
- yerli
- Yerli Jeton
- ağ
- yeni
- NFT
- şimdi
- of
- on
- ONE
- Online
- online alışveriş
- OP
- operasyon
- işletme
- Operasyon
- or
- sipariş
- örgütsel
- Diğer
- Diğer Protokoller
- bizim
- tekrar
- tüm
- kendi
- Paketlemek
- parametre
- özellikle
- parçalar
- geçti
- fenomen
- Platon
- Plato Veri Zekası
- PlatoVeri
- mümkün
- potansiyel
- Hazırlamak
- özel
- Özel Anahtarlar
- PLATFORM
- proje
- özellikleri
- korumak
- protokol
- protokolleri
- sağlamak
- sağlanan
- sağlayıcılar
- amaçlı
- hızla
- tüyo
- yükseltmeler
- neden
- alma
- ilişkin
- bölgeler
- düzenli
- serbest
- güven
- temsil etmek
- temsil
- temsil
- araştırma
- araştırma ve geliştirme
- sonuç
- dönüş
- Yükselmek
- Risk
- kurallar
- aynı
- plan
- Bölüm
- güvenli
- Secured
- güvenlik
- Güvenlik tehditleri
- görmek
- segmentler
- hizmet
- Servis sağlayıcıları
- Hizmetler
- ayar
- birkaç
- Alışveriş
- işaret
- İmzalar
- imza
- aynı anda
- tek
- akıllı
- akıllı sözleşme
- Akıllı Sözleşmeler
- So
- SOL
- çözüm
- biraz
- bir şey
- uzay
- kefillik
- Aşama
- standart
- standartlar
- başlama
- kalmak
- Yine
- boyun eğme
- başarılı
- böyle
- Destekler
- elbette
- alır
- göre
- o
- The
- ve bazı Asya
- Onları
- Orada.
- Bunlar
- onlar
- işler
- Re-Tweet
- Bu
- tehditler
- zaman
- için
- simge
- Jeton
- çok
- üst
- işlem yapmak
- işlemsel
- işlemler
- gerçek
- türleri
- anlayış
- istenmeyen
- Güncelleme
- Güncellemeler
- yükseltmeleri
- kullanım
- Kullanılmış
- kullanıcı
- Kullanıcı Deneyimi
- kullanıcılar
- DOĞRULA
- değer
- çok
- Görüntüle
- Türkiye Dental Sosyal Medya Hesaplarından bizi takip edebilirsiniz.
- güvenlik açıkları
- güvenlik açığı
- Savunmasız
- Cüzdan
- Cüzdan
- oldu
- we
- Web3
- Web sitesi
- İYİ
- tanınmış
- vardı
- Ne
- ne zaman
- hangi
- süre
- neden
- irade
- ile
- Tanık
- Dünya
- Yanlış
- yıl
- Sen
- zefirnet