MITRE ATT&CK یک چارچوب Open Source متشکل از تاکتیکها و تکنیکهای مهاجمین است که براساس مشاهدات در دنیای واقعی ایجاد شده است. ATT&CK یک طبقهبندی مشترک را از اهداف تاکتیکی مهاجمین و روشهای آنها ایجاد مینماید. داشتن یک طبقهبندی بهخودیخود کاربردهای ارزشمند زیادی دارد، مثل فراهم کردن واژگان مشترک برای تبادل اطلاعات با دیگران در حوزهی امنیت. اما این طبقهبندی یک چارچوب فنی واقعی را نیز برای دستهبندی تلاشهای افراد در شناسایی نفوذ و شکافهای امنیتی ارائه میدهد تا افراد دید بهتری به برخی از رفتارهای حملهای پیدا کنند.
این مقاله ATT&CK و ابزار و منابع مرتبط به را آن را معرفی میکند. سپس در مورد نحوهی استفادهی کاربردی از ATT&CK با تمرکز روی شکار تهدید و شناسایی صحبت خواهد شد.
MITRE ATT&CK چیست؟
در این بخش ساختار ATT&CK، تاکتیکها و تکنیکهای تشکیلدهندهی آن، مثالها، نحوهی رفع خطر و شناسایی شرح داده میشود.
استفاده از MITRE ATT&CK
پس از یک شرح کلی از انواعی مختلفی از موارد کاربردATT&CK ، روی استفاده از ATT&CK برای کارهای زیر تمرکز خواهد شد:
- انجام تجزیهوتحلیل شکاف در مورد رفتار مخربی که در حال مانیتور شدن است
- بهبود تلاشهای شناسایی و شکار تهدید
- تست کردن قواعد شناسایی برای اطمینان حاصل کردن از آمادگی و آگاهی
شناسایی و شکار تهدید با پنج تکنیک متداول
در بخش انتهایی پنج تکنیک بهخصوص از ATT&CK مورد بررسی قرار میگیرند که برمبنای میزان شیوع و معیارهای دیگری انتخاب شدهاند که آنها را بهطور خاص برای شناسایی و شکار تهدید کاربردی میکند. هر یک از این تکنیکها عمیقاً مورد بررسی قرار خواهد گرفت و نحوهی استفاده از آنها توسط مهاجمین و روش لازم برای شناسایی آن معرفی خواهد شد. در این مورد بحث میشود که جمعآوری کدام Logها ضروری است، کدام Policy ممیزی باید فعالسازی گردد و در هر Log باید دنبال چه چیزی بود. ATT&CK یک رویکرد نرمال و ساختارمند برای طبقهبندی و توصیف روشهایی است که مهاجمین برای حمله به سیستمها مورداستفاده قرار میدهند. ATT&CK در سطح بالایی شروع میشود و چارچوب مناسبی از مفاهیم و روابط را برای درک روشهای حمله ارائه میدهد. اما ATT&CK با اطلاعات فنی بسیار دقیق و بهروز که در موارد کاربرد متفاوتی قابلاعمال هستند، از بحث نظری فراتر میرود. ATT&CK هر روش را توصیف کرده و راههایی پیشنهادی را برای اصلاح وضعیت و شناسایی حمله فراهم میکند.
بررسی تاکتیکها و تکنیکهای تشکیلدهنده MITRE ATT&CK
تاکتیکها
بالاترین سطح از سازماندهی در ATT&CK تاکتیکها هستند. هدف استراتژیک یک مهاجم میتواند باجگیری، سرقت اطلاعات یا صرفاً نابودی محیط IT یک سازمان باشد. اما مهاجمین باید به اهداف کوتاهمدت و تدریجی دست پیدا کنند تا نهایتاً به هدف اصلی خود برسند. اکثر مهاجمین با تلاش برای دستیابی به دسترسی اولیه (TA0001) کار را شروع میکنند. سپس تاکتیکهای اساسی دیگری ازجمله اجرا (TA0002) و تداوم (TA0003)، فارغ از هدف نهایی حمله، اهداف میانی ضروری هستند. مهاجمی که سعی دارد اطلاعات را به سرقت ببرد باید جمعآوری (TA0009) و نهایتاً استخراج (TA0010) را نیز انجام دهد. ممکن است مهاجمین از تاکتیکهای دیگری نیز برای رسیدن به هدف خود استفاده کنند، مثلاً پریدن از یک سیستم به سیستم دیگری یا از یک اکانت به اکانت دیگری از طریق حرکت جانبی (TA0008) یا تلاش برای مخفی شدن از مانیتورینگ با استفاده از تاکتیک فرار از دفاع (TA005).
اما مهم است درک شود که تاکتیکها یک دستهبندی هستند و یک هدف کوتاهمدت را توصیف میکنند. تاکتیکها میگویند که مهاجم در هر مرحله از حمله سعی دارد چه کاری انجام دهد، نه اینکه دقیقاً چطور قرار است این کار را انجام دهد.
جدول زیر تاکتیکهایی را شرح میدهد که در حال حاضر ATT&CK را تشکیل دادهاند.
ID |
نام |
شرح |
TA0001 | دسترسی اولیه (Initial
Access) |
تاکتیک دسترسی اولیه که نشان میدهد مهاجمین برای ورود اولیه به یک شبکه از چه روشی استفاده میکنند. |
TA0002 | اجرا (Execution) | تاکتیک اجرا، نشاندهندهی تکنیکهایی است که در اجرای کد کنترلشده توسط مهاجم روی یک سیستم Local یا Remote به کار گرفته میشوند. این تاکتیک معمولاً همراه با دسترسی اولیه استفاده میشود و راهی است برای اجرای کد، پس از بدست آوردن دسترسی اولیه و همچنان برای حرکت جانبی جهت گسترش دسترسی به سیستمهای Remote روی یک شبکه. |
TA0003 | تداوم (Persistence) | تداوم یعنی هر دسترسی، اقدام یا تغییر پیکربندی به یک سیستم که به مهاجم قابلیت حضور متداومی را روی سیستم بدهد. معمولاً لازم است که مهاجمین با وجود هر اختلالی مثل ریاستارت سیستم، از دست رفتن اطلاعات اعتباری یا خرابیهای دیگری که برای ریاستارت کردن به یک ابزار دسترسی Remote نیاز دارند، دسترسی خود را حفظ کنند یا یک Backdoor دیگر را پیدا کنند تا دوباره دسترسی به دست آورند. |
TA0004 | بالا بردن سطح دسترسی (Privilege
Escalation) |
بالا بردن سطح دسترسی نتیجهی اقداماتی است که به مهاجم اجازه میدهد اجازههای سطح بالاتری را روی یک سیستم یا شبکه بدست آورد. برخی از ابزار یا اقدامات بهخصوص نیازمند سطح بالاتری از دسترسی هستند و احتمالاً در نقاط بسیاری در طول یک عملیات ضروری باشند. مهاجمین میتوانند با دسترسی معمولی (Unprivileged) وارد یک سیستم شوند و باید از نقاط ضعف سیستم سوءاستفاده کنند تا سطح دسترسی ادمین Local یا SYSTEM/Root را بدست آورند. همچنین میتوان از یک حساب کاربری با دسترسی مشابه ادمین استفاده کرد. حسابهای کاربری دارای اجازه برای دسترسی به سیستمهای بهخصوص یا انجام کارهای بهخصوص که برای اینکه مهاجمین به هدف خود برسند ضروری هستند نیز ممکن است برای بالا بردن سطح دسترسی مورد استفاده قرار گیرند. |
TA0005 | فرار دفاعی (defense Evasion) | فرار دفاعی شامل تکنیکهایی است که یک مهاجم ممکن است برای فرار شناسایی یا تشخیص توسط سیستمهای دفاعی دیگر، مورد استفاده قرار دهد. گاهی اوقات این اقدامات همان تکنیکهایی هستند که در دستههای دیگر نیز وجود دارند اما میتوانند یک سیستم دفاعی بهخصوص را نیز خنثی کنند. ممکن است فرار دفاعی بهعنوان مجموعهای از ویژگیها در نظر گرفته شود که مهاجم به تمام مراحل عملیات اعمال میکند. |
TA0006 | دسترسی به اطلاعات اعتباری (Credential
Access) |
دسترسی به اطلاعات اعتباری نشاندهندهی تکنیکهایی است که منجر میشوند به دسترسی به اطلاعات اعتباری سیستم، دامین یا سرویس یا تحت کنترل گرفتن این اطلاعات که در محیط یک سازمان مورد استفاده قرار میگیرند. احتمالاً مهاجمین سعی خواهند کرد اطلاعات اعتباری مشروعی را از کاربران یا حسابهای ادمین (ادمین سیستم Local یا کاربران دامین با دسترسی ادمین) بدست آورند تا در شبکه از آنها استفاده نمایند. این امر به مهاجم توانایی به دست آوردن هویت حساب را با تمام اجازههای آن روی سیستم و شبکه میدهد و باعث میشود که کار مدافعان در شناسایی مهاجم سختتر گردد. با دسترسی کافی در یک شبکه، مهاجم میتواند حسابهایی را برای استفادهی آتی در محیط شبکه ایجاد کند. |
TA0007 | کشف (Discovery) | کشف شامل تکنیکهایی است که به مهاجم توانایی بدست آوردن دانش در مورد سیستم و شبکهی داخلی را میدهد. وقتی مهاجمین به سیستم جدیدی دسترسی پیدا میکنند، باید نسبت به آنچه تحت کنترل دارند و مزایایی که آن سیستم برای اهداف کوچک و بزرگشان دارد، برنامهریزی کنند. سیستم عامل ابزار Native زیادی را فراهم میکند که در این مرحلهی جمعآوری اطلاعات پس از نقض امنیتی مفید خواهد بود. |
TA0008 | حرکت جانبی (Lateral
Movement) |
حرکت جانبی شامل تکنیکهایی است که به یک مهاجم توانایی دسترسی و کنترل سیستمهای Remote را روی یک شبکه میدهد و میتواند شامل اجرای ابزار روی سیستمهای Remote نیز باشد. تکنیکهای حرکت جانبی میتوانند به یک مهاجم این توانایی را بدهند که از یک سیستم اطلاعات جمعآوری کند، بدون اینکه به ابزار بیشتری مثل ابزار دسترسی Remote نیاز داشته باشد. |
TA0009 | جمعآوری (Collection) | جمعآوری شامل تکنیکهایی است که برای شناسایی و گرد هم آوردن اطلاعات مثل فایلهای حساس از یک شبکهی هدف پیش از استخراج مورد استفاده قرار میگیرد. این دسته همچنین مکانهایی روی یک سیستم یا شبکه را پوشش میدهد که ممکن است در آنها یک مهاجم به دنبال اطلاعات بیشتری برای استخراج بگردد. |
TA0010 | استخراج (Exfiltration) | استخراج به تکنیکهای و ویژگیهایی اشاره دارد که منجر میشوند به حذف فایلها و اطلاعات از یک شبکه هدف توسط مهاجم. این دسته همچنین مکانهایی روی یک سیستم یا شبکه را پوشش میدهد که ممکن است در آنها یک مهاجم به دنبال اطلاعات بیشتری برای استخراج بگردد. |
TA0011 | دستور و کنترل (Command
and Control) |
تاکتیک دستور و کنترل نشان میدهد که مهاجمین چگونه با سیستمهای تحت کنترلشان در یک شبکهی هدف ارتباط برقرار میکنند. راههای زیادی وجود دارد که یک مهاجم بتواند دستور و کنترل را با سطوح مختلفی از پنهانکاری ایجاد کند و این بستگی دارد به پیکربندی سیستم و توپولوژی شبکه. به دلیل تنوع گزینههایی که در سطح شبکه، در دسترس مهاجم است، فقط متداولترین عوامل برای توصیف تفاوتها در دستور و کنترل مورد استفاده قرار گرفتند. همچنان تکنیکهای زیادی در روشهای ثبت شده وجود دارد که دلیل آن تا حد زیادی این است که تعریف پروتکلهای جدید و استفاده از پروتکلهای موجود و خدمات شبکه برای ارتباطات بسیار ساده است. |
TA0040 | تاثیرگذاری (Impact) | تاثیرگذاری تاکتیک تاثیرگذاری نشاندهندهی تکنیکهایی است که هدف اصلی آنها کاهش مستقیم دسترسپذیری یا یکپارچگی یک سیستم، سرویس یا شبکه است که این امر شامل دستکاری دادهها برای تاثیرگذاری روی کسبوکار یا فرایند عملیاتی میباشد. این تکنیکها ممکن است هدف نهایی یک مهاجم را نشان دهند یا پوششی را برای نقض محرمانگی فراهم نمایند. |
جدول ۱. تاکتیکهای MITRE ATT&CK
تکنیکها
درحالیکه تاکتیکها مشخص میکنند مهاجم قصد چه کاری را دارد، تکنیکها راههای مختلفی را توصیف میکنند که مهاجم با استفاده از آنها یک تاکتیک خاص را اجرا میکند. مثلاً مهاجمین معمولاً میخواهند پس از Sessionهای Reboot و Logon، حضور خود را در شبکهها حفظ کنند. این تاکتیک TA0003: تداوم است. تداوم اما از راههای مختلفی میتوان به این تداوم دست پیدا کرد. مثلاً روی سیستمهای ویندوز، میتوان از Keyهای بهخصوصی در Registry بهره گرفت که مقادیر آنها بهعنوان دستورات سیستم در ارتباط با رخدادهای قابل پیشبینی مثل استارت سیستم یا Logon اجرا میشوند (که تکنیکی به نام Registry Run Keys/Startup Folder است). یا بهسادگی میتوان با استفاده از تکنیک T1050: New Service برنامهی مخرب را بهعنوان یک سرویس سیستم نصب کرد. تکنیک دیگری به نام T1103: AppInit DLLs راهی است برای اینکه هر فرایندی که user32.dll را لود میکند، DLL مخرب را نیز لود نماید. تکنیکهای زیاد دیگری وجود دارند و در آینده نیز تکنیکهایی ایجاد خواهند شد، اما همگی آنها نیازمند این هستند که به مهاجم دسترسی متداومی به سیستم یا شبکه قربانی داده شود. در نتیجه، همگی این موارد در گروه تاکتیک یکسانی قرار میگیرند.
درحالیکه تاکتیکها مشخص میکنند مهاجم قصد چه کاری را دارد، تکنیکها راههای مختلفی را توصیف میکنند که مهاجم با استفاده از آنها یک تاکتیک خاص را اجرا میکند.
برخی از تکنیکها به بیش از یک تاکتیک کمک میکنند و این امر در ATT&CK مشخصشده است. مثلاً T1050: New Service در طبقهی دو تاکتیک قرار دارد: تداوم و بالا بردن سطح دسترسی.
برای هر تکنیک، ATT&CK پلتفرمهای کاربردی (مثل ویندوز یا لینوکس)، اجازههای موردنیاز برای Exploit کردن تکنیک، منابع داده برای شناسایی تکنیکها (مثلاً Logها) را فهرست میکند و به هر الگوی حملهی مرتبط در CAPEC که کاتالوگ مرتبطی از الگوهای حملهی متداول متمرکز بر امنیت برنامه کاربردی است، ارجاع متقابل میدهد.
مثالها
برای هر تکنیک، ATT&CK مثالهایی را از موارد شناخته شده ارائه میدهد که تکنیک:
- توسط یک گروه در یک یا چند حمله استفاده شده بود (گروه یک واژهی بهخصوص در ATT&CK است که در ادامه تعریف خواهد شد).
- توسط نرمافزار به کار گرفته شده بود (نرمافزار یک واژهی بهخصوص در ATT&CK است که در ادامه تعریف خواهد شد).
برای هر مثال ارجاعاتی ارائه شده است. این ارجاعات معمولاً پستها یا هشدارهای تهدیدآمیز از تیمهای تحلیلگران امنیتی مختلفی در جامعهی امنیت سایبری هستند. ارزش این مثالها فراتر از توجیه کردن قرارگیری این تکنیک در ATT&CK است. مثلاً متخصصان امنیت سایبری میتوانند از آنها استفاده کنند تا متوجه شوند که مهاجمین چگونه کار میکنند و چگونه تکنیکها و تاکتیکهای در یک کمپین بزرگ، مختلفی را با هم ترکیب میکنند.
اصلاح
برای هر تکنیک، ATT&CK کنترلهای پیشگیرانهای را مشخص میکند که مدافعان میتوانند از آنها استفاده کنند. چنین اصلاحاتی برای برخی از تکنیکها عملی نیستند و ATT&CK به این موارد اشاره میکند. مثلاً در مورد T1055: Process Injection، بخش اصلاحات در ATT&CK اشاره میکند که:
این نوع از تکنیک حمله را نمیتوان بهسادگی با کنترلهای پیشگیرانه اصلاح کرد، زیرا برمبنای سوءاستفاده از ویژگیهای طراحی سیستم عامل ساخته شده است. مثلاً، اصلاح تماسهای (Callهای Windows API) بهخصوص، احتمالاً عوارض جانبی ناخواستهای خواهد داشت، مثلاً اینکه نرمافزارهای قانونی (مثلاً محصولات امنیتی) نتوانند بهدرستی عمل کنند. باید روی این امر تمرکز شود که ابزار مهاجم نتوانند زودتر در زنجیرهی فعالیتها اجرا شوند و همچنین باید روی شناسایی رفتارهای مخرب بعدی تمرکز گردد.
MITRE گروه را بهعنوان مجموعهای از فعالیتهای نفوذی مرتبط تعریف میکند که در جامعهی امنیت، با یک نام واحد ردیابی میشوند.
MITRE نرمافزار را بهعنوان یک عبارت کلی تعریف میکند که برای کدهای سفارشی یا تجاری، ابزار سیستم عامل، نرمافزارهای متن باز یا ابزار دیگری که برای رفتارهایی که در ATT&CK مدلسازی شدهاند استفاده میشوند.
شناسایی
پیشگیری از اینکه مهاجمین از تکنیکهای خود استفاده کنند، امری حیاتی است. پیادهسازی کنترلهایی برای شناسایی نیز مهم هستند زیرا ۱) دفاع عمقی نیازمند سیستمهای دفاعی چندلایه درمقابل هر تهدیدی است و ۲) همانطور که قبلاً اشاره شد، نمیتوان از تمام تکنیکها پیشگیری نمود. در نتیجه، ATT&CK راهنماییهای گستردهای را در مورد نحوهی شناسایی استفاده از تکنیکها توسط مهاجمین با Logها و منابع دیگر تجزیهوتحلیل امنیتی فراهم میکند.
ATT&CK بهروز است
مهاجمین و مدافعین دائماً به یکدیگر پاسخ میدهند و این یعنی در هر طرف، کاری که امروز جواب میدهد، شاید فردا جواب ندهد. MITRE با جامعهی مدافعان کار میکند تا ATT&CK را نسبت به چشمانداز تهدیدات بهروز نگه دارد. بهعنوان یک مثال، اخیراً یک تاکتیک کاملاً جدید به ATT&CK اضافه شد. این تاکتیک در زمان افزایش ناگهانی حملات مخربی اضافه شد که مشهورترین آنها Not Petya بود. TA0040: Impact تاکتیک تاثیرگذاری متشکل از ۱۴ تکنیک مختلف است که هدف اصلی آنها کاهش مستقیم دسترسپذیری یا یکپارچگی یک سیستم، سرویس یا شبکه است که این امر شامل دستکاری دادهها برای تاثیرگذاری روی کسبوکار یا فرایند عملیاتی میباشد.