PENTEST

فرایند تست نفوذ: از قرارداد و مجوز آزمون تا آزمون مجدد و تأییدیه

مهدی مرادلو
مهدی مرادلو
مدیر تیم · سرپرست فنیبازبینی: ۲۵ مرداد ۱۴۰۵
۳ مرداد ۱۴۰۵ ۱۱ دقیقه مطالعه

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

در یک نگاه

  • پروژه با دو سند شروع می‌شود: توافق محرمانگی و نامه‌ی مجوز آزمون. بدون سند دوم هیچ آزمونی آغاز نمی‌شود.
  • دامنه با یک پرسشنامه‌ی ساختاریافته تعیین می‌شود، نه با یک تماس تلفنی.
  • یافته‌ی بحرانی منتظر گزارش نهایی نمی‌ماند؛ از کانال توافق‌شده و در بازه‌ی مشخص اطلاع داده می‌شود.
  • پس از گزارش، یک بازه‌ی رفع و سپس آزمون مجدد وجود دارد. آزمون مجدد بخشی از پروژه است، نه سرویس جداگانه.
  • نامه‌ی تأییدیه، گواهی «امن بودن» نیست — یک سند وضعیت در یک تاریخ مشخص است.

نمای کلی چرخه‌ی پروژه

یک پروژه‌ی تست نفوذ هفت مرحله‌ی اداری و فنی دارد. جدول زیر نشان می‌دهد در هر مرحله چه کسی مسئول است و خروجی چیست:

مرحلهمسئول اصلیخروجی
۱. محرمانگی و مجوز آزمونحقوقی هر دو طرفNDA امضاشده + نامه‌ی مجوز آزمون
۲. تعیین دامنهکارفرما (فنی) + تیم آزمونپرسشنامه‌ی تکمیل‌شده + برآورد زمان
۳. قواعد تعاملتیم آزمون، تأیید کارفرماسند RoE + پنجره‌ی زمانی + کانال ارتباط
۴. اجرای آزمونتیم آزمونیافته‌های ثبت‌شده + اطلاع فوری موارد بحرانی
۵. گزارش‌دهیتیم آزمونگزارش فنی + خلاصه‌ی مدیریتی + جلسه‌ی تحویل
۶. رفعکارفرما (توسعه/زیرساخت)وصله‌های اعمال‌شده + پاسخ به هر یافته
۷. آزمون مجدد و تأییدیهتیم آزمونگزارش تکمیلی + نامه‌ی تأییدیه

این ترتیب با ساختار سه‌بخشی NIST SP 800-115 (برنامه‌ریزی، اجرا، پس از اجرا) و با مدل سه‌فازی راهنمای تست نفوذ PCI DSS (پیش‌تعامل، تعامل، پس از تعامل) هم‌راستاست.

مرحله ۱: محرمانگی و نامه‌ی مجوز آزمون

دو سند جدا هستند و هر دو لازم‌اند:

توافق محرمانگی (NDA) دوطرفه است. شما از افشای داده و معماری سامانه‌تان محافظت می‌کنید و تیم آزمون هم از افشای روش‌ها و ابزارهایش. نکاتی که باید در NDA صریح باشد: مدت اعتبار پس از پایان پروژه، نحوه‌ی نگهداری و نابودسازی داده‌ی جمع‌آوری‌شده در جریان آزمون، و اینکه آیا نام سازمان شما به‌عنوان نمونه‌کار قابل ذکر است یا نه.

نامه‌ی مجوز آزمون (Authorisation Letter) سند فنی-حقوقی است که فعالیت آزمون را از دسترسی غیرمجاز جدا می‌کند. باید دقیقاً شامل این اقلام باشد:

  • فهرست دارایی‌های مجاز برای آزمون: دامنه، زیردامنه، آدرس IP، اندپوینت API.
  • بازه‌ی زمانی معتبر برای آزمون.
  • نام و مشخصات آزمونگرها و آدرس‌های IP مبدأ آن‌ها.
  • امضای فردی که در سازمان شما اختیار قانونی این اجازه را دارد.
نکته‌ای که اغلب فراموش می‌شود

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

مرحله ۲: پرسشنامه‌ی تعیین دامنه

برآورد زمان و قیمت بدون این مرحله حدس است. پرسش‌هایی که از شما می‌پرسیم و دلیل هرکدام:

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

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

مرحله ۳: قواعد تعامل و پنجره‌ی آزمون

سند قواعد تعامل (Rules of Engagement) قرارداد عملیاتی پروژه است. اقلامی که باید در آن نوشته شود:

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

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

مرحله ۴: اجرای آزمون و اطلاع یافته‌های بحرانی

در طول پنجره‌ی آزمون، کاری که از تیم شما خواسته می‌شود حداقلی است: پاسخ‌دهی به پرسش‌های فنی و بازکردن دسترسی‌های لازم. جریان کار فنی — شناسایی، نگاشت، آزمون دسته‌های WSTG، بهره‌برداری کنترل‌شده — در راهنمای تست نفوذ وب شرح داده شده است.

سه چیز در این مرحله برای شما اهمیت دارد:

  1. گزارش پیشرفت: در پروژه‌های بیش از یک هفته، خلاصه‌ی وضعیت دوره‌ای ارائه می‌شود تا در پایان با یک شوک روبه‌رو نشوید.
  2. اطلاع فوری یافته‌های بحرانی: یافته‌ای که به داده‌ی کاربران، اجرای کد یا دسترسی مدیریتی می‌رسد، منتظر گزارش نهایی نمی‌ماند. از کانال توافق‌شده و در بازه‌ی مشخص — معمولاً همان روز کاری — اطلاع داده می‌شود، همراه با راهکار موقت کاهش ریسک تا زمان رفع کامل.
  3. مواجهه با نشانه‌ی رخنه‌ی پیشین: اگر در جریان آزمون نشانه‌ای از نفوذ قبلی پیدا شود — درِ پشتی، فایل ناشناس، حساب مشکوک — آزمون در آن بخش متوقف و موضوع فوراً به شما اعلام می‌شود. این وضعیت پاسخ به رخداد می‌خواهد، نه ادامه‌ی تست نفوذ.

هر یافته در جریان کار مستند می‌شود: درخواست و پاسخ خام، گام‌های بازتولید، و نقش کاربری مورد استفاده. این کار در لحظه انجام می‌شود، نه در انتها — یافته‌ای که مستندسازی نشده باشد، اغلب قابل بازتولید نیست.

مرحله ۵: گزارش و جلسه‌ی تحویل

گزارش دو مخاطب دارد و باید هر دو را جدا سرویس دهد: خلاصه‌ی مدیریتی برای تصمیم‌گیر، و بخش فنی برای توسعه‌دهنده. اقلام هر یافته: محل دقیق، شدت با CVSS v4.0 (یا v3.1 اگر سامانه‌ی انطباق شما آن را می‌خواهد — با ذکر صریح نسخه)، گام‌های بازتولید، شاهد، تأثیر بر کسب‌وکار، و راهکار رفع در سطح کد یا پیکربندی.

سه چیز که باید در گزارش بخواهید و اغلب حذف می‌شود:

  • گزارش پوشش: کدام آزمون‌ها اجرا شد، کدام‌ها قابل اجرا نبود و چرا. بدون این بخش نمی‌توانید دو گزارش از دو پیمانکار را مقایسه کنید.
  • نگاشت تاکسونومی: هر یافته به شناسه‌ی آزمون WSTG، دسته‌ی OWASP Top 10:2025 و شناسه‌ی CWE.
  • اولویت رفع: ترتیب پیشنهادی اقدام بر پایه‌ی ترکیب شدت و هزینه‌ی رفع — نه فقط مرتب‌سازی بر اساس امتیاز.

پس از تحویل، یک جلسه‌ی گذر بر گزارش با تیم فنی شما برگزار می‌شود. تجربه نشان می‌دهد این جلسه بیشترین تأثیر را روی نرخ واقعی رفع دارد، چون سؤال «این یافته در کد ما دقیقاً کجاست؟» فقط در گفت‌وگو پاسخ می‌گیرد. ساختار کامل گزارش در گزارش تست نفوذ و ترکیب تیم اجراکننده در تیم تست نفوذ توضیح داده شده است.

مرحله ۶ و ۷: بازه‌ی رفع، آزمون مجدد و تأییدیه

بازه‌ی رفع در قرارداد مشخص می‌شود و معمولاً چند هفته است تا تیم توسعه بتواند تغییرات را در چرخه‌ی انتشار عادی خود اعمال کند. در این بازه، تیم آزمون برای پرسش‌های فنی رفع در دسترس است؛ این بخش اغلب ارزشمندتر از خود گزارش است.

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

آزمون مجدد (Retest) فقط یافته‌های گزارش‌شده را دوباره بررسی می‌کند و خروجی‌اش یک گزارش تکمیلی با وضعیت هر مورد است. دو نکته‌ی مهم: اول، آزمون مجدد ممکن است نشان دهد وصله ناقص است — بستن یک مسیر بهره‌برداری بدون رفع علت ریشه‌ای رایج است. دوم، این مرحله اختیاری نیست اگر مشمول انطباق هستید: بند ۱۱٫۴٫۴ در PCI DSS v4.0.1 تصریح می‌کند آسیب‌پذیری‌های قابل بهره‌برداری باید رفع و آزمون تکرار شود. همین استاندارد نگهداری نتایج آزمون و شواهد رفع را برای حداقل ۱۲ ماه لازم می‌داند.

در پایان، نامه‌ی تأییدیه (Attestation Letter) صادر می‌شود: سندی یک‌صفحه‌ای که می‌گوید چه دامنه‌ای، در چه تاریخی، با چه متدولوژی‌ای آزموده شده و وضعیت یافته‌ها در پایان چه بوده. این سند همان چیزی است که به مشتری سازمانی یا ممیز نشان می‌دهید — بدون افشای جزئیات فنی آسیب‌پذیری‌ها.

باور غلط رایج

«گواهی تست نفوذ گرفتم، پس سامانه‌ام امن است.» نامه‌ی تأییدیه یک عکس لحظه‌ای از وضعیت در یک تاریخ مشخص و در یک دامنه‌ی مشخص است. با نخستین انتشار کد جدید، اعتبار عملی آن کاهش می‌یابد. همچنین «گواهی امنیت» به‌عنوان یک استاندارد جهانی وجود ندارد و هیچ نهادی چنین چیزی را صادر نمی‌کند؛ تأییدیه سندی است که پیمانکار درباره‌ی کار خودش می‌نویسد. برای نگه‌داشتن وضعیت بین دو پروژه، به فرایند پیوسته نیاز دارید، نه به یک سند. اگر می‌خواهید این چرخه را روی سامانه‌ی خودتان اجرا کنید، تست نفوذ وب پی‌هانتر نقطه‌ی شروع است.

پرسش‌های متداول

فرایند تست نفوذ از کجا شروع می‌شود؟

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

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

کار کمی. یک شخص تماس فنی که در پنجره‌ی آزمون در دسترس باشد، ساخت حساب‌های آزمایشی برای هر نقش، بازکردن دسترسی‌های لازم، و پاسخ به پرسش‌های فنی. مهم است که تیم عملیات از پیش در جریان بازه‌ی آزمون و IPهای مبدأ باشد تا ترافیک آزمون را با حمله‌ی واقعی اشتباه نگیرد و به‌اشتباه پاسخ به رخداد فعال نشود.

اگر در تست نفوذ آسیب‌پذیری بحرانی پیدا شود چه می‌شود؟

منتظر گزارش نهایی نمی‌ماند. یافته‌ای که به داده‌ی کاربران، اجرای کد یا دسترسی مدیریتی می‌رسد، از کانال توافق‌شده و معمولاً در همان روز کاری اعلام می‌شود، همراه با یک راهکار موقت کاهش ریسک تا زمان رفع کامل. این بند باید در قواعد تعامل نوشته شده باشد، از جمله اینکه چه کسی و در چه بازه‌ای مطلع می‌شود.

آزمون مجدد شامل قرارداد اولیه است یا هزینه‌ی جداگانه دارد؟

در یک قرارداد درست، آزمون مجدد برای یافته‌های همان گزارش شامل پروژه است و در سند اولیه نوشته می‌شود، همراه با مهلت آن — مثلاً تا سه ماه پس از تحویل گزارش. آزمون مجدد فقط یافته‌های گزارش‌شده را بررسی می‌کند؛ اگر در این فاصله قابلیت جدیدی منتشر کرده باشید، آن بخش دامنه‌ی تازه است و آزمون جداگانه می‌خواهد.

پس از تست نفوذ چه مدرکی برای ارائه به مشتری یا ممیز می‌گیرم؟

نامه‌ی تأییدیه: سندی یک‌صفحه‌ای که دامنه، تاریخ، متدولوژی و وضعیت پایانی یافته‌ها را بیان می‌کند، بدون افشای جزئیات فنی. این سند برای پرسشنامه‌های امنیتی مشتریان سازمانی و ممیزی‌های انطباق کافی است. دقت کنید که این یک «گواهی امنیت» نیست؛ اعتبارش محدود به همان دامنه و همان تاریخ است.

چقدر زمان بین شروع مذاکره تا تحویل گزارش لازم است؟

سه بخش دارد که باید جدا برنامه‌ریزی شوند: مرحله‌ی اسناد و تعیین دامنه (بسته به سرعت واحد حقوقی شما)، پنجره‌ی آزمون فنی، و مرحله‌ی گزارش‌نویسی و جلسه‌ی تحویل. در تجربه‌ی ما، بخشی که بیشترین تأخیر را ایجاد می‌کند نه آزمون است و نه گزارش، بلکه آماده‌سازی حساب‌های کاربری و دسترسی‌ها از سمت کارفرماست — این بخش را از ابتدا شروع کنید.

مهدی مرادلو
WRITTEN BY

مهدی مرادلو

مدیر تیم · سرپرست فنی

محقق امنیتی با تمرکز روی منطق کسب‌وکار و زنجیره‌های حمله‌ی پیچیده. اسکوپ‌بندی پروژه‌ها و تضمین کیفیت گزارش‌ها با اوست.

PENTEST

انواع تست نفوذ؛ سه حالت جعبه سفید، سیاه و خاکستری

ادامه مطلب ←
PENTEST

هزینه تست نفوذ در ایران؛ قیمت بر اساس نوع پروژه

ادامه مطلب ←
PENTEST

روش‌های تست نفوذ: استانداردهای WSTG، PTES و OSSTMM

ادامه مطلب ←