مواد پر جائیں

Control-flow Enforcement (CET)

آرکیٹیکچر کا حوالہFeex

اسے CET بھی کہا جاتا ہے

CET، کنٹرول فلو انفورسمنٹ ٹیکنالوجی، کنٹرول فلو کی حفاظت کے لیے ہارڈ ویئر میکانزم کا اضافہ کرتی ہے، بنیادی طور پر شیڈو اسٹیکس اور بالواسطہ برانچ ٹریکنگ (indirect branch tracking)۔ ہارڈ ویئر سپورٹ اور کسی خاص پروسیس میں فعال تحفظ مختلف کیفیات ہیں۔

آپ کے لیے جاننا کیا ضروری ہے

CET، کنٹرول فلو انفورسمنٹ ٹیکنالوجی، کنٹرول فلو کی حفاظت کے لیے ہارڈ ویئر میکانزم کا اضافہ کرتی ہے، بنیادی طور پر شیڈو اسٹیکس اور بالواسطہ برانچ ٹریکنگ (indirect branch tracking)۔ ہارڈ ویئر سپورٹ اور کسی خاص پروسیس میں فعال تحفظ مختلف کیفیات ہیں۔

یہ کیسے کام کرتا ہے

شیڈو اسٹیکس محفوظ ریٹرن ایڈریس کی حالت کو برقرار رکھتے ہیں، جبکہ بالواسطہ برانچ ٹریکنگ ٹریک کی گئی غیر مستقیم برانچز کی منزلوں کو محدود کرتی ہے۔ وہ مختلف کنٹرول فلو ٹرانسفرز کا احاطہ کرتے ہیں اور ان کا الگ شمار اور ایکٹیویشن ہوتا ہے۔ OS، لوڈر، ایپلیکیشن بائنری اور لائبریریاں ایک محفوظ ایگزیکیوشن ماحول کو فعال بنانے میں حصہ لیتے ہیں۔

یہ کہاں مفید ہے

مناسب طریقے سے تیار کردہ ایپلیکیشن OS کے زیر انتظام شیڈو اسٹیک کے ساتھ چل سکتی ہے تاکہ غیر مماثل ریٹرن ایڈریس خاموشی سے ایگزیکیوشن کو ری ڈائریکٹ کرنے کے بجائے طے شدہ استثناء کو متحرک کرے۔ مطابقت کی پالیسی پرانے ماڈیولز اور صارف کے موڈ بنام سپروائزر موڈ کے تحفظ کے لیے مختلف ہو سکتی ہے۔

سپورٹ اور فعالی کی جانچ کیسے کریں

شیڈو اسٹیک کی صلاحیت کے لیے CPUID.07H.00H:ECX بٹ 7 اور بالواسطہ برانچ ٹریکنگ کے لیے EDX بٹ 20 چیک کریں، پھر OS کی دستاویز کردہ پروسیس پروٹیکشن اسٹیٹس کا معائنہ کریں۔ اکیلا دستیاب CPU بٹ چلنے والے پروگرام کے لیے تحفظ کے نفاذ کو ثابت نہیں کر سکتا۔

صلاحیت، فعالی اور نفاذ کو الگ الگ چیک کیا جانا چاہیے۔ ایک پروسیسر تحفظ کی حمایت کر سکتا ہے جبکہ OS، ایپلی کیشن یا ورچوئل مشین پالیسی اسے چالو نہیں کرتی ہے۔ ڈیٹا بیس کا معاون فیلڈ چلتے ہوئے سسٹم کی تصدیق نہیں ہے۔

یہ خصوصیت کیا ثابت نہیں کرتی

CET فیلڈ یہ ثابت نہیں کرتا کہ دونوں ذیلی فیچرز موجود یا فعال ہیں۔ CET کسی بائنری کو قابل اعتماد نہیں بناتا، میموری کی خرابی کے ہر مسئلے کو نہیں روکتا یا اپ ڈیٹس کی جگہ نہیں لیتا۔ کسی تحفظ کو عالمی سطح پر غیر فعال کرنا ایپلیکیشن کے کریش ہونے کا معمول کا حل نہیں ہے۔

عملی طور پر مطابقت اور کارکردگی

OS، فرم ویئر اور متاثرہ رن ٹائم کو تازہ ترین رکھیں۔ اگر کوئی تحفظ مطابقت کا مسئلہ پیدا کرتا ہے، تو پہلے وینڈر کے تشخیصی اور معاون اپ ڈیٹس استعمال کریں۔ ایک وسیع تحفظ کا ٹوگل غیر متعلقہ ایپلی کیشنز کو متاثر کر سکتا ہے اور اسے ایک واضح تعیناتی اور بحالی کی پالیسی کے تحت ہونا چاہیے۔

عملی تصدیقی چیک لسٹ

  1. پروسیسر یا پلیٹ فارم کا اصل ماڈل اور شامل ایپلی کیشن، OS اور رن ٹائم کے ورژنز ریکارڈ کریں۔ اصل خرابی یا ضرورت کے الفاظ کو جوں کا توں محفوظ رکھیں۔
  2. اس مخصوص ماڈل کے لیے مینوفیکچرر کے حوالے کو چیک کریں، پھر اس ماحول میں مؤثر صلاحیت اور فعال حالت کا معائنہ کریں جہاں پروگرام چلتا ہے۔
  3. منتخب کردہ بائنری یا بیک اینڈ کی ہر ضرورت کا موازنہ کریں۔ ملتے جلتے نام کی خصوصیت، عرفیت یا وسیع ٹیکنالوجی لیبل کافی نہیں ہے۔
  4. تصدیق کریں کہ ایپلی کیشن نے مطلوبہ عمل درآمد کا انتخاب کیا ہے۔ اس کی دستاویزی تشخیص اور معاون متبادل کا استعمال کریں جب ضروریات پوری نہ ہوں۔
  5. ایک وقت میں ایک معاون تبدیلی کریں اور وہی ورک لوڈ دہرائیں۔ اصل کنفیگریشن اور بحالی کا راستہ دستیاب رکھیں۔

اگر خصوصیت درج ہے لیکن سافٹ ویئر اسے استعمال نہیں کر سکتا

فیل ہونے والے اصل جزو سے شروعات کریں۔ ہارڈ ویئر ڈیٹا بیس ریکارڈ شدہ صلاحیت کو بیان کرتا ہے؛ آپریٹنگ سسٹم یا ہائپروائزر ایک مختلف مؤثر ماحول فراہم کر سکتا ہے۔ ایک غیر قانونی ہدایت کی خرابی (illegal-instruction error) میں بھی اصل خرابی پیدا کرنے والی ہدایت اور بائنری بلڈ کی تحقیقات کی ضرورت ہوتی ہے، کیونکہ کرپشن یا ایک غیر متعلقہ غیر معاون ہدایت ایسی ہی علامت پیدا کر سکتی ہے۔

مخصوص پلیٹ فارم کے لیے معاونت یافتہ ایپلی کیشن، ڈرائیور یا رن ٹائم ورژن انسٹال کریں، اور اگر ضرورت ہو تو وینڈر کا دستاویزی بنیادی یا فال بیک بلڈ استعمال کریں۔ سافٹ ویئر اپ ڈیٹ ایسی ہدایت تیار نہیں کر سکتا جس کی پروسیسر میں کمی ہو۔ فرم ویئر اور سیکیورٹی پالیسی کی تبدیلیوں کو عام اصلاحی طریقے کے بجائے سسٹم مینوفیکچرر کے طریقہ کار اور بحالی کے منصوبے پر عمل کرنا چاہیے۔

اس وضاحت کے ذرائع اور دائرہ کار

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: کنٹرول فلو انفورسمنٹ ٹیکنالوجی شیڈو اسٹیک

یہ حوالہ جات آرکیٹیکچرل رویے اور سافٹ ویئر کی ضروریات کو قائم کرتے ہیں۔ وہ لنک شدہ ہارڈ ویئر ماڈل کے صفحے پر ہر خصوصیت کی قدر کی آزادانہ طور پر تصدیق نہیں کرتے ہیں۔ ماڈل کی سپورٹ کے لیے، اس صفحے کے مینوفیکچرر کے ثبوت استعمال کریں اور مؤثر سسٹم کنفیگریشن چیک کریں۔ یہ مضمون بینچ مارک، سرٹیفیکیشن یا آزادانہ جائزے کی تاریخ فراہم نہیں کرتا ہے۔

ذرائع اور توثیق

ادارتی ملکیت: Feex۔ آزادانہ جائزے کی کوئی تاریخ ریکارڈ نہیں کی گئی ہے۔ ہم تحقیق کیسے کرتے ہیں.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · جلد 1 اور 2 نامزد انسٹرکشن فیملیز اور CPUID کی وضاحت کرتی ہیں؛ جلد 3 اسٹیٹ، پیجنگ، VMX اور پروٹیکشن کنٹرولز کی وضاحت کرتی ہے۔ آرکیٹیکچر کی دستاویزات کسی خاص ماڈل کے لیے سپورٹ کا تعین نہیں کرتیں۔
  • Linux kernel: کنٹرول فلو انفورسمنٹ ٹیکنالوجی شیڈو اسٹیک · ہارڈ ویئر سپورٹ، بائنری مارکرز، لوڈر کی فعالیت اور فعال فی تھریڈ تحفظ کے درمیان فرق کرتا ہے۔ IBT اور شیڈو اسٹیکس کو الگ سہولیات کے طور پر بیان کرتا ہے۔

کیا یہ مضمون مفید تھا؟

ہاں یا نہیں کافی ہے۔ اگر آپ چاہیں تو کوئی وجہ منتخب کریں، یا ایک مختصر نوٹ شامل کریں۔

کیا یہ مضمون مفید تھا؟