مبانی Penetration Testing چیست؟
فرآیند شبیهسازی کنترلشده حمله واقعی به یک سیستم، با اجازه صریح مالک، برای پیدا کردن آسیبپذیریها قبل از مهاجم واقعی.
چرا مهم است؟
Penetration Testing تفاوت بین «فکر میکنیم امن است» و «تست کردیم و امن است» را نشان میدهد؛ خیلی از استانداردهای Compliance (PCI-DSS و مشابه) آن را الزامی میکنند.
تعریف
Penetration Testing (Pentest) یعنی یک متخصص امنیت (داخلی یا External)، با مجوز کتبی صریح از مالک سیستم، تلاش میکند دقیقاً مثل یک مهاجم واقعی به سیستم نفوذ کند تا آسیبپذیریها را قبل از سوءاستفاده واقعی پیدا و گزارش کند.
مراحل کلی
- Reconnaissance: جمعآوری اطلاعات درباره هدف (دامنهها، سرویسهای در دسترس).
- Scanning: پیدا کردن پورتهای باز و نسخه سرویسها (مثلاً با Nmap).
- Exploitation: تلاش کنترلشده برای سوءاستفاده از آسیبپذیری پیداشده (مثل یک SQL Injection).
- Reporting: گزارش دقیق آسیبپذیری، شدت آن و راه رفع، بدون آسیب واقعی به داده Production.
نکته حیاتی
هرگز بدون مجوز کتبی صریح (Scope مشخصشده) روی سیستمی که مالک آن نیستید تست نفوذ انجام ندهید — این کار حتی با نیت خوب، در بسیاری کشورها جرم است.
اشتباه رایج
❌ فکر کردن که یک اسکن خودکار (مثل یک Vulnerability Scanner) معادل Pentest کامل است — اسکنر فقط الگوهای شناختهشده را پیدا میکند؛ Pentest واقعی شامل تحلیل انسانی و ترکیب چند آسیبپذیری کوچک برای رسیدن به یک حمله واقعی هم هست.
منبع و مطالعه بیشتر
خلاصه
Penetration Testing یعنی شبیهسازی کنترلشده حمله واقعی با مجوز صریح مالک، طی مراحل Recon، Scanning، Exploitation و Reporting. هرگز بدون مجوز کتبی روی سیستمی که مالک آن نیستید تست نفوذ نکنید. مرجع کامل: OWASP Testing Guide.
