Sunday, Mar 10, 2024 at 4:20 PM

Map Execution Paths Through Application (fa-IR)

مسیرهای اجرای نقشه از طریق برنامه (فارسی)

شناسه
WSTG-INFO-07

خلاصه

قبل از شروع آزمایش امنیتی، درک ساختار برنامه بسیار مهم است. بدون درک کامل از چیدمان برنامه، بعید است که به طور کامل آزمایش شود.

اهداف آزمایش

  • برنامه مورد نظر را نقشه برداری کنید و گردش کار اصلی را درک کنید.

چگونه آزمایش کنیم

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

روش های مختلفی برای نزدیک شدن به آزمایش و اندازه گیری پوشش کد وجود دارد:

  • مسیر (Path) - هر یک از مسیرها را از طریق یک برنامه که شامل آزمایش تجزیه و تحلیل ارزش ترکیبی و مرزی برای هر مسیر تصمیم گیری است، آزمایش کنید. در حالی که این رویکرد دقت را ارائه می دهد، تعداد مسیرهای قابل آزمایش با هر شاخه تصمیم گیری به طور تصاعدی افزایش می یابد.
  • جریان داده (یا تجزیه و تحلیل لکه دار) (Data Flow (or Taint Analysis)) - تخصیص متغیرها را از طریق تعامل خارجی (معمولاً کاربران) آزمایش می کند. بر روی نقشه برداری از جریان، تبدیل و استفاده از داده ها در سراسر یک برنامه تمرکز دارد.
  • نژاد (Race) - چندین نمونه از برنامه را همزمان آزمایش می کند که داده های مشابه را دستکاری می کند.

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

برای نشان دادن پوشش کد به مالک برنامه، آزمایش کننده می تواند با یک صفحه گسترده شروع کند و همه پیوندهای کشف شده با عنکبوت کردن (spidering) برنامه (به صورت دستی یا خودکار) را مستند کند. سپس آزمایش کننده می تواند با دقت بیشتری به نقاط تصمیم در برنامه نگاه کند و بررسی کند که چه تعداد مسیر کد قابل توجهی کشف شده است. سپس این موارد باید در صفحه گسترده با نشانی های اینترنتی، نثر و توضیحات تصویری از مسیرهای کشف شده مستند شوند.

اسپایدرینگ (عنکبوت کردن) خودکار (Automatic Spidering)

عنکبوت خودکار ابزاری است که برای کشف خودکار منابع جدید (URL) در یک وب سایت خاص استفاده می شود. این فهرست با لیستی از URL های مورد بازدید به نام seed شروع می شود که بستگی به نحوه راه اندازی عنکبوت دارد. در حالی که ابزارهای اسپایدرینگ زیادی وجود دارد، مثال زیر از Zed Attack Proxy (ZAP) استفاده می کند:

Zed Attack Proxy Screen\
شکل 1-4.1.7: صفحه پراکسی حمله Zed

ا ZAP گزینه های اسپایدرینگ خودکار مختلفی را ارائه می دهد که می تواند بر اساس نیازهای آزمایش کننده مورد استفاده قرار گیرد:

ابزارها

منابع


You'll only receive email when they publish something new.

More from انسانیت
All posts