آموزش بهینه‌سازی امنیت شبکه با مدل سازی تهدید (Threat Modeling)

سیستمهای اطلاعاتی و ارتباطی امروزی با انواع تهدیدات امنیت سایبری روبرو هستند. با تغییر فناوری‌ها، تعداد این تهدیدات در حال افزایش است. هزینه حملات بدافزاری که از آسیب‌پذیری‌های سخت‌افزاری و نرم‌افزاری سوءاستفاده می‌کنند، در سال ۲۰۲۲ به ۵.۵ میلیارد دلار رسید و روند نزولی را که از سال ۲۰۱۹ آغاز شده بود، شکست.علاوه بر این، خسارات ناشی از جرایم سایبری در سال 2023 به 8.15 میلیارد دلار رسید و انتظار می‌رود تا سال 2028 به 13.82 میلیارد دلار هم برسد.


تهدیدات امنیت سایبری هم از بیرون و هم از داخل سازمان‌ها می‌آید و پیامدهای مخربی دارد. حملات می‌توانند به طور کلی یک سیستم را غیرفعال کنند یا منجر به نشت اطلاعات محرمانه شده و اعتماد مصرف کننده به ارائه دهنده سیستم را کاهش دهند.
برای جلوگیری از اجرای موفقیت آمیز تهدیدها، تیم‌ها می‌توانند از روش‌ها و ابزارهای مختلفی برای مدل سازی آنها استفاده کنند.


تعریف مدل سازی تهدید(Threat Modeling)

مدل‌سازی تهدید از تهدیدات سایبری واقعی برای تجزیه و تحلیل واکنش‌های سیستم به آنها تقلید می‌کند. هدف اصلی مدل‌سازی تهدید، ارزیابی خطرات حملات سایبری و اتخاذ تدابیری برای جلوگیری از آن است.
مدل سازی تهدیدات امنیتی شبکه در مرحله برنامه ریزی یک سیستم یا شبکه برای شناسایی مشکلات احتمالی در مراحل اولیه رخ می‌دهد. مدل‌سازی تهدید در صورت پیاده‌سازی صحیح می‌تواند از هزینه‌های قابل توجهی برای سازمان‌ها در صورت حملات مخرب جلوگیری و امنیت یک سیستم نرم‌افزاری را تقویت کند.
برای استفاده حداکثری از فرآیند مدل‌سازی تهدید، شرکت‌ها باید آن را به طور منظم اجرا کنند. مدل سازی تهدیدات پس از تغییرات قابل توجه در معماری شبکه اهمیت ویژه‌ای دارد. با رعایت اصل منظم بودن در مدل‌سازی تهدید، شرکت‌ها آسیب‌پذیری‌های شبکه را کاهش داده و در برابر حملات سایبری مقاوم‌تر می‌شوند.

اجزای اساسی مدل سازی تهدید

بر اساس ISO، هفت عنصر کلیدی مدل سازی تهدید وجود دارد. آنها عبارتند از:

  • مالکان - افراد یا نهادهایی که مسئول دارایی‌های خاص در یک شبکه که مسئول امنیت و حفاظت دارایی هستند.
  • اقدامات متقابل - اقدامات امنیتی اجرا شده برای کاهش تهدیدات و آسیب پذیری‌های شناسایی شده. هدف اقدامات متقابل جلوگیری یا به حداقل رساندن تاثیر احتمالی حملات است.
  • آسیب پذیری‌ها - نقاط ضعف یا نقص در یک سیستم که مهاجمان می‌توانند از آنها سوء استفاده کنند که می‌توانند در نرم‌افزار، سخت‌افزار یا تنظیمات وجود داشته باشند و امنیت سیستم را به خطر بیندازند.
  • ریسک - آسیب بالقوه‌ای که ممکن است در اثر بهره برداری از آسیب پذیری‌ها ایجاد شود. بر اساس احتمال وقوع یک حمله و تاثیر آن بر سازمان در صورت موفقیت محاسبه می‌شود.
  • دارایی‌ها - عناصر ارزشمند در یک سیستم، مانند داده‌ها، برنامه‌های کاربردی، سخت افزار یا مالکیت معنوی که شناسایی و طبقه بندی دارایی‌ها برای درک آنچه باید محافظت شود، بسیار مهم است.
  • تهدیدها - خطرات بالقوه یا رویدادهای مضری که می‌توانند از آسیب پذیری‌ها سوء استفاده کنند و دارایی‌ها را به خطر بیندازند.
  • عوامل تهدید - افراد یا نهادهایی که حملات را انجام می‌دهند. آنها از آسیب پذیری‌ها برای به خطر انداختن دارایی‌ها سوء استفاده می‌کنند. شناخت عوامل تهدید به پیش بینی سناریوهای حمله بالقوه کمک می‌کند.

هفت مرحله برای پیاده سازی مدل سازی تهدیدات امنیتی شبکه

سازگاری و یک رویکرد سیستماتیک، مبنای اجرای موفق مدل‌سازی تهدید است. البته هر پروژه منحصر به فرد است. با این حال، یک الگوریتم به طور کلی پذیرفته شده وجود دارد که به شما کمک می‌کند تا روش مدل سازی تهدید را بدون اقدامات آشفته و بدون فکر دنبال کنید.

در ادامه مراحلی وجود دارد که باید دنبال کنید:

  1. محدوده را تعریف کنید

بخش‌های شبکه، برنامه‌ها و سرویس‌های مورد تجزیه و تحلیل را مشخص کنید.

بخش های شبکه (Network segments)
•    شبکه‌های داخلی: LAN داخلی، VLAN و اینترانت
•    DMS: سرورهای قابل دسترسی از اینترنت
•    شبکه‌های شریکی: شبکه های مشترک با شرکای تجاری
•    شبکه‌های دسترسی از راه دور: VPN‌ها و سایر نقاط دسترسی از راه دور

اپلیکیشن‌(Application)
•    اپلیکیشن‌های مبتنی بر وب، از جمله API‌ها و خدمات وب
•    پایگاه‌های داده‌ای که اطلاعات حساس را ذخیره می‌کنند
•    سرورها و خدمات ایمیل
•    پلتفرم‌های همکاری، از جمله برنامه‌های اشتراک‌گذاری اسناد و پیام‌رسانی

سرویس‌ها (Services)
•    DNS 
•    DHCP 
•    NTP 
•    خدمات اشتراک فایل

  1. دارایی‌ها را شناسایی کنید

فهرست تمام دارایی‌های شبکه، مانند سرورها، پایگاه‌های داده، روترها و مخازن داده‌های حساس. ارزش هر دارایی و اهمیت آن برای عملیات شبکه را درک کنید.

برای ساده سازی شناسایی دارایی:

  • یک inventory جامع از تمام دارایی‌های شبکه ایجاد کنید
  • دارایی‌ها را به عنوان critical، important یا non-critical طبقه بندی کنید
  • طبقه بندی داده‌های ذخیره شده یا پردازش شده توسط دارایی ها (این ممکن است داده های مشتری، داده های مالی، مالکیت معنوری و غیره باشد)
  • روابط بین دارایی‌ها را ترسیم کنید
  • تجزیه و تحلیل وابستگی بین دارایی‌ها
  • آسیب‌پذیری‌ها و پیکربندی‌های نادرست دارایی را شناسایی کنید که می‌توانند مورد سوء استفاده قرار گیرند
  • کنترل‌های دسترسی را برای هر دارایی مرور کنید
  • مستندات دقیق برای هر دارایی ایجاد کنید
  1. تهدیدات را برشمارید

تهدیدهای خارجی و داخلی مخصوص امنیت شبکه را فهرست کنید. عوامل تهدیدی را که می‌توانند مسئول حملات شبکه باشند را برشمارید.

تهدیدهای خارجی

  • بدافزار – ویروس‌ها، تروجان‌ها و باج افزارها
  • حملات فیشینگ – ایمیل‌ها یا وب سایت‌های فریبنده
  • حملات DoS - منابع شبکه را تحت تاثیر قرار می‌دهد
  • حملات DDoS  - مشابه DoS، اما از منابع متعدد هماهنگ شده است.
  • حملات MitM (Man-in-the-Middle) - ارتباط بین دو طرف را تغییر داد
  • حملات گذرواژه - دسترسی غیرمجاز از طریق brute force یا credential stuffing
  • حملات DNS spoofing - هدایت کاربران به سایت‌های مخرب

تهدیدات داخلی

  • تهدیدات داخلی - اقدامات کارکنان یا پیمانکاران درون سازمان
  • سرقت داده‌ها - دسترسی غیرمجاز به داده‌های حساس برای منافع شخصی یا جاسوسی
  • مهندسی اجتماعی - فریب دادن کارکنان به افشای اطلاعات محرمانه
  • پیکربندی اشتباه کنترل‌های دسترسی - دسترسی به داده‌ها یا سیستم‌های فراتر از نقش‌های کارمندان
  • خطرات BYOD - تهدیدهای کارکنانی که از دستگاه‌های شخصی در شبکه شرکت استفاده می‌کنند

عوامل تهدید

  • عوامل تهدید (Threat agents)
  • هکتیویست (Hacktivists)
  • مجرمان سایبری
  • بازیگران تحت حمایت دولت (State-sponsored actors)
  • خودی‌ها
  • هکرهای آماتور
  • رقبا
  • گروه‌های تروریستی
  • کارمندان ناراضی
  • هکرهای اخلاقی
  • ربات‌های خودکار
  1. آسیب پذیری را ارزیابی کنید

در این مرحله از مدل‌سازی تهدید، ارزیابی نقص‌های نرم‌افزار، پیکربندی‌های نادرست، مکانیسم‌های احراز هویت ضعیف و پروتکل‌های رمزگذاری ناکافی ضروری است. شما باید هم آسیب پذیری‌های شناخته شده و هم آسیب پذیری های بالقوه روز صفر را ارزیابی کنید.

توصیه می کنیم از بازرسی دستی و خودکار برای دریافت تصویر کاملی از تهدیدات شبکه استفاده کنید.
برای اسکن خودکار، می‌توانید از ابزارهایی مانند Nessus، OpenVAS یا Qualys استفاده کنید.
برای بررسی های دستی، از بررسی کد، بررسی پیکربندی و بازرسی‌های امنیتی فیزیکی استفاده کنید.

  1. ریسک را ارزیابی کنید

این زمانی است که مدل‌سازی تهدید به شما کمک می‌کند تاثیر کمّی نقض داده‌های احتمالی را درک کنید.
به عنوان بخشی از ارزیابی ریسک، می توانید محاسبه کنید:

  • تاثیر عملیاتی، که هزینه‌های مرتبط با زمان خرابی و تلاش‌های بازیابی را تعریف می‌کند
  • تاثیر شهرت، که هزینه‌های مشتریان از دست رفته، کاهش فروش و تلاش‌های روابط عمومی را برای بازسازی اعتماد تخمین می‌زند.
  • تاثیر حقوقی، که جریمه، دعاوی و تسویه حساب را در نظر می‌گیرد

توصیه می‌کنیم سطوح تاثیر را به ریسک‌های تعریف‌شده برای اولویت‌بندی حذف آنها اختصاص دهید:

  • تاثیر زیاد - اگر حمله موفقیت آمیز باعث آسیب شدید مالی، عملیاتی، اعتباری یا قانونی شود
  • تاثیر متوسط - اگر پیامدها قابل توجه اما قابل کنترل باشند
  • ضربه کم - اگر ضربه جزئی و به راحتی قابل بازیابی باشد
  1. انتخاب اقدامات متقابل

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

  • برای رفع آسیب‌پذیری‌های شناخته شده، سیستم‌عامل‌ها، برنامه‌ها و میان‌افزار را اصلاح و به‌روزرسانی کنید
  • از اصل کمترین امتیاز پیروی کنید و اطمینان حاصل کنید که کاربران حداقل دسترسی لازم برای انجام وظایف خود را دارند.
  • شبکه را بر اساس الزامات امنیتی به مناطق تقسیم کنید
  • استقرار فایروال‌ها برای نظارت و کنترل ترافیک ورودی و خروجی شبکه.
  • از سیستم‌های تشخیص نفوذ و پیشگیری برای شناسایی تهدیدات احتمالی در لحظه استفاده کنید
  • داده‌های حساس را در حالت استراحت و در حال انتقال رمزگذاری کنید
  • یک برنامه واکنش قوی به حادثه ایجاد کنید
  • از داده‌ها بکاپ گرفته و فرآیند بازیابی را تست کنید
  • اطمینان حاصل کنید که شیوه‌های امنیتی فروشندگان شخص ثالث با استانداردهای امنیتی سازمان شما مطابقت دارد
  • رمزگذاری دستگاه، قابلیت‌های پاک کردن از راه دور و محدودیت‌های برنامه را پیاده‌سازی کنید
  1. فرآیند مدل سازی تهدید را مستند کنید

کل فرآیند مدل‌سازی تهدید شامل دارایی‌های شناسایی شده، تهدیدات، آسیب‌پذیری‌ها، ارزیابی ریسک، اقدامات متقابل انتخابی و برنامه‌های اقدام را مستند کنید.
این اسناد به عنوان مرجعی برای ابتکارات امنیتی آینده خواهد بود. این به تیم‌ها کمک می‌کند تا پیشرفت را مانیتور کرده و تصمیمات آگاهانه بگیرند.
به‌روزرسانی مستندات مدل‌سازی تهدید با تکامل شبکه و ظهور تهدیدات جدید ضروری است.

 

سرور مجازی یک ماشین مجازی کامل است که امکان نصب نسخه‌های مختلف اوبونتو روی آن فراهم است.
خرید سرور مجازی در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.


متدولوژی‌های رایج مدل سازی تهدید

چندین روش مدل سازی تهدید به طور گسترده در زمینه امنیت سایبری استفاده می‌شود. رایج‌ترین آنها را در این بخش بررسی می‌کنیم:

متدولوژی STRIDE

STRIDE مخفف عبارت Spoofing، Tampering، Repudiation، Information Disclosure، Denial of Service و Elevation of Privilege است. مدل STRIDE تهدیدهای امنیتی را بر اساس این شش کلمه دسته بندی می‌کند.

مثال مدل تهدید STRIDE: فرآیند احراز هویت برنامه وب

Spoofing: مهاجم سعی می‌کند با استفاده از اعتبار دزدیده شده، هویت یک کاربر قانونی را جعل کند.
Tampering: مهاجم اطلاعات کاربر را در حین احراز هویت تغییر می‌دهد تا امتیازات بالاتری به دست آورد.
Repudiation: مهاجم از آسیب‌پذیری‌ها برای انجام اقدامات غیرمجاز، مانند تغییر تنظیمات حساب، سوء استفاده می‌کند و در صورت سوال، دخالت را رد می‌کند.
Information disclosure: یک نقص امنیتی دسترسی غیرمجاز به داده‌های حساس کاربر، از جمله آدرس ایمیل و اطلاعات مالی را امکان پذیر می‌کند.
Denial of service: DDoS وب سرور را مختل می‌کند، برنامه را از کار می‌اندازد و آن را برای کاربران قانونی غیرقابل دسترسی می‌کند.
Elevation of privilege: کاربر از آسیب پذیری برای دسترسی غیرمجاز به اقدامات administrative سوء استفاده می‌کند.

اقدامات متقابل:

Spoofing: مکانیسم‌های قوی احراز هویت کاربر را برای تایید هویت آنها پیاده سازی کنید.
Tampering: اعتبار سنجی ورودی و رمزگذاری خروجی را برای جلوگیری از دستکاری داده‌ها در برنامه پیاده سازی کنید.
Repudiation: مکانیسم‌های جامع ثبت و حسابرسی را برای ردیابی فعالیت‌های کاربر پیاده سازی کنید.

Information disclosure: از کنترل‌های دسترسی استفاده کنید تا کاربران را از دسترسی به داده‌های غیرمجاز محدود کنید.
Denial of service: از فایروال و سیستم‌های تشخیص نفوذ برای شناسایی و مسدود کردن حملات DDoS استفاده کنید.
Elevation of privilege: اصل حداقل امتیاز را تمرین کنید و اطمینان حاصل کنید که کاربران حداقل حقوق دسترسی لازم را دارند.

متدولوژی DREAD

DREAD مخفف عبارت Damage, Reproducibility, Exploitability, Affected Users, and Discoverability است. مدل تهدید DREAD با اختصاص امتیاز به دسته‌های ذکر شده به اولویت بندی تهدیدها کمک می‌کند.

مثال مدل تهدید DREAD: برنامه اشتراک فایل شبکه

آسیب احتمالی (Damage potential): اگر یک کاربر مخرب به اسناد تجاری حیاتی دسترسی پیدا کند، می‌تواند منجر به زیان مالی شود (خسارت بالقوه بالا)
تکرارپذیری (Reproducibility): اگر آسیب پذیری به خوبی شناخته شده باشد، می توان با استفاده از ابزارهای به راحتی در دسترس از آن بهره برداری کرد (تکرارپذیری بالا)
قابلیت بهره برداری (Exploitability): اگر برنامه شبکه دارای یک آسیب پذیری شناخته شده باشد که کد بهره برداری عمومی برای آن وجود داشته باشد، به یک هدف جذاب برای مهاجمان تبدیل می‌شود (قابلیت بهره برداری بالا)
کاربران آسیب‌دیده (Affected users): این آسیب‌پذیری می‌تواند به طور بالقوه بر کل پایگاه کاربر تاثیر بگذارد (تاثیرپذیری بالا)
قابلیت کشف (Discoverability): اگر آسیب پذیری به راحتی از طریق اسکن شبکه یا اطلاعات در دسترس عموم قابل کشف باشد، احتمال سوء استفاده از آن بیشتر است (قابلیت کشف بالا)

اقدامات متقابل:

آسیب احتمالی (Damage potential):: فایل‌های حساس را رمزگذاری کنید، کنترل‌های دسترسی را تنظیم و احراز هویت کاربر را پیاده سازی کنید.
تکرارپذیری (Reproducibility):: برنامه شبکه را به طور منظم به روز کنید، تست نفوذ انجام دهید و بازبینی کد را اجرا کنید.
قابلیت بهره برداری (Exploitability):: پیاده سازی سیستم‌های تشخیص نفوذ و پیشگیری، آموزش کاربران در مورد حملات فیشینگ و مهندسی اجتماعی.
کاربران آسیب‌دیده (Affected users):: نقش‌ها و مجوزهای کاربر را بر اساس مسئولیت‌های آنها در برنامه جدا کنید.
قابلیت کشف (Discoverability): به طور منظم شبکه را برای آسیب پذیری‌ها با استفاده از ابزارهای خودکار اسکن کنید.


متدولوژی PASTA

PASTA مخفف عبارت Process for Attack Simulation and Threat Analysis است. این روشی است که به تیم‌ها کمک می‌کند تا متوجه شوند روی کدام تهدیدات باید تمرکز کنند. PASTA نیازهای تجاری را شناسایی کرده و آنها را با الزامات فنی مطابقت می‌دهد. در پاستا هفت مرحله وجود دارد:

نمونه مدل تهدید PASTA: سیستم خانه هوشمند اینترنت اشیا (IoT).

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

متدولوژی Trike

Trike یک روش مدل‌سازی تهدید است که رویکردهای مختلف مدل‌سازی تهدید را ادغام می‌کند. مخفف عبارت Threat, Requirements, Intelligence, Knowledge, and Estimation است.

مثال مدل تهدید Trike: سیستم مدیریت اسناد مبتنی بر ابر

تعریف سیستم: سیستم یک برنامه وب است که بر روی یک سرور ابری میزبانی می شود. کاربران می توانند اسناد را آپلود، به اشتراک بگذارند و ویرایش کنند. برای احراز هویت و ذخیره سازی با سرویس های مختلف شخص ثالث ادغام می شود.
شناسایی دارایی‌ها: دارایی ها شامل حساب های کاربری، اسناد حساس، نشانه های احراز هویت، سوابق پایگاه داده و پیکربندی های سیستم می باشد.
انتخاب روش‌ها: از STRIDE برای شناسایی جعل (توکن‌های احراز هویت جعلی)، دستکاری (اصلاح اسناد در حال حمل و نقل) و افشای اطلاعات (دسترسی غیرمجاز به اسناد) استفاده کنید. از PASTA برای تجزیه و تحلیل سناریوهای حمله استفاده کنید، مانند حملات فیشینگ برای سرقت اطلاعات کاربری کاربر یا حملات DDoS برای ایجاد اختلال در در دسترس بودن سرویس.
تجزیه و تحلیل سناریوی تهدید: یک مهاجم از یک آسیب پذیری (دستکاری) برای تزریق کد مخرب به یک سند سوء استفاده می کند. این سیستم های کاربر را هنگام دانلود سند به خطر می اندازد.
کاهش تهدیدها: از SDLC ایمن پیروی کنید، اسناد را در حالت استراحت و در حال انتقال رمزگذاری کنید، احراز هویت قوی را اجرا کنید و از خدمات حفاظتی DDoS استفاده کنید.
اعتبارسنجی و تکرار: آزمایش نفوذ را برای تأیید کنترل‌های امنیتی انجام دهید. اگر ویژگی‌ها یا آسیب‌پذیری‌های جدیدی کشف شد، مدل‌سازی تهدید Trike را تکرار کنید.