বিকাশকারীদের দ্বারা স্মার্ট চুক্তি নিরাপত্তা অনুশীলনের বিশ্লেষণ

বিকাশকারীদের দ্বারা স্মার্ট চুক্তি নিরাপত্তা অনুশীলনের বিশ্লেষণ 

ডেভেলপারদের প্লাটোব্লকচেন ডেটা ইন্টেলিজেন্স দ্বারা স্মার্ট চুক্তি নিরাপত্তা অনুশীলনের বিশ্লেষণ। উল্লম্ব অনুসন্ধান. আ.

পড়ার সময়: 5 মিনিট

যেহেতু DeFi আকাশ ছোঁয়া শুরু করেছে, স্মার্ট চুক্তি আক্রমণের একটি নতুন তরঙ্গ দেখা দিয়েছে যার ফলে কয়েক মিলিয়ন ডলারের ক্ষতি হয়েছে। ক্রমবর্ধমান হ্যাক পরিসংখ্যান থেকে এটা স্পষ্ট যে স্মার্ট চুক্তির জন্য নিরাপত্তা গুরুত্বপূর্ণ। 

চুক্তির উন্নয়ন পর্যায়ে বেশিরভাগ দুর্বলতা এড়ানো যেতে পারে যদি সেরা অনুশীলনগুলি অনুসরণ করা হয়। ডিফাই প্রকল্পগুলি কখনও কখনও বাজারে আসার জন্য তাড়াহুড়ো করে, নিরাপত্তাকে দ্বিতীয় অগ্রাধিকার দেয়৷ প্রাথমিক পর্যায়ের বিকাশকারী এবং অভিজ্ঞ বিকাশকারীদের মধ্যে পার্থক্য রয়েছে। একজন অভিজ্ঞ বিকাশকারী সর্বোত্তম নিরাপত্তা অনুশীলন, সরঞ্জাম এবং সাধারণ দুর্বলতা সম্পর্কে জ্ঞান জানেন এবং বিকাশের প্রাথমিক পর্যায়ে নিরাপত্তা সমস্যাগুলি সনাক্ত করতে পারেন। 

স্মার্ট চুক্তি হল কোডে চুক্তিভিত্তিক চুক্তির ডিজিটাল উপস্থাপনা। ব্লকচেইন নেটওয়ার্কে নেটওয়ার্ক নোডের সাহায্যে এই কোডের এক্সিকিউশন যাচাই করা হয় এবং বিতরণ করা হয়। 

এই নিবন্ধে, আমরা স্মার্ট চুক্তিগুলির নিরাপত্তা এবং গোপনীয়তার পিছনে মানবিক কারণগুলিকে কভার করব এবং কেন বিকাশকারীদের এখনও "দুর্বল লিঙ্ক" হিসাবে বিবেচনা করা হয় তা বিশ্লেষণ করব।

স্মার্ট চুক্তির দুর্বলতা কি?

যেহেতু স্মার্ট চুক্তিগুলি বিতরণ করা এবং অনুমতিহীন নেটওয়ার্কগুলিতে চলে, তাই এটি স্মার্ট চুক্তি সম্পাদনে ব্যর্থতার কারণে দুর্বলতা সৃষ্টি করে। যেহেতু এই চুক্তিতে তহবিল লক করা থাকে, এটি হ্যাকারদের জন্য একটি খুব আকর্ষণীয় লক্ষ্য হয়ে ওঠে এবং সফলভাবে আক্রমণ করলে হ্যাকাররা সরাসরি চুক্তি থেকে তহবিল নিয়ে চলে যেতে পারে। 

ইভিএম-ভিত্তিক স্মার্ট চুক্তিতে কিছু সাধারণ দুর্বলতা অন্তর্ভুক্ত পুনঃপ্রবেশ, পূর্ণসংখ্যা ওভারফ্লো, এবং অনিয়ন্ত্রিত অ্যাক্সেস নিয়ন্ত্রণ। পুনঃপ্রবেশের সাথে একটি চুক্তিকে কাজে লাগাতে, বহিরাগত চুক্তিতে একটি কল করা হয়; এটি তারপর একটি পুনঃপ্রবেশকারী কলব্যাক আহ্বান করে। নিম্ন-স্তরের ক্রিয়াকলাপ যেমন "পাঠান," "স্থানান্তর" এবং "কল" উদ্বেগজনক, এবং ব্যতিক্রমগুলি সতর্কতার সাথে পরিচালনা না করলে এটি দুর্বলতার দিকে পরিচালিত করতে পারে। 

ব্লকচেইন স্পেসে উদ্ভাবন ক্রমাগত বিকশিত হচ্ছে, যার ফলস্বরূপ স্মার্ট চুক্তিতে নকশার ত্রুটি দেখা দেয়। বিকেন্দ্রীভূত অ্যাপ্লিকেশন তৈরির ডেভেলপারদের তারা যে প্ল্যাটফর্মে কাজ করছে তাদের আপডেটের সাথে মোকাবিলা করতে হবে। অতএব, সাধারণ সফ্টওয়্যার ত্রুটিগুলি যেমন অ্যাক্সেস নিয়ন্ত্রণ, ভুল গণনা, রেস কন্ডিশন এবং আরও কিছু ব্লকচেইন প্ল্যাটফর্মগুলিতে তীব্র হতে পারে। 

স্মার্ট চুক্তি নিরাপত্তা সরঞ্জাম

স্মার্ট কন্ট্রাক্ট ডেভেলপমেন্ট লাইফ সাইকেলের বিভিন্ন স্তরে স্মার্ট কন্ট্রাক্টের নিরাপত্তা নিশ্চিত ও উন্নত করার জন্য বিভিন্ন পদ্ধতি গ্রহণ করা হয়েছে। 

স্মার্ট চুক্তি পরীক্ষার সরঞ্জাম: চুক্তির সোর্স কোড বিশ্লেষণ করতে এবং রি-এন্ট্রান্সি, ওভারফ্লো ইত্যাদির মতো পরিচিত নিরাপত্তা সমস্যাগুলির জন্য স্ক্যান করার জন্য বেশ কিছু টুল তৈরি করা হয়েছে। কিছু বহুল ব্যবহৃত টুল হল ওয়েন্টে, মায়ান, ম্যাডম্যাক্স এবং ভ্যান্ডাল। 

উন্নয়ন এবং পরীক্ষার পরিবেশ: ট্রাফল হল স্মার্ট চুক্তির জন্য জনপ্রিয় উন্নয়ন কাঠামো। বিকাশকারীরা এটি দিয়ে ইউনিট এবং ইন্টিগ্রেশন পরীক্ষা লিখতে পারে। Hardhat হল আরেকটি ডেভেলপমেন্ট এনভায়রনমেন্ট যা পরীক্ষা চালানো, ভুলের জন্য কোড চেক করা এবং স্মার্ট চুক্তির সাথে ইন্টারঅ্যাক্ট করতে সহায়তা করে; এটি একটি উন্নয়ন নেটওয়ার্কে চলে। এটি কোড কভার করার জন্য প্লাগইনগুলিকে সহজতর করে, প্রতি ইউনিট পরীক্ষায় ব্যবহৃত গ্যাস পরিমাপ করে, ইথারস্ক্যানে স্বয়ংক্রিয়ভাবে চুক্তি যাচাই করে। এটি ব্রাউজার IDE এর কারণে ব্যাপকভাবে ব্যবহৃত হয় যা পরীক্ষা, উন্নয়ন এবং স্মার্ট চুক্তি স্থাপন সমর্থন করে। 

কোড অডিট: স্মার্ট কন্ট্রাক্ট অডিট করা dAapp-এর সাথে যুক্ত ঝুঁকি কমাতে সাহায্য করে। যখন চুক্তিগুলি পরীক্ষার পর্যায়ে থাকে তখন স্মার্ট কন্ট্রাক্ট অডিট করা বাঞ্ছনীয়। কিছু অডিট করার জন্য ব্যবহৃত সরঞ্জাম সূর্য, মিথ্রিল, এবং মিথএক্স। যদিও স্বয়ংক্রিয় নিরীক্ষা চুক্তির সাথে সম্পর্কিত ঝুঁকি কমাতে যথেষ্ট নয়, এটি QuillAudits-এর মতো বিশ্বস্ত ফার্ম থেকে তৃতীয় পক্ষের ম্যানুয়াল অডিট করার পরামর্শ দেওয়া হয়। একটি অডিটের সময়, তিনটি প্রধান উপায়ে দুর্বলতা সনাক্ত করা হয়:

  1.  দূষিত কোড থেকে নিষ্কাশন এবং সোর্স কোডে শব্দার্থিক ম্যাচিং বৈশিষ্ট্য;
  2.  একটি সিস্টেমের সম্পূর্ণতা যাচাই করার জন্য একটি গাণিতিক পদ্ধতির অনুসরণ করে, এখানে অডিটর সম্ভাব্য সমস্ত সম্ভাব্য পরীক্ষার ক্ষেত্রে যা ঘটতে পারে তার বিরুদ্ধে প্রতিটি সম্ভাব্য ইনপুট পরীক্ষা পরীক্ষা করে;
  3.  চুক্তির লজিক ইউনিটগুলির সাথে একটি নিয়ন্ত্রণ প্রবাহ গ্রাফ তৈরি করা যার মাধ্যমে অডিটর লজিক্যাল ডিজাইনের ত্রুটিগুলি পরিদর্শন করার জন্য সমস্ত কোড পথ অতিক্রম করে

নিরাপদ স্মার্ট চুক্তি উন্নয়ন

যদি আমরা সাম্প্রতিক স্মার্ট চুক্তির শোষণগুলি ঘনিষ্ঠভাবে দেখি, তাহলে ডেভেলপারদের ভুলের কারণে একটি বড় সংখ্যক দুর্বলতা ঘটেছে। অতএব, স্মার্ট চুক্তিতে ত্রুটিগুলি এড়ানোর অর্থ হল বিকাশের জীবনচক্রের সময় ব্যবহারকারীদের মনে রেখে স্মার্ট চুক্তিগুলির নিরাপদ বিকাশ। অনেক প্রাথমিক পর্যায়ের বিকাশকারীরা নিরাপত্তাকে প্রধান ফ্যাক্টর হিসেবে বিবেচনা করে না এবং স্মার্ট কন্ট্রাক্ট সিকিউরিটির জন্য সম্পদ এবং টুলস সম্পর্কিত সচেতনতার অভাব রয়েছে। 

স্মার্ট চুক্তি নিরাপত্তা অন্তর্দৃষ্টি

স্মার্ট কন্ট্রাক্ট তৈরি করার সময় বেশিরভাগ ডেভেলপার নিরাপত্তাকে সর্বোচ্চ অগ্রাধিকার হিসেবে রাখেন না কারণ:

  1. যত তাড়াতাড়ি সম্ভব প্রকল্পটি পৌঁছে দিতে বলা হচ্ছে। তাই নিরাপত্তা গৌণ হয়ে ওঠে
  2. কখনও কখনও প্রকল্পগুলি অন্যান্য জনপ্রিয় প্রকল্পগুলিকে কাঁটা দেয় 
  3. দলের কেউ অডিট পরিচালনা করে

তা ছাড়া, আমরা সাধারণত ডেভেলপারদের বলতে শুনি যে নিরাপত্তা বজায় রাখার জন্য সলিডিটির কিছু অন্তর্নিহিত সীমাবদ্ধতা রয়েছে। এটি মূলধারার ভাষা থেকে ভিন্ন কারণ ফাংশনগুলি স্পষ্টভাবে সংজ্ঞায়িত করা হয়নি। সঠিক স্ট্রিং এবং অ্যারে ম্যানিপুলেশনগুলি চালানোর ক্ষেত্রেও অসুবিধা রয়েছে কারণ সলিডিটির সরাসরি ভাষা/লাইব্রেরি সমর্থনের অভাব রয়েছে।

স্মার্ট কন্ট্রাক্ট সিকিউরিটির জন্য ডেভেলপাররা যে পদক্ষেপ নেয়।

বিকাশকারীরা যারা স্মার্ট চুক্তির নিরাপত্তার বিষয়ে যত্নশীল তারা ঝুঁকি কমাতে উন্নয়ন পর্যায়ে বিভিন্ন পদ্ধতি অনুসরণ করে, যেমন:

  1. কোডের লাইনের মধ্যে পড়া এবং আক্রমণকারীর দৃষ্টিকোণ থেকে চিন্তা করা। 
  2. তথ্যের প্রবাহ বিশ্লেষণ করার জন্য একটি ফ্লো চার্ট আঁকা এবং যেখানে ফলব্যাক সম্ভাবনা বিদ্যমান রয়েছে তা দেখুন; অতএব, একটি গ্রাফিকাল উপস্থাপনা অনেক যৌক্তিক সমস্যার সমাধান করতে পারে। 
  3. স্মার্ট কন্ট্রাক্ট সিকিউরিটি টুলের ব্যবহার, যার কয়েকটি আমরা আগে উল্লেখ করেছি 

স্মার্ট কন্ট্রাক্ট সিকিউরিটি টুলের কিছু সীমাবদ্ধতা অ তুচ্ছ, যেহেতু চুক্তিটি স্থাপন করার পরে, আপনাকে একটি কনস্ট্রাক্টর লিখতে হবে এবং তারপর চুক্তিটি পরীক্ষা করতে হবে। এ ছাড়া উন্নয়ন প্রক্রিয়ার সঙ্গে কোনো হাতিয়ারকে একীভূত করা যাবে না; আপনাকে একটি IDE-তে কোড লিখতে হবে এবং তারপরে এটি পরীক্ষা করার জন্য অন্য টুল ব্যবহার করতে হবে। ডেভেলপারদের জন্য অন্য কোন টুল ব্যবহার না করে কম্পাইলারে কোড পরীক্ষা করা সহজ হবে। 

আমরা আরও দেখেছি যে স্মার্ট কন্ট্রাক্ট এবং অডিটিং সম্পর্কে পূর্ব জ্ঞান থাকা ডেভেলপাররা কোডটি আরও ভালভাবে পর্যালোচনা করার প্রবণতা রাখে এবং সর্বোত্তম নিরাপত্তা অনুশীলন সম্পর্কে আরও সচেতনতা রাখে। এটি চুক্তিতে পরিচিত দুর্বলতাগুলি এড়াতেও সহায়তা করে। অনেক নতুন ডেভেলপার নিরাপত্তাকে অবমূল্যায়ন করে এবং এটিকে অগ্রাধিকার বলে বিবেচনা করে না কারণ তারা বেশিরভাগই তাদের প্রকল্পগুলিকে টেস্টনেটে স্থাপন করে যেখানে চুক্তিতে বাগ এবং ত্রুটিগুলির কোনও বাস্তব প্রভাব নেই। 

উপসংহার

স্মার্ট কন্ট্রাক্ট ডেভেলপারদের নিরাপত্তা উপলব্ধি এবং অনুশীলনগুলি তাদের প্রকল্পগুলির নিরাপত্তা নিশ্চিত করতে বাহ্যিক অডিটের উপর নির্ভর করে। যেহেতু তারা ম্যানুয়ালি নিরাপত্তা মূল্যায়ন করে এবং প্রায়শই সংস্থান এবং সরঞ্জামের অভাব হয়। DeFi প্রকল্প এবং সংশ্লিষ্ট নিরাপত্তা আক্রমণের সাম্প্রতিক বৃদ্ধির সাথে, নবজাতক বিকাশকারীদের আগে থেকেই ঝুঁকিগুলি কমানোর জন্য সরঞ্জামগুলির সহায়তা নিতে হবে। 

14 মতামত

সময় স্ট্যাম্প:

থেকে আরো কুইল্যাশ