Execute Disable (NX)
Execute Disable, जिसे x86 शब्दावली में NX या XD भी कहा जाता है, पेज टेबलों को मेमोरी को गैर-निष्पादन योग्य (non-executable) के रूप में चिह्नित करने की अनुमति देता है। यह ऑपरेटिंग-सिस्टम निष्पादन-सुरक्षा नीतियों द्वारा उपयोग किया जाने वाला एक हार्डवेयर बिल्डिंग ब्लॉक है।
आपको क्या जानना चाहिए
Execute Disable, जिसे x86 शब्दावली में NX या XD भी कहा जाता है, पेज टेबलों को मेमोरी को गैर-निष्पादन योग्य (non-executable) के रूप में चिह्नित करने की अनुमति देता है। यह ऑपरेटिंग-सिस्टम निष्पादन-सुरक्षा नीतियों द्वारा उपयोग किया जाने वाला एक हार्डवेयर बिल्डिंग ब्लॉक है।
यह कैसे काम करता है
लागू पेजिंग वातावरण में सक्षम होने पर, गैर-निष्पादन योग्य चिह्नित पेज से निर्देश फ़ेच करने पर उसके बाइट्स निष्पादित होने के बजाय फॉल्ट उत्पन्न होता है। पेज अनुमतियां डेटा एक्सेस से निष्पादन को अलग करती हैं; उपयुक्त अनुमतियां निर्दिष्ट करने और वैध जनरेट किए गए कोड के लिए ट्रांज़िशन को संभालने के लिए सॉफ्टवेयर जिम्मेदार है।
यह कहाँ उपयोगी है
एक OS बिना निष्पादन अनुमति के डेटा बफर को मैप कर सकता है ताकि उस बफर में मशीन-कोड बाइट्स लिखने से वह निष्पादन योग्य कोड पेज न बन जाए। JIT रनटाइम जनरेट किए गए कोड के लिए प्रलेखित मेमोरी-प्रबंधन API और अनुमति नीतियों का उपयोग करते हैं।
सपोर्ट और सक्षमता की जांच कैसे करें
CPUID.80000001H:EDX बिट 20 प्रासंगिक विक्रेता परिभाषा के तहत x86 निष्पादन-अक्षम (execute-disable) क्षमता को सूचीबद्ध करता है। वास्तविक प्रवर्तन पेजिंग मोड और OS सक्षमता पर भी निर्भर करता है। CPU मॉडल से अनुमान लगाने के बजाय OS की प्रलेखित सुरक्षा स्थिति का निरीक्षण करें।
क्षमता, सक्षमता और प्रवर्तन की अलग से जांच की जानी चाहिए। एक प्रोसेसर एक सुरक्षा का समर्थन कर सकता है जबकि OS, एप्लिकेशन या वर्चुअल-मशीन नीति इसे सक्रिय नहीं करती है। डेटाबेस समर्थन फ़ील्ड चल रहे सिस्टम का सत्यापन नहीं है।
यह सुविधा क्या स्थापित नहीं करती है
NX यह स्थापित नहीं करता है कि कोई निष्पादन योग्य फ़ाइल सुरक्षित है, प्रत्येक कोड-पुनः उपयोग हमले को रोकता है या Windows पात्रता साबित करता है। डेटा अलग-अलग अनुमतियों के अनुसार पठनीय या लिखने योग्य बना रहता है। फीचर फ़्लैग का अर्थ यह नहीं है कि प्रत्येक मेमोरी मैपिंग सख्त लेखन/निष्पादन नीति का पालन करती है।
व्यवहार में अनुकूलता और प्रदर्शन
OS, फ़र्मवेयर और प्रभावित रनटाइम को अद्यतित रखें। यदि कोई सुरक्षा अनुकूलता समस्या को उजागर करती है, तो पहले विक्रेता डायग्नोस्टिक्स और समर्थित अपडेट का उपयोग करें। एक व्यापक सुरक्षा टॉगल असंबंधित अनुप्रयोगों को प्रभावित कर सकता है और इसे एक स्पष्ट परिनियोजन और पुनर्प्राप्ति नीति का पालन करना चाहिए।
एक व्यावहारिक सत्यापन चेकलिस्ट
- शामिल सटीक प्रोसेसर या प्लेटफ़ॉर्म मॉडल और एप्लिकेशन, OS और रनटाइम संस्करणों को रिकॉर्ड करें। वास्तविक त्रुटि या आवश्यकता के शब्दों को सुरक्षित रखें।
- उस सटीक मॉडल के लिए निर्माता संदर्भ की जांच करें, फिर उस परिवेश में प्रभावी क्षमता और सक्षम स्थिति का निरीक्षण करें जहां प्रोग्राम चलता है।
- चयनित बाइनरी या बैकएंड की प्रत्येक आवश्यकता की तुलना करें। समान नाम वाली सुविधा, उपनाम या व्यापक तकनीक लेबल पर्याप्त नहीं है।
- पुष्टि करें कि एप्लिकेशन ने इच्छित कार्यान्वयन का चयन किया है। आवश्यकताएं पूरी न होने पर इसके दस्तावेजीकृत डायग्नोस्टिक्स और समर्थित फ़ॉलबैक का उपयोग करें।
- एक समय में एक समर्थित परिवर्तन करें और वही कार्यभार दोहराएं। मूल कॉन्फ़िगरेशन और पुनर्प्राप्ति पथ उपलब्ध रखें।
यदि सुविधा सूचीबद्ध है लेकिन सॉफ़्टवेयर इसका उपयोग नहीं कर सकता है
सटीक रूप से विफल घटक से शुरुआत करें। हार्डवेयर डेटाबेस रिकॉर्ड की गई क्षमता का वर्णन करता है; ऑपरेटिंग सिस्टम या हाइपरवाइज़र एक अलग प्रभावी वातावरण प्रदर्शित कर सकता है। एक अवैध-निर्देश त्रुटि के लिए वास्तविक दोषपूर्ण निर्देश और बाइनरी बिल्ड की जांच की भी आवश्यकता होती है, क्योंकि भ्रष्टाचार या एक असंबंधित असमर्थित निर्देश एक समान लक्षण उत्पन्न कर सकता है।
सटीक प्लेटफ़ॉर्म के लिए समर्थित एप्लिकेशन, ड्राइवर या रनटाइम संस्करण इंस्टॉल करें, और यदि आवश्यक हो तो विक्रेता के दस्तावेजीकृत बेसलाइन या फ़ॉलबैक बिल्ड का उपयोग करें। एक सॉफ़्टवेयर अपडेट ऐसा निर्देश नहीं बना सकता जिसकी प्रोसेसर में कमी है। फ़र्मवेयर और सुरक्षा-नीति परिवर्तनों को सामान्य अनुकूलन नुस्खे के बजाय सिस्टम निर्माता की प्रक्रिया और पुनर्प्राप्ति योजना का पालन करना चाहिए।
इस व्याख्या के स्रोत और दायरा
Intel 64 and IA-32 Architectures Software Developer's Manual
ये संदर्भ आर्किटेक्चरल व्यवहार और सॉफ़्टवेयर आवश्यकताओं को स्थापित करते हैं। वे किसी लिंक्ड हार्डवेयर मॉडल पेज पर प्रत्येक सुविधा मान को स्वतंत्र रूप से सत्यापित नहीं करते हैं। मॉडल समर्थन के लिए, उस पेज के निर्माता साक्ष्य का उपयोग करें और प्रभावी सिस्टम कॉन्फ़िगरेशन की जांच करें। यह आलेख कोई बेंचमार्क, प्रमाणन या स्वतंत्र समीक्षा तिथि प्रदान नहीं करता है।
स्रोत और सत्यापन
संपादकीय स्वामित्व: Feex। कोई स्वतंत्र समीक्षा तिथि दर्ज नहीं है। हम कैसे शोध करते हैं.
- Intel 64 and IA-32 Architectures Software Developer's Manual · खंड 1 और 2 नामित निर्देश परिवारों और CPUID का वर्णन करते हैं; खंड 3 स्टेट, पेजिंग, VMX और सुरक्षा नियंत्रणों का वर्णन करता है। आर्किटेक्चर दस्तावेज़ किसी विशेष मॉडल के लिए समर्थन स्थापित नहीं करता है।
क्या यह लेख उपयोगी था?
हाँ या ना ही काफी है। यदि आप चाहें तो कोई कारण चुनें, या एक संक्षिप्त नोट जोड़ें।
धन्यवाद। इससे हमें इस पृष्ठ को बेहतर बनाने में मदद मिलती है।