تست نفوذ که به اون آزمایش قلم یا هک اخلاقی هم گفته می‌شه، عملی برای آزمایش سیستم کامپیوتر، شبکه یا برنامه وب برای یافتن نقاط ضعف امنیتیه که یه مهاجم می‌تونه از اون سو استفاده کنه. Pen test رو می‌شه با استفاده از نرم افزارهای خودکار یا دستی انجام داد. به هر صورت این فرآیند شامل جمع آوری اطلاعات در مورد هدف قبل از آزمون، شناسایی نقاط احتمالی ورود، تلاش برای ورود به سیستم به صورت مجازی یا واقعی و گزارش یافته‌ها است. هدف اصلی Pen test شناسایی نقاط ضعف امنیتی است. از Penetration testing همچنین می‎شه برای آزمایش سیاست امنیتی سازمان، پایبندی اون به الزامات، آگاهی امنیتی کارمندان و توانایی سازمان در شناسایی و پاسخگویی به حوادث امنیتی استفاده کرد.

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

تست نفوذ

همونطور که در ابتدا گفتیم، تست نفوذ به تست قلم هم شناخته شده است. در حقیقت Pen test یه حمله سایبری شبیه سازی شده علیه سیستم کامپیوتری شما برای بررسی آسیب پذیری‌های قابل بهره برداری هست. در زمینه امنیت برنامه‌های وب، از Pen tet معمولاً برای تقویت فایروال برنامه استفاده می‌شه. Penetration testing می‌تونه شامل تلاش برای نقض تعداد زیادی از سیستم‌های کاربردی ( به عنوان مثال: رابط‌‌های پروتکل‌های برنامه، API ها، سرورهای پیش رو ) و برای کشف آسیب پذیری‌ها، مانند ورودی‌های غیرقانونی شده باشه. از نتیجه ارائه شده توسط آزمایش قلم، می‌شه برای تنظیم دقیق سیاست‌های امنیتی WAF و آسیب پذیری‌های شناسایی شده استفاده کرد.

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

تست نفوذ

فرآیند تست نفوذ یا Pen tet رو می‌تونیم به ۵ مرحله تقسیم کنیم. اون مراحل به شرح زیر است.

برنامه ریزی و شناسایی

مرحله اول تست نفوذ (Pen test) شامل موارد زیر:

  • تعریف دامنه و اهداف یک آزمون. از جمله سیستم‌های مورد خطاب و روش‌های تست مورد استفاده.
  • جمع آوری اطلاعات (به عنوان مثال: نام شبکه و دامنه، سرورنام) برای درک بهتر عملکرد یک هدف و آسیب پذیری‌های احتمالی آن.

اسکن کردن

گام بعدی اینه که بفهمید چگونه برنامه هدف به تلاش‌های مختلف تست نفوذ ( Pen tet )  پاسخ می‌ده. این کار معمولاً با استفاده از موارد زیر انجام می‌شه:

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

دسترسی یافتن

در این مرحله از حملات برنامه‌های وب مانند اسکریپت نویسی بین سایت، تزریق SQL برای کشف آسیب پذیری‌های یه هدف استفاده می‌شه. سپس آزمایش کنندگان سعی می‌کنن و از این آسیب پذیری‌ها استفاده می‌کنن. به طور معمول با افزایش امتیازات، سرقت داده‌ها، رهگیری از ترافیک و غیره آسیب‌های احتمالی اونها رو درک می‌کنن. این سومین مرحه از فرآیند آزمایش قلم یا Penetration testing بود.

حفظ دسترسی

هدف این مرحله از فرآیند تست نفوذ اینه که ببینیم، آیا می‌تونیم از آسیب پذیری برای دستیابی به حضور مداوم در سیستم استفاده کرد؟ ایده اصلی اینه که تهدیدهای مداوم پیشرفته رو تقلید کنین که اغلب ماه‌ها در سیستم باقی می‌مونه تا حساس‌ترین داده‌های سازمان رو بدزدن. به گام آخر Pen test رسیدیم. با ما باشین.

تحلیل و بررسی

در نهایت نتایج تست نفوذ یا Penetration testing در گزارشی با جزئیات زیر است:

  • آسیب پذیری‌های خاص که مورد سوء استفاده قرار گرفتن.
  • داده‌های حساس قابل دسترسی هست.
  • مدت زمانی که تستر قلم در سیستم بوده، شناسایی نشده.

این اطلاعات توسط پرسنل امنیتی تجزیه و تحلیل می‌شه تا به پیکربندی تنظیمات WAF سازمانی و سایر راه حل‌های امنیتی برنامه برای آسیب پذیری و محافظت در برابر حملات آینده کمک کنه.

روش‌های تست نفوذ

آزمایش خارجی

تست نفوذ خارجی، دارایی‌های یه شرکت رو نشون میده که در اینترنت قابل مشاهده است.

مثال
به عنوان مثال خود برنامه وب، وب سایت شرکت و سرورهای ایمیل و نام دامنه DNS.

هدف در این Pen tet دستیابی و استخراج داده‎های ارزشمنده.

تست داخلی

در یه تست داخلی، یه تستر با دسترسی به برنامه‎ای در پشت فایروال خود، حمله توسط یه شخص مخرب رو شبیه سازی می‌کنه. این لزوماً شبیه سازی یه کارمند سرکش نیست. سناریوی شروع متداول می‌تونه کارمندی باشه که به دلیل حمله فیشینگ، اعتبار نامه او به سرقت رفته. تست داخلی یکی از روش‌های تست نفوذ یا Pen test که کاربرد خوبی داره.

تست کور

در یه تست کور، فقط یه شرکت آزمایشی به نام سازمانی که هدف قرار گرفته است، داده می‎شه. این امر به پرسنل امنیتی نگاه واقعی در زمان وقوع حمله واقعی برنامه رو می‌ده. این مورد هم یکی از روش‌های خوب تست نفوذ یا Penetration testing هست.

تست دوسو کور

تست دو سو کور یا Double-blind testing یکی دیگه از Pen tet ها است. در یه آزمایش دو سو کور، پرسنل امنیتی هیچ اطلاعی از حمله شبیه سازی شده ندارن.همونطور که در دنیای واقعی، اونها هیچ وقت برای دفاع از خود قبل از اقدام، فرصتی ندارن.

آزمایش هدفمند

در این سناریو از تست نفوذ ، هر دو یعنی هم آزمایشگر هم پرسنل امنیتی با هم کار می‌کنن و هم دیگه رو از حرکتاشون ارزیابی می‌کنن. این یه تمرین آموزشی ارزشمنده که از نظر یه هکر بازخورد در زمان واقعی رو برای یه تیم امنیتی فراهم می‌کنه. برای داشتن اطلاعات بیشتر در مورد Penetration testing در ادامه با ما همراه باشین.

فایروال‌های تست نفوذ و برنامه‌های وب

تست نفوذ و WAF اقدامات انحصاری و در عین حال سودمند و متقابل هستن. برای بسیاری از انواع Pen test ها (به استثنای تست‌های کور و دوسو کور)، آزمایش کننده احتمالاً از داده‌های WAF برای تعیین مکان و استفاده از نقاط ضعف یه برنامه استفاده می‌کنه. در جایگاه خود مدیران WAF می‌تونن از داده‌های Pen tet بهره مند بشن. بعد از اتمام یه آزمایش، می‌شه پیکربندی‌های WAF رو برای اطمینان در برابر نقاط ضعف کشف شده در آزمون به روز کرد.

تست قلم ایده آل است!

Pen tet

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

تست نفوذ به شما چی می‌گه؟

به طور معمول، از تست نفوذ برای شناسایی سطح خطر فنی ناشی از آسیب پذیری‌های نرم افزار و سخت افزار استفاده می‎شه. این که دقیقاً در Pen test از چه تکنیک‌هایی استفاده می‌شه؟ چه اهدافی مجازه؟ چقد دانش سیستم از قبل به آزمایش کنندگان داده میشه؟ چه میزان دانش از آزمون به مدیران سیستم داده می‌شه؟ می‌تونه در همون آزمون متفاوت باشه. یه Penetration testing مناسب می‌تونه اطمینان حاصل کنه که محصولات و کنترل‌های امنیتی آزمایش شده مطابق با روش‌های خوب پیکربندی شدن و هیچ آسیب پذیری معمول یا شناخته شده‌ای در اجزای آزمایش شده در زمان آزمون وجود نداره.

چه نوع سیستمی باید آزمایش بشه؟

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

هشدار
برای آزمایش خاص یه محصول این روش مناسبی نیست.

استفاده موثر از تست نفوذ

یه تست نفوذ یا Pen test تنها می‌تونه تایید کنه که سیستم‌های IT سازمان شما در معرض مسائل شناخته شده روز آزمون نیستن. گذشت یک سال یا بیشتر بین Pen tet غیر معمول نیست، بنابراین اگه این تست تنها وسیله تایید اعتبار شما باشه؛ آسیب پذیری‌ها می‌تونن برای مدت طولانی وجود داشته باشن، بدون این که شما در مورد اونها بدونین. Penetration testing شخص ثالث فقط باید توسط کارکنان مجرب و با تجربه انجام بشه. از نظر ماهیت آزمون‌های نفوذ نمی‌تونن کاملاً رویه‌ای باشن و نمی‌تونیم مجموعه‌ای جامع از موارد آزمون رو تهیه کنیم. در نتیجه کیفیت تست قلم ارتباط تنگاتنگی با توانایی تسترهای نفوذ درگیر داره. NCSC توصیه می‌کنه که سازمان‌های HMG از آزمایشگران و شرکت‌هایی که بخشی از طرح CHECK هستن، استفاده کنن. سازمان‌های غیر دولتی باید از تیم‌هایی استفاده کنن که تحت یکی از این طرح‌ها، صدور گواهینامه صلاحیت دارن.CREST، طرح ببر، طرح سایبری.

مزایای تست نفوذ

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

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

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

آیا تا به حال تست نفوذ رو انجام دادین؟ چقدر از اون راضی بودین؟ نظرات و پیشنهادات خود رو با ما به اشتراک بزارین.