طبقه بندی محتوا : تخصصی
مخاطب: متخصصین حوزه امنیت سایبری
تعریف:
مدلسازی تهدید یک فرآیند ساختار یافته با اهداف زیر است:
خروجی های مدلسازی تهدید:
مدلسازی تهدید چگونه کار می کند:
مدلسازی تهدید با شناسایی انواع عوامل تهدید که به یک برنامه کاربردی یا سیستم کامپیوتری آسیب می رساند، کار می کند و از دیدگاه هکرهای مخرب استفاده می کند تا میزان آسیب پذیری سیستم را مشخص کند. سازمان ها، در حین مدلسازی تهدید، تجزیه و تحلیل کاملی از معماری سیستم، زمینه کسب و کار و سایر موارد (به عنوان مثال: مشخصات عملکردی، اسناد و ...) انجام می دهند. این فرآیند درک عمیقی از سیستم ارائه می دهد و کشف جنبه های مهم سیستم را امکان پذیر می نماید.
معمولا سازمان ها ، مدل سازی تهدید را در مرحله طراحی (در مراحل دیگر نیز می توانند انجام دهند.) برنامه های جدید انجام می دهند تا به توسعه دهندگان کمک کنند تا آسیب پذیری ها را پیدا کنند و از پیامدهای امنیتی شیوه طراحی، کد نویسی و پیکربندی خود آگاه شوند.
به طور کلی توسعه دهندگان، فرآیند مدلسازی تهدید را در 4 مرحله انجام می دهند:
مزایای مدلسازی تهدید:
فرآیند مدلسازی تهدید هنگامی که بدرستی انجام شود، می تواند دید واضحی را در یک پروژه نرم افزاری فراهم کند و به توجیه تلاش های امنیتی کمک می کند. این فرآیند، به یک سازمان کمک می کند تا تهدید های امنیتی قابل شناسایی در یک برنامه را مستندسازی کند و در مورد چگونگی برخورد با آنها تصمیمات منطقی بگیرد.
در سازمان هایی که از مدلسازی تهدید استفاده نمی شود، تصمیم گیران می توانند بر اساس شواهد اندک یا بدون پشتوانه ، عجولانه تصمیم بگیرند و عمل کنند
. به طور کلی فرآیند مدلسازی تهدید، تضمین هایی را فراهم می کند که در توضیح و دفاع از وضعیت امنیتی یک برنامه یا سیستم کامپیوتری مفید هستند. هنگامی که واحد توسعه یک سازمان، اهتمام جدی به موضوع امنیت داشته باشد ، مدلسازی تهدید موثرترین راهکار برای این موضوع خواهد بود که نتایج زیر را در برخواهد داشت:
تصورات غلط از مدلسازی تهدید
برخی افراد بر این باورند که مدلسازی تهدید، تنها یک فعالیت مرحله طراحی است. برخی آن را یک تمرین اختیاری می دانند که تست نفوذ یا بررسی کد می تواند جایگزین آن شود و برخی فکر می کنند که این یک فرآیند بسیار پیچیده است که البته تمامی این تصورات غلط است.
موارد زیر به رفع برخی از این تصورات غلط کمک می کند:
1. تست نفوذ و بررسی کد نمی تواند جایگزین مدلسازی تهدید شود:
تست نفوذ و بازبینی کد امن ، دو فعالیتی هستند که برای یافتن باگ در کد موثر هستند. با این حال ارزیابی های امنیتی (به عنوان مثال مدلسازی تهدید) در کشف نقص های طراحی بهتر هستند.
2. دلیل خوبی برای اجرای مدلسازی تهدید پس از استقرار وجود دارد:
درک مسائل موجود در استقرارهای فعلی، بر استراتژی معماری امنیتی آینده تاثیر می گذارد و نظارت بر نقاط ضعف ، امکان اصلاح سریع تر و موثرتر را فراهم می کند. بدون درک تهدیدهای بالقوه که یک برنامه با آن مواجه است، نمی توانید مطمئن شوید که به همه رسیک ها رسیدگی می کنید.
3. مدلسازی تهدید چندان پیچیده نیست:
بسیاری از توسعه دهندگان از ایده مدلسازی تهدید می ترسند. در نگاه اول ممکن است دلهره آور و یا ترسناک به نظر برسد. با این حال اگر وظایف را به مراحل عملی تقسیم کنید، اجرای یک مدل تهدید در یک وب اپلیکیشن ساده (یا حتی با معماری پیچیده) به صورت سیستماتیک انجام می شود. کلید کار این است که با گام های پایه ای شروع کنید.
بهترین روشهای مدلسازی تهدید:
کاربرد مطلوب مدل سازی تهدید، ارتقای درک امنیتی در کل تیم است. این اولین گام در جهت ایجاد امنیت است که همه مسئولیت آن را بر عهده دارند. از نظر مفهمومی مدل سازی تهدید یک فرآیند ساده است. بنابراین در هنگام ایجاد یا بروزرسانی یک مدل تهدید، این پنج روش اساسی را در نظر بگیرید:
1. تعریف دامنه و عمق تحلیل:
دامنه را با ذینفعان مشخص کنید، سپس عمق تحلیل را برای تیم های توسعه تجزیه کنید تا آنها بتوانند مدلسازی تهدید نرم افزار را انجام دهند.
2. ایجاد درک بصری از آنچه در حال مدلسازی هستید:
یک دیاگرام از اجزای اصلی سیستم ( به عنوان مثال، سرور برنامه، دیتابیس، مشتریان و ... و تعاملات بین اجزای آن ایجاد کنید.
3. مدلسازی حملات احتمالی:
دارایی های نرم افزار، کنترل های امنیتی و عوامل تهدید را شناسایی کنید. موقعیت آنها را در دیاگرام مشخص کنید یا یک مدل امنیتی از سیستم ایجاد کنید. شکل (1) هنگامی که سیستم را مدل سازی کردید، می توانید با استفاده از روشهایی مانند STRIDE تشخیص دهید که چه چیزی ممکن است اشتباه باشد.(یعنی تهدیدات)
4. شناسایی تهدیدات:
برای تهیه لیستی از حملات احتمالی ، سوالاتی مانند موارد زیر را بپرسید:
5. ایجاد یک ماتریس قابل ردیابی از کنترل های امنیتی گم شده یا ضعیف:
عوامل تهدید را در نظر بگیرید و مسیرهای کنترل آنها را دنبال کنید. اگر بدون عبور از یک کنترل امنیتی به دارایی نرم افزار دسترسی پیدا کردید ، این یک حمله بالقوه است. اگریک کنترل را انجام می دهید، در نظر بگیرید که آیا یک عامل تهدید را متوقف می کند یا اینکه عامل تهدید روش هایی برای دورزدن آن خواهد داشت؟
رویکرد مدل سازی تهدید Synopsys:
خدمات امنیتی نرم افزار synopsis شامل مدلسازی تهدید است که می تواند نقاط ضعف بالقوه ای را که ممکن است حساسیت سیستم شما به حمله را افزایش دهد شناسایی کند. از جمله نقص طراحی امن، حذف کنترل امنیتی ، کنترل پیکربندی اشتباه، ضعف ها یا سو استفاده.
رویکرد سطح بالا Synopsis:
همانطور که شکل 2 نشان می دهد، رویکرد سطح بالا synopsis برای مدلسازی تهدید از مراحل زیر پیروی می کند:
1. مدلسازی سیستم
2. تجزیه و تحلیل تهدیدات
3. اولویت بندی تهدیدات
1. مدل سازی سیستم:
مدلسازی سیستم از دو بخش تشکیل شده است:
2. تجزیه و تحلیل تهدیدات :
شاید مهم ترین فعالیت در مدلسازی تهدید، شناسایی تهدیدات باشد. بیشتر رویکردها به دو دسته تقسیم می شوند:
تحلیل Synopsys از یک رویکرد شبه چک لیست استفاده می کند. این روش از یک الگو برای هدایت تحلیل اصلی استفاده می کند، اما همچنان تحلیل خلاق را باقی می گذارد. Synopsys از تجزیه و تحلیل پروتکل برنامه های از پیش ساته برای پروتکل های کاربردی متداول مانند kerberos، OIDC، SAML، OAuth، تایید هویت مبتنی بر گذرواژه و غیره استفاده می کند. این لیست جامع نیست، اما به شما اجازه می دهد در مورد حوزه هایی که برای تحلیل کردن مهم است فکر کنید.
3. اولویت بندی تهدیدات:
وقتی سیستم را مدلسازی می کنید و تحلیل تهدید انجام می دهید، در واقع فهرستی از تهدیدات را ایجاد کرده اید. اکنون زمان اولویت بندی آنها فرارسیده است. Synopsys برای مشخص کردن شدت هر تهدید، از رویکرد NIST برای اولویت بندی تهدیدات ، با استفاده از کمی سازی احتمال و تاثیر هر تهدید استفاده می کند.
ترجمه ای آزاد از منبع: