این سند یک رویکرد ساختاری برای مدل سازی تهدید برنامه را توصیف می کند که به شما امکان می دهد خطرات امنیتی مرتبط با یک برنامه را شناسایی ، تعیین و پرداختن کنید.
مدل سازی تهدید به یک سیستم از دیدگاه مهاجم بالقوه ، بر خلاف دیدگاه یک مدافع نگاه می کند. ایجاد مدل سازی تهدید به یک مؤلفه اصلی SDLC شما می تواند به افزایش امنیت محصول کمک کند.
روند مدل سازی تهدید را می توان به سه مرحله سطح بالا تجزیه کرد. هر مرحله همانطور که انجام می شود مستند شده است. سند حاصل مدل تهدید برای برنامه است.
مرحله 1: برنامه را تجزیه کنید
اولین قدم در فرآیند مدل سازی تهدید مربوط به درک کاربرد و نحوه تعامل آن با نهادهای خارجی است. این شامل:
- ایجاد موارد استفاده برای درک نحوه استفاده از برنامه.
- شناسایی نقاط ورود برای دیدن اینکه یک مهاجم بالقوه می تواند با برنامه ارتباط برقرار کند.
- شناسایی دارایی ها ، یعنی موارد یا مناطقی که مهاجم به آن علاقه مند است.
- شناسایی سطح اعتماد که نشان دهنده حقوق دسترسی است که برنامه به اشخاص خارجی اعطا می کند.
این اطلاعات در یک سند مدل تهدید نتیجه ثبت شده است. همچنین برای تولید نمودارهای جریان داده (DFD) برای برنامه استفاده می شود. DFD ها مسیرهای مختلف را از طریق سیستم نشان می دهند و مرزهای امتیاز را برجسته می کنند.
مرحله 2: تهدیدها را تعیین و رتبه بندی کنید
مهم برای شناسایی تهدیدات استفاده از یک روش طبقه بندی تهدید است. از طبقه بندی تهدید مانند Stride می توان استفاده کرد ، یا قاب امنیت برنامه (ASF) که دسته های تهدید مانند حسابرسی و ورود به سیستم ، احراز هویت ، مجوز ، مدیریت پیکربندی ، محافظت از داده ها در ذخیره سازی و ترانزیت ، اعتبار سنجی داده ها و مدیریت استثنا را تعریف می کند.
هدف از طبقه بندی تهدید ، کمک به شناسایی تهدیدات هم از مهاجم (گام) و هم دیدگاه دفاعی (ASF) است. DFD های تولید شده در مرحله 1 به شناسایی اهداف احتمالی تهدید از دیدگاه مهاجم ، مانند منابع داده ، فرآیندها ، جریان داده ها و تعامل با کاربران کمک می کنند.
این تهدیدها را می توان بیشتر به عنوان ریشه درختان تهدید طبقه بندی کرد. برای هر هدف تهدید یک درخت وجود دارد. از دیدگاه دفاعی ، طبقه بندی ASF به شناسایی تهدیدات به عنوان نقاط ضعف کنترل امنیتی برای چنین تهدیداتی کمک می کند. لیست های تهدید مشترک با مثال می تواند در شناسایی چنین تهدیداتی کمک کند. موارد استفاده و سوء استفاده می تواند نشان دهد که چگونه می توان اقدامات محافظتی موجود را دور زد ، یا جایی که فقدان چنین محافظت ای وجود دارد. تعیین خطر امنیتی برای هر تهدید می تواند با استفاده از یک مدل ریسک مبتنی بر ارزش مانند ترس و یا یک مدل ریسک کیفی کمتر ذهنی مبتنی بر عوامل خطر عمومی (به عنوان مثال احتمال و تأثیر) انجام شود.
مرحله 3: اقدامات متقابل و کاهش
آسیب پذیری ممکن است با اجرای یک اقدام متقابل کاهش یابد. چنین اقدامات متقابل را می توان با استفاده از لیست های نقشه برداری از دولت تهدید شناسایی کرد. هنگامی که رتبه بندی ریسک در مرحله 2 به تهدیدها اختصاص یابد ، می توان تهدیدات را از بالاترین تا کمترین خطر و اولویت بندی تلاش های کاهش قرار داد.
استراتژی کاهش ریسک ممکن است شامل ارزیابی این تهدیدها از تأثیر شغلی باشد که آنها مطرح می کنند. پس از شناسایی تأثیر احتمالی ، گزینه هایی برای پرداختن به خطر شامل موارد زیر است:
- قبول: تصمیم بگیرید که تأثیر کسب و کار قابل قبول است
- حذف: مؤلفه هایی را که آسیب پذیری را ممکن می سازد حذف کنید
- کاهش: چک یا کنترل هایی را که باعث کاهش تأثیر خطر یا احتمال بروز آن می شود ، اضافه کنید
در بخش های زیر این مراحل به عمق بررسی شده و نمونه هایی از مدل تهدید حاصل در قالب ساختاری را ارائه می دهد.
برنامه را تجزیه کنید
هدف از این مرحله ، درک درک از برنامه و نحوه تعامل آن با نهادهای خارجی است. این هدف با جمع آوری اطلاعات و مستندات حاصل می شود. فرآیند جمع آوری اطلاعات با استفاده از یک ساختار واضح و مشخص انجام می شود ، که تضمین می کند اطلاعات صحیح جمع آوری می شود.
اطلاعات مدل تهدید
اطلاعات شناسایی مدل تهدید به طور معمول شامل موارد زیر است:
- نام برنامه: نام برنامه مورد بررسی.
- نسخه برنامه: نسخه برنامه مورد بررسی.
- توضیحات: توضیحات سطح بالایی از برنامه.
- صاحب سند: صاحب سند مدل سازی تهدید.
- شرکت کنندگان: شرکت کنندگان درگیر در فرآیند مدل سازی تهدید برای این برنامه.
- داوری: مرورگر (های) مدل تهدید.
اطلاعات مدل تهدید
- دانش آموزان
- کارکنان
- کتابداران
وابستگی های خارجی
وابستگی های خارجی موارد خارجی با کد برنامه است که ممکن است تهدیدی برای برنامه باشد. این موارد به طور معمول هنوز در کنترل سازمان هستند ، اما احتمالاً در کنترل تیم توسعه نیست. اولین زمینه ای که هنگام بررسی وابستگی های خارجی در نظر گرفته می شود ، محیط تولید و الزامات است.
درک چگونگی اجرای برنامه یا در نظر گرفته نشده است. به عنوان مثال ، اگر انتظار می رود برنامه بر روی سرور اجرا شود که مطابق با استاندارد سخت شدن سازمان باشد و انتظار می رود که در پشت فایروال بنشیند ، پس این اطلاعات باید در بخش وابستگی های خارجی ثبت شود.
وابستگی های خارجی باید به شرح زیر مستند شود:
- شناسه: یک شناسه منحصر به فرد که به وابستگی خارجی اختصاص داده شده است.
- توضیحات: شرح متنی از وابستگی خارجی.
وابستگی های خارجی
| ID | شرح |
| 1 | وب سایت کتابخانه کالج بر روی سرور لینوکس که آپاچی را اجرا می کند اجرا می شود. این سرور طبق استاندارد سخت شدن سرور دانشکده سخت می شود. این شامل نصب جدیدترین سیستم عامل و تکه های امنیتی برنامه است. |
| 2 | سرور پایگاه داده MySQL خواهد بود و روی سرور لینوکس اجرا می شود. این سرور طبق استاندارد سخت شدن سرور دانشکده سخت می شود. این شامل نصب جدیدترین سیستم عامل و تکه های امنیتی برنامه است. |
| 3 | اتصال بین سرور وب و سرور پایگاه داده بیش از یک شبکه خصوصی خواهد بود. |
| 4 | سرور وب پشت فایروال است و تنها ارتباط موجود TLS است. |
نقاط ورود
نقاط ورود رابط هایی را تعریف می کنند که از طریق آن مهاجمان بالقوه می توانند با برنامه تعامل داشته باشند یا آن را با داده ها تهیه کنند. برای اینکه یک مهاجم بالقوه به یک برنامه حمله کند ، نقاط ورود باید وجود داشته باشد. نقاط ورود در یک برنامه می تواند لایه بندی شود. به عنوان مثال ، هر صفحه وب در یک برنامه وب ممکن است حاوی چندین نقطه ورود باشد.
نقاط ورود نشان می دهد که داده ها به ترتیب وارد سیستم می شوند (یعنی زمینه های ورودی ، روش ها) و نقاط خروج به ترتیب در جایی هستند که سیستم (یعنی خروجی پویا ، روش ها) را ترک می کند. نقاط ورود و خروج یک مرز اعتماد را تعریف می کنند (به سطح اعتماد مراجعه کنید).
نقاط ورود باید به شرح زیر مستند شود:
- شناسه: یک شناسه منحصر به فرد که به نقطه ورود اختصاص داده شده است. این مورد برای مرجع مرجع نقطه ورود با هرگونه تهدید یا آسیب پذیری های شناسایی شده استفاده می شود. در مورد نقاط ورود به لایه ، از یک علامت اصلی. minor استفاده می شود.
- نام: یک نام توصیفی که نقطه ورود و هدف آن را مشخص می کند.
- توضیحات: توضیحات متنی جزئیات تعامل یا پردازش را که در نقطه ورود رخ می دهد ، شرح می دهد.
- سطح اعتماد: سطح دسترسی مورد نیاز در نقطه ورود. اینها با سطح اعتماد تعریف شده بعداً در سند ، متقاطع خواهند بود.
نقاط ورود
| ID | نام | شرح | سطح اعتماد |
| 1 | درگاه HTTPS | وب سایت کتابخانه کالج فقط از طریق TLS قابل دسترسی خواهد بود. کلیه صفحات موجود در وب سایت کتابخانه کالج در این نقطه ورود به لایه لایه بندی شده است. | (1) کاربر وب ناشناس (2) کاربر با اعتبار ورود به سیستم معتبر (3) کاربر با اعتبارنامه ورود نامعتبر (4) کتابدار |
| 1.1 | صفحه اصلی کتابخانه | صفحه Splash برای وب سایت کتابخانه کالج نقطه ورود همه کاربران است. | (1) کاربر وب ناشناس (2) کاربر با اعتبار ورود به سیستم معتبر (3) کاربر با اعتبارنامه ورود نامعتبر (4) کتابدار |
| 1.2 | صفحه ورود | دانشجویان ، اعضای هیئت علمی و کتابداران باید قبل از اینکه بتوانند هر یک از موارد استفاده را انجام دهند ، وارد وب سایت کتابخانه کالج شوند. | (1) کاربر وب ناشناس (2) کاربر با اعتبار ورود به سیستم (3) کاربر با اعتبارنامه ورود نامعتبر (4) کتابدار |
| 1. 2. 1 | تابع ورود به سیستم | عملکرد ورود به سیستم اعتبارنامه ارائه شده توسط کاربر را می پذیرد و آنها را با موارد موجود در پایگاه داده مقایسه می کند. | (2) کاربر با اعتبار ورود به سیستم معتبر (3) کاربر با اعتبارنامه ورود نامعتبر (4) کتابدار |
| 1.3 | صفحه ورود جستجو | صفحه ای که برای وارد کردن یک پرس و جو جستجو استفاده می شود. | (2) کاربر با اعتبارنامه ورود معتبر (4) کتابدار |
نقاط خروج
نقاط خروج ممکن است هنگام حمله به مشتری مفید باشد: به عنوان مثال ، آسیب پذیری های مربوط به ثبت نام در سایت و آسیب پذیری های افشای اطلاعات هر دو نیاز به یک نقطه خروج برای حمله دارند.
در مورد نقاط خروج از مؤلفه های دست زدن به داده های محرمانه (به عنوان مثال مؤلفه های دسترسی به داده ها) ، نقاط خروج فاقد کنترل امنیتی برای محافظت از محرمانه بودن و یکپارچگی می تواند منجر به افشای چنین اطلاعات محرمانه به یک کاربر غیرمجاز شود.
در بسیاری از موارد ، تهدیدات فعال شده توسط نقاط خروج مربوط به تهدیدهای نقطه ورود مربوطه است. در مثال ورود به سیستم ، پیام های خطایی که از طریق نقطه خروج (صفحه ورود به سیستم) به کاربر بازگردانده می شوند ، ممکن است امکان حملات نقطه ورود مانند برداشت حساب (به عنوان مثال نام کاربری یافت نشد) یا تزریق SQL (به عنوان مثال خطاهای استثناء SQL) را فراهم کند.
دارایی های
سیستم باید چیزی داشته باشد که مهاجم به آن علاقه مند باشد. این موارد یا مناطق مورد علاقه به عنوان دارایی تعریف می شوند.
دارایی ها اساساً هدف مهاجمان هستند، یعنی دلیل وجود تهدیدها هستند. دارایی ها می توانند هم دارایی های فیزیکی و هم دارایی های انتزاعی باشند. برای مثال، دارایی یک برنامه ممکن است فهرستی از مشتریان و اطلاعات شخصی آنها باشد. این یک دارایی فیزیکی استیک دارایی انتزاعی ممکن است شهرت یک سازمان باشد.
دارایی ها در مدل تهدید به شرح زیر مستند می شوند:
- شناسه: یک شناسه منحصر به فرد برای شناسایی هر دارایی اختصاص داده می شود. این برای ارجاع متقابل دارایی با هر گونه تهدید یا آسیب پذیری شناسایی شده استفاده می شود.
- نام: نامی توصیفی که به وضوح دارایی را مشخص می کند.
- توضیحات: شرح متنی از چیستی دارایی و چرایی نیاز به محافظت از آن.
- سطوح اعتماد: سطح دسترسی مورد نیاز برای دسترسی به نقطه ورودی در اینجا مستند شده است. اینها با سطوح اعتماد تعریف شده در مرحله بعد ارجاع داده خواهند شد.
دارایی های
| ID | نام | شرح | سطح اعتماد |
| 1 | کاربران کتابخانه و کتابدار | دارایی های مربوط به دانشجویان، اعضای هیئت علمی و کتابداران. |
| 1.1 | جزئیات ورود کاربر | مدارک ورود به سیستم که یک دانشجو یا یکی از اعضای هیئت علمی برای ورود به وب سایت کتابخانه کالج استفاده می کند. | (2) کاربر با اعتبار ورود به سیستم معتبر (4) کتابدار (5) مدیر سرور پایگاه داده (7) فرآیند کاربر وب سرور (8) کاربر خواندن پایگاه داده (9) کاربر خواندن/نوشتن پایگاه داده |
| 1.2 | جزئیات ورود به سیستم کتابخانه | اعتبار ورود که یک کتابدار برای ورود به وب سایت کتابخانه کالج استفاده می کند. | (4) کتابدار (5) مدیر سرور پایگاه داده (7) فرآیند کاربر وب سرور (8) کاربر خواندن پایگاه داده (9) کاربر خواندن/نوشتن پایگاه داده |
| 1.3 | اطلاعات شخصی | وب سایت کتابخانه کالج اطلاعات شخصی مربوط به دانشجویان، اعضای هیئت علمی و کتابداران را ذخیره می کند. | (4) کتابدار (5) مدیر سرور پایگاه داده (6) مدیر وب سایت (7) فرآیند کاربر وب سرور (8) کاربر خواندن پایگاه داده (9) کاربر خواندن / نوشتن پایگاه داده |
| 2 | سیستم | دارایی های مربوط به سیستم زیربنایی. |
| 2.1 | در دسترس بودن وب سایت کتابخانه کالج | وب سایت کتابخانه کالج باید 24 ساعت شبانه روز در دسترس باشد و برای همه دانشجویان، اعضای هیئت علمی کالج و کتابداران قابل دسترسی باشد. | (5) مدیر سرور پایگاه داده (6) مدیر وب سایت |
| 2.2 | امکان اجرای کد به عنوان کاربر وب سرور | این توانایی اجرای کد منبع بر روی وب سرور به عنوان کاربر وب سرور است. | (6) مدیر وب سایت (7) فرآیند کاربر وب سرور |
| 2.3 | امکان اجرای SQL به عنوان کاربر خوانده شده پایگاه داده | این توانایی اجرای پرس وجوهای انتخابی SQL در پایگاه داده، و در نتیجه بازیابی اطلاعات ذخیره شده در پایگاه داده کتابخانه کالج است. | (5) مدیر سرور پایگاه داده (8) پایگاه داده کاربر را بخوانید (9) پایگاه داده کاربر را بخوانید/بنویسید |
| 2.4 | امکان اجرای SQL به عنوان یک بانک اطلاعاتی کاربر خوانده شده/نوشتن کاربر | این توانایی اجرای SQL است. نمایش داده ها را در پایگاه داده انتخاب ، درج و به روز کنید و از این طریق دسترسی به اطلاعات ذخیره شده در پایگاه داده کتابخانه کالج را خوانده و بنویسید. | (5) مدیر سرور پایگاه داده (9) بانک اطلاعاتی کاربر را بخوانید/بنویسید |
| 3 | سایت اینترنتی | دارایی های مربوط به وب سایت کتابخانه کالج. |
| 3.1 | جلسه ورود به سیستم | این جلسه ورود کاربر به وب سایت کتابخانه کالج است. این کاربر می تواند دانشجوی ، عضو دانشکده کالج یا کتابدار باشد. | (2) کاربر با اعتبارنامه ورود معتبر (4) کتابدار |
| 3.2 | دسترسی به سرور پایگاه داده | دسترسی به سرور پایگاه داده به شما امکان می دهد تا پایگاه داده را مدیریت کنید و به شما امکان دسترسی کامل به کاربران پایگاه داده و کلیه داده های موجود در پایگاه داده را می دهد. | (5) مدیر سرور پایگاه داده |
| 3.3 | امکان ایجاد کاربران | امکان ایجاد کاربران به یک فرد امکان می دهد کاربران جدیدی را در سیستم ایجاد کند. اینها می تواند کاربران دانشجویی ، کاربران عضو هیئت علمی و کاربران کتابدار باشد. | (4) کتابدار (6) مدیر وب سایت |
| 3.4 | دسترسی به داده های حسابرسی | داده های حسابرسی تمام رویدادهای حسابرسی که در برنامه کتابخانه کالج توسط دانشجویان ، کارمندان و کتابداران رخ داده است ، نشان می دهد. | (6) مدیر وب سایت |
سطح اعتماد
سطح اعتماد نشان دهنده حقوق دسترسی است که برنامه به اشخاص خارجی اعطا می کند. سطح اعتماد با نقاط ورود و دارایی ها متقاطع است. این به ما امکان می دهد حقوق دسترسی یا امتیازات مورد نیاز در هر نقطه ورود را تعریف کنیم و مواردی که برای تعامل با هر دارایی لازم است.
سطح اعتماد در مدل تهدید به شرح زیر ثبت شده است:
- شناسه: یک عدد منحصر به فرد به هر سطح اعتماد اختصاص داده می شود. این برای مرجع متقابل سطح اعتماد با نقاط ورود و دارایی ها استفاده می شود.
- نام: یک نام توصیفی که به شما امکان می دهد اشخاص خارجی را که در این سطح اعتماد اعطا شده اند ، شناسایی کنید.
- توضیحات: توضیحات متنی از سطح اعتماد که جزئیات مربوط به نهاد خارجی را که به سطح اعتماد اعطا شده است ، شرح می دهد.
سطح اعتماد
| ID | نام | شرح |
| 1 | کاربر وب ناشناس | کاربری که به وب سایت کتابخانه کالج متصل شده است اما اعتبار معتبر ارائه نکرده است. |
| 2 | کاربر با اعتبارنامه ورود معتبر | کاربری که به وب سایت کتابخانه کالج متصل شده و با استفاده از اعتبارنامه ورود معتبر وارد سیستم شده است. |
| 3 | کاربر با اعتبار ورود نامعتبر | کاربری که به وب سایت کتابخانه کالج متصل شده است و در تلاش است با استفاده از اعتبارنامه ورود نامعتبر وارد سیستم شود. |
| 4 | کتابدار | کتابدار می تواند کاربران را در وب سایت کتابخانه ایجاد کرده و اطلاعات شخصی آنها را مشاهده کند. |
| 5 | مدیر سرور پایگاه داده | مدیر سرور پایگاه داده دسترسی به پایگاه داده ای را که توسط وب سایت کتابخانه کالج استفاده می شود ، خوانده و نوشت. |
| 6 | مدیر وب سایت | مدیر وب سایت می تواند وب سایت کتابخانه کالج را پیکربندی کند. |
| 7 | فرآیند کاربر سرور وب | این فرآیند/کاربر است که سرور وب کد را به صورت AS اجرا می کند و خود را در برابر سرور پایگاه داده AS تأیید می کند. |
| 8 | پایگاه داده کاربر را بخوانید | حساب کاربری پایگاه داده برای دسترسی به بانک اطلاعاتی برای دسترسی به خواندن استفاده می شود. |
| 9 | بانک اطلاعاتی کاربر را بخوانید/بنویسید | حساب کاربری پایگاه داده برای دسترسی به پایگاه داده برای دسترسی به خواندن و نوشتن استفاده شده است. |
نمودارهای جریان داده
تمام اطلاعات جمع آوری شده به ما امکان می دهد تا با استفاده از نمودارهای جریان داده (DFD) ، برنامه را به طور دقیق مدل کنیم. DFDS به ما این امکان را می دهد تا با ارائه نمای بصری از نحوه پردازش داده ها ، درک بهتری از برنامه کسب کنیم.
جریان داده ها نشان می دهد که چگونه داده ها به طور منطقی از طریق برنامه جریان می یابد ، به پایان می رسد. آنها اجازه می دهند تا از طریق نقاط مهم (به عنوان مثال داده های وارد یا خروج از سیستم ، ذخیره داده ها) و جریان کنترل از طریق این مؤلفه ها ، شناسایی اجزای آسیب دیده (به عنوان مثال داده های وارد یا خروج از سیستم ، ذخیره داده ها).
تمرکز DFD ها بر نحوه حرکت داده ها از طریق برنامه و آنچه در هنگام حرکت برای داده ها اتفاق می افتد است. DFD ها از نظر ساختار سلسله مراتبی هستند ، بنابراین می توان از آنها برای تجزیه برنامه در زیر سیستم ها و زیر سیستم های سطح پایین استفاده کرد. DFD سطح بالا به ما این امکان را می دهد تا دامنه برنامه مدل سازی شده را روشن کنیم. تکرارهای سطح پایین به ما امکان می دهد تا روی فرآیندهای خاص که هنگام پردازش داده های خاص انجام می شود ، تمرکز کنیم.
تعدادی از نمادها وجود دارد که در DFD ها برای مدل سازی تهدید استفاده می شود. اینها در زیر شرح داده شده است:
| سمبل | نام | شرح |
| نهاد خارجی | شکل نهاد خارجی برای نشان دادن هر موجود در خارج از برنامه که از طریق یک نقطه ورود با برنامه در تعامل است ، استفاده می شود. |
| روند | شکل فرآیند کاری را نشان می دهد که داده های موجود در برنامه را کنترل می کند. کار ممکن است داده ها را پردازش کند یا بر اساس داده ها یک عمل انجام دهد. |
| فرایند چندگانه | از شکل فرآیند چندگانه برای ارائه مجموعه ای از فرآیندهای زیر استفاده می شود. فرآیند چندگانه را می توان در DFD دیگری به فرآیندهای آن تقسیم کرد. |
| فروشگاه داده | از شکل فروشگاه داده برای نشان دادن مکانهایی که داده ها در آن ذخیره می شوند استفاده می شود. فروشگاه های داده ها داده ها را تغییر نمی دهند ، آنها فقط داده ها را ذخیره می کنند. |
| گردش داده ها | شکل جریان داده نشان دهنده حرکت داده در برنامه است. جهت حرکت داده توسط فلش نشان داده شده است. |
| مرز ممتاز | از مرز امتیاز (یا مرز اعتماد) برای نشان دادن تغییر سطح اعتماد استفاده می شود زیرا داده ها از طریق برنامه جریان می یابد. مرزها هر مکانی را نشان می دهند که سطح اعتماد تغییر کند. |
نمودارهای مثال

شکل 1: نمودار جریان داده برای وب سایت کتابخانه کالج.

شکل 2: نمودار جریان داده ورود کاربر برای وب سایت کتابخانه کالج.
تهدیدها را تعیین و رتبه بندی کنید
طبقه بندی تهدید
اولین قدم در تعیین تهدیدها اتخاذ طبقه بندی تهدید است. طبقه بندی تهدید مجموعه ای از دسته ها را با مثالهای مربوطه ارائه می دهد تا تهدیدات به طور سیستماتیک در برنامه به صورت ساختاری و قابل تکرار مشخص شود.
گام های بلند برداشتن
طبقه بندی تهدید مانند Stride در شناسایی تهدیدها با طبقه بندی اهداف مهاجم مانند:
لیستی از تهدیدهای عمومی طبقه بندی شده با استفاده از Stride در جدول زیر به همراه کنترل های امنیتی آنها ارائه شده است:
لیست تهدید قدم
| نوع | شرح | کنترل امنیتی |
| کلاهبرداری | اقدامات تهدیدی با هدف دسترسی و استفاده از اعتبار کاربر دیگر ، مانند نام کاربری و رمز عبور. | احراز هویت |
| دستکاری | اقدامات تهدیدی که قصد دارد به طرز مخرب داده های مداوم مانند سوابق موجود در یک پایگاه داده و تغییر داده ها در ترانزیت بین دو رایانه از طریق یک شبکه باز مانند اینترنت تغییر یا اصلاح کند. | تمامیت |
| تکذیب | اقدامات تهدیدی با هدف انجام عملیات ممنوع در سیستمی که فاقد توانایی ردیابی عملیات است. | عدم برگشت |
| افشای اطلاعات | اقدامات تهدیدی که قصد خواندن پرونده ای را دارد که به آن دسترسی نداشته باشد یا داده های موجود در ترانزیت را بخواند. | محرمانه بودن |
| خود داری از خدمات | اقدامات تهدیدی برای انکار دسترسی به کاربران معتبر ، مانند ایجاد یک سرور وب به طور موقت در دسترس یا غیرقابل استفاده است. | دسترسی |
| ارتفاع ممتاز | اقدامات تهدیدی برای دستیابی به دسترسی ممتاز به منابع به منظور دستیابی به دسترسی غیرمجاز به اطلاعات یا به خطر انداختن یک سیستم. | اعتبار |
لیست های تهدید بر اساس مدل Stride در شناسایی تهدیدات در مورد اهداف مهاجم مفید هستند. به عنوان مثال ، اگر سناریوی تهدید به ورود به سیستم حمله کند ، آیا حمله کننده بی رحمانه رمز عبور را مجبور به شکستن احراز هویت می کند؟اگر سناریوی تهدید سعی در بالا بردن امتیازات برای به دست آوردن امتیازات کاربر دیگر دارد ، آیا مهاجم سعی در انجام مرور اجباری دارد؟
تحلیل تهدید
پیش نیاز در تجزیه و تحلیل تهدیدها درک تعریف عمومی از خطر است. خطر پتانسیل ضرر است که توسط دو عامل تعیین می شود: احتمال یا احتمال اینکه حمله رخ دهد. و تأثیر بالقوه یا هزینه چنین حمله ای رخ می دهد. خطر به صورت محاسبه می شود:
(احتمال اینکه تهدید رخ دهد) X (هزینه سازمان)
از منظر مدیریت ریسک ، مدل سازی تهدید یک رویکرد سیستماتیک و استراتژیک برای شناسایی و شمارش تهدیدات برای یک محیط کاربردی با هدف به حداقل رساندن ریسک و تأثیر بالقوه است.
تجزیه و تحلیل تهدید شناسایی تهدیدات برای برنامه است و شامل تجزیه و تحلیل هر جنبه از عملکرد ، معماری و طراحی برنامه است. شناسایی و طبقه بندی نقاط ضعف احتمالی که می تواند منجر به بهره برداری شود ، مهم است.
از دیدگاه دفاعی ، شناسایی تهدیدات ناشی از طبقه بندی کنترل امنیت به یک تحلیلگر تهدید اجازه می دهد تا روی آسیب پذیری های خاص تمرکز کند. به طور معمول ، روند شناسایی تهدید شامل عبور از چرخه های تکراری است که در ابتدا تمام تهدیدهای احتمالی در لیست تهدید که برای هر مؤلفه اعمال می شود ، ارزیابی می شود.
در تکرار بعدی ، تهدیدها با کاوش در مسیرهای حمله ، بیشتر مورد تجزیه و تحلیل قرار می گیرد ، دلایل اصلی مورد سوء استفاده از این تهدید (به عنوان مثال آسیب پذیری ها ، به عنوان بلوک های نارنجی در زیر) و کنترل های کاهش لازم (به عنوان مثال اقدامات متقابل ، به عنوان بلوک های سبز زیر به تصویر کشیده شده است)بشردرخت تهدیدی که در زیر نشان داده شده است برای انجام چنین تحلیل تهدیدی مفید است.
شکل 3: نمودار درخت تهدید.
پس از ارزیابی تهدیدات ، آسیب پذیری ها و حملات مشترک ، تجزیه و تحلیل تهدید متمرکز تر باید موارد استفاده و سوءاستفاده را مورد توجه قرار دهد. با تجزیه و تحلیل کامل سناریوهای استفاده ، نقاط ضعف را می توان شناسایی کرد که می تواند منجر به تحقق یک تهدید شود. موارد سوءاستفاده نیز باید مشخص شود. این موارد سوءاستفاده می تواند نشان دهد که چگونه می توان اقدامات محافظتی موجود را دور زد ، یا جایی که فقدان چنین محافظت ای وجود دارد.
نمودار مورد استفاده و سوءاستفاده برای احراز هویت در زیر نشان داده شده است:

شکل 4: موارد استفاده و سوء استفاده
نتیجه تجزیه و تحلیل تهدید ، تعیین انواع تهدیدات ناشی از هر مؤلفه سیستم تجزیه شده است. این می تواند با استفاده از یک طبقه بندی تهدید مانند Stride یا ASF ، استفاده از درختان تهدید برای تعیین چگونگی تهدید در معرض آسیب پذیری ، و استفاده و سوء استفاده از موارد برای اعتبار بیشتر عدم وجود هرگونه اقدامات متقابل برای کاهش ثبت شود.
رتبه بندی تهدیدها
تهدیدها را می توان از منظر عوامل خطر قرار داد. با تعیین فاکتور خطر ناشی از تهدیدهای مختلف شناسایی شده ، می توان لیست اولویت بندی تهدیدات را برای حمایت از یک استراتژی کاهش ریسک ، مانند اولویت بندی تهدیدهای مورد کاهش قرار داد. از عوامل خطر مختلف می توان برای رتبه بندی تهدیدات به عنوان ریسک بالا ، متوسط یا کم استفاده کرد. به طور کلی ، مدل های خطر تهدید از عوامل مختلفی برای مدل سازی خطرات مانند موارد زیر استفاده می کنند:

شکل 5: رتبه بندی عوامل خطر.
مدل ذهنی: وحشت
در مدل ارزیابی ریسک Microsoft Dread ، فاکتورسازی خطر اجازه می دهد تا مقادیر را به عوامل مختلف تأثیرگذار یک تهدید اختصاص دهد. این یک روند ذهنی برای رتبه بندی تهدیدات فراهم می کند. برای تعیین رتبه تهدید ، تحلیلگر تهدید به سؤالات مربوط به هر عامل خطر پاسخ می دهد ، به عنوان مثال:
- D Amage: در صورت موفقیت حمله ، خسارت چقدر خواهد بود؟
- rprodociability: تولید مثل حمله چقدر آسان است؟
- e xploitability: برای بهره برداری از این تهدید چقدر زمان ، تلاش و تخصص لازم است؟
- یک کاربران ffected: اگر از تهدید مورد سوء استفاده قرار گرفت ، چه درصد از کاربران تحت تأثیر قرار می گیرند؟
- D Iscoverability: کشف این تهدید برای یک مهاجم چقدر آسان است؟
یک سیستم نقطه ای از شماره 1-10 ، که نشان دهنده شدت کم و زیاد است ، برای محاسبه نمره ترسناک استفاده می شود که می تواند به مقایسه یک تهدید با دیگری کمک کند.
تهدید: کاربر مخرب اطلاعات محرمانه دانشجویان ، اعضای هیئت علمی و کتابداران را مشاهده می کند.
- پتانسیل خسارت: تهدید به شهرت و همچنین مسئولیت مالی و قانونی (8)
- تکرارپذیری: کاملاً قابل تکرار (10)
- بهره برداری: نیاز به حضور در همان زیر شبکه داشته باشید یا روتر را به خطر بیندازید (7)
- کاربران آسیب دیده: همه کاربران را تحت تأثیر قرار می دهد (10)
- کشف: به راحتی می توان پیدا کرد (10)
مدل Dread در صنعت استفاده گسترده ای ندارد ، زیرا رتبه بندی های آن ذهنی است. با این حال ، در یک سازمان ، مدلهایی که از رتبه بندی ذهنی استفاده می کنند می توانند در هنگام پرداختن به ریسک ، اولویت ها را روشن کنند.
مدل ریسک کیفی
یک مدل ریسک عمومی خطر را محاسبه می داند. به یاد بیاورید که خطر با احتمال حمله و تأثیر آن حمله تعیین می شود:
(احتمال اینکه تهدید رخ دهد) X (هزینه سازمان)
احتمال یا احتمال آن را می توان با سهولت بهره برداری تعیین کرد. این بستگی به نوع تهدید و ویژگی های سیستم دارد و همچنین هرگونه اقدامات متقابل را که ممکن است در حال حاضر وجود داشته باشد ، در نظر می گیرد.
در زیر مجموعه ای از ملاحظات برای تعیین سهولت بهره برداری است:
- آیا یک مهاجم می تواند از این راه دور سوء استفاده کند؟
- آیا مهاجم نیاز به تأیید اعتبار دارد؟
- آیا می توان بهره برداری را خودکار کرد؟
این تأثیر عمدتاً به پتانسیل خسارت و میزان آن بستگی دارد ، مانند تعداد مؤلفه هایی که ممکن است تحت تأثیر تهدید قرار بگیرند.
سؤالاتی برای کمک به تعیین پتانسیل خسارت عبارتند از:
- آیا یک مهاجم می تواند به طور کامل سیستم را به دست بگیرد و دستکاری کند؟
- آیا یک مهاجم می تواند مدیریت مدیریت به سیستم را بدست آورد؟
- آیا یک مهاجم می تواند سیستم را خراب کند؟
- آیا مهاجم می تواند به اطلاعات حساس مانند اسرار یا PII دسترسی پیدا کند؟
سؤالاتی برای کمک به تعیین تعداد مؤلفه هایی که تحت تأثیر تهدید قرار می گیرند:
- چند منبع و سیستم داده متصل می تواند تأثیر بگذارد؟
- چند لایه به اجزای زیرساختی می تواند عامل تهدید را طی کند؟
این مثالها با اختصاص مقادیر کیفی مانند بالا ، متوسط و کم به عوامل احتمال و تأثیر در محاسبه مقادیر ریسک کلی کمک می کنند. در این حالت ، با استفاده از مقادیر کیفی ، به جای تعداد عددی مانند مدل Dread ، به جلوگیری از رتبه بندی بیش از حد ذهنی کمک می کند.
تعیین اقدامات متقابل و کاهش
هدف از شناسایی متقابل ، تعیین اینکه آیا نوعی اقدامات محافظتی (به عنوان مثال کنترل امنیتی ، سیاست ها) وجود دارد که می تواند از تحقق تهدید جلوگیری کند. آسیب پذیری ها پس از آن تهدیدهایی هستند که هیچ گونه اقدامات متقابل ندارند. هنگامی که تهدیدها یا با Stride یا ASF طبقه بندی شده اند ، می توان اقدامات متقابل مناسب را در گروه داده شده پیدا کرد.
ارائه شده در زیر یک لیست چک مختصر و محدود است که به هیچ وجه لیستی جامع برای شناسایی اقدامات متقابل برای تهدیدهای خاص نیست.
نمونه های تهدید و اقدامات متقابل ASF
| نوع تهدید | اقدامات مخالف |
| احراز هویت | 1. اعتبارنامه ها و نشانه های احراز هویت با رمزگذاری در ذخیره سازی و ترانزیت محافظت می شوند. پروتکل ها در برابر نیروی بی رحم ، فرهنگ لغت و حملات پخش مجدد مقاوم هستند. 3. سیاست های رمز عبور قوی اجرا می شوند. 4. احراز هویت سرور قابل اعتماد به جای احراز هویت SQL 5. رمزهای عبور هستندذخیره شده با هش های شور 6. تنظیم مجدد رمز عبور نکات رمز عبور و نام کاربری معتبر را نشان نمی دهد 7. قفل حساب منجر به انکار حمله سرویس نمی شود |
| اعتبار | 1. از ACL های قوی برای اجرای دسترسی مجاز به منابع استفاده می شود. 2. از کنترل های دسترسی مبتنی بر نقش برای محدود کردن دسترسی به عملیات خاص استفاده می شود. 3. این سیستم از اصل حداقل امتیاز برای حساب های کاربر و خدمات پیروی می کند. 4. جداسازی امتیاز به درستی در داخل پیکربندی شده استلایه های ارائه ، تجارت و دسترسی به داده ها |
| مدیریت پیکربندی | 1. حداقل از فرآیندهای ممتاز استفاده می شود و از حساب های خدمات بدون توانایی مدیریت 2. حسابرسی و ورود به سیستم فعالیتهای مدیریت فعال می شود. 3. دسترسی به پرونده های پیکربندی و رابط های مدیر محدود به مدیران است |
| محافظت از داده ها در ذخیره و حمل و نقل | 1. الگوریتم های رمزگذاری استاندارد و اندازه های کلیدی صحیح مورد استفاده قرار می گیرند. 2. کدهای تأیید هویت پیام هشده (HMAC) برای محافظت از یکپارچگی داده ها استفاده می شوند 3. اسرار (به عنوان مثال کلیدها ، داده های محرمانه) از نظر رمزنگاری هم در حمل و نقل و هم در ذخیره سازی 4. ساخته شده است. در ذخیره سازی ایمن برای محافظت از کلیدها استفاده می شود. 5. هیچ اعتبار و داده های حساس به متن روشن از طریق سیم ارسال نمی شود |
| اعتبار سنجی داده ها / اعتبار سنجی پارامتر | 1. نوع ، قالب ، طول و محدوده داده ها اجرا می شوند. 2. کلیه داده های ارسال شده از مشتری تأیید می شوند. استفاده می شود 5. رمزگذاری خروجی استفاده می شود |
| رسیدگی به خطا و مدیریت استثنا | 1. کلیه استثنائات به صورت ساختاری انجام می شود. در صورت بروز خطاها و استثنائات ، امتیازات به سطح مناسب بازگردانده می شوند. |
| مدیریت کاربر و جلسه | 1. هیچ اطلاعات حساس در متن روشن در کوکی 2 ذخیره نمی شود. محتویات کوکی های احراز هویت رمزگذاری شده است. 3. کوکی ها برای انقضا پیکربندی شده اند. 4 جلسات در برابر حملات پخش مجدد مقاوم هستند. 5. کانال های ارتباطی ایمن برای محافظت از کوکی های تأیید اعتبار 6 استفاده می شوند.. کاربر هنگام انجام توابع بحرانی مجدداً مجدداً تأیید می شود. 7. جلسات در هنگام ورود به پایان می رسد |
| حسابرسی و ورود به سیستم | 1. اطلاعات حساس (به عنوان مثال رمزهای عبور ، PII) وارد نشده است. 24- پرونده های ورود به سیستم دنباله حسابرسی را برای عملیات حساس و ورود به سیستم رویدادهای کلیدی فراهم می کنند. |
هنگام استفاده از Stride ، می توان از جدول تخفیف تهدید زیر برای شناسایی تکنیک هایی که می توان برای کاهش تهدیدها استفاده کرد ، استفاده کرد.
تکنیک های تهدید و کاهش
| نوع تهدید | تکنیک های کاهش |
| هویت کلاهبرداری | 1. احراز هویت مناسب 2. از داده های مخفی محافظت کنید 3. اسرار را ذخیره نکنید |
| دستکاری در داده ها | 1. مجوز مناسب 2. هش 3. مک ها 4. امضاهای دیجیتال 5. پروتکل های مقاوم در برابر دستکاری |
| تکذیب | 1. امضاهای دیجیتال 2. Timestamps 3. مسیرهای حسابرسی |
| افشای اطلاعات | 1. مجوز 2. پروتکل های تقویت شده حریم خصوصی 3. رمزگذاری 4. از اسرار محافظت کنید 5. اسرار را ذخیره نکنید |
| خود داری از خدمات | 1. احراز هویت مناسب 2. مجوز مناسب 3. فیلتر 4. پرتاب 5. کیفیت خدمات |
| ارتفاع ممتاز | 1. با کمترین امتیاز اجرا کنید |
هنگامی که تهدیدها و اقدامات متقابل مربوطه مشخص شد ، می توان با معیارهای زیر مشخصات تهدید را به دست آورد:
- تهدیدهای غیر کاهش یافته: تهدیدهایی که هیچ گونه اقدامات متقابل ندارند و آسیب پذیری هایی را نشان می دهند که می توانند کاملاً مورد سوء استفاده قرار بگیرند و باعث تأثیر آن شوند.
- تهدیدهای جزئی کاهش یافته: تهدیدهای تا حدی توسط یک یا چند اقدامات متقابل کاهش می یابد و فقط می توان تا حدی مورد سوء استفاده قرار گرفت تا تأثیر محدودی ایجاد کند.
- تهدیدهای کاملاً کاهش یافته: این تهدیدها اقدامات متقابل مناسبی دارند و آسیب پذیری ها را در معرض خطر قرار نمی دهند.
مکمل بررسی کد
مدل سازی تهدید رویکردی برای بررسی کد نیست ، اما روند بررسی کد امنیت را تکمیل می کند. گنجاندن مدل سازی تهدید در اوایل چرخه زندگی توسعه نرم افزار (SDLC) می تواند به اطمینان از توسعه برنامه ها با کاهش تهدیدات امنیتی مناسب از همان ابتدا کمک کند. این ، همراه با مستندات تولید شده به عنوان بخشی از فرآیند مدل سازی تهدید ، می تواند درک بیشتری از سیستم را به مرورگران کد ارائه دهد. این به داوری اجازه می دهد تا ببیند که نقاط ورود به برنامه در کجا قرار دارند و تهدیدهای مرتبط با هر نقطه ورود.
هنگامی که تجزیه و تحلیل کد منبع در خارج از SDLC انجام می شود ، مانند برنامه های موجود ، مدل سازی تهدید به روشن شدن پیچیدگی تجزیه و تحلیل کد منبع کمک می کند. این یک رویکرد عمق اول را به جای یک رویکرد وسعت اول ترویج می کند. به عبارت دیگر ، به جای بررسی تمام کد منبع با تمرکز برابر ، می توانید بررسی کد امنیتی اجزای موجود در آن را در اولویت قرار دهید که در آن مدل سازی تهدید نشانگر تهدیدات در معرض خطر بالاتر است.
بنیاد OWASP ® برای بهبود امنیت نرم افزار از طریق پروژه های نرم افزاری منبع باز جامعه ، صدها فصل در سراسر جهان ، ده ها هزار عضو و با میزبانی کنفرانس های محلی و جهانی تلاش می کند.
آموزش تحلیل گری...
ما را در سایت آموزش تحلیل گری دنبال می کنید
برچسب :
نویسنده : ملیکا زارعی
بازدید : 35
تاريخ : شنبه
21 مرداد
1402 ساعت: 19:37