4 آبان 1404
مقدمه
تست نفوذ (Penetration Testing) ابزاری قدرتمند برای سنجش امنیت است؛ اما اگر چارچوب قانونی و اخلاقی روشنی نداشته باشد میتواند خود منشأ خطر و تبعات حقوقی شود. این چکلیست بهصورت عملی و کاربردی مراحل و نکات ضروری از مرحله پیشقرارداد تا پس از گزارشدهی را پوشش میدهد تا تست شما امن، قانونی و قابل اتکا باشد.
قبل از شروع — اصول پایه (بایدها)
- داشتن مجوز مکتوب و امضاشده از سوی مالک دامنه/سیستم الزامی است.
- تعریف دامنه (Scope) و قوانین اجرای تست (Rules of Engagement) بهصورت شفاف.
- توافق درباره زمانبندی، ساعات اجرای تست و بازههای زمانی حساس (مثلاً ساعات اداری یا تعطیلات).
- مشخص کردن درجه حمله مجاز (Passive vs Active) و تکنیکهای ممنوع (مثلاً DoS، تخریب داده).
- تعیین اختلافات، شرایط خاتمه کار و مسئولیتها در قرارداد.
بخش اول — مجوز و قرارداد (Pre-engagement agreement)
- تهیه SOW (Statement of Work) شامل هدف، ابزارهای پیشنهادی و خروجیهای مورد انتظار.
- انعقاد قرارداد قانونی که شامل بندهای زیر باشد:
- محدوده دقیق آیپیها، دامنهها و سرویسها.
- مدت قرارداد و تاریخهای اجرای آزمایشی.
- مفاد مربوط به محرمانگی (NDA).
- تعهد درباره حفظ سرویسها و مسئولیت خسارت احتمالی.
- پروسه اطلاعرسانی در صورت کشف آسیبپذیری بحرانی.
- حق مالک بر نتایج و شواهد.
- اطمینان از اینکه کلیه ذینفعان داخلی سازمان (فنی، حقوقی، مدیریت) از اجرای تست مطلع و آن را تأیید کردهاند.
بخش دوم — تعریف محدوده و قوانین اجرا (Scope & Rules of Engagement)
- فهرست دقیق منابع «درونِ دامنه تست»: آدرسهای IP، سرورها، اپلیکیشنها، شبکههای بیسیم، سرویسهای ابری.
- فهرست صریح منابع «خارج از دامنه»: سیستمهای متعلق به اشخاص ثالث، خدمات عمومی، تجهیزات پزشکی/صنعتی حساس.
- تعیین استراتژیهای قابلقبول (مثلاً تست کد وب، تست شبکه داخلی، تست اجتماعی محدود) و ممنوعیتها (DoS, رمزگشکنی گسترده).
- مشخص کردن کانال اطلاعرسانی اضطراری در صورت بروز اختلال (شماره تماس/ایمیل فوری تیم فنی سازمان).
بخش سوم — نگهداری شواهد و زنجیره حفاظت از دادهها (Evidence Handling)
- تعریف روش جمعآوری، برچسبگذاری و نگهداری شواهد دیجیتال.
- ثبت دقیق زمانبندی و اقدامات (تایماستمپ، لاگها، خروجی ابزارها).
- ذخیرهسازی شواهد در مکان امن با دسترسی محدود (رمزنگاری فایلها، استفاده از سرور جدا/فضای امن).
- تعیین مالک شواهد: معمولاً سازمان صاحب سرویس مالک اصلی شواهد است؛ مشاور نسخهای محرمانه نگه میدارد.
- سیاست نگهداری (Retention Policy): تا چه مدت و با چه شرایطی شواهد نگهداری یا پاک میشوند.
- در صورت نیاز به انتشار PoC یا نمونههای حمله در مستندات، اطمینان از حذف اطلاعات حساس یا جایگزینی دادههای واقعی با دادههای ساختگی.
بخش چهارم — حفظ حریم خصوصی و مقررات (Compliance & Privacy)
- بررسی الزامات قانونی محلی/ملی: قوانین حفاظت داده (مثلاً قانون حریم خصوصی، مقررات بانکداری، مقررات بهداشتی).
- در صورت پردازش دادههای شخصی، توافق روی مجوزها، هدف قانونی و مکان ذخیرهسازی داده.
- رعایت استانداردها/قواعد صنعت (مثلاً ISO 27001، PCI DSS) که ممکن است نیاز به تستهای خاص یا گزارشدهی متفاوت داشته باشند.
بخش پنجم — اجرای امن تست (Safe Execution)
- ترجیح دادن روشهای Passive (جمعآوری اطلاعات) پیش از حملات Active.
- استفاده از محیطهای آزمایشی (Staging) در صورت امکان؛ اجرای حملات مخرب فقط در محیط کنترلشده.
- اعمال محدودیت نرخ (rate limiting) و تستهای کنترلشده برای جلوگیری از بارگذاری یا قطع سرویس.
- قبل از استفاده از exploitها، هماهنگی برای Window Maintenance یا اعلام به تیم فنی.
- ثبت لاگ کامل عملیات و جلوگیری از دستکاری آنها (Write-once logs یا مکانهای لاگ امن).
بخش ششم — گزارشدهی، افشای مسئولانه و پیگیری (Reporting & Disclosure)
- گزارش شامل: خلاصه مدیریتی، شرح فنی، سطح ریسک، PoC محدود، راهکارهای اصلاحی و اولویتبندی اصلاحات باشد.
- توافق درباره مدتزمان افشای عمومی: معمولاً تا زمانی که اصلاحات مهم انجام نشود گزارش عمومی منتشر نمیشود.
- استفاده از روش Responsible Disclosure برای هماهنگسازی زمانبندی افشا با سازمان هدف.
- برنامهریزی برای بازآزمایی (Re-test) پس از اعمال اصلاحات.
بخش هفتم — نگهداری سوابق و پیگیری قانونی (Recordkeeping & Liability)
- نگهداری نسخههای قرارداد، گزارشها، شواهد و ایمیلهای مجوز با دسترسی کنترلشده.
- تعریف روشن مسئولیتها در قرارداد در قبال خسارات احتمالی: بیمه حرفهای، سقف مسئولیت، شرایط جبران خسارت.
- آمادهسازی برای پاسخ به استعلامهای حقوقی در صورت نیاز (مثلاً ادعای سوءاستفاده).
بخش هشتم — نکات اخلاقی و رفتاری (Ethics & Professionalism)
- پرهیز از سوءاستفاده از دادهها یا دسترسیهایی که در تست بهدست میآورید.
- حفظ محرمانگی و احترام به حریم کاربران و دادههای حساس.
- گزارشدهی صادقانه و کامل—منحرفسازی نتایج یا کماهمیتنمایی آسیبپذیریها غیرقابل قبول است.
- خودداری از انتشار روشها یا ابزارهایی که میتواند به سوءاستفاده کمک کند مگر با توافق صریح سازمان.
چکلیست عملی سریع (قابل چاپ)
قبل از تست:
- مجوز مکتوب و NDA امضا شده است.
- SOW و Scope تایید شدهاند.
- Rules of Engagement نوشته و تایید شدهاند.
- فهرست تماس اضطراری و ساعات اجرایی مشخص شدهاند.
- بررسی قوانین محلی و نیازهای مطابقت (Compliance) انجام شده است.
در طول تست:
- لاگبرداری کامل و زمانبندی شده انجام میشود.
- از حملات DoS خودداری یا با مجوز ویژه اجرا میشود.
- همه شواهد رمزنگاری و در جای امن ذخیره میشوند.
- هر اتفاق بحرانی فوراً به کانال اضطراری گزارش میشود.
پس از تست:
- گزارش مدیریتی و فنی تحویل شده است.
- فرآیند Responsible Disclosure و زمانبندی افشا تعیین شده است.
- بازآزمایی پس از اصلاحات برنامهریزی شده است.
- همه شواهد مطابق سیاست نگهداری حذف یا آرشیو شدهاند.
سوالات متداول (FAQ)
آیا بدون قرارداد هم میتوان تست نفوذ انجام داد؟
خیر—اجرای تست بدون مجوز مکتوب میتواند جرم تلقی شود و موجب مسئولیت حقوقی و کیفری خواهد شد.
اگر در حین تست سرویس قطع شد چه کنیم؟
فوراً به کانال اضطراری اطلاع دهید، توقف تست را اعلام کنید و اقدامات لازم برای بازیابی را هماهنگ کنید؛ همه اقدامات باید ثبت شوند.
مدت نگهداری شواهد چقدر باشد؟
بسته به مقررات داخلی و قانونی؛ معمولاً بین ۶ ماه تا ۳ سال و طبق قرارداد توافق میشود.