Weak File/Folder Permission

از Secure Coding

آسیب پذیری Weak File/Folder Permission per User Role در اپلیکیشن های دسکتاپ به معنای دسترسی غیرمجاز کاربران به فایل ها و پوشه ها در سیستم است. این آسیب پذیری معمولا به دلیل نادرست تنظیم کردن سطح دسترسی فایل ها و پوشه ها توسط مدیران سیستم رخ می دهد. برای مثال، اگر یک کاربر معمولی بتواند به صورت ناقص به سطح دسترسی فایل های مدیریتی دسترسی پیدا کند، می تواند اطلاعات حساس را بدست آورد یا تغییرات ناخواسته ایجاد کند.

نمونه کد آسیب پذیر در زبان C مربوط به این آسیب پذیری به شرح زیر است:



#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
    char command[100];
    int uid;

    uid = getuid();
    if(uid == 0)
    {
        printf("You are a superuser\n");
        printf("Enter the command you want to execute: ");
        fgets(command, 100, stdin);
        system(command);
    }
    else
    {
        printf("You are not a superuser\n");
    }

    return 0;
}


در این نمونه کد، کاربر معمولی قادر به اجرای دستورات سیستمی است. اگر یک حمله کننده بتواند به صورت ناقص به سطح دسترسی فایل اجرایی این برنامه دسترسی پیدا کند، می تواند دستورات خود را در سیستم اجرا کند و در نتیجه باعث تغییرات ناخواسته در سیستم شود یا به اطلاعات حساس دسترسی پیدا کند.

برای رفع این آسیب پذیری، باید سطح دسترسی هر کاربر به فایل ها و پوشه ها به طور کامل بررسی شود و دسترسی های غیرمجاز حذف شوند. همچنین، باید محدودیت هایی در مورد دسترسی کاربران به فایل ها و پوشه ها بر اساس نقش آنها در سیستم تعیین شود.