آشنایی با دو روش ارزیابی امنیتی، تست نفوذ و باگ بانتی

با گسترش اینترنت و راه افتادن تعداد زیادی کسب و کار در فضای اینترنت و همچنین به دلیل همه‌گیری کووید ۱۹ و دورکاری کارمندان شرکت‌ها، در این دوران امنیت سایبری بیش از پیش اهمیت پیدا کرده است.

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

استانداردی برای اجرای فرایند امنیت تعریف شده است که با نام ۲۰ کنترل امنیت CIS شناخته می‌شود و برنامه تست نفوذ و برنامه باگ بانتی در حلقه آخر این ۲۰ مرحله قرار دارد. زمانی باید برنامه باگ بانتی یا تست نفوذ انجام شود که که سازمان و یا شرکت مراحل Basic که شامل شش کنترل امنیتی پایه است و Foundational که مزیت‌های CIS را واضح می‌کند، طی کرده باشد. سپس می‌تواند به مرحله پیاده سازی Organization از فرایندهای CIS برسد که این مرحله به نام Penetration Tests and Red Team Exercises شناخته می‌شود و هدف آن اجرای تست نفوذ و برگزاری باگ بانتی است. برای جزئیات بیشتر در مورد CIS control می توانید به پستی با همین عنوان در وبلاگ باگدشت مراجعه کنید.

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

اولین پلتفرم باگ بانتی در آمریکا شکل گرفت و در ادامه در اروپا گسترش پیدا کرد. در ایران هم به دلیل گسترش کسب و کارهای اینترنتی، نیاز به ایمن سازی بیش از پیش احساس می‌شود و در همین راستا پلتفرم باگدشت از سال ۱۳۹۷ با هدف امن سازی فضا‌ی کسب و کار اینترنتی کشور فعالیت خود را شروع کرد.

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

تست نفوذ:

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

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

باگ بانتی:

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

روند برنامه‌های تست نفوذ:

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

روند برنامه‌های باگ بانتی:

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

در باگ بانتی هدف تعریف می‌شود و متخصص امنیت بعد از یافتن باگ، فرایند اثبات اکسپلویت آسیب‌پذیری را انجام می‌دهد که به آن POC(Proof Of Concept) گفته می‌شود. متخصص امنیت باگ پیدا شده را به پلتفرم باگ بانتی می‌فرستد. تیم تریاژ پلتفرم باگ بانتی بعد از بررسی POC و تعیین ارزش باگ، مستندات را به شرکت طرف قرارداد می‌دهد و این شرکت مبلغ تعیین شده توسط پلتفرم باگ بانتی را به متخصص امنیت پرداخت می‌کند. عموما در برنامه‌های باگ بانتی، باگ‌هایی پیدا می‌شود که از دید متخصصین امنیت در برنامه تست نفوذ مخفی مانده است.

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

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

در صورت تمایل به اشتراگ بگذارید