कोई सत्यापन फ़ॉर्म देखने में वैध लग सकता है, जबकि हमलावर उससे सशुल्क मैसेज भिजवा रहा होता है। हमलावर उन साइनअप, सत्यापन कोड या सत्यापन फ़्लो को निशाना बनाता है जिनसे कोई भी मैसेज भिजवा सकता है। इस हमले से मैसेज की लागत बढ़ती है, और रूट पर मौजूद कोई पक्ष उससे कमाई करता है।
उद्योग में SMS पंपिंग को कृत्रिम रूप से बढ़ाया गया ट्रैफ़िक भी कहा जाता है।
कोई ऐसा क्यों करता है?
क्योंकि कुछ गंतव्यों पर SMS भेजने से पैसा आगे बढ़ता है, और उसका कुछ हिस्सा रूट पर आगे कोई पक्ष हासिल कर सकता है।
किसी संदेश को डिलीवर कराने का खर्च भेजने वाले पर पड़ता है, और रूट के पक्षों को भुगतान मिलता है। अगर हमलावर उस रूट के किसी पक्ष को नियंत्रित करता है या उससे भुगतान पाता है, तो उस पर ट्रैफ़िक भेजना सीधे मुनाफ़ा देता है। उसे सत्यापन कोड पढ़ने या कोई खाता हैक करने की ज़रूरत नहीं होती: भेजा गया संदेश ही असली कमाई है।
यही बात पंपिंग को ज़्यादातर दुरुपयोग से अलग करती है। इसमें पकड़ने के लिए कोई खाता हथियाया नहीं जाता और बचाने के लिए कोई डेटा नहीं होता। नुकसान बिल के रूप में होता है, और यह तब बढ़ता रहता है जब हर अलग अनुरोध वैध दिखता है।
यह कैसा दिखता है?
एक अचानक उछाल, जिसका पैटर्न खास होता है, और पैटर्न आकार से ज़्यादा मायने रखता है।
- असामान्य गंतव्यों पर केंद्रित। अनुरोध उन देश कोड और नंबर रेंज पर जमा होते हैं जिन्हें आप आम तौर पर सेवा नहीं देते, अक्सर वे जिनकी टर्मिनेशन दरें ऊँची होती हैं।
- लगभग कोई सत्यापन पूरा नहीं होता। सत्यापन कोड माँगे जाते हैं पर कभी दर्ज नहीं किए जाते, इसलिए भेजे गए संदेशों के मुकाबले सफल सत्यापनों का अनुपात बहुत गिर जाता है।
- नकली दिखने वाले नंबर। असली ग्राहकों के बिखरे नंबरों की जगह क्रमवार या किसी पैटर्न वाली रेंज।
- ऐसा स्रोत जिसे पहचान के आधार पर ब्लॉक करना मुश्किल है। अनुरोध कई पतों से आते हैं, क्योंकि जिस फ़्लो का दुरुपयोग हो रहा है उसके लिए खाते की ज़रूरत नहीं होती।
आखिरी बिंदु के कारण प्रति-उपयोगकर्ता अनुरोध दर सीमित करना अकेले कमज़ोर है: यहाँ कोई उपयोगकर्ता है ही नहीं। दुरुपयोग आपके प्रोडक्ट के उस हिस्से में होता है जो जानबूझकर अजनबियों के लिए काम करता है।
मैं इसे कैसे रोकूँ?
चार उपाय, मोटे तौर पर इस क्रम में कि मेहनत के बदले हर उपाय कितना फ़ायदा देता है।
- भेजना केवल उन्हीं गंतव्यों तक सीमित रखें जिन्हें आप सेवा देते हैं। अगर आपके ग्राहक पाँच देशों में हैं, तो बाकी दो सौ देशों में भेजना बिना किसी फ़ायदे का नुकसान है। Bird हर गंतव्य के लिए भेजने पर रोक लगाता है, इसलिए किसी देश तक ट्रैफ़िक पहुँचने से पहले उस देश को सक्षम करना ज़रूरी है।
- अनुरोध दर उस आधार पर सीमित करें जो आपके पास है, न कि इस आधार पर कि अनुरोध करने वाला कौन है। प्रति फ़ोन नंबर, प्रति नंबर प्रीफ़िक्स, प्रति पता, प्रति सेशन। जिस धोखाधड़ी को किसी खाते से नहीं जोड़ा जा सकता, उसे आमतौर पर फिर भी किसी गंतव्य रेंज से जोड़ा जा सकता है।
- भेजने से पहले एक रुकावट जोड़ें। सत्यापन कोड का अनुरोध होने से पहले एक चैलेंज असली उपयोगकर्ता का बस एक पल लेता है, जबकि स्वचालित हमलावर के लिए हमले को घाटे का सौदा बना देता है।
- वॉल्यूम के बजाय पूरे होने के अनुपात पर नज़र रखें। भेजे गए संदेशों का बढ़ना अपने आप में कुछ साफ़ नहीं बताता। भेजे गए संदेश बढ़ें और पूरे हुए सत्यापन उतने ही रहें, तो यही संकेत है, और यह इनवॉइस से पहले दिख जाता है।
आप जो भी कॉन्फ़िगर करें, उसके नीचे Bird अपनी एक ऊपरी सीमा भी लागू करता है। सत्यापन भेजने की गाइड इसे सीधे शब्दों में बताती है:
Independent of your settings, Verify enforces platform caps to keep OTP traffic from being weaponized, whether against your wallet (SMS pumping) or against a victim's inbox
यह दो कारणों से जानना उपयोगी है: आपकी अपनी गलत कॉन्फ़िगर की गई सीमा ही आपको बड़े बिल से बचाने वाली अकेली चीज़ नहीं है, और अगर वैध ट्रैफ़िक अस्वीकार हो रहा है, तो हो सकता है कि आप ऐसी सीमा से टकरा रहे हों जो आपने सेट नहीं की।
क्या यह सत्यापन कोड फ़्लडिंग हमले जैसा ही है?
दोनों जुड़े हुए हैं, लेकिन इनका निशाना अलग होता है।
एक ही उद्धरण दोनों का नाम लेता है। पंपिंग का निशाना आपकी जेब है: हमलावर चाहता है कि संदेश भेजे जाएँ, और प्राप्तकर्ता से उसे कोई मतलब नहीं होता। फ़्लडिंग का निशाना किसी व्यक्ति का फ़ोन है: हमलावर चाहता है कि एक पीड़ित सत्यापन कोड संदेशों में दब जाए, अक्सर परेशान करने के लिए या किसी असली अलर्ट को छिपाने के लिए।
पंपिंग में कई गंतव्य दिखते हैं और कोई सत्यापन पूरा नहीं होता; फ़्लडिंग में एक गंतव्य और कई अनुरोध दिखते हैं। प्रति-प्राप्तकर्ता सीमा एक नंबर पर बार-बार आने वाले अनुरोध कम करती है। यह कई नंबरों पर फैले हमले को नहीं रोक सकती। इसे गंतव्य प्रतिबंधों के साथ इस्तेमाल करें।
सत्यापन फ़्लो के व्यापक संदर्भ के लिए, OTP का क्या अर्थ है उस प्रक्रिया को समझाता है जिसका यह दुरुपयोग फ़ायदा उठाता है।
संक्षेप में
आपकी भेजने की लागत ही हमलावर की कमाई है।
ट्रैफ़िक उन रूट के नंबरों पर पंप किया जाता है जहाँ आगे कोई पक्ष हिस्सा लेता है, इसलिए मैसेज भेजना ही हमले का मकसद है, कोई दुष्प्रभाव नहीं।
निशाना हर वह फ़्लो है जो लॉगिन के बिना SMS भेजता है।
साइनअप फ़ॉर्म, सत्यापन कोड के अनुरोध और फ़ोन सत्यापन फ़्लो हमले की सतह हैं, क्योंकि इनसे कोई भी अजनबी सशुल्क मैसेज भिजवा सकता है।
पहचान गंतव्यों के पैटर्न से होती है, मात्रा से नहीं।
असामान्य कंट्री कोड और नंबर रेंज पर केंद्रित उछाल, जिसमें लगभग कोई सत्यापन पूरा नहीं होता, इसका साफ़ संकेत है।
प्लेटफ़ॉर्म की सीमाएँ आपकी अपनी सेटिंग के नीचे भी लागू रहती हैं।
Bird सत्यापन ट्रैफ़िक पर आपके कॉन्फ़िगरेशन से अलग अपनी सीमाएँ लागू करता है, इसलिए गलत कॉन्फ़िगर की गई सीमा ही बचाव की एकमात्र रेखा नहीं है।