حلقه حفاظتی
From Wikipedia, the free encyclopedia
حلقههای حفاظتی[1] (به انگلیسی: protection rings) یا دامنههای حفاظتی سلسلهمراتبی[2][3] در علوم رایانه، سازوکارهایی برای حفاظت از داده و عملکرد از خطا (با افزایش عیبتابی) و رفتارهای بدخواهانه (با ایجاد امنیت رایانهای) است. این دیدگاه از نظر قطری، برخلاف امنیت مبتنی بر توانمندی است.
سیستمعاملهای رایانهای، مراحل مختلفی از دسترسی به منابع را فراهم میکنند. یک حلقه حفاظتی یکی از دو یا بیشتر مرحله یا لایه سلسلهمراتبی از مجوزدهی (حقویژه) در معماری یک سیستم رایانهای است. این موضوع معمولاً به صورت سختافزاری، توسط بعضی از معماریهای CPU اعمال میشود، این معماریها حالتهای CPU مختلفی را در لایه سختافزار یا بهصورت میکروکد تهیه میبینند. این حلقهها به صورت سلسلهمراتبی، یعنی از مجوزدارترین (مورد اعتمادترین، که معمولاً شماره صفر دارد) تا کم مجوزترین (کماعتمادترین، معمولاً با بالاترین شماره حلقه) مرتب میشوند. در بیشتر سیستمعاملها، «حلقه ۰» مرحلهٔ با بیشترین مجوز (حقویژه) است و به صورت مستقیم با سختافزار فیزیکی مثل CPU و حافظه سروکار دارد.
دروازههای خاصی بین حلقهها تهیه دیده شدهاست، که به حلقه بیرونی اجازه میدهد تا به منابع حلقه درونی به صورت از قبل تعریف شده دسترسی یابد، و این متضاد با اجازه دادن به هر استفاده دلخواه است. دسترسی دروازهای صحیح بین حلقهها میتواند امنیت را بهبود دهد، این کار، از طریق جلوگیری برنامههای یک حلقه یا مرحله مجوزدهی از سوءاستفاده از منابعی که برای برنامههای حلقه دیگر درنظرگرفته شدهاند، انجام میشود. برای مثال، جاسوسافزاری که به صورت یک برنامهکاربری در حلقه ۳ اجرا میشود، باید از روشنکردن دوربین وب، بدون اطلاعدادن به کاربر، منع شود، زیرا دسترسی به سختافزار باید یک تابع حلقه ۱ باشد، که این حلقه به افزارهران دستگاه اختصاص دادهشدهاست. برنامههایی مثل مرورگر وب که در حلقههای سطح بالاتر اجرا میشوند، باید دسترسی به شبکه را «درخواست» بدهند، که شبکه یک منبع است که به آن شماره حلقه پایینتری اختصاص دادهشدهاست.