امیرحسین تنگسیری نژاد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

معرفی روشهای پاسخگویی به حوادث ( Incident Response ) در Cloud

رایانش ابری درحال حاضر یکی از پر استفاده ترین زیرساخت های سازمانی و کاربري میباشد که سازمان ها و افراد مختلف از این زیرساخت های ابری به عنوان بستر های برای SaaS و PaaS و یا IaaS استفاده میکنند. کم و بیش سازمان ها زیرساخت خود را بر روی محیط های ابری مستقر کرده اند و از این بابت بعضی از این سازمان ها زیرساخت خود را تماما بروی زیرساخت های ابری در قالب IaaS قرار میدهند و برخی از زیرساخت ابری به صورت یک محیط ترکیب شده با زیرساخت On Premise یا همان Private Cloud با محیط Public Cloud استفاده میکنند که در این شرایط به این زیرساخت ها گفته میشود Hybrid Cloud

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

امنیت در زیرساخت های ابری امری بسیار مهم میباشد و ما باید با داشتن نظارت و دید خوب بر روی زیرساخت توانایی پاسخگویی به حوادث و جلوگیری از رخدادن حوادث های مشابه را داشته باشیم و در سریع ترین زمان ممکن فرآيند پاسخ گویی به حوادث را انجام بدهیم

پاسخگویی به حوادث ( Incident Response ) چیست؟

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

معرفی روشهای پاسخگویی به حوادث ( Incident Response ) در Cloud

فاز های پاسخگويی به حوادث ( Incident Response ) کدامند؟

فاز های پاسخگویی به حوادث از دیدگاه و نگاه موسسه SANS به 6 فاز متنوع تقسیم میشود که به شرح زیر میباشند:

معرفی روشهای پاسخگویی به حوادث ( Incident Response ) در Cloud

  • فاز 1: Prepare: در این فاز ما شروع به ایجاد تیم پاسخگویی به حوادث، آماده سازی محيط، آگاهی رسانی سازمانی در رابطه با حملات سایبری برای کارمندان سازمان، بررسی دارایی ها و خطرات آنها ( به نوعی Threat Modeling )، ایجاد سیاست های امنیتی و ارزیابی خطرات و ریسک های محیط سازمان میپردازیم
  • فاز 2: Identity: در این فاز که با عنوان شناسایی شناخته میشود هدف ما بررسی سیستم ها و داشتن نظارت و Monitoring بر روی آنها میباشد که رفتارهای مخرب و Threat های متنوع کشف و شناسایی کنیم، در این فاز ما به صورت Real Time باید Threat هارا شناسایی و آنهارا طبقه بندی و میزان شدت آنهارا بررسی کنیم
  • فاز 3: Contain: در این مرحله ما از روش های استفاده میکنیم که به صورت موقت و کوتاه مدت سیستم های آلوده به خطرات و حملات را از دیگر سیستم های آلوده نشده جدا سازی میکنیم تا با خیال راحت تری بتوانیم فرآيند های امنیتی و رفع مشکلات و اعمال Patch هارا به انجام برسانیم و بعد دوباره آن را وارد شبکه اصلی کنیم
  • فاز 4: Eradicate: در این مرحله باید ریشه اصلی حمله و حادثه را شناسایی کنیم و مشکلات و بد افزارهای موجود را حذف کنیم و اقدامات تدافعی متنوعی را برای جلوگیری از رخدادن دوباره این نوع حملات درنظر بگیریم
  • فاز 5: Recover: در این فاز سیستم هارا بازیابی کنید و برای جلوگیری از حملات بعدی پیکربندی های امنیتی و اقدامات تدافعی درنظر گرفته شده را اعمال کنید.
  • فاز 6: Learn: در این فاز باید گزارشات و مستندات کاملی از شرح حادثه و جزئیات آن تهیه شود و بررسی شود که برای جلوگیری از رخدادن دوباره حملات این چنینی باید چه فرآیندی را صورت داد که روند پاسخگویی به حوادث را بهبود ببخشد.

پاسخگویی به حوادث ( Incident Response ) در محیط های ابری ( Cloud ) چیست؟

تیم های DevOps علاوه بر اینکه توانایی استقرار و سرعت بخشیدن به فرآيند هارا دارند میبایست که توانایی نظارت و بررسی و رصد محیط ابری راهم داشته باشند و برای هر حادثه ایی و رخداد خاصی راهکارهای براساس ویژگی های امنیتی در پیش رو درنظر بگیرند.

بهترین شیوه های ( Best Practices ) پاسخگویی به حوادث در ابر ( Cloud ) چیست؟

حالا که مفهوم پاسخگویی به حوادث ( Incident Response ) را فهمیدیم و هر قسمت آن را بررسی کردیم باید در رابطه با بهترین شیوه ها و رویکرد های پاسخگویی به حوادث در سطح ابر صحبت کنیم که از این جهت کاربری ترین و بهترین راهکارهای که میتوانیم برای این موضوع ارائه کنیم را در اینجا آورده اییم؛ از جمله این بهترین شیوه عبارتند از:

قبل از پاسخگویی به حوادث فرآيند های آنرا در دستورکار خود قرار دهید.

نکته ایی که وجود دارد این است که شما هیچوقت توانایی پیش بینی یک حادثه را ندارید پس بهتر است با در دستور کار قرار دادن فرآيند Incident Response و اعمال این فرآيند ها و بررسی استاندارد ها همیشه برای رخدادن یک حادثه آماده باشید. این فرآيند به ما کمک میکند که به شکل سریع تری حوادث را کنترل و ارتباطات داخلی و خارجی را بهبود ببخشیم و البته با این شرایط درصورتی که ما آمادگی پاسخگویی به یک حادثه را داشته باشیم کمترین آسیب را میتوانیم درصورت رخدادن یک حادثه بر روی زیرساخت خودمان داشته باشیم.

ارزیابی تاثیر حادثه و اولویت بندی خطرات ( Risks )

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

معرفی روشهای پاسخگویی به حوادث ( Incident Response ) در Cloud

از ابزارهای مناسب استفاده کنید.

در زیرساخت های ابری میزان داده و اطلاعات به حدی میتواند براساس زیرساخت و نوع ابر زیاد یا کم باشد اما ما مؤظف هستیم که در زمان واقعی به بررسی این داده ها و این اطلاعات به منظور کشف خطرات و حادثه های مختلف بپردازیم پس برای این موضوع به تنهایی قادر به انجام آن نیستیم و باید از ابزارهای پرکاربرد در این حوزه استفاده کنیم.

محیط های ارائه دهنده خدمات ابری یا همان Cloud Service Provider ها مانند AWS و Microsoft Azure توانایی ارائه راهکار ها و ویژگی‌های امنیتی زیادی را برای ما دارند و حتی این بستر ها توانایی علاوه بر توانایی ارائه ابزارها و ویژگی‌ های مناسب رصد زیرساخت ابری و پیاده سازی مکانیزم های امنيتي امکان ارائه ویژگی های پاسخگویی به حوادث و مدیریت حوادث را نیز دارند پس بهتر است بر روی این ابزارها برای کارمان تمرکز و سرمایه گذاری کنیم.

همچنین علاوه بر این موضوع ابزارهای دیگری هم وجود دارند که توانایی متنوعی از جمله نظارت و پاسخگویی به حوادث و شکار تحدیدات را در اختیار ما قرار میدهند که از جمله بهترین آنها میتوانیم به Splunk و IBM QRadar اشاره کنیم

چگونه یک محیط ابری را برای واکنش به حوادث ( Incident Response ) آماده سازی کنیم؟

مواردی که در بالا عنوان شدند کمی جنبه عمومی در حوزه Incident Response داشتند اما حالا بیاید تمرکزمان را صرفا بر روی حوزه ابری قرار بدهیم زیرا که پاسخگویی به حوادث یا همان Incident Response در محیط های ابری با محیط های سازمانی و On Premise متفاوت میباشد.
از این مباحث که بگذریم برای آماده سازی کردن تیم های پاسخگویی به حوادث ما چندین روش متعدد را داریم که به شرح زیر میباشند:

تعیین هدف پاسخگویی به حوادث.

باید این موضوع را مشخص کنید که چرا قصد دارید فرآيند پاسخگویی به حوادث را در محیط ابری پیاده سازی کنید باید اهداف خودتان را مشخص کنید که در رابطه با اینکار باید با مشاوران حقوقی سازمان و مدیران سازمان صحبت شود و اهداف مشترکی‌ مانند کنترل‌ خطرات و کاهش خطرات را درنظر بگیرید.

از خوده ابر برای پاسخگویی به حوادث استفاده کنید.

بله ! برای پاسخگویی به حوادث صرفا نیاز به استفاده از ویژگی های خارجی نیست ما میتوانیم‌ از ویژگی های موجود درون ابرمان برای پاسخگویی به حوادث استفاده کنیم که در بالاهم به آن اشاره کردیم اما علاوه بر اینکه از ابزارهای رصد و Monitoring و پاسخگویی به حوادث ( Incident Response ) میتوانیم برای اینکار استفاده کنیم حتی میتوانیم از فرآيند های پشتیان گیری ( Backup ) و بازیابی اطلاعات ( Data Recovery ) نیز در این حوزه استفاده کنیم بدین شکل که سیستم های آسیب دیده را پس از پاسخگویی به حادثه به شکل سریع و راحت بازیابی کنیم

از ویژگی‌ های ReDeployment استفاده کنید.

استفاده از ویژگی های که توانایی ReDeployment را به ما میدهد کمک بسیار زیادی را در فرآيند پاسخگویی به حوادث به ما میکند زیرا ممکن است استقرار یک پیکربندی ناصحیح موجب رخدادن حادثه شده باشد پس ما با بازگردانی پیکربندی سیستم ها و محیط ابری خودمان به حالت و پیکربندی قبلی آن به راحتی میتوانیم از رخدادن حادثه جلوگیری و از همه مهم تر به فرآيند پاسخگویی به آن رسیدگی کنیم. در انتخاب ابر باید اطمینان حاصل کنید که این فرآيند به صورت کامل و به صورت چندین بار قابل اجرا باشد.

از راهکار های Automation و IaC استفاده کنید.

پس از شناسایی مشکلات و حوادث برای رفع آنها به جای اعمال پیکربندی های مشابه بر روی تمامی سیستم ها از راهکار های Automation و IaC استفاده کنید که به واسطه آنها به شکل سریع تری توانایی اعمال پاسخگویی به حوادث را داشته باشید. نرم افزار های زیادی بر این حوزه وجود دارد و همچنین از برنامه نویسی نیز برای اینکار میتوانیم استفاده کنیم که کاربردی‌ترین و پب استفاده ترین زبان برای بحث Automation زبان پایتون میباشد.

معرفی روشهای پاسخگویی به حوادث ( Incident Response ) در Cloud

اگر علاقمند به حوزه Automation با زبان پایتون ( Python ) هستید میتوانید از دوره آموزشی Network Automation با Python استفاده کنید و بر فرآيند Automation از پایه تا پیشرفته بر روی اکثر پلتفروم ها به واسطه Python تسلط پیدا کنید.

از Log های خود محافظت کنید.

یکی از بخش های مهم ما برای پاسخگويی به حوادث Log ها ما میباشد که باید در اسرع وقت از آنها پشتیبان گیری شود و مورد بررسی و تحلیل قرار بگیرند. این فرآيند پشتیان گیری و دریافت Log ها میتوانید در هر خدمات دهنده ابری یا Cloud Service Provider خاصی متفاوت باشد و میتواند رایگان و غیر رایگان باشد اما غیر رایگان های آن صرفا میتوانند ویژگی های اضافی را ارائه کنند و در اکثر شرایط این فرآيند رایگان میباشد.


امیرحسین تنگسیری نژاد
امیرحسین تنگسیری نژاد

مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو

متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider می‌باشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/

نظرات