نقش مدلسازی تهدیدات در جلوگیری از وقوع حملات سایبری
یکی از راهکارهایی که برای توسعه نرمافزارهای امن از آن استفاده می شود اجرای روش «مدلسازی تهدید» است. این روش، رویکردی ساختاری بوده که با اجرای آن میتوان مخاطرات امنیتی که احتمال وقوع آنها وجود دارد را شناسایی کرد.
در سال 2020 میلادی، گروهی از کارشناسان امنیتی مقاله ای را در خصوص مدلسازی تهدید منتشر و در اختیار تیمهای امنیتی قرار دادند. در این مطلب از فراست، ابتدا مفهوم مدلسازی تهدید را بیان نموده سپس به تشریح مختصری از جزئیات، الگوها و توصیههایی که در این مقاله آمده است میپردازیم.
مدلسازی تهدید روشی برای بهینهسازی امنیت سیستم است که این کار را از طریق شناسایی اهداف، روشهای نفوذ و نقاط آسیبپذیر انجام میدهد. اولین و مهمترین گام در مدلسازی تهدید، مشخص کردن تمام بخشهایی است که قصد حفاظت از آنها را داریم. البته در هنگام شناسایی داراییهایی ارزشمند سازمان نباید فقط به آنچه که از دید خود (به عنوان توسعه دهنده یا مشتری) باارزش است توجه کنیم بلکه باید آنچه را که برای یک مهاجم احتمالی نیز دارای ارزش می باشد شناسایی و ارزیابی نماییم.
در گام بعدی باید سطح حمله را مشخص کنیم. این سطح در حالت کلی به 4 بخش زیر تقسیم میشود:
- مجموعه مسیرهای ورودی و خروجی برای اطلاعات و دستورها
- کدهایی که از این مسیرهای ورودی و خروجی محافظت میکنند؛ از جمله ارتباطات منابع و احراز هویت، اجازهنامهها و اعتبارسنجی دادهها
- تمامی اطلاعات باارزش سیستم مانند کلیدها، حقوق مالکیت معنوی، اطلاعات کسب و کار و اطلاعات شخصی
- کدهایی که از این اطلاعات محافظت میکنند؛ همچون رمزنگاری، حسابرسی دسترسی و کنترل عملیات امنیت
مسیر یا مقصد؛ کدام یک مهمتر است؟
با توجه به اینکه بین رویکردهای مدلسازی تهدید و انواع مدلهای تهدید تفاوتهای زیادی وجود دارد بنابراین تیم امنیتی سازمانها زمانی که قصد مدلسازی کردن تهدیدات را دارند باید تمرکز خود را بر روی مسیر بگذارند و نه مقصد. در این صورت آنها روشهای حمله و نقاط آسیبپذیر سیستم را بهتر می توانند شناسایی کنند.
اجرای عملی مدلسازی تهدید
تیمهای امنیتی سازمانها باید در وهله اول زمانی را برای تصمیمگیری جهت انتخاب روش مناسب مدلسازی تهدید اختصاص داده، سپس آن را به صورت عملی اجرا کنند.
به روز رسانی مدل
یکی از مواردی که روی انجام آن توصیه اکید شده است تغییر، رشد و توسعه مدل؛ همگام با تغییر و توسعه نرمافزار است.
اصول مدلسازی تهدید
ارتقای امنیت و حفظ حریم خصوصی از طریق تحلیلهای زودهنگام و پی در پی، از جمله کاربردهای مدلسازی تهدید است. البته اگر تیمهای امنیتی یک سازمان بررسی زودهنگام سیستمهای آن را انجام ندهند این امر بدین معنا نیست که فرصت آنها از دست رفته و شروع این کار دیگر فایدهای ندارد.
در یکی از نشستهای «پروژه امنیت برنامههای کاربردی تحت وب باز» از کارشناسان امنیتی پرسیده شد که: «بهترین زمان برای انجام مدل سازی تهدید چه زمانی است؟». آنها پاسخ دادند که: «هر چه زودتر این کار انجام شود، بهتر است و توصیه میشود انجام آن به تعویق نیافتد».
از آنجا که تیمهای توسعه دهنده همواره در حال انجام تغییراتی در نرمافزارهای فعلی هستند و عموماً پروژه جدیدی را شروع نمیکنند، همچنین با توجه به اینکه مدلسازی تهدید باید بر مبنای اصول توسعه نرمافزار سازمان انجام شده و تغییرات صورت پذیرفته در هر نسخه از نرمافزار را مورد بررسی قرار دهد بنابراین تیمهای مدلسازی تهدید باید در سریعترین زمان ممکن راهکارهای مدلسازی خود را به روز رسانی کرده و در انتظار انتشار نسخههای بعدی نمانند.
همچنین تحلیلهای پی در پی کدهای نرمافزار به تیمهای امنیتی این امکان را میدهد تا هر دفعه، بخش کوچکی از کد را تحلیل نموده و به این ترتیب حجم کاری آنها سبکتر و زمان کمتری را برای انجام این کار صرف خواهند کرد. با این حال، سؤالی که همیشه مطرح میشود این است که بهترین راه برای سازمان دهی فرایند مدلسازی تهدید چیست؟ پاسخ این پرسش، بستگی به نحوه سازمان دهی سایر فرایندها دارد.
چه افرادی برای اجرای «مدلسازی تهدید» روی نرمافزارها مناسب هستند؟
ابتدا مدیران سازمانها باید یک تیم متشکل از کارشناسانی را که در این حوزه تخصص کافی دارند، تشکیل دهند. آنها می بایست افرادی که قابلیتهای زیر را دارند انتخاب کنند:
- معماری سیستم را به خوبی درک نمایند.
- شناخت کاملی از فناوریهایی که قبلاً مورد استفاده قرار گرفتهاند یا قرار است در آینده از آنها استفاده شود داشته باشند.
- دانش امنیتی کافی در حوزه مورد نظر از جمله وب، تلفن همراه یا اینترنت اشیا و همچنین اطلاعات کافی در خصوص تاریخچه حملات صورت گرفته بر ضد راهکارهای مورد استفاده پیشین را داشته باشند.
- روشهای مناسبی را جهت ارزیابی تهدیداتی که احتمال مواجه شدن با آنها وجود دارد، انتخاب کنند.
- هدف و مسیر رسیدن به آن را مشخص نمایند.
- حریم خصوصی دادههایی را که با آنها کار میکنند، حفظ کنند.
البته مدیران و رؤسای سازمانها جزئیات فهرست بالا را میتوانند با توجه به ساختار سیستمهایی که در محیط سازمان مورد استفاده قرار میگیرند، تغییر دهند.
نتیجهگیری
همانطور که اشاره شد، هدف اصلی از مدلسازی تهدیدات، شناسایی نقاط آسیبپذیر، دشمنان و تهدیدات سیستم و ارزیابی شدت مخاطره ای می باشد که سیستم ممکن است با آن مواجه شود. هدف اصلی توسعهدهندگان و مسئولان امنیت از انجام این مدلسازیها دستیابی به ویژگی ها و روشهای حملات احتمالی است که در صورت شناسایی و مقابله به موقع، شانس موفقیت مهاجمان و سطح حمله را به مراتب محدودتر میکند.
سازمانها باید بدانند که مدلسازی امنیت، در وهله اول اقدامی پیشگیرانه بوده و در نهایت نیز مقدمهای است برای پایهریزی تدابیر مناسب دفاعی در برابر حملات احتمالی.