मैं मल्टीप्लेयर गेम में पहचान की स्पूफिंग को कैसे रोक सकता हूं?


9

मैं आईपी पते को बिगाड़ने वाले ग्राहकों के बारे में सोच रहा हूं, अन्य ग्राहकों को धोखा दे रहा है कि वे सर्वर हैं; सामान की तरह। (मुझे इसके बारे में ज्यादा जानकारी नहीं है, इसलिए यदि यह पूरी तरह से गलत है, तो कृपया मुझे सुधारें।)

इसे रोकने के लिए मुझे क्या करना चाहिए? क्योंकि यह एक वास्तविक समय का खेल है, अगर मुझे एन्क्रिप्शन का उपयोग करना था, तो मैं RC4 की तरह कुछ तेज और सुरक्षित उपयोग करूंगा। क्या मुझे एक कुंजी के साथ पैकेट डेटा को एन्क्रिप्ट करना चाहिए, जो सर्वर क्लाइंट को देता है?

अगर इससे कोई फर्क पड़ता है, तो मैं यूडीपी का उपयोग कर रहा हूं।

जवाबों:


8

एक संभावित समाधान टीसीपी + टीएलएस का उपयोग करके उपयोगकर्ता को प्रमाणित करना है; फिर, एक ही चैनल के भीतर, सममित कुंजी पर बातचीत करने के लिए डिफी-हेलमैन जैसे कुछ का उपयोग करें। अंत में RC4 जैसे सममित एल्गोरिथ्म का उपयोग करके प्रत्येक UDP पैकेट को एन्क्रिप्ट करें।

यदि आप SRP जैसी किसी चीज़ का उपयोग करते हैं, तो आपको तकनीकी रूप से TCP + TLS का उपयोग करने के लिए सममित कुंजी पर बातचीत करने की आवश्यकता नहीं है - बस याद रखें कि क्लीन डिफी-हेलमैन एक MITM हमले के लिए असुरक्षित है ।

आप आगे भी जा सकते हैं और अपने UDP पैकेट में कस्टम SEQ फ़ील्ड का उपयोग कर सकते हैं (यदि आप विश्वसनीय UDP के कुछ रूप का उपयोग कर रहे हैं) काउंटर-मोड एन्क्रिप्शन का एक रूप लागू करने के लिए - जहां आप प्रत्येक पैकेट के लिए बातचीत की कुंजी में SEQ नंबर जोड़ते हैं; एक ज्ञात-सादा-पाठ हमले को माउंट करने के लिए इसे और अधिक कठिन बनाना।

अपने सर्वर को केवल कुंजियों को हाथ से न जाने दें - एक 'स्पूफ' सर्वर बस इतनी आसानी से हाथ निकाल सकता है कि वह स्वयं की कुंजी हो; अपनी संपूर्ण एन्क्रिप्शन योजना के उद्देश्य को पराजित करना। एकमात्र सुनिश्चित तरीका या तो टीएलएस या आपसी ज्ञान (जैसे पासवर्ड / हैश) का उपयोग करना है।


क्या आप वास्तव में वर्णन कर सकते हैं कि यह किन कमजोरियों को बंद करेगा? मैंने आईपी स्पूफिंग और इस तरह के बारे में सुना है, लेकिन मैं इस विषय पर शिक्षित नहीं हूं
liamzebedee

@ लियाम-पी गेमडेव सुरक्षा पर क्रैश-कोर्स के लिए जगह नहीं है; न ही मेरे पास एक को सौंपने का समय है। अनिवार्य रूप से एसआरपी और टीएलएस (या तो) आपकी ऑनलाइन बैंकिंग वेबसाइट की तरह सुरक्षित होना चाहिए - एसआरपी अधिक-सीटीआर मोड के साथ। यदि आपको स्पष्टीकरण की अधिक आवश्यकता है, तो आपको सुरक्षा एसई वेबसाइट पर पूछना चाहिए।
जोनाथन डिकिंसन

यह निश्चित रूप से सुरक्षा एसई पर विषय पर होगा। मैं इसे वहां स्थानांतरित करने के लिए एक मॉड के लिए ध्वज लगाऊंगा।
रोर अलसॉप

8

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

मैंने कई बार भाग लिया है जहाँ एक प्रोग्रामर "हैक प्रूफ" सिस्टम आसानी से खराब हो गया था क्योंकि उनके पास एक अजीब पर्याप्त गिनती प्रणाली है जिसे मैं प्रोग्रामिंग ज्ञान और प्रथम वर्ष के बीजीय तर्क के बिना क्रैक कर सकता था। जब तक आप एक उचित अनुक्रमिक विधि चुनते हैं तब तक आपके लक्ष्य को अपेक्षित रूप से डेटा प्राप्त होना चाहिए, इसका अर्थ यह भी है कि आपको सबसे सुरक्षित संचालन के लिए टीसीपी का उपयोग करना चाहिए।

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

संक्षिप्त उत्तर

संक्षेप में: प्रत्येक पैकेट संरचना में एक टाइम स्टैम्प भी होता है, जब इसे नीचे की ओर मिलीसेकंड में भेजा जाता है। यह बहुत आसान है और अगर किसी समय से पहले / किसी अन्य समय के बाद यह देखना आसान है। कारण यह अच्छी तरह से समझ में आता है, क्योंकि सर्वर अभी भी खराब होने के साथ पैकेट प्राप्त कर सकता है, प्रमाणीकरण के लिए समय के बिना।

यह स्पष्ट रूप से केवल अनुक्रमिक विधि या किसी भी विधि का सबसे अच्छा नहीं है। यह सिर्फ एक है जो मैंने पाया है कि बहुत अच्छी तरह से काम करता है। टीसीपी + टीएलएस के साथ संयुक्त आपके पास बहुत सारे मुद्दे नहीं होने चाहिए।


खेल के साथ समस्या यह है कि चीजें मिली-सेकंड स्तर पर होती हैं।
जोनाथन डिकिंसन

@ जोनाथनडिकिन्स पूरी तरह से सच है। लेकिन यूडीपी का उपयोग करते समय और विशेष रूप से टीसीपी का उपयोग करते समय, मृत रेकिंग एल्गोरिदम का उपयोग उप मिलीसेकंड और यहां तक ​​कि कई मिलीसेकंड संचालन के लिए किया जाना चाहिए। यह गति, दृश्यों और पाठ्यक्रम के पर्दे के सामान के पीछे कुछ सहायता करना है। (ज्यादातर गति संबंधी)
जोशुआ हेजेज

6
मैं दिन के अंत में अनुमान लगाता हूं कि यह एक खेल है न कि एक मृत्यु किरण उपग्रह नियंत्रण प्रणाली। +1
जोनाथन डिकिंसन

4

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

अब जब कि रास्ते से बाहर है, वहाँ इंडी डेवलपर्स के लिए तरीके हैं जो दुर्भावनापूर्ण उपयोगकर्ताओं को होने वाले नुकसान को कम कर सकते हैं। आपको शायद अपने आउटबाउंड पैकेट को एन्क्रिप्ट करना चाहिए, लेकिन यह केवल कुछ प्रकार के हमलों को रोक देगा, खुद को यह "हैक प्रूफ" समझने की मूर्खता न करें। हैकर्स को वास्तव में बंद करने के लिए, ग्राहकों को यथासंभव कम गेम-बदलते नियंत्रण दें। इन बड़े MMOs में से एक क्लाइंट को सर्वर को यह बताने की अनुमति देता था कि उन्होंने कितना XP कमाया है। लगता है वहाँ क्या हुआ? ऐसा मत करो। क्लाइंट को सर्वर को बताएं कि वे प्राणी पर कुछ सुपर-स्पेल डालना चाहते हैं, और फिर सर्वर को कार्रवाई को हल करने दें और फिर प्राणी के मृत होने पर XP को जोड़ें। क्लाइंट को पतले, गूंगे, टर्मिनल होने चाहिए जो कमांड भेज और प्राप्त कर सकते हैं, और कुछ भविष्यवाणी (यदि आवश्यक हो) कर सकते हैं।खेल और ग्राहकों द्वारा भेजे गए आदेशों पर प्रतिक्रिया।

ज्ञात खेल हैकर्स को भुगतान करने वाले ग्राहकों को बाधित करने से रोकने के लिए बड़ी गेम कंपनियां वीएसी या पंकबस्टर जैसी चीज़ों के अलावा उपरोक्त का उपयोग करती हैं । इन सुरक्षा उपायों को कैसे काम किया जाता है यह काफी गुप्त रखा जाता है, लेकिन मुझे पता है कि वे जिस एक विधि का उपयोग करते हैं: वे वर्तमान में चल रहे अनुप्रयोगों को स्कैन करते हैं और ज्ञात हैक की सूची के खिलाफ तुलना करते हैं। एक बार जब आपको धोखा दिया गया है, तो आप वीएसी / पंकबस्टर सुरक्षित सर्वर से जुड़ने में असमर्थ होंगे।

संबंधित: सर्वर पर गेम तर्क! अच्छा या बुरा?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.