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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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