स्मार्ट कॉन्ट्रैक्ट्स पर सेवा हमलों से इनकार: कैसे ठीक करें और बचें (एक विशेषज्ञ गाइड) प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

स्मार्ट अनुबंधों पर सेवा हमलों से इनकार: कैसे ठीक करें और कैसे बचें (एक विशेषज्ञ गाइड)

समय पढ़ें: 6 मिनट

कभी किसी ऐसी साइट पर गए हैं, जिसे लोड करने में लंबा समय लगता है, केवल यह पता लगाने के लिए कि इसे इस समय खोला नहीं जा सकता है? यह केवल सेवा हमलों से इनकार के प्रभाव के बारे में है। 

डेनियल ऑफ सर्विस (DoS) अटैक कई कमजोरियों में से एक है, जिसे स्मार्ट कॉन्ट्रैक्ट्स का ऑडिट करते समय प्रमुखता से देखा जाता है। इस ब्लॉग का उद्देश्य DoS हमले के सभी पहलुओं को खोलना है- यह क्या है, इसका प्रभाव, प्रकार और बहुत कुछ जोड़ने के लिए।

आइए जल्दी से अंदर आएं और उन सभी को एक्सप्लोर करें। 

डॉस अटैक क्या है?

DoS हमले का इरादा वैध उपयोगकर्ताओं से अनुरोध लेने से रोकते हुए, नेटवर्क, सर्वर या एप्लिकेशन की प्रसंस्करण क्षमताओं को बाधित करना है। इसमें हमलावर ज्यादा ट्रैफिक भेजकर नेटवर्क पर हावी हो जाता है जिससे सर्वर की मेमोरी और बैंडविड्थ खत्म हो जाती है। 

ब्लॉकचैन में मौजूद अपार संभावनाओं के कारण, वे DoS हमलों के लिए धन की चोरी करने का प्राथमिक लक्ष्य हैं। सबसे प्रसिद्ध क्रिप्टोकरेंसी, जैसे बिटकॉइन, Ethereum, आदि ने भी DoS हमलों का अनुभव किया है। 

वितरित डेनियल ऑफ सर्विस (डीडीओएस)

डिस्ट्रीब्यूटेड डेनियल ऑफ सर्विस (DDoS) एक DoS हमला है जिसमें हमलावर कई उपकरणों को नियंत्रित करता है ताकि लक्ष्य नोड पर हमला शुरू किया जा सके।

हमलावर लक्ष्य नोड को देखता है और लक्ष्य नोड में बाढ़ की बड़ी मात्रा में सूचना भेजने के लिए अपने नियंत्रण में कई उपकरणों को चैनल करता है। इससे लक्ष्य दुर्घटनाग्रस्त हो जाता है और निर्दिष्ट कार्य को पूरा करने में असमर्थ हो जाता है।  

ब्लॉकचैन पारिस्थितिकी तंत्र में DoS हमलों के लक्ष्य

DoS हमलों की पिछली घटनाओं की रिकॉर्डिंग से, ब्लॉकचेन पारिस्थितिकी तंत्र का हर हिस्सा DoS हमलों के लिए असुरक्षित है। और कुछ का नाम लेने के लिए, 

क्रिप्टोक्यूरेंसी वॉलेट: किसी भी वॉलेट की तरह, क्रिप्टोक्यूरेंसी वॉलेट का उपयोग क्रिप्टोकरेंसी को स्टोर करने, भेजने या प्राप्त करने के लिए किया जाता है। और वे ऑनलाइन वॉलेट स्मार्ट कॉन्ट्रैक्ट्स का उपयोग करते हैं, जो DoS हमलों के लिए प्रवण होते हैं जो उनकी सेवाओं और Dapps के साथ बातचीत में बाधा डालते हैं। 

क्रिप्टोक्यूरेंसी एक्सचेंज सेवाएं: ऑनलाइन प्लेटफॉर्म जहां क्रिप्टोकाउंक्शंस का कारोबार होता है, और एक्सचेंज उपयोगकर्ताओं के बीच होता है। वे हैकर्स के लिए DoS हमले करने के लिए प्रमुख लक्ष्य हैं जो प्लेटफ़ॉर्म और उसकी सेवाओं की अनुपलब्धता का कारण बनते हैं। 

Ex: बिटकॉइन एक्सचेंज प्लेटफॉर्म, Bifinex को कई बार DDoS हमलों का सामना करना पड़ा है। 

मेमोरी (लेनदेन) पूल: ब्लॉक में जोड़े जाने से पहले ब्लॉकचैन पर लेनदेन को सत्यापित करने की आवश्यकता होती है। तब तक, लेन-देन अनुरोधों को मेमपूल में संग्रहीत किया जाता है, जो एक खनिक द्वारा चुने जाने की प्रतीक्षा में अपुष्ट लेनदेन के भंडार की तरह होता है। 

उच्च शुल्क वाले लेन-देन को खनिक द्वारा उठाए जाने की सबसे अधिक संभावना है। इसलिए छोटे शुल्क के कई लेन-देन के साथ मेमपूल में बाढ़ आने से उपयोगकर्ता को अपने लेनदेन को संसाधित करने के लिए उच्च शुल्क का भुगतान करना पड़ता है। इस प्रकार DoS हमले ने प्रोसेसिंग शुल्क बढ़ाने में अपना जादू चला दिया है। 

सहमति प्रतिभागियों: वे खिलाड़ी हैं जो तर्क को हल करते हैं और ब्लॉकचैन में जोड़े जाने वाले ब्लॉकों को तय करते हैं। सर्वसम्मति के नेता पर DoS हमले करने से पूरी व्यवस्था रुक जाती है। 

मिश्रण सेवाएं: यह उपयोगकर्ताओं के लिए गुमनाम रूप से लेनदेन करने के लिए एक प्रोटोकॉल का उपयोग करता है। वे विभिन्न माध्यमों से DoS हमलों का शिकार होते हैं, जैसे कि मिक्सिंग पूल में अत्यधिक भागीदारी अनुरोध, फेरबदल के लिए असंगत इनपुट, आदि। 

स्मार्ट अनुबंध: ब्लॉकचैन पर प्रत्येक लेनदेन के पीछे स्मार्ट अनुबंध अंतर्निहित प्रोटोकॉल है। स्मार्ट कॉन्ट्रैक्ट्स पर DoS के हमले उस नोड को क्रैश कर सकते हैं जो इसके द्वारा होस्ट किए गए Dapps के कामकाज को रोकता है।

उन पर कई संभावित तरीकों से DoS हमले किए जाते हैं, जिनका विवरण निम्नलिखित अनुभाग में दिया गया है।

स्मार्ट कॉन्ट्रैक्ट डॉस अटैक के प्रकारों का विश्लेषण 

स्मार्ट अनुबंधों में DoS भेद्यता असीमित संसाधन उपयोग या अनुबंध में हेरफेर के परिणामस्वरूप होती है। यह सामान्य गतिविधियों के निष्पादन में निलंबन की ओर जाता है या अनुबंध के तर्क को बाधित और ध्वस्त करता है। 

स्मार्ट अनुबंधों में विभिन्न DoS हमलों का वर्गीकरण नीचे दिया गया है

अनपेक्षित रिवर्ट DoS

स्मार्ट अनुबंधों पर इस DoS हमले का अध्ययन करने के लिए, आइए एक नीलामी अनुबंध को एक उदाहरण के रूप में लेते हैं। नीलामी अनुबंध प्राप्त प्रत्येक उच्चतम बोली के साथ अद्यतन हो जाता है और पिछली बोलीदाता की बोली राशि लौटाता है क्योंकि यह वर्तमान बोली से कम है।

contract Auction {
    address frontRunner;
    uint256 highestBid;

    function bid() public payable {
        require(msg.value > highestBid, "Need to be higher than highest bid");
        // Refund the old leader, if it fails then revert   
        require(payable(frontRunner).send(highestBid), "Failed to send Ether");
 
        frontRunner = msg.sender;
        highestBid = msg.value;
    }
}

हमलावर अनुबंध को कंस्ट्रक्टर में नीलामी अनुबंध के साथ आरंभ किया जाता है, जो नीलामी अनुबंध तक पहुंच प्राप्त करता है। इसमें 'अटैक ()' फ़ंक्शन को कॉल करके, हमलावर राशि को लॉक कर देता है और इस प्रकार, उससे अधिक बोली प्राप्त करने पर भी हमलावर को बोली राशि वापस करने में विफल रहता है। 

import "./Auction.sol";   
contract Attacker{
    Auction auction;

    constructor(Auction _auctionaddr){
        auction = Auction(_auctionaddr);
    }

    function attack (){
        auction.bid{value: msg.value}();
    }

}

ऐसा इसलिए है क्योंकि 'हमलावर' अनुबंध में ईथर को वापस करने के लिए कोई 'प्राप्त ()' या फ़ॉलबैक फ़ंक्शन शामिल नहीं है, जिसके परिणामस्वरूप अप्रत्याशित वापसी होती है। यह हमलावर अनुबंध को हमेशा सबसे अधिक बोली लगाने वाला बना देता है। 

ब्लॉक गैस सीमा DoS 

ब्लॉक में खर्च की जाने वाली गैस की अधिकतम सीमा होती है जो कि किए जाने वाले कम्प्यूटेशनल कार्य की मात्रा के समानुपाती होती है। गैस की सीमा से अधिक होने की स्थिति में, यह दो प्रकार के DoS हमलों का कारण बनता है।

गैस सीमा DoS - असीमित अनुबंध संचालन

एक निर्धारित गैस सीमा होती है, और यदि लेन-देन निर्धारित सीमा से अधिक गैस सीमा तक पहुँच जाता है, तो लेन-देन विफल हो जाता है। 

यह तब और भी बुरा हो जाता है जब हमलावर आवश्यक गैस में हेरफेर करता है। वह तब होता है जब हमलावर बहुत कम धनवापसी के लिए कुछ पते जोड़ता है। प्रत्येक धनवापसी के लिए एक गैस शुल्क खर्च होता है; इस प्रकार, गैस की लागत उस सीमा से अधिक हो जाती है जो धनवापसी लेनदेन को होने से रोकती है। 

struct Payee {
    address addr;
    uint256 value;
}

Payee[] payees;
uint256 nextPayeeIndex;

function payOut() {
    uint256 i = nextPayeeIndex;
    while (i < payees.length && msg.gas > 200000) {
      payees[i].addr.send(payees[i].value);
      i++;
    }
    nextPayeeIndex = i;
}

इसलिए, किसी सरणी पर लूप लागू करते समय आवश्यक चरणों पर विचार किया जाना चाहिए। 

ब्लॉक स्टफिंग

हमलावर उच्च गैस कीमतों के साथ कम्प्यूटेशनल रूप से गहन लेनदेन भेजकर लेनदेन को ब्लॉक में जोड़ने से रोकने के लिए इस हमले की शुरुआत करता है। संपूर्ण गैस सीमा का उपभोग करने के लिए इसी तरह से कई लेनदेन जारी किए जाते हैं। 

उच्च गैस शुल्क का भुगतान करके, हमलावर यह सुनिश्चित करता है कि ब्लॉक में केवल इच्छित लेन-देन जोड़े जाते हैं, बाकी को छोड़कर। 

मालिक कार्रवाई

प्रत्येक अनुबंध में एक मालिक का पता होता है जिसके पास लेनदेन को खोलने या निलंबित करने का अधिकार होता है। पूरा ऑपरेशन मालिक के पते पर निर्भर करता है, और इसलिए यदि यह खो जाता है, तो उपयोगकर्ता टोकन बिल्कुल भी नहीं भेज सकता है, और अनुबंध कार्य ध्वस्त हो जाएगा।

डॉस अटैक का प्रभाव

ब्लॉक स्टफिंग कई प्रभावों में से एक है जो वैध लेनदेन को ब्लॉक में जोड़े जाने से रोकता है। हालाँकि, DoS हमलों के कई अन्य प्रभाव भी हैं। 

फूला हुआ खाता बही: ब्लॉकचेन लेज़र वह जगह है जहाँ लेनदेन स्थायी रूप से दर्ज किए जाते हैं। ब्लॉकचेन नोड दोहरे खर्च के सत्यापन के लिए लेनदेन की एक प्रति संग्रहीत करता है। एक DoS हमला स्पैम लेनदेन के साथ खाता बही को फुला सकता है।

प्रसार यातायात: हम पीयर-टू-पीयर मोड के आधार पर ब्लॉकचेन के कार्यों को जानते हैं। ब्लॉकचेन के प्रत्येक नोड को लेन-देन की एक प्रति प्राप्त होती है। एक DoS बाढ़ के परिणामस्वरूप बड़ी मात्रा में लेन-देन हो सकता है, जो नेटवर्क बैंडविड्थ की खपत करता है। 

नोड विफलता: ब्लॉकचैन नोड्स पर कार्य करता है जिन्हें बड़ी मात्रा में डेटा को संभालने के लिए सॉफ़्टवेयर के समर्थन की आवश्यकता होती है। लेन-देन की बाढ़ के दौरान, नोड्स मेमोरी से बाहर हो सकते हैं, संचालन को रोक सकते हैं।

सॉफ्टवेयर क्रैश: जैसा कि हमने चर्चा की, मेमपूल या ब्लॉक उन्हें आवंटित स्मृति पर कुछ सीमाओं के साथ आते हैं। सॉफ्टवेयर निर्धारित सीमा के भीतर लेनदेन प्राप्त करता है, संसाधित करता है और संग्रहीत करता है। जब इनकमिंग ट्रांजैक्शन बिल्ट-इन लिमिट को पार कर जाते हैं, तो सॉफ्टवेयर क्रैश हो जाता है।  

डॉस हमलों से स्मार्ट अनुबंधों को रोकें 

DoS हमलों के विश्लेषण से, हमले को कम करने के लिए निम्नलिखित तरीकों को नियोजित किया जा सकता है। 

पहेलियाँ: सर्वर पहेलियाँ उत्पन्न कर सकते हैं जैसे कि मेमोरी पज़ल्स, टाइम-लॉक पज़ल्स, सीपीयू-बाउंड पज़ल्स, आदि। एक उपयोगकर्ता के लिए किसी सेवा तक पहुँच प्राप्त करने के लिए, पहेलियों को हल करना होगा, जो स्पैम हमलों का मुकाबला करता है।

शुल्क आधारित दृष्टिकोण: ब्लॉकचैन पर एक अतिरिक्त शुल्क लगाया जा सकता है, जैसे खनन पूल के लिए खनन शुल्क, लेनदेन शुल्क, आदि। यह हमलावरों के लिए DoS हैक को महंगा बनाता है, जिससे ऐसे हमलों को कम किया जा सकता है। 

समापन नोट

एक स्मार्ट अनुबंध ऑडिटिंग यहां की गई क्विलऑडिट्स कोडिंग में निहित संभावित कमजोरियों की तलाश करता है। उनमें से कुछ में रीएंट्रेंसी भेद्यता, भंडारण टकराव, यादृच्छिकता हमला, सेवा से इनकार करना आदि शामिल हैं। 

इसका स्पष्ट अर्थ है स्मार्ट अनुबंध डेनियल ऑफ सर्विस अटैक के खतरों से मुक्त होने के लिए पूरी तरह से परीक्षण किया जाता है। यह सुनिश्चित करता है कि आपका प्रोजेक्ट Web3 स्थान की संभावित कमजोरियों से सुरक्षित है।

हमारी सेवाओं पर नवीनतम जानकारी एकत्र करने के लिए हमारे टेलीग्राम चैनल को देखें: https://t.me/quillhash

13 दृश्य

समय टिकट:

से अधिक क्विलश