परिचय
- इंटरनेट ट्रैफ़िक का अधिकांश हिस्सा bots का होता है, और इनमें से कुछ का उद्देश्य दुर्भावनापूर्ण होता है, जैसे spam, hacking आदि।
- लेखक को पहले bots की वजह से WordPress server संक्रमित होने या Google search से बाहर किए जाने जैसी क्षति झेलनी पड़ी।
- इसे रोकने के लिए उन्होंने Zip Bomb का उपयोग करना शुरू किया।
मुख्य भाग
-
Zip Bomb क्या है?
- यह एक छोटा compressed file होता है, लेकिन unzip करते समय बहुत बड़े आकार में फैल जाता है।
- 1MB compressed file 1GB तक, और 10MB file 10GB तक फैलकर server को ठप कर सकती है।
-
मौजूदा gzip सुविधा
- वेब पर ट्रांसफ़र दक्षता के लिए gzip compression का उपयोग किया जाता है।
- अधिकांश bots भी gzip compression को support करते हैं।
-
Zip Bomb के जरिए जवाबी कार्रवाई का तरीका
- जब किसी bot को malicious माना जाता है, तो उसे
200 OKके साथ gzip-compressed Zip Bomb file response में भेजी जाती है। - इस file को खोलते समय bot अपने server पर crash हो सकता है या रुक सकता है।
- आम तौर पर 1MB (1GB expansion) या 10MB (10GB expansion) का उपयोग किया जाता है।
- जब किसी bot को malicious माना जाता है, तो उसे
-
Zip Bomb बनाने का तरीका
dd if=/dev/zero bs=1G count=10 | gzip -c > 10GB.gz/dev/zeroसे 10GB के 0-byte data बनाकर उसे gzip से compress किया जाता है।- अंतिम परिणाम लगभग 10MB आकार का zip bomb होता है।
-
Server पर लागू करने का उदाहरण
- अगर middleware में IP blacklist या malicious pattern detect हो जाए, तो Zip Bomb भेजा जाता है।
if (ipIsBlackListed() || isMalicious()) { header("Content-Encoding: deflate, gzip"); header("Content-Length: "+ filesize(ZIP_BOMB_FILE_10G)); readfile(ZIP_BOMB_FILE_10G); exit; }
निष्कर्ष
- Zip Bomb कोई परफ़ेक्ट रक्षा उपाय नहीं है।
- अधिक परिष्कृत bots इसे पहचानकर bypass कर सकते हैं।
- लेकिन अंधाधुंध web crawling करने वाले कमज़ोर bots के लिए यह एक प्रभावी रक्षा साधन है।
- भले ही इसमें कुछ server resources खर्च हों, सुरक्षा के लिए इसकी पर्याप्त उपयोगिता है।
29 टिप्पणियां
मेरा मानना है कि अगर स्पैम ट्रैफ़िक पैदा करने वाले बॉट्स को प्रभावी ढंग से ब्लॉक करने का कोई तरीका नहीं है, तो यह एक ऐसा तरीका है जिसे कम से कम एक बार आज़माया जा सकता है।
यह पढ़कर मज़ा आया, जैसे पार्सल चोर को glitter bomb देना :)
वह वीडियो मज़ेदार है। बिल्कुल उसी जैसा है lol
इंटरनेट पर लिखी गई चीज़ें किसी की मालिकाना कूरियर डिलीवरी नहीं होतीं
अगर वह सार्वजनिक न की जा सकने वाली निजी संपत्ति होती, तो उसमें authentication प्रक्रिया डाली गई होती
मुझे यह सड़क पर एक पर्चा रखकर उस पर तेज़ ज़हर लगा देने जैसा ही लगता है
यह दुर्भावनापूर्ण इरादे से ज़हर लगे पर्चे चिपकाने जैसी बात से अलग अवधारणा है।
नैतिक रूप से यह अच्छा तरीका नहीं है। और यह कोई मूलभूत समाधान भी नहीं है।
मैं इस तरह की चीज़ों में नया हूँ, इसलिए जानना चाहता हूँ कि इसका मूलभूत समाधान क्या है!!
मैं सहमत हूँ
तो क्या malicious bots नैतिक तरीका हैं? haha
असल malicious bot को इस तरीके से पकड़ा नहीं जा सकता।
gzip bomb भी काम नहीं करता,
इसे बस ऐसे समझिए कि किसी अनजान व्यक्ति ने मज़े के लिए एक दिलचस्प bomb पोस्ट लिख दी है।
ऐसे लोग ही हैं जिनकी वजह से वैध आत्मरक्षा को मान्यता मिलना मुश्किल हो जाता है, हाहा...
नैतिक रूप से यह अच्छा तरीका क्यों नहीं है? मैं जानना चाहता हूँ
काफ़ी मज़ेदार लेख है! यह एक ऐसा तरीका है जिसके बारे में मैंने सोचा नहीं था, बताने के लिए धन्यवाद!
ऐसा लेख पोस्ट करने का मकसद क्या है?
मेरा तो मानना है कि जिन कंपनियों के पास वास्तव में crawler चल रहे हैं, उनके इस लेख को पढ़कर खुद को इससे बाहर रखने की संभावना लगभग नहीं के बराबर है।
तो फिर यह लेख किस तरह के पाठकों को ध्यान में रखकर लिखा गया होगा?
क्या यह उन लोगों के लिए एक परिचयात्मक पोस्ट है जो साथ में ब्लॉग चलाते हैं, ताकि उन्हें पता चले कि ऐसा तरीका भी मौजूद है,
या फिर यह इस तरह का उकसावा है कि मेरा ब्लॉग इतना secure है, तो अगर कर सकते हो तो एक बार crawl करके देख लो?
यह सच में जानने की उत्सुकता होती है कि ऐसा लेख पोस्ट करके आखिर मिलता क्या है।
बस, शायद यह भी एक तरीका हो सकता है..
यह एक personal blog है, तो क्या मैं इसमें कुछ भी नहीं लिख सकता? 🤔
बेशक, क्योंकि यह कोई सार्वजनिक जगह नहीं है, हो सकता है कि उन्होंने बिना ज़्यादा सोचे-समझे बस पोस्ट कर दिया हो।
जैसे कम्युनिटी में भी लोग बिना ज़्यादा सोचे-समझे कमेंट कर देते हैं।
मैं crawlers को पूरी तरह रोक नहीं सकता, इसलिए सबसे अच्छा तो यही होगा कि कोशिश ही स्वीकार न करूँ, लेकिन मुझे यह जानने की जिज्ञासा थी कि उनका उकसाने वाला इरादा क्या था।
तो मतलब अगर IP के आधार पर बॉट समझा गया, तो उस पर भी बम फेंकने की बात है हाहा
लगता है लेखक का गुस्सा महसूस हो रहा है. हाहा
मतलब अगर request
agentको bot बताकर आती है, तो वह उसे बम देने की बात कर रहा है..यह बहुत दुर्भावनापूर्ण है। वैसे भी
agentको आसानी से छिपाया जा सकता है। अगर bot सच में दुर्भावनापूर्ण है, तो वह अपनी दुर्भावना ज़ाहिर नहीं करेगा।हाल में LLM-इंटीग्रेटेड सेवाओं से आने वाले अत्यधिक ट्रैफ़िक से नुकसान के मामले कभी-कभी दिख रहे हैं, और मुझे लगता है कि इसे व्यावहारिक रूप से ऐसे प्रकार के लिए एक उपाय के तौर पर भी देखा जा सकता है। उदाहरण के लिए, ChatGPT के web search feature जैसी चीज़ों को देखें तो उसके user pool की प्रकृति के कारण 'दुर्भावनापूर्ण नहीं' लेकिन अत्यधिक ट्रैफ़िक पैदा होने की काफी संभावना रहती है, और सुना है कि इन्हें simple agent matching से आसानी से फ़िल्टर किया जा सकता है। अगर सच में इरादा यही है, तो फिर यह बेवजह OpenAI के server cost (और reputation?) ही जलाने का रास्ता है..
इसलिए यह एक बेमतलब की पोस्ट है।
OpenAI वैसे भी इतनी शिष्टता(?) रखने लायक बड़ी ... कंपनी तो है ही।
और शायद यूज़र का सीधे search results पर क्लिक करना इतना भारी traffic पैदा नहीं करेगा; क्या समस्या यह नहीं है कि crawler ज़रूरत से ज़्यादा आक्रामक तरीके से काम कर रहा है?
आपके बताए गए User-Agent हों या मूल पोस्ट में उल्लेखित IP-आधारित detection, मैं इस बात से सहमत हूँ कि पहचान संबंधी जानकारी को छिपाकर बदला जा सकता है, इसलिए केवल उससे किसी चीज़ को malicious कहना मुश्किल है। वास्तव में malicious bots इससे भी ज़्यादा चालाकी से पहुँचेंगे।
मेरे हिसाब से ऐसे हमलों की बजाय, rate limit वाला crawling API देना शायद ज़्यादा व्यावहारिक "nudge" होगा—ताकि वैध automated access की अनुमति भी रहे और server resources भी सुरक्षित रहें। हा हा
वैसे,
bots.txtजैसी एक चीज़ तो है, जिस पर हम बहुत पहले से सहमत हैं..यह इस लेख से संबंधित नहीं है, लेकिन मुझे लगता है कि हाल में hada पर, जिसे मैं अक्सर देखता हूँ, बुरे कमेंट करने वाले कुछ यूज़र्स की संख्या साफ़ तौर पर बढ़ी है। ऐसा लगता है कि जब कमेंट नहीं होते थे या बहुत कम होते थे, उस समय का माहौल अब काफ़ी बदल गया है.
व्यक्तिगत रूप से, मुझे लगता है कि अगर कोई block फीचर हो, या कई reports मिलने पर कमेंट को grey out करने वाला फीचर हो, तो अच्छा रहेगा.
अनुमान है कि जिन यूज़र्स को बहुत ज़्यादा recommendations मिलती हैं, उन्हें ऐसी सुविधा दी जाती है।
2222222222222222