সরাসরি মূল বিষয়ে যান

CET শ্যাডো স্ট্যাক

আর্কিটেকচার রেফারেন্সFeex

CET-SS নামেও পরিচিত

CET শ্যাডো স্ট্যাক বিকৃত কন্ট্রোল-ফ্লো রিটার্ন শনাক্ত করতে সাহায্য করার জন্য সুরক্ষিত রিটার্ন-অ্যাড্রেস স্টেট প্রদান করে। প্রসেসরের শ্যাডো-স্ট্যাক সক্ষমতা সক্রিয়ভাবে সুরক্ষিত প্রসেসের জন্য কেবল একটি পূর্বশর্ত।

আপনার যা জানা প্রয়োজন

CET শ্যাডো স্ট্যাক বিকৃত কন্ট্রোল-ফ্লো রিটার্ন শনাক্ত করতে সাহায্য করার জন্য সুরক্ষিত রিটার্ন-অ্যাড্রেস স্টেট প্রদান করে। প্রসেসরের শ্যাডো-স্ট্যাক সক্ষমতা সক্রিয়ভাবে সুরক্ষিত প্রসেসের জন্য কেবল একটি পূর্বশর্ত।

এটি যেভাবে কাজ করে

একটি শ্যাডো স্ট্যাক সাধারণ এক্সিকিউশন স্ট্যাকের পাশাপাশি রিটার্ন তথ্যের একটি সুরক্ষিত অনুলিপি ধারণ করে। একটি সুরক্ষিত রিটার্ন আর্কিটেকচারের নিয়ম অনুযায়ী ধারাবাহিকতা পরীক্ষা করে। OS সক্ষমকরণ, মেমরি অনুমতি এবং থ্রেড স্টেট পরিচালনা করে, অন্যদিকে রানটাইমগুলোকে অবশ্যই এক্সেপশন এবং কনটেক্সট রূপান্তর সঠিকভাবে পরিচালনা করতে হবে।

যেখানে এটি কার্যকর

একটি সাধারণ রিটার্ন অ্যাড্রেস পরিবর্তন করে এমন স্ট্যাক ওভাররাইট সুরক্ষিত রিটার্ন স্টেটের সাথে অমিল হলে একটি কন্ট্রোল-প্রোটেকশন এক্সেপশন তৈরি করতে পারে। একটি ডিবাগার বা রানটাইমকে এটিকে একটি সাধারণ লেখার যোগ্য স্ট্যাক হিসাবে বিবেচনা করার পরিবর্তে শ্যাডো-স্ট্যাক পরিবেশ বুঝতে হবে।

সাপোর্ট এবং সক্ষমতা কীভাবে পরীক্ষা করবেন

CPUID.07H.00H:ECX বিট 7 শ্যাডো-স্ট্যাক সক্ষমতা এনিউমারেট করে। সক্ষমতা নিশ্চিত করতে OS-এর নথিভুক্ত প্রতি-প্রসেস বা প্রতি-থ্রেড স্ট্যাটাস ইন্টারফেস ব্যবহার করুন। একটি ব্যাখ্যাতীত ক্র্যাশ সুরক্ষা নীতি পরিবর্তনের আগে সমর্থিত সফটওয়্যার আপডেট এবং সামঞ্জস্যতা পরীক্ষা করার দাবি রাখে।

সক্ষমতা, সক্রিয়করণ এবং প্রয়োগ আলাদাভাবে পরীক্ষা করা আবশ্যক। একটি প্রসেসর একটি সুরক্ষাকে সমর্থন করতে পারে যখন OS, অ্যাপ্লিকেশন বা ভার্চুয়াল-মেশিন নীতি এটি সক্রিয় করে না। একটি ডাটাবেস সমর্থন ক্ষেত্র একটি চলমান সিস্টেমের প্রমাণীকরণ নয়।

এই বৈশিষ্ট্যটি যা নিশ্চিত করে না

শ্যাডো স্ট্যাক IBT সমর্থন প্রতিষ্ঠা করে না, সমস্ত অ্যাপ্লিকেশন ডেটা রক্ষা করে না বা প্রতিটি কন্ট্রোল-ফ্লো আক্রমণ নির্মূল করে না। একটি CPU লেবেল প্রমাণ করে না যে প্রতিটি এক্সিকিউটেবল এবং লোড করা লাইব্রেরি OS-এর সামঞ্জস্য নীতির অধীনে আবৃত।

বাস্তবে সামঞ্জস্য এবং কর্মক্ষমতা

OS, ফার্মওয়্যার এবং প্রভাবিত রানটাইম আপ টু ডেট রাখুন। যদি কোনো সুরক্ষা একটি সামঞ্জস্যের সমস্যা প্রকাশ করে, তবে প্রথমে বিক্রেতার ডায়াগনস্টিকস এবং সমর্থিত আপডেটগুলি ব্যবহার করুন। একটি বিস্তৃত সুরক্ষা টগল সম্পর্কহীন অ্যাপ্লিকেশনগুলিকে প্রভাবিত করতে পারে এবং একটি সুস্পষ্ট স্থাপনা এবং পুনরুদ্ধার নীতি অনুসরণ করা উচিত।

একটি ব্যবহারিক যাচাইকরণ চেকলিস্ট

  1. সংশ্লিষ্ট সুনির্দিষ্ট প্রসেসর বা প্ল্যাটফর্ম মডেল এবং অ্যাপ্লিকেশন, OS ও রানটাইম সংস্করণগুলি রেকর্ড করুন। প্রকৃত ত্রুটি বা প্রয়োজনীয়তার সঠিক শব্দচয়ন সংরক্ষণ করুন।
  2. সেই নির্দিষ্ট মডেলের জন্য প্রস্তুতকারকের রেফারেন্স পরীক্ষা করুন, তারপর প্রোগ্রামটি যে পরিবেশে চলে সেখানে কার্যকর সক্ষমতা এবং সক্রিয় অবস্থা পর্যবেক্ষণ করুন।
  3. নির্বাচিত বাইনারি বা ব্যাকএন্ডের প্রতিটি প্রয়োজনীয়তা তুলনা করুন। একই নামের কোনো বৈশিষ্ট্য, উপনাম বা বিস্তৃত প্রযুক্তির লেবেলই যথেষ্ট নয়।
  4. অ্যাপ্লিকেশনটি কাঙ্ক্ষিত বাস্তবায়ন নির্বাচন করেছে কিনা তা নিশ্চিত করুন। প্রয়োজনীয়তা পূরণ না হলে এর নথিভুক্ত ডায়াগনস্টিকস এবং একটি সমর্থিত ফলব্যাক ব্যবহার করুন।
  5. একবারে একটি সমর্থিত পরিবর্তন করুন এবং একই কাজের চাপ পুনরাবৃত্তি করুন। মূল কনফিগারেশন এবং পুনরুদ্ধারের পথ উপলব্ধ রাখুন।

যদি বৈশিষ্ট্যটি তালিকাভুক্ত থাকে কিন্তু সফটওয়্যার এটি ব্যবহার করতে না পারে

নির্দিষ্ট ব্যর্থ উপাদানটি দিয়ে শুরু করুন। একটি হার্ডওয়্যার ডাটাবেস সংরক্ষিত সক্ষমতা বর্ণনা করে; অপারেটিং সিস্টেম বা হাইপারভাইজর একটি ভিন্ন কার্যকর পরিবেশ প্রকাশ করতে পারে। একটি অবৈধ-নির্দেশনা (illegal-instruction) ত্রুটির ক্ষেত্রেও প্রকৃত ত্রুটিপূর্ণ নির্দেশনা এবং বাইনারি বিল্ড তদন্ত করা প্রয়োজন, কারণ ডেটা ক্ষতি বা সম্পর্কহীন কোনো অসমর্থিত নির্দেশনাও একই রকম লক্ষণ তৈরি করতে পারে।

নির্দিষ্ট প্ল্যাটফর্মের জন্য সমর্থিত অ্যাপ্লিকেশন, ড্রাইভার বা রানটাইম সংস্করণ ইনস্টল করুন এবং প্রয়োজনে ভেন্ডরের নথিভুক্ত বেসলাইন বা ফলব্যাক বিল্ড ব্যবহার করুন। একটি সফটওয়্যার আপডেট এমন কোনো নির্দেশনা তৈরি করতে পারে না যা প্রসেসরে নেই। ফার্মওয়্যার এবং নিরাপত্তা-নীতি পরিবর্তনগুলি একটি সাধারণ অপ্টিমাইজেশন রেসিপির পরিবর্তে সিস্টেম প্রস্তুতকারকের পদ্ধতি এবং একটি পুনরুদ্ধার পরিকল্পনা অনুসরণ করা উচিত।

এই ব্যাখ্যার উৎস এবং পরিধি

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux কার্নেল: Control-flow Enforcement Technology শ্যাডো স্ট্যাক

এই রেফারেন্সগুলি আর্কিটেকচারাল আচরণ এবং সফটওয়্যার প্রয়োজনীয়তা স্থাপন করে। এগুলি একটি লিঙ্কযুক্ত হার্ডওয়্যার মডেল পৃষ্ঠার প্রতিটি বৈশিষ্ট্যের মান স্বাধীনভাবে যাচাই করে না। মডেল সাপোর্টের জন্য, সেই পৃষ্ঠার প্রস্তুতকারকের প্রমাণ ব্যবহার করুন এবং কার্যকর সিস্টেম কনফিগারেশন পরীক্ষা করুন। এই নিবন্ধটি কোনো বেঞ্চমার্ক, সার্টিফিকেশন বা স্বাধীন পর্যালোচনার তারিখ সরবরাহ করে না।

উৎস এবং যাচাইকরণ

সম্পাদকীয় মালিকানা: Feex। কোনো স্বাধীন পর্যালোচনার তারিখ রেকর্ড করা নেই। আমরা কীভাবে গবেষণা করি.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · ভলিউম 1 এবং 2 নামযুক্ত নির্দেশিকা পরিবার এবং CPUID বর্ণনা করে; ভলিউম 3 স্টেট, পেজিং, VMX এবং সুরক্ষা নিয়ন্ত্রণ বর্ণনা করে। আর্কিটেকচার ডকুমেন্টেশন কোনো নির্দিষ্ট মডেলের জন্য সাপোর্ট নিশ্চিত করে না।
  • Linux কার্নেল: Control-flow Enforcement Technology শ্যাডো স্ট্যাক · হার্ডওয়্যার সমর্থন, বাইনারি মার্কার, লোডার সক্ষমকরণ এবং সক্রিয় প্রতি-থ্রেড সুরক্ষাকে পৃথক করে। IBT এবং শ্যাডো স্ট্যাককে পৃথক সুবিধা হিসাবে বর্ণনা করে।

এই নিবন্ধটি কি দরকারী ছিল?

একটি হ্যাঁ বা না-ই যথেষ্ট। আপনি চাইলে একটি কারণ বেছে নিন, বা একটি ছোট মন্তব্য যোগ করুন।

এই নিবন্ধটি কি দরকারী ছিল?