مقدمه
یکی از الزامات سیستم مدیریت امنیت اطلاعات، ارزیابی ریسک امنیت اطلاعات است. این فعالیت باید بهصورت حداقل سالیانه در سازمان صورت پذیرد. برای این منظور یکی از فعالیت هایی که توسط مدیران فناوری اطلاعات برنامه ریزی می شود، انجام تست نفوذپذیری است. دغدغه مدیران در این خصوص این موضوع است که این تست نفوذپذیری چگونه باید انجام شود و نتایج آن چگونه با نتایج فرآیند مدیریت ریسک یکپارچه شود.
در این مقاله هدف این است که به نحوه یکپارچهسازی خروجی تست نفوذپذیری با فرآیند مدیریت ریسک امنیت اطلاعات پرداخته شود؛ زیرا ارزیابی ریسک بدون در نظر گرفتن ریسکهای فنی امنیت اطلاعات، فاقد کفایت مناسب است. در این مقاله ابتدا کلیات فرآیند مدیریت ریسک تشریح شده و قید خواهد شد که در هر گام، چگونه نتایج تست نفوذپذیری در نتایج مدیریت ریسک ادغام خواهد شد.
کلیات فرآیند مدیریت ریسک
ارزیابی، تحلیل و مقابله با ریسک یکی از الزامات استاندارد ISO/IEC 27001:2013 است که در فاز طراحی سیستم مدیریت امنیت اطلاعات به آن پرداخته میشود. طی این فرآیند، داراییهای اطلاعاتی و فرآیندهای سازمان که در حوزه استقرار سیستم قرار دارند، شناسایی و دستهبندی شده و ضمن تعیین ارزش دارایی در سازمان، آسیبپذیری و تهدیدات عمومی مربوط هر دسته مورد تحلیل و بررسی قرار میگیرد. در شکل زیر کلیات فرآیند مدیریت ریسک نمایش داده شده است.
در ادامه اشاره خواهد شد که در هر گام، چه نیازمندی در حوزه تست نفوذپذیری وجود دارد و چگونه میتوان نتایج آن را با نتایج فرآیند مدیریت ریسک یکپارچه نمود. کلیات این فرآیند نیز به شکل زیر است.
شناسایی داراییهای اطلاعاتی
گام اول در فرآیند مدیریت ریسک، شناسایی دارایی های اطلاعاتی است. داراییهای اطلاعاتی به سه دسته کلی تقسیم میگردند:
دسته بندی دارایی اطلاعاتی مبتنی بر متدولوژی مدیریت ریسک ممکن است متفاوت باشد. همچنین شناسایی دارایی اطلاعاتی، میتواند مبتنی بر سرویس باشد. بدینصورت که تمام داراییهای اطلاعاتی مرتبط با اجزاء مربوط به ارائه یک سرویس (اعم از انسانی، فیزیکی و دیجیتال) باید شناسایی شده و در یک دسته قرار گیرد. بهعنوان نمونه سرویس ایمیل بهعنوان یکی از سرویسهای حیاتی سازمان شامل داراییهای اطلاعاتی زیر است:
در این بخش توجه به این نکته ضروری است که داراییهای دسته سیستمعامل (OS) و نرمافزار (Application) باید به صورت صحیح شناسایی گردند، زیرا بخش فنی ارزیابی ریسک (تست نفوذپذیری) تنها بر روی این دسته از داراییها انجام میپذیرد. بدیهی است که تست نفوذپذیری در خصوص ماهیت سختافزاری دارایی ها مفهومی ندارد. نکته مهم دیگر در این بخش، ایجاد ارتباط مناسب بین IP هایی مورد پویش با لیست دارایی های اطلاعاتی است.
ارزش گذاری داراییها
ارزش گذاری دارایی اطلاعاتی شناسایی شده، جهت تعیین میزان اهمیت آن دارایی در سازمان و همچنین نسبت به داراییهای دیگر انجام میپذیرد. با توجه به اینکه این ارزش گذاری بخشی از فرمول محاسبه ریسک را تشکیل میدهد، لذا نقش مهمی در فرآیند مدیریت ریسک دارد. جزئیات ارزش گذاری دارایی در مقاله «بررسی مؤلفههای ارزش گذاری داراییها در مدیریت ریسک امنیت اطلاعات» تشریح گردیده است. طبیعتاً ارزش گذاری دارایی ها باید برای تمام دارایی های سازمان، ازجمله دارایی هایی که قرار است بر روی آنها تست نفوذپذیری انجام شود، صورت پذیرد.
شناسایی آسیبپذیری و تهدیدات
مرحله بعدی فرآیند ارزیابی ریسک مربوط به شناسایی آسیبپذیری و تهدیدات مربوط به هر دارایی است. با توجه به دستهبندی داراییها، مجموعهای از سناریوهای ریسک عمومی وجود دارد که در آن هر سناریو ریسک، مربوط به یک تهدید و آسیبپذیری عامل آن است. شناسایی تهدیدات از طریق کنترلهای استاندارد و استانداردهای پیادهسازی، مشاهدات، تجربیات و ... انجام میپذیرد. بهعنوان نمونه، سناریو دسترسی غیرمجاز به علت عدم تعریف سطوح دسترسی صحیح، برای کلیه نرمافزارها (اعم از تجاری و داخلی) قابلبررسی و تحلیل است.
شدت هر آسیبپذیری و احتمال وقوع تهدید مربوط به آن طی مصاحبه با کارشناسان و شواهد و تجربیات تخمین زده شده و پس از تبدیل به مقادیر کمی، در محاسبات وارد میشود.
دسته دیگر سناریوها، آسیبپذیری و تهدیدات از نوع فنی است که از طریق آزمونهای تست نفوذ روی سیستمهای عامل و نرمافزارها شناسایی میگردند. هرکدام از این آسیبپذیریها دارای کد شناسایی منحصربهفرد (CVE) است که جزئیات آن در یک پایگاه داده بینالمللی (NVD) ثبت گردیده. قالب کد CVE بهصورت CVE-yyyy-xxxx است که مشخصکننده سال شناسایی و ترتیب آن است.
بهعنوان نمونه، کد CVE-2009-1195 مربوط به آسیبپذیری نسخه 2.2 سرویس Apache HTTP Server است که در سال 2009 شناسایی شده است.
شدت هر آسیبپذیری طبق استاندارد CVSS و بر اساس مؤلفههایی نظیر نوع و شدت حمله، وضعیت دسترسی موردنیاز، تأثیر بر المانهای اصلی امنیت (C-I-A) تعین میگردد. هرکدام از این مؤلفهها دارای گزینههای زیرمجموعه است که با تغییر هرکدام، شدت آسیبپذیری نیز تغییر مینماید.
شکل زیر نمونه از محاسبه شدت آسیبپذیری است:
مقدار شدت محاسبه شده طبق جدول زیر، ارزش گذاری میگردد:
لازم به ذکر است، آخرین نسخه استاندارد CVSS در حال حاضر CVSS v3.1 است.
بهعنوانمثال، برخی از مهمترین ریسکهای نرمافزارهای تحت وب به شرح زیر است:
ارزیابی و تحلیل ریسک
پس از انجام تست نفوذ و شناسایی آسیبپذیری، باید ریسک وارده بر دارایی اطلاعاتی ارزیابی و تحلیل شود. در این مرحله ابتدا باید مشخص گردد که آسیبپذیری در کدام لایه (سیستمعامل یا نرمافزار) وجود دارد. بهعنوان نمونه، «آسیبپذیری عدم الزام احراز هویت کاربر» در لایه سیستمعامل است و باید جزء ریسکهای سیستمعامل مربوطه شناسایی گردد؛ اما «آسیبپذیری تزریق کد در پایگاه داده» ممکن است به دلیل عدم رمزنگاری مناسب ارتباط نرمافزار و پایگاه داده باشد که این آسیبپذیری باید در لایه نرمافزار شناسایی شود.
پس از شناسایی صحیح دارایی اطلاعاتی، باید تهدید مرتبط با آسیبپذیری شناسایی شده و احتمال رخداد آن تخمین زده شود.
تهدید اصلی یک آسیبپذیری در جزئیات CVE آن ثبت شده است. البته ممکن است تهدیدات دیگری با توجه به شرایط موجود نیز وجود داشته باشد. بهعنوانمثال، دسترسی غیرمجاز به اطلاعات، علاوه بر امکان افشاء، ممکن است باعث از دسترس خارج شدن سرویس گردد.
احتمال وقوع این تهدیدات طبق نظر کارشناسان و خبرگان فنی و البته شدت آسیبپذیری موجود تعیین میگردد. این تهدیدات، بسته به نوع آنها، حداقل یکی از المانهای امنیتی را تحت تأثیر قرار میدهند. بهعنوانمثال، در صورت دسترسی غیرمجاز، محرمانگی و صحت و حتی در دسترس بودن اطلاعات نیز تحت تأثیر قرار خواهد گرفت. البته حملاتی که با هدف اختلال در کارکرد سرویس انجام میپذیرد، معمولاً فقط دسترسپذیری آن را مختل مینمایند.
پس از محاسبه میزان ریسک و بررسی آن با ماتریس پذیرش ریسک، معمولاً آسیبپذیریهای سطح Critical و High و بعضاً سطح Medium، غیرقابلپذیرش بوده و باید برای آنها برنامه مقابله با ریسک تدوین گردد.
تدوین برنامه مقابله با ریسک (در خصوص ریسکهای شناسایی شده در تست نفوذپذیری)
مقابله با آسیبپذیریهای فنی نیاز به تدوین طرحهای فنی، اعمال تغییرات اصولی و بعضاً سیاستگذاری و آموزش دارد. تدوین طرح فنی و اعمال تغییرات باید مطابق با روشهای اجرایی و دستورالعملهای موجود در سازمان صورت پذیرد تا ریسکهای ناشی از اجرای طرح به حداقل برسد.
بهعنوانمثال، برخی از آسیبپذیریها از طریق نصب وصلههای امنیتی، اعمال بهروزرسانی، فعال یا غیرفعال سازی سرویس و ... مرتفع میگردند. در این خصوص، باید برنامهریزی صحیح شامل موارد ذیل صورت پذیرد:
در خصوص آسیب پذیری های فنی که در تست نفوذپذیری شناسایی می شوند، معمولاً ابزارها راهکار اصلاح و وصله نمودن آن را ارائه می نمایند. راهکارهای ارائهشده از سوی ابزارهای پویش آسیبپذیری، معمولاً بهصورت کلان مطرح میشوند و نیاز به تدقیق دارند. در این خصوص این راهکار باید توسط تیم فنی شرکت، شفاف شده و برنامه مقابله با ریسک با جزئیات فنی زیر تدوین گردد:
موارد فوق باید بهعنوان ورودی به برنامه مقابله با ریسک اضافه شود. آنچه در تدوین برنامه مقابله با ریسک مربوط به ریسکهای شناسایی شده در تست نفوذپذیری، مهم است، لزوم نگاه به نیازمندی های سیاست گذاری و آموزش است. برخی آسیبپذیریها نیاز به سیاستگذاری صحیح یا اجرای بهینه سیاست موجود دارد که در این خصوص نیز قبل از اعمال تغییرات باید برنامهریزی صحیح جهت تدوین روش های اجرایی و سیاست های موردنیاز صورت پذیرد. همچنین ممکن است برخی آسیبپذیریها به علت عدم آگاهی راهبران و کاربران سیستم از الزامات امنیتی باشد (مانند انتخاب کلمات عبور مناسب) که در این خصوص، باید آگاهیرسانی مناسب و الزام رعایت آن در سازمان انجام پذیرد.
نتیجه گیری
در پایان ضروری است به این نکته اشاره کرد که فرآیند مدیریت ریسک، زمانی درست و اثربخش اجرا می شود که در آن تمامی ابعاد مدیریت ریسک دیده شود. طبیعتاً ریسکهای فنی در حوزه امنیت اطلاعات، وزن بالایی دارند و توجه به آنها بهمنظور مدیریت ریسک ضروری است. در این مقاله تلاش گردید تا در تمامی مراحل، نحوه نگاه به بعد فنی مدیریت امنیت اطلاعات در حوزه مدیریت ریسک تشریح شود و اقدامات موردنیاز جهت یکپارچهسازی نتایج تست نفوذپذیری با نتایج مدیریت ریسک امنیت اطلاعات در هر یک از مراحل فرآیند تعیین شود.