मैलवेयर विश्लेषण

मैलवेयर विश्लेषण किसी दिए गए मैलवेयर मानक जैसे कंप्यूटर वायरस, कंप्यूटर वर्म, ट्रोजन हॉर्स (कंप्यूटिंग), रूटकिट, या  बैकडोर (कंप्यूटिंग) की कार्यक्षमता, उत्पत्ति और संभावित प्रभाव का निर्धारण करने का अध्ययन या प्रक्रिया है। मैलवेयर या मॉलिसियस सॉफ़्टवेयर कोई भी कंप्यूटर सॉफ़्टवेयर है जिसका उद्देश्य होस्ट ऑपरेटिंग प्रणाली को हानि पहुँचाना या उपयोगकर्ता संगठनों या कंपनियों से संवेदनशील डेटा चोरी करना है। मैलवेयर में ऐसे सॉफ़्टवेयर सम्मिलित हो सकते हैं जो अनुमति के बिना उपयोगकर्ता की जानकारी एकत्र करते हैं।

स्थितियों का प्रयोग करें
तीन विशिष्ट उपयोग स्थितियां हैं जो मैलवेयर विश्लेषण की आवश्यकता को पूरा करते हैं:
 * कंप्यूटर सुरक्षा घटना प्रबंधन: यदि किसी संगठन को पता चलता है या संदेह है कि कुछ मैलवेयर उसके प्रणाली में आ गए हैं, तो एक प्रतिक्रिया टीम किसी भी संभावित मानक पर मैलवेयर विश्लेषण करने की इच्छा कर सकती है जो जांच प्रक्रिया के समय पता लगाने के लिए कि क्या वे मैलवेयर हैं और, यदि हां, तो उस मैलवेयर का लक्ष्य संगठनों के वातावरण में प्रणाली पर क्या प्रभाव पड़ सकता है।
 * मैलवेयर अनुसंधान: अकादमिक या उद्योग मैलवेयर शोधकर्ता मैलवेयर कैसे व्यवहार करते हैं और इसके निर्माण में उपयोग की जाने वाली नवीनतम विधियों को समझने के लिए मैलवेयर विश्लेषण कर सकते हैं।
 * समझौता निकासी का संकेतक: समझौता के संभावित नए संकेतकों को निर्धारित करने के लिए सॉफ़्टवेयर उत्पादों और समाधानों के विक्रेता थोक मैलवेयर विश्लेषण कर सकते हैं; यह जानकारी तब सुरक्षा उत्पाद या समाधान को फीड कर सकती है जिससे संगठनों को मैलवेयर के हमले से स्वयं को उत्तम विधि से बचाने में सहायता मिल सके।

प्रकार
जिस पद्धति से मैलवेयर विश्लेषण किया जाता है वह सामान्यतः दो प्रकारों में से एक के अंतर्गत आती है:


 * स्टेटिक मैलवेयर विश्लेषण: स्टेटिक या कोड विश्लेषण सामान्यतः बाइनरी फ़ाइल के विभिन्न संसाधनों को 'इसे क्रियान्वित किए बिना विच्छेदित करके और प्रत्येक घटक का अध्ययन करके किया जाता है। आईडीए या घिद्रा जैसे डिसअसेंबलर का उपयोग करके बाइनरी फ़ाइल को भी अलग (या व्युत्क्रम अभियंत्रित) किया जा सकता है। यंत्र कोड को कभी-कभी असेंबली कोड में अनुवादित किया जा सकता है जिसे मनुष्यों द्वारा पढ़ा और समझा जा सकता है: मैलवेयर विश्लेषक तब असेंबली को पढ़ सकता है क्योंकि यह प्रोग्राम के अंदर विशिष्ट कार्यों और कार्यों से संबंधित है, फिर असेंबली निर्देशों को समझें और प्रोग्राम क्या कर रहा है और मूल रूप से इसे कैसे डिज़ाइन किया गया था, इसकी उत्तम कल्पना करें। असेंबली देखने से मालवेयर विश्लेषक/व्युत्क्रम अभियन्ता को इस बात की उत्तम समझ मिलती है कि क्या होना चाहिए बनाम वास्तव में क्या हो रहा है और छिपे हुए कार्यों या अनपेक्षित कार्यक्षमता को मैप करना प्रारंभ करें। कुछ आधुनिक मैलवेयर इस प्रकार के विश्लेषण को विफल करने के लिए कपटपूर्ण विधियों का उपयोग करके लिखे गए हैं, उदाहरण के लिए सिंटैक्टिक कोड त्रुटियों को एम्बेड करके जो डिस्सेबलर्स को भ्रमित करेगा किन्तु वह वास्तविक निष्पादन के समय अभी भी कार्य करेगा। 
 * डायनेमिक मालवेयर एनालिसिस: डायनेमिक या बिहेवियरल एनालिसिस मालवेयर के व्यवहार को देखकर किया जाता है, जबकि यह वास्तव में होस्ट प्रणाली पर चल रहा होता है। मैलवेयर को वास्तव में उत्पादन प्रणालियों को संक्रमित करने से रोकने के लिए विश्लेषण का यह रूप अक्सर एक सैंडबॉक्स (कंप्यूटर सुरक्षा) में किया जाता है; ऐसे कई सैंडबॉक्स वर्चुअल प्रणाली हैं जिन्हें विश्लेषण पूरा होने के बाद आसानी से एक साफ स्थिति में वापस लाया जा सकता है। मैलवेयर को डिबगिंग टूल जैसे GNU डीबगर या WinDbg का उपयोग करते हुए भी डिबग किया जा सकता है जिससे मैलवेयर के होस्ट प्रणाली पर व्यवहार और प्रभावों को चरण दर चरण देखा जा सके, जबकि इसके निर्देशों को संसाधित किया जा रहा है। आधुनिक मैलवेयर आभासी वातावरण या सक्रिय डिबगर के लिए परीक्षण, मॉलिसियस पेलोड के निष्पादन में देरी, या इंटरैक्टिव उपयोगकर्ता इनपुट के कुछ प्रकार की आवश्यकता सहित गतिशील विश्लेषण को पराजित करने के लिए डिज़ाइन की गई विस्तृत विविधता वाली विधियों का प्रदर्शन कर सकता है।

चरण
मॉलिसियस सॉफ़्टवेयर की जांच में कई चरण सम्मिलित हैं, जिनमें निम्नलिखित सम्मिलित हैं, किन्तु इन तक सीमित नहीं हैं:


 * मैनुअल कोड व्युत्क्रमिंग
 * इंटरएक्टिव व्यवहार विश्लेषण
 * स्थैतिक गुण विश्लेषण
 * पूरी तरह से स्वचालित विश्लेषण