اغلب نشتهای امنیتی به دلیل آسیبپذیری سیستمها در برابر حملات شناخته شده و قبل از اعمال Patchهای مربوطه رخ میدهند. در این راستا، یک گزارش ارائه شده توسط VBIR در سال ۲۰۱۵ نشان میدهد که ۹۹.۹% از آسیبپذیریهای بهرهبرداری شده، حداقل یک سال پس از انتشار Patch مربوطه مورد بهرهبرداری قرار گرفتهاند. این موضوع بیانگر این است که با بهکارگیری رویههای مناسب مدیریت آسیبپذیری، میتوان از ۹۹،۹% مخاطرات ایجاد شده پیشگیری نمود. با توجه به اهمیت موضوع، در ادامه این مطلب، به مساله مدیریت آسیبپذیری در SOC پرداخته شده و راهکارهای موجود برای برای شناسایی و رسیدگی به آسیبپذیریها بررسی خواهند شد.
به طور کلی، مدیریت آسیبپذیری یک فرایند مستمر شامل شناسایی، دستهبندی، ترمیم[۱] و برطرفسازی[۲] آسیبپذیریها است. مدیریت آسیبپذیری یک فرایند پیوسته است که باید با تغییرات سازگار شده و تمام نواحی شبکه و همکاران تجاری را در نظر بگیرد. این مساله بسیار مهم است چرا که به وفور مشاهده شده که شرکتهایی به نظر امن، با استفاده از آسیبپذیریهای کسبوکارهای همکار (مانند ارائهدهندگانی که با آنها تجارت میکنند)، به مخاطره میافتند. به همین دلیل است که باید مدیریت آسیبپذیری، تمام جنبههای کسبوکار را در بر گرفته، لایههای ایست بازرسی متعدد داشته و به طور پیوسته و مداوم به دنبال نقاط ضعف احتمالی بگردد.
شناسایی آسیبپذیریها
آسیبپذیری به عنوان یک ضعف احتمالی در افراد، فرایندها و فناوریها تعریف میشود. آسیبپذیر بودن به معنای مستعد بودن نسبت به حمله بوده نه به معنای اینکه سیستم مورد بهرهبرداری قرار گرفته است. به عنوان مثال، ممکن است سیستمهایی وجود داشته باشند که در مقابل نوع خاصی از حملات، مانند بهرهبرداری از سرویسهای مبتنی بر وب، آسیبپذیر در نظر گرفته شوند. با این حال، اگر این سیستمها به اینترنت متصل نباشند، به طور بالقوه خطر سوءاستفاده از آنها کم است. شناسایی آسیبپذیریها و تعیین خطرناکترین موارد از بین آنها برای اولویتبندی اقدامات اصلاحی از مهمترین اهداف یک مرکز عملیات امنیت (SOC) است. آسیبپذیریها میتوانند به شکلهای مختلف از جمله موارد زیر وجود داشته باشند:
- پیکربندی نامناسب نرمافزار یا خطا در معماری شبکه
- سیاستهای امنیتی ضعیف مانند استفاده از گذرواژههای کوتاه و قابل حدس
- خطاهای سازنده در تولید سختافزار یا نرمافزار
- فقدان آموزش در مورد تهدیدات ممکن
- نقاط ضعف در پورتها و پروتکلهای مورد استفاده
لیست آسیبپذیریهای ممکن نامتناهی بوده و مجموعه اهداف شامل هر چیزی از سیستمهای محاسباتی گرفته تا افراد است. علاوهبراین، تقریبا غیرممکن است که شبکهای فاقد آسیبپذیری باشد، بنابراین داشتن یک تعریف دقیق از نحوه مدیریت آسیبپذیری در SOC به همراه پشتیبانی مدیریت سازمان برای الزامی کردن سیاستهای متناظر از اهمیت بسیاری برخوردار است.
چگونه یک SOC آسیبپذیریها را درون سیستمها یا فرآیندها کشف میکند؟ خدمات و ابزارهای زیادی در دسترس هستند، از قراردادهای خدمات تخصصی برای ارزیابی آسیبپذیری گرفته تا استفاده از یک برنامه اسکن. به طور معمول، سرویسهای داخلی یا قراردادی انواع مشخصی از ابزارها را برای خودکارسازی و استانداردسازی فرایند جستجوی نقاط ضعف شناخته شده و ناشناس به کار میبرند. در ادامه، انواع مختلف سرویسهای مورد استفاده برای شناسایی آسیبپذیریها و زمان بهکارگیری هر یک از آنها بررسی میشود.
- سازگاری و ممیزی[۳]: سازگاری و ممیزی میتواند بر روی ارزیابی سطح ریسک یک سیستم یا برنامه، خطرات طراحی معماری شبکه یا ارزیابی کنترلهای موجود در برابر مجموعهای از استانداردها یا مبناها متمرکز باشد. استانداردها و مبناها میتواند نیازمندیهای امنیتی یا حداقل سطوح امنیت قابلقبولی باشند که یک شرکت با توجه به آن اعتبارسنجی میشود. علاوهبراین، تاکتیکهای مورد استفاده در حملات سایبری به سرعت در حال تغییر بوده و از قوانین و مقررات در زمینه استانداردهای حداقلی امنیت پیشی میگیرند. بهکارگیری ممیزی برای اثبات انطباق با قواعد و مجموعهای مشخص از کنترلها یک رویکرد مناسب است. با این حال، برای امنیت شبکه باید از مبناهای دقیقتر و رویکردهای اسکن آسیبپذیری عمیقتر استفاده شود.
- ارزیابی آسیبپذیری[۴]: این سرویس بر روی اسکن دستگاهها، سیستمهایعامل و برنامههای کاربردی برای آسیبپذیریهای شناخته شده و به طور بالقوه ناشناخته تمرکز دارد. معمولا این کار با استفاده از یک ابزار یا مجموعهای از ابزارها انجام میشود که روند اسکن را خودکار میکنند. با ارزیابی آسیبپذیریها میتوان یک لیست از آسیبپذیریهای جدید ایجاد کرده و از آن برای محاسبه ریسک مربوط به کسبوکار و ارزیابی کنترلهای امنیتی موجود استفاده نمود. همچنین، میتوان از لیست آسیبپذیریهای جدید شناسایی شده به عنوان یک لیست هدف برای تجزیه و تحلیلهای عمیقتر مانند استفاده از سرویسهای تست نفوذ استفاده کرد.
- ارزیابی پیکربندی[۵]: مانند ارزیابی آسیبپذیری، ارزیابی پیکربندی بر روی اسکن دستگاهها، سیستمهایعامل و برنامههای کاربردی تمرکز داشته و میتواند معماریها و پیکربندیها را بر اساس بهترین روشهای موجود و یا بر اساس سیاستها و استانداردهای سازمان ارزیابی کند. شناسایی موارد استفاده از ویژگیهای توصیه نشده برای اعمال تنظیمات امنیتی مناسب (مانند Telnet و SNMP V1)، نقصهای طراحی اعمال شده در پیکربندی، فعال نبودن برخی ویژگیها و… نمونههایی در این زمینه هستند.
- تست نفوذ[۶]: در تست نفوذ، امکان ارزیابی دقیقتر آسیبپذیریها، با تلاش برای بهرهبرداری از آسیبپذیریهای شناسایی شده مانند یک مهاجم واقعی وجود دارد. در نتیجه این اقدام، لیستی دقیقتر و کوتاهتر از آسیبپذیریها در گزارش درج شده و برای بررسی در اختیار SOC قرار میگیرد. تست نفوذ به طور معمول از ارزیابی آسیبپذیری هدفمندتر بوده، سرویسهای بیشتری را شامل شده و هزینه بالاتری دارد. همچنین، باید توجه شود که تست نفوذ برای ارتقا امنیت شبکه طراحی نشده و بهتر است جهت اطمینان از سطح حفاظت سازمان در برابر تهدیدات پیشبینی شده، پس از انجام سرمایهگذاریهای موردنظر در راستای ارتقا امنیت به کار گرفته شود.
رسیدگی به آسیبپذیریها
کشف آسیبپذیریها یک موضوع بسیار مهم در SOC است اما باید توجه شود که این اقدام تنها اولین گام در فرایند مدیریت آسیبپذیری در SOC است. داشتن یک فرآیند کاملا مشخص در مورد نحوه رسیدگی به آسیبپذیریهای شناسایی شده با تمرکز روی برآورد ریسک، یک مساله بسیار مهم است. محاسبه میزان ریسک متناظر با آسیبپذیریها، تاثیر احتمالی و احتمال بهرهبرداری از آنها را مشخص میکند. میزان ریسک را میتوان بر اساس ارزش دارایی و هزینههای اصلاح مشخص کرد.
برای مقابله با ریسک، یک SOC میتواند از یکی از روشهای کلی زیر استفاده کند:
- مقابله: ارائه یک اقدام متقابل که میزان ریسک متناظر را کاهش یا تغییر دهد.
- جبران هزینه (انتقال): استفاده از بیمه برای جبران همه یا بخشی از هزینه از دسترفته.
- پذیرش: قبول کردن ریسک مرتبط و پذیرش احتمال از دست رفتن دادهها در صورت وقوع ریسک موردنظر.
- انکار: قبول نکردن ریسک مربوطه و وانمود به وجود نداشتن هیچ خطری
چرخه عمر مدیریت آسیبپذیری در SOC
هدف اصلی از بهکارگیری مدیریت آسیبپذیری در SOC کاهش خطر یک نقطه ضعف فنی به سطحی قابلقبول است. خطرات همواره در سازمان وجود خواهد داشت، در نتیجه مدیریت آسیبپذیری نیز مانند مدیریت ریسک یک فرآیند مستمر کاهش ریسک است (به جای تلاش در راستای جلوگیری از خطر). شکل زیر مدل مدیریت آسیبپذیری SANS را به عنوان یک فرایند ۶ مرحلهای برای مدیریت آسیبپذیری نشان میدهد:
در ادامه، برای رسیدن به درکی بهتر از نحوه اعمال این مدل در فرآیند مدیریت آسیبپذیری در SOC، هر گام از این مدل بررسی خواهد شد:
- فهرست کردن داراییها[۷]: اولین گام این مدل، تهیه و نگهداری یک لیست از داراییهای سازمان است. به این ترتیب، مجموعهای مشخص از سیستمها با کاربران مرتبط خواهیم داشت که امکان ارزیابی از نظر آسیبپذیری دارند. توسعه و نگهداری فهرست داراییهای موجود به دلیل فقدان دید و کنترل دسترسی به منابع شبکه، برای اکثر سازمانها یک چالش بزرگ است. بهترین روش در این راستا، واگذاری مسئولیت نگهداری لیست داراییهای موجود و ارائه دادهها به گروههای دیگر مانند SOC برای ارزیابی آسیبپذیری، به یک تیم مشخص است.
- مدیریت اطلاعات: نگهداری اطلاعاتی مانند هشدار در مورد آخرین حملات شناخته شده یا نتایج حاصل از ارزیابی آسیبپذیری به فرآیندی برای مدیریت نحوه رسیدگی سازمان به این دادههای حساس نیاز دارد. به دلایلی چون تاثیر منفی بر کسبوکار و همچنین احتمال بهرهبرداری، اکثر سازمانها تمایل به انتشار عمومی آسیبپذیریهای شناسایی شده ندارند. بهترین روش برای کنترل مخاطرات مربوط به دادههای حساس، واگذاری مسئولیت واکنش به حملات به یک تیم مشخص است. به طور معمول این کار بر عهده SOC است، اما ممکن است برخی سازمانها یک تیم واکنش به تهدیدات امنیتی (CSIRT) داشته باشند که بر تعامل بین کارکنان داخلی و خارجی درباره آسیبپذیریهای احتمالی تمرکز داشته باشد.
- ارزیابی ریسک: قبل از شروع ارزیابی سیستمها برای پیدا کردن آسیبپذیری، بهتر است که ابتدا خط مبنایی در مورد خطرات شناختهشده در سازمان ایجاد شود. انجام این کار در اولویتبندی محلهایی که سرویسهایی مانند ارزیابی آسیبپذیری باید در آن متمرکز شوند، به SOC کمک میکند. برای مثال ممکن است درباره دو مورد از داراییهای شبکه نگرانیهای وجود داشته باشد؛ اما با توجه به ارزش آنها، ریسک متناظر با یکی بیشتر باشد. اطلاع از میزان ریسک کمک میکند دارایی با اولویت بالاتر زودتر مورد بررسی قرار گیرد.
- ارزیابی آسیبپذیری: در خصوص ارزیابی آسیبپذیری در ابتدای مطلب به تفصیل توضیح داده شد.
- گزارش و رفع آسیبپذیری: این مرحله در ادامهی نتایج مراحل ارزیابی ریسک و آسیبپذیری صورت میگیرد. گزارشدهی برای پیگیری و اختصاص مسئولیت جهت رفع هر گونه آسیبپذیری بسیار مهم است. بررسی انطباق، بررسی وضعیت امنیتی فعلی سازمان، توجیه بودجه برای بهبود بخشهایی که برای رفع آسیبپذیری با چالش مواجه هستند و اندازهگیری اثربخشی اصلاحات از دیگر نواحی مورد استفاده این گزارشها هستند.
- پاسخگویی: گام نهایی در این مدل مدیریت آسیبپذیری در SOC قبل از تکرار کل فرآیند، نحوه پاسخگویی به یک آسیبپذیری است. این مرحله میتواند شامل رفع آسیبپذیری به عنوان یک گام باشد؛ اما در زمان رسیدگی به یک آسیبپذیری جدید، تمام برنامه پاسخگویی مانند چگونگی آسیبپذیری بر کسبوکار به جای یک سیستم مشخص، اثرگذار است. یک مثال در این زمینه شناسایی یک آسیبپذیری مشخص در یک پروتکل است که توسط سیستمهای مختلف سازمان استفاده میشود. برنامه پاسخ میتواند یک روش برای Patch سیستمها بر اساس بیشترین ریسک باشد. ممکن است که برای برخی از سیستمها Patch وجود نداشته باشد که در این صورت لازم است با شرکت ارائهدهنده تماس حاصل شده یا از مکانیزم های امنیتی موقت بیشتری تا زمان رفع آسیبپذیری استفاده کرد. این مثال چرخه مدیریت آسیبپذیری را برای هر سیستم اجرا کرده و هر یک را به برنامه پاسخ مناسب پیوند میدهد.
خودکارسازی مدیریت آسیبپذیری
زمان واکنش یکی از مهمترین معیارها برای جلوگیری از بهرهبرداری از آسیبپذیریها است. آسیبپذیریها میتوانند در هر زمان رخ دهند، بنابراین بهترین روش استفاده از ابزارهایی است که به طور خودکار در هر ساعت از روز اجرا میشوند. خودکارسازی همچنین میتواند به کارهای خستهکننده سرعت بخشیده و شامل یک رکورد از هر چیز برای مرحله گزارشدهی از فرآیند مدیریت آسیبپذیری در SOC باشد.
[۱] Remediation
[۲] Mitigation
[۳] Compliance and audits
[۴] Vulnerability assessment
[۵] Configuration assessment
[۶] Penetration test
[۷] Asset inventory