تفاوت تست نفوذ - آسیب پذیری در چیست؟
تست نفوذ و اسکن آسیب پذیری اغلب اشتباه گرفته میشن. مشکل اینه که صاحبان مشاغل وقتی مثلاً به تست نفوذ نیاز دارن به اشتباه میرن سراغ ارزیابی آسیب پذیری! پس لازمه که یه پستی در مورد تفاوت تست نفوذ و ارزیابی آسیب پذیری گذاشته بشه تا ببینیم این دوتا سیستم دقیقاً چیکار میکنن و چه تفاوتی با هم دارن!
پس سوالی که ممکنه برای شما پیش بیاد اینه که تفاوت بین ارزیابی آسیب پذیری و تست نفوذ چیست؟ پاسخ به این سوال بستگی به این داره که شما از چه کسی این سوال رو بپرسین. برای برخی از مردم این دوتا به طور موثر یه چیز مشابه هستن اما برای دیگران تمایزهای روشنی بین این دو وجود داره.
پس آیا حقیقت چیه؟ آیا ارزیابی آسیب پذیری و آزمون نفوذ دو روی یک سکه هستن، یا تفاوتهای آشکاری بین این دو تا وجود داره؟ پاسخ کوتاه اینه که در حالی که تست نفوذ ممکنه نوعی ارزیابی آسیب پذیری باشه، اما ارزیابی آسیب پذیری قطعاً تست نفوذ نیست.
همونطوری که باید بدونین، اسکن آسیب پذیری یه تست سطح بالا خودکار است که آسیب پذیری های بالقوه رو جستجو و گزارش میکنه. تست نفوذ هم یه معاینه عملی دقیق توسط یه شخص واقعی است که سعی در شناسایی و بهره برداری از نقاط ضعف در سیستم شما داره.
ارزیابی آسیب پذیری چیست؟
برای این که بتونین بهتر با تفاوت ارزیابی آسیب پذیری و تست نفوذ آشنا بشین، بهتره اول این مفاهیم رو به صورت جدا جدا یه بررسی کوتاه کنیم.
ارزیابی آسیب پذیری که به عنوان ارزیابی اسکن پذیری نیز شناخته میشه، رایانهها، سیستمها و شبکهها رو از نظر ضعفهای امنیتی ارزیابی میکنه، همچنین به عنوان آسیب پذیری هم شناخته میشه. این اسکنها معمولاً خودکار هستن و آسیب پذیری های بالقوه رو شناسایی میکنن.
آمار و اطلاعات
اسکن با کیفیت بالا میتونه بیشتر از ۵۰،۰۰۰ آسیب پذیری رو جستجو کنه و طبق دستورات PCI DSS ، FFIEC و GLBA مورد نیاز است.
اسکنهای آسیب پذیری رو میشه به صورت دستی تحریک کرد یا این که به صورت برنامه ریزی شده اجراشون کرد و در عرض چند دقیقه تا چندین ساعت انجام بشه.
اسکن های آسیب پذیری یه رویکرد منفعلانه برای مدیریت آسیب پذیری است، زیرا فراتر از گزارش در مورد آسیب پذیری های شناسایی شده نیست. این صاحب کسب و کار یا کارمند فناوری اطلاعاته که میتونه نقاط ضعف رو بر اساس اولویت بندی اصلاح کنه یا تأیید کنه که مثلاً این یه آسیب پذیری کشف شده مثبت کاذب است، سپس اسکن رو دوباره انجام بده.
برای اطمینان از اسکن شدن مهمترین نقاط آسیب پذیر، اسکن آسیب پذیری فقط باید توسط یه فروشنده اسکن تایید شده، انجام بشه.
گزارش اسکن آسیب پذیری
دومین موردی که باید برای بررسی تفاوت تست نفوذ و ارزیابی آسیب پذیری بهش دقت کنیم، اینه که گزارش آسیب پذیری به چه صورته!!
بعد از تموم شدن اسکن آسیب پذیری، گزارش مفصلی ایجاد میشه. به طور معمول، این اسکنها لیست گستردهای از آسیب پذیری های یافت شده و منابع برای تحقیقات بیشتر در مورد آسیب پذیری رو ایجاد میکنه. بعضی از اونها حتی دستور العملهایی رو برای حل این مشکل ارائه میدن.
گزارش تست آسیب پذیری
این گزارش نقاط ضعف بالقوه رو مشخص میکنه، اما گاهی اوقات شامل موارد مثبت کاذب است. مثبت کاذب زمانی اتفاق میفته که اسکن تهدیدی رو شناسایی کنه که واقعی نیست. غربال کردن آسیب پذیری های گزارش شده و اطمینان از واقعی نبودن اونها و مثبت بودن کاذب، میتونه کار طاقت فرسایی باشه، اما به هر حال باید انجام بشه. خوشبختانه یه اسکنر خوب آسیب پذیری ها رو در گروههای خطر (به طور معمول زیاد، متوسط یا پایین) طبقه بندی میکنه و اغلب «یک امتیاز» به یه آسیب پذیری اختصاص میده.
نکته
بنابراین شما میتونین با استفاده از این امتیاز، اولویت جستجوی خودتون رو در مورد موارد کشف شده با بالاترین خطر بالقوه قرار بدین.
مزایای اسکن آسیب پذیری
سومین مورد که خیلی هم برای بررسی تفاوت های ارزیابی آسیب پذیری و تست نفوذ مهمه، اینه که بدونین مزایا و معایب هر کدوم از اونها چیه:
سریعه و در سطح بالا آسیب پذیری های احتمالی رو بررسی میکنه.
خیلی مقرون به صرفه است.
خودکاره (برای اجرای هفتگی، ماهانه، سه ماهه و غیره میتونه به صورت خودکار باشه)
برای تکمیل کردن، سریعه.
محدودیت های اسکن آسیب پذیری
وجود مثبت کاذب.
مشاغل باید قبل از آزمایش مجدد، هر آسیب پذیری رو به صورت دستی بررسی کنن.
تأیید نمیکنه که یه آسیب پذیری قابل بهره برداری است.
تست نفوذ چیست؟
حالا بریم سراغ تست نفوذ و ببینیم از این زاویه، تفاوت تست نفوذ و ارزیابی آسیب پذیری در چیه!
یه تست نفوذ، هکری رو که سعی داره از طریق تحقیقات عملی و بهره برداری از آسیب پذیری ها وارد سیستم تجاری بشه، شبیه سازی میکنه. تحلیل گران واقعی که اغلب هکرهای اخلاقی نامیده میشن، نقاط آسیب پذیر رو جستجو میکنن و سپس سعی میکنن اثبات کنن که میتونن از اونها بهره برداری کنن. با استفاده از روشهایی مثل کرک رمز عبور، سرریز بافر و تزریق SQL، اونها سعی میکنن دادههای یه شبکه رو به خطر بندازن و به روش غیر مخربی اونها رو استخراج کنن.
تست های نفوذ یه رویکرد بسیار دقیق و موثر برای یافتن و اصلاح آسیب پذیری ها در برنامههای نرم افزاری و شبکههاست.
یه روش خوب برای نشون دادن مزایای آزمون نفوذ، نگاه کردن به دنیای پزشکیه. وقتی مشکلی در بدن شما وجود داره، میتونین با اشعه ایکس عکسی بگیرن و مشکلی که وجود داره رو تشخیص بدین . تصویری که توسط یک دستگاه اشعه ایکس ساده تولید میشه میتونه شکافی که در ساختار استخونه رو تشخیص بده اما خب این اشعه مبهمه و برای دیدن آسیب بافت نرم مناسب نیست. پس اگه واقعاً میخواین با جزئیات دقیق بفهمین که در داخل بدن چه اتفاقی میفته، باید یک MRI انجام بدین که منجر به تولید یک مدل سه بعدی دقیق از استخوان و بافتهای نرم میشه. این دقیقاً همون تفاوتیه که بین یه اسکن آسیب پذیری ساده (اشعه ایکس فازی) و یه تست نفوذ (MRI دقیق) است. یعنی اگه واقعاً میخواین در برنامه یا شبکه خودتون مشکلات عمیق و دقیق رو پیدا کنین، به یک تست نفوذ نیاز دارین و اگه به مرور زمان سیستمها و نرم افزارهای خودتون رو اصلاح کنین، یه تست نفوذ منظم راهی عالی برای اطمینان از وجود امنیت است.
آیا به تست نفوذ نیاز دارید؟
به دلیل این سطح از جزئیات، آزمایش نفوذ اغلب در بسیاری از استانداردهای امنیتی (PCI DSS ،HIPAA ،FedRAMP ،SOC 2 Type2 و غیره) مورد نیازه.
هزینه آزمون نفوذ معمولاً گرونه و به تعداد IP آزمایش شده و اندازه برنامههای وب ارزیابی شده هم بستگی داره. جنبه اصلی که باعث تفاوت تست نفوذ و ارزیابی آسیب پذیری میشه، وجود انسان است. چیزی به نام تست نفوذ خودکار وجود نداره. تمام تست های نفوذ توسط انسانهای بسیار باتجربه و بسیار فنی انجام میشه و همین مورد هم جز تفاوت های تست نفوذ و ارزیابی آسیب پذیری است.
عملکرد تست نفوذ
مثل مورد قبلی، برای تست نفوذ هم باید به مزایا و معایبش نگاهی بندازیم تا بتونیم تفاوت ارزیابی آسیب پذیری تست نفوذ رو بررسی کنیم، برای همین اول از همه مواردی که آزمون کنندگان تست نفوذ انجام میدن رو یه مروری میکنیم:
روشهای حمله کلاه سیاه (به عنوان مثال، حملات دسترسی از راه دور، تزریق SQL)
آزمایش داخلی و خارجی (به عنوان مثال چشم انداز شخصی در شبکه، چشم انداز هکر از طریق اینترنت)
فناوریهای فرانت اند وب (به عنوان مثال، Javascript ،HTML)
زبانهای برنامه نویسی اپلیکیشن وب (به عنوان مثال، پایتون، PHP)
API های وب (به عنوان مثال ، SOAP آرام)
فنآوریهای شبکه (به عنوان مثال، فایروالها، سوئیچها، IDS)
پروتکلهای شبکه (به عنوان مثال، TCP/UDP ،SSL)
سیستم عامل (به عنوان مثال، لینوکس، ویندوز)
زبانهای اسکریپت (به عنوان مثال، پایتون، پرل)
ابزارهای تست (به عنوان مثال، Nessus ،Metasploit)
نکته
به طور خلاصه، آزمایش کنندههای تست نفوذ نگاهی عمیق به امنیت دادههای یه برنامه و/یا یک سازمان دارن.
گزارش تست نفوذ
به طور معمول، گزارشهای تست نفوذ طولانی هستن و حاوی توصیف حملات استفاده شده، روشهای آزمایش و پیشنهادهای بهبودی هستن.
گزارش تست نفوذ
فواید آزمون نفوذ
آزمایشهای زنده و دستی برای نتایج دقیقتر و عمیقتر است.
آزمایش مجدد پس از اصلاح شامل میشه.
موارد مثبت کاذب رو حذف میکنه.
دارای آزمون سالانه است، یا پس از هر تغییر قابل توجهی یه آزمون داره.
محدودیتهای آزمون نفوذ
زمان زیادی که داره (۱ روز تا ۳ هفته).
هزینه زیاد اون که با توجه به تعداد تست ها تغییر پذیره.
کدوم بهتره؟ اسکن آسیب پذیری یا تست نفوذ؟
تا اینجای کار متوجه تفاوت تست نفوذ و ارزیابی آسیب پذیری شدین و شاید الان براتون این سوال پیش بیاد که کدوم یکی از این تست ها برای شما بهتره!
در حقیقت هر دو آزمون برای تشویق بهینه امنیت شبکه و برنامه با هم کار میکنن. اسکن های آسیب پذیری بصورت هفتگی، ماهانه یا فصلی از امنیت شبکه شما (اشعه ایکس سریع) مراقبت میکنن، در حالی که تست های نفوذ یه روش کاملاً دقیق برای بررسی عمیق امنیت شبکه (همون ماجرای MRI دقیق دورهای) است. بله، تست های نفوذ گرونتر هستن، اما شما دارین پولتون رو به یه متخصص حرفهای پرداخت میکنین تا هر گوشه از کسب و کار خودتون رو همونطور که یه مهاجم دنیای واقعی بررسی میکنه، بررسی کنه تا احتمال مصالحه رو پیدا کنه.
برای بحث در مورد تست نفوذ برای کسب و کار خودتون زمانی رو به این کار اختصاص بدین.
تفاوت تست نفوذ و ارزیابی آسیب پذیری
ارزیابی آسیب پذیری و تست نفوذ باید در برابر سرورهای داخلی و خارجی و دستگاههای شبکه انجام بشه. آزمایش رابطهای خارجی، هکری رو که سعی در دسترسی به اینترنت از طریق رابطهای عمومی داره، شبیه سازی میکنه. آزمون داخلی، یه کارمند سرکش یا کاربر غیر مجاز رو که به شبکه داخلی دسترسی داره و سعی در افزایش امتیازات خودش برای دستیابی به سیستمهای داخلی یا داده ها داره رو شبیه سازی میکنه.
اگرچه ارزیابی آسیب پذیری و تست نفوذ اهداف متفاوتی دارن، اما هر دو باید برای بهبود امنیت کلی سیستم اطلاعات توسط یک متخصص ماهر در زمینه امنیت اطلاعات انجام بشه. ارزیابی آسیب پذیری باید به طور منظم صورت بگیره تا آسیب پذیری های شناخته شده به صورت مداوم شناسایی و رفع بشن. تست نفوذ باید حداقل یک بار در سال و بطور قطع پس از تغییرات چشمگیر در محیط سیستمهای اطلاعاتی توسط یه تستر نفوذ ماهر و باتجربه انجام بشه تا آسیب پذیری هایی که ممکنه دسترسی غیر مجاز هکر به سیستم رو فراهم کنه، شناسایی و رفع بشه.