डोमेन जनरेशन एल्गोरिथम (DGA) एल्गोरिदम का एक वर्ग है जो समय-समय पर और गतिशील रूप से बड़ी संख्या में डोमेन नाम उत्पन्न करता है। आमतौर पर, दुर्भावनापूर्ण अभिनेता के कमांड एंड कंट्रोल सर्वर को कॉलबैक की सुविधा के लिए डोमेन को मालवेयर और बॉटनेट द्वारा रेकॉर्डिंग पॉइंट के रूप में उपयोग किया जाता है। डीजीए मैलवेयर को प्रति दिन हजारों डोमेन उत्पन्न करने की अनुमति देते हैं, जिनमें से अधिकांश अपंजीकृत हैं। अपंजीकृत डोमेन की भारी संख्या में पंजीकृत लोगों को बहकाने के लिए उपयोग किया जाता है, जिससे संक्रमित बॉटनेट्स को हस्ताक्षर या आईपी-प्रतिष्ठा आधारित सुरक्षा पहचान प्रणाली द्वारा पहचान और बचाव से बचने की अनुमति मिलती है।
2008 में डीजीए का उपयोग करने वाला पहला ज्ञात मैलवेयर परिवार था। 10 में उस वर्ष के बाद, कॉनफ्लिकर कीड़ा ने डीजीए रणनीति को कुख्यातता में धकेल दिया। XNUMX वर्षों के बाद भी, आज के कुछ नेटवर्कों पर कॉनफ्लिकर या इसके किसी एक संस्करण को खोजना संभव है।
मैलवेयर के बढ़ते प्रसार के साथ मिलकर, डीजीए का उपयोग अधिक व्यापक हो गया है।
डीजीए डिटेक्शन के उद्देश्य
क्योंकि डीजीए गतिविधि समझौता का एक महत्वपूर्ण संकेतक है, इसलिए आपके नेटवर्क पर ऐसी किसी भी गतिविधि का पता लगाना महत्वपूर्ण हो जाता है। डीजीए का पता लगाने के तीन स्तर हैं, प्रत्येक बाद के स्तर की गंभीरता में वृद्धि से संबंधित है। बाद के स्तरों पर जांच अधिक कठिन है, लेकिन अधिक महत्वपूर्ण है।
यदि एक डीजीए का पता लगाया जाता है, तो इसका मतलब है कि आपके एक या अधिक सिस्टम डीजीए-आधारित मैलवेयर से संक्रमित हो गए हैं और बॉटनेट बन गए हैं। कुछ कार्रवाई करने की आवश्यकता है। पहला उद्देश्य प्रभावित प्रणालियों की पहचान करना है, वृद्धि को रोकने के लिए उन्हें ठीक से सफाई या संगरोध करना है।
अगला उद्देश्य यह निर्धारित करना है कि क्या दिया गया डीजीए डोमेन नाम पंजीकृत है। यदि डोमेन पंजीकृत है, तो यह एक सक्रिय कमांड एंड कंट्रोल सर्वर बन गया है जो आपके नेटवर्क के लिए एक बड़ा जोखिम प्रस्तुत करता है। संक्रमित सिस्टम, अब बॉटनेट, इन सर्वरों का उपयोग घर पर कॉल करने और दुर्भावनापूर्ण हमलावर से कमांड प्राप्त करने के लिए कर सकते हैं। इसलिए, एक प्रभावी डीजीए डिटेक्शन सिस्टम का दूसरा घटक अपंजीकृत लोगों से पंजीकृत डोमेन को अलग करने की क्षमता है।
उदाहरण के लिए, एक डीजीए xyzwer1000, xyzwer1… से 2 डोमेन उत्पन्न कर सकता है। xyzwer1000 के लिए। हैकर को केवल एक डोमेन, अर्थात् xyzwer500, अन्य 999 डोमेन को पंजीकृत करने की आवश्यकता होती है। यदि पंजीकृत डोमेन और उससे जुड़े आईपी की पहचान की जा सकती है, तो सूचना का उपयोग लक्षित प्रणाली और कमांड एंड कंट्रोल सर्वर के बीच संचार चैनल को अवरुद्ध करने के लिए किया जा सकता है। इसके अतिरिक्त, नेटवर्क में किसी भी सिस्टम से उस सर्वर पर कॉलबैक को बाधित करने के लिए इंटेल को अन्य सभी रोकथाम या डिटेक्शन सिस्टम में प्रचारित किया जाना चाहिए।
DGA डिटेक्शन सिस्टम का अंतिम लेकिन सबसे महत्वपूर्ण उद्देश्य यह निर्धारित करना है कि पंजीकृत डोमेन के साथ कॉलबैक सफल था या नहीं और संक्रमित सिस्टम (कमांड) और कमांड एंड कंट्रोल सर्वर के बीच संपर्क किया गया था। यदि इस तरह की गतिविधि का पता चला है, तो कुछ नुकसान पहले ही हो सकता है। शायद आपके नेटवर्क में मैलवेयर अपडेट किया गया था, या नया मैलवेयर इंस्टॉल किया गया था। संवेदनशील डेटा का बहिष्कार किया गया हो सकता है।
डीजीए डिटेक्शन कैसे काम करता है?
डीजीए गतिविधि का पता नेटवर्क पैकेटों को पकड़ने और उनका विश्लेषण करके लगाया जाता है, आमतौर पर पांच सामान्य चरणों में।
चरण 1 - DNS एप्लिकेशन का पता लगाएं
DNS अनुरोध और / या प्रतिक्रिया संदेशों के माध्यम से जांच शुरू होती है। DNS एक मौलिक इंटरनेट प्रोटोकॉल है, और अधिकांश फ़ायरवॉल में अपने आरक्षित पोर्ट 53 पर आउटगोइंग DNS ट्रैफ़िक की अनुमति देने की नीति है। हालांकि, एक हैकर मानक DNS संदेश प्रारूप के पालन के बिना अपने ट्रैफ़िक को भेजने के लिए पोर्ट 53 का लाभ ले सकता है। इस हमले को DNS टनलिंग कहा जाता है। डीप पैकेट निरीक्षण (DPI) इंजन को DNS अनुप्रयोगों की अधिक सटीक रूप से पहचान करने के लिए अनुशंसित किया जाता है।
चरण 2 - डोमेन नाम निकालें
एक बार जब एक नेटवर्क एप्लिकेशन को DNS के रूप में पहचाना जाता है, तो DNS क्वेरी और प्रतिक्रिया संदेशों में डोमेन नाम निकालने की आवश्यकता होती है। सही डोमेन नाम निकालने के लिए, DNS संदेश की सामग्री को ध्यान से पार्स करने की आवश्यकता है और इस कार्य को करने के लिए DPI इंजन की आवश्यकता है।
चरण 3 - किसी भी डीजीए का पता लगाएं
डीएनएसए हैं या नहीं यह निर्धारित करने के लिए DNS संदेशों से निकाले गए डोमेन पर विश्लेषण करने की आवश्यकता है। यह शायद सबसे जटिल कदम है। चुनौती दोनों झूठी सकारात्मक के साथ-साथ झूठी नकारात्मक को कम करना है। डिटेक्शन मैकेनिज्म पिछले 10+ वर्षों में नाटकीय रूप से विकसित हुआ है।
कुछ तंत्र अपेक्षाकृत सरल शैनन एंट्रोपी पर आधारित हैं।
https://www.splunk.com/blog/2015/10/01/random-words-on-entropy-and-dns.html
कुछ तंत्र अधिक परिष्कृत Ngrams पर आधारित हैं जैसा कि हिटब सम्मेलन में फ्योडोर द्वारा प्रस्तुत किया गया है
हाल ही में, मशीन लर्निंग लोकप्रिय होने के साथ, इसके तरीकों को भी डीजीए डिटेक्शन पर लागू किया गया है। मशीन लर्निंग Ngrams, शैनन एंट्रोपी और साथ ही निर्णयों को प्रभावित करने के लिए डोमेन नामों की लंबाई को जोड़ सकती है। कई मशीन लर्निंग मॉडल की कोशिश की गई है। 2014 में जे जैकब्स द्वारा इस प्रक्रिया का वर्णन करते हुए एक बहुत अच्छा ब्लॉगपोस्ट है।
मार्कोव चेन के साथ मशीन लर्निंग पर आधारित एक और खुला स्रोत डीजीए डिटेक्टर है:
https://github.com/exp0se/dga_detector
चरण 4 - पंजीकृत डीजीए डोमेन का पता लगाएं
यह पता लगाने के लिए कि क्या डीजीए डोमेन नाम पंजीकृत है, डीएनएस प्रतिक्रियाओं को जांचने की आवश्यकता है। DNS अनुरोधों को केवल ट्रैक करना पर्याप्त नहीं है - जानकारी के टुकड़ों के बीच सहसंबंध को सुविधाजनक बनाने के लिए पहचान प्रणाली को पूरे लेनदेन को ट्रैक करना चाहिए।
चरण 5 - पंजीकृत डीजीए डोमेन के लिए यातायात का पता लगाएं
जब अधिकांश मौजूदा डीजीए डिटेक्शन सिस्टम यह पता लगाने पर ध्यान केंद्रित करते हैं कि क्या डोमेन नाम एक डीजीए डोमेन है, तो वे अक्सर आखिरी सवाल भूल जाते हैं, सबसे महत्वपूर्ण एक: क्या कोई ट्रैफ़िक है जो पंजीकृत डीजीए डोमेन को भेजा गया है? समय पर फैशन में इसका पता लगाने के लिए, डीजीए डोमेन डिटेक्शन को नेटवर्क ट्रैफिक निरीक्षण के साथ कसकर जोड़ा जाना चाहिए। किसी भी क्षति के तुरंत पहले ट्रैफिक निरीक्षण इंजन को वापस परिणाम की आवश्यकता होती है।
चरण 6 - पंजीकृत डीजीए डोमेन के लिए यातायात को अवरुद्ध करना
जबकि तकनीकी रूप से पता लगाने का एक हिस्सा नहीं है, अगर एक फ़ायरवॉल या IPS जैसी रोकथाम प्रणाली के साथ एकीकरण है, तो पंजीकृत डोमेन पर सभी ट्रैफ़िक को अवरुद्ध करने के लिए एक नियम तुरंत डाला जाना चाहिए।
एक महान डीजीए डिटेक्शन सिस्टम को सभी 5 चरणों का प्रदर्शन करना चाहिए। एक उत्कृष्ट डीजीए डिटेक्शन सिस्टम में चरण 6 भी शामिल होना चाहिए। दुर्भाग्य से, अधिकांश डीजीए डिटेक्शन सिस्टम आज चरण 3 या चरण 4 पर रोकते हैं।
निष्कर्ष
क्योंकि डीजीए हस्ताक्षर या प्रतिष्ठा आधारित पहचान या रोकथाम प्रणाली के साथ पता लगाना मुश्किल है, वे मैलवेयर डेवलपर्स के साथ काफी लोकप्रिय हो गए हैं।
एक बुद्धिमान पहचान प्रणाली का पता लगाने के लिए आवश्यक है। एक उत्कृष्ट डीजीए डिटेक्शन सिस्टम को डीएनएस लेनदेन से डोमेन नाम की जानकारी को निकालना होगा, डीजीए की स्थिति का पता लगाने के लिए पूरी तरह से विश्लेषण करना, संदिग्ध डोमेन की पंजीकरण स्थिति की जांच करना, समझौता के स्तर का आकलन करने के लिए नेटवर्क ट्रैफ़िक निरीक्षण के साथ सहसंबंधित करना, और आगे से बचने के लिए आदर्श रूप से रोकथाम प्रणाली के साथ एकीकृत करना समझौता। झूठी नकारात्मक दोनों के साथ-साथ झूठी नकारात्मक को कम करने के लिए, मशीन सीखने पर गंभीरता से विचार किया जाना चाहिए। हर स्तर पर व्यापक और व्यापक बुद्धिमत्ता के साथ ही खतरे को वास्तव में कम किया जा सकता है।
संसाधन
एंड्री अबाकुमोव द्वारा गितुब में भंडार में डोमेन नाम उत्पन्न करने के लिए एल्गोरिदम शामिल हैं, साथ ही दुर्भावनापूर्ण डोमेन नाम के शब्दकोश भी हैं।


