नए वायरस से निपटने का एक बड़ा हिस्सा यह पता लगाना है कि वे कैसे काम करते हैं। ऐसा करने के लिए, आपको इसे रिवर्स-इंजीनियर करने की आवश्यकता है। राष्ट्रीय सुरक्षा एजेंसी (NSA) को जाहिर तौर पर इस तरह का काम बहुत करना पड़ता है, इसलिए उन्होंने अपना खुद का टूल बनाया, जिसे Ghidra कहा जाता है, ताकि उन्हें ऐसा करने में मदद मिल सके।
वैसे, इसका उच्चारण Ghee-dra है। इसे 5 मार्च, 2019 को सैन फ्रांसिस्को में RSA सम्मेलन में जनता के लिए मुफ्त और ओपन सोर्स के रूप में जारी किया गया था। आप Robert Joyce, NSA के वरिष्ठ सलाहकार की Ghidra प्रस्तुति नोट्स भी देख सकते हैं।
यह वास्तव में समझने के लिए कि Ghidra जारी करना क्यों महत्वपूर्ण था, हमें यह समझने की आवश्यकता है कि रिवर्स-इंजीनियरिंग क्या है और इसका उपयोग किस लिए किया जाता है।
रिवर्स इंजीनियरिंग क्या है और इसका उपयोग क्यों किया जाता है?
आम तौर पर, रिवर्स-इंजीनियरिंग (RE) किसी चीज को अलग करके यह पता लगाने की प्रक्रिया को संदर्भित करता है कि इसे कैसे बनाया गया था। आपने इसे घर पर एक छोटे उपकरण के साथ स्वयं किया होगा, बस यह पता लगाने की कोशिश कर रहे होंगे कि इसे स्वयं कैसे ठीक किया जाए। लेकिन हम एक प्रोग्राम को RE करने की बात कर रहे हैं। यह सिर्फ कोड है, है ना? हम इसके पीछे के कोड को क्यों नहीं देखते?
जब आप C या Java जैसी भाषा में एक प्रोग्राम लिखते हैं, तो इसे लिखने और कंप्यूटर पर उपयोग करने में सक्षम होने के बीच एक कदम होता है। जिस भाषा में आप प्रोग्रामिंग कर रहे हैं वह आपके लिए पठनीय है, लेकिन कंप्यूटर द्वारा जरूरी नहीं कि पठनीय हो। इसका अनुवाद किसी ऐसी चीज में किया जाना चाहिए जिसके साथ कंप्यूटर काम कर सके। इस प्रक्रिया को कंपाइलिंग कहा जाता है।
एक बार प्रोग्राम कंपाइल हो जाने पर, यह मनुष्यों द्वारा पठनीय नहीं रह जाता।
यदि आप यह पता लगाना चाहते हैं कि वह प्रोग्राम कैसे काम करता है, तो आपको इसे उस स्तर तक अलग करना होगा जहां आप देख सकें कि इसमें क्या है। इसके लिए आपको एक टूलकिट की आवश्यकता होती है, जैसे आपको एक छोटे उपकरण या इंजन को अलग करने के लिए स्क्रूड्राइवर और रिंच के टूलकिट की आवश्यकता होती है।
यहीं Ghidra काम आता है। यह सॉफ्टवेयर को अलग करके यह देखने के लिए एक टूलबॉक्स है कि यह कैसे टिकता है। IDA, Radare, और Binary Ninja जैसे अन्य समान टूल्स पहले से ही हैं।
NSA Ghidra का उपयोग वायरस, मैलवेयर, और अन्य प्रोग्राम्स को अलग करने के लिए करता है जो राष्ट्रीय सुरक्षा के लिए खतरा पैदा कर सकते हैं। फिर, जो वे पाते हैं उसके आधार पर, वे खतरे से निपटने के लिए एक कार्य योजना विकसित करते हैं। हाल ही में खबरों में राज्य-प्रायोजित हैकिंग घटनाओं की संख्या के साथ, आप जानते हैं कि यह एक बड़ी बात है।
क्या कोई Ghidra का उपयोग कर सकता है?
सटीक रूप से नहीं। आपको कम से कम प्रोग्रामिंग में कुछ दक्षता की आवश्यकता है। आपको सॉफ्टवेयर इंजीनियर होने की आवश्यकता नहीं है, लेकिन यदि आपने प्रोग्रामिंग में कुछ कॉलेज कोर्स किए हैं तो आप Ghidra में जा सकते हैं और खुद को इसका उपयोग करना सिखा सकते हैं।
साथ ही, आधिकारिक Ghidra वेबसाइट में एक इंस्टॉलेशन गाइड, क्विक रेफरेंस, एक विकी, और एक इश्यू ट्रैकर भी है। वह सब प्रदान करने का उद्देश्य यह है कि हर कोई सीख सके, और साथ मिलकर दुर्भावनापूर्ण हैकर्स से दुनिया को सुरक्षित बना सके।
NSA यह "साइबर सुरक्षा उपकरणों में सुधार..." के लिए कर रहा है, और "...शोधकर्ताओं का एक समुदाय बनाने के लिए..." जो Ghidra में कुशल हैं और इसके विकास में योगदान दे रहे हैं, जैसा कि Robert Joyce की प्रस्तुति में लिखा गया है।
तो Ghidra एक बड़ी बात क्यों है?
यह NSA से है। किस कंपनी के पास उस तरह के संसाधन हैं जो एक अमेरिकी संघीय एजेंसी के पास हैं? पृथ्वी पर सबसे शक्तिशाली राष्ट्र की सुरक्षा का काम सौंपी गई एजेंसी की तुलना में सबसे अच्छी सुरक्षा कंपनी को किस तरह का अनुभव हो सकता है?
तो, हां, यह एक बहुत शक्तिशाली टूल है। सुरक्षा शोधकर्ता Joxen Coret ने ट्वीट किया "तो, Ghidra वहां किसी भी अन्य RE टूल पर हावी है, केवल IDA के अपवाद के साथ।"
फिर वहां मुफ्त पहलू है। यकीनन सबसे शक्तिशाली RE टूल को मुफ्त में प्राप्त करने में सक्षम होने से, सुरक्षा शोध में प्रवेश बार को केवल एक कंप्यूटर और इंटरनेट एक्सेस रखने तक कम कर दिया गया है।
यह NSA द्वारा इसे जारी करने का हिस्सा है। उन्हें उम्मीद है कि शोधकर्ताओं की एक नई पीढ़ी इसके साथ कुशल हो जाएगी और NSA के साथ करियर पर विचार करेगी।
फिर वहां ओपन सोर्स पहलू है। सुरक्षा एजेंसियों को लोगों को पर्दे के पीछे देखने देने के लिए एक अच्छे कारण के लिए नहीं जाना जाता है। यदि आप जानते हैं कि वे कैसे करते हैं जो वे करते हैं, तो उन्हें विफल करना आसान हो जाता है। फिर भी, Ghidra के लिए संपूर्ण स्रोत कोड सार्वजनिक किया जा रहा है ताकि कोई भी इसके माध्यम से कंघी कर सके और देख सके कि यह वास्तव में कैसे काम करता है।
और, नहीं, इसमें सरकारी बैकडोर होने की कोई रिपोर्ट नहीं है। Ron Joyce ने इसे जल्दी संबोधित किया, कहा, सुरक्षा शोध समुदाय, "...वह आखिरी समुदाय है जिसमें आप बैकडोर इंस्टॉल करके कुछ जारी करना चाहते हैं, उन लोगों के लिए जो इस सामान का शिकार करते हैं इसे अलग करने के लिए।"
शैक्षिक दृष्टिकोण से, Ghidra नवोदित सॉफ्टवेयर इंजीनियरों को प्रोग्राम्स को अलग करके यह देखने की अनुमति भी देता है कि वे कैसे काम करते हैं और फिर सीखते हैं कि अपने स्वयं के प्रोजेक्ट्स के साथ कुछ समान कैसे करें। दूसरे व्यक्ति के कोड को देखना लंबे समय से प्रोग्रामर्स और डेवलपर्स के बीच बेहतर प्रोग्रामर बनने के लिए एक स्वीकृत अभ्यास रहा है। यदि वह कोड खुले तौर पर साझा किया गया था, तो निश्चित रूप से।
शायद सबसे बड़ी बात यह है कि Ghidra को सहयोगात्मक रूप से उपयोग करने के लिए डिज़ाइन किया गया था। आप अपने सहकर्मियों या दोस्तों के साथ एक शेयर्ड रिपॉजिटरी रख सकते हैं ताकि आप सभी एक साथ एक प्रोजेक्ट पर काम कर सकें। यह विश्लेषण प्रक्रिया को नाटकीय रूप से तेज करता है।
अब क्या?
अमेरिकी संघीय सरकार ने अधिक से अधिक सुरक्षा संबंधी सॉफ्टवेयर जारी करने का वादा किया है। उनमें से कुछ प्रकृति में बहुत तकनीकी होंगे, जैसे Ghidra, और कुछ अधिक उपयोगकर्ता-अनुकूल होंगे, जैसे सुरक्षा-बढ़ाया गया Android संस्करण।
यह सब सरकार और नागरिक सहयोग के एक अद्वितीय समय की ओर इशारा करता है जो हमारे डेटा इंफ्रास्ट्रक्चर को यथासंभव सुरक्षित रखने की दिशा में है।
U.S. Secret Service - https://www.secretservice.gov/data/press/reports/USSS_FY2013AR.pdf
https://media.defense.gov/2012/Apr/27/2000157039/-1/-1/0/120417-F-JM997-405.JPG