پڑھنے کا وقت: 5 منٹ
جب سے DeFi نے آسمان چھونا شروع کیا ہے، سمارٹ کنٹریکٹ حملوں کی ایک نئی لہر ابھری ہے جس کے نتیجے میں کروڑوں ڈالر کا نقصان ہوا ہے۔ ہیک کے بڑھتے ہوئے اعداد و شمار سے یہ واضح ہے کہ سمارٹ معاہدوں کے لیے سیکیورٹی بہت اہم ہے۔
اگر بہترین طریقوں پر عمل کیا جائے تو زیادہ تر خطرات کو معاہدوں کے ترقیاتی مرحلے پر ٹالا جا سکتا ہے۔ ڈی فائی پروجیکٹس بعض اوقات مارکیٹ میں آنے کی جلدی میں ہوتے ہیں، جو سیکیورٹی کو دوسری ترجیح بناتے ہیں۔ ابتدائی مرحلے کے ڈویلپرز اور تجربہ کار ڈویلپرز میں فرق ہے۔ ایک تجربہ کار ڈویلپر سیکیورٹی کے بہترین طریقوں، ٹولز اور عام کمزوریوں کے بارے میں علم جانتا ہے اور ترقی کے ابتدائی مرحلے میں سیکیورٹی کے مسائل کی نشاندہی کرسکتا ہے۔
سمارٹ معاہدے کوڈ میں معاہدے کے معاہدوں کی ڈیجیٹل نمائندگی ہیں۔ اس کوڈ کے نفاذ کی تصدیق کی جاتی ہے اور بلاکچین نیٹ ورک میں نیٹ ورک نوڈس کی مدد سے تقسیم کی جاتی ہے۔
اس مضمون میں، ہم سمارٹ معاہدوں کی حفاظت اور رازداری کے پیچھے انسانی عنصر کا احاطہ کریں گے اور تجزیہ کریں گے کہ ڈیولپرز کو اب بھی "کمزور ترین لنک" کیوں سمجھا جاتا ہے۔
اسمارٹ کنٹریکٹ کی کمزوریاں کیا ہیں؟
چونکہ سمارٹ معاہدے تقسیم شدہ اور اجازت کے بغیر نیٹ ورکس پر چلتے ہیں، یہ سمارٹ کنٹریکٹ پر عمل درآمد میں ناکامی کی وجہ سے کمزوریوں کا باعث بنتا ہے۔ چونکہ ان معاہدوں میں فنڈز بند ہوتے ہیں، یہ ہیکرز کے لیے ایک بہت پرکشش ہدف بن جاتا ہے، اور کامیابی سے حملہ کرنے سے ہیکرز براہ راست معاہدوں سے فنڈز لے کر بھاگ جاتے ہیں۔
EVM پر مبنی سمارٹ معاہدوں میں کچھ عام کمزوریاں شامل ہیں۔ دوبارہ داخلہ، انٹیجر اوور فلو، اور غیر محدود رسائی کنٹرول۔ دوبارہ داخلے کے ساتھ معاہدے سے فائدہ اٹھانے کے لیے، بیرونی معاہدے پر کال کی جاتی ہے۔ یہ اس کے بعد دوبارہ داخل ہونے والے کال بیک کو طلب کرتا ہے۔ "بھیجیں،" "منتقلی،" اور "کال" جیسی نچلی سطح کی کارروائیاں خطرناک ہیں، اور اگر مستثنیات کو احتیاط سے نہیں سنبھالا گیا تو یہ خطرات کا باعث بن سکتا ہے۔
بلاکچین اسپیس میں اختراعات مسلسل تیار ہو رہی ہیں، جس کے نتیجے میں سمارٹ معاہدوں میں ڈیزائن کی خامیاں سامنے آتی ہیں۔ وکندریقرت ایپلی کیشنز بنانے والے ڈویلپرز کو ان پلیٹ فارمز میں اپ ڈیٹس سے نمٹنا پڑتا ہے جن پر وہ کام کر رہے ہیں۔ لہذا، عام سافٹ ویئر کی خامیاں جیسے رسائی کنٹرول، غلط حساب کتاب، ریس کی حالت، اور کئی دیگر بلاکچین پلیٹ فارمز پر شدت اختیار کر سکتی ہیں۔
اسمارٹ کنٹریکٹ سیکیورٹی ٹولز
سمارٹ کنٹریکٹ ڈیولپمنٹ لائف سائیکل کی مختلف سطحوں پر مختلف طریقوں کو اپنایا گیا ہے تاکہ سمارٹ کنٹریکٹس کی حفاظت کو یقینی بنایا جا سکے۔
سمارٹ کنٹریکٹ ٹیسٹنگ ٹولز: کنٹریکٹ کے سورس کوڈ کا تجزیہ کرنے کے لیے کئی ٹولز تیار کیے گئے ہیں اور معلوم سیکیورٹی مسائل جیسے کہ دوبارہ داخلہ، اوور فلو وغیرہ کے لیے اسکین کیے گئے ہیں۔
ترقی اور جانچ کے ماحول: ٹرفل سمارٹ معاہدوں کے لیے مقبول ترقیاتی فریم ورک ہے۔ ڈویلپر اس کے ساتھ یونٹ اور انٹیگریشن ٹیسٹ لکھ سکتے ہیں۔ Hardhat ایک اور ترقیاتی ماحول ہے جو ٹیسٹ چلانے، غلطیوں کے لیے کوڈ چیک کرنے، اور سمارٹ معاہدوں کے ساتھ بات چیت میں مدد کرتا ہے۔ یہ ترقیاتی نیٹ ورک پر چلتا ہے۔ یہ پلگ ان کو کوڈ کا احاطہ کرنے، فی یونٹ ٹیسٹ میں استعمال ہونے والی گیس کی پیمائش کرنے، ایتھرسکین پر معاہدوں کی خود بخود تصدیق کرنے کے لیے سہولت فراہم کرتا ہے۔ یہ براؤزر IDE کی وجہ سے بڑے پیمانے پر استعمال ہوتا ہے جو سمارٹ معاہدوں کی جانچ، ترقی اور تعیناتی میں معاونت کرتا ہے۔
کوڈ آڈٹ: سمارٹ معاہدوں کا آڈٹ کرنا dAapp سے وابستہ خطرات کو کم کرنے میں مدد کرتا ہے۔ جب معاہدے جانچ کے مرحلے میں ہوں تو سمارٹ کنٹریکٹ آڈٹ کرنا افضل ہے۔ کچھ آڈٹ کے لیے استعمال ہونے والے اوزار سوریا ہیں، میتھرل، اور MythX. اگرچہ خودکار آڈیٹنگ معاہدوں سے وابستہ خطرات کو کم کرنے کے لیے کافی نہیں ہے، لیکن یہ تجویز کیا جاتا ہے کہ کسی قابل اعتماد فرم جیسے QuillAudits سے فریق ثالث دستی آڈٹ کریں۔ آڈٹ کے دوران، کمزوریوں کا تین اہم طریقوں سے پتہ لگایا جاتا ہے:
- نقصان دہ کوڈ سے نکالنے اور سورس کوڈ پر سیمنٹک میچنگ کی خصوصیات؛
- ایک نظام کی مکملیت کی تصدیق کے لیے ریاضیاتی نقطہ نظر کے بعد، یہاں آڈیٹر تمام ممکنہ ٹیسٹ کیسز کے خلاف ہر ممکنہ ان پٹ ٹیسٹ کی جانچ کرتا ہے جو ہو سکتا ہے۔
- معاہدے کی منطقی اکائیوں کے ساتھ ایک کنٹرول فلو گراف بنانا جس کے ذریعے آڈیٹر منطقی ڈیزائن کی خامیوں کا معائنہ کرنے کے لیے کوڈ کے تمام راستوں کو عبور کرتا ہے۔
محفوظ سمارٹ کنٹریکٹ ڈویلپمنٹ
اگر ہم حالیہ سمارٹ کنٹریکٹ کے کارناموں کو قریب سے دیکھیں تو ڈیولپرز کی غلطیوں کی وجہ سے بڑی تعداد میں خطرات پیدا ہوئے۔ لہٰذا، سمارٹ کنٹریکٹس میں خامیوں سے بچنے کا مطلب ہے سمارٹ کنٹریکٹس کی محفوظ نشوونما جو کہ ترقی کی زندگی کے دوران صارفین کو ذہن میں رکھتے ہوئے ہو۔ بہت سے ابتدائی مرحلے کے ڈویلپرز سیکیورٹی کو اہم عنصر نہیں سمجھتے اور سمارٹ کنٹریکٹ سیکیورٹی کے لیے وسائل اور ٹولز سے متعلق آگاہی کا فقدان ہے۔
اسمارٹ کنٹریکٹ سیکیورٹی بصیرت
زیادہ تر ڈویلپرز سمارٹ کنٹریکٹس تیار کرتے وقت سیکورٹی کو اولین ترجیح نہیں رکھتے کیونکہ:
- ان سے کہا جاتا ہے کہ اس منصوبے کو جلد از جلد پہنچا دیں۔ اس لیے سیکورٹی ثانوی بن جاتی ہے۔
- بعض اوقات پروجیکٹ دوسرے مشہور پروجیکٹس کو فورک کرتے ہیں۔
- ٹیم میں سے کوئی آڈٹ کرتا ہے۔
اس کے علاوہ، ہم عام طور پر ڈویلپرز کو یہ کہتے ہوئے سنتے ہیں کہ سالیڈیٹی کی حفاظت کو برقرار رکھنے کے لیے کچھ موروثی حدود ہیں۔ یہ مرکزی دھارے کی زبان سے مختلف ہے کیونکہ افعال کی وضاحت واضح طور پر نہیں کی گئی ہے۔ مناسب سٹرنگ اور ارے کی ہیرا پھیری کو انجام دینے میں بھی مشکلات ہیں کیونکہ سولیڈیٹی میں براہ راست زبان/لائبریری سپورٹ کا فقدان ہے۔
سمارٹ کنٹریکٹ سیکیورٹی کے لیے ڈویلپرز اٹھاتے ہیں۔
ڈویلپرز جو سمارٹ معاہدوں کی حفاظت کا خیال رکھتے ہیں وہ خطرات کو کم کرنے کے لیے ترقیاتی مرحلے پر مختلف طریقوں پر عمل کرتے ہیں، جیسے:
- کوڈ کی لائنوں کے درمیان پڑھنا اور حملہ آور کے نقطہ نظر سے سوچنا۔
- معلومات کے بہاؤ کا تجزیہ کرنے کے لیے ایک فلو چارٹ بنانا اور ان پوائنٹس کو دیکھنا جہاں فال بیک کے امکانات موجود ہیں۔ لہذا، تصویری نمائندگی بہت سے منطقی مسائل کو حل کر سکتی ہے۔
- سمارٹ کنٹریکٹ سیکیورٹی ٹولز کا استعمال، جن میں سے کچھ کا ہم نے پہلے ذکر کیا ہے۔
سمارٹ کنٹریکٹ سیکیورٹی ٹولز کی کچھ حدود غیر معمولی ہیں، کیونکہ کنٹریکٹ ڈیپلائی کرنے کے بعد، آپ کو کنسٹرکٹر لکھنا ہوگا اور پھر کنٹریکٹ کی جانچ کرنی ہوگی۔ اس کے علاوہ کوئی بھی ٹول ترقی کے عمل کے ساتھ مربوط نہیں ہو سکتا۔ آپ کو IDE میں کوڈ لکھنا ہوگا اور پھر اسے جانچنے کے لیے دوسرا ٹول استعمال کرنا ہوگا۔ ڈویلپرز کے لیے کسی دوسرے ٹول کو استعمال کرنے کے بجائے کمپائلر پر کوڈ کی جانچ کرنا آسان ہوگا۔
ہم نے یہ بھی دیکھا ہے کہ سمارٹ کنٹریکٹس اور آڈیٹنگ کے بارے میں پیشگی معلومات رکھنے والے ڈویلپرز کوڈ کا بہتر طریقے سے جائزہ لیتے ہیں اور بہترین حفاظتی طریقوں کے بارے میں زیادہ آگاہی رکھتے ہیں۔ یہ معاہدے میں معلوم کمزوریوں سے بچنے میں بھی مدد کرتا ہے۔ بہت سے نئے ڈویلپرز سیکیورٹی کو کم سمجھتے ہیں اور اسے ترجیح نہیں سمجھتے ہیں کیونکہ وہ زیادہ تر اپنے پروجیکٹس کو ٹیسٹ نیٹ پر تعینات کرتے ہیں جہاں معاہدوں میں کیڑے اور خامیوں کا کوئی حقیقی اثر نہیں ہوتا ہے۔
نتیجہ
سمارٹ کنٹریکٹ ڈویلپرز کے حفاظتی تصورات اور طرز عمل زیادہ تر بیرونی آڈٹ پر انحصار کرتے ہیں تاکہ ان کے منصوبوں کی حفاظت کو یقینی بنایا جا سکے۔ جیسا کہ وہ سیکیورٹی کا دستی طور پر جائزہ لیتے ہیں اور اکثر وسائل اور ٹولز کی کمی ہوتی ہے۔ ڈی فائی پروجیکٹس میں حالیہ اضافے اور اس سے منسلک سیکیورٹی حملوں کے ساتھ، نوسکھئیے ڈویلپرز کو پہلے سے خطرات کو کم کرنے کے لیے ٹولز کا سہارا لینے کی ضرورت ہے۔
14 مناظر
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو بلاک چین۔ Web3 Metaverse Intelligence. علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://blog.quillhash.com/2023/01/13/analysis-of-smart-contract-security-practices-by-developers/
- a
- ہمارے بارے میں
- تک رسائی حاصل
- اپنایا
- کے بعد
- کے خلاف
- معاہدے
- تمام
- تجزیہ
- تجزیے
- اور
- ایک اور
- علاوہ
- ایپلی کیشنز
- نقطہ نظر
- لڑی
- مضمون
- مدد
- منسلک
- حملہ
- حملے
- پرکشش
- آڈٹ
- آڈیٹنگ
- آڈٹ
- آٹومیٹڈ
- خود کار طریقے سے
- گریز
- کے بارے میں شعور
- کیونکہ
- ہو جاتا ہے
- پیچھے
- BEST
- بہترین طریقوں
- بہتر
- کے درمیان
- blockchain
- بلاکچین نیٹ ورک
- بلاک چین کی جگہ
- براؤزر
- کیڑوں
- عمارت
- فون
- پرواہ
- لے جانے کے
- لے جانے والا۔
- مقدمات
- وجوہات
- احتیاط سے
- چارٹ
- جانچ پڑتال
- واضح
- قریب سے
- کوڈ
- کامن
- شرط
- انعقاد کرتا ہے
- غور کریں
- سمجھا
- کنٹریکٹ
- معاہدے
- کنٹرول
- احاطہ
- تخلیق
- اہم
- نمٹنے کے
- مہذب
- وکندریقرت ایپلی کیشنز
- ڈی ایف
- defi منصوبوں
- نجات
- تعیناتی
- تعینات
- ڈیزائن
- پتہ چلا
- ترقی یافتہ
- ڈیولپر
- ڈویلپرز
- ترقی
- ترقی
- فرق
- مختلف
- مشکلات
- ڈیجیٹل
- براہ راست
- براہ راست
- تقسیم کئے
- کر
- ڈالر
- کے دوران
- ابتدائی
- ابتدائی مرحلے
- ابھرتی ہوئی
- کو یقینی بنانے کے
- ماحولیات
- ماحول
- وغیرہ
- ایتھرسکن
- تیار ہوتا ہے
- امتحانات
- پھانسی
- تجربہ کار
- دھماکہ
- استحصال
- بیرونی
- سہولت
- ناکامی
- خصوصیات
- اعداد و شمار
- فرم
- خامیوں
- بہاؤ
- پر عمل کریں
- پیچھے پیچھے
- کے بعد
- کانٹا
- فریم ورک
- سے
- افعال
- فنڈز
- گیس
- گراف
- ہیک
- ہیکروں
- ہو
- ہونے
- مدد
- مدد کرتا ہے
- یہاں
- مارو
- HTML
- HTTPS
- انسانی
- سینکڑوں
- لاکھوں لاکھ
- شناخت
- اثر
- in
- شامل
- معلومات
- ذاتی، پیدائشی
- ان پٹ
- ضم
- انضمام
- بات چیت
- پکارتے ہیں۔
- مسائل
- IT
- رکھیں
- رکھتے ہوئے
- علم
- جانا جاتا ہے
- نہیں
- زبان
- بڑے
- قیادت
- معروف
- سطح
- زندگی
- حدود
- لائنوں
- تالا لگا
- دیکھو
- کمیان
- بند
- بنا
- مین
- مین سٹریم میں
- بنانا
- دستی
- دستی طور پر
- بہت سے
- مارکیٹ
- کے ملاپ
- ریاضیاتی
- کا مطلب ہے کہ
- پیمائش
- ذکر کیا
- طریقوں
- شاید
- لاکھوں
- برا
- غلطیوں
- تخفیف کریں
- زیادہ
- سب سے زیادہ
- ضرورت ہے
- نیٹ ورک
- نیٹ ورک
- نئی
- نوڈس
- نوسکھئیے
- تعداد
- ہوا
- آپریشنز
- دیگر
- دیگر
- نقطہ نظر
- مرحلہ
- پلیٹ فارم
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- پلگ ان
- پوائنٹس
- مقبول
- امکانات
- ممکن
- ممکنہ
- طریقوں
- افضل
- پہلے
- ترجیح
- کی رازداری
- عمل
- منصوبے
- منصوبوں
- مناسب
- Quillhash
- ریس
- اصلی
- حال ہی میں
- کو کم
- متعلقہ
- ریمکس
- نمائندگی
- وسائل
- نتائج کی نمائش
- کا جائزہ لینے کے
- اضافہ
- بڑھتی ہوئی
- خطرات
- رن
- چل رہا ہے
- اسکین
- تجربہ کار
- دوسری
- محفوظ بنانے
- سیکورٹی
- کئی
- ہوشیار
- سمارٹ معاہدہ
- اسمارٹ کنٹریکٹ سیکیورٹی
- سمارٹ معاہدہ
- سافٹ ویئر کی
- استحکام
- حل
- کچھ
- ماخذ
- ماخذ کوڈ
- خلا
- اسٹیج
- شروع
- ابھی تک
- کامیابی کے ساتھ
- اس طرح
- کافی
- سویٹ
- حمایت
- کی حمایت کرتا ہے
- لے لو
- ہدف
- ٹیم
- ٹیسٹ
- ٹیسٹنگ
- ٹیسٹ
- ۔
- ان
- لہذا
- سوچنا
- تیسری پارٹی
- تین
- کے ذریعے
- وقت
- کرنے کے لئے
- کے آلے
- اوزار
- سب سے اوپر
- قابل اعتماد
- یونٹ
- یونٹس
- تازہ ترین معلومات
- استعمال کی شرائط
- صارفین
- عام طور پر
- مختلف
- تصدیق
- اس بات کی تصدیق
- نقصان دہ
- لہر
- طریقوں
- جس
- جبکہ
- ڈبلیو
- بڑے پیمانے پر
- گے
- کام کر
- لکھنا
- کوڈ لکھیں
- تم
- زیفیرنیٹ