img

مقدمه‌ای بر ارزیابی آسیب پذیری و تست نفوذپذیری

/
/
/

این روزها که اینترنت در اختیار همگان قرار دارد، امنیت از اهم امور است. استفاده تقریبا جهانی از موبایل و نرم افزارهای تحت وب، سامانه‌ها را در برابر حملات سایبری آسیب‌پذیر می‌سازد. ارزیابی آسیب‌پذیری می‌تواند نقاط ضعف یک سامانه را مشخص نماید، درحالی که تست نفوذپذیری روش اثبات ایده‌ای است که در واقع کند و کاوی است در جهت فهمیدن شدت آسیب‌پذیری در برابر حملات سایبری.
حملات سایبری روز به روز زیادتر می‌شوند که مسبب آن افزایش استفاده از موبایل و برنامه‌های تحت وب می‌باشد.
در مقیاس جهانی، آمارها نشان می‌دهد که بیش از ۷۰ درصد از برنامه‌های کاربردی یا آسیب پذیر هستند و پتانسیل مورد سوء استفاده قرار گرفتن توسط هکرها را دارند یا بدتر از آن اینکه قبلا مورد سوء استفاده قرار گرفته اند.
اطلاعت لو رفته به خاطر این مسئله عمدتا بر دو نوع می‌باشند. یا این اطلاعات برای سازمانی محرمانه هستند و یا اینکه اطلاعات شخصی افراد محسوب می‌شوند. بدون در نظر گرفتن نوع این اطلاعات، افشای اطلاعات موجب اتلاف هزینه و آبرو می‌گردد.
این مقاله به بررسی فرآیند تکنیکی می‌پردازد که به وسیله آن صنایع و سازمان‌ها می‌توانند از مالکیت معنوی خود صیانت کنند، و اگر چنانچه این راهبرد به درستی اجرایی شود، منجر به مدیریت بهتر خطر پذیری می‌گردد.
برای آنان که نسبت به ارزیابی آسیب‌پذیری و تست نفوذپذیری تازه وارد هستند(VAPT)، ماجرا از این قرار است که، این فرآیند تخمین، فنی است برای یافتن باگ‌های امنیتی در نرم افزار یا شبکه‌های رایانه ای. شبکه ممکن است LAN یا WAN، باشد، در حالی که نرم افزار می‌تواند یک فایل exe که در حال اجرا بر روی رایانه شخصی یا سرور، برنامه تحت وب/ابری یا نرم افزار موبایل هست، باشد. قبل از آنکه وارد جنبه‌های تکنیکی VAPT شویم، اجازه دهید نیم نگاهی به فواید آن داشته باشیم.
* به شناسایی خطاهایی که منجر به حملات سایبری می‌شوند کمک می‌کند.
* روشی اصولی برای برخورد با مدیریت خطر پذیری ارائه می‌دهد.
* شبکه‌های فن آوری اطلاعات را ایمن می‌کند، هم نسبت به مخاطرات داخلی و هم خارجی
* برنامه‌ها را نسبت به نقص‌های منطقی کسب و کار ایمن می‌کند.
* بازده سرمایه گذاری را در امنیت فن آوری اطلاعات افزایش می‌دهد.
* سازمان را در برابر هدر رفتن سرمایه و آبرو حمایت می‌کند.

چرا سامانه‌ها آسیب پذیر هستند؟
دو دلیل اساسی برای آسیب پذیری سامانه‌ها وجود دارد- پیکربندی نادرست و برنامه نویسی ناصحیح. در مورد شبکه ها، دستگاه هایی مثل روترها، سوئیچ‌ها و سرور ها، به علاوه دیوارهای آتش و سامانه‌های تامین کننده اینترنت یا بد پیکربندی شده اند، یا اینکه اصلا پیکربندی نشده اند و از تنظیمات پیش فرض پیروی می‌کنند. به عنوان مثال، تقریبا تمامی دیوارهای آتش دارای حساب کابری پیش فرض پیش ساخته ای به نام admin هستند. معمولا رمز عبور این حساب نیز admin می‌باشد یا حتی چیزی که حدسش آسانتر است. اگر مورد سرورها را در نظر بگیریم، نصب یک سرور پایگاه داده برای ما یک حساب به اسم ‘sa’ ایجاد می‌کند، که اصلا واجد رمز عبور نمی باشد!
در مورد خطاهای برنامه نویسی می‌توان مثال زد که، ورودی که توسط یک فرم نرم افزار تحت وب از کاربر دریافت می‌شود، مستقیما به سرور پایگاه داده backend بدون تجزیه شدن ارسال شود. این خطا می‌تواند به حمله تزریق SQL یا حمله دستکاری پارامتر منجر شود. مثالی دیگری از خطای برنامه نویسی این است که قبول درخواست‌ها توسط سرویس وب بدون راستی آزمایی آنها است، که به درز اطلاعات به طور ناخواسته منجر می‌شود. این مثال‌ها نشان می‌دهد که خطای انسانی است که به آسیب پذیری سامانه منجر می‌شود، که می‌تواند مورد سوءاستفاده حمله کنندگان به آسانی قرار گیرد، تا سری بودن اطلاعات، انسجام و دسترسی آنها را تحت تاثیر منفی قرار دهد.

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

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

تفاوت میان ارزیابی آسیب‌پذیری و تست نفوذپذیری
ارزیابی آسیب‌پذیری و تست نفوذپذیری از دو جنبه با هم تفاوت دارند. فرآیند ارزیابی آسیب‌پذیری یک نقشه افقی از موقعیت امنیتی شبکه و برنامه ارائه می‌دهد، در حالی که تست نفوذپذیری یک شیرجه عمودی عمیق به درون یافته‌ها می‌زند. به عبارت دیگر، پروسه ارزیابی آسیب‌پذیری نشان می‌دهد که یک آسیب پذیری تا چه قدر بزرگ است، در حالی که آزمون نفوذ پذیری نشان می‌دهد که خطر تا چه اندازه وخیم است. یک تفاوت کوچک دیگر هم وجود دارد.
به سبب طبیعت فعالیتی که در هر دو نوع فرآیند وجود دارد، ارزیابی آسیب‌پذیری می‌تواند توسط ابزارهای خودکار انجام شود، در حالی که تست نفوذپذیری در تقریبا همه موارد یک فرآیند دستی است. این امر به این دلیل است که تست نفوذپذیری اساسا آنچه که هکرها قرار است با برنامه و شبکه شما انجام دهند را شبیه سازی می‌کند.
شکل ۱ و ۲ فرآیند ارزیابی آسیب‌پذیری را به ترتیب برای شبکه و برنامه کاربردی تحت وب نشان می‌دهد.
ابزارهای تست نفوذپذیری و ارزیابی آسیب‌پذیری
با وجود اینکه چندین ابزار در بازار دسترس می‌باشد، نام هایی که در ذیل ذکر شده اند برای کاربردی بودنشان مشهور هستند. اگرچه این ابزارها به عنوان ابزارهای امنیت یاب معرفی می‌شوند، اغلب آنها تنها وظیفه ارزیابی آسیب‌پذیری را انجام می‌دهند و بخش تست نفوذپذیری را به هکرها اخلاق مدار می‌سپارند تا به صورت دستی انجامشان دهند. چند ابزار وجود دارد که با این حال ابزارهایی قوی برای تست نفوذپذیری محسوب می‌شوند با به همین عنوان در لیست پایین مشهود هستند.
* Nmap
* Acunetix
* Nessus
* OpenVAS
* Nexpose
* BurpSuite(تست نفوذپذیری)
* Metasploit(آزمون نفوذ پذیری)
دو اصطلاح مهم وجود دارد که یک هکر اخلاق مدار بایستی از آنها آگاه باشد، خصوصا هنگامی که با این ابزار سر و کار دارد. که عبارت اند از: مثب نادرست(false positive) و منفی نادرست(fales negative).
یک مثبت نادرست هنگامی که آسیب پذیری در واقع وجود ندارد، اما گزارش می‌شود. یک منفی نادرست نیز زمانی است که آسیب پذیری در واقع وجود دارد ولی گزارش نمی شود. یک مثبت نادرست می‌تواند یک مزاحمت کوچک و اتلاف کننده وقت یک هکر اخلاق مدار باشد ولی یک منفی نادرست می‌تواند فاجعه آمیز باشد.

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

It is main inner container footer text