فرض کن قراره یک نرم افزار رو از نظر امنیتی بررسی کنی.
سه حالت داری :
1. Black-box
به سورس کد دسترسی نداری و نرمافزار رو از بیرون بررسی میکنی. ورودی ها رو تغییر میدی، رفتار برنامه رو میبینی و دنبال حالتی میگردی که نتیجه غیرمنتظرهای ایجاد کنه.باید از روی رفتار برنامه، درباره اتفاقاتی که داخلش می افته فرضیه بسازی.
2. Gray-box
بخشی از اطلاعات داخلی رو در اختیار داری.
مثلاً مستندات فنی، اطلاعات معماری یا دسترسی محدود به بعضی بخش های سیستم.
این اطلاعات کمک میکنن مسیر بررسی رو دقیق تر انتخاب کنی.
3. White-box
اینجا میتونی به سورس کد یا اطلاعات داخلی کامل تری دسترسی داشته باشی.
میتونی مسیر اجرای برنامه رو دنبال کنی، نحوه اعتبارسنجی ورودی ها رو بررسی کنی و ببینی دادهها چطور به بخش های حساس میرسن.
این رویکرد در Code Review اهمیت زیادی داره.
اما یک نکته رو فراموش نکن:
دسترسی بیشتر، به تنهایی به معنی پیدا کردن Vulnerability نیست.
حتی با دسترسی کامل به سورس کد، باید بدونی دنبال چه الگویی بگردی و چطور فرضیهات رو آزمایش کنی.
از طرف دیگه، Black-box هم لزوماً به معنی بررسی سطحی نیست. بعضی ضعف ها فقط با آزمایش دقیق رفتار نرمافزار مشخص میشن.
پس انتخاب روش به هدف تحقیق، اطلاعات در دسترس و ابزارهایی که داری بستگی داره.
@PfkSecurity
#از_روز_صفر_تا_زیرو_دی #VulnerabilityResearch #CodeReview #CyberSecurity #ZeroDay