সিপিইউ প্রটেকশন রিংস কাঠামোগত স্তর যা একটি কম্পিউটারে ইনস্টল করা অ্যাপ্লিকেশন এবং মূল প্রক্রিয়াগুলোর মধ্যে ইন্টারঅ্যাকশন সীমাবদ্ধ করে। এগুলি সাধারণত বাহারমOST স্তর থেকে, যা রিং ৩, থেকে সবচেয়ে ভেতরের স্তর, যা রিং ০, যাকernel বা কার্নেল বলা হয়।
রিং ০ সকল সিস্টেম প্রক্রিয়ার কেন্দ্রে অবস্থিত। যে কেউ কার্নেল নিয়ন্ত্রণ করতে পারে, তিনি মূলত কম্পিউটারের সকল দিক নিয়ন্ত্রণ করতে পারেন। এই কোরের অপব্যবহার রোধ করার জন্য, কম্পিউটার সিস্টেম আর্কিটেক্ট এই জোনের সাথে ইন্টারঅ্যাকশন সীমাবদ্ধ করে। ফলে, কম্পিউটার ব্যবহারকারী যে অধিকাংশ প্রক্রিয়াগুলো অ্যাক্সেস করতে পারে সেগুলো রিং ৩-এ সীমাবদ্ধ। সুতরাং প্রিভিলেজ রিংস কীভাবে কাজ করে?
প্রিভিলেজ রিংস কীভাবে একে অপরের সাথে ইন্টারঅ্যাক্ট করে
রিং ০ প্রক্রিয়াগুলো সুপারভাইজর মোডে কাজ করে এবং তাই কোনো ইউজার ইনপুটের প্রয়োজন হয় না। এদের সাথে হস্তক্ষেপ করলে বড় সিস্টেম এরর এবং সমাধান নযোগ্য নিরাপত্তা সমস্যা হতে পারে। ইহঁতে জন্যই এগুলো ইচ্ছাকৃতভাবে কম্পিউটার ব্যবহারকারীদের জন্য অপ্রাপ্য করার জন্য ডিজাইন করা হয়েছে।
উইন্ডোজকে উদাহরণ হিসেবে নিই: রিং ৩ প্রক্রিয়াগুলোর রিং ০-এ অ্যাক্সেস কিছু ডেটা ইনস্ট্রাকশন পর্যন্ত সীমাবদ্ধ। কার্নেল অ্যাক্সেস করতে, রিং ৩-এ থাকা অ্যাপ্লিকেশনগুলোর একটি সংযোগ করতে হয় যা ভার্চুয়ালাইজড মেমরি হ্যান্ডেল করে। এমনকি তবুও, খুব কম অ্যাপ্লিকেশনের ইজাজত দেওয়া হয় এটি করতে।
এইগুলোর মধ্যে রয়েছে ব্রাউজার যারা নেটওয়ার্ক অ্যাক্সেস প্রয়োজন এবং ক্যামেরা যাদের নেটওয়ার্ক সংযোগ করতে হয়। এছাড়া, এই ডেটা কলগুলি ইনসুলেটেড থাকে যাতে এরা ভাইটাল সিস্টেম প্রক্রিয়াগুলোর সাথে সরাসরি হস্তক্ষেপ করতে না পারে।
কিছু পুরনো উইন্ডোজ সংস্করণ (যেমন উইন্ডোজ ৯৫/৯৮) প্রিভিলেজ রিংসের মধ্যে কম শিল্ডিং داشت। এটি তাদের অনস্থির এবং এরর-প্রোন হওয়ার মূল কারণগুলির মধ্যে একটি। আধুনিক সিস্টেমে, কার্নেল মেমরি নিরাপত্তা বিশেষায়িত হার্ডওয়্যার চিপস দ্বারা củng cố করা হয়।
বর্তমান উইন্ডোজ কার্নেল মেমরি প্রোটেকশন্স অনধিকার প্রবেশের বিরুদ্ধে
মাইক্রোসফট উইন্ডোজ ১০ সংস্করণ ১৮০৩ থেকে কার্নেল মেমরিতে ভয়াবহ প্রোটেকশন চালু করেছিল।
সবচেয়ে উল্লেখযোগ্য ছিল কার্নেল ডিএমএ প্রোটেকশন; এই সমग्र ফিচারটি পিসি গুলোকে ডায়রেক্ট মেমরি অ্যাক্সেস (DMA) আক্রমণ থেকে রক্ষা করার জন্য ডিজাইন করা হয়েছিল, বিশেষ করে PCI হট প্লাগের মাধ্যমে বাস্তবায়িত। প্রোটেকশন কভারেজ বিল্ড ১৯০৩-এ প্রসারিত হয়েছিল ইন্টারনাল PCIe পোর্টস যেমন M.2 স্লটগুলো কভার করতে।
ডিএমএ প্রোটেকশন প্রক্রিয়ার বARY্তা
উইন্ডোজ ইনপুট/আউটপুট মেমরি ম্যানেজমেন্ট ইউনিট (IOMMU) প্রোটোকল ব্যবহার করে অননুমোদিত পেরিফেরালগুলোর DMA অপারেশন করা থেকে ব্লক করে। তবে, এর অপবাদ রয়েছে যদি তাদের ড্রাইভার DMA রিম্যাপিং ব্যবহার করে মেমরি আইসোলেশন সাপোর্ট করে।
そう言うと, অতিরিক্ত পারমিশন এখনও প্রয়োজন। সাধারণত, ওএস অ্যাডমিনিস্ট্রেটরকে DMA অথরাইজেশন প্রদানের জন্য প্রম্পট করা হয়। আরও প্রক্রিয়াগুলো মডিফাই এবং অটোমেট করতে, IT স্পেশালিস্টরা DmaGuard MDM পলিসি পরিবর্তন করতে পারেন ইনকম্প্যাটিবল DMA রিম্যাপিং ড্রাইভার কীভাবে হ্যান্ডেল হবে তা নির্ধারণ করতে।
আপনার সিস্টেমে কার্নেল DMA প্রোটেকশন আছে কিনা চেক করতে, সিকিউরিটি সেন্টার ব্যবহার করুন এবং মেমরি অ্যাক্সেস প্রোটেকশন-এর অধীনে কোর আইসোলেশন ডিটেইলসে সেটিংস দেখুন। মনে রাখবেন যে শুধু উইন্ডোজ ১০ সংস্করণ ১৮০৩ এর পরে রিলিজ হওয়া অপারেটিং সিস্টেমগুলোর এই ফিচার আছে।
কেন সিপিইউরা কদাচিৎ রিং ১ এবং ২ প্রিভিলেজের উপর নির্ভর করে
রিং ১ এবং ২ মূলত ড্রাইভার এবং গেস্ট অপারেটিং সিস্টেম দ্বারা ব্যবহৃত হয়। এই প্রিভিলেজ লেভেলের অধিকাংশ কোডও সেমি-রিপারপজ করা হয়েছে। তাই অধিকাংশ সমসাময়িক উইন্ডোজ প্রোগ্রাম ऐसा আচরণ করে যেন সিস্টেমে শুধু দুটি লেভেল আছে—কার্নেল এবং ইউজার লেভেল।
そう言うと, ভার্চুয়ালাইজেশন অ্যাপ্লিকেশন যেন VirtualBox এবং Virtual Machine রিং ১ ব্যবহার করে অপারেট করে।
প্রিভিলেজ নিয়ে শেষ কথা
একাধিক প্রিভিলেজ রিংস ডিজাইন x86 সিস্টেম আর্কিটেকচারের কারণে এসেছে। তবে, সবসময় সব রিং প্রিভিলেজ লেভেল ব্যবহার করা অসুবিধাজনক। এটি ল্যাটেন্সি এবং কম্প্যাটিবিলিটি ইস্যু বাড়াবে।