WebRTC DoS

Support HackTricks

यह समस्या इस ब्लॉग पोस्ट में पाई गई थी: https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/

WebRTC मीडिया सर्वरों में वर्णित भेद्यता मीडिया सत्रों के आरंभ के दौरान एक रेस कंडीशन से उत्पन्न होती है, विशेष रूप से ICE मीडिया सहमति सत्यापन और DTLS ट्रैफ़िक आरंभ के बीच। यहाँ एक विस्तृत विवरण है:

भेद्यता की उत्पत्ति

  1. UDP पोर्ट आवंटन: जब एक उपयोगकर्ता WebRTC कॉल शुरू करता है, तो मीडिया सर्वर मीडिया स्ट्रीम को संभालने के लिए UDP पोर्ट आवंटित करता है, जिसमें IP और पोर्ट सिग्नलिंग के माध्यम से संप्रेषित होते हैं।

  2. ICE और STUN प्रक्रियाएँ: उपयोगकर्ता का ब्राउज़र मीडिया सहमति सत्यापन के लिए ICE का उपयोग करता है, STUN का उपयोग करके मीडिया सर्वर के लिए कनेक्शन पथ निर्धारित करता है।

  3. DTLS सत्र: सफल STUN सत्यापन के बाद, SRTP मास्टर कुंजी स्थापित करने के लिए एक DTLS सत्र शुरू होता है, जो मीडिया स्ट्रीम के लिए SRTP पर स्विच करता है।

शोषण तंत्र

  • रेस कंडीशन शोषण: एक हमलावर एक रेस कंडीशन का शोषण कर सकता है, वैध उपयोगकर्ता से पहले DTLS ClientHello संदेश भेजकर, संभावित रूप से TLS_NULL_WITH_NULL_NULL जैसे अवैध सिफर सूट का उपयोग करके। इससे सर्वर पर एक DTLS त्रुटि होती है, जो SRTP सत्र के स्थापित होने से रोकती है।

हमले की प्रक्रिया

  • पोर्ट स्कैनिंग: हमलावर को अनुमान लगाना होगा कि कौन से UDP पोर्ट आने वाले मीडिया सत्रों को संभाल रहे हैं, इन पोर्टों पर null सिफर सूट के साथ ClientHello संदेश भेजकर भेद्यता को सक्रिय करना होगा।

  • हमले का आरेख: अनुक्रम में हमलावर द्वारा सर्वर को भेजे गए कई ClientHello संदेश शामिल होते हैं, जो वैध सिग्नलिंग और DTLS संदेशों के साथ इंटरलीव्ड होते हैं, जिससे त्रुटिपूर्ण सिफर सूट के कारण हैंडशेक विफलता होती है।

परीक्षण और शमन

  • सुरक्षित परीक्षण: Scapy जैसे उपकरणों का उपयोग करते हुए, हमलावर विशिष्ट मीडिया पोर्टों को लक्षित करते हुए DTLS ClientHello संदेशों को पुनः प्रस्तुत करते हैं। नैतिक परीक्षण के लिए, Chromium में संशोधन (जैसे, JsepTransport::AddRemoteCandidates) का उपयोग करके पीड़ित व्यवहार को सुरक्षित रूप से अनुकरण किया गया।

  • शमन उपाय: समाधान में अविश्वसनीय पते से पैकेट गिराना शामिल है, जैसा कि libnice जैसी नई संस्करणों में लागू किया गया है। प्राथमिक समाधान ICE सत्यापन प्रक्रिया पर भरोसा करने और केवल मान्य IP और पोर्ट संयोजनों से पैकेट संसाधित करने पर जोर देता है।

गैर-भेद्य परिदृश्य

  • DTLS सर्वर कॉन्फ़िगरेशन: वे उदाहरण जहाँ ब्राउज़र DTLS सर्वर के रूप में कार्य करता है या जब मीडिया सर्वर मीडिया सत्रों के लिए अस्थायी पोर्ट का उपयोग नहीं करता है, इस भेद्यता के प्रति संवेदनशील नहीं हैं।

निष्कर्ष

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

Support HackTricks

Last updated