تست نفوذ چیست؟
تست نفوذ (Penetration Test یا به اختصار Pen Test) یک حملۀ سایبری شبیهسازیشده به سیستمهای کامپیوتری برای سنجش میزان امنیت آنها است. متخصصین تست نفوذ از ابزارهای مشابه با هکرها استفاده میکنند تا تبعات اقتصادی ضعفهای سیستم را شناسایی کرده و در معرض نمایش بگذارند. متخصصین تست نفوذ معمولاً حملاتی که میتواند در صورت بروز در دنیای واقعی خسارات مالی در پی داشته باشد را انجام میدهند. آنها با انواع حسابهای کاربری تأیید اعتبار شده و نشده به سیستم نفوذ میکنند تا میزان مقاومت سیستم در هر یک از حالات مشخص شود.
- «شرکت فنی-مهندسی نوآوران افراتک هوشمند» ، این ابزارهای آزمون نفوذ ( pentest ) و ارزیابی امنیتی را تامین و پشتیبانی مینماید.
مزیتهای تست نفوذ چیست؟
بهطور پیشفرض، نرمافزارها و سیستمها طوری طراحی شدهاند که در برابر نقصهای امنیتی خطرناک مصون باشند؛ عملیات تست نفوذ میتواند مشخص کند که سیستمها چقدر توانستهاند به این هدف برسند. تست نفوذ میتواند به سازمانها کمک کند تا:
- ضعفهای سیستم خود را بشناسند.
- میزان مقاومت سیستم خود را ارزیابی کنند.
- مطابقت سیستم خود را با قوانین حریم خصوصی و امنیت داده (مانند PCL، DSS، GDPR و HIPAA) بررسی کنند.
- نمونههایی کیفی و کمّی از وضعیت فعلی امنیت تهیه کرده و اولویتبندی تخصیص بودجه برای مدیریت شبکه را انجام دهند.
به متخصصین تست نفوذ چه میزان دسترسی داده میشود؟
بر اساس هدف تست نفوذ ، سه نوع تست نفوذ وجود دارد:
Black-Box: در این حالت تیم تست نفوذ ،راجع به ساختار درونی سیستم چیزی نمیداند. آنها دقیقاً مانند هکرها رفتار کرده و سعی در بهرهگیری از هر آسیبپذیری میکنند.
Gray-Box: تیم تست نفوذ اطلاعات کمی دربارۀ اطلاعات ورود به سیستم، مانند برخی از رمزها دارد؛ همچنین دربارۀ ساختار درونی سیستم، کدها و الگوریتم نیز میداند. متخصصین سعی میکنند تا موارد تست را با توجه به این اطلاعات، طراحی کنند.
White-Box: تیم تست نفوذ به تمام اطلاعات سیستم و “Artifact”ها (دادههایی که برای شناسایی تهدیدات به کار میروند)، دسترسی دارد، که شامل: کد اصلی، باینریها، کانتینرها و حتی گاهی سرورهای سیستم است . این رویکرد، مطمئنترین نتیجه را در کمترین زمان میدهد.

مراحل تست نفوذ چیست؟
تیم تست نفوذ حملهای سایبری را شبیهسازی میکنند. برای این کار، معمولاً از یک نقشۀ راه استفاده میکنند که شامل این موارد است:
شناسایی: در این مرحله سعی براین است تا حد امکان اطلاعات بیشتری از طریق منایع داخلی و خارجی به دست آورده شود؛ منابع خارجی میتواند شامل اینترنت، مهندسی اجتماعی، اسکن شبکه بهصورت غیرمتجازوانه و حتی جستوجو میان فایلهای باطله. این اطلاعات به تست نفوذ کاران کمک میکند که نقشۀ آسیبپذیریها و حمله را بتوانند ترسیم کنند. بسته به میزان دسترسی ما، این مرحله میتواند صرفاً با یک تماس تلفنی هم انجام شود.
نظارت کردن: تست نفوذ کاران از ابزار مختلفی برای اطلاع از نقاط ضعف وبسایت یا سیستم هدف استفاده میکنند، که میتواند شامل این موارد باشد: سرویسهای عمومی، مشکلات امنیتی اپلیکیشنها و آسیب پذیریهای متنباز.
دسترسی پیدا کردن: انگیزههای مهاجمین سایبری میتواند مختلف باشد: دزدیدن، تغییر دادن و حذف کردن داده، انتقال پول و یا حتی خراب کردن اعتبار یک شرکت. متخصص تست نفوذ برای هر یک از این سناریوها، بایستی بهترین ابزار را انتخاب کرده تا به سیستم دسترسی پیدا کند؛ این ابزار میتواند SQL Injection ، بدافزار، مهندسی اجتماعی و یا روشهای دیگر باشد .
حفظ دسترسی: وقتی که متخصص تست نفوذ به سیستم دسترسی پیدا کرد، باید این دسترسی را به اندازۀ کافی حفظ کند تا بتواند به اهدافی نظیر دریافت، تغییر یا حذف کردن اطلاعات، برسد. این کار برای آگاهی از ابعاد احتمالی آسیبپذیری می باشد.
انواع تست نفوذ
برای مدیریت بحران در یک سازمان ، انجام کامل و جامع عملیات تست نفوذ اهمیت بهسزایی دارد ،که شامل تست و آزمایش تمام جنبههای سازمان می باشد.
اپلیکیشنهای تحت وب: متخصصین تست نفوذ میزان کارآمدی کنترلهای امنیتی را آزموده و به دنبال آسیبپذیریهای پنهان، الگوهای حملات و هر خلأ امنیتی دیگری میگردند که ممکن است منجر به نفوذ به سیستم شود.
اپلیکیشنهای موبایلی: تستکنندهها با استفاده از تستهای اتوماتیک یا دستی به دنبال آسیبپذیریهایی در «باینری»های اپلیکیشنهایی که روی موبایل اجرا میشوند، و همچنین عملیاتهای سرور محور میگردند. آسیبپذیریهای سرور محور شامل مدیریت نشستها، مشکلات رمزنگاری ، احراز هویت و اعطای دسترسی و سایر آسیبپذیریهای شایع سرویس وب می باشد.
شبکهها: این تست، آسیبپذیریهای معمولی تا شدید را در سیستمها و شبکههای خارجی، بررسی میکند. تستکنندهها طبق فهرستی عمل میکنند، که میتواند شامل پروتکلهای انتقال رمزگذاریشده، مسائل مربوط به گواهیهای SSL، استفاده از سرویسهای مدیریتی و… باشد.
فضای ابری: محیطهای ابری با محیطهای فیزیکیای که به طور معمول با آنها سرو کار داریم، بسیار متفاوت است. مسئولیت تأمین امنیت در این سیستمها، هم برعهدۀ شرکت استفاده کننده از خدمات ابری و هم شرکتی که خدمات ابری را ارائه میکند می باشد. به همین دلیل، تست نفوذ فضاهای ابری، نیازمند تخصص ویژهای در چندین حوزۀ مختلف است تا تمام ابعاد شبکۀ ابری بررسی شود، مانند کانفیگها، API-ها، دیتابیسهای مختلف، رمزگذاری، ذخیرهسازی و کنترلهای امنیتی.
کانتینرها: کانتینرهایی که از Docker گرفته شدهاند، معمولاً آسیبپذیریهایی دارند که میتواند مورد سوءاستفاده قرار بگیرد. کانفیگ نامناسب یکی دیگر از تهدیدات رایجی است که کانتینرها و محیطشان ، با آن روبهرو هستند. هر دوی این خطرات میتواند با یک تست نفوذ تخصصی، شناسایی شود.
اینترنت اشیاء (IoT): تجهیزات اینترنت اشیاء، مانند دستگاههای پزشکی، خودروها، لوازم منزل، دکلهای نفتی و ساعتهای مچی، هر یک ابزار و نرمافزارهای خاص خود را دارند، که این امر به دلیل طول عمر زیاد آنها، دسترسی از راه دور، محدودیت توان، قوانین و مقررات و… میباشد. متخصصان تحلیل کلاینت سرور جامعی انجام میدهند تا نقاط ضعف مهمتر، شناسایی شوند.
API-ها: برای پوشش دادن لیست OWASP top 10، هم ابزار تست خودکار و هم ابزار تست دستی استفاده میشود . برخی از تست نفوذ کاران به دنبال خطرات و آسیبپذیریهایی مانند object-های اعطای دسترسی مشکلدار، احراز هویت کاربران، دسترسیها غیرضروری به دادهها، نبود محدودکنندۀ منابع و… میگردند.
انواع ابزار تست نفوذ
هیچ ابزار همهکارهای برای تست نفوذ وجود ندارد؛ بلکه اهداف مختلف، نیازمند مجموعه ابزار مختلفی برای نظارت بر پورتها، اپلیکیشنها، نفوذ به وایفای یا نفوذ مستقیم به شبکه است. به طور کلی، ابزار استفاده شده در تست نفوذ در این پنج دسته میگنجد:
ابزار شناسایی برای شناختن میزبانهای شبکه و پورتهای باز
جستوجوی آسیبپذیریها برای شناختن مسائل مربوط به سرویسهای داخل شبکه، اپلیکیشنهای وب و API-ها.
ابزار پروکسی مانند پروکسیهای وب مخصوص یا پروکسیهای عمومیِ MitM (Man-in-the-Middle)
ابزار «بهرهگیری»، برای بهدست آوردن داراییها و اطلاعات مهم سیستمها.
ابزار «پسا-بهرهگیری» برای تعامل با سیستمها، حفظ و تغییر دسترسیها، و رسیدن به اهداف مورد نظر از حمله.
API-ها: برای پوشش دادن لیست OWASP top 10، هم ابزار تست خودکار و هم ابزار تست دستی استفاده میشود . برخی از تست نفوذ کاران به دنبال خطرات و آسیبپذیریهایی مانند object-های اعطای دسترسی مشکلدار، احراز هویت کاربران، دسترسیها غیرضروری به دادهها، نبود محدودکنندۀ منابع و… میگردند.