کنترل دسترسی – آیا یک نقطه مرجع مستقیم ناامن مستقیم به یک فایل ساده یا صفحه می تواند؟

تعريف مرجع ابرداده مستقيم ناامن (IDOR) از OWASP (تاکيد معدن)

اشاره مستقيم به ايمني مستقيم ناامن هنگامي رخ مي دهد که برنامه فراهم شود
  دسترسی مستقیم به اشیاء بر اساس ورودی کاربر ارائه شده. به عنوان یک نتیجه از
  این مهاجمان آسیب پذیر می توانند اجازه و دسترسی را از بین ببرند
  منابع در سیستم به طور مستقیم، به عنوان مثال سوابق پایگاه داده و یا
  فایل ها

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

درک من از مورد کلی این است که اگر شما در برنامه خود که در نظر گرفته شده است حفاظت شده است و شما می توانید به طور مستقیم توسط دسترسی به اشاره به آن را در URL از شما به عنوان مشکل * .

به معنای واقعی کلمه تمام نمونه هایی از IDOR من دیده ام، همیشه از شمارش در URL (به عنوان در پاراگراف دوم از من نقل قول): یکی از دسترسی به http://example.com؟id=10 (correlicty) است، اما با دستکاری id ، او دسترسی به http: // example.com؟id=1033 که او نباید مجبور باشد.

برای من این تنها یک نمونه خاص از این آسیب پذیری است. من هم فکر می کنم (و در اینجا سؤال من است) آدرس هایی مانند

 http://example.com/menu1/menu2/topsecret/file.pdf

یا

 http://example.com/menu1/menu2/topsecret/

نیز مسائل مربوط به نکات مستقیم اشیاء ناامن (هنگام دسترسی غیرمنتظره) هستند.

آیا در فهم من درست است؟


* چرا این فقط یک "هیچ ACL" نیست، پس از آن؟ (به عنوان مثال A10 "کنترل دسترسی شکسته") از آنجا که ممکن است این صفحه هنگامی محافظت شود که شما سعی در دسترسی به آن "راه طبیعی" (به عنوان مثال از طریق منوهای که برای شما قابل مشاهده است فقط زمانی که شما دارای حقوق مناسب است)

کنسول جدید سازگار با Xbox قابلیت دسترسی به بازی را به سطح جدیدی می بخشد – Geek Review

امروز، مایکروسافت یک نوع کنترل کننده بازی جدید را به نام Controller Adaptive Xbox نامگذاری کرد که دارای 19 درگاه پویا برای اتصال افزونه های دسترسی است.

کنترل کننده جدید که بعد از آن 100 دلار هزینه خواهد شد سال، از زمین طراحی شده است تا نیازهای بازیکنان را که به راحتی از کنترل کننده استاندارد استفاده نمی کنند، برآورده کند. بالای دستگاه دارای دو صفحه لمسی بزرگ، یک D-pad و چند دکمه پایه است. ستاره واقعی این نمایش، در عوض، در پشت است.

در اینجا شما یک آرشیو از 19 جک 3.5mm پیدا خواهید کرد، طراحی شده برای ورودی از لوازم جانبی مختلف مانند دمیدن لوله ها، پدال های پا و دکمه های مخصوص هر کجا که به آنها نیاز دارید، نصب شده است. Ars Technica به عنوان نمونه یک تنظیم سفارشی را نشان داد که از پدال پایه و دو دکمه روی هر دو طرف زانو برای کنترل و هدایت یک ماشین در Rocket League نشان داده شد.

تنظیمات بسیار سفارشی طرح های سفارشی برای نیازهای خاص مشترک هستند اما معمولا بسیار گران هستند. مایکروسافت امیدوار است که این مرکز 100 دلاری هزینه های این نوع سکوها را به ارمغان بیاورد و بازی ها را برای افراد بیشتری قابل دسترسی باشد.

منبع: Ars Technica

مقاله ممکن است حاوی لینک های وابسته باشد که به پشتیبانی از Geek Review کمک می کند. برای اطلاعات بیشتر به صفحه اخلاق ما مراجعه کنید.

احراز هویت – حفاظت از کاربر از دسترسی غیر مجاز

بنابراین ما در حال برنامه ریزی برای اضافه کردن یک ویژگی به برنامه ما است که شبیه آنچه گوگل انجام می دهد، اما کمی سخت تر:

  1. شما لیستی از جلسات که به عامل کاربر و آدرس IP (؟) ( گوگل یک مکان را نشان می دهد)
  2. 2FA مورد نیاز است تنها زمانی که شما سعی می کنید از یک دستگاه که برای 30 روز گذشته تایید نشده است وارد شوید.
  3. اگر تلاش ورود به سیستم از یک جفت کاربر / agent / IP جدید ساخته شود ، ما می خواهیم یک پیوند را با یک نشانه برای آدرس ایمیل خود برای تأیید ورود به سیستم ارسال کنیم.
  4. هنگامی که روی پیوند کلیک می کنند، اگر 2FA فعال باشد، خواهیم از 2FA برای تایید ورود به سیستم

چند چیز ما در مورد:

  1. با ایجاد کاربر اقدام به تایید ورود به سیستم، به جای گوگل که در آن فقط به شما می گوید از ورود … ما امیدواریم برای جلوگیری از تعداد بیشتری از ورود به سیستم های غیر مجاز. (در حال حاضر ما هر بار که کاربر وارد سیستم می شود، هر بار که وارد سیستم می شود، ما به آنها عامل کاربر و منطقه می گوئیم.)
  2. با درخواست از 2FA برای استفاده از لینک، ما امیدواریم که بیشتر از ورود نامحدود محافظت کنیم (در حالی که می توانید از طریق ایمیل دسترسی، ما قبل از ورود به صفحه برای ورود به گذرواژه جدید بعد از کلیک روی پیوند بازنشانی، باید قبل از ورود به سیستم 2FA را مجددا اتخاذ کنیم.)
  3. بزرگترین نگرانی ما این است که ما به طور تصادفی اشتباه نمیکنیم و برخی از کاربران باید پرش کنند از طریق این حلقه یک میلیارد بار در همان جلسه، زیرا حامل تلفن همراه خود را به طور مداوم IP خود را تغییر دهید … و غیره

بنابراین من متوجه است که محدودیت IP بر اساس احتمالا خیلی خوب نیست … بنابراین شاید نگاه کردن منطقه از طریق IP و فقط سفید لیست منطقه؟ اما پس از آن یک هکر فقط می تواند به راحتی عامل کاربر را فریب دهد و از یک پروکسی استفاده کند.

توجه: من درک می کنم این ما توقف همه برای امنیت نیست، اما ما می خواهیم این لایه را اضافه کنیم تا موارد دسترسی غیر مجاز را کاهش دهیم.

سوال من: چه مدل کلی برای محدودیت جلسه / ورود به یک توازن خوب بین "جلوگیری از هکرها / jerks جدید از ورود به سیستم به عنوان شما زمانی که رمز عبور خود را حدس زد / فیشش آن" و "کاربر مزاحم همیشه با لینک های پست الکترونیکی "؟

کنترل دسترسی – فایل های chmodding با محیط امنیتی SELinux / ACL

خوب، بنابراین من یک دسته از bash و پایتون اسکریپت که من نوشته شده است، همه فقط در یک پوشه بزرگ chilling کردن. خوب، در واقع زیر شاخه های جداگانه ای وجود دارد، اما همه آنها در این پوشه اصلی توزیع شده اند.
بنابراین برای بحث، ساختار پوشه به نظر می رسد چیزی شبیه به این:

 پیدا کنید. -type d 
.
./scripts/sh
./scripts/sh/a
./scripts/sh/b
./scripts/sh/c
./scripts/py
./scripts/py/x
./scripts/py/y
./scripts/py/z

هرگز، من سعی کردم کل مجموعه اسکریپت های اجرایی را تمام کنم، همه در یک با افت پیدا کردم و chmod :

 پیدا کردم. -type f -exec chmod + x {} + 

معمولا، این همه چیزی است که من باید انجام دهم، اما متوجه شدم که + x کمی هنوز ناپدید شده است. تمام مجوزهای آنها همچنان به نظر می رسد:

 ls -l ./scripts/py/z
-rw-rw----. 1 ریشه 1015 801 7 مه 12:00 script_name.py 

ظاهرا. . شخصیت (پس از پرچم مجوز)، نوعی از زمینه امنیتی SELinux، با یک لیست کنترل دسترسی یا مشابه آن را نشان می دهد. من با getfacl را بررسی کردم، واقعا نمی دانستم چی به چی بپوشم اول یک دایرکتوری است، دوم یکی از فایل های اسکریپت است:

 getfacl -acp ./scripts/py/z &&
getfacl -acp ./scripts/py/z/*
user::rwx
گروه :: rwx
دیگر :: - x

کاربر :: rw-
گروه :: rw-
دیگر :: --- 

من با گزینه های زیر setfacl زیر را امتحان کردم، فایده ای نداشت:

 setfacl --help | grep 'remove' 
 -x، --remove = acl حذف نوشته ها از ACL (ها) فایل (ها)
  -X، --remove-file = فایل خواندن ACL برای حذف از فایل
  -b، --remove-all حذف تمام ورودی های ACL پیشرفته
  -k، --remove-default حذف ACL پیش فرض 

بنابراین، در وضعیتی که root مجوز کاربر احترام گذاشته شده است، و sudo استفاده نیست بپرسید؛ چگونه می توانم کنترل دسترسی فایل های شخصی خود را به دست آورم؟

تهدیدات امنیتی و کاهش تهدیدها در هنگام دسترسی به `/ root` از طریق هر مرورگر؟

مسائل این است که هر کسی در سیستم شما قادر به سوءاستفاده از ریشه است. انجام هر یک از این موارد یک ایده بسیار بد است. برای مشخص شدن:

  • اصلاح / ریشه به حالت 0777 یعنی تمام کاربران قادر به خواندن، نوشتن، وارد کردن و اجرای هر فایل در آن پوشه خواهند بود. از آنجایی که بسیاری از فرآیندهای حساس و منحصر به فرد از آن به عنوان خانه خود استفاده می کنند، ساختن آن به صورت جهانی می تواند به هر فرایند غیر مجاز اجازه دهد تا با خانه ریشه دست و پنجه نرم کند. برای مثال، کد مخرب در /root/.profile با هر بار که کاربر ریشه وارد می شود، با مجوزهای بالا اجرا می شود. راه های زیادی برای بهره برداری از شما در این سناریو وجود دارد.

  • مرورگر خود را به عنوان ریشه همچنین بسیار خطرناک است . به این معنی است که یک مرورگر سوء استفاده شده به عنوان کاربر معمولی به عنوان ریشه اجرا خواهد شد. این یک تهدید فرضی نیست. کسی که در واقع مرورگر خود را به عنوان ریشه اجرا کرد و با ransomware آلوده شد! علاوه بر این، یک مرورگر برای اجرا با یک زمینه دلخواه طراحی نشده است و از هیچ اقدام امنیتی اضافی برای جلوگیری از استفاده غیر مجاز از کاربر محلی از آن استفاده نمی کند. به عنوان مثال، اگر مرورگر خود را در محیط کاربر معمولی خود اجرا می کنید، اما به عنوان ریشه، یک فایل پیکربندی اصلاح شده یا پسوند مرورگر (در خانه کاربر معمولی خود) می توانید از آن استفاده کنید.

شما می توانید / root mode 0755 است که می تواند آن را فقط توسط ریشه قابل خواندن باشد، اما به هر کس دیگری اجازه می دهد آن را بخواند (از جمله مرورگر شما). به طور معمول، این اطلاعات حاوی اطلاعات حساس نیست، اما هنوز هم یک ایده عالی برای اجازه دادن به هر کسی در داخل آن نیست. اگر شما فقط می خواهید قادر به فهرست محتویات دایرکتوری (به جای خواندن فایل های فردی)، شما می توانید با خیال راحت از حالت 0711 ریشه خانه دایرکتوری ایجاد کنید. این به هر کاربر اجازه می دهد تا در داخل پنهان شود و نام فایل ها را به طور مستقیم ببینید تحت آن، اما فایل های واقعی را نمی خواند. این در واقع به طور پیش فرض در بسیاری از توزیع های لینوکس است.