بازبینی کد منبع (White-Box) ما کد منبع اپلیکیشن را مستقیم میخواند تا نقصهایی را بیابد که تست جعبهسیاه از بیرون نمیبیند: کنترل مجوز جاافتاده روی یک اکشن سمت سرور، کوئریای که با چسباندن رشته ساخته شده، secretی که داخل مخزن کد commit شده، یا رمزنگاریای که نادرست به کار رفته است. برای پوشش گسترده از تحلیل استاتیک (SAST) و تحلیل ترکیب نرمافزار (SCA) بهره میگیریم و کنار آن بازبینی دستی توسط مهندسی که دادهی نامطمئن را از نقطهی ورود تا جایی که به آن اعتماد میشود دنبال میکند. مبنای کار، راهنمای بازبینی کد OWASP، استاندارد OWASP ASVS و فهرست CWE Top 25 است. هر یافته در همان فایل و خط دقیقش نشان داده میشود، آنگونه که یک مهاجم از آن استفاده میکند توضیح داده میشود، در کنار اثر واقعیاش با CVSS رتبه میگیرد و با یک رفع مشخص همراه میشود.
چه چیزی شامل میشود
تحلیل استاتیک (SAST) تنظیمشده برای زبان و فریمورک شما، با کنارگذاشتن مثبتهای کاذب
تحلیل ترکیب نرمافزار (SCA): وابستگیهای آسیبپذیر و قدیمی و ریسک انتقالی آنها
بازبینی احراز هویت، مدیریت session و مجوزدهی، از جمله کنترل دسترسی شکسته و IDOR
بازبینی تزریق: SQL، NoSQL، فرمان و قالب، که از ورودی نامطمئن تا نقطهی اجرا دنبال میشود
اعتبارسنجی ورودی، کدگذاری خروجی و نحوهی برخورد با دادهی نامطمئن در مرزهای اعتماد
رمزنگاری و secretها: الگوریتمهای ضعیف، کلیدهای درجشده در کد و secretهای commitشده در مخزن
نقصهای منطق کسبوکار که فقط در بستر معنا مییابند؛ بررسیهایی که یک اسکنر نمیتواند استنتاج کند
جعل درخواست سمت سرور (SSRF)، deserialization ناامن و مدیریت ناامن فایل
پیکربندی و پیشفرضهای فریمورک و استفاده از APIهای خطرناک یا منسوخ
نگاشت یافتهها به CWE Top 25 و الزامات وارسی OWASP ASVS
چگونه کار میکند
- خلاصهی اجرایی با نمای کلی ریسک برای تصمیمگیرندگان
- گزارش تفصیلی، هر یافته در فایل و خط دقیقش
- ردیابی جریان داده از مبدأ تا نقطهی اجرا برای یافتههای مهم
- نتایج غربالشدهی SAST و گزارش وابستگیهای SCA همراه با نسخههای رفعشده
- یافتههای منطق کسبوکار، توضیحدادهشده در بستر جریان کاری
- نگاشت یافتهها به CWE Top 25 و OWASP ASVS، همراه با CVSS و اثر کسبوکار
- رفع اولویتبندیشده همراه با نمونههای کدنویسی امن
- بازبینی مجدد پس از رفع
چرا وادی ایمن حافظ
سوالات متداول
یک ارزیابی امنیتی است که کد منبع اپلیکیشن را مستقیم میخواند تا آسیبپذیریها، الگوهای ناامن و نقصهای منطقی را در سطح کد بیابد؛ با ترکیب تحلیل استاتیک خودکار (SAST) و تحلیل ترکیب نرمافزار (SCA) و بازبینی دستی متخصص، و با سنجش در برابر راهنمای بازبینی کد OWASP، استاندارد OWASP ASVS و فهرست CWE Top 25.
SAST از ابزارهای خودکار برای اسکن سریع و گستردهی الگوهای شناختهشده استفاده میکند، اما مثبت کاذب تولید میکند و نمیتواند دربارهی منطق کسبوکار یا قابلدسترسبودن قضاوت کند. در بازبینی دستی، یک مهندس کد را در بستر میخواند و داده را دنبال میکند و نقصهای مجوزدهی، خطاهای منطقی و مسیرهای تزریقی را که یک ابزار از دست میدهد میگیرد. ما هر دو را به کار میگیریم و خروجی ابزار را بهجای گزارش خام، غربال میکنیم.
تست جعبهسیاه فقط آنچه را که اپلیکیشن در حال اجرا نشان میدهد میبیند؛ بازبینی کد منبع همهی مسیرها را میبیند، از جمله مسیرهایی که هیچ درخواستی در طول تست به آنها نمیرسد: یک قابلیت غیرفعال، یک شاخهی فقطمدیر، یک شرایط رقابتی، یک secret در مخزن. این دو مکمل یکدیگرند، اما دسترسی به کد منبع دستههایی از نقص را مییابد که تست جعبهسیاه نمیتواند مشاهده کند.
دسترسی فقطخواندنی به مخزن، از راه کانالی که شما انتخاب میکنید، بهعلاوهی بستر کافی برای ساخت و فهم کد (یک مرور کوتاه، فریمورک، و بخشهای حساس امنیتی). با زبانها و فریمورکهای رایج وب و بکاند کار میکنیم و پشتهی دقیق در دامنه را هنگام دامنهگذاری توافق میکنیم.
بله؛ تحلیل ترکیب نرمافزار وابستگیهای آسیبپذیر و قدیمی را شناسایی میکند، از جمله وابستگیهای انتقالی که کد شما بهطور غیرمستقیم میآورد، و نسخههای رفعشده را گزارش میکند. سهم بزرگی از رخنههای واقعی از یک وابستگی آغاز میشود، پس این بخشی از هر بازبینی است، نه یک افزودنی.
نقصهای منطق کسبوکار، کنترل دسترسی شکسته و IDOR، شکافهای مجوزدهی که به بستر وابستهاند، و مسیرهای تزریق یا deserialization که فقط با ردیابی جریان داده آشکار میشوند. یک اسکنر الگو تطبیق میدهد؛ نمیتواند بداند که این کاربر نباید به آن رکورد برسد یا این جریان کاری قابلتکرار است.
هر یافته یک امتیاز CVSS برای یک مبنای مشترک میگیرد که با اثر واقعی در اپلیکیشن شما تعدیل میشود: چه چیزی را افشا میکند، چقدر قابلدسترس است و مهاجم چه به دست میآورد. یافتهها را به دستهی ضعف CWE و الزام مرتبط OWASP ASVS نیز نگاشت میکنیم تا گزارش به یک استاندارد شناختهشده گره بخورد.
بازبینی فقطخواندنی و استاتیک است: کد منبع را میخوانیم، آن را روی سامانههای تولید شما اجرا نمیکنیم، و کد شما را تحت محرمانگی و با دسترسی محدود به مهندسان همان پروژه نگه میداریم. هیچ بخشی از آن محیط در حال اجرای شما را تغییر نمیدهد یا به آن نمیرسد.
بله؛ پس از رفع، یافتههای گزارششده را دوباره بازبینی میکنیم تا مطمئن شویم هر رفع پابرجاست و شکاف تازهای باز نکرده است. مدت زمان به اندازه و پیچیدگی کدبیس بستگی دارد؛ بازبینی جامع یک اپلیکیشن متوسط معمولاً حدود دو تا چهار هفته طول میکشد و پس از دامنهگذاری برآورد دقیق میدهیم.
سرویسهای مرتبط
خدمات تکمیلی که ممکن است برای شما مفید باشند