یکی از بهترین راهکارهایی که شرکتهای امنیتی و به ویژه کارشناسان امنیتی برای مقابله و پیشگیری از بروز حملههای سایبری از آن استفاده میکنند.
مدلسازی تهدیدات سایبری به چه معنا است؟
یکی از بهترین راهکارهایی که شرکتهای امنیتی و به ویژه کارشناسان امنیتی برای مقابله و پیشگیری از بروز حملههای سایبری از آن استفاده میکنند بررسی و تجزیه و تحلیل نرمافزارهایی است که کارمندان از آن استفاده میکنند. برای این منظور آنها از تکنیکی به نام مدلسازی تهدید استفاده میکنند. مدلسازی تهدید یک رویکرد ساختاری است که کاربر با استفاده از آن میتواند مخاطرات امنیتی که احتمال وقوع آنها در یک نرمافزار وجود دارد را شناسایی، بررسی، رتبهبندی و مقایسه کند. بهکارگیری این تکنیک، به کارشناسان امنیتی اجازه میدهد یک مرور کلی و جامع در ارتباط با امنیت برنامهها به دست آورند. در نتیجه تیمهای امنیت سایبری با استفاده از راهحل مدلسازی تهدید قادر به پیادهسازی یک چارچوب کاربردی قدرتمند برای مقابله با انواع تهدیدها خواهند بود.
یکی از بهترین راهحلها در این زمینه مدلسازی تهدید به شیوه STRIDE است که امروزه توسط کارشناسان امنیتی در سراسر جهان استفاده میشود. این مدل، یک راهکار اثبات شده و قوی در اختیار مدافعان سایبری قرار میدهد، سازوکارهای دفاعی مفید را پیشنهاد میکند و اطلاعات جالبی در ارتباط با ویژگیهای حمله یا هکرها، روشهای حمله مورداستفاده توسط آنها و داراییهایی که مخاطرات بیشتری پیرامون آنها قرار دارد ارائه میکند. چنین روشی به شناسایی تهدیدات، رتبهبندی آنها، زمانبندی برای اصلاح آسیبپذیریها و ایجاد طرحهایی برای ایمنسازی داراییهای فناوری اطلاعات کمک میکند. به همین دلیل یک مدلسازی صحیح و مبتنی بر الگوهای واقعی از تهدیدات سایبری اهمیت زیادی دارد. در میان روشهای مختلفی که برای مدلسازی تهدیدات وجود دارد، STRIDE یکی از کارآمدترین آنها به شمار میرود.
مدلسازی حملههای سایبری با روش STRIDE
با استفاده از روش مدلسازی STRIDE حملات، شبیهسازی و ارزیابی دقیقی در ارتباط با آنها به دست میآید. ارزیابی مدلی که هکر از آن استفاده میکند با دسترسی به شبکه با هدف جمعآوری اطلاعات یا دسترسی به منابع انجام میشود. در نهایت، اقدامات مناسب متقابل برای پیشگیری یا به حداقل رساندن مخاطرات امنیتی انجام میشود. به طور مثال، برخی کارشناسان امنیتی برای شناسایی مخاطرات امنیتی مرتبط با شبکههای OpenFlow از رویکرد فوق استفاده میکنند. درست است که ارزیابی و تجزیه و تحلیل جامع نیست، اما بخش عمدهای از آسیبپذیریهایی که به هر دلیلی تشخیص داده نشدهاند را مشخص میکند.
STRIDE سرنام 6 گروه از تهدیدات سایبری بهنامهای جعل هویت (Spoofing identity)، دستکاری دادهها (Tampering with data) تهدیدات انکارناپذیر (Repudiation threats)، افشای اطلاعات (Information disclosure)، انکار سرویس (Denial of service) ارتقای سطح دسترسی (Elevation of privileges) است. این مدل در اواخر دهه 90 میلادی و توسط دو نفر از متخصصان ارشد شرکت مایکروسافت ارایه شد.
تیمهای امنیت سایبری میتوانند برای شناسایی تهدیدات در مرحله طراحی یک سیستم یا برنامه کاربردی از رویکرد مدلسازی تهدید به شیوه STRIDE استفاده کنند. گام اول این مدل پیدا کردن تهدیدات بالقوه از طریق یک فرایند پیشگیرانه و طراحی زیربنایی سیستم و اصول لازم برای تشخیص تهدید است. مراحل بعدی پیدا کردن ریسکهای ذاتی در نحوه پیادهسازی سیستم و انجام کارهای لازم برای برطرف کردن آسیبپذیریهای امنیتی است. هدف از بهکارگیری روکید STRIDE تضمین حفظ اصول سهگانه محرمانگی، یکپارچگی و دسترسپذیری توسط یک برنامه کاربردی یا یک سیستم است. طراحان STRIDE آن را به گونهای طراحی کردهاند تا این اطمینان حاصل شود که طراحان نرمافزارها برای پلتفرمهایی مثل ویندوز، لینوکس یا سایر سیستمها، همه تهدیدها را در مرحله طراحی در نظر گرفتهاند. از STRIDE باید به همراه مدل سیستم هدف استفاده شود و در کنار این مدل، اقداماتی مثل تشریح فرایندها، منابع دادهای، جریانهای دادهای و مشخص کردن مرزهای اعتماد هم انجام شود.
شبیهسازی STRIDE مناسب چه متخصصانی است؟
به طور معمول کارشناسان امنیتی و برنامهنویسان باید از این تکنیک استفاده کنند. توسعهدهندگان میتوانند با استفاده از مدلسازی STRIDE، مکانیزمهای دفاعی لازم برای هر تهدید را طراحی کنند. به طور مثال، فرض کنید یک پایگاه داده مدیریتی پیدا میکنید که در معرض تهدیداتی مانند دستکاری دادهها، افشای اطلاعات و انکار سرویس، آسیبپذیر است. در این حالت میتوانید سازوکارهایی مثل گزارشهای کنترل دسترسی، امنیت لایه انتقال/لایه سوکت یا احراز هویت IPSec سرنام Internet Protocol Security که مجموعهای از پروتکلها که تبادل امن بستهها در لایه IP را پشتیبانی میکند را برای مقابله با این چالش امنیتی پیادهسازی کنید.
بهکارگیری STRIDE در بستر ابر
از مدلسازی تهدید به روش STRIDE میتوان برای مقابله با تهدیدات نوظهوری در حوزه رایانش ابری نیز استفاده کرد. محاسبات ابری در مقایسه با محاسبات درون سازمانی، نیازها و چالشهای خاص خود را دارند، زیرا سیستمها همواره در معرض تهدیداتی سایبری مختلفی قرار دارند که ممکن است در محیط سازمان وجود نداشته باشند. بنابراین این تهدیدات نیز باید ارزیابی شوند.
برای مقابله با این تهدیدات از مدل STRIDE جهت تشخیص و پیادهسازی راهحلهای اصلاحی استفاده میشود. به این ترتیب کارشناسان امنیتی میتوانند نیازهای موجود در زمینه نظارت، ثبت گزارش و هشداردهی را مشخص کنید. علاوه بر این، STRIDE امکان طراحی سازوکارهای دفاعی لازم از جمله احراز هویت، حفاظت از دادهها، بررسی و تأیید محرمانگی، دسترسپذیری و صدور مجوز را به ازای هر تهدید را ارائه کنند. در نهایت میتوان برای مقابله با تهدیدات نوظهور بر مبنای میزان آسیبپذیری، قابلیت بازتولید، امکان سوءاستفاده، کاربران آسیبپذیر و قابلیت شناسایی آنها را طبقهبندی و تقسیمبندی کرد.
پیشگیری از بروز حملههای سایبری سازمانی
علاوه بر این، مدل STRIDE به کارشناسان امنیتی این امکان را میدهد که تهدیدات اینترنت اشیا را شناسایی کرده و به مقابله با آنها بپردازند. ضمن اینکه مدیران سازمانها و کارشناسان امنیتی با استفاده از راهحلهای مدلسازی تهدید میتوانند از بروز خطا پیشگیری کرده و رخنههای موجود در سیستمها را شناسایی کنند؛ بنابراین سازمانها برای مقابله بهتر با تهدیدات نوظهور، آمادگی لازم را دارند و واکنش کارآمدتری در برابر آنها خواهند داشت.
تکنیک STRIDE چگونه انجام میشود؟
برای پیادهسازی مدلسازی تهدید در ارتباط با برنامههای کاربردی از مکانیزمی به نام OWASP برای شناسایی و روش STRIDE برای طبقهبندی و روش DREAD برای ارزیابی، مقایسه و اولویتبندی مخاطرات بر مبنای شدت خطر آنها استفاده میشود. به طور معمول مراحل مدلسازی تهدید برنامههای کاربردی به شرح زیر انجام میشود:
تجزیهوتحلیل برنامه کاربردی
اولین قدم از مدلسازی تهدید، درک نحوه تعامل با عوامل داخلی و خارجی است. شناسایی نقاط ورود، مرزهای دسترسی، کنترل دسترسی و فناوری مورد استفاده اهمیت زیادی دارد. این مرحله در روش آزمایش OWASP به مرحله جمعآوری اطلاعات مشهور است و در آن بیشترین اطلاعات در مورد هدف موردنظر به دست میآید.
تشخیص
پیادهسازی چارچوب آزمایش OWASP باعث شناسایی آسیبپذیریهای مستتر در برنامههای کاربردی میشود که به طور معمول به نام آزمایش نفوذ (Penetration) از آن نام برده میشود. در آزمایش نفوذ، کارشناسان امنیتی از ابزارها و تکنیکهای مختلفی برای پیدا کردن انواع مختلفی از آسیبپذیریهای مستتر در برنامهها استفاده میکنند.
طبقهبندی تهدیدات
پس از شناسایی آسیبپذیریها کارشناسان امنیتی از الگوی STRIDE برای طبقهبندی آنها استفاده میکنند. تکنیک فوق روی نکات و مفاهیم مختلفی متمرکز است. به طور مثال، Spoofing به معنای آنکه هکر سعی میکند به جای شخصی دیگری خود را به سیستم معرفی کند، Tampering به معنای آن است که هکر دادههایی که بین برنامه و کاربر اصلی انتقال پیدا میکنند را تغییر میدهد، Repudiation به معنای آن است که هکر عملی در برنامه انجام میدهد که قابلردیابی نیست، Information Disclosure به معنای آن است که هکر دادههای خصوصی را به دست آورده که در برنامه (پایگاه داده) ذخیره میشود، Denial of Service به معنای آن است که هکر میتواند کاربران را از دسترسی به برنامه یا خدمات دور کند و در نهایت Elevation of Privilege به معنای آن است که هکر امکان دسترسیهای لازم برای نفوذ کامل به زیرساختها را به دست آورده است. به طور معمول، هنگامی که صحبت از مدلسازی تهدیدات به شیوه STRIDE به میان میآید، در ادامه رویکرد DREAD نیز به کار گرفته میشود. کارشناسان امنیتی از روش DREAD به منظور ارزیابی، مقایسه و اولویتبندی شدت ریسک مرتبط با هر تهدید که با استفاده از STRIDE طبقهبندی شده، استفاده میکنند. فرمولی که برای محاسبه میزان خطرپذیری یک تهدید سایبری از آن استفاده میشود به شرح زیر است:
DREAD Risk = (Damage + Reproduciblity + Exploitability + Affected Users + Discoverability) / 5
خطر DREAD = (خسارت + تولید مجدد + اکسپلویت یا همان بهرهبرداری + کاربران یا منابع تحتتأثیر قرار گرفته+ کشف) / 5
بر مبنای فرمول اشاره شده، محاسبات همواره مقداری در بازه 0 تا 10 هستند. هر چه این رقم بیشتر شود، مخاطره امنیتی خطرناکتر است. در ادامه یک روش ریاضی نمونه برای پیادهسازی روش DREAD شرح داده شده است:
ظرفیت خسارت یا خطرناک بودن (Damage Potential)
اولین پرسشی که کارشناسان امنیتی مطرح میکنند این است که اگر یک حمله امنیتی انجام شود چه میزان خسارتی به زیرساختها وارد میکند:
0: به معنای بی خطر بودن است.
5: افشای اطلاعاتی را به همراه خواهد داشت که در ترکیب با سایر آسیبپذیریها از آن استفاده میشود.
8: دادههای کاربری حساس فردی یا کارفرمایی با چالش جدی روبرو میشود.
9: دادههای غیر حساس اجرایی در معرض ریسک قرار میگیرند.
10: زیرساخت یا پایگاههای داده بهطور کامل تخریب میشوند یا ممکن است برنامه کاربردی غیر قابل استفاده شود.
قابلیت بازتولید دوباره (Reproducible)
دومین مفهوم مهمی که به آن پرداخته میشود بازتولید دوباره تهدید با هدف سوء استفاده از آن است. به بیان ساده، شما حملهای را شناسایی کرده و آن را دفع کردهاید، اما عواملی که باعث بروز حمله شدهاند را شناسایی و برطرف نکردهاید، بهطوری که هکرها میتوانند بازهم از همان نقطه به زیرساخت سازمان آسیب وارد کنند.
0: بسیار سخت یا غیرممکن است و حتا کارشناسان امنیتی سازمان نیز قادر به انجام آن نیستند.
5: مراحل پیچیدهای برای کاربر مجاز لازم است تا بتواند چنین کاری را تکرار کند.
7.5: یک کاربر با مجوزهای مربوطه بدون مشکل قادر به انجام آن است.
10: بدون تأیید اعتبار، فقط یک مرورگر وب برای پیادهسازی حمله کافی است.
استخراجپذیر بودن (Exploitability)
سومین پرسشی که مطرح میشود این است که هکرها برای سوء استفاده از تهدیدات سایبری به چه ملزومات اولیهای نیاز دارند؟
2.5: دانش شبکه و برنامهنویسی پیشرفته و بهکارگیری ابزارهای حمله سفارشی یا پیشرفته.
5: آسیبپذیری همراه با ابزارهای در دسترس کاربران قابل سوء استفاده است.
9: یک ابزار پروکسی وبمحور کفایت میکند.
10: تنها به یک مرورگر وب برای پیادهسازی موفقیتآمیز حمله نیاز است.
کاربران متأثر از حمله (Affected Users)
چهارمین پرسش به این نکته اشاره دارد که چه تعداد کاربر تحت تأثیر حمله قرار خواهند گرفت؟
0: به معنای هیچ کاربرد.
2.5: فرد یا کارفرمایی که یکبار در معرض حمله قرار گرفته است.
6: برخی کاربران با امتیازات فردی یا مدیران عامل، اما نه همه آنها.
8: کارمندان اجرایی.
10: همه کاربران.
توانایی شناسایی و کشف (Discoverability)
پنجمین پرسش در این زمینه به این مسئله میپردازد که کشف تهدید چقدر ساده است؟
0: نیاز به کد منبع یا دسترسی اجرایی بسیار سخت نیاز است.
5: با نظارت و دستکاری در درخواستهای پروتکل HTTP میتوان آنرا تشخیص داد.
8: جزئیات خرابیهایی به شکل عمومی در دسترس همه کاربران قرار دارد و از طریق بهکارگیری موتورهای جستجوی خاص میتوان به جزییات فنی مختلفی دست پیدا کرد.
10: از طریق یک مرورگر اینترنتی و موتورهای جستوجوی ساده همه چیز در دسترس قرار دارد.
روش DREAD میتواند برای پاسخگویی به نیازهای حرفهای سازمانها و کارشناسان امنیتی به شکل سفارشی استفاده شود. بااینحال، نکته مهمی که باید به آن دقت کنید این است که تصمیمگیریها باید قبل از شروع کار انجام شوند و در حین کار تغییر پیدا نکنند.
منبع:sHABAKEH-MAG
اموزش دوره امنیت شبکه