منظور از vulnerability scanning چیست و چه تفاوتی با DAST دارد؟

منظور از vulnerability scanning چیست و چه تفاوتی با DAST دارد؟

مفهومِ vulnerability scanning چیست؟

Vulnerability scanning از یک نرم‌افزار برای شناساییِ نقص‌های امنیتی در سیستم‌ها، شبکه، اپلیکیشن‌ها و غیره استفاده نموده و نقاط ضعف را بدون تلاش برای دسترسی غیرمجاز شناسایی می‌کند. این در حالی است که DAST همواره در تلاش برای عبور از سیستم‌های دفاعی شبکه می‌باشد.

مزایای vulnerability scanning چیست؟

Vulnerability scanning، اعدادی قابل اندازه‌گیری ارائه می‌دهد تا میزان تهدیدات احتمالی را به طور دقیق، ارزیابی کند. در ضمن مشخص می‌کند در صورت وارد شدنِ کد مخرب به سیستم، کدام قسمت‌ها با مشکل، مواجه خواهند شد.

پس از انجام اسکن آسیب‌پذیری‌ها و ارائه‌ اطلاعات، می‌توان اقداماتی اتخاذ نمود تا در خصوص امنیت اطلاعاتِ بسیار مهم مانند اطلاعات پرداخت مشتریان، اطمینان حاصل کرد.

محفاظت از دیتای مشتریان برای مطابقت با استاندارد Payment Card Industry Data Security Standard (PCI DSS) بسیار مهم است.

Vulnerability testing یک فرآیند گام به گام برای یافتن نقاط ضعف در سیستم‌های کامپیوتری و دستیابی به راه‌هایی برای جلوگیری از حملات احتمالی در آینده است. انجام این کار علاوه بر اینکه به ایمن‌سازیِ سیستم‌ها کمک می‌کند، باعث می‌شود کسب و کار مربوطه در بین مشتریان و رقبا، به سازمانی متعهد به حفظ امنیت اطلاعات شناخته شود.

 

چالش‌های Vulnerability Scanning

در ادامه به برخی از چالش‌هایی پرداخته می‌شود که در مقایسه‌ی بین vulnerability scan و penetration test پدیدار می‌شود:

  • Incomplete Inventory of Assets

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

بنابراین بهتر است پیش از انجام Vulnerability Scanning، یک لیست دقیق و کامل از تمام موجودی‌های دیجیتالی تهیه شود و مواردی که ممکن است بیشتر مورد توجه مهاجمان سایبری قرار گیرد، مشخص گردند.

 

  • Pinpointing Vulnerabilities Without Interrupting Operations

هدف اصلی از vulnerability scanning، شناسایی نقاط ضعف سیستم بوده تا بتوان برای اصلاح آن‌ها، اقدام نمود. اما گاها بهینه‌سازیِ امنیت، به اختلال در برخی امور سازمان می‌انجام، که با استراتژی کسب و کار مربوطه، سازگار نیست. بنابراین، مهم است که قبل از برنامه ریزی برای بررسی آسیب‌پذیری‌ها، با بخش‌های مختلف سازمان، هماهنگی صورت گیرد.

 

  • Instantly Outdated Vulnerabilities

اعتبار یک vulnerability scan، به محض اتمامِ فرایند، به پایان می‌رسد؛ زیرا دائما تهدیدات جدید، ظاهر می‌شوند. دقیقا به همین دلیل است که برخی از سازمان‌ها، برنامه‌ی منظم و مکرری پیاده می‌کنند تا از هیچ از یک آسیب پذیری‌ها، غافل نشوند.

 

منظور از Dynamic Application Security Testing (DAST) چیست؟

تست Dynamic Application Security Testing (DAST) به فرایند آنالیز یک وب‌اپلیکیشن در بخش front-end یا بخشی که کاربران به طور مستقیم با آن در تعامل هستند اشاره دارد. در حقیقت رویکرد این تست، شبیه‌سازی حملات واقعی است و مانند یک کاربر مخرب، سعی در نفوذ دارد. سپس اسکنر DAST، به دنبال موارد غیرمعمول یا غیرمنتظره می‌گردد که به مشکلات امنیتی احتمالی در اپلیکیشن تحت وب اشاره می کند.

 

مزایای تست DAST

  • مشخص نمودن و رفع آسیب‌پذیری‌های خاص

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

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

گاهی مجرب‌ترین تیم‌های فناوری اطلاعات نیز از نحوه‌ی کارکرد و ارتباط بین بخش‌های مختلف شبکه، اطلاع ندارند. هیچ عاملی مانند یک penetration test نمی‌تواند این ارتباط بین اجزا شبکه را به خوبی نشان دهد. به عنوان مثال ممکن است یک وب‌اپلیکیشن و یک سیستم customer relationship management (CRM) به یک دیتابیس متصل باشند. در این صورت DAST می‌تواند نحوه‌ی ارتباط این المان‌ها و همچنین نحوه‌ی استفاده یک هکر از این ارتباط را توضیح دهد.

 

معایب و چالش‌های تست DAST چیست؟

  • عدم قابلیت شناسایی مکان دقیق آسیب‌پذیری در کد اپلیکیشن
  • نیاز به دانش امنیتیِ کافی برای تفسیر گزارشات
  • زمان‌بر بودن تست

 

وجه شباهت Vulnerability Scanning  و DAST در چیست؟

  • آسیب‌پذیری‌های موجود در سیستم را شناسایی می‌کنند.
  • بخشی از آن‌ها به صورت خودکار انجام می‌شود.
  • ارتباط بین المان‌های مختلف شبکه، اپلیکیشن و دیتایی که نیاز به محافظت دارند را به نمایش می‌کشند.

 

تفاوت Vulnerability Scanning  و DAST در چیست؟

  • با این‌که بخشی از penetration testing به صورت خودکار، انجام می‌‌شود، اما غالبا بر پایه‌ی فعالیت‌های دستی توسط pen tester صورت می‌گیرد.
  • vulnerability scan قادر به شناسایی نقاط ضعف موجود در سیستم است، اما penetration test علاوه بر شناسایی نقاط ضعف، سعی بر اکسپلویتِ آن‌ها نیز دارد.
  • غالبا هزینه‌ی Penetration test بیشتر از vulnerability scan است؛ زیرا یک pen test به ساعت‌ها وقتِ نیروی انسانی، نیاز دارد؛ در حالی که vulnerability scan را می‌توان تنها با ابزارهای خودکار انجام داد.

 

Vulnerability scan برای سازمان بهتر است یا DAST؟

در برخی شرایط خاص، ممکن است vulnerability scan، انتخاب بهتری باشد. به عنوان مثال فردی که در حال برنامه‌نویسی برای یک اپلیکیشن است و قصد دارد نسبت به وجود آسیب‌پذیری در بخش‌های مختلف آن، آگاهی داشته باشد، بهتر است از این ابزار استفاده کند.

از سوی دیگر یک penetration test همه‌ی مزایای vulnerability scan را با خود به همراه داشته، مضاف بر این که مشخص می‌کند در صورت اکسپلویت شدنِ اپلیکیشن توسط هکر، چه اتفاقی می‌افتد.

 

نقش فورتی‌نت در اسکن آسیب‌پذیری‌ها

FortiDAST با ادغام فناوریِ پیشرفته‌ی crawling با تحقیقات گسترده‌ای که توسط FortiGuard Labs صورت می‌گیرد، در تلاش است تا اپلیکیشن‌های مورد نظر را در برابر آسیب‌پذیری‌های OWASP Top 10 مورد ارزیابی قرار دهد. به طور کلی برای تیم‌های توسعه، DevOps و تیم امنیت طراحی شده و گزارشات دقیق و کاملی از آسیب‌پذیری‌ها ارائه داده، ضمن این‌که آن‌ها را بر اساس شدت‌شان (CVSS) اولویت بندی نموده و دستورالعمل‌های لازم را برای اصلاح آن‌ها، ارائه می‌دهد.

علاوه بر موارد فوق، این قابلیت را دارد که در کنار فایروال WAF قرار گیرد تا جدیدترین تهدیدات را نیز متوقف کند؛ بنابراین نقش مهمی در محافظت از وب اپلیکشن‌ها دارد. به این ترتیب می‌توان امنیت بالای web applicationها را حتی پس از “به روز رسانی”، “افزودن فیچرهای جدید” و یا “ادغام با APIهای جدید”، تضمین نمود.