مدل سازی تهدید برنامه با استفاده از DREAD و STRIDE یک رویکرد برای تجزیه و تحلیل امنیت برنامه است. این یک رویکرد ساختاری است که شما را قادر می سازد خطرات امنیتی مرتبط با برنامه را شناسایی، طبقه بندی، رتبه بندی، مقایسه و اولویت بندی کنید.
می بایست مدل سازی تهدید برنامه را از ارزیابی ریسک جدا در نظر بگیریم. اگرچه با هم مشابه اند، اما کاربرد مدل سازی تهدید برنامه ارزش بیشتری نسبت به روش محاسبه شده دارد. مدل سازی تهدید در چرخه توسعه نرم افزار مزایای بسیاری در امنیت کل پروژه را دارا می باشد. مهمتر از همه این ها، مدل سازی تهدید در انجام ارزیابی های امنیتی باعث می شود تا یک مرور کلی و جامع از برنامه فراهم شود.
این مقاله به طور خاص بروی دو متودولوژی DREAD و STRIDE متمرکز شده است.
برای انجام مدل سازی تهدید برنامه های کاربردی، از چارچوب OWASP برای شناسایی، روش STRIDE برای طبقه بندی و روش DREAD برای ارزیابی، مقایسه و اولویت بندی خطرات، براساس شدت تهدید استفاده می شود. مراحل مدل سازی تهدید برنامه کاربردی به صورت این صورت است:
اولین قدم از مدل سازی تهدید، درک چگونگی تعامل با موجودیت های داخلی و خارجی است. شناسایی نقاط ورود، مرزهای دسترسی، کنترل دسترسی و فن آوری مورد استفاده از اهمیت ویژه ای برخوردار است. این مرحله در روش آزمایش OWASP به مرحله جمع آوری اطلاعات گفته می شود که در آن حداکثر اطلاعات در مورد هدف گردآوری می شود.
پیاده سازی چارچوب آزمایش OWASP منجر به شناسایی آسیب پذیری ها در برنامه می شود که معمولاً به عنوان آزمایش نفوذ یا Penetration شناخته می شود. در آزمایش نفوذ، مهاجم از ابزارها و تکنیک های متفاوتی برای یافتن حداکثر آسیب پذیری در برنامه استفاده می شود.
برای کسب اطلاع و آشنایی با سیستم های تشخیص نفوذ به مقاله لینک داده شده مراجعه نمایید.
پس از شناسایی آسیب پذیری ها، از روش STRIDE که توسط مایکروسافت معرفی شده است برای طبقه بندی آن ها استفاده می شود.
STRIDE مخفف کلمات زیر است:
موارد 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 بیان شده است:
اگر سوءاستفاده از تهدید رخ دهد، چه میزان خسارت وارد می شود؟
بازتولید تهدید بهره برداری چقدر آسان است؟
برای بهره برداری از این تهدید چه مواردی ضروری است؟
چه تعداد کاربر تحت تأثیر قرار می گیرند؟
کشف این تهدید چقدر آسان است؟
روش DREAD می تواند برای تأمین نیازهای برنامه شما و با توجه به خواست شما تنظیم شود. تصمیم گیری ها باید قبل از شروع کار انجام شوند و در حین کار تغییر پیدا نکنند.