اصل کمینه‌سازی مجوز

اصل کمینه‌سازی مجوز (به انگلیسی: Principle of least privilege) یا اصل کمینه‌سازی حق‌ویژه[۱] با کوته‌نوشت PoLP در امنیت اطلاعات، علوم رایانه و رشته‌های دیگر، این الزام را برقرار می‌کند که در یک لایه انتزاع خاص از محیط رایانش، هر پودمان[۲] (مثلا یک پردازه، کاربر، یا یک برنامه بر اساس فاعل آن) باید «فقط» به اطلاعات و منابعی دسترسی داشته باشد که برای هدف مشروع و مجاز خود به آن نیاز دارد.[۳][۴]

این اصل در ابتدا توسط جری سالتزر فرموله شد:[۵]

هر برنامه و هر کاربر مجاز سامانه، باید برای تکمیل کار خود، با کمک کمترین میزان حق‌ویژه (مجوز) لازم عمل کند.

جزییات ویرایش

این اصل به این معنی است که به هر پردازه یا حساب کاربری تنها آن مجوزهایی را بدهید که برای انجام عمل مورد نظر خود ضروری است. برای مثال، یک حساب کاربری برای تنها هدف ساخت پشتیبان (بک‌آپ) نیاز به "نصب نرم‌افزار" ندارد: از این رو تنها حقوق (مجوزهای) اجرای پشتیبان و برنامه‌کاربردی مرتبط با پشتیبان را باید داشته باشد. در اینجا هر مجوز دیگری، مثل نصب نرم‌افزار جدید، مسدود می‌شود. این اصل به کاربر یک رایانه شخصی هم اعمال می‌شود، که معمولاً کارهایش را در یک حساب کاربری نرمال انجام می‌دهد، و تنها موقعی وضعیت واقعاً اقتضا کند، یک حساب حق‌ویژه دار و محافظت شده با گذرواژه (که ابرکاربر است) را باز می‌کند.

اگر این اصل برای کاربران اعمال گردد، برای آن اصطلاحات دسترسی حداقلی کاربر، یا حساب کاربری با مجوز حداقلی (به انگلیسی: least-privileged user account) با کوته‌نوشت LUA به کار می‌رود، که به این مفهوم اشاره دارد که همه حساب‌های کاربری در همه زمان‌ها باید با کمترین حق‌ویژه ممکن اجرا شوند، همچنین باید برنامه‌های کاربردی را با کمترین حق‌ویژه ممکن راه‌اندازی کنند.

اصل کمینه‌سازی مجوز به صورت معمول به عنوان یکی از «ملاحظات طراحی» برای بالابردن محافظت از داده و عملکرد از خطا (تاب‌آوری خطا) و رفتار بدخواهانه (امنیت رایانه) شناخته می‌شود.

مزیت‌های این اصل شامل:

  • پایداری بهتر سامانه: موقعی که کد در قلمرو تغییراتی که در سامانه می‌تواند ایجاد کند، محدود شده‌است، تست‌کردن کنش‌ها و میان‌کنش‌های ممکن آن با دیگر برنامه‌های کاربردی ساده‌تر می‌شود. مثلاً در عمل، برنامه‌های کاربردی که با حقوق محدود اجرا شده‌اند، به اجرای عملیاتی که منجر به هنگ‌کردن یک ماشین می‌شوند، دسترسی ندارند، یا به این دسترسی ندارند که به صورت نامطلوب روی دیگر برنامه‌های کاربردی دیگر اجرا شده روی همان سامانه تأثیر بگذارند.
  • امنیت بهتر سامانه: موقعی که کد در کنش‌های سطح سامانه که می‌تواند انجام بدهد محدود شده‌است، آن سامانه، از آسیب‌پذیری‌های موجود در یک برنامه‌کاربردی برای بهره‌برداری از مابقی ماشین مصون می‌ماند. برای مثال، مایکروسافت بیان کرده‌است که «اگر مشتریان در حالت کاربری استاندارد اجرا شوند، در این صورت آنها محافظت بیشتری در برابر آسیب‌های سطح سامانه سهوی دارند، مثلاً از آسیب‌هایی که در اثر "حمله شکست " یا بدافزارهایی مثل روت‌کیت، جاسوس‌افزار، و ویروس‌های غیرقابل تشخیص رخ می‌دهند، بیشتر مصون می‌مانند.»[۶]
  • سادگی استقرار: به صورت کلی هر چه یک برنامه‌کاربردی به حق‌ویژه کمتری نیاز داشته باشد، آن را ساده‌تر می‌توان در یک محیط بزرگتر مستقر کرد. این موضوع از دو مزیت اول نتیجه شده‌است، برنامه‌های کاربردی که باید درایور وسیله را نصب کنند، یا نیاز به حق‌ویژه امنیتی بالایی دارند، معمولاً گام‌های اضافی دارند که در استقرارشان با آن درگیر می‌شوند. برای مثال در ویندوز یک برنامه بدون افزاره‌ران را می‌توان به صورت مستقیم و بدون نصب اجرا کرد، درحالیکه افزاره‌ران‌های جدا را به کمک «سرویس نصب‌کننده ویندوز» باید نصب کرد، تا به درایور حقوق‌ویژه بالاتری اعطا کرد.[۷]

در عمل برای حق‌ویژه کمینه صحیح، چندین تعریف رقیب وجود دارد. موقعی که پیچیدگی برنامه با نرخ نمایی افزایش می‌یابد، تعداد مشکلات بالقوه هم افزایش می‌یابد، و این باعث می‌شود تحویل یک دیدگاه پیشگویانه غیرعملی شود. مثال‌های این تعریف شامل، «مقادیر متغیرهایی که می‌تواند پردازش کند»، «آدرس‌هایی که به آن نیاز دارد»، یا «زمان دقیقی که این اشیا نیاز دارند». سامانه‌های توانمندی شیء، مثلاً امکان به‌تعویق‌انداختن اعطای یک حق‌ویژه تک-کاره را به زمان-استفاده می‌دهد. امروزه، عملیاتی‌ترین دیدگاه آن است که، حقوق‌ویژه‌ای را که به صورت دستی به صورت غیرلازم ارزیابی می‌شوند، حذف کنیم. اما در این صورت هم معمولاً مجموعه حقوق‌ویژه نتیجه شده، از حقوق‌ویژه کمینه صحیح، برای پردازه تجاوز می‌کند.

محدودیت دیگر، «دانه‌بندی کنترل» است که محیط عملیاتی روی حقوق‌ویژه برای یک پردازه منفرد دارد.[۸] در عمل به ندرت می‌توان دسترسی پردازه به حافظه، زمان پردازش، آدرس‌های وسایل I/O یا حالت‌ها را، با دقت، برای تنها مجموعه دقیقی از حقوق ویژه‌ای که یک پردازه نیاز دارد، کنترل کرد.

پانویس ویرایش

  1. «حق ویژه» [مهندسی مخابرات] هم‌ارزِ «privilege»؛ منبع: گروه واژه‌گزینی. جواد میرشکاری، ویراستار. دفتر پنجم. فرهنگ واژه‌های مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۷۸-۹۶۴-۷۵۳۱-۷۶-۴ (ذیل سرواژهٔ حق ویژه)
  2. «پودمان» [رایانه و فنّاوری اطلاعات] هم‌ارزِ «module»؛ منبع: گروه واژه‌گزینی. جواد میرشکاری، ویراستار. دفتر پنجم. فرهنگ واژه‌های مصوب فرهنگستان. تهران: انتشارات فرهنگستان زبان و ادب فارسی. شابک ۹۷۸-۹۶۴-۷۵۳۱-۷۶-۴ (ذیل سرواژهٔ پودمان)
  3. Saltzer & Schroeder 75
  4. Denning 76
  5. Saltzer, Jerome H. (1974). "Protection and the control of information sharing in multics". Communications of the ACM. 17 (7): 388–402. CiteSeerX 10.1.1.226.3939. doi:10.1145/361011.361067. ISSN 0001-0782.
  6. Jonathan, Clark; DABCC Inc. "Virtualization Guru Writes "User-mode is a Good Thing - Deployment to Locked-down Accounts without Security Elevation"". Archived from the original on 10 February 2013. Retrieved 15 Mar 2013.
  7. Aaron Margosis (August 2006). "Problems of Privilege: Find and Fix LUA Bugs". Microsoft.
  8. «Matt Bishop, Computer Security: Art and Science, Boston, MA: Addison-Wesley, 2003. pp. 343-344 cited Barnum & Gegick 2005». بایگانی‌شده از اصلی در ۲۰ اكتبر ۲۰۰۷. دریافت‌شده در ۲ دسامبر ۲۰۲۰. تاریخ وارد شده در |archive-date= را بررسی کنید (کمک)

منابع ویرایش

مشارکت‌کنندگان ویکی‌پدیا. «Principle of least privilege». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۱۲ آذر ۱۳۹۹.