जैसा कि अधिक उन्नत ड्रोन सिस्टम स्थापित किए गए हैं और विभिन्न क्षेत्रों में एकीकृत किए गए हैं, यह उन कमजोरियों को ध्यान में रखना और भी महत्वपूर्ण हो जाता है जो वे अपने अनुप्रयोगों की सुरक्षा सुनिश्चित करने के लिए उत्पन्न कर सकते हैं।
जब से मुझे एयरोस्पेस साइबर सुरक्षा में दिलचस्पी हुई, तब से मैं हमेशा से हैक करने का एक तरीका खोजना चाहता था, वह यूएवी था। इस लेख में, मैंने Wireshark के साथ पैकेट मॉनिटरिंग तकनीकों का उपयोग करके DJI ड्रोन को रिवर्स इंजीनियर करने के लिए उठाए गए कदमों की रूपरेखा तैयार की है और पैकेट विच्छेदन के विवरण में तल्लीन किया है और आप Lua प्रोग्रामिंग भाषा का उपयोग करके अपने स्वयं के प्रोटोकॉल डिसेक्टर को कैसे विकसित कर सकते हैं।
हालांकि रिवर्स इंजीनियरिंग ड्रोन कोई आसान उपलब्धि नहीं है, फिर भी वे साइबर खतरों की एक विस्तृत श्रृंखला के प्रति संवेदनशील हैं, जिसके परिणामस्वरूप गंभीर परिणाम हो सकते हैं। पैकेट डेटा के भीतर संग्रहीत संवेदनशील जानकारी को उजागर करने के लिए मैंने डीजेआई ड्रोन में अपने तरीके से रिवर्स इंजीनियर बनाने की प्रक्रिया को रेखांकित करके, मुझे उम्मीद है कि मौजूदा ड्रोन सिस्टम की सुरक्षा के लिए बेहतर विकल्प खोजने के लिए अनुसंधान मौजूदा कमजोरियों पर प्रकाश डालता है।
एक मानव रहित हवाई वाहन (लघु के लिए यूएवी) एक विमान है जो किसी भी पायलट या यात्रियों को जहाज पर नहीं ले जाता है। अधिकांश समय यह शब्द ड्रोन पर लागू होता है, लेकिन अन्य प्रकार के यूएवी वाहन मौजूद हैं जैसे कि नासा का ग्लोबल हॉक जो एक उच्च ऊंचाई वाला, लंबे समय तक चलने वाला यूएवी है जो अनुसंधान उद्देश्यों के लिए है। यूएवी का उपयोग विभिन्न प्रकार के अनुप्रयोगों जैसे खोज और बचाव मिशन, डेटा संग्रह, सैन्य और कानून प्रवर्तन, हवाई फोटोग्राफी आदि के लिए किया जाता है। युद्धाभ्यास, और लागत प्रभावी साबित होता है, जिससे उन्हें विविध वाणिज्यिक और उपभोक्ता अनुप्रयोगों जैसे वितरण सेवाओं और हवाई सर्वेक्षण के लिए व्यापक रूप से समर्थन मिलता है।
जैसा कि यह लेख ड्रोन फोरेंसिक में तल्लीन होगा, डीजेआई फैंटम 4 बनाने वाले घटकों का त्वरित अवलोकन प्रदान करना महत्वपूर्ण है। हालांकि यह ध्यान देने योग्य है कि ड्रोन द्वारा रखे गए घटक ब्रांड या संस्करण के आधार पर भिन्न हो सकते हैं, अधिकांश यूएवी साझा करते हैं घटकों का एक महत्वपूर्ण बहुमत।
चेसिस: ड्रोन का चेसिस भौतिक ढांचा है जो सभी घटकों को एक साथ रखता है। हवाई जहाज़ के पहिये को आम तौर पर प्लास्टिक या कार्बन फाइबर जैसी हल्की सामग्री से बनाया जाता है ताकि ड्रैग और वज़न को कम करके ड्रोन के समग्र उड़ान प्रदर्शन को कम किया जा सके।
ड्रोन मोटर: ड्रोन उड़ान के लिए आवश्यक मात्रा में लिफ्ट बनाने के लिए मोटरों का उपयोग करते हैं। अधिकांश ड्रोन में आमतौर पर एक क्वाडकॉप्टर कॉन्फ़िगरेशन होता है जिसमें चार मोटर होते हैं: दो क्लॉकवाइज़ स्पिनिंग मोटर और दो काउंटरक्लॉकवाइज़ स्पिनिंग मोटर टर्निंग फोर्स को बराबर करने के लिए। यह कॉन्फ़िगरेशन मौजूद है क्योंकि न्यूटन का तीसरा नियम कहता है कि प्रत्येक क्रिया के लिए एक समान और विपरीत प्रतिक्रिया होती है, इसलिए समान संख्या में काउंटर और क्लॉकवाइज़ मोटर होने से ड्रोन को समान टर्निंग बल के माध्यम से उड़ान समन्वय प्रदान करता है।
ड्रोन फ्लाइट कंट्रोलर: ड्रोन का फ्लाइट कंट्रोलर उसके दिमाग की तरह काम करता है। उड़ान नियंत्रक मोटरों को नियंत्रित करने के लिए इलेक्ट्रॉनिक गति नियंत्रकों (ईएससी) को विशिष्ट निर्देश देने के लिए जीपीएस मॉड्यूल जैसे ड्रोन बोर्ड पर सेंसर से इनपुट लेता है।
जीपीएस मॉड्यूल: ग्लोबल पोजिशनिंग सैटेलाइट (जीपीएस) मॉड्यूल ड्रोन के स्थान को इंगित करने के लिए दो अलग-अलग ग्लोबल पोजिशनिंग सिस्टम का उपयोग करता है। जीपीएस मॉड्यूल का उपयोग करते हुए, ड्रोन विभिन्न उपग्रहों से आने वाले संकेतों को प्रसारित करने में लगने वाले समय के आधार पर अपने भौगोलिक स्थान की गणना कर सकता है।
इलेक्ट्रॉनिक स्पीड कंट्रोलर (ईएससी): ईएससी ड्रोन और मोटर के बिजली वितरण बोर्ड के बीच मध्यस्थ हैं। वे मोटर को आवंटित शक्ति की मात्रा को नियंत्रित करने के लिए उड़ान नियंत्रक से संकेतों का उपयोग करते हैं
पावर पोर्ट मॉड्यूल: पावर पोर्ट एक मॉड्यूल है जो प्रदर्शित करता है कि बैटरी से आने वाली बिजली की मात्रा को मापता है और उस शक्ति को ड्रोन के ईएससी और उड़ान नियंत्रक को वितरित करता है।
बाधा परिहार सेंसर: कुछ ड्रोन में उनके फ्रेम पर स्टीरियो विजन सेंसर शामिल होते हैं। ये सेंसर प्रत्येक सेंसर द्वारा कैप्चर किए गए इमेज पिक्सल के माध्यम से गहराई की गणना करके ड्रोन और सेंसर के सामने बाधा के बीच की दूरी की गणना करते हैं।
3-एक्सिस जिम्बल: गिंबल फुटेज को स्थिर करने के लिए ड्रोन से जुड़े कैमरे को स्थिर करता है। जब सेंसर किसी धुरी के बारे में आंदोलन को देखते हैं, तो वे कैमरे के फुटेज को सुचारू बनाने के लिए उचित समायोजन करने के लिए जिम्बल को संकेत देते हैं
ड्रोन बैटरी: बैटरी ड्रोन को शक्ति प्रदान करती है। कुछ बैटरियों में ओवर-चार्ज प्रोटेक्शन, पावर आउटपुट कम्युनिकेशन आदि जैसी सुविधाएँ भी शामिल होती हैं
ड्रोन कैमरा: ड्रोन के कैमरे का इस्तेमाल फुटेज फिल्माने और तस्वीरें लेने के लिए किया जाता है। कैमरे में छवि संवेदक प्रकाश की आने वाली किरणों को पकड़ता है और उन्हें एक डिजिटल छवि में संसाधित करता है
ड्रोन एंटेना: ड्रोन एंटेना नियंत्रक और ड्रोन के बीच सूचना रिले करने के लिए एक संचरण प्रणाली के रूप में कार्य करता है
डाउनवर्ड अल्ट्रासोनिक बाधा बचाव सेंसर: इन सेंसर का उपयोग जमीन के ऊपर ड्रोन की ऊंचाई की गणना करने के लिए किया जाता है। एक सेंसर से एक उच्च-आवृत्ति ध्वनि पल्स भेजकर और दूसरे सेंसर को इसे प्राप्त करने में लगने वाले समय को मापकर ऊंचाई की गणना की जा सकती है।
फ्लाइट एलईडी: फ्लाइट एलईडी का इस्तेमाल आमतौर पर ड्रोन के उड़ने की दिशा को इंगित करने के लिए किया जाता है। दो चमकती लाल बत्तियाँ ड्रोन के सामने की ओर इशारा करती हैं और चमकती हरी बत्तियाँ पीछे की ओर इशारा करती हैं
जॉयस्टिक्स: जॉयस्टिक्स का उपयोग ड्रोन को नियंत्रित करने के लिए किया जाता है, स्टिक्स के भौतिक आंदोलन को सूचना में अनुवाद करके नियंत्रक ड्रोन को आंदोलन दिशाओं के रूप में संचार कर सकता है।
मुख्य रिमोट कंट्रोलर बोर्ड: रिमोट कंट्रोलर बोर्ड ड्रोन के बारे में उपयोगी टेलीमेट्री प्राप्त करता है जैसे कि इसकी ऊंचाई, स्थान और कैमरा इमेजरी
मुख्य कैमरा बोर्ड: स्थिर फुटेज को संश्लेषित करने के लिए कैमरा बोर्ड इमेजिंग सेंसर और जिम्बल मोटर्स से डेटा संसाधित करता है
यद्यपि यूएवी का उपयोग अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए किया जाता है, ऑनबोर्ड कंप्यूटर सिस्टम वाले प्रत्येक अन्य उपकरण की तरह, वे कई प्रकार के साइबर सुरक्षा खतरों के प्रति संवेदनशील होते हैं। यूएवी के साथ कुछ सबसे आम साइबर सुरक्षा खतरों में शामिल हैं:
अनधिकृत पहुंच: यूएवी अनधिकृत रूप से खराब अभिनेताओं द्वारा असुरक्षित हैं जो ड्रोन को नियंत्रित करने के लिए उपयोग किए जाने वाले वायरलेस सिग्नल को इंटरसेप्ट या स्पूफ कर सकते हैं। यह हैकर को ड्रोन को नियंत्रित करने या उनसे निष्क्रिय रूप से जानकारी चुराने की अनुमति देता है।
डेटा चोरी: यूएवी विभिन्न प्रकार के सेंसर से लैस हैं जो सक्रिय रूप से फोटो, वीडियो और टेलीमेट्री रीडिंग जैसे अपने वातावरण के बारे में जानकारी एकत्र करते हैं। यह डेटा हैकर्स द्वारा इंटरसेप्शन के लिए कमजोर हो सकता है जो इसे नापाक उद्देश्यों के लिए उपयोग कर सकते हैं
सेवा से वंचित करना: एक अधिक विशिष्ट हमला जो हैकर्स ड्रोन को हैक करने के लिए नियोजित कर सकते हैं, सेवा से इनकार है। ऐसा तब होता है जब कोई हैकर ड्रोन के उसी वायरलेस संचार प्रणाली पर एक डॉस लॉन्च करता है, जिससे डेटा प्राप्त करने या प्रसारित करने की इसकी क्षमता बाधित हो जाती है।
जैसा कि यूएवी की बढ़ती लोकप्रियता के साथ अधिक सुरक्षा कमजोरियों की खोज की जाती है, सुरक्षा शोधकर्ताओं के लिए यह आवश्यक है कि वे दुर्भावनापूर्ण उद्देश्यों के लिए उपकरणों का फोरेंसिक विश्लेषण करें। साइबर सुरक्षा के भीतर एक उपक्षेत्र जिसे फोरेंसिक विश्लेषण कहा जाता है, खोजी उद्देश्यों के लिए एक हमले से डेटा एकत्र करने और उसका विश्लेषण करने पर केंद्रित है ।
यह प्रक्रिया वास्तविक जीवन के अपराध परिदृश्यों में काम आती है जब एक कंप्यूटर सिस्टम की डिजिटल जानकारी को जब्त कर लिया जाता है और इसकी जांच करने की आवश्यकता होती है। अक्सर, मशीन पर जानकारी का व्यापक बहुमत अपराध से संबंधित नहीं होता है और अपराध परिदृश्यों को तोड़ने के लिए इसे फ़िल्टर किया जाना चाहिए।
ड्रोन के अवैध अनुप्रयोगों की एक विस्तृत श्रृंखला है जैसे अनधिकृत क्षेत्रों में वर्जित ड्रॉप्स, विदेशी सीमाओं पर ड्रग ड्रॉप्स, और अवांछित निगरानी। इनमें से कई परिदृश्यों के बाद, डिवाइस के स्वामित्व और अपराध से जुड़े किसी भी डेटा जैसी जानकारी निर्धारित करने के लिए डिजिटल फोरेंसिक का उपयोग किया जाता है।
विभिन्न अपराध दृश्यों में सामान्य ड्रोन मॉडल पर किए गए एक अध्ययन से पता चला है कि कानून प्रवर्तन जांचकर्ताओं द्वारा किए गए डिजिटल फोरेंसिक मामलों के लिए फोटो या वीडियो प्रारूप, उड़ान पैटर्न, स्थान और मालिक की जानकारी जैसी मीडिया फाइलें सफलता के लिए सबसे अनुकूल थीं। हालांकि अध्ययन के जांचकर्ता डिजिटल फोरेंसिक तकनीकों का उपयोग करके अपराध के बारे में जानकारी को फ़िल्टर करने में सक्षम थे, अध्ययन में कहा गया है कि राज्य और संघीय कानून ने ड्रोन प्रौद्योगिकी के पीछे के नियमों को ठीक से नियंत्रित नहीं किया है और इसके परिणामस्वरूप कई हितधारकों को कमजोर बना दिया है। कुल मिलाकर, उन्होंने निष्कर्ष निकाला कि फोरेंसिक उपकरणों की कमी और सार्वभौमिक ड्रोन संरचना ने अधिक डेटा निष्कर्षण विधियों को विकसित करने के लिए आवश्यक बना दिया।
यूएवी फोरेंसिक उपकरणों की कमी से निपटने में एक भूमिका निभाने के लिए, मैं यह प्रदर्शित करूंगा कि मैंने डिजिटल फोरेंसिक परिदृश्यों के दौरान उपयोगी नेटवर्क जानकारी खोजने के लिए प्रोग्रामिंग भाषा लुआ का उपयोग करके वायरशार्क के लिए एक पैकेट विच्छेदन स्क्रिप्ट कैसे बनाई। उपकरण यूएवी के बारे में उपयोगी जानकारी इकट्ठा करने के लिए डिजिटल फोरेंसिक कौशल का एक प्रथम-हाथ अनुप्रयोग है जिसका उपयोग जांच स्थितियों के दौरान होने वाले अपराध से संबंधित अधिक डेटा एकत्र करने के लिए किया जा सकता है।
पैकेट स्नीफिंग डेटा के पैकेटों को इंटरसेप्ट करने और जांचने का कार्य है क्योंकि वे एक निर्दिष्ट नेटवर्क पर प्रसारित होते हैं। इस तकनीक का उपयोग साइबर सुरक्षा पेशेवरों द्वारा कमजोरियों को ट्रैक करने, दोषों का निदान करने और उनके नेटवर्क के प्रदर्शन या खतरों की खोज करने के लिए किया जाता है।
कंप्यूटर पर, नेटवर्क इंटरफ़ेस कार्ड (एनआईसी के रूप में भी जाना जाता है) एक हार्डवेयर घटक है जिसमें एक एम्बेडेड सर्किट बोर्ड शामिल होता है जो कंप्यूटर को नेटवर्क के साथ इंटरफेस करने और पैकेट सूँघने की अनुमति देता है। साइबर सुरक्षा या हैकिंग उद्देश्यों के लिए अधिक विस्तृत सूँघने के लिए अक्सर NIC को स्वच्छंद मोड में डालने की आवश्यकता होती है जो कंप्यूटर को आसपास के नेटवर्क ट्रैफ़िक को पुनः प्राप्त करने की अनुमति देता है। एक डिकोडिंग प्रक्रिया का उपयोग करते हुए, स्निफर्स डेटा पैकेट में संग्रहीत एन्कोडेड जानकारी तक पहुंच प्राप्त कर सकते हैं क्योंकि उन्हें नेटवर्क पर ले जाया जाता है। सूँघने को दो सामान्य श्रेणियों में विभाजित किया जा सकता है: सक्रिय और निष्क्रिय सूँघना।
निष्क्रिय सूँघना
निष्क्रिय सूँघने में केवल उन पैकेटों को सुनना शामिल होता है जिन्हें नेटवर्क ट्रैफ़िक के रूप में भेजा जा रहा है। यह अक्सर यातायात के बारे में प्रासंगिक जानकारी और नेटवर्क पर पारित होने वाले डेटा के प्रकार को मापने के लिए टोही तकनीक के रूप में उपयोग किया जाता है। यह सुरक्षा पेशेवरों को किसी भी विसंगतियों या संदिग्ध गतिविधि जैसे नेटवर्क समस्या निवारण (नेटवर्क मुद्दों के लिए एक मीट्रिक के रूप में नेटवर्क ट्रैफ़िक का उपयोग करना) और भीड़ के क्षेत्रों की पहचान करके प्रदर्शन अनुकूलन के लिए नेटवर्क का विश्लेषण करने की अनुमति देता है।
सक्रिय सूँघना
एक्टिव स्निफिंग पैकेट इंजेक्शन/स्पूफिंग अनुप्रयोगों में उपयोग की जाने वाली एक तकनीक है जिसका उद्देश्य नेटवर्क उपकरणों से प्रतिक्रिया प्राप्त करना है। उदाहरण के लिए, संवेदनशील जानकारी के साथ प्रतिक्रिया देने के लिए एक विशिष्ट डिवाइस या एप्लिकेशन को धोखा देने के लिए एक हमलावर एक विशिष्ट पैकेट भेज सकता है। इसका उपयोग कई शरारती गतिविधियों को संचालित करने के लिए किया जा सकता है जैसे कि एक मैन-इन-द-मिडल (MiTM) हमले को व्यवस्थित करना और नेटवर्क सत्रों को हाईजैक करना। निष्क्रिय सूँघने की तुलना में सक्रिय सूँघने का पता लगाना थोड़ा पेचीदा है क्योंकि इसे आसपास के नेटवर्क ट्रैफ़िक के रूप में बनाया गया था। स्विच सामग्री पता मेमोरी (सीएएम) तालिका को अधिभारित करने के लिए जानबूझकर पता समाधान प्रोटोकॉल (एआरपी) पैकेट इनपुट करके सक्रिय सूँघने का संचालन किया जाता है। यह वैध नेटवर्क ट्रैफ़िक को विभिन्न बंदरगाहों तक ले जाने की ओर ले जाता है जो एआरपी स्पूफिंग, डायनेमिक होस्ट कॉन्फ़िगरेशन प्रोटोकॉल (डीएचसीपी) हमलों और डीएनएस (डोमेन नाम सिस्टम) विषाक्तता जैसे स्पूफिंग हमलों की नींव के रूप में काम करता है।
ओ एस आई मॉडल
OSI (ओपन सिस्टम्स इंटरकनेक्शन के रूप में जाना जाता है) मॉडल का उपयोग यह अवधारणा करने के लिए किया जाता है कि नेटवर्क के अलग-अलग घटक एक दूसरे के साथ कैसे संवाद करते हैं। मॉडल को एक सात-परत मॉडल के रूप में प्रस्तुत किया गया है जिसमें एक मानकीकृत नियम सेट शामिल है कि कैसे विभिन्न डिवाइस और प्रोग्राम नेटवर्क के माध्यम से इंटरकम्युनिकेशन कर सकते हैं।
OSI मॉडल को कई परतों में विभाजित किया जा सकता है: एप्लिकेशन, प्रेजेंटेशन, सेशन, ट्रांसपोर्ट, नेटवर्क, डेटालिंक और फिजिकल।
एक प्रकार की प्रोग्रामिंग की पर्त
यह नेटवर्क की भौतिक विशेषताओं का वर्णन करता है जो केबलिंग, कनेक्टर्स और सिग्नलिंग जैसे उपकरणों के बीच भौतिक कनेक्शन के लिए ज़िम्मेदार है। इस परत में, डेटा बिट्स के माध्यम से स्थानांतरित किया जाता है।
सूचना श्रंखला तल
इस लेयर में, डेटा को पैकेट्स में स्वरूपित किया जाता है और नेटवर्क पर प्रसारित किया जाता है। डेटा लिंक परत यह भी सुनिश्चित करती है कि आपके डेटा में कोई आंतरिक त्रुटि नहीं है। डेटा को फ्रेम का उपयोग करके स्थानांतरित किया जाता है।
नेटवर्क परत
नेटवर्क परत संभालती है कि कैसे पैकेट को संबोधित किया जाता है और पैकेट भेजने का इष्टतम तरीका ढूंढकर नेटवर्क पर भेजा जाता है। इस चरण में, IP पते पैकेट के हेडर से जुड़े होते हैं।
ट्रांसपोर्ट परत
परिवहन परत नेटवर्क और सत्र परतों के बीच संक्रमण है। अनुप्रयोगों के बीच डेटा संचारित करने के तरीके को निर्धारित करने के लिए यह परत यूडीपी और टीसीपी जैसे नेटवर्क प्रोटोकॉल का उपयोग करती है। इस परत में पहुँचाए गए डेटा को एक खंड कहा जाता है।
सत्र परत
यह परत परिभाषित करती है कि एप्लिकेशन एक दूसरे के साथ कनेक्शन कैसे स्थापित और बनाए रखते हैं।
प्रेजेंटेशन लेयर
प्रेजेंटेशन लेयर डेटा को सेगमेंट से अधिक मानव-पठनीय प्रारूप में परिवर्तित करता है। यह परत पैकेट के एन्क्रिप्शन और डिक्रिप्शन को भी कवर करती है।
अनुप्रयोग परत
एप्लिकेशन परत वह है जो उपयोगकर्ताओं के साथ इंटरफेस करने के लिए उपयोग की जाती है। यह उन प्रोटोकॉल और इंटरफेस को परिभाषित करता है जिनका उपयोग अनुप्रयोगों द्वारा नेटवर्क के साथ संवाद करने के लिए किया जा सकता है।
पैकेट सूचना ब्रेकडाउन
नेटवर्किंग में, एक पैकेट एक बड़े संदेश का एक छोटा सा खंड होता है। किसी भी प्रकार का डेटा जो एक नेटवर्क पर पारित किया जाता है, उसे पैकेट में विभाजित किया जाता है। एक बार जब वे नेटवर्क से गुजर जाते हैं, तो उन पैकेटों को उस डिवाइस द्वारा फिर से बनाया जाता है जो उन्हें प्राप्त करता है।
एक नेटवर्क पर भेजे गए पैकेट में हेडर, पेलोड और ट्रेलर उनकी संरचना में शामिल होते हैं। मैं IPv4 पैकेट का उपयोग एक पैकेट के भीतर निहित जानकारी के प्रकार को प्रदर्शित करने के लिए एक उदाहरण के रूप में करूँगा।
1. पैकेट हैडर
पैकेट हैडर पैकेट का प्रारंभिक भाग होता है। इसमें एड्रेसिंग और अन्य डेटा होता है जो पैकेट को उसके गंतव्य तक पहुंचने के लिए आवश्यक होता है। IPv4 हेडर में 13 फ़ील्ड हैं…
- संस्करण: उपयोग किए गए इंटरनेट प्रोटोकॉल की संस्करण संख्या (यानी IPv4)
- इंटरनेट हैडर लंबाई (आईएचएल): पूरे आईपी हेडर की लंबाई
- स्पष्ट भीड़ अधिसूचना: रास्ते में देखे गए भीड़भाड़ की जानकारी
- कुल लंबाई: पूरे आईपी पैकेट की लंबाई (हेडर और बॉडी सहित)
- पहचान: यदि आईपी पैकेट खंडित है, तो प्रत्येक पैकेट में मूल आईपी पैकेट की पहचान करने के लिए संबंधित पहचान संख्या होगी, जिससे वे संबंधित हैं
- झंडे: संकेत है कि पैकेट खंडित होने के लिए काफी बड़ा है या नहीं
- फ्रैगमेंट ऑफसेट: आईपी पैकेट में फ्रैगमेंट की स्थिति
- जीने का समय (टीटीएल): नेटवर्क के लूपिंग से बचने के लिए पैकेट को पार करने के लिए राउटर की संख्या छोड़ दी गई है
- प्रोटोकॉल: गंतव्य होस्ट पर नेटवर्क परत पैकेट संबंधित है (यानी टीसीपी = 6, यूडीपी = 17, और आईसीएमपी = 1)
- हैडर चेकसम: पूरे हेडर का चेकसम मान यह पुष्टि करने के लिए उपयोग किया जाता है कि पैकेट में कोई त्रुटि नहीं है
- स्रोत पता: पैकेट के प्रेषक (स्रोत) का 32-बिट पता
- गंतव्य पता: पैकेट के रिसीवर (गंतव्य) का 32-बिट पता
- विकल्प: वैकल्पिक फ़ील्ड जिसमें रिकॉर्ड रूट, टाइमस्टैम्प इत्यादि जैसी जानकारी हो सकती है
2. पेलोड
पैकेट के पेलोड में वास्तविक डेटा शामिल होता है जिसे पैकेट अपने गंतव्य तक ले जाने का इरादा रखता है। IPV4 पैकेट के मामले में, पैकेट को 32-बिट सीमा के भीतर समाप्त करने के लिए पेलोड को 0 बिट्स की पैडिंग दी जाती है।
3. ट्रेलर
कभी-कभी पैकेट में उनके पैकेट का अंत हो सकता है जिसे ट्रेलर कहा जाता है। हालांकि IPV4 पैकेट संरचना में एक ट्रेलर नहीं होता है, लेकिन ईथरनेट फ्रेम में एक ट्रेलर होता है जिसमें जानकारी शामिल होती है कि ईथरनेट पर नेटवर्क एडेप्टर को फ्रेम को संसाधित करने की आवश्यकता होती है।
Wireshark एक व्यापक रूप से उपयोग किया जाने वाला और ओपन-सोर्स नेटवर्क प्रोटोकॉल और पैकेट विश्लेषण उपकरण है। यह आपको वायरलेस (IEEE.802.11), ब्लूटूथ, ईथरनेट, टोकन रिंग आदि जैसे स्रोतों से नेटवर्क पैकेट कैप्चर करने की अनुमति देता है। Wireshark में एक पैकेट फ़िल्टरिंग क्षमता भी शामिल है जो आपको पैकेट की लॉग स्ट्रीम को फ़िल्टर करने देती है क्योंकि वे आपकी स्क्रीन पर प्रदर्शित होते हैं। .
पैकेट विश्लेषण के लिए वायरशार्क का उपयोग करना
Wireshark इंटरफ़ेस में पैकेट जानकारी प्रदर्शित करने के लिए अलग-अलग फलक होते हैं। मुख्य पैनल नेटवर्क के माध्यम से बहने वाले सभी पैकेटों की सूची प्रदर्शित करता है। यदि आप एक व्यक्तिगत पैकेट का चयन करते हैं, तो स्क्रीन के निचले हिस्से के पास दो पैन पॉप अप होने चाहिए जिनमें अधिक विशिष्ट पैकेट डेटा हो। मुख्य पैनल में प्रत्येक कॉलम श्रेणी का विवरण इस प्रकार है:
नहीं: कैप्चर फ़ाइल में पैकेट संख्या
समय: पैकेट सूँघने के बाद इस पैकेट को पकड़ने का समय
स्रोत: भेजने वाले डिवाइस का आईपी पता और पोर्ट नंबर
डेस्टिनेशन: आईपी एड्रेस और रिसीविंग डिवाइस का पोर्ट नंबर
प्रोटोकॉल: पैकेट का प्रकार (यानी टीसीपी, यूडीपी, एचटीटीपी, आदि)
जानकारी: पैकेट के बारे में अधिक सूचनात्मक सामग्री जो कि किस प्रकार के पैकेट पर कब्जा कर लिया गया है पर भिन्न होगा
वे Wireshark में पहले से कॉन्फ़िगर किए गए सूचनात्मक कॉलम हैं, लेकिन टूल में दिखाए जाने के लिए कई और कॉलम उपलब्ध हैं जैसे TTL, चेकसम, आदि इसे "कॉलम" सेटिंग चुनकर।
टूल का पैकेट विवरण अनुभाग आपको पैकेट के बारे में अधिक व्याख्या करने योग्य जानकारी दिखाता है जो पैकेट प्रकार के आधार पर भिन्न होता है। निचला फलक, पैकेट बाइट्स , शुद्ध हेक्साडेसिमल प्रारूप में पैकेट सामग्री दिखाता है।
Wireshark कैप्चर फ़िल्टर
Wireshark में कैप्चर फ़िल्टर डाले गए फ़िल्टर द्वारा कैप्चर किए गए पैकेट को सीमित करता है। यदि आपने देखा होगा, Wireshark कैप्चर फ़िल्टर tcpdump के समान प्रारूप का अनुसरण करते हैं जो एक अन्य लोकप्रिय नेटवर्क पैकेट कैप्चर टूल है। पैकेट कैप्चर का सिंटैक्स बर्कले पैकेट फ़िल्टर (BPF) सिंटैक्स एक्सप्रेशंस का पालन करता है। Wireshark के लिए कुछ सामान्य कैप्चर फ़िल्टर में शामिल हैं...
केवल IP पते 172.18.5.4 पर और उससे आने वाले ट्रैफ़िक को कैप्चर करें:
host 172.18.5.4
IP पतों की श्रेणी से या उससे आने वाले ट्रैफ़िक को कैप्चर करें:
net 192.168.0.0/24
या
net 192.168.0.0 mask 255.255.255.0
IP पतों की श्रेणी से ट्रैफ़िक कैप्चर करें:
src net 192.168.0.0/24
या
src net 192.168.0.0 mask 255.255.255.0
DNS ट्रैफ़िक कैप्चर करें (पोर्ट 53):
port 53
सभी ARP और DNS ट्रैफ़िक को छोड़कर कैप्चर करें:
port not 53 and not arp
केवल IPv4 पैकेट कैप्चर करें:
ip
केवल ईथरनेट पैकेट कैप्चर करें (ईएपीओएल):
ether proto 0x888e
Wireshark में डिस्प्ले फ़िल्टर सुविधा आपको कैप्चर की गई पैकेट सूची में दिखाए गए पैकेट के प्रकार को कम करने देती है। प्रदर्शन फ़िल्टर के सामान्य उदाहरणों में निम्न शामिल हैं:
प्रोटोकॉल-आधारित फ़िल्टर:
आप नेटवर्क प्रोटोकॉल के आधार पर पैकेट ट्रैफ़िक को फ़िल्टर कर सकते हैं
http
ऊपर दिया गया उदाहरण केवल HTTP प्रोटोकॉल वाले पैकेट दिखाता है
पते के अनुसार पैकेट फ़िल्टर करें (अर्थात IP पता फ़िल्टर करना):
आप प्रेषक या प्राप्तकर्ता के पते के माध्यम से पैकेट को फ़िल्टर कर सकते हैं
ip.src == xxxx
उपरोक्त एक विशिष्ट आईपी पते से आने वाले यातायात को दर्शाता है
पोर्ट-आधारित फ़िल्टर:
आप उपयोग किए जा रहे पोर्ट नंबर के आधार पर पैकेट ट्रैफ़िक को फ़िल्टर कर सकते हैं
http
उपरोक्त उदाहरण केवल पोर्ट 80 के साथ टीसीपी पैकेट दिखाता है
समय-आधारित फ़िल्टर:
आप कैप्चर किए गए समय के आधार पर पैकेट को फ़िल्टर कर सकते हैं
frame.time >= "YYYY-MM-DD HH:MM:SS" && frame.time <= "YYYY-MM-DD HH:MM:SS
उपरोक्त उदाहरण केवल एक चयनित समय सीमा के भीतर पैकेट दिखाता है
सामग्री-आधारित फ़िल्टर:
आप पैकेट की सामग्री के आधार पर पैकेट को फ़िल्टर कर सकते हैं
frame contains google
ऊपर दिया गया उदाहरण पैकेट दिखाता है जिसकी सामग्री में "google" कीवर्ड होता है
जबकि पैकेट विश्लेषण की प्रक्रिया का उपयोग नेटवर्क ट्रैफ़िक पैटर्न का सामान्य अवलोकन प्राप्त करने के लिए किया जाता है, पैकेट विच्छेदन में बहुत अधिक संकीर्ण दृष्टिकोण शामिल होता है। पैकेट विच्छेदन नेटवर्क प्रक्रियाओं या निगरानी की जा रही डिवाइस के मूल्यवान ज्ञान प्राप्त करने के लिए अलग-अलग पैकेटों को उनके अलग-अलग घटकों (यानी हेडर, पेलोड सामग्री, आदि) में विच्छेदित करने की प्रक्रिया को संदर्भित करता है। कुछ अनुप्रयोग जिनके लिए पैकेट विच्छेदन का उपयोग किया जा सकता है उनमें प्रोटोकॉल विश्लेषण और फोरेंसिक शामिल हैं।
हमारे लिए सौभाग्य की बात है, Wireshark में एक नेटवर्क पर ले जाए जाने वाले प्रत्येक पैकेट पर पूरी तरह से पैकेट विच्छेदन करने के लिए एक एकीकृत टूलसेट है। पैकेट विच्छेदन करने की कुछ तकनीकों में शामिल हैं…
प्रोटोकॉल डिकोडिंग: आप पैकेट विवरण फलक में परत विवरण का विस्तार करके प्रत्येक पैकेट के लिए प्रोटोकॉल विवरण देख सकते हैं। यह टीसीपी, यूडीपी, डीएनएस आदि जैसे विभिन्न प्रोटोकॉल को डिकोड करने के लिए उपयोगी है
टीसीपी स्ट्रीम: वायरशार्क में एक विशेषता भी होती है जो टीसीपी कनेक्शन के माध्यम से बहने वाले सभी पैकेटों की टीसीपी स्ट्रीम प्रदर्शित करती है। इस सुविधा का उपयोग करने के लिए, एक पैकेट का चयन करें जो एक टीसीपी कनेक्शन से संबंधित है, पैकेट पर राइट-क्लिक करें और "फॉलो> टीसीपी स्ट्रीम" चुनें।
रंग कोडिंग: आप पैकेट की लंबाई या प्रोटोकॉल प्रकार जैसे विशिष्ट मानदंडों के आधार पर पैकेट की कल्पना भी कर सकते हैं। इस सुविधा को देखने के लिए, "दृश्य" पर जाएं और "रंग नियम" पर क्लिक करें
फ़्लो ग्राफ़: Wireshark में एक विशेषता है जो दो मशीनों के बीच एक पैकेट के समय और अनुक्रम विवरण दिखाते हुए फ़्लो ग्राफ़ प्रदर्शित करती है। फ्लो ग्राफ को कॉन्फ़िगर करने के लिए, "संरक्षण फ़िल्टर" पर जाएं और "टीसीपी" विकल्प चुनें। यह एक फिल्टर बनाता है जो दो मशीनों के बीच पारित होने वाले सभी पैकेट दिखाता है। फिर, फ़्लो ग्राफ़ बनाने के लिए "सांख्यिकी" और "टीसीपी स्ट्रीम ग्राफ़" चुनें
पैकेट विच्छेदन का उपयोग यह विश्लेषण करने के लिए किया जा सकता है कि किस प्रकार के नेटवर्क प्रोटोकॉल का उपयोग किया जा रहा है और उनका उपयोग कैसे किया जा रहा है। Wireshark के साथ प्रोटोकॉल विश्लेषण आज़माने के लिए, अपने चयनित नेटवर्क इंटरफ़ेस के साथ पैकेट कैप्चर करके प्रारंभ करें। फिर, जैसे ही पैकेट कैप्चर किए जाते हैं, उन्हें HTTP (पोर्ट 80), HTTPS (पोर्ट 443), SSH (पोर्ट 22), और SNTMP, आदि जैसे विभिन्न प्रकार के प्रोटोकॉल प्रसारित करने चाहिए। हमारे पैकेट विच्छेदन उदाहरण के लिए HTTP का उपयोग करें। http कीवर्ड के साथ फ़िल्टर करके इसे नीचे दिए गए HTTP प्रोटोकॉल के साथ एक पैकेट का चयन करके शुरू करें ...
एक बार पैकेट चुने जाने के बाद, पैकेट के लिए प्रासंगिक जानकारी देखने के लिए ट्रांसमिशन कंट्रोल प्रोटोकॉल (टीसीपी) मेनू का विस्तार करें।
एक बार पैकेट विवरण विस्तृत हो जाने के बाद, आप प्रोटोकॉल के विभिन्न क्षेत्रों का विश्लेषण कर सकते हैं जैसे कि स्रोत और गंतव्य आईपी पते, स्रोत और गंतव्य पोर्ट, उपयोग की गई HTTP विधि (GET, POST, DELETE, आदि) और HTTP प्रतिक्रिया कोड।
विशेष नेटवर्क घटनाओं के पीछे की जानकारी निकालने के लिए पैकेट विच्छेदन का उपयोग डिजिटल फोरेंसिक के लिए भी किया जा सकता है। उदाहरण के लिए, एक ऐसी स्थिति की कल्पना करें जहां एक हैकर आपके नेटवर्क पर एक दूरस्थ सर्वर पर संवेदनशील जानकारी भेजता है। हम हैकर की डिवाइस के आईपी पते और रिमोट सर्वर के आईपी पते का उपयोग करके हैकर की मशीन के लिए आने वाले ट्रैफ़िक को अलग करने के लिए वायरशर्क में डिस्प्ले फ़िल्टर का उपयोग कर सकते हैं। फिर, हम हैकर और रिमोट सर्वर के बीच टीसीपी डेटा स्ट्रीम का पुनर्निर्माण करने के लिए Wireshark द्वारा प्रदान किए गए पैकेट विच्छेदन उपकरण जैसे "फॉलो टीसीपी स्ट्रीम" सुविधा का उपयोग कर सकते हैं। इस जानकारी का उपयोग करके, आप किसी भी दुर्भावनापूर्ण फ़ाइलों या छवियों के स्थानांतरण जैसी छिपी हुई जानकारी को दूरस्थ सर्वर पर भेजे गए हैकर को प्रकट कर सकते हैं। पैकेट विच्छेदन के इस एप्लिकेशन को नेटवर्क ट्रैफ़िक का विश्लेषण करने और किसी आपराधिक गतिविधि का पता लगाने के लिए भी लागू किया जा सकता है।
रिवर्स इंजीनियरिंग यह समझने के लिए कि यह "हुड के नीचे" कैसे काम करता है और इससे प्रासंगिक जानकारी निकालने के लिए एक प्रणाली का विखंडन और विश्लेषण करने की प्रक्रिया है। यह प्रक्रिया अक्सर एक पुनरावृत्त प्रक्रिया के माध्यम से एक प्रणाली के विशिष्ट पहलुओं का विखंडन करती है, इसकी तकनीकी विशिष्टताओं और कोड का विश्लेषण करती है, और इसके परिणामों की जांच करने के लिए विशिष्ट परीक्षण चलाती है। यूएवी हैकिंग के मामले में, हम ड्रोन के सॉफ्टवेयर और फर्मवेयर का विश्लेषण करने, टेलीमेट्री जानकारी निकालने और शोषण करने के लिए कमजोरियों की पहचान करने के लिए रिवर्स इंजीनियरिंग सिद्धांतों को लागू कर सकते हैं। इस शोध प्रयोग के लिए, मैंने डीजेआई मिनी 2 को रिवर्स इंजीनियर करने का फैसला किया - डीजेआई नामक एक लोकप्रिय ड्रोन कंपनी द्वारा विकसित मनोरंजक उपयोग के लिए डिज़ाइन किया गया एक छोटा, कॉम्पैक्ट ड्रोन।
चूंकि पैसिव ईव्सड्रॉपिंग किसी भी रिवर्स-इंजीनियरिंग परिणाम को वापस नहीं करता है, इसलिए मैंने ड्रोन और ऑपरेटर के बीच बेतार संचार की अनुमति देने के लिए नीचे दिए गए कॉन्फ़िगरेशन का पालन करके निरीक्षण योग्य और इंटरसेप्टेबल होने के लिए एक कृत्रिम और ईव्सड्रॉप-फ्रेंडली नेटवर्क कॉन्फ़िगरेशन का उपयोग किया:
ए) ड्रोन: किया गया अपने नेटवर्क साथियों के साथ सीधे संचार के लिए उपयोग किए जाने वाले एक्सेस पॉइंट को शुरू करके प्रक्रिया को आरंभ करता है
बी) एमआईटीएम एपी: हम मोबाइल क्लाइंट के लिए एपी के रूप में हमारी मशीन के साथ एक दूसरा वर्चुअल नेटवर्क स्थापित करते हैं
सी) एमआईटीएम क्लाइंट: एमआईटीएम क्लाइंट सीधे ड्रोन से जुड़ता है और एमआईटीएम एपी के नेटवर्क को ड्रोन पर अग्रेषित करता है और इसके विपरीत
डी) एमआईटीएम मशीन: एमआईटीएम मशीन वर्चुअल एमआईटीएम एपी के एमआईटीएम क्लाइंट के आंतरिक एनआईसी के साथ एनएटी (नेटवर्क एड्रेस ट्रांसलेशन) के माध्यम से कनेक्ट करके ईव्सड्रॉपिंग के लिए उपयोग की जाने वाली डिवाइस है।
ई) ऑपरेटर: ऑपरेटर डीजेआई एप्लिकेशन चलाने वाला मोबाइल डिवाइस है जो वाई-फाई ड्रोन प्रतिनिधि (एमआईटीएम-एपी) के माध्यम से जुड़ता है।
एक्सेस प्वाइंट कॉन्फ़िगरेशन
MITM AP को कॉन्फ़िगर करने के लिए, मैंने create_ap का उपयोग किया मेरी मशीन पर कमांड लाइन पर वर्चुअल एपी बनाने का आदेश।
sudo create_ap wlan0 wlan0 Operator 12345678 -w 2 -c 2 -m nat --freq-band 2.4 --country US
यह आदेश 2.4GHz आवृत्ति पर ध्यान केंद्रित करके और निम्न पैरामीटर स्थापित करके कनेक्शन के बीच गड़बड़ी की संख्या को समाप्त करने के लिए डिज़ाइन किया गया था:
-w 2
CCMP सिफर मोड में WPA2-PSK -c 2
मनमाना और स्थिर खाली चैनल का उपयोग -m nat
आभासी एपी और भौतिक एनआईसी के बीच कनेक्ट करने के लिए एनएटी --freq-band 2.4
केवल 2.4GHz बैंड का चयन करना --country US
स्थानीय नियमों का पालन करने के लिए सही देश कोड डालनाइंटरकम्यूनिकेशन एवेर्सड्रॉपिंग
छिपकर बातें सुनने के लिए, मैंने MITM नेटवर्क के प्रदर्शन को अनुकूलित करने के लिए कमांड लाइन टूल का उपयोग किया। tcpdump के साथ कैप्चर किए गए नेटवर्क पैकेट को संबंधित PCAP फ़ाइल में संग्रहीत किया जाएगा जिसे बाद में नेटवर्क विश्लेषण कार्यक्रमों की एक सरणी द्वारा विश्लेषण किया जा सकता है। मैंने ड्रोन और मशीन के बीच केवल प्रासंगिक नेटवर्क पैकेटों को शामिल करने के लिए कैप्चर किए गए आउटपुट की सीमा को कम करने के लिए अतिरिक्त फ़िल्टर भी लागू किए।
sudo tcpdump --interface=ap0 -n udp host 192.168.2.1 -w /tmp/dumps/capture.pcap
-n
DNS प्रस्तावों से बचा जाता है udp
किसी भी टीसीपी पैकेट को अनदेखा करता है host 192.168.2.1
सुनिश्चित करता है कि प्रदर्शित किए गए पैकेट ड्रोन से संबंधित हैंDJI मिनी 2 पर डिजिटल फोरेंसिक शोध करने के लिए, मैंने Wireshark का उपयोग करके ड्रोन द्वारा भेजे गए नेटवर्क पैकेट का विश्लेषण करके DJI वाई-फाई प्रोटोकॉल को रिवर्स इंजीनियर करने की कोशिश की। ड्रोन द्वारा प्रेषित पैकेटों की सटीक प्रोटोकॉल संरचना का निर्धारण करने के लिए, मैंने प्रत्येक व्यक्तिगत बिट को शास्त्रीय करने के लिए बिट-सटीक तर्क का उपयोग किया। पूरी प्रक्रिया के दौरान, मैंने निम्नलिखित फ़िल्टर को Wireshark में सबसे उपयोगी पाया:
!dns && !mdns && !icmp
चूंकि इस प्रक्रिया के लिए केवल एप्लिकेशन-स्तरीय नेटवर्क पैकेट प्रासंगिक हैं, इसलिए हम अपनी खोज से DNS, इंटरनेट कंट्रोल मैसेज प्रोटोकॉल (ICMP) और मल्टीकास्ट DNS (MDNS) प्रोटोकॉल को बाहर कर सकते हैं। ip.src == 192.168.2.1
IP पता 192.168.2.1 ड्रोन के IP पते का प्रतिनिधित्व करता है। यहां, हम उस आईपी द्वारा फ़िल्टर किए जाने वाले स्रोत और गंतव्य को निर्दिष्ट करते हैं। data.len == 1472
इस उदाहरण में, केवल 1472 बाइट्स की लंबाई वाले पैकेट परिणाम दृश्य में शामिल किए गए हैं जो उस सटीक पेलोड आकार के साथ ड्रोन पैकेट प्रदर्शित करते हैं data.data[0] == 0x00
यह प्रारंभिक सूचकांक की पेलोड सामग्री के विरुद्ध स्थिर हेक्स मान की तुलना करता है। यह उपयोगी है क्योंकि मिड-फ़्लाइट पैकेट निरीक्षण प्रोटोकॉल और ऑपरेटर के ड्रोन नियंत्रण निर्देशों के बीच सह-संबंधित परिवर्तनों पर केंद्रित होता हैWireshark का उपयोग करके प्राप्त पैकेटों के साथ, मैंने इंडेक्स 0x2A से ईथरनेट फ्रेम लंबाई तक पेलोड पर ध्यान केंद्रित किया। हालांकि पूरे पैकेट में जानकारी शामिल है, 0x2A से अंत तक डेटा के बाइट्स रिवर्स इंजीनियरिंग उद्देश्यों के लिए पर्याप्त हैं। मैंने संदर्भ के लिए ईथरनेट OSI मॉडल लेयर्स टेबल को नीचे शामिल किया है:
पेलोड एन्क्रिप्शन
यद्यपि संपूर्ण संचार स्ट्रीम एन्क्रिप्टेड है, डेटा की डिक्रिप्टेड स्ट्रीम अभी भी एन्क्रिप्शन की अखंडता से समझौता कर सकती है। यूएवी सिस्टम के साथ जानकारी को डिक्रिप्ट करने का एक तरीका पैटर्न की पहचान करने के लिए कई पेलोड के बीच एक साथ-साथ तुलना करना है। इलेक्ट्रॉनिक कोडबुक मोड (ईसीबी) पुनरावर्तक सिफरटेक्स्ट ब्लॉक बनाने के लिए प्रत्येक प्लेनटेक्स्ट ब्लॉक में समान छद्म यादृच्छिक क्रमपरिवर्तन लागू करने वाले नियतात्मक डेटा का एक अनुक्रम उत्पन्न करता है। यूडीपी पैकेट के भीतर छद्म यादृच्छिक पेलोड या दो समान पेलोड का सामना करने के लिए हम इसे अपनी रिवर्स इंजीनियरिंग प्रक्रिया में लागू कर सकते हैं। हालाँकि मुझे कोई समान पेलोड नहीं मिला, लेकिन कई ऐसे थे जो एक दूसरे से बहुत मिलते-जुलते थे। उदाहरण के लिए, नीचे दी गई छवियां दो पैकेट दिखाती हैं जहां केवल 5 बाइट भिन्न होते हैं। दो पेलोड बहुत समान हैं और यहां तक कि एक की वृद्धि का भी संकेत देते हैं जो डेटा की एक अनएन्क्रिप्टेड स्ट्रीम के लिए स्पष्ट है।
निगमनात्मक तर्क
डीजेआई मिनी 2 की रिवर्स इंजीनियरिंग के लिए मैंने जिस मुख्य दृष्टिकोण का इस्तेमाल किया, वह संबंधित ऑपरेटर इनपुट के आधार पर पेलोड की तुलना करने के लिए निगमनात्मक तर्क लागू करना था। प्रत्यक्ष ड्रोन नियंत्रण निर्देशों (यानी लैंडिंग, मूवमेंट, टेक ऑफ आदि) का उपयोग करते हुए, मैंने ऑपरेटर को प्रतिनिधि नेटवर्क पैकेट को संकेत देने के लिए मजबूर किया। नियंत्रण निर्देश कमांड प्रकार और पेलोड सामग्री को संकेत देने में सक्षम थे। फिर कमांड संरचना और पैरामीटर मानों को प्रकट करने वाली पूर्वोक्त बाइनरी तुलना तकनीक का उपयोग करके पैकेटों की एक दूसरे के साथ तुलना की गई। पैकेट विश्लेषण ने एक उच्च-यातायात प्रोटोकॉल का खुलासा किया जिसमें अधिकतर ड्रोन-टू-ऑपरेटर पैकेट शामिल थे जो अधिकतम ट्रांसमिशन यूनिट (एमटीयू) पर निर्भर थे।
बिट-सटीक तर्क
प्रेषित पैकेटों के भीतर संग्रहीत डेटा के बारे में अधिक जानकारी प्राप्त करने के लिए, प्रत्येक पैकेट की संपत्ति के बारे में विशिष्ट निर्णय लेने के लिए 56-बाइट पेलोड के भीतर बिट्स के विश्लेषण के लिए बिट-सटीक तर्क नामक तकनीक का उपयोग किया गया था। प्रक्रिया को सरल बनाने के लिए, क्लस्टर का उपयोग प्रत्येक समान लंबाई के पेलोड को एकत्र करने के लिए किया गया था। मैं इस शोध पत्र को पढ़ने की अत्यधिक अनुशंसा करता हूं जो इस तकनीक के बारे में अधिक जानने के लिए रिवर्स इंजीनियरिंग ड्रोन के लिए बिट-सटीक पद्धति में गहरा गोता लगाता है। नीचे दी गई तालिका उस जानकारी का सामान्य अवलोकन प्रदर्शित करती है जिसे बिट-सटीक तर्क का उपयोग करके निकाला जा सकता था।
इस शोध प्रक्रिया के दौरान मैंने सीखा कि टोही के लिए पैकेट विच्छेदन और पूरी तरह से अलग दृष्टिकोण के लिए डिजिटल फोरेंसिक/रिवर्स इंजीनियरिंग कॉल के लिए। सौभाग्य से, डीजेआई मिनी 2 के संचार इंटरफेस का विश्लेषण करने के लिए निष्क्रिय टोही और एक नेटवर्क संचार क्षेत्र का उपयोग करके पैकेट विच्छेदन वास्तव में उपयोगी था।
पैकेट विच्छेदन प्रक्रिया के साथ आरंभ करने के लिए, मैंने DJI संचार पैकेट डंप के इस भंडार के भीतर सूचीबद्ध PCAP फ़ाइलों को डाउनलोड किया, जिसमें Wireshark का उपयोग करके सभी प्रकार के DJI ड्रोन के लिए संचार डेटा का एक विस्तृत लॉग शामिल है। एक बार पीसीएपी फाइलें डाउनलोड हो जाने के बाद, मैंने अलग-अलग डिसेक्टर्स का उपयोग करके वायरशार्क का उपयोग करके उनका विश्लेषण किया।
सूचना प्रारूपों का विश्लेषण
डीजेआई पैकेट डंप की विशिष्ट पैकेट विच्छेदन प्रक्रिया में गहराई से जाने से पहले, यह सभी का उल्लेख करने योग्य है
UART कम्युनिकेशन: UART का मतलब यूनिवर्सल एसिंक्रोनस रिसीवर-ट्रांसमीटर इलेक्ट्रॉनिक उपकरणों के बीच सूचना प्रसारित करने के लिए आमतौर पर इस्तेमाल किया जाने वाला सीरियल प्रोटोकॉल है जो एकल संचार लाइन पर क्रमिक रूप से डेटा बिट्स के अतुल्यकालिक प्रवाह का उपयोग करता है।
डीयूएमएल स्ट्रीम: डीयूएमएल डीजेआई यूनिवर्सल मार्कअप लैंग्वेज के लिए खड़ा है जो डीजेआई संचार के लिए क्लोज-सोर्स प्रोटोकॉल का वर्णन करता है। इसका उपयोग डिवाइस की आंतरिक सेटिंग्स को नियंत्रित करने या फ़र्मवेयर अपडेट आरंभ करने के लिए किया जाता है
KML फाइलें: कीहोल मार्कअप लैंग्वेज के रूप में भी जानी जाती हैं, ये XML फाइलें दिल से होती हैं जिनका उपयोग मैपिंग सॉफ्टवेयर में विशेष रूप से भौगोलिक डेटा प्रदर्शित करने के लिए किया जाता है। KML फ़ाइलों में विशिष्ट स्थानों, आकृतियों, पथों और अन्य भौगोलिक विशेषताओं के बारे में डेटा होता है
डीएटी फ्लाइट लॉग्स: डीएटी का मतलब है डिजिटल ऑडियो टेप। वे डिजिटल ऑडियो टेप पर संग्रहीत रिकॉर्ड किए गए उड़ान डेटा को संदर्भित करते हैं। डीएटी फाइलों में विश्लेषण के लिए प्रासंगिक उड़ान जानकारी शामिल है
डीजेआई पैकेट डंप रिपॉजिटरी के भीतर पीसीएपी फाइल में विभिन्न डीजेआई हार्डवेयर से संचार लॉग का एक विशाल डंप होता है। संचार लॉग का यह भंडारण हमें हार्डवेयर के भीतर हार्डवेयर मुद्दों की जांच के लिए एक बढ़िया संदर्भ बिंदु के साथ-साथ प्रोटोकॉल के आंतरिक संचार को समझने की अनुमति देता है। उदाहरण के लिए पहली लॉग फ़ाइल p3x_ofdm_to_center_run1 में DJI P3X रिसीवर बोर्ड UART डंप से एक संचार डंप शामिल है। डेटा डंप एक ओएफडीएम (ऑर्थोगोनल फ्रीक्वेंसी डिवीजन मल्टीप्लेक्सिंग) एमसीयू (माइक्रोकंट्रोलर यूनिट) और एफसी (फ्लाइट कंट्रोलर) के बीच एक रिबन केबल और प्रोग्राम com_serial2pcap.py का उपयोग करके ड्रोन पर एक द्विपक्षीय संचार पेश करता है ।
वायरशार्क की स्थापना
एक मूलभूत डीजेआई संचार विच्छेदन स्थापित करने के लिए, मैंने डीजेआई फर्मवेयर टूल के भीतर सूचीबद्ध संचार विच्छेदन फाइलों का उपयोग किया। संचार विच्छेदन उपकरण, निम्नलिखित कार्यात्मकताएं प्रदान करते हैं:
- ड्रोन स्रोत से कैप्चर किए गए DUML पैकेट के भीतर फ़ील्ड प्रदर्शित करें
- बाइनरी फ्लाइट में संग्रहीत पैकेट के भीतर फ़ील्ड दिखाएं
- रिकॉर्ड डीएटी फाइलें
- KML निर्यात सुविधा के माध्यम से उड़ानों की कल्पना करें
उपकरण आपको निम्नलिखित विकल्पों के माध्यम से प्रोटोकॉल कमांड का विश्लेषण करने देते हैं:
- डीयूएमएल स्ट्रीम-आधारित पीसीएपी फाइलें
- एम्बेडेड डीयूएमएल पेलोड के भीतर यूएसबी/ईथरनेट संचार के ढेर वाली पीसीएपी फाइलें
- डीएटी फ्लाइट लॉग-आधारित पीसीएपी फाइलें
अपने परिवेश को सेट अप करना प्रारंभ करने के लिए, इस लिंक के अंतर्गत सूचीबद्ध सभी .lua फ़ाइलें डाउनलोड करें। फिर, Wireshark के भीतर Wireshark के बारे में मेनू खोलें और फ़ोल्डर्स टैब पर जाएँ।
फिर, व्यक्तिगत लुआ प्लगइन्स के फ़ाइल पथ संदर्भ पर क्लिक करें और सभी फ़ाइल सामग्री में पेस्ट करें ।
एक बार यह सेट हो जाने के बाद, सभी संचार विच्छेदन उपकरणों को लोड करने के लिए Ctrl+Shift+L कमांड का उपयोग करके Wireshark को रीफ्रेश करें। एक बार लोड हो जाने के बाद, खोलें
Preferences -> Protocols -> DLT_USER -> Edit
और नीचे दी गई छवि के अनुसार कार्य करें: DLT तालिका आरंभ होने के बाद, पर जाएँ
Preferences -> Appearance -> Columns
और अपनी इच्छित प्रोटोकॉल जानकारी प्रदर्शित करने के लिए सेटिंग्स समायोजित करें। इसे कॉन्फ़िगर करने के एक तरीके का उदाहरण नीचे दिया गया है: संचार विच्छेदन
संचार विच्छेदन उपकरणों से, हम डीजेआई संचार प्रोटोकॉल से निम्नलिखित जानकारी निकाल सकते हैं:
फ़र्मवेयर फ़ाइल संरचना: डिसेक्टर फ़र्मवेयर फ़ाइलों की संरचना जैसे हेडर, सेक्शन और डेटा सेक्शन के बारे में जानकारी को चित्रित कर सकता है
फ़र्मवेयर घटक: उपकरण अलग-अलग फ़र्मवेयर घटकों जैसे बूटलोडर, फ़्लाइट कंट्रोल फ़र्मवेयर, कैमरा फ़र्मवेयर, जिम्बल फ़र्मवेयर आदि को भी निकाल सकते हैं।
कॉन्फ़िगरेशन पैरामीटर्स: कॉन्फ़िगरेशन पैरामीटर्स को भी देखा जा सकता है जो कैमरा, फ़्लाइट कंट्रोल और सेंसर जैसे घटकों के लिए सेटिंग जानकारी प्रदान करता है
लिपियों: कोड स्निपेट्स और निष्पादन योग्य बायनेरिज़ को फ़र्मवेयर फ़ाइल के भीतर भी खोला जा सकता है
एन्क्रिप्शन: स्थिति के आधार पर, फ़र्मवेयर एन्क्रिप्शन प्रक्रिया के बारे में जानकारी प्रकट करने वाली फ़र्मवेयर फ़ाइलों के अंशों को डिक्रिप्ट और एन्क्रिप्ट करने में भी डिसेक्टर सक्षम हो सकता है
फ़ाइल सिस्टम सामग्री: यदि फ़र्मवेयर फ़ाइल में फ़ाइल सिस्टम शामिल है, तो उपकरण उस फ़ाइल सिस्टम के भीतर सामग्री को निकाल और उसका विश्लेषण भी कर सकते हैं
Wireshark में, एक डिसेक्टर नेटवर्क प्रोटोकॉल की व्याख्या और डिकोडिंग के लिए जिम्मेदार है। डिसेक्टर उपयोगी होते हैं क्योंकि वे कैप्चर किए गए नेटवर्क पैकेट का विश्लेषण करते हैं और उनमें से उपयोगी जानकारी निकालते हैं जैसे प्रोटोकॉल की संरचना, फ़ील्ड और एन्कोडिंग नियम, और उन्हें मानव-पठनीय प्रारूप में प्रदर्शित करते हैं।
Wireshark आपको Lua नामक प्रोग्रामिंग भाषा का उपयोग करके अपने स्वयं के कस्टम डिसेक्टर्स विकसित करने देता है। हालाँकि, Wireshark को C में लिखा गया था और कार्यक्रम के लिए डिसेक्टर्स आमतौर पर C में लिखे गए थे, हालाँकि, Wireshark भी लुआ प्रोग्रामिंग लैंग्वेज में डिसेक्टर्स को लिखने की अनुमति देता है, जो विकास के लिए नए लोगों के लिए सीखने की अवस्था को कम कर देता है। लुआ एकीकृत वस्तु-उन्मुख सुविधाओं के साथ एक बहु-प्रतिमान, प्रक्रियात्मक और कार्यात्मक प्रोग्रामिंग भाषा है। हालांकि लुआ को विच्छेदक विकास के लिए भाषा के रूप में चुनना गति से समझौता करता है, यह अपने हल्के वजन और सीखने में आसानी के कारण ज्यादातर परिस्थितियों में अनुकूल है।
लुआ का मूल परिचय
जैसा कि मैंने पहले उल्लेख किया है, लुआ में गति, पोर्टेबिलिटी और अन्य कार्यक्रमों के साथ एकीकरण को ध्यान में रखते हुए एक सहज और सरल कोड सिंटैक्स है, जिससे अधिक कार्यक्षमता और प्रदर्शन का त्याग किए बिना इसे चुनना आसान हो जाता है। यहाँ कुछ मूल कोड स्निपेट हैं जो भाषा की आधारभूत विशेषताओं की रूपरेखा प्रस्तुत करते हैं:
चर और संचालन
local a = 25
local b = 5
local result = a + b print (result) -- Output: 30
सशर्त बयान
local temperature = 15
local heatSetting = 0
if temperature < 0 then heatSetting = 3
elseif temperature <= 20 then heatSetting = 2
else heatSetting = 1 end
print (heatSetting) -- Output: 2
छोरों
-- While Loops
local i = 0
while i < 10 do
i = i + 1
end
print (i) -- Output: 10
-- For Loops
local i = 0
-- i = first, last, delta
for i = 0 , 10 , 1 do
print (i) end
print (i) -- Output: 10
टेबल
local new_table = {} -- Table value assignment
new_table[ 20 ] = 10
new_table[ "x" ] = "test"
ax = 10
कार्य
function add (arg1, arg2)
return arg1 + arg2 end
local added_number = add( 2 , 3 ) print (added_number) -- Output: 5
लुआ के बारे में सारांश नोट्स
लुआ गतिशील रूप से टाइप किया गया है
दायरा या तो स्थानीय या वैश्विक के रूप में निर्दिष्ट किया गया है। वैश्विक डिफ़ॉल्ट है
व्हाइटस्पेस को अधिक मूल्य रखने के लिए अर्धविराम आवश्यक नहीं हैं
- एक टिप्पणी को दर्शाता है
i = i + 1 चर वृद्धि के लिए प्रयोग किया जाता है
~=!= के स्थान पर प्रयोग किया जाता है
प्रकार हैं: स्ट्रिंग, संख्या, बूलियन, शून्य, फ़ंक्शन, उपयोगकर्ताडेटा, थ्रेड और टेबल
निल का उपयोग गैर-मूल्य के लिए किया जाता है
सशर्त में: शून्य और असत्य मिथ्या हैं, बाकी सत्य हैं।
लुआ की एकमात्र डेटा संरचना तालिका है। टेबल्स साहचर्य सरणियों को लागू करता है। साहचर्य सरणियों को संख्याओं और अन्य प्रकारों जैसे स्ट्रिंग्स द्वारा अनुक्रमित किया जा सकता है। वे गतिशील हैं और अक्सर वस्तुएं कहलाती हैं।
Wireshark में Lua स्क्रिप्ट के साथ डिसेक्टर डेवलपमेंट सेटअप करने के लिए, पर क्लिक करें
Help -> About Wireshark -> Folders
. वहां से, व्यक्तिगत लुआ प्लगइन्स या वैश्विक लुआ प्लगइन्स फ़ोल्डर संदर्भ पर क्लिक करें। पथ कुछ इस तरह दिखना चाहिए C:\Program Files\Wireshark\plugins\2.4.2 on Windows । एक चीड़फाड़ बनाने के लिए, उस निर्देशिका के भीतर एक फ़ाइल को इनिशियलाइज़ करें जैसे example.lua
. Wireshark पुनः लोड होने के बाद स्क्रिप्ट स्वचालित रूप से लागू हो जाएगी। आप एप्लिकेशन को पुनरारंभ करके या Ctrl+Shift+L का उपयोग करके सभी Lua स्क्रिप्ट को पुनः लोड करके Wireshark को पुनः लोड कर सकते हैं । अब जब आपके पास सब कुछ सेटअप है, तो मैं आपको एक अल्पविकसित विच्छेदन स्क्रिप्ट के माध्यम से चलूंगा जो एक कस्टम प्रोटोकॉल के बारे में जानकारी निकालता और प्रदर्शित करता है।
-- Create a new protocol for our custom protocol
local custom_protocol = Proto( "CustomProtocol" , "Custom Protocol" ) -- Define the fields of our custom protocol
local field1 = ProtoField.uint8( "custom_protocol.field1" , "Field 1" , base.DEC) local field2 = ProtoField. string ( "custom_protocol.field2" , "Field 2" ) -- Register the fields to the custom protocol
custom_protocol.fields = { field1, field2 } -- Create a function to dissect the packets of our custom protocol
function custom_protocol.dissector (buffer, pinfo, tree)
-- Create a subtree for our custom protocol in the Wireshark GUI
local subtree = tree:add(custom_protocol, buffer(), "Custom Protocol Data" ) -- Extract and display the values of Field 1 and Field 2
local field1_value = buffer( 0 , 1 ):uint() subtree:add(field1, buffer( 0 , 1 )):append_text( " (Value: " .. field1_value .. ")" ) local field2_value = buffer( 1 , 5 ): string () subtree:add(field2, buffer( 1 , 5 )):append_text( " (Value: " .. field2_value .. ")" ) end
-- Register our custom protocol as a dissector in Wireshark
local udp_port = DissectorTable.get( "udp.port" ) udp_port:add( 12345 , custom_protocol)
- कोड नामक प्रोटो ऑब्जेक्ट का उपयोग करके एक कस्टम प्रोटोकॉल को इनिशियलाइज़ करके कोड शुरू होता है
CustomProtocol
field1
और field2
buffer
, pinfo
, और tree
. बफ़र में पैकेट का बफ़र और Tvb ऑब्जेक्ट शामिल होता है, पिनफ़ो में पैकेट सूची के कॉलम होते हैं, और ट्री ट्री रूट होता है - डिसेक्टर फंक्शन के अंदर, हम Wireshark पैकेट विवरण सेक्शन में एक सबट्री बनाते हैं जो हमारे कस्टम प्रोटोकॉल को फ़ील्ड के रूप में दिखाता है
- ट्री व्यू सेक्शन के भीतर, हम कस्टम प्रोटोकॉल के भीतर प्रत्येक संबंधित क्षेत्र के लिए पैकेट जानकारी प्रदर्शित करते हैं
- अंत में, हम एक पोर्ट को एक प्रोटोकॉल असाइन करते हैं। इस मामले में, इस्तेमाल किया बंदरगाह है
12345
यूडीपी के लिएकुल मिलाकर, कुछ DJI-आधारित संचार क्षेत्रकों के संयोजन में Wireshark का उपयोग करके, हम DJI ड्रोन द्वारा प्रेषित संवेदनशील जानकारी को उनके संचार प्रोटोकॉल के माध्यम से प्रकट करने में सक्षम थे। मुझे उम्मीद है कि इस विस्तृत शोध प्रक्रिया ने कुछ रिवर्स इंजीनियरिंग तकनीकों को स्पष्ट किया है जिन्हें आप अपनी साइबर सुरक्षा प्रक्रिया के दौरान लागू कर सकते हैं ताकि मौजूदा सिस्टम के भीतर कमजोरियों का पता लगाया जा सके। इसके अलावा, मुझे उम्मीद है कि इस रिपोर्ट ने साबित कर दिया है कि हालांकि ड्रोन हैकिंग थोड़ी थकाऊ हो सकती है, यह असंभव नहीं है। किसी सिस्टम के बारे में वर्तमान में जो ज्ञात है उसकी सीमाओं को आगे बढ़ाते रहना महत्वपूर्ण है ताकि मौजूदा खामियों को उजागर किया जा सके इससे पहले कि वे बुरे अभिनेताओं द्वारा देखे जाएं। इस मामले में, हमने खुलासा किया कि डीजेआई जैसे बड़े, भरोसेमंद ब्रांड निर्माताओं के लिए भी ड्रोन प्रोटोकॉल अभी भी डेटा इंटरसेप्शन और रिवर्स इंजीनियरिंग के लिए असुरक्षित हैं। इसे ध्यान में रखते हुए, इन मौजूदा कमजोरियों को कम करने और ड्रोन संचार चैनलों की सुरक्षा को मजबूत करने के लिए रचनात्मक कदम उठाए जा सकते हैं।