CET & Shadow Stack

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

Control Flow Enforcement Technology (CET)

CET एक सुरक्षा विशेषता है जो हार्डवेयर स्तर पर लागू की गई है, जिसका उद्देश्य Return-Oriented Programming (ROP) और Jump-Oriented Programming (JOP) जैसे सामान्य नियंत्रण-प्रवाह हाइजैकिंग हमलों को रोकना है। इस प्रकार के हमले एक प्रोग्राम के निष्पादन प्रवाह को हेरफेर करते हैं ताकि वे दुर्भावनापूर्ण कोड को निष्पादित कर सकें या benign कोड के टुकड़ों को इस तरह से जोड़ सकें कि एक दुर्भावनापूर्ण क्रिया की जा सके।

CET दो मुख्य विशेषताएँ प्रस्तुत करता है: Indirect Branch Tracking (IBT) और Shadow Stack

  • IBT यह सुनिश्चित करता है कि अप्रत्यक्ष कूद और कॉल वैध लक्ष्यों पर किए जाएं, जिन्हें अप्रत्यक्ष शाखाओं के लिए कानूनी गंतव्यों के रूप में स्पष्ट रूप से चिह्नित किया गया है। यह एक नए निर्देश सेट के उपयोग के माध्यम से प्राप्त किया जाता है जो वैध लक्ष्यों को चिह्नित करता है, इस प्रकार हमलावरों को नियंत्रण प्रवाह को मनमाने स्थानों पर मोड़ने से रोकता है।
  • Shadow Stack एक तंत्र है जो लौटने के पते के लिए अखंडता प्रदान करता है। यह नियमित कॉल स्टैक से अलग एक सुरक्षित, छिपी हुई प्रति रखता है। जब एक फ़ंक्शन लौटता है, तो लौटने के पते को शैडो स्टैक के खिलाफ मान्य किया जाता है, जिससे हमलावरों को स्टैक पर लौटने के पते को ओवरराइट करने से रोका जा सके।

Shadow Stack

shadow stack एक विशेष स्टैक है जिसका उपयोग केवल लौटने के पते को संग्रहीत करने के लिए किया जाता है। यह नियमित स्टैक के साथ काम करता है लेकिन सामान्य प्रोग्राम निष्पादन से सुरक्षित और छिपा होता है, जिससे हमलावरों के लिए छेड़छाड़ करना कठिन हो जाता है। शैडो स्टैक का प्राथमिक लक्ष्य यह सुनिश्चित करना है कि पारंपरिक स्टैक पर लौटने के पते में कोई भी संशोधन उपयोग किए जाने से पहले पता लगाया जाए, प्रभावी रूप से ROP हमलों को कम करना।

How CET and Shadow Stack Prevent Attacks

ROP और JOP हमले एक एप्लिकेशन के नियंत्रण प्रवाह को हाइजैक करने की क्षमता पर निर्भर करते हैं, जो उन्हें स्टैक पर पॉइंटर्स या लौटने के पते को ओवरराइट करने की अनुमति देने वाली कमजोरियों का लाभ उठाते हैं। मौजूदा कोड गैजेट्स या लौटने-उन्मुख प्रोग्रामिंग गैजेट्स के अनुक्रमों की ओर प्रवाह को निर्देशित करके, हमलावर मनमाने कोड को निष्पादित कर सकते हैं।

  • CET का IBT फीचर इन हमलों को काफी कठिन बना देता है यह सुनिश्चित करके कि अप्रत्यक्ष शाखाएँ केवल उन पते पर कूद सकती हैं जिन्हें स्पष्ट रूप से वैध लक्ष्यों के रूप में चिह्नित किया गया है। इससे हमलावरों के लिए बाइनरी में फैले मनमाने गैजेट्स को निष्पादित करना असंभव हो जाता है।
  • दूसरी ओर, shadow stack यह सुनिश्चित करता है कि भले ही एक हमलावर सामान्य स्टैक पर लौटने के पते को ओवरराइट कर सके, असमानता का पता लगाया जाएगा जब फ़ंक्शन से लौटने पर दूषित पते की तुलना शैडो स्टैक में संग्रहीत सुरक्षित प्रति से की जाएगी। यदि पते मेल नहीं खाते हैं, तो प्रोग्राम समाप्त हो सकता है या अन्य सुरक्षा उपाय कर सकता है, जिससे हमले को सफल होने से रोका जा सके।

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें