وقتی گزارش ارزیابی امنیتی روی میز مدیری میآید که پیشزمینهٔ برنامهنویسی ندارد، معمولاً به تیم فنی ارجاع میشود و همانجا تمام. ولی برای تصمیمگیری درست، لازم نیست جزئیات فنی را بدانید — کافی است بفهمید هر دسته چه ریسکی میسازد.
تزریق
چه اتفاقی میافتد: کاربر بهجای داده، دستور وارد میکند و برنامه آن را اجرا میکند.
چرا مهم است: در بدترین حالت، مهاجم میتواند کل پایگاه داده را بخواند یا پاک کند. این قدیمیترین دستهٔ آسیبپذیری است و هنوز رایج.
کنترل دسترسی ناقص
چه اتفاقی میافتد: کاربری با تغییر یک شمارهٔ ساده در نشانی، به دادهٔ کاربر دیگر میرسد.
چرا مهم است: نیاز به هیچ ابزار یا دانش فنی ندارد. برای سازمانی که دادهٔ مشتری نگه میدارد، این خطرناکترین دسته است.
مدیریت نادرست نشست
چه اتفاقی میافتد: نشست کاربر منقضی نمیشود، یا شناسهٔ نشست قابل حدس است.
چرا مهم است: کسی که پشت رایانهٔ رهاشدهٔ یک کارمند بنشیند، وارد حساب اوست. در محیطهای مشترک، ریسک واقعی است.
پیکربندی ناامن
چه اتفاقی میافتد: پیامهای خطای تفصیلی، پنل مدیریت باز روی اینترنت، رمز پیشفرض تغییرنکرده.
چرا مهم است: ارزانترین دسته برای رفع و رایجترین برای بهرهبرداری. مهاجمان بهصورت خودکار دنبال همینها میگردند.
آپلود ناامن فایل
چه اتفاقی میافتد: کاربر فایلی آپلود میکند که سرور آن را اجرا میکند.
چرا مهم است: مسیر مستقیم به کنترل سرور. هر فرم آپلودی باید نوع و محل ذخیره را کنترل کند.
سؤالی که باید بپرسید: «برای این پنج مورد چه آزمونی انجام شده و نتیجهاش کجاست؟» اگر پاسخ مبهم بود، آزمون انجام نشده است.
چه زمانی آزمون کنیم
بررسی آسیبپذیری باید پیش از انتشار انجام شود، نه بعد از حادثه. و چون هم کد تغییر میکند و هم آسیبپذیریهای جدید کشف میشوند، یکبار انجام دادن کافی نیست.
اگر به گزارش مستقل نیاز دارید، آزمون را از تیمی جدا از تیم توسعه بگیرید. کسی که کد را نوشته، بعید است نقطهکوری را که خودش ساخته پیدا کند.