تست نفوذ

تست نفوذ یا Penetration Testing چیست؟

تست نفوذ یا Penetration Testing چیست؟

یکی از اولویت های امنیتی سایبری، شناسایی و حذف نقطه ضعف های یک برنامه یا سیستم است. شرکت ها برای پیدا کردن اشکالات سایت یا نرم افزار خود، از تکنیک های مختلفی استفاده می کنند. اما هیچ متد تستی، به خوبی تست نفوذ یا Penetration Testing نمیتواند به بهترین نحو برنامه یا سایت را به صورت جامع از نظر نفوذ بد افزارها آنالیز کند.

در این مقاله با مفاهیم و وظایف تست نفوذ به طور کامل آشنا می شویم.

تست نفوذ چیست؟

در واقع تست نفوذ شبیه ساز یک حمله سایبری است که یک برای شناسایی ضعف های امنیتی یک سیستم، شبکه و یا برنامه را تست میکند. این تست ها ترکیبی از ابزار و تکنیک ها هستند که هکرها برای تجاوز و نفوذ به یک کسب و کار استفاده میکنند.

تست نفوذ بیشتر در حملات کلاه سفید و هک اخلاقی نیز استفاده میشود.

این نوع تست ها معمولا ترکیبی از ابزارهای تست خودکار و یک سری متدهای دستی برای شبیه سازی حملات سایبری استفاده می کنند. برای اسکن سیستم ها و آنالیز نتایج نیز از ابزارهای نفوذ استفاده میکنند.

ویژگی های یک ابزار Penetration Testing عالی:

  1. راه اندازی و استفاده آسان
  2. اسکن سریع سیستم
  3. مرتب سازی نقاط ضعف بر اساس اهمیت آنها
  4. تایید خودکار نقاط ضعف و اشکالات
  5. تایید دوباره اشکالات قبلی
  6. ارائه گزارش های مفصل

به صورت کلی هدف اصل این تست ها شناسایی تهدیدات امنیتی در سیستم عامل ها، سرویس ها، تنظیمات و رفتار های کاربر است.

قابلیت هایی که تست نفوذ به اعضای تیم ارائه می دهد:

  1. آسیب پذیری سیستم و اشکالات امنیتی
  2. عدم رعایت حریم خصوصی و مقررات امنیتی (PCI، HIPAA، GDPR)

در صورتی که مایل به دریافت اطلاعات در مورد HIPAA هستید میتوانید به مقاله … مراجعه کنید.

  1. عدم آگاهی امنیتی در سراسر تیم
  2. اشکالات در پروتکل شناسایی تهدید
  3. بستری برای بهبود برنامه و واکنش به اتفاقات
  4. خطاهای موجود در خط مشی امنیتی (security policy)

معمولا شرکت ها برای انجام تست نفوذ، کارشناسان خارجی استخدام میکنند. زیرا کسانی عضو داخلی یک سیستم نیستند، میتوانند با دید بازتر، دقیق تر و مبتکر تر تست ها را انجام دهند. بعضی از شرکت ها علاوه بر انجام تست نفوذ نیز یک سری چالش های تست نفوذ همراه با پاداش و جوایز می گذارند. با این کار از فریلنسرها دعوت میکنند تا در صورت مشاهده تخلف در سیستم آنها، اقدام به هک و نفوذ به سیستم آنها کنند.

 

نتیجه نهایی تست نفوذ به چه شکل است؟

نتیجه نهایی هر تست نفوذ، گزارشات pen test است. این گزارشات مدیران سیستم IT و شبکه را از مشکلات مطلع میکند و از تست های انجام شده نهایت استفاده را می برد. یک گزارش باید شامل مراحل و راهکارهایی برای حل مشکلات شناسایی شده و تقویت سیستم دفاعی نیز باشد.

هر گزارش pen test باید شامل موارد زیر باشد:

  1. خلاصه اجرایی: خلاصه گزارش ها ارائه دهنده یک نمای کلی سطح بالا، از تست های انجام شده هستند. افراد غیر فنی می توانند با استفاده از این خلاصه گزارشات، مشکلات امنیتی شناسایی را به خوبی درک کنند.

 

2. ابزارها، متدها و بردار ها: این بخش از گزارش، شامل ابزارها و متدهای پست هر تست نفوذ را ارائه می دهد. تست کننده ها، یک سری الگوهای حمله را به صورت گام به گام نیز ترسیم میکنند.

 

3. جزئیات یافته ها: این بخش یک لیست از تمامی خطرات امنیتی، آسیب پذیری ها، تهدید ها و اختلافات شناسایی شده را توسط تست نفوذ را ارائه می دهد. بر خلاف خلاصه اجرایی، این بخش از گزارش به بررسی عمیق جزئیات فنی می پردازد.

 

4. توصیه ها : این بخش نحوه بهبود امنیت و محافظت از سیستم را در برابر حملات جدی سایبری را توضیح می دهد.

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

شرکت ها معمولا به طور منظم و سالانه تست های نفوذ را انجام می دهند. البته علاوه بر تست سالانه هر شرکت باید هر زمان که تیم ها نیاز به انجام تست نفوذ داشتند، شرایط زیر را برای آنها فراهم کند:

  1. اضافه کردن زیرساخت شبکه
  2. نصب برنامه های جدید
  3. ارتقا یا اصلاح صحیح زیرساخت ها یا برنامه ها
  4. ایجاد و تنظیم یک دفتر در مکان جدید
  5. افزودن وصله های امنیتی جدید
  6. ایجاد تغییرات در خط مشی های کاربران نهایی

گاهی اوقات ممکن است یک شرکت بودجه و سرمایه کافی برای انجام چندین بار تست نفوذ را در سال نداشته باشد. در این صورت آنها یک تیم برای اسکن آسیب پذیری ها تشکیل می دهند که هزینه کمتری نسبت به pen test ها دارد.

گزارشات pen testing

مراحل تست نفوذ

تست نفوذ یک عمل پیچیده است که شامل چندین مرحله است. در ادامه به بررسی گام به گام به مراحل انجام تست نفوذ می پردازیم.

محدوده تست نفوذ

این مرحله شامل آماده سازی اولیه تیم برای انجام تست هاست.اعضای تیم باید در این مرحله کارهای زیر را انجام دهند:

  • مشخص کردن بازخوردهای منطقی از تست
  • تعریف محدود تست
  • تعیین انتظارات
  • تعیین اهداف
  • تعیین محدودیت های تهاجمی تیم نفوذ
  • در نظر گرفتن پیامد های حقوقی نهایی

شناسایی و جمع آوری اطلاعات

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

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

  • تمام سخت افزار
  • شبکه های لوکال و بی سیم
  • فایروال ها
  • برنامه های مرتبط
  • وب سایت ها
  • سیستم های ابری یا مبتنی بر cloud
  • پروتکل ها و رفتار های کارکنان

مدل سازی تهدیدات

تست کننده ها برای طراحی یک سری تهدید های سفارشی برای نفوذ به سیستم، از بینش های جمع آوری شده در مرحله شناسایی و جمع آوری اطلاعات استفاده میکنند. همچنین در این مرحله اعضای تیم، تمام داده ها و اطلاعات را دسته بندی می کنند.

بهره برداری

در این مرحله تست کننده ها از طریق نقاط ضعف و ورود که در مراحل اول شناسایی شده، سعی میکنند به سیستم مورد نظر نفوذ کنند. در صورت وجود نقص در سیستم، تست کننده ها سعی میکنند دسترسی خود را بیشتر و بیشتر به سیستم نفوذ کنند. این کار به تست کنندگان امکان تشخیص موارد زیر را می دهد:

  • تنظیمات ضعیف تقسیم بندی شبکه (network segmentation)
  • دسترسی به داده ها و منابع حساس
  • مدیریت ضعیف اکانت ها و پسورد ها

Post-Exploitation

Pen tester ها آسیب هایی را که یک هکر می تواند از طریق نقاط ضعف سیستم ایجاد کند را ارزیابی می کنند. در این مرحله به tester ها یا همان تست کنندگان نیاز است. زیرا آنها باید تعیین کنند که تیم امنیتی چگونه باید نقص های موجود در برنامه را بهبود دهد.

آنالیز، گزارش دهی و ایجاد مراحل عملی برای حفاظت بیشتر

در این مرحله مهم، تست کنندگان نتایج تست های نفوذ خود را در یک گزارش جمع آوری می کنند. این گزارش شامل موارد زیر است:

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

تست دوباره

هنگامی که تیم امنیتی تغییرات موجود در گزارش pen را عملی کرد، سیستم برای تست مجدد آماده است. Tester ها باید حملات شبیه سازی شده را یک بار دیگر اجرا کنند. تا مطمئن شوند که برنامه یا سایت مورد نظر می تواند در برابر تلاش هکران برای نفوذ مقاومت کند یا خیر.

بستن