2010-01-30 15 views

उत्तर

4

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

प्रोग्राम आमतौर पर केवल पढ़ने के लिए स्मृति अनुभाग में उनके बाइनरी कोड और स्थिर डेटा होते हैं और यदि वे कभी भी लिखने का प्रयास करते हैं, तो CPU गलती करेगा और फिर ऑपरेटिंग सिस्टम सामान्य रूप से एप्लिकेशन को मारता है (इसे सेगमेंटेशन गलती के रूप में जाना जाता है या उल्लंघन का उपयोग)।

सुरक्षा कारणों से, किसी प्रोग्राम की पढ़ने/लिखने की डेटा मेमोरी आमतौर पर डिफ़ॉल्ट रूप से एनएक्स-संरक्षित होती है। यह किसी हमलावर को अपने दुर्भावनापूर्ण कोड को डेटा के रूप में कुछ एप्लिकेशन की आपूर्ति करने से रोकता है, जिससे एप्लिकेशन अपने डेटा क्षेत्र में लिखता है और उसके बाद उस कोड को किसी भी तरह निष्पादित किया जाता है, आमतौर पर एप्लिकेशन में बफर ओवरफ़्लो/अंडरफ्लो भेद्यता द्वारा, फ़ंक्शन के रिटर्न पते को ओवरराइट करना डेटा क्षेत्र में दुर्भावनापूर्ण कोड के स्थान के साथ ढेर में।

कुछ वैध एप्लिकेशन (सबसे विशेष रूप से उच्च-प्रदर्शन अनुकरणकर्ता और जेआईटी कंपाइलर्स) को भी अपने डेटा को निष्पादित करने की आवश्यकता होती है, क्योंकि वे रनटाइम पर कोड संकलित करते हैं, लेकिन वे विशेष रूप से स्मृति के लिए कोई एनएक्स ध्वज सेट नहीं आवंटित करते हैं।

+0

आपको इसकी आवश्यकता क्यों है ? क्या आप इसे सरल तरीके से क्रिया में दिखा सकते हैं? –

+0

और जानकारी जोड़ा गया। उदाहरण कोड लिखना मुश्किल है क्योंकि यह अत्यधिक मंच-निर्भर होगा। – Tronic

+0

@Tronic क्या आप समझा सकते हैं कि यह मान्य-अमान्य बिट से अलग कैसे है? जब आपके पास पहले से वैध-अमान्य बिट है तो एनएक्स बिट अनावश्यक क्यों नहीं है? – Somjit

2

Wikipedia

NX बिट, जो खड़ा के लिए कोई पर अमल से, सीपीयू में इस्तेमाल किया प्रोसेसर निर्देश (या कोड) के दोनों भंडारण द्वारा उपयोग के लिए स्मृति के क्षेत्रों को अलग करने के लिए एक तकनीक है या डेटा के भंडारण के लिए, एक सुविधा आमतौर पर हार्वर्ड आर्किटेक्चर प्रोसेसर में केवल पाई जाती है। हालांकि, सुरक्षा कारणों से, एनएक्स बिट पारंपरिक von न्यूमैन आर्किटेक्चर प्रोसेसर में तेजी से उपयोग किया जा रहा है।

के लिए समर्थन वाला एक ऑपरेटिंग सिस्टम एनएक्स बिट स्मृति के कुछ क्षेत्रों को गैर निष्पादन योग्य के रूप में चिह्नित कर सकता है। प्रोसेसर मेमोरी के इन क्षेत्रों में रहने वाले किसी भी कोड को निष्पादित करने से इनकार कर देगा। सामान्य तकनीक, निष्पादन अंतरिक्ष संरक्षण के रूप में जाना जाता है, एक अन्य कार्यक्रम के डेटा भंडारण क्षेत्र और इस खंड के भीतर से अपने खुद के कोड चलाने में अपने कोड डालने से से अधिक कंप्यूटरों लेने से दुर्भावनापूर्ण सॉफ़्टवेयर के कुछ प्रकार को रोकने के लिए प्रयोग किया जाता है; इसे बफर ओवरफ़्लो हमले के रूप में जाना जाता है।

+0

क्या यह प्रोसेसर के प्रकार के आधार पर डीईपी ध्वज का उपयोग कर विंडोज द्वारा उपयोग की जाने वाली सुविधा नहीं है? – t0mm13b

+0

मुझे उम्मीद है कि एनएक्स बिट के कुछ व्यावहारिक उदाहरण के साथ कार्रवाई में एक और तकनीकी उत्तर चाहिए। मुझे इसकी ज़रूरत नहीं है, मैं केवल SO पर कुछ ज्ञान जोड़ने के लिए कह रहा हूं (और मेरे साथ भी, मैंने इसके साथ नहीं खेला है, हालांकि मुझे पता है कि यह क्या है) –

0

एनएक्स बिट का उपयोग करने वाले विकिपीडिया पर पाए गए 'DEP' पर एक नज़र डालें। तकनीकी जवाब की आपूर्ति के लिए के रूप में, माफ करना, मैं इस बारे में पर्याप्त जानकारी नहीं है, लेकिन उद्धृत करने के लिए:

डाटा निष्पादन रोकथाम (डीईपी) एक सुरक्षा सुविधा है कि एक को रोकने के लिए इरादा है आधुनिक माइक्रोसॉफ्ट विंडो ऑपरेटिंग सिस्टम में शामिल है गैर-निष्पादन योग्य स्मृति क्षेत्र से कोड निष्पादित करने से एप्लिकेशन या सेवा। ....

डीईपी Windows XP सर्विस पैक 2 में पेश किया गया था और Windows XP टेबलेट पीसी संस्करण 2005 में शामिल किया गया है, विंडोज सर्वर 2003 सर्विस पैक 1 और बाद में, विंडोज विस्टा, और विंडोज सर्वर 2008, और Windows के सभी नए संस्करण। ...

हार्डवेयर लागू होने वाली डीईपी 32-बिट Windows में पीएई कर्नेल का स्वत: उपयोग और 64-बिट कर्नेल पर देशी समर्थन के माध्यम से, संगत CPUs पर NX बिट सक्षम बनाता है। विंडोज विस्टा डीईपी स्मृति के कुछ हिस्सों को चिह्नित करके काम करता है क्योंकि का उद्देश्य केवल डेटा है, जो एनएक्स या एक्सडी बिट सक्षम प्रोसेसर को गैर-निष्पादन योग्य के रूप में समझता है। यह बफर ओवरफ्लो हमलों को सफल होने से रोकने में मदद करता है। विंडोज विस्टा में, किसी प्रक्रिया के लिए डीईपी स्थिति, यानी, क्या के लिए डीईपी सक्षम या अक्षम है, विशेष प्रक्रिया को विंडोज कार्य प्रबंधक में प्रक्रिया टैब पर देखा जा सकता है।

डीएसपी के बारे में एमएसडीएन के ज्ञान आधार से here भी देखें। यह कैसे काम करता है इस पर एक बहुत विस्तृत स्पष्टीकरण here है।

उम्मीद है कि यह मदद करता है, सर्वश्रेष्ठ संबंध, टॉम।

संबंधित मुद्दे