Websocket क्लाइंट से भेजते समय वास्तव में आवश्यक है


10

वर्तमान Websocket RFC के लिए यह आवश्यक है कि भेजने के दौरान websocket क्लाइंट फ़्रेम के भीतर सभी डेटा को मास्क करें (लेकिन सर्वर की आवश्यकता नहीं है)। कारण प्रोटोकॉल को इस तरह से डिज़ाइन किया गया था कि फ्रेम डेटा को क्लाइंट और सर्वर (प्रॉक्सी, आदि) के बीच दुर्भावनापूर्ण सेवाओं द्वारा परिवर्तित होने से रोका जाए। हालाँकि, मास्किंग कुंजी अभी भी ऐसी सेवाओं के लिए जानी जाती है (इसे प्रत्येक फ्रेम की शुरुआत में प्रति फ्रेम के आधार पर भेजा जाता है)

क्या मुझे यह मान लेना गलत है कि इस तरह की सेवाएं अभी भी अगले बिंदु पर फ्रेम पास करने से पहले सामग्री को अनमास्क, बदलने और फिर से मास्क करने की कुंजी का उपयोग कर सकती हैं? अगर मैं गलत नहीं हूं, तो यह संभावित भेद्यता को कैसे ठीक करता है?

जवाबों:


13

RFC की धारा 10.3 बताती है कि मास्किंग की आवश्यकता क्यों है। यह एक विशिष्ट हैकिंग तकनीक के लिए एक बहुत ही विशिष्ट प्रतिक्रिया है। जिस समस्या का समाधान करने की कोशिश की जा रही है, उसका वर्णन 2010 के एक पेपर में किया गया है, जिसे टॉकिंग योरसेल्फ फॉर फन एंड प्रॉफिट में कुछ सबसे तेज इंटरनेट ट्रांसपोर्ट सिक्योरिटी लोगों द्वारा बताया गया है।

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


हां, फिर भी वेबसोकेट सेवाओं (क्लाइंट साइड और सर्वर साइड दोनों) से भरे हाथ से काम करने के बाद मुझे लगता है कि मुझे प्रोटोकॉल की अच्छी समझ है, और मैं नहीं देखता कि यह प्रॉक्सी को अनमास्क और संशोधित करने की चुनौती कैसे होगी? मक्खी पर तख्ते। क) मास्किंग कुंजी डेटा पर आधारित नहीं है [जैसे हैश], बी) मास्किंग कुंजी अनुमानित नहीं है, इसलिए एक आदमी डेटा और कुंजी को स्वयं बदल सकता है, ग) (मुझे विश्वास है) एक प्रॉक्सी कर सकता है संभावना है कि पूरी तरह से नया, अवांछित फ्रेम [ठीक से नकाबपोश और सभी], एक वैध ग्राहक के रूप में एक वैध ग्राहक सत्र के निर्माण के बाद / अनुमति दी जाती है / इसके माध्यम से चुपके
JSON

इसके साथ ही, मैं यह भी समझता हूं कि जब यह निर्णय लिया गया था, तो मुझे उनके बोर्ड पर कई सेटिंग का ज्ञान और अनुभव नहीं है।
JSON

3
लगता है कि आपने उस अनुभाग या पेपर को नहीं पढ़ा है जो इसे संदर्भित करता है। मास्किंग डेटा पढ़ने से प्रॉक्सी को रोकने के लिए नहीं है, यह उन लोगों से रोकने के लिए है अनजाने एक संचित करने योग्य HTTP अनुरोध के रूप में WebSockets डेटा का इलाज। आप तर्क दे सकते हैं कि क्या यह मूर्खतापूर्ण भविष्यवाणियों के लिए भटक रहा है (और मुझे लगता है कि यह है), लेकिन यही कारण है।
रॉस पैटरसन

स्पष्टीकरण के लिए +1। ऐसा लग रहा है कि इसने बेहतर जवाब दिया होगा। यदि आप अपने मूल उत्तर को संपादित कर सकते हैं तो यह बहुत अच्छा होगा।
JSON

2

wss://एसएसएल / टीएलएस पर उर्फ ​​वेबएसके साथ मास्किंग बेकार है । चूंकि जब भी संभव हो एसएसएल / टीएलएस का उपयोग करने की सिफारिश की जाती है, तो आप उचित निष्कर्ष निकाल सकते हैं कि मास्किंग एक सीमांत उपयोग के मामले को कवर करता है।


1
यह वास्तव में एक टिप्पणी होनी चाहिए थी, लेकिन आपके पास अभी तक पर्याप्त प्रतिष्ठा नहीं है ....
एडम जुकरमैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.