اسمارٹ معاہدے کا سکیورٹی آڈٹ کیا ہوتا ہے؟
ہوم
آرٹیکلز
اسمارٹ معاہدے کا سکیورٹی آڈٹ کیا ہوتا ہے؟

اسمارٹ معاہدے کا سکیورٹی آڈٹ کیا ہوتا ہے؟

جدید
شائع کردہ Mar 1, 2022اپڈیٹ کردہ Apr 27, 2023
8m

TL؛DR

اسمارٹ معاہدے کا سکیورٹی آڈٹ کسی پراجیکٹ کے اسمارٹ معاہدوں کا تفصیلی تجزیہ فراہم کرتا ہے۔ یہ سرمایہ کاری کے غرض سے ان کی جانب سے لگائے گئے فنڈز کے تحفظ کے لیے اہم ہیں۔ جیسا کہ بلاک چین پر تمام ٹرانزیکشنز حتمی ہوتی ہیں، لہٰذا فنڈز کے چوری ہونے کی صورت میں ان کی بازیابی ممکن نہیں۔ عموماً، آڈیٹرز اسمارٹ معاہدات کے کوڈ کا جائزہ لیں گے، ایک رپورٹ کو تخلیق کریں گے، اور پراجیکٹ کو فراہم کریں گے تاکہ وہ اس کے حساب سے کام کر سکیں۔ اس کے بعد ایک حتمی رپورٹ جاری کی جاتی ہے، جس میں باقی رہ جانے والے تمام نقائص نیز کارکردگی یا سکیورٹی کے مسائل کے حل کے لیے کی جانے والی کارروائیوں کی تفصیل بیان کی جاتی ہے۔


تعارف

اسمارٹ معاہدے کے سکیورٹی آڈٹس غیر مرکزی فنانس (DeFi) کے ایکو سسٹم میں بہت عام ہیں۔ اگر آپ نے کسی بلاک چین پراجیکٹ میں سرمایہ کاری کی ہوئی ہے، تو ممکن ہے کہ آپ کا یہ فیصلہ کسی حد تک اسمارٹ معاہدے کے کوڈ کے جائزے سے حاصل ہونے والے نتائج پر مبنی ہو۔

جہاں زیادہ تر افراد سائبر سکیورٹی کے لیے آڈٹس کی اہمیت کو سمجھتے ہیں، وہیں بہت سارے لوگ اس کی تفصیلات میں نہیں جاتے۔ آئیے اسمارٹ معاہدے کے سکیورٹی آڈٹس میں عام طور پر دکھائی دینے والے طریقہ کار، ٹولز، اور نتائج کا جائزہ لیتے ہیں تاکہ آپ مزید معقول فیصلے لے سکیں۔


اسمارٹ معاہدے کا آڈٹ کیا ہوتا ہے؟

ایک اسمارٹ معاہدے کا سکیورٹی آڈٹ کسی پراجیکٹ کے اسمارٹ معاہدے کے کوڈ کا جائزہ لیتا ہے اور اس پہ تبصرہ کرتا ہے۔ عموماً، یہ معاہدات سالیڈیٹی پروگرامنگ لینگویج میں لکھے جاتے ہیں اور بذریعہ GitHub فراہم کیے جاتے ہیں۔ سکیورٹی آڈٹس خاص طور پر ایسے DeFi پراجیکٹس کے لیے اہم ہیں جو بلاک چین پر لاکھوں ڈالرز کی ٹرانزیکشنز یا پلیئرز کی ایک بڑی تعداد سے نمٹنے کی توقع رکھتے ہیں۔ عموماً یہ آڈٹس چار مراحل پر مشتمل طریقہ کار پر عمل کرتے ہیں:

1۔ اسمارٹ معاہدات ابتدائی تجزیے کے لیے آڈٹ ٹیم کو فراہم کیے جاتے ہیں۔

2۔ آڈٹ ٹیم پراجیکٹ کو اپنے نتائج پیش کرتی ہے تاکہ وہ اس کے مطابق کام کر سکے۔

3۔ پراجیکٹ ٹیم درپیش مسائل کی بنیاد پر تبدیلیاں کرتی ہے۔

4۔ آڈٹ ٹیم کسی بھی قسم کی نئی تبدیلیوں یا باقی رہ جانے والے نقائص کو مدنظر رکھتے ہوئے، اپنی حتمی رپورٹ کو جاری کرتی ہے۔

کرپٹو کے بہت سے صارفین کے لیے، DeFi پراجیکٹس میں سرمایہ کاری کرتے ہوئے اسمارٹ معاہدے کے آڈٹس ناگزیر ہوتے ہیں۔ یہ ایسے پراجیکٹس کے لیے ایک معیار بن جاتے ہیں جو اپنے آپ کو منوانا چاہتے ہیں۔ آڈٹ کے چند مخصوص فراہم کنندگان کو صنعتی سربراہان کے طور پر بھی دیکھا جاتا ہے، جوکہ سرمایہ کاران کی نظروں میں ان کے آڈٹس مزید قابل قدر بناتا ہے۔


ہمیں اسمارٹ معاہدے کے آڈٹس کی ضرورت کیوں پڑتی ہے؟

اسمارٹ معاہدوں کے ذریعے ٹرانزیکٹ کی جانے والی یا ان میں لاک شدہ بڑی رقوم کی وجہ سے، یہ ہیکرز کی جانب سے خطرناک حملوں کے لیے ایک دلچسپ ہدف بن جاتے ہیں۔ کوڈنگ کے معمولی نقائص ایک بڑی تعداد میں رقم کی چوری کا سبب بن سکتے ہیں۔ مثلاً، Ethereum بلاک چین پر موجود DAO ہیک نے اندازاً 60 ملین ڈالرز پر مشتمل ETH کا نقصان کروایا اور حتیٰ کہ Ethereum نیٹ ورک پر ہارڈ فورک کی وجہ بھی بنا۔

چونکہ بلاک چین ٹرانزیکشنز ناقابل واپسی ہوتی ہیں، لہٰذا یہ امر یقینی بنانا بہت ضروری ہوتا ہے کہ پراجیکٹ کا کوڈ محفوظ ہو۔ بلاک چین ٹیکنالوجی کی انتہائی محفوظ نوعیت کی وجہ سے فنڈز کی بازیابی اور مسائل پیش آ جانے کے بعد ان کا حل نکالنا مشکل ہو جاتا ہے، لہٰذا کسی بھی قیمت پر اس قسم کی کمزوریوں کی روک تھام ضروری ہے۔


اسمارٹ معاہدے کے آڈٹس کیسے کام کرتے ہیں؟

آڈٹ کے فراہم کنندگان کے درمیان، ایک اسمارٹ معاہدے کے آڈٹ کا طریقہ نسبتاً معیاری ہوتا ہے۔ اگرچہ ہر آڈٹ کی حکمت عملی کسی حد تک مختلف ہو سکتی ہے، تاہم عام طریقہ کار مندرجہ ذیل ہے:

1۔ آڈٹ کا دائرہ کار متعین کریں۔ اسمارٹ معاہدے اور پراجیکٹ کی خصوصیات کا تعین پراجیکٹ (ان کے مطلوبہ مقصد) اور مجموعی طرز کی بنیاد پر کیا جاتا ہے۔ کوئی بھی خصوصیت اس حوالے سے آڈٹ ٹیم کی معاونت کرتی ہے کہ وہ کوڈ لکھتے ہوئے اور اس کا استعمال کرتے ہوئے پراجیکٹ کے اہداف سمجھ سکیں۔

2۔ کام کی درکار قوت کی بنیاد پر ابتدائی نرخ فراہم کریں۔

3۔ ٹیسٹس کو چلائیں۔ آڈٹ کرنے والی ٹیم، ان کے تجزیاتی ٹولز، اور ان کے طریقہ کار کی بنیاد پر ان کی اصل نوعیت تبدیل ہو جائے گی۔ عموماً، دستی اور خودکار، دونوں ٹیسٹس کو انجام دیا جاتا ہے۔

4۔ درپیش مسائل پر مشتمل رپورٹ کے پہلے مسودے کو تیار کریں اور رائے لینے یا بعد ازاں کی جانے والی ازالہ کاری کے لیے پراجیکٹ ٹیم کو فراہم کریں۔

5۔ اٹھائے جانے والے مسائل حل کرنے کے لیے ٹیم کی جانب سے لیے جانے والے کسی بھی اقدام کو مدنظر رکھتے ہوئے، حتمی رپورٹ کو شائع کریں۔


اسمارٹ معاہدے کے آڈٹ کے طریقہ کار

گیس کی کارکردگی 

اسمارٹ معاہدے کے آڈٹس صرف بلاک چین کے تحفظ پر توجہ کو مرکوز نہیں کرتے۔ بلکہ یہ اس کی کارکردگی اور اصلاح پر بھی غور کرتے ہیں۔ بعض معاہدات اپنے مطلوبہ فنکشن مکمل کرنے کے لیے ٹرانزیکشنز کا ایک پیچیدہ سلسلہ تیار کرتے ہیں۔ Ethereum جیسے نیٹ ورکس پر گیس کی فیس نسبتاً زیادہ ہونے کے سبب، مؤثر معاہدے ٹرانزیکشن کی لاگتوں پر کافی بچت کر سکتے ہیں۔

ان کی کارکردگی بہتر بنانے کا عمل بھی ڈویلپر کی مہارت کی نشاندہی کرتا ہے۔ غیر مؤثر اقدامات ناکامی کی مزید توجیہات کو پیش کرتے ہیں لہٰذا ان سے اجتناب برتنا چاہیئے۔ جب گیس کی لاگتیں زیادہ ہوں، تو اسمارٹ معاہدوں کی تکمیل میں ناکامی کا سامنا ہو سکتا ہے، جس کا امکان اس صورت میں مزید بڑھ جاتا ہے جب کم گیس کی حد کو استعمال کیا جائے۔

معاہدے کے کمزور پہلو

آڈٹس میں شامل زیادہ تر کام معاہدات میں موجود حفاظتی کمزوریوں کی پڑتال پر مبنی ہوتا ہے۔ اگرچہ چند مسائل کا اندازہ لگانا آسان ہوتا ہے، تاہم بہت سے خطرناک سافٹ ویئرز، فنڈز نکالنے کے لیے جدید تکانیک اور حکمت عملیاں استعمال کرتے ہوئے تیار کیے جاتے ہیں۔ مثلاً، غیر ضمانت یافتہ قرضوں پر حملوں کے لیے کمزور اسمارٹ معاہدوں میں مارکیٹ میں ہیر پھیر کی جا سکتی ہے۔ ان مسائل کی نشاندہی کے لیے، آڈیٹرز بریک ٹیسٹنگ عمل کا آغاز کرتے ہیں اور اسمارٹ معاہدے پر کوئی جعلی خطرناک حملہ کرتے ہیں۔ عام کمزور پہلوؤں میں شامل ہیں:

1۔ ری انٹرنسی کے مسائل: جب کسی بھی قسم کے اثرات کا حل نکلنے سے قبل کوئی اسمارٹ معاہدہ کسی اور بیرونی معاہدے کو بیرونی کال کرے۔ اس کے بعد یہ بیرونی معاہدہ تواتر کے ساتھ اصل اسمارٹ معاہدے کو کال کر سکتا ہے اور ایسے طریقوں سے اس کے ساتھ تعامل انجام دے سکتا ہے جوکہ موزوں نہیں، کیونکہ اصل معاہدے کے بیلنس کو اب تک اپڈیٹ نہیں کیا گیا۔
2۔ انٹیجر کا تجاوز اور کمی: جب کوئی اسمارٹ معاہدہ کسی آرتھمیٹک عمل کو انجام دیتا ہے، تاہم حاصل ہونے والا نتیجہ اسٹوریج کی حد سے تجاوز کر جاتا ہے (جوکہ عموماً 18 اعشاریہ پلیسز ہوتی ہے)۔ یہ حساب میں غلط رقوم کا باعث بن سکتا ہے۔
3۔ قبل از وقت چلنے کے مواقع: کوڈ کا خراب اسٹرکچر مارکیٹ کی خریداریوں یا فروخت کے حوالے سے پیشگی انتباہ کر سکتا ہے۔ نتیجتاً یہ، دیگر افراد کو اس قابل بناتا ہے کہ وہ معلومات کا استعمال کر سکیں اور اپنے مفاد کے لیے اس پر ٹریڈ کر سکیں۔

پلیٹ فارم میں حفاظتی نقائص

زیادہ تر آڈٹس میں معاہدات کی میزبانی کرنے والے نیٹ ورک اور حتیٰ کہ DApp کے ساتھ تعامل کرنے والی API کا جائزہ بھی شامل ہے۔ ممکن ہے کہ کوئی پراجیکٹ DDoS کا حملہ برداشت کرنے کے قابل نہ ہو یا اپنی ویب سائٹ کے UI پر سمجھوتہ کرنے پر مجبور ہو جائے، یعنی صارفین درحقیقت اپنے والیٹس خطرناک بلاک چین ایپلیکیشنز سے مربوط کرنے لگیں گے۔


ایک آڈٹ رپورٹ کیا ہوتی ہے؟

ایک آڈٹ رپورٹ، آڈٹ کے عمل کے اختتام پر فراہم کی جاتی ہے۔ شفافیت کے لیے، پراجیکٹس سے یہ توقع کی جاتی پے کہ وہ اپنے نتائج کو کمیونٹی کے ساتھ شیئر کریں۔ زیادہ تر رپورٹس مسائل کو شدت، جیسے کہ پیچیدہ، بڑا، معمولی، وغیرہ کے لحاظ سے درجہ بند کرتی ہیں۔ اس رپورٹ میں مسئلے کی صورت حال کو بھی سرفہرست کیا جائے گا، جیسا کہ حتمی رپورٹ کے اجراء سے پہلے پراجیکٹ کو انہیں حل کرنے کا وقت دیا جاتا ہے۔

ایک ایگزیکٹو خلاصے کے علاوہ، ایک معیاری رپورٹ میں تجاویز، ریڈنڈنٹ کوڈ کی مثالیں، اور اس چیز کی مکمل تفصیل شامل ہو گی کہ کوڈنگ کے دوران کس جگہ نقائص پیش آتے ہیں۔ حتمی ورژن جاری کرنے سے پہلے پراجیکٹ کو وقت دیا جاتا ہے کہ رپورٹ کے نتائج پر کوئی قدم اٹھا سکے۔


میں اسمارٹ معاہدے کا آڈٹ کہاں سے حاصل کر سکتا ہوں؟

اسمارٹ معاہدے کے آڈٹ کی متعدد سروسز اپنی خدمات کے سبب مقبولیت حاصل کر چکی ہیں۔ ان میں سے دو بہت مقبول ہیں، اور ان سے آڈٹ کروانے کے لیے پیشگی نرخ اور معلومات کی فراہمی کی ضرورت ہو گی،

CertiK

جب بات اسمارٹ معاہدے کے آڈٹس کی ہو، تو CertiK اس صنعت کا سربراہ ہے۔ بہت سے پراجیکٹس نے اپنے اسمارٹ معاہدوں کا آڈٹ انہیں سے کروایا ہے۔ اس کی ایک مثال Pancake Swap ہے، جوکہ BSC کا سب سے بڑا خودکار مارکیٹ میکر (AMM) ہے۔ مندرجہ ذیل سیکشن PancakeSwap پر Certik کے آڈٹ کے متعلق ہے۔


مزید براں، Binance Labs کی جانب سے معاونت شدہ بہت سارے پراجیکٹس نے اپنے معاہدات کا آڈٹ CertiK سے کروایا ہے۔ CertiK نے آڈٹ شدہ پراجیکٹس کے ایک لیڈر بورڈ کو جاری کیا ہے جو آپ کو حفاظتی اسکور کے ساتھ، ہر ایک کے موازنے کے قابل بناتا ہے۔ یاد رکھیں، کہ Ethereum کے علاوہ، CertiK BSC اور Polygon پراجیکٹس کا احاطہ بھی کرتا ہے۔


ConsenSys Diligence

Ethereum کے شریک بانی، Joseph Lubin کی جانب سے چلایا جانے والا ConsenSys، بلاک چین ڈویلپمنٹ میں کرپٹو کرنسی کی صنعت کے بڑے ناموں میں سے ایک ہے۔ ConsenSys Diligence کے تحت، کمپنی Ethereum کو اسمارٹ معاہدے کے آڈٹس کی پیشکش کرتی ہے۔ وہ ایک ایسی خودکار سروس کو بھی فراہم کرتے ہیں جو عام غلطیوں کے لیے Ethereum ورچوئل مشین (EVM) کے معاہدات کی پڑتال کرتی ہے۔


ایک اسمارٹ معاہدے کے آڈٹ میں کتنی لاگت آتی ہے؟

لاگت کی اصل رقم کا انحصار اسمارٹ معاہدوں کی اس تعداد پر ہوتا ہے جن کی پڑتال کی جانی ہے۔ عموماً، ایک آڈٹ میں ہزاروں ڈالرز لگ سکتے ہیں۔ خاص طور پر ایک بڑے پراجیکٹ میں آسانی کے ساتھ $10,000 کی لاگت آ سکتی ہے۔ آپ کا آڈٹ چلانے والی آڈٹ کمپنی اور اس کی ساکھ بھی اس چیز پر اثرانداز ہو گی کہ آپ کتنی ادائیگی کرتے ہیں۔


اختتامی خیالات

خوش قسمتی سے سرمایہ کاران اور صارفین کے لیے، اسمارٹ معاہدے کے آڈٹس ایک سنہری معیار بن چکے ہیں۔ تاہم، جب ہر پراجیکٹ کسی نہ کسی ایک کا حامل ہو، تو یہ مالیت کے لیے مزید ایک آسان انڈیکیٹر نہیں رہتا۔ اسی لیے بذات خود آڈٹ کو پڑھنا نہایت ضروری ہے۔ اگرچہ آپ کو تکنیکی معلومات نہ بھی ہوں، تاہم تبصروں اور ممکنہ مسائل کی شدت کا جائزہ لینا معاون ثابت ہو سکتا ہے۔

اگر کسی آڈٹ سے آپ کا سامنا ہوتا ہے، تو کم از کم اب آپ کے لیے اس کے مشمولات سمجھنا آسان ہو گا۔ ہمیشہ کی طرح، یہ امر یقینی بنائیں کہ سرمایہ کاری سے متعلق کوئی بھی فیصلہ مکمل صورتحال اور تمام معلومات مدنظر رکھتے ہوئے کیا جائے۔