پڑھنے کا وقت: 5 منٹ
Web3 کی دنیا پروٹوکول اور معیارات کی دنیا ہے۔ آپ کو یقینی طور پر کئی ERC معیارات پر پورا اترنا ہوگا۔ کچھ مشہور ترین ERC معیارات 20 اور 721 ہیں، جو بالترتیب ٹوکن اور NFT کے لیے ہیں۔ لیکن Web3 اس تک محدود نہیں ہے۔
ہم Web3 میں باقاعدہ اپ ڈیٹس اور اپ گریڈ دیکھتے ہیں۔ تازہ ترین اپ گریڈز میں سے ایک ERC 4337 تھا، جو مارچ 2023 میں Ethereum Mainnet پر تعینات کیا گیا تھا۔ ہر اپ ڈیٹ ایک بار میں کامیاب نہیں ہوتا ہے۔ ERC 4337 کے ساتھ بھی ایسا ہی ہے۔ اس بلاگ میں، ہم اسٹینڈرڈ کے یوزر آپریشن سیکشن کے حوالے سے کمزوریوں اور ان کے اثرات کے بارے میں جانیں گے۔ آئیے سب سے پہلے ERC 4337 معیار کے مختصر تعارف کے ساتھ شروع کریں۔
ERC 4337 کیا ہے؟
Bitcoin کے نیٹ ورک کے برعکس، ایتھرم زنجیر پر سمارٹ معاہدوں کی حمایت کرتا ہے، جس سے Ethereum کے پاس دو مختلف قسم کے اکاؤنٹس ہیں، ایک ٹرانزیکشنل یا ایک آپریشنل اکاؤنٹ۔ اس کے علاوہ، سمارٹ معاہدوں کی اپنی جگہ ہوتی ہے، تقریباً ایک اکاؤنٹ کی طرح۔ Ethereum میں ان دو قسم کے اکاؤنٹس کی اپنی خصوصیات ہیں۔
Ethereum کے ساتھ کام کرنے والے زیادہ تر بٹوے EOA کے ہیں جس کا مطلب ہے صارف کے اکاؤنٹس، نہ کہ اسمارٹ کنٹریکٹ والے۔ اس قسم کے اکاؤنٹس کی اپنی حدود ہیں۔ ایک حد میں اکاؤنٹس تک رسائی کے لیے پرائیویٹ کیز پر صارف کا مکمل انحصار اور لین دین کے لیے تمام دستخطوں کی ضرورت شامل ہے۔ ان حدود نے ERC 4337 کو متعارف کرایا۔
ERC 4337 اکاؤنٹ کی دو بہترین خصوصیات کو یکجا کر کے اکاؤنٹ کا خلاصہ فراہم کرنے کی کوشش کرتا ہے۔ ہاں، EOA اور سمارٹ کنٹریکٹ اکاؤنٹس۔ یہ ایک واحد معاہدے سے ممکن ہوا ہے جو ٹوکنز کا لین دین کر سکتا ہے اور ایک ساتھ معاہدے کر سکتا ہے، اور ERC 4337 ایک معیاری ہے جو اس شاندار نئی پیشرفت کو سہولت فراہم کرتا ہے۔
یوزر آپریشن پیکنگ کا خطرہ؟
اس معیار اور منصوبے کے بارے میں سب کچھ بہت اچھا ہے، لیکن کیا غلط ہوا؟ ٹھیک ہے، عمل درآمد کا ایک مسئلہ تھا جس کے نتیجے میں دستخط کرنے کے لیے استعمال ہونے والے طریقہ کی بنیاد پر متضاد ہیشز نکلے۔ اس سے آرڈر کی جھڑپیں ہوتی ہیں، خاص طور پر ایک ہی یوزر آپریشنز کے لیے مختلف ہیشز اور مختلف یوزر آپریشنز کے لیے ٹکرانے والی ہیشز۔
متاثرہ علاقے دو خطرات تک محدود تھے، EntryPoint Packing Vulnerability اور VerifyingPaymaster Packing Vulnerability۔ اس پر مزید بعد میں۔ آئیے پہلے ایک عام فہم حاصل کریں، اور پھر ہم انفرادی طور پر ان کے بارے میں جانیں گے۔
آئیے UserOperation.sol پر ایک نظر ڈالتے ہیں:-
آپ دیکھتے ہیں کہ یوزر آپریشن پیرامیٹر، ایک کالڈیٹا، پیک فنکشن کے لیے دلیل کے طور پر پاس کیا جا رہا ہے۔ آئیے ڈھانچے کو دریافت کریں: -
یہ وہ فیلڈز ہیں جو UserOperation struct کے پاس ہے۔ کالڈاٹا کے اس بڑے حصے کو میموری میں کاپی کرنے کے لیے، کوڈ کے حصے اسمبلی کا استعمال کرتے ہیں۔ معاہدوں کے کچھ طریقے UserOperation کے تمام شعبوں کو حاصل کرنے کا ارادہ رکھتے ہیں، بشمول متغیر سائز والے فیلڈز، جنہیں ABI انکوڈنگ میں ڈائنامک فیلڈز بھی کہا جاتا ہے۔ مثال کے طور پر، اس ڈھانچے میں متحرک انکوڈنگ 'initCode'، 'callData' اور 'paymasterAndData' ہے۔
کچھ طریقوں میں 'paymasterAndData' شامل نہیں ہوسکتا ہے کیونکہ اس فیلڈ کی ابھی تک وضاحت یا اعلان نہیں کیا گیا ہے۔ ایسا کرنے کے لیے طریقے متحرک ڈیٹا کی اقسام کو فراہم کردہ '.offset' سہولت والے فیلڈ کا استعمال کرتے ہیں۔ لیکن معاہدے جو ABI انکوڈ شدہ دلائل کا استعمال کرتے ہیں وہ اس ترتیب کی توثیق نہیں کرتے ہیں جس میں فیلڈز کی وضاحت کی گئی ہے اور آفسیٹ کی درستگی۔ غیر معمولی ہیش خصوصیات کے ساتھ Calldata میں صارف کے آپریشنز کی درست نمائندگی کرنا ممکن ہے۔
انٹری پوائنٹ پیکنگ کا خطرہ
UserOperation کا مسئلہ معیار کے کچھ دوسرے حصوں کو بھی متاثر کرتا ہے، EntryPoint پیکنگ کی کمزوری ان میں سے ایک ہے۔ جب EntryPoint اور والیٹ کنٹریکٹ کے درمیان ایک مختلف ہیشنگ اسکیم استعمال کی جاتی ہے یا غیر معیاری صارف آپریشن انکوڈنگ استعمال کی جاتی ہے، تو ہم ہیش ڈائیورجن دیکھتے ہیں۔
خطرہ انٹری پوائنٹ کے طور پر ظاہر ہوتا ہے۔ اب ایک ہی صارف کے آپریشن کی نمائندگی متعدد 'یوزر اوپ ہیشز' کے ذریعے کی جا سکتی ہے، اور وہی 'یوزر آپ ہیش' متعدد یوزر آپریشنز کی نمائندگی کر سکتا ہے۔ اب یہ کچھ ناپسندیدہ اثرات پیدا کر سکتا ہے۔ آئیے اس کے اثرات پر بات کرتے ہیں۔
Erc 4337 ابھی بھی بہت ابتدائی مرحلے میں ہے، جیسا کہ اسے ابھی مارچ میں ریلیز کیا گیا تھا، اس لیے ان خطرات کے اثرات پوری طرح سے معلوم نہیں ہیں۔ پرندوں کی آنکھ سے ہونے والے ممکنہ اثرات کو بیان کرنا مشکل ہے۔ اس کے علاوہ، اثر بنڈلرز، انڈیکسرز، یوزر آپریشن ایکسپلوررز اور دیگر آف چین سروسز کو نافذ کرنے پر منحصر ہے۔ آئیے ان چند مسائل کو دیکھتے ہیں جن کی وجہ سے یہ کمزوری پیدا ہوتی ہے۔
- یہ صارف کے لیے ایک مبہم تجربہ کا سبب بن سکتا ہے کیونکہ صارف آپریشن ہیش جمع کرانے اور شمولیت کے وقت کے درمیان تبدیل ہو سکتا ہے۔ یہ رجحان زیادہ تر بٹوے کے لیے نامعلوم ہے، اس لیے ہو سکتا ہے کہ وہ اس فرق کا حساب نہ لیں۔
- بٹوے کو تبدیل کیا جا سکتا ہے اور جان بوجھ کر انڈیکسنگ سے بچنے کے لیے ڈیزائن کیا جا سکتا ہے تاکہ صارف کے آپریشن کے تمام ہیشز کو ایک جیسا رکھا جائے۔
- ہم ڈیٹا اور کیز کی غلط ہینڈلنگ دیکھ سکتے ہیں اگر صارف کے آپریشن کی شمولیت کی نگرانی کرنے والی آف چین سروس کسی دیے گئے صارف آپریشن کو شامل کرنے سے محروم ہوجاتی ہے۔
پے ماسٹر پیکنگ کے خطرے کی تصدیق کرنا
کوئی بھی آن لائن شاپنگ سے کچھ آرڈر کرنا اور بالکل مختلف پروڈکٹ وصول کرنا پسند نہیں کرتا۔ Web3 پر بھی ایسا ہی ہے، لیکن یہ کمزوری صارف کے تجربے کو کم کرتی ہے۔ ایک صارف نے دستخط کرنے کے وقت اور سلسلہ میں شمولیت کے درمیان مواد کو تبدیل یا مختلف کیا ہو سکتا ہے۔ اور ایسا ہونے کی وجہ یہ ہے کہ صارف کے دو مختلف آپریشن 'VerifyingPaymaster.getHash()' فنکشن سے ایک ہی ہیش کو واپس کرتے ہیں۔
VerifyingPaymaster.getHash() فنکشن 'UserOperation' جیسے چند دلائل لیتا ہے، جو کہ ایک ڈھانچہ ہے، 'validUnitl'، ایک uint48 ویلیو اور validAfter ایک اور uint48 ویلیو۔ دستخط کرنے کے وقت اور شمولیت کے وقت کے درمیان مختلف مواد کا مسئلہ صارف کے تجربے اور مجموعی سیکورٹی کو متاثر کرتا ہے۔ آئیے اس سے پیدا ہونے والے چند خدشات پر بات کرتے ہیں۔
- آف چین دستخط کنندگان جو صارف کے آپریشنز حاصل کرنے کے بعد ABI-انکوڈ شدہ فارمیٹ میں سائن ان کرتے ہیں یا دستخط کے لیے ڈیٹا تیار کرنے کے لیے کنٹریکٹ انضمام کے ساتھ دستخط کرنے والے کمزور ہو جاتے ہیں۔
- توقع سے کم عناصر کا احاطہ کرنے کے لیے ہیش میں ترمیم کی جا سکتی ہے، جس سے کچھ جامد فیلڈز، جیسے initCode وغیرہ، کو ہیش سے خارج کر دیا جا سکتا ہے۔ اس کے نتیجے میں پے ماسٹر اسپانسرشپ کے دستخطوں کے مقصد سے مختلف استعمال ہو سکتا ہے۔
- ہم دستخط حاصل کرنے کے بعد userOp.initCode اور userOp.callData کو تبدیل کرکے قواعد کی خلاف ورزی اور بائی پاس دیکھ سکتے ہیں۔ اس سے پے ماسٹر کے مقامی ٹوکن کو گیس لیس NFT کے علاوہ دیگر مقاصد کے لیے استعمال کرنے کی اجازت ملے گی۔
نتیجہ
مسلسل ترقی اور ترقی کے ساتھ، ہم بہت سی حیرت انگیز چیزوں کا مشاہدہ کریں گے، اور ERC 4337 ان میں سے ایک ہے۔ جبکہ سیکورٹی کو ترقی دینا اور آگے بڑھانا ایک ایسی چیز ہے جس پر ہم کبھی سمجھوتہ نہیں کر سکتے۔ یہ نوٹ کرنا حیرت انگیز ہے کہ معیار میں کتنی جلدی کمزوریاں پائی گئیں، اور اسے محفوظ بنانے کے لیے مسلسل تحقیق اور ترقی کی جا رہی ہے۔
یہ نوٹ کرنا ضروری ہے کہ Web3 میں تعمیر کرنے والی کچھ بڑی اور سب سے مشہور تنظیمیں بھی سیکیورٹی سے متعلق غلطیاں کر سکتی ہیں، اور یقیناً دوسرے پروٹوکول بھی انہیں کرتے ہیں۔ میں مسلسل اضافہ ویب 3 واقعات گزشتہ چند سالوں میں واضح ہے.
آپ کو، آپ کے صارفین، اور آپ کے پروٹوکول کو اس طرح کے حفاظتی خطرات سے بچانے کے لیے ون اسٹاپ حل آڈٹ کے لیے جا رہا ہے۔ ہم QuillAudits، سمارٹ کنٹریکٹ آڈیٹنگ اور بلاک چین سیکیورٹی میں سرفہرست سروس فراہم کنندگان میں سے ایک ہیں، مزید جاننے کے لیے ہماری ویب سائٹ ملاحظہ کریں اور اپنے پروجیکٹ کو محفوظ بنائیں۔ اور ایسے مزید معلوماتی بلاگز سے لطف اندوز ہونے کے لیے ہمارے ساتھ رہیں
34 مناظر
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو بلاک چین۔ Web3 Metaverse Intelligence. علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- ایڈریین ایشلے کے ساتھ مستقبل کا نقشہ بنانا۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://blog.quillhash.com/2023/04/24/understanding-erc-4337-user-operation-packing-vulnerability/
- : ہے
- : نہیں
- 20
- 2023
- a
- ہمارے بارے میں
- تک رسائی حاصل
- اکاؤنٹ
- اکاؤنٹ خلاصہ
- اکاؤنٹس
- کے پار
- اس کے علاوہ
- ترقی
- کے بعد
- تمام
- بھی
- تبدیل
- an
- اور
- ایک اور
- کیا
- دلیل
- دلائل
- AS
- اسمبلی
- At
- کوششیں
- آڈٹ
- آڈیٹنگ
- کی بنیاد پر
- BE
- کیونکہ
- بن
- کیا جا رہا ہے
- BEST
- کے درمیان
- سب سے بڑا
- blockchain
- بلاکچین سیکیورٹی
- بلاگ
- خلاف ورزی
- عمارت
- لیکن
- by
- کہا جاتا ہے
- کر سکتے ہیں
- نہیں کر سکتے ہیں
- قبضہ
- کیونکہ
- وجوہات
- چین
- تبدیل
- تبدیل کرنے
- کوڈ
- امتزاج
- کس طرح
- سمجھوتہ
- اندراج
- مبہم
- تعمیر
- مندرجات
- مسلسل
- کنٹریکٹ
- معاہدے
- سہولت
- سکتا ہے
- احاطہ
- تخلیق
- اعداد و شمار
- کی وضاحت
- انحصار کرتا ہے
- تعینات
- بیان
- ڈیزائن
- ترقی
- ترقی
- فرق
- مختلف
- بات چیت
- دریافت
- do
- متحرک
- ابتدائی
- ابتدائی مرحلے
- اثرات
- عناصر
- لطف اندوز
- مکمل
- ERC-4337
- وغیرہ
- ethereum
- ایتھیریم مینیٹ
- بھی
- ہر کوئی
- مثال کے طور پر
- خارج کر دیا گیا
- توقع
- تجربہ
- تلاش
- متلاشی
- آنکھ
- سہولت
- مشہور
- خصوصیات
- چند
- میدان
- قطعات
- مل
- پہلا
- کے لئے
- فارمیٹ
- ملا
- سے
- مکمل طور پر
- تقریب
- افعال
- کام کرنا
- جنرل
- حاصل
- حاصل کرنے
- دی
- Go
- جا
- ہوتا ہے
- ہارڈ
- ہیش
- ہیشنگ
- ہے
- کس طرح
- HTTPS
- اثر
- اثرات
- نفاذ
- پر عمل درآمد
- اہم
- in
- شامل
- شامل ہیں
- سمیت
- شمولیت
- انفرادی طور پر
- معلوماتی
- انضمام
- ارادہ
- جان بوجھ کر
- میں
- تعارف
- مسئلہ
- مسائل
- IT
- صرف
- چابیاں
- جانا جاتا ہے
- بڑے
- آخری
- تازہ ترین
- قیادت
- جانیں
- کی طرح
- حد کے
- حدود
- لمیٹڈ
- دیکھو
- بنا
- mainnet
- بنا
- بناتا ہے
- بہت سے
- مارچ
- زیادہ سے زیادہ چوڑائی
- مئی..
- کا مطلب ہے کہ
- یاد داشت
- طریقہ
- طریقوں
- شاید
- minting
- غلط بیانی
- یاد ہے
- غلطیوں
- نظر ثانی کی
- نگرانی
- زیادہ
- سب سے زیادہ
- ایک سے زیادہ
- مقامی
- آبائی ٹوکن
- نیٹ ورک
- نئی
- Nft
- اب
- of
- on
- ایک
- آن لائن
- آن لائن خریداری
- OP
- آپریشن
- آپریشنل
- آپریشنز
- or
- حکم
- تنظیمیں
- دیگر
- دوسرے پروٹوکولز
- ہمارے
- پر
- مجموعی طور پر
- خود
- پیک
- پیرامیٹر
- خاص طور پر
- حصے
- منظور
- رجحان
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- ممکن
- ممکنہ
- تیار
- نجی
- نجی چابیاں
- مصنوعات
- منصوبے
- خصوصیات
- حفاظت
- پروٹوکول
- پروٹوکول
- فراہم
- فراہم
- فراہم کرنے والے
- مقاصد
- جلدی سے
- Quillhash
- اٹھاتا ہے
- وجہ
- وصول کرنا
- کے بارے میں
- خطوں
- باقاعدہ
- جاری
- انحصار
- کی نمائندگی
- نمائندگی
- نمائندگی
- تحقیق
- تحقیق اور ترقی
- نتیجہ
- واپسی
- اضافہ
- رسک
- قوانین
- اسی
- سکیم
- سیکشن
- محفوظ بنانے
- محفوظ
- سیکورٹی
- سیکیورٹی کے خطرات
- دیکھنا
- حصوں
- سروس
- سہولت کار
- سروسز
- قائم کرنے
- کئی
- خریداری
- سائن ان کریں
- دستخط
- دستخط کی
- بیک وقت
- ایک
- ہوشیار
- سمارٹ معاہدہ
- سمارٹ معاہدہ
- So
- سورج
- حل
- کچھ
- کچھ
- خلا
- اسپانسر شپ
- اسٹیج
- معیار
- معیار
- شروع کریں
- رہنا
- ابھی تک
- جمع کرانے
- کامیاب
- اس طرح
- کی حمایت کرتا ہے
- یقینا
- لیتا ہے
- سے
- کہ
- ۔
- ان
- ان
- وہاں.
- یہ
- وہ
- چیزیں
- اس
- ان
- خطرات
- وقت
- کرنے کے لئے
- ٹوکن
- ٹوکن
- بھی
- سب سے اوپر
- ٹرانزیکشن
- لین دین
- معاملات
- سچ
- اقسام
- افہام و تفہیم
- ناپسندیدہ
- اپ ڈیٹ کریں
- تازہ ترین معلومات
- اپ گریڈ
- استعمال کی شرائط
- استعمال کیا جاتا ہے
- رکن کا
- صارف کا تجربہ
- صارفین
- تصدیق کریں۔
- قیمت
- بہت
- لنک
- دورہ
- نقصان دہ
- خطرے کا سامنا
- قابل اطلاق
- بٹوے
- بٹوے
- تھا
- we
- Web3
- ویب سائٹ
- اچھا ہے
- اچھی طرح سے جانا جاتا ہے
- تھے
- کیا
- جب
- جس
- جبکہ
- کیوں
- گے
- ساتھ
- گواہی
- دنیا
- غلط
- سال
- تم
- اور
- زیفیرنیٹ