पिछले हफ्ते, EMET v4 टूलकिट का एक बीटा संस्करण जारी किया गया था। हमने पहले से ही 4 वें संस्करण की कुछ नई विशेषताओं के बारे में
लिखा था और यह रिलीज पर और अधिक विस्तार से जानना चाहेंगे, क्योंकि यह उपकरण वास्तव में ध्यान देने योग्य है। फिर से, एन्हांस्ड शमन अनुभव टूलकिट (EMET) सॉफ्टवेयर में दोषों (या कमजोरियों) का फायदा उठाने और कोड निष्पादन के प्रवाह को बदलने के लिए अनुप्रयोगों को हमलों से बचाने के लिए विभिन्न शोषण क्रियाओं को ब्लॉक करने के लिए सक्रिय तरीकों का उपयोग करता है। इस तथ्य के बावजूद कि आधुनिक विंडोज 7 और विंडोज 8 में अंतर्निहित, डीईपी और एएसएलआर क्षमताओं का उपयोग किया गया है, जिसका उद्देश्य शोषण के परिणामों को कम करना है, ईएमईटी आपको शोषण कार्यों को ब्लॉक करने के लिए नई सुविधाओं को पेश करने की अनुमति देता है, साथ ही डीईई या एएसएलआर को सक्षम करता है। डिफ़ॉल्ट रूप से, उदाहरण के लिए, पुराने Windows XP के लिए।
हमारी पोस्ट में, हम EMET के चौथे संस्करण की मुख्य विशेषताओं का अवलोकन प्रदान करना चाहते हैं जो कारनामों से बचाने में मदद करती हैं।
इस उपकरण की मुख्य विशेषताओं पर विचार करने से पहले, हम कुछ बिंदुओं को स्पष्ट करेंगे:
- EMET एंटीवायरस या HIPS के लिए एक प्रतिस्थापन नहीं है, क्योंकि इसमें ऐसे टूल की कार्यक्षमता नहीं है: इसमें हस्ताक्षर डेटाबेस या विशेष व्यवहार खतरे के पैटर्न शामिल नहीं हैं।
- ईएमईटी सैंडबॉक्स (सैंडबॉक्स) के लिए प्रतिस्थापन नहीं है, क्योंकि यह इसके लिए अभिप्रेत नहीं है और एप्लिकेशन के कार्यों का अनुकरण करने में सक्षम नहीं है।
- EMET शोषण से 100% सुरक्षा प्रणाली नहीं है, क्योंकि, संक्षेप में, यह शोषण के पहले से ही ज्ञात तरीकों पर नज़र रखने पर केंद्रित है और शोषण के तरीकों के खिलाफ मदद करने में सक्षम नहीं होगा जो इसके लिए अज्ञात हैं।
- EMET का लक्ष्य उन उन्नत उपयोगकर्ताओं पर है जो उपयुक्त सिस्टम सेटिंग्स सेट करने में सक्षम हैं और आने वाले संदेशों पर प्रतिक्रिया देते हैं।
- EMET का उपयोग करने के लिए स्वतंत्र है।
ईएमईटी की मुख्य विंडो।

शोषण के खिलाफ सुरक्षा के दृष्टिकोण से, टूल में दो प्रकार की सेटिंग्स होती हैं: सिस्टम के लिए संपूर्ण के रूप में, अर्थात, सिस्टम के सभी अनुप्रयोगों के लिए एक सामान्य नियम (सिस्टम स्टेटस) और विशिष्ट अनुप्रयोगों के लिए (कॉन्फ़िगर एप्लिकेशन)। सिस्टम के लिए सेटिंग्स में चार मुख्य बिंदु शामिल हैं:
- डेटा निष्पादन रोकथाम (डीईपी) - यह निर्धारित करता है कि किन अनुप्रयोगों को डीईपी का उपयोग करना चाहिए।
- संरचित अपवाद हैंडलर ओवरराइट प्रोटेक्शन (SEHOP) - यह निर्धारित करता है कि कौन से अनुप्रयोगों को SEH ओवरराइट सुरक्षा तकनीक का उपयोग करना चाहिए। SEH हैंडलर्स का संशोधन लंबे समय से कारनामों के साथ फैशन में है। विस्टा SP1 के बाद से सिस्टम स्तर पर SEHOP पेश किया गया है।
- पता स्थान लेआउट Randmization (ASLR) - यह निर्धारित करता है कि किन अनुप्रयोगों को ASLR का उपयोग करना चाहिए।
- सर्टिफिकेट ट्रस्ट (पिनिंग) - फ़ंक्शन केवल इंटरनेट एक्सप्लोरर के लिए उपलब्ध है और आपको विशिष्ट वेब संसाधनों पर जाकर एसएसएल / टीएलएस कनेक्शनों के डिजिटल प्रमाणपत्रों की जांच के लिए मैन्युअल रूप से नियम बनाने की अनुमति देता है।
DEP, ASLR, SEHOP, के लिए सेटिंग्स की व्याख्या
यहाँ देखें।
उपकरण त्वरित सेटअप के लिए अंतर्निहित सुरक्षा प्रोफाइल का समर्थन करता है:
- अधिकतम सुरक्षा सेटिंग्स - विकल्प सभी सिस्टम सेटिंग्स को अधिकतम स्तर पर बदल देता है।
- अनुशंसित सुरक्षा सेटिंग्स - विकल्प सिस्टम सेटिंग्स को "अनुशंसित स्तर" पर बदल देता है। अधिकतम सुरक्षा सेटिंग्स के विपरीत, यह DEP और SEHOP की स्थिति को ऐप ऑप्ट में कम करता है, अर्थात, इन सेटिंग्स सहित (डिफ़ॉल्ट रूप से) केवल कुंजी सिस्टम प्रक्रियाओं के लिए।
आप डीईपी, एएसएलआर सक्षम के साथ प्रक्रियाओं की स्थिति की जांच कर सकते हैं, उदाहरण के लिए, प्रोसेस एक्सप्लोरर का उपयोग करके, सेटिंग्स में संबंधित कॉलम का प्रदर्शन। दृश्य-> कॉलम का चयन करें-> डीईपी स्थिति, एएसएलआर सक्षम।

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

यह स्क्रीनशॉट सीधे मेमोरी से संबंधित सेटिंग्स दिखाता है।
- DEP - कर्नेल 32 पर कॉल करके लागू किया गया ! EMPro नियंत्रित प्रक्रिया के संदर्भ में ! SetProcessDEPPolicy ।
- बॉटम यूएएसएएसएलआर - कुछ मायनों में, स्टैक पर और ढेर पर (जैसे कि मेमोरी आवंटित की जाती है और उच्च पते में) आवंटित मेमोरी क्षेत्रों के लिए एक एएसएलआर है ।
- NullPage - MS13-031 देखें।
- MandatoryASLR - गतिशील रूप से भरी हुई प्रक्रिया पुस्तकालयों के लिए ASLR को लागू करता है, अर्थात। अप्रत्याशित डाउनलोड पते बनाना। Ntdll! NtMapViewOfSection फ़ंक्शन को रोककर कार्यान्वित किया गया।
- HeapSpray - आप ढेर स्मृति आरक्षण के कारण हीप्सप्रिंग संचालन के प्रयासों को रिकॉर्ड करने की अनुमति देता है।

- लोडलीब - यूएनसी पथ के साथ लाइब्रेरी को मेमोरी में लोड करने से रोकने के लिए लोडलैटर के संचालन पर नज़र रखना, उदाहरण के लिए, \\ server1 / share.dll
- मेमप्रोट - स्टैक पृष्ठों की स्थिति को निष्पादन योग्य में बदलने का निषेध।
- कोलर - आरओपी को भी संदर्भित करता है और आपको यह निगरानी करने की अनुमति देता है कि एपीआई को कॉल करने के लिए किन निर्देशों का उपयोग किया गया था, अर्थात्, यह सुनिश्चित करने के लिए कि फ़ंक्शन को कॉल का उपयोग करके बुलाया गया था, न कि रिट, जिसका उपयोग व्यापक रूप से कारनामों में किया जाता है।
- SimExecFlow - आपको EMET नियंत्रित फ़ंक्शन को कॉल करने के बाद ROP गैजेट का पता लगाने की अनुमति देता है।
- StackPivot - आपको स्टैक पिविंग स्थितियों का पता लगाने की अनुमति देता है।

- SEHOP - SEH हैंडलर्स के शोषण के प्रयासों की निगरानी करता है। वास्तव में, यह सुविधा ओएस में ही शुरू की जाती है, विस्टा SP1 के साथ शुरू होती है। EMET आपको विस्टा SP1 के नीचे सिस्टम पर इस सुविधा का उपयोग करने की अनुमति देता है।
- ईएएफ (एक्सपोर्ट एड्रेस टेबल एक्सेस फ़िल्टरिंग) - मेमोरी पेज तक पहुंचने के किसी भी संचालन पर प्रतिबंध लगाता है, जिस पर मॉड्यूल निर्यात तालिका स्थित है, उस कोड के आधार पर जो इसे एक्सेस करने की कोशिश कर रहा है। यही है, यह केवल उस कोड तक पहुंच की अनुमति देता है जो एक ज्ञात लोड किए गए मॉड्यूल से संबंधित है। यह वांछित फ़ंक्शन के पते को प्राप्त करने के लिए मॉड्यूल एक्सपोर्ट टेबल को मैन्युअल रूप से पार्स करते समय (और न केवल) शोषण द्वारा उपयोग किया जाता है।
इन सभी कार्यों को करने के लिए, EMET अच्छी तरह से ज्ञात इनलाइन कोड पैचिंग विधि का उपयोग करता है, जो नीचे स्क्रीनशॉट (EMET द्वारा नियंत्रित प्रक्रिया) में स्पष्ट रूप से दिखाया गया है।

EMET में उन अनुप्रयोगों के लिए अतिरिक्त उन्नत सुविधाएँ हैं जो अनुप्रयोग कॉन्फ़िगरेशन से उपलब्ध हैं।

- डीप हुक - महत्वपूर्ण एपीआई की सुरक्षा के लिए, ईएमईटी न केवल इन कार्यों को स्वयं बाधित करेगा, बल्कि उन कार्यों (अन्य एपीआई) को भी कहा जाएगा जो उनसे कहा जाएगा।
- एंटी डिटॉर्स - उन क्रियाओं को अवरुद्ध करता है जो एपीआई के पहले बाइट्स (आमतौर पर एक प्रस्तावना) को छोड़ देती हैं और उनके बाद निर्देशों का नियंत्रण स्थानांतरित करती हैं।
- प्रतिबंधित कार्य - विशेष सूची से एपीआई कार्यों को कॉल करना प्रतिबंधित करता है। संस्करण 4 में, केवल ntdll! LdrHotPatchRoutine इस सूची में मौजूद है।
ऑपरेटिंग परिस्थितियों में से एक होने पर EMET पर कार्रवाई करें। संभावित विकल्प: शोषण पर रोक (एक विशेष संदेश के प्रदर्शन के साथ कार्रवाई को अवरुद्ध करना और प्रक्रिया को पूरा करना) और केवल ऑडिट (कार्रवाई की अधिसूचना)।
EMET द्वारा क्या संरक्षित किया जाना चाहिए?
ध्यान दें कि EMET में प्रक्रियाओं की एक सूची है जिसके लिए यह डिफ़ॉल्ट रूप से सक्षम होगा। इन प्रक्रियाओं में शामिल हैं: वेब ब्राउज़र एमएस इंटरनेट एक्सप्लोरर, एडोब एक्रोबेट, जावा, एमएस ऑफिस। आप ऐप्स विंडो में प्रक्रियाओं की सूची देख सकते हैं।
हम EMET का उपयोग करके एप्लिकेशन सुरक्षा के बारे में निम्नलिखित विशेषताओं पर प्रकाश डालते हैं:
- Skype प्रक्रियाओं (या आपके द्वारा उपयोग किए जाने वाले किसी अन्य संदेशवाहक), साथ ही साथ आपके ब्राउज़र के लिए EMET को सक्षम करने पर विचार करें। क्योंकि इन घटकों को दूरस्थ रूप से संचालित किया जा सकता है।
- ध्यान दें कि EMET पूरी तरह से सभी अनुप्रयोगों के साथ संगत नहीं है, डिबगर्स और अन्य सिस्टम टूल्स का उल्लेख नहीं है। इसलिए, यदि आप एक व्यवस्थापक हैं, तो नेटवर्क पर सभी आवश्यक प्रक्रियाओं के लिए तुरंत EMET को चालू न करें, इन अनुप्रयोगों के साथ संगतता को अलग से परीक्षण करना बेहतर है।
- संभावित असंगतताओं और उनकी चर्चा की सूची के लिए, यहां देखें।

विभिन्न अनुप्रयोगों के साथ EMET तंत्र की असंगतियों की सूची।
Microsoft EMET गाइड [PDF]
यहाँ ।
यहाँ डेवलपर्स में से एक RECON'13 पर EMET की प्रस्तुति।