পড়ার সময়: 5 মিনিট
Web3 এর জগত হল প্রোটোকল এবং স্ট্যান্ডার্ডের জগত। আপনি নিশ্চিতভাবে বেশ কয়েকটি ERC মান জুড়ে এসেছেন। সবচেয়ে বিখ্যাত কিছু ERC মান হল 20 এবং 721, যা যথাক্রমে টোকেন এবং NFT-এর জন্য। কিন্তু Web3 এর মধ্যে সীমাবদ্ধ নয়।
আমরা Web3 এ নিয়মিত আপডেট এবং আপগ্রেড দেখতে পাই। সর্বশেষ আপগ্রেডগুলির মধ্যে একটি হল ERC 4337, মার্চ 2023 সালে Ethereum Mainnet-এ স্থাপন করা হয়েছিল৷ প্রতিটি আপডেট একবারে সফল হয় না; ERC 4337 এর ক্ষেত্রেও একই কথা। এই ব্লগে, আমরা স্ট্যান্ডার্ডের ব্যবহারকারী অপারেশন বিভাগের দুর্বলতা এবং তাদের প্রভাব সম্পর্কে জানব। প্রথমে আসুন ERC 4337 স্ট্যান্ডার্ডের একটি সংক্ষিপ্ত ভূমিকা দিয়ে শুরু করি।
ERC 4337 কি?
বিটকয়েনের নেটওয়ার্কের বিপরীতে, Ethereum চেইনে স্মার্ট কন্ট্রাক্ট সমর্থন করে, যার ফলে Ethereum-এর দুটি ভিন্ন ধরনের অ্যাকাউন্ট আছে, একটি লেনদেন বা একটি অপারেশনাল অ্যাকাউন্ট। তা ছাড়াও, স্মার্ট চুক্তিগুলির নিজস্ব স্থান রয়েছে, প্রায় একটি অ্যাকাউন্টের মতো। Ethereum-এ এই দুই ধরনের অ্যাকাউন্টের নিজস্ব কার্যকারিতা রয়েছে।
Ethereum-এর সাথে কাজ করা বেশিরভাগ ওয়ালেট হল EOA যার মানে ব্যবহারকারীর অ্যাকাউন্ট, স্মার্ট চুক্তি নয়। এই ধরনের অ্যাকাউন্টগুলির নিজস্ব সীমাবদ্ধতা রয়েছে। একটি সীমাবদ্ধতার মধ্যে রয়েছে অ্যাকাউন্টগুলি অ্যাক্সেস করার জন্য ব্যক্তিগত কীগুলির উপর ব্যবহারকারীর একমাত্র নির্ভরতা এবং লেনদেনের জন্য সমস্ত স্বাক্ষরের প্রয়োজন৷ এই সীমাবদ্ধতাগুলি ERC 4337 প্রবর্তনের জন্য উদ্বুদ্ধ করেছে।
ERC 4337 দুটি অ্যাকাউন্ট-টাইপ বৈশিষ্ট্যগুলির মধ্যে সেরাটি একত্রিত করে অ্যাকাউন্ট বিমূর্ততা প্রদান করার চেষ্টা করে। হ্যাঁ, EOA এর এবং স্মার্ট কন্ট্রাক্ট অ্যাকাউন্ট। এটি একটি একক চুক্তির দ্বারা সম্ভব হয়েছে যা টোকেনগুলি লেনদেন করতে পারে এবং একই সাথে চুক্তিগুলি তৈরি করতে পারে এবং ERC 4337 একটি মান যা এই দুর্দান্ত নতুন অগ্রগতির সুবিধা দেয়৷
ব্যবহারকারীর অপারেশন প্যাকিং দুর্বলতা?
এই মান এবং প্রকল্প সম্পর্কে সবকিছুই দুর্দান্ত, কিন্তু কী ভুল হয়েছে? ঠিক আছে, একটি বাস্তবায়ন সমস্যা ছিল যার ফলে সাইন করার জন্য ব্যবহৃত পদ্ধতির উপর ভিত্তি করে অসামঞ্জস্যপূর্ণ হ্যাশ হয়েছে। এটি অর্ডার সংঘর্ষের দিকে পরিচালিত করে, বিশেষ করে একই ইউজার অপারেশনের জন্য ভিন্ন ভিন্ন হ্যাশ এবং বিভিন্ন ইউজার অপারেশনের জন্য সংঘর্ষের হ্যাশ।
ক্ষতিগ্রস্ত অঞ্চল দুটি দুর্বলতার মধ্যে সীমাবদ্ধ ছিল, এন্ট্রিপয়েন্ট প্যাকিং দুর্বলতা এবং যাচাইকরণ পেমাস্টার প্যাকিং দুর্বলতা। পরে যে আরো. আসুন প্রথমে একটি সাধারণ বোঝাপড়া করা যাক, এবং তারপর আমরা পৃথকভাবে তাদের সম্পর্কে শিখব।
চলুন দেখে নেই UserOperation.sol:-
আপনি প্যাক ফাংশনে যুক্তি হিসাবে পাস করা ব্যবহারকারী অপারেশন প্যারামিটার, একটি কলডাটা দেখতে পাচ্ছেন। আসুন কাঠামোটি অন্বেষণ করি: -
এই ক্ষেত্র যা UserOperation struct বহন করে। ক্যালডাটার এই বৃহৎ অংশটিকে মেমরিতে অনুলিপি করতে, কোড বিভাগগুলি সমাবেশ ব্যবহার করে। চুক্তির কিছু পদ্ধতি পরিবর্তনশীল-আকারের ক্ষেত্র সহ ব্যবহারকারীর অপারেশনের সমস্ত ক্ষেত্র ক্যাপচার করতে চায়, এবিআই এনকোডিং-এ গতিশীল ক্ষেত্রও বলা হয়। উদাহরণস্বরূপ, এই কাঠামোর গতিশীল এনকোডিং হল 'initCode', 'callData' এবং 'paymasterAndData'।
কিছু পদ্ধতিতে 'paymasterAndData' অন্তর্ভুক্ত করা যায় না কারণ সেই ক্ষেত্রটি এখনও সংজ্ঞায়িত বা ঘোষণা করা হয়নি। পদ্ধতিগুলি '.offset' সুবিধার ক্ষেত্রটি ব্যবহার করে যা করার জন্য গতিশীল ডেটা প্রকারগুলিকে দেওয়া হয়৷ কিন্তু যে চুক্তিগুলি ABI-এনকোডেড আর্গুমেন্টগুলি ব্যবহার করে সেগুলি ক্ষেত্রগুলিকে সংজ্ঞায়িত করা এবং অফসেটের বৈধতাকে বৈধতা দেয় না৷ অস্বাভাবিক হ্যাশ বৈশিষ্ট্য সহ Calldata-এ ব্যবহারকারীর ক্রিয়াকলাপের একটি বৈধ উপস্থাপনা তৈরি করা সম্ভব।
এন্ট্রিপয়েন্ট প্যাকিং দুর্বলতা
UserOperation এর সমস্যাটি স্ট্যান্ডার্ডের অন্যান্য কিছু অংশকেও প্রভাবিত করে, EntryPoint প্যাকিং দুর্বলতা তাদের মধ্যে একটি। যখন এন্ট্রিপয়েন্ট এবং ওয়ালেট চুক্তির মধ্যে একটি ভিন্ন হ্যাশিং স্কিম ব্যবহার করা হয় বা একটি অ-মানক ব্যবহারকারী অপারেশন এনকোডিং ব্যবহার করা হয়, তখন আমরা হ্যাশের ভিন্নতা দেখতে পাই।
ঝুঁকি এন্ট্রিপয়েন্ট হিসাবে পৃষ্ঠ. এখন একটি একক ব্যবহারকারী অপারেশন একাধিক 'ইউজার অপ হ্যাশ' দ্বারা প্রতিনিধিত্ব করা যেতে পারে, এবং একই 'ব্যবহারকারী অপ হ্যাশ' একাধিক ব্যবহারকারীর ক্রিয়াকলাপ উপস্থাপন করতে পারে। এখন এটি কিছু অবাঞ্ছিত প্রভাব তৈরি করতে পারে। এর প্রভাব কী হতে পারে তা নিয়ে আলোচনা করা যাক।
Erc 4337 এখনও খুব প্রাথমিক পর্যায়ে রয়েছে, যেহেতু এটি মার্চ মাসে মুক্তি পেয়েছিল, তাই এই দুর্বলতার প্রভাব পুরোপুরি জানা যায়নি। পাখির চোখের দৃশ্য থেকে সম্ভাব্য প্রভাব বর্ণনা করা কঠিন। এর উপর, প্রভাব বান্ডলার, সূচক, ব্যবহারকারী অপারেশন এক্সপ্লোরার এবং অন্যান্য অফ-চেইন পরিষেবাগুলি বাস্তবায়নের উপর নির্ভর করে। আসুন এই দুর্বলতার কারণে কিছু সমস্যা দেখা যাক।
- এটি ব্যবহারকারীর জন্য একটি বিভ্রান্তিকর অভিজ্ঞতার কারণ হতে পারে কারণ ব্যবহারকারীর অপারেশন হ্যাশ জমা এবং অন্তর্ভুক্তির সময়ের মধ্যে পরিবর্তন করতে পারে। এই ঘটনাটি বেশিরভাগ ওয়ালেটের কাছে অজানা, তাই তারা সেই পার্থক্যের জন্য দায়ী নাও হতে পারে।
- সমস্ত ব্যবহারকারীর অপারেশন হ্যাশ একই হতে সেট করে ইচ্ছাকৃতভাবে সূচীকরণ এড়াতে ওয়ালেটগুলি পরিবর্তন এবং ডিজাইন করা যেতে পারে।
- ব্যবহারকারীর ক্রিয়াকলাপ অন্তর্ভুক্তি পর্যবেক্ষণকারী একটি অফ-চেইন পরিষেবা যদি প্রদত্ত ব্যবহারকারীর ক্রিয়াকলাপের অন্তর্ভুক্তি মিস করে তবে আমরা ডেটা এবং কীগুলির অব্যবস্থাপনা দেখতে পারি।
Paymaster প্যাকিং দুর্বলতা যাচাই করা
কেউ অনলাইন শপিং থেকে কিছু অর্ডার করতে এবং সম্পূর্ণ ভিন্ন পণ্য গ্রহণ করতে পছন্দ করে না। Web3-তেও একই, কিন্তু এই দুর্বলতা ব্যবহারকারীর অভিজ্ঞতাকে হ্রাস করে। একজন ব্যবহারকারী সাইনিং করার সময় এবং চেইনে অন্তর্ভুক্তির মধ্যে পরিবর্তন বা ভিন্ন বিষয়বস্তু থাকতে পারে। এবং এটি হওয়ার কারণ হল দুটি ভিন্ন ব্যবহারকারীর অপারেশন 'VerifyingPaymaster.getHash()' ফাংশন থেকে একই হ্যাশ ফেরত দেয়।
VerifyingPaymaster.getHash() ফাংশনটি 'UserOperation' এর মতো কয়েকটি আর্গুমেন্ট নেয়, যা একটি struct, 'validUnitl', একটি uint48 মান এবং একটি validAfter অন্য একটি uint48 মান। স্বাক্ষর করার সময় এবং অন্তর্ভুক্তির সময়ের মধ্যে বিভিন্ন বিষয়বস্তুর সমস্যা ব্যবহারকারীর অভিজ্ঞতা এবং সামগ্রিক নিরাপত্তাকে প্রভাবিত করে। আসুন এটি উত্থাপন উদ্বেগ কিছু আলোচনা করা যাক.
- অফচেইন স্বাক্ষরকারীরা যেগুলি ব্যবহারকারীর ক্রিয়াকলাপগুলি পাওয়ার পরে একটি ABI-এনকোডেড বিন্যাসে সাইন ইন করে বা স্বাক্ষরের জন্য ডেটা প্রস্তুত করার জন্য চুক্তির একীকরণ সহ স্বাক্ষরকারীরা দুর্বল হয়ে পড়ে।
- হ্যাশকে প্রত্যাশিত থেকে কম উপাদান কভার করার জন্য পরিবর্তন করা যেতে পারে, যা কিছু স্ট্যাটিক ফিল্ড যেমন initCode ইত্যাদি হ্যাশ থেকে বাদ দিতে পারে। এর ফলে পে-মাস্টার স্পনসরশিপ স্বাক্ষরের জন্য উদ্দেশ্যের চেয়ে ভিন্ন ব্যবহার হতে পারে।
- আমরা একটি স্বাক্ষর পাওয়ার পর userOp.initCode এবং userOp.callData পরিবর্তন করে নিয়ম লঙ্ঘন এবং বাইপাস দেখতে পারি। এটি পেমাস্টারের নেটিভ টোকেনকে গ্যাসবিহীন NFT মিন্টিং ছাড়া অন্য উদ্দেশ্যে ব্যবহার করার অনুমতি দেবে।
উপসংহার
নিরন্তর অগ্রগতি এবং উন্নয়নের সাথে, আমরা অনেক দুর্দান্ত জিনিসের সাক্ষী হব, এবং ERC 4337 তাদের মধ্যে একটি। নিরাপত্তার উন্নয়ন এবং অগ্রগতি এমন একটি বিষয় যা আমরা কখনই আপস করতে পারি না। মানকটিতে কত দ্রুত দুর্বলতাগুলি পাওয়া গেছে তা লক্ষ্য করা দুর্দান্ত এবং এটিকে সুরক্ষিত করার জন্য ক্রমাগত গবেষণা এবং উন্নয়ন করা হচ্ছে।
এটা মনে রাখা গুরুত্বপূর্ণ যে Web3-তে তৈরি করা সবচেয়ে বড় এবং সবচেয়ে সুপরিচিত সংস্থাগুলির মধ্যেও কিছু নিরাপত্তা-সম্পর্কিত ভুল করতে পারে, এবং অবশ্যই অন্যান্য প্রোটোকলগুলিও সেগুলি করে। মধ্যে ক্রমাগত বৃদ্ধি ওয়েব 3 ঘটনা গত কয়েক বছরে স্পষ্ট।
এই ধরনের নিরাপত্তা হুমকি থেকে আপনাকে, আপনার ব্যবহারকারীদের এবং আপনার প্রোটোকলকে রক্ষা করার জন্য ওয়ান-স্টপ সমাধান একটি অডিটের জন্য যাচ্ছে। আমরা কুইলঅডিটস, স্মার্ট কন্ট্রাক্ট অডিটিং এবং ব্লকচেইন নিরাপত্তার অন্যতম শীর্ষ পরিষেবা প্রদানকারী, আরও জানতে এবং আপনার প্রকল্প সুরক্ষিত করতে আমাদের ওয়েবসাইট দেখুন। এবং এরকম আরও তথ্যবহুল ব্লগ উপভোগ করতে আমাদের সাথেই থাকুন
34 মতামত
- এসইও চালিত বিষয়বস্তু এবং পিআর বিতরণ। আজই পরিবর্ধিত পান।
- প্লেটোব্লকচেন। Web3 মেটাভার্স ইন্টেলিজেন্স। জ্ঞান প্রসারিত. এখানে প্রবেশ করুন.
- অ্যাড্রিয়েন অ্যাশলির সাথে ভবিষ্যত মিন্টিং। এখানে প্রবেশ করুন.
- উত্স: https://blog.quillhash.com/2023/04/24/understanding-erc-4337-user-operation-packing-vulnerability/
- : হয়
- :না
- 20
- 2023
- a
- সম্পর্কে
- প্রবেশ
- হিসাব
- অ্যাকাউন্ট বিমূর্ততা
- অ্যাকাউন্টস
- দিয়ে
- যোগ
- অগ্রগতি
- পর
- সব
- এছাড়াও
- রদবদল করা
- an
- এবং
- অন্য
- রয়েছি
- যুক্তি
- আর্গুমেন্ট
- AS
- সমাবেশ
- At
- প্রচেষ্টা
- নিরীক্ষা
- নিরীক্ষণ
- ভিত্তি
- BE
- কারণ
- পরিণত
- হচ্ছে
- সর্বোত্তম
- মধ্যে
- বৃহত্তম
- blockchain
- ব্লকচেইন সুরক্ষা
- ব্লগ
- লঙ্ঘন
- ভবন
- কিন্তু
- by
- নামক
- CAN
- না পারেন
- গ্রেপ্তার
- কারণ
- কারণসমূহ
- চেন
- পরিবর্তন
- পরিবর্তন
- কোড
- মিশ্রন
- আসা
- আপস
- উদ্বেগ
- বিভ্রান্তিকর
- গঠন করা
- সুখী
- একটানা
- চুক্তি
- চুক্তি
- সুবিধা
- পারা
- আবরণ
- সৃষ্টি
- উপাত্ত
- সংজ্ঞায়িত
- নির্ভর করে
- মোতায়েন
- বর্ণনা করা
- পরিকল্পিত
- উন্নয়নশীল
- উন্নয়ন
- পার্থক্য
- বিভিন্ন
- আলোচনা করা
- বিকিরণ
- do
- প্রগতিশীল
- গোড়ার দিকে
- প্রাথমিক পর্যায়ে
- প্রভাব
- উপাদান
- ভোগ
- সম্পূর্ণরূপে
- ইআরসি-4337
- ইত্যাদি
- ethereum
- ইথেরিয়াম মেইননেট
- এমন কি
- প্রতি
- উদাহরণ
- ছাঁটা
- প্রত্যাশিত
- অভিজ্ঞতা
- অন্বেষণ করুণ
- অভিযাত্রী
- চোখ
- সুবিধা
- বিখ্যাত
- বৈশিষ্ট্য
- কয়েক
- ক্ষেত্র
- ক্ষেত্রসমূহ
- আবিষ্কার
- প্রথম
- জন্য
- বিন্যাস
- পাওয়া
- থেকে
- সম্পূর্ণরূপে
- ক্রিয়া
- বৈশিষ্ট্য
- কার্যকরী
- সাধারণ
- পাওয়া
- পেয়ে
- প্রদত্ত
- Go
- চালু
- এরকম
- কঠিন
- কাটা
- হ্যাশ
- আছে
- কিভাবে
- HTTPS দ্বারা
- প্রভাব
- প্রভাব
- বাস্তবায়ন
- বাস্তবায়ন
- গুরুত্বপূর্ণ
- in
- অন্তর্ভুক্ত করা
- অন্তর্ভুক্ত
- সুদ্ধ
- অন্তর্ভুক্তি
- স্বতন্ত্রভাবে
- তথ্যপূর্ণ
- ঐক্যবদ্ধতার
- মনস্থ করা
- ইচ্ছাকৃতভাবে
- মধ্যে
- ভূমিকা
- সমস্যা
- সমস্যা
- IT
- মাত্র
- কী
- পরিচিত
- বড়
- গত
- সর্বশেষ
- নেতৃত্ব
- শিখতে
- মত
- সীমাবদ্ধতা
- সীমাবদ্ধতা
- সীমিত
- দেখুন
- প্রণীত
- মেননেট
- করা
- তৈরি করে
- অনেক
- মার্চ
- সর্বোচ্চ প্রস্থ
- মে..
- মানে
- স্মৃতি
- পদ্ধতি
- পদ্ধতি
- হতে পারে
- প্রচলন
- অপব্যবহার
- শটটি
- ভুল
- পরিবর্তিত
- পর্যবেক্ষণ
- অধিক
- সেতু
- বহু
- স্থানীয়
- নেটিভ টোকেন
- নেটওয়ার্ক
- নতুন
- NFT
- এখন
- of
- on
- ONE
- অনলাইন
- অনলাইনে কেনাকাটা
- OP
- অপারেশন
- কর্মক্ষম
- অপারেশনস
- or
- ক্রম
- সংগঠন
- অন্যান্য
- অন্যান্য প্রোটোকল
- আমাদের
- শেষ
- সামগ্রিক
- নিজের
- প্যাক
- স্থিতিমাপ
- বিশেষত
- যন্ত্রাংশ
- গৃহীত
- প্রপঁচ
- Plato
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটোডাটা
- সম্ভব
- সম্ভাব্য
- প্রস্তুত করা
- ব্যক্তিগত
- ব্যক্তিগত কী
- পণ্য
- প্রকল্প
- বৈশিষ্ট্য
- রক্ষা করা
- প্রোটোকল
- প্রোটোকল
- প্রদান
- প্রদত্ত
- প্রদানকারীর
- উদ্দেশ্য
- দ্রুত
- কুইল্যাশ
- উত্থাপন
- কারণ
- গ্রহণ
- সংক্রান্ত
- অঞ্চল
- নিয়মিত
- মুক্ত
- নির্ভরতা
- চিত্রিত করা
- প্রতিনিধিত্ব
- প্রতিনিধিত্ব
- গবেষণা
- গবেষণা ও উন্নয়ন
- ফল
- প্রত্যাবর্তন
- ওঠা
- ঝুঁকি
- নিয়ম
- একই
- পরিকল্পনা
- অধ্যায়
- নিরাপদ
- সুরক্ষিত
- নিরাপত্তা
- নিরাপত্তা হুমকি
- দেখ
- অংশ
- সেবা
- সেবা প্রদানকারী
- সেবা
- বিন্যাস
- বিভিন্ন
- কেনাকাটা
- চিহ্ন
- স্বাক্ষর
- স্বাক্ষর
- এককালে
- একক
- স্মার্ট
- স্মার্ট চুক্তি
- স্মার্ট চুক্তি
- So
- SOL
- সমাধান
- কিছু
- কিছু
- স্থান
- জামিনদার
- পর্যায়
- মান
- মান
- শুরু
- থাকা
- এখনো
- নমন
- সফল
- এমন
- সমর্থন
- নিশ্চয়
- লাগে
- চেয়ে
- যে
- সার্জারির
- তাদের
- তাহাদিগকে
- সেখানে।
- এইগুলো
- তারা
- কিছু
- এই
- সেগুলো
- হুমকি
- সময়
- থেকে
- টোকেন
- টোকেন
- অত্যধিক
- শীর্ষ
- নির্বাহ করা
- লেনদেনের
- লেনদেন
- সত্য
- ধরনের
- বোধশক্তি
- অনাবশ্যক
- আপডেট
- আপডেট
- আপগ্রেড
- ব্যবহার
- ব্যবহৃত
- ব্যবহারকারী
- ব্যবহারকারীর অভিজ্ঞতা
- ব্যবহারকারী
- যাচাই করুন
- মূল্য
- খুব
- চেক
- দেখুন
- দুর্বলতা
- দুর্বলতা
- জেয়
- মানিব্যাগ
- ওয়ালেট
- ছিল
- we
- Web3
- ওয়েবসাইট
- আমরা একটি
- সুপরিচিত
- ছিল
- কি
- কখন
- যে
- যখন
- কেন
- ইচ্ছা
- সঙ্গে
- সাক্ষী
- বিশ্ব
- ভুল
- বছর
- আপনি
- আপনার
- zephyrnet