Security

روش های آنالیز امنیتی STRIDE چیست؟ DREAD چیست؟

مدل سازی تهدید برنامه با استفاده از DREAD و STRIDE یک رویکرد برای تجزیه و تحلیل امنیت برنامه است. این یک رویکرد ساختاری است که شما را قادر می سازد خطرات امنیتی مرتبط با برنامه را شناسایی، طبقه بندی، رتبه بندی، مقایسه و اولویت بندی کنید.

می بایست مدل سازی تهدید برنامه را از ارزیابی ریسک جدا در نظر بگیریم. اگرچه با هم مشابه اند، اما کاربرد مدل سازی تهدید برنامه ارزش بیشتری نسبت به روش محاسبه شده دارد. مدل سازی تهدید در چرخه توسعه نرم افزار مزایای بسیاری در امنیت کل پروژه را دارا می باشد. مهمتر از همه این ها، مدل سازی تهدید در انجام ارزیابی های امنیتی باعث می شود تا یک مرور کلی و جامع از برنامه فراهم شود.

مدل سازی تهدید

این مقاله به طور خاص بروی دو متودولوژی DREAD و STRIDE متمرکز شده است.

روش

برای انجام مدل سازی تهدید برنامه های کاربردی، از چارچوب OWASP برای شناسایی، روش STRIDE برای طبقه بندی و روش DREAD برای ارزیابی، مقایسه و اولویت بندی خطرات، براساس شدت تهدید استفاده می شود. مراحل مدل سازی تهدید برنامه کاربردی به صورت این صورت است:

برنامه را تجزیه کنید

اولین قدم از مدل سازی تهدید، درک چگونگی تعامل با موجودیت های داخلی و خارجی است. شناسایی نقاط ورود، مرزهای دسترسی، کنترل دسترسی و فن آوری مورد استفاده از اهمیت ویژه ای برخوردار است. این مرحله در روش آزمایش OWASP به مرحله جمع آوری اطلاعات گفته می شود که در آن حداکثر اطلاعات در مورد هدف گردآوری می شود.

تشخیص

پیاده سازی چارچوب آزمایش OWASP منجر به شناسایی آسیب پذیری ها در برنامه می شود که معمولاً به عنوان آزمایش نفوذ یا Penetration شناخته می شود. در آزمایش نفوذ، مهاجم از ابزارها و تکنیک های متفاوتی برای یافتن حداکثر آسیب پذیری در برنامه استفاده می شود.

برای کسب اطلاع و آشنایی با سیستم های تشخیص نفوذ به مقاله لینک داده شده مراجعه نمایید.

طبقه بندی تهدیدات

پس از شناسایی آسیب پذیری ها، از روش STRIDE که توسط مایکروسافت معرفی شده است برای طبقه بندی آن ها استفاده می شود.

STRIDE مخفف کلمات زیر است:

  • کلاهبرداری ( Spoofing )
  • مداخله ( Tampering )
  • انکار ( Repudiation )
  • افشای اطلاعات ( Information Disclosure )
  • حملات کاذب ( Denial of Service )
  • ارتقاء دسترسی ( Elevation of Privilege )

موارد STRIDE در ادامه توضیح داده می شوند:

Spoofing: نفوذگر سعی می کند به جای شخصی دیگر قرار گیرد.

Tampering: نفوذگر داده هایی که بین برنامه و کاربر اصلی جابجا می شود را تغییر می دهد.

Repudiation: نفوذگر عملی را در برنامه انجام می دهد که قابل پیگیری نیست.

Information Disclosure: نفوذگر داده های خصوصی را بدست می آورد که در برنامه منتقل یا ذخیره می شود.

Denial of Service: نفوذگر می تواند کاربران را از دسترسی به برنامه یا خدمات منع کند.

Elevation of Privilege: نفوذگر امکان دسترسی به ابزار غیر مجاز را بدست می آورد.

ارزیابی، مقایسه و اولویت بندی تهدیدات

ارزیابی، مقایسه و اولویت بندی تهدیدات

از روش DREAD برای ارزیابی، مقایسه و اولویت بندی میزان شدت خطر هر تهدید، که با استفاده از STRIDE طبقه بندی شده، استفاده می شود. فرمول زیر برای محاسبه آن پیشنهاد شده است:

DREAD Risk = (Damage + Reproduciblity + Exploitability + Affected Users + Discoverability) / 5

خطر DREAD =(خسارت + تولید مجدد + بهره برداری + کاربران متاثر+ کشف) / 5

براساس مقیاس زیر، محاسبات همیشه عددی را بین 0 تا 10 تولید می کند. هر چه عدد بالاتر باشد، شدت خطر جدی تری را نشان می دهد. در زیر یک روش ریاضی سفارشی برای پیاده سازی روش DREAD بیان شده است:

Damage Potential یا پتانسیل خسارت

اگر سوءاستفاده از تهدید رخ دهد، چه میزان خسارت وارد می شود؟

  • 0= هیچی
  • 5= افشای اطلاعاتی که می تواند در ترکیب با سایر آسیب پذیری ها مورد استفاده قرار گیرد
  • 8= داده های کاربری حساس فردی یا کارفرمایی به خطر می افتد
  • 9= داده های غیر حساس اجرایی به خطر می افتد
  • 10= نابودی کامل سیستم یا داده ها
  • 10= در دسترس نبودن برنامه

Reproducible یا قابلیت تولید مجدد

بازتولید تهدید بهره برداری چقدر آسان است؟

  • 0= بسیار سخت یا غیرممکن است، حتی برای سرپرستان برنامه
  • 5= مراحل پیچیده ای برای کاربر مجاز لازم است
  • 7.5= مراحل آسان برای کاربر معتبر
  • 10= بدون تأیید اعتبار، فقط یک مرورگر وب و نوار آدرس کافی است

Exploit-ability یا قابلیت بهره برداری

برای بهره برداری از این تهدید چه مواردی ضروری است؟

  • 2.5= دانش شبکه و برنامه نویسی پیشرفته، با ابزارهای حمله سفارشی یا پیشرفته
  • 5= آسیب پذیری همراه با ابزار در دسترس عموم قرار می گیرد
  • 9= یک ابزار پروکسی برنامه وب
  • 10= فقط یک مرورگر وب

Affected Users یا کاربران متأثر

چه تعداد کاربر تحت تأثیر قرار می گیرند؟

  • 0= هیچی
  • 2.5= فرد یا کارفرمایی که قبلاً به خطر افتاده است
  • 6= برخی کاربران با امتیازات فردی یا کارفرمایی اما نه همه آن ها
  • 8= کاربران اجرایی
  • 10= همه کاربران

Discoverability یا توانایی کشف

کشف این تهدید چقدر آسان است؟

  • 0= نیاز به کد منبع یا دسترسی اجرایی بسیار سخت است
  • 5= با نظارت و دستکاری در درخواست های HTTP می تواند آن را تشخیص دهد
  • 8= جزئیات خرابی هایی مانند این در حال حاضر در حوزه عمومی قرار دارد و با استفاده از موتور جستجو به راحتی می توان آنها را کشف کرد
  • 10= اطلاعات در نوار آدرس مرورگر وب یا به شکلی دیگر قابل مشاهده است

روش DREAD می تواند برای تأمین نیازهای برنامه شما و با توجه به خواست شما تنظیم شود. تصمیم گیری ها باید قبل از شروع کار انجام شوند و در حین کار تغییر پیدا نکنند.

منتشر شده توسط
f.behjati_server