تست نفوذ (Pen-Test Techniques) یک پروسه مجاز، برنامه ریزی شده و سیستماتیک برای به کارگیری آسیب پذیری ها جهت نفوذ به سرور، شبکه و یا منابع برنامه های کاربردی است و فرآیند ارزیابی معیارهای امنیتی شرکت است . تست نفوذ پذیری رویه ای است که درآن میزان امنیت اطلاعات سازمان مورد ارزیابی قرار می گیرد. معیارهای امنیتی از لحاظ ضعف طراحی، مشکلات فنی، و آسیب‌پذیری‌ها مورد آنالیز قرار می‌گیرند. و نتایج آن طبق گزارش کاملی به مدیران و نیروهای فنی ارائه می‌شود. یکی از انواع تجربیات اختصاصی تیم نفوذ سنجی شرکت امن‌افزار گستر آپادانا با داشتن ابزارهای محرمانه (CANVAS ,HP-WebInspect ,Burp Suite Pro ,Metasploit Pro, …) کدهای مخرب محرمانه در سطح نرم‌افزارهای مدیریت محتوای وب ( Joomla ,WP, …) است و البته متدولوژی‌های ابداعی توسط تیم، در لبه این تکنولوژی قرار دارد.

   اهداف انجام آزمون نفوذپذیری عبارتند از:

  • بررسی امکان نفوذ به سیستم‌ها و برنامه‌ها
  • شناسایی نقاط ضعف و آسیب‌پذیر سیستم‌ها و نرم‌افزارها
  • شناسایی آسیب‌پذیری‌های درونی و بیرونی شبکه
  • ارائه راه‌حل برای رفع مشکلات و آسیب‌پذیری‌های امنیتی موجود

دامنه آزمون نفوذپذیری در شرکت امن افزار گستر آپادانا موارد زیر را شامل می‌شود:

   آزمون نفوذ Core Banking
   آزمون نفوذ اینترنت اشیاء (IoT)
   آزمون نفوذ سامانه‌های تحت وب (Web Application)
   آزمون امنیت فیزیکی (Physical)
   آزمون نفوذ تجهیزات شبکه و سرویس‌های سیستم‌عامل (Network, Firewall, OS Services)
   آزمون نفوذ سیستم‌های ویپ (VOIP)
   آزمون نفوذ برنامه‌های دسکتاپ (Desktop Application)
   آزمون نفوذ وب‌سرویس (Web Service)
   آزمون نفوذ برنامه‌های کاربردی موبایل (Mobile Application)
   آزمون نفوذ شبکه‌های بیسیم (Wireless)
   آزمون نفوذ شبکه‌های کنترل صنعتی (SCADA , DCS)

   مراحل تست‌نفوذ پذیری نرم‌افزارهای کاربردی تحت وب:

  • تست امنیتی سرویس‌های به کار گرفته‌شده توسط نرم‌افزار و پلت‌فرم: تمامی سرویس‌های اجرا شده اعم از سرویس‌هایی که توسط یک پورت در حالت شنود هستند یا سرویس‌های محلی
        - بررسی وب‌سرویس‌ها اعم از SOAP ،WSDL و ...

تشخیص و سپس تست و بررسی وب سرویس‌های نرم‌افزار مانند:

  • WS-security
  • HTTP Authentication
  • SSL-Certificate
  • Encrypted Transactions
  • تست امنیتی تبادلات بیرونی نرم‌افزار

در بررسی یک نرم‌افزار تحت وب (web application) مهمترین نکته بررسی تعاملات و شروط داد و ستدی است که نرم‌افزار با کاربر خود داراست:
   بررسی تمامی ارتباطات با Data-Store ها
   تست امنیتی نرم‌افزار
   بررسی پوشه‌های نرم‌افزار و مکانیزم‌های امنیتی که باید اعمال شود
   بررسی امن بودن بستر پروتکل‌ها
   بررسی اعتبارسنجی‌ها و session های نرم‌افزار در برقراری ارتباطات برون سازمانی
   بررسی ارتباطات بین نرم‌افزارهای اتوماسیون و تحت وب
   بررسی کلیه پروتکل‌هایی که نرم‌افزار با آن‌ها یا در بستر آن کار می‌کند
   تست اتوماتیک: استفاده از نرم‌افزارهای اتوماتیک در جهت تست و پویش آسیب‌پذیری‌ها، این مرحله از تست نفوذ نقطه عطف این فرآیند نخواهد بود و صرفا یک مرحله خواهد بود
   استفاده از ابزارهای تجاری: استفاده کردن از ابزارهای تجاری و یا رایگان 2 قطب متفاوت می‌باشد، ابزارهای تجاری اغلب با هوش مصنوعی توام هستند اما نرم‌افزارهای رایگان تلاشی بیشتر از خواندن پایگاه داده و اعمال روش‌های دیکته شده برای شناسایی نخواهند داشت. یکی از افتخارات شرکت امن افزار گستر آپادانا داشتن نرم‌افزارهایی  بی همتا، با سابقه و حرفه‌ای در زمینه تست است مانند نرم‌افزار Burp Suite Pro از شرکت PortSwigger  و نرم‌افزار بسیار قدرتمند CANVAS از شرکت Immunity  نمونه‌هایی گران‌قیمت هستند. همچنین نرم‌افزار HP WebInspect از مرکز امنیت وب کمپانی HP که مورد استفاده در بسیاری از مراکز دولتی و بانک‌ها می‌باشد و با تحلیلی که انجام شده است این نرم‌افزار هیچ رفتار جاسوسانه‌ای نداشته است و یادآور می‌شود علاوه بر تست و اسکن آسیب‌پذیری، قابلیت Fuzzing یا بررسی عمیق نرم‌افزار با استفاده از پارامترهای پیچیده نیز در نرم‌افزار نهفته است. از ویژگی‌های دیگر  HP Webinpect عبارتند از:

  • موتور هوشمند
  • تجزیه و تحلیل‌ها پویا در تغییرات نرم‌افزار
  • بهینه‌بودن سرعت اسکن
  • دارای رابط کاربری قدرتمند و انعطاف‌پذیر
  • شبیه‌سازی رفتار یک هکر 
  • ارائه Best Practice برای چگونگی رفع مشکل
  • تشخیص آسیب‌پذیری‌های امنیتی در سورس کدهای سمت کلاینت
  • ارائه بهترین نتایج ( کمترین خطا یا False-Positive) 
  • تشخیص خودکار و Decompile کردن فایل‌های فلش و CSS و بررسی امنیتی بر روی آن‌ها
  • ذخیره‌سازی تمامی نتایج اسکن در یک SQL Server
  • به روز رسانی به هر دو صورت آنلاین و آفلاین از HP SmartUpdate
  • ارائه گزارشات به صورت متنوع مناسب برای تیم تضمین کیفیت، تیم توسعه‌دهنده و یا تیم امنیتی 
  • ارائه شماتیکی در گزارشات از نوع حمله به نرم‌افزار 
  • ارائه فرمت گزارشات در فرمت‌های RTF، PDF، Excel، HTML و ...
  • شبیه‌سازی خودکار فعالیت‌های یک کاربر با اجرای مسیر کد از طریق کدهای جاوا اسکریپت
  •  سفارشی ساختن قالب گزارشات ( لوگوی سازمان، تغییرات در سرآیند صفحه و ... )
  • پشتیبانی سیاست بررسی امنیتی از چندین Compliance معبتر جهانی همچون OWASP top 10، PCI و ...
  • دارای روش‌های فوق پیشرفته در تشخیص انواع آسیب‌پذیری‌های Web 2.0 

   استفاده از ابزارهای رایگان: از دسته گستره ای از نرم افزار های کرک شده و رایگان برای هر قسمت و تکنولوژی های  نرم افزار  استفاده خواهد شد. این نرم افزار ها طبق 2 استاندارد : OWASP و BackTrack تبعیت خواهد کرد.
   تست دستی: تست دستی عبارت است از اعمال سناریوهای حمله به اکتفای مهارت انسانی و همچنین اکتفا نکردن به خروجی‌هایی است که در مرحله قبل به دست آمده است. تجربه ثابت کرده است در اغلب موارد مخاطراتی کشف می‌شود که حتی هوش نرم‌افزار نیز قادر به شناسایی آن‌ها نیست. در این مرحله موارد زیر :

  • تست امنیتی کلیه ورودی‌ها
  •  در هم کوبیدن نرم‌افزار در مواردی که امنیت لحاظ شده است
  • کشف کلیه ورودی‌های نرم‌افزار

در کل در تمام روندهای بالا که شرح داده شده علاوه بر استفاده از استانداردها و Compliance های موجود حملاتی کاملا تخصصی هم‌چون: 

   DDOS
   Triming Attacks
   XML, JSON and General API Security
   Encrypting Cookies
   SQLi Family
   Preventing Tampering Attacks
   Server Http Header
   Click Jacking
   File Upload Vulnerabilities
   Injecting Scripts
   Cross-Site Scripting
   Untrusted Input
   Session Fixation / Stealing
   Cross-Site Request Forgery (CSRF)
   ...

مراحل تست و نفوذپذیری شبکه: 
   شناسایی شبکه (درون / برون سازمانی): در این مرحله لازم است کل شبکه‌ مورد شناسایی قرار بگیرد. این امر از این حیث انجام می‌گیرد که یادآور این نکته باشد که ممکن است جایگاه یک شخص با دسترسی بالا به منابع متزلزل گردد و این دید باید لحاظ شود.
   شناسایی ارتباطات بیرون شبکه: ممکن است کاربری با یک نرم افزار از راه دور ارتباط داشته باشد، این از این نظر است که نرم افزار تحت وب نباشد، طرق ارتباطی شخص با نرم افزار سرویس دهنده و پروتکل های مورد استفاده از لحاظ امنیتی بسیار حیاتی خواهند بود. در این قسمت لازم است، ابتدا نحوه و مکانیزمی که سازمان برای دور کاری اتخاذ کرده مورد بررسی قرار گیرد و سپس شناسایی شود. برای مثال ارتباط یکی از پرسنل برای دسترسی به یک نرم‌افزار که بدون نسخه کلاینت یا مشتری است استفاده از تکنولوژی Citrix یا 2x است، این ارتباط خارجی در صورت پذیرفته‌شدن به عنوان یکی از سیستم‌های شبکه داخلی سازمان مورد تایید خواهد بود که چنانچه امنیت آن مورد نظر قرار نگرفته باشد ریسک بالایی را خواهد داشت.
   تست بستر شبکه: بعد از شناسایی کامل شبکه تست شبکه از نظر امنیت و کشف نقاط ضعف آغاز می‌شود، ( تست نفوذ) در این مرحله از 2 دید بستر ارتباطی مورد بررسی قرار می‌گیرد:

  • روش اول جعبه سیاه یا Black-Box: در این حالت هیچ اطلاعاتی از سازمان درخواست نخواهد شد و صرفا مواردی است که از "بیرون و یا مواردی که عاملی را برای دسترسی از بیرون " محیا می‌سازند. در این روش از نرم متدولوژی‌های زیر بهره گرفته می‌شود:

- تست اتوماتیک شبکه با استفاده از نرم‌افزار: استفاده از نرم افزارهایی هم‌چون : CANVAS Enterprise ،Metasploit Pro و ...
- تست اتوماتیک شبکه با اجرای سناریوهای حمله: اجرای سناریوهای حمله با استفاده از کدهای مخرب (0-day exploits) و تکنیک‌های فردی نسبت به بستر شبکه و همچنین بررسی و تست تجهیزات شبکه در این قسمت قرار خواهد گرفت.
- مهندسی اجتماعی

  • روش دوم جعبه سفید یا white-box: بعد از تحویل گزارش مرحله قبل، اینبار مجوزی مبنی بر حداقل دسترسی ( مانند یکی از پرسنل ) از سیستم‌ها تقاضا می‌گردد، این دسترسی برای کشف راه‌های نفوذ از سیستم‌هایی است که مورد اطمینان شمرده می‌شوند. از متدها و مکانیزم‌های مرحله قبل استفاده خواهد شد.

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