ابزار ATT&CK کاربردهای فراوانی دارد و تمام نقشها در جامعهی امنیت سایبری میتوانند از آن استفاده کنند. ATT&CK میتواند باعث شود که تیمهای قرمز کارآمدتر باشند و اطمینان حاصل میکند که آنها دقیقتر روشهای مهاجمین واقعی را شبیهسازی کنند. ATT&CK برای تیمهای آبی یک راه دقیق و جامع را فراهم میکند تا بتوانند مهاجمین را درک کنند و کنترلها و روشهای دفاعی کنونی آنها را ارزیابی نمایند تا شکافهای امنیتی مشخص شوند. ATT&CK همچنین یک روش استانداردسازیشده را برای مقایسهی پوشش تهدیدات محصولات Vendorها ارائه میدهد.
در قسمت اول این مطلب ابزار و منابع مرتبط به ATT&CK معرفی شد و در این قسمت روی استفاده از ATT&CK برای شناسایی تمرکز میشود.
ارزیابی
تهدیدات بسیار زیادی وجود دارند. هیچ سازمانی همیشه نسبت به کنترلهای شناسایی برای تمام تکنیکهای مهاجمین در کل شبکه، بهروز نیست. بلکه مسئلهی اصلی همیشه اولویتبندی است. اما باید از کجا شروع کرد؟ کدام تاکتیکها در مانیتورینگ ضعیفترین موارد هستند؟ و کدام تاکتیکها بزرگترین ریسک را برای محیط دارند؟ کدام تکنیکها را میتوان با استفاده از اطلاعات و ابزاری که در حال حاضر داریم شناسایی کرد و شاید لازم باشد زودتر به آنها توجه شود؟ کدام تکنیکها دارای کنترلهای پیشگیرانهی کاربردی نیستند و در نتیجه شناسایی آنها ضروریتر است. ATT&CK یک روش ساختارمند و بهروز را برای پاسخ به این سؤالات فراهم میکند.
بهبود
وقتی که تاکتیکها یا تاکتیکهایی شناسایی شوند که نشان دهند سازمان نیاز به قابلیت شناسایی بهتری دارد، ATT&CK جزئیات فنی لازم برای ساخت قواعد مانیتورینگ خودکارسازیشده یا مبنایی برای انجام شکار تهدید را ارائه میدهد.
تست
بههیچعنوان نباید فرض شود که تکنولوژی یا کنترلی کارآمد است. در صورت امکان باید تمام کنترلها با واقعگرایانهترین فعالیت ممکن تست شوند. با ایجاد ارتباط بین کنترلهای شناسایی و تکنیکهای ATT&CK، میتوان آن تکنیکها را در محیط اجرا کرد تا مشخص شود که آیا SIEM و تکنولوژیهای امنیتی این فعالیت را شناسایی میکنند و آنطور که مطلوب است هشدار و پاسخ میدهند یا خیر.
منابع
MITRE و دیگران در جامعهی امنیت سایبری انواعی از ابزار را برای بهره بردن از ATT&CK ساختهاند. خودِ مبنای دانش ATT&CK از لینکهای زیر قابلدسترسی است:
این برنامهی کاربردی به کاربران توانایی مشاهدهی محتوای ATT&CK را به شیوهای پویاتر و قدرتمندتر از چیزی که در وبسایت attack.mitre.org در دسترس است، میدهد. منبع GitHub برای ATT&CK Navigator شرح میدهد: «ویژگی اصلی Navigator این است که به کاربران توانایی تعریف لایهها (نماهای سفارشی از مبنای دانش ATT&CK) را میدهد، مثلاً نشان دادن تکنیکهای مختص به یک پلتفرم بهخصوص یا توجه به تکنیکهایی که یک مهاجم بهخصوص از آنها استفاده کرده است. لایهها را میتوان بهصورت تعاملی در چارچوب Navigator ایجاد کرد یا بهصورت برنامهای آن را ساخت و سپس از طریق Navigator آن را تجسم نمود.»
- فرمتهایی از ATT&CK برای خودکارسازی که بهصورت برنامهای قابلدسترسی باشند:
— TAXII Server: Trusted Automated Exchange of Intelligence Information یا TAXII یک پروتکل لایه برنامه کاربردی برای انتقال اطلاعات مربوط به تهدیدات سایبری به شیوهای ساده و مقیاسپذیر است.
— STIX: Structured Threat Information Expression یا STIX یک زبان و فرمت سریالسازی است که برای تبادل هوش تهدید سایبری یا CTI مورد استفاده قرار میگیرد.
شناسایی و شکار تهدید با پنج تکنیک متداول
جامعهی امنیت ابزاری را برای بررسی ATT&CK با استفاده از TAXII و STIX ایجاد کرده است، از جمله:
در بخشهای قبلی در مورد ساختار ATT&CK و برخی از ابزار و منابع آن صحبت شد. در این بخش روی این تمرکز خواهد شد که چطور باید از ATT&CK برای شکار تهدید و شناسایی تهدید استفادهی عملیاتی کرد.
تکنیکهایی که روی آنها تمرکز میکنیم عبارتاند از T1036: Masquerading، T1090: Connection Proxy، T1048: Exfiltration Over Alternative Protocol، T1189: Drive-By Compromise، T1035: Service Execution.
دلیل انتخاب این پنج تکنیک ATT&CK
- متداول بودن آنها در حملات
- شناسایی تهدید بهطور خاص برای این تکنیکها قابل اعمال هستند.
- بسیاری از سازمانها Logها و اطلاعاتی را که با منابع دادهی ضروری برای شناسایی این تکنیکها لازم هستند، جمعآوری میکنند.
در این قسمت:
- هر یک از این تکنیک عمیقاً موردبررسی قرار خواهد گرفت و نحوهی استفاده از آنها توسط مهاجمین و روش لازم برای شناسایی این امر معرفی خواهد شد.
- در این مورد بحث میشود که جمعآوری کدام Logها ضروری است و در هر Log باید دنبال چه چیزی بود.
Masquerading (T1036)
مهاجمین از Masquerading بهعنوان راهی برای فرار دفاعی استفاده میکنند که تاکتیک TA0005 است. ATT&CK میگوید: «فرار دفاعی شامل تکنیکهایی است که یک مهاجم ممکن است برای فرار کردن از شناسایی یا سیستمهای دفاعی دیگر، مورد استفاده قرار دهد. گاهی اوقات این اقدامات همان تکنیکهایی هستند که در دستههای دیگر نیز وجود دارند اما میتوانند یک سیستم دفاعی بهخصوص را نیز خنثی کنند. ممکن است فرار از دفاع بهعنوان مجموعهای از ویژگیها در نظر گرفته شود که مهاجم به تمام مراحل عملیات اعمال میکند.»
باوجوداینکه تلاشها برای دفاع افزایش یافته است، مهاجمین همچنان از فایلهای قابلاجرای مخرب استفاده میکنند و میدانند که پنهان کردن آنها بسیار مهم است. مخفیکاری تنها مربوط به محل ذخیرهی آنها روی سیستم فایل نیست، بلکه به نحوهی پدیدار شدن آنها درLogها وQueryهای فرایند نیز مرتبط است. ATT&CK برای تعریف Masquerading میگوید: «وقتی که نام یا مکان یک فایل قابلاجرا، چه قانونی چه مخرب، برای فرار از سیستمهای دفاعی و نظارت دستکاری شود یا مورد سوءاستفاده قرار بگیرد. چندین نوع دیگر از این تکنیک مشاهده شده است.»
ATT&CK چندین نوع از Masquerading را توصیف میکند، اما فرایند Masquerading بهعنوان Windows LSASS مثالی عالی است که در آن cmd.exe به مسیر c:\windows\system32\temp کپی میشوند و نام آن به Isass.exe تغییر پیدا میکند.
سپس از آن استفاده میگردد تا دستورات و فایلهای قابلاجرای دلخواه اجرا شوند، اما در Logها و Queryهای فرایند، اینطور به نظر میرسد که فرایندهای قابلاطمینان Local Security Authority System Service در Logهای بهعنوان c:\windows\ system32\temp\lsass.exe اجرا میشوند که بسیار نزدیک به c:\windows\ system32\temp\lsass.exe است.
Connection Proxy (T1090)
تکنیک بعدی برای تسهیل تاکتیک دستور و کنترل (TA0011) توسط مهاجمین مورد استفاده قرار میگیرد؛ این تاکتیک نشان میدهد مهاجمین چگونه با سیستمهای تحت کنترل خود در چارچوب یک شبکهی هدف ارتباط برقرار مینمایند. راههای زیادی وجود دارد که یک مهاجم بتواند دستور و کنترل را با سطوح مختلفی از پنهانکاری ایجاد کند و این بستگی به پیکربندی سیستم و توپولوژی شبکه دارد. به دلیل تنوع گزینههایی که در سطح شبکه، در دسترس مهاجم است، فقط متداولترین عوامل برای توصیف تفاوتها در دستور و کنترل مورد استفاده قرار گرفتند. همچنان تکنیکهای بهخصوص زیادی در چارچوب روشهای ثبت شده وجود دارد، که دلیل این امر تا حد زیادی سادگی تعریف پروتکلهای جدید و استفاده از پروتکلهای موجود و قانونی و خدمات شبکه برای ارتباط است.
Connection Proxy برای هدایت ترافیک شبکه بین سیستمها یا بهعنوان یک واسطه برای ارتباطات شبکه مورد استفاده قرار میگیرد. ابزار زیادی وجود دارند که امکان هدایت ترافیک را از طریق پراکسیها یا هدایت پورت فراهم میکنند، از جمله HTRAN، ZXProxy و ZXPortMap.
برای شناسایی Connection Proxy، پیشنهاد ATT&CK این است که «فرایندهایی که از شبکهای استفاده میکنند و معمولاً دارای ارتباطات شبکه نیستند یا قبلاً هرگز دیده نشدهاند، مشکوک هستند.» فعالیتهای شبکهی جدا از اقدامات مبتنی بر کاربر در بین فعالیتهایی که معمولاً نیازمند هدایت کاربر هستند، مشکوک میباشند.
دادههای شبکه باید برای جریانهای دادهی غیرمتداول بررسی شوند (مثلاً اگر دادههای ارسالی یک مشتری بهشدت بیشتر از دادههایی باشد که از سرور دریافت میکند یا اگر داده بین مشتریهایی ردوبدل شود که نباید با هم ارتباط داشته باشند یا معمولاً چنین ارتباطی ندارند). فرایندهایی که از شبکه استفاده میکنند اما معمولاً ارتباطات شبکه ندارند یا قبلاً دیده نشدهاند، مشکوک هستند. محتوای Packetها باید بررسی شوند تا ارتباطاتی شناسایی شوند که پروتکل مورد انتظار برای پورتی که مورد استفاده قرار میگیرد را دنبال نمیکنند.
استخراج از طریق پروتکل جایگزین (T1048)
وقتی که مهاجمی اطلاعات مورد نظر خود را به دست آوردن، باید بدون شناسایی شدن، آن داده را از شبکه قربانی خارج کند. این بخشی از تاکتیک استخراج (TA0010) است و یک تکنیک متداول در آن استخراج از طریق پروتکل جایگزین است که در آن «استخراج با پروتکل متفاوتی نسبت به کانال یا پروتکل دستور و کنترل اصلی انجام میشود. بهاحتمالزیاد دادهها به یک شبکه متفاوت از سرور دستور و کنترل ارسال خواهند شد. پروتکلهای جایگزین شامل FTP، SMTP، HTTP/S،DNS یا پروتکلهای شبکه دیگری هستند. کانالهای متفاوت میتوانند شامل خدمات وب اینترنت مثل Cloud Storage باشند.»
پیشنهاد ATT&CK برای شناسایی این است که کاربر «دادههای شبکه را برای جریانهای دادهی غیرمتداول تجزیهوتحلیل کند (مثلاً اینکه دادههای ارسالی یک کاربر بسیار بیشتر از دریافتش باشد).» Atomic Red
Drive-By Compromise (T1189)
قبل از اینکه مهاجم بتواند کاری بکند (مثلاً حضور خود را تثبیت کند، حرکت جانبی داشته باشد یا اطلاعاتی را به سرقت ببرد) باید دسترسی اولیه (TA0001) کسب کند. این تاکتیک نشان دهندهی مسیرهای حملهای است که مهاجمین برای ورود اولیه به یک شبکه از آنها استفاده میکنند. مسیرهای حملهی زیادی وجود دارند. یکی از تکنیکها «Drive-By Compromise» است که در آن «مهاجم از طریق یک کاربر که با یک مرورگر معمولی به یک وبسایت سر میزند، دسترسی به دست میآورد. در این تکنیک، مرورگر وب یک کاربر مورد هدف قرار میگیرد.»
راهنمایی ATT&CK برای شناسایی این تکنیک میگوید: «شناسایی نقض امنیتی براساس اکسپلویت Drive-By از یک وبسایت قانونی میتواند دشوار باشد. همچنین باید روی سیستم Endpoint بهدنبال رفتارهایی بود که ممکن است نقض امنیتی موفق را نشان دهند، مثلاً رفتارهای غیرعادی فرایندهای مرورگر. این رفتارها میتواند شامل فایلهای مشکوکی باشد که روی دیسک نوشته میشود یا شواهدی از فرایند Process Injection (نفوذ به فرایند) برای مخفی کردن اجرا، شواهدی از کشف یا ترافیک شبکه غیرعادی دیگر که ممکن است نشاندهندهی ابزار بیشتری باشند که به سیستم منتقل میشوند.»
Service Execution (T1035)
در اوایل اکثر حملات، مهاجمین باید Execution (TA0002) را انجام دهد. این تاکتیک گروهی از تکنیکها است که در اجرای کد کنترلشده توسط مهاجم روی یک سیستم Local یا Remote به کار گرفته میشوند. این تاکتیک معمولاً همراه با دسترسی اولیه استفاده میشود و راهی است برای اجرای کد، پس از بدست آوردن دسترسی اولیه و همچنان برای حرکت جانبی جهت گسترش دسترسی به سیستمهای Remote روی یک شبکه.
«Service Execution» یا همان «اجرای سرویس» تکنیک متداولی است که در آن مهاجمین برای اجرای کد خود، از Windows Service Control Manager استفاده میکنند. «ممکن است مهاجمین از یک باینری، دستور یا اسکریپت از طریق روشی استفاده کنند که با خدمات ویندوز مثل Service Control Manager تعامل میکند. میتوان این کار را یا با ایجاد یک سرویس جدید یا با اصلاح یک سرویس موجود انجام داد. این تکنیک همراه با New Service و Modify Existing Service در طول تداوم سرویس یا بالا بردن سطح دسترسی انجام میگردد.»
برای شناسایی، ATT&CK پیشنهاد میکند که تغییراتی در مدخلهای Registry سرویس و فراخوانهای ابزارهایی در دستور خط که قابلیت اصلاح خدمات را دارند اما با نرمافزارها و چرخههای Patch شناخته شده همبسته نیستند، ممکن است مشکوک باشند. اگر یک سرویس فقط برای اجرای یک باینری یا اسکریپت مورد استفاده قرار بگیرد و تداوم نداشته باشد، احتمالاً مدت کوتاهی بعد از ریاستارت شدن سرویس، به حالت قبلی خود باز میگردد تا سرویس خراب نماند، مثل موردی که با ابزار ادمین متداولی به نام PsExec اتفاق میافتد.
رخدادهای دیگری هم هستند که Log میکنند چه زمانی ایجاد سرویس و شروع سرویس مفیدند، البته اگر با یک Whitelist از سرویسهای شناختهشده مقایسه شوند. مثلاً مانیتورینگ Security Log Event ID 4697 نشان میدهد که سرویس جدیدی ایجاد شده است. همچنین میتوان رخدادهای شروع فرایند (۴۶۸۸) را مانیتور کرد، جایی که اگر دستور خط مشابه با «sc start» یا «sc create» باشد نشان میدهد این دستور برای ایجاد یا شروع سرویس مورد استفاده قرار گرفته بود. اما این رخدادهای آخر در مقایسه با Event ID 4657 جامع نیستند، زیرا مهاجمین میتوانند «sc» را دور بزنند، مثلاً با اصلاح مستقیم مقدار ImagePath Registry از یک سرویس موجود یا فراخواندن Win32Api StartService.
نتیجهگیری
MITRE ATT&CK راه قدرتمندی برای دستهبندی و بررسی تکنیکهای مهاجمین و درک قصد آنها است.
میتوان از ATT&CK به شیوههای مختلفی برای بهبود تلاشهای امنیت سایبری استفاده کرد. در این مقاله روی نحوهی استفاده از ATT&CK برای بهبود، تجزیهوتحلیل و تست کردن تلاشهای شناسایی تهدید تمرکز شد.