برنامههای باگبانتی، همکاری سازمانیافته با هکرها
برنامههای باگبانتی(Bug Bounty) یکی از مهمترین برنامههایی است که سازمانها جهت شناسایی و برطرف کردن آسیبپذیریهای مجموعه خود با همکاری محققان امنیتی یا همان هکرهای اخلاقی اجرا میکنند. در طراحی این برنامه، محدوده فعالیت و اهداف هر طرف مشخص میشود. برنامههای باگبانتی در به حداقل رساندن مشکلات امنیتی بسیار تاثیرگذار است.
به گزارش پیوست، برنامههای باگبانتی برای سازمانها و محققان امنیتی شامل مزایای متعددی است. در کنار این مزایا، چالشها و ملاحظاتی نیز وجود دارد که در صورت رعایت نکردن ممکن است عواقب ناگواری برای طرفین داشته باشد.
برنامه باگبانتی چیست؟
برنامههای باگبانتی (Bug Bounty) طرحهایی است که سازمانها برای شناسایی و رفع آسیبپذیریهای امنیتی در نرمافزارها، سیستمها یا شبکههای خود اجرا میکنند. برای یافتن و گزارش دادن آسیبها و سپس رفع مشکل بهوجود آمده سازمانها با افرادی که اغلب به عنوان هکرهای اخلاقی(کلاه سفید) یا کارشناسان و محققان امنیت سایبری نامیده میشوند همکاری میکنند.
برنامه های باگبانتی، راه استراتژیک برای سازمانها جهت افزایش امنیت خود با استفاده از قدرت جمعی است.
کلمه «bug» برای اولین بار در دهه ۱۹۴۰ برای توصیف نقص در سختافزار کامپیوتر استفاده شد. منشأ دقیق آن مشخص نیست، اما طبق یکی از نظریهها گفته میشود گریس موری هاپر(Grace MurrayHopper) دانشمند کامپیوتر، حشرهای را که در رله کامپیوتر Mark II IBM باعث نقص عملکرد شده بود را برداشت و پس از آن مشکل برطرف شد. او در دفتریادداشت خود نوشته بود:«مشکل را در باگ یافتم». پس از این اتفاق، این کلمه برای اشاره به هر نوع نقص در سیستمهای کامپیوتری مورد استفاده قرار گرفت.
چگونگی اجرا و طرفهای درگیر
هدف اصلی اجرای برنامه باگبانتی توسط سازمانها این است که ضعف امنیتی سیستم قبل از دسترسی دیگران و سوءاستفاده، شناسایی و برطرف شود. با رفع این آسیبپذیریها، سازمانها میتوانند اقدامات امنیتی خود را تقویت کنند. در این فرآیند بهرهمندی از تخصص افراد و نیروهای خارج از سازمان و ارتقاء سطح امنیت توسط متخصصان نکته حائز اهمیتی است.
فرآیند اجرای برنامه باگبانتی بدین شرح است که در ابتدا سازمانها محدوده برنامه را تعریف و مشخص میکنند که چه سیستمها، برنامهها یا اجزایی در محدوده آزمایش قرار بگیرد و کدام یک از آنها خارج از این محدوده است. در مرحله بعدی باید آسیبپذیری مشخص شود. شناسایی مشکل و ارائه راهحل در این بخش صورت میگیرد مانند تزریق SQL یا اسکریپت بینسایتی. در ادامه پژوهشگران یافتههای خود را از طریق یک پلتفرم تعیین شده ارسال میکنند. در کنار این یافتهها، گزارشی مفصل از آنچه انجام و به دست آمده است نیز در اختیار سازمان قرار میگیرد. پس از مشخص و تائید شدن آسیب، سازمان یا پلتفرم به ارزیابی و تاثیرات آن میپردازد. در صورتی که آسیب درست تشخیص داده شود به فراخور شدت و اهمیت موضوع و همچنین سقفی که سازمان در نظر گرفته به پژوهشگر دستمزد یا پاداش اعطا میشود. البته برای طی شدن مسیر حرفهای و ملاحظات قانونی، الزام رعایت قوانین از سمت محققان باید صورت بگیرد.
سازمانها، شرکتها و نهادهایی که میخواهند بستر و شرایط نگهداری از داراییهای دیجیتالی را ایمن سازند اصلیترین اشخاص حقیقی و حقوقیاند که به دنبال اجرای طرح باگبانتی هستند.
محققان امنیتی و پژوهشگران این حوزه شامل افراد یا گروههایی است که در شناسایی و بهرهبرداری از آسیبپذیری امنیتی تخصص و مهارت دارند.
پلتفرمهای باگبانتی پلتفرمهای شخص ثالث مانند HackerOne، Bugcrowd یا Synack است که موجب تسهیل ارتباط میان سازمانها و پژوهشگران امنیتی میشود.
مزایای اجرای برنامه باگبانتی
هدف اصلی برنامه باگبانتی پیدا کردن آسیبی است که اگر هکر یا اشخاص دیگر از آن مطلع شوند ممکن است به کل ساختار یک مجموعه نفوذ کرده و لطمه وارد کنند. برقراری امنیت در سراسر سیستمهای سازمان، بهبود مرتب ساختار امنیتی و مقرون به صرفه بودن آن مزایای عمده طرح باگبانتی برای سازمانها است. کسب درآمد، شهرت و ارتقاء مهارت از جمله مزایای این برنامه برای هکرهای کلاه سفید است.
شبکه امنیتی گسترده: با همکاری و اعطای پاداش به متخصصان برنامههای باگبانتی یا همان هکرهای کلاه سفید، ارتباط میان سازمانها و این افراد تداوم و تقویت مییابد. به دنبال این روند شناسایی زودهنگام آسیبها و برقراری امنیت گسترده در سطوح مختلف سازمان رخ میدهد. هرچند تلاش و مسئولیت تیم امنیتی هر سازمانی کشف و یافتن این مشکلات است اما حضور متخصصان دستیابی به نتایج مطلوب را زودتر از انتظار برآورده میکند.
بهبود مستمر: تداوم همکاری با متخصصان و این رویکرد پیشگیرانه به شناسایی و رفع مشکلات قبل از نفوذ مهاجمان کمک میکند. همچنین شناسایی پیوسته آسیبها موجب جلوگیری از بروز مشکلات و ارتقا سطح امنیتی شبکه سازمان میشود.
مقرون به صرفه: با اجرای برنامههای باگبانتی سازمانها صرفا برای کشف و برطرف کردن آسیبها هزینه میکنند که این موضوع در مقایسه با تشکیل تیم تخصصی و استخدام متخصصان تمام وقت برای تست نفوذ و همچنین انجام ممیزیهای امنیتی مکرر مقرون به صرفه است.
منظور از ممیزیهای امنیتی در برنامههای باگبانتی فرآیندی است که در آن یک متخصص امنیتی مستقل، سیستمها، برنامهها یا فرآیندهای یک سازمان را جهت شناسایی مشکلات و ارائه توصیه ارزیابی میکند.
اجرای برنامههای باگبانتی یک طرح دوسر برد است. زیرا تنها طرفی که از این برنامه رضایتمند و متاثر است سازمانها نیستند بلکه اجرای این برنامهها برای متخصصان یا همان هکرهای اخلاقی نیز شامل مزایای متعددی است. یکی از این مزایا کسب درآمد است. به ازای شناسایی و گزارش آسیبپذیریهای امنیتی، سازمانها موظف به پرداخت مبلغی تحت عنوان کار انجام شده هستند.
شناسایی آسیبهای بزرگ که از بروز بحران جلوگیری میکند نه تنها برای متخصصان منفعت مالی دارد بلکه موجب مطرح شدن و شهرت این افراد نیز میشود. در نتیجه این شهرت، احتمال افزایش دستمزد و پیشنهاد از سمت سازمانهای بزرگتر افزایش مییابد.
افزایش مهارت و تخصص هکرهای کلاه سفید و افزایش امنیت سایبری سازمانها هم از عمده مزایای برنامههای باگبانتی است.
آسیبپذیریهای رایجامنیت ساختار شبکه
اشکالات تزریق، مسائل احراز هویتی، نقص مجوز، خطاهای پیکربندی و در معرض خطر قرار گرفتن دادهها از جمله آسیبپذیریهای سیستم امنیتی است.
اشکالات تزریق
آسیبپذیریهای تزریقی از آن دسته آسیبهایی است که به مهاجم اجازه میدهد کد مخرب را به یک برنامه یا سیستم تزریق کند. هدف از به کار بستن این کد مخرب میتواند سرقت یا دستکاری دادهها و حتی کنترل کامل برنامه یا سیستم باشد.
انواع آسیبپذیری تزریقی:
تزریق SQL، اسکریپت بینسایتی و تزریق فرمان سه آسیب نوع تزریقی است.
تزریق SQL: این آسیب زمانی اتفاق میافتد که مهاجم بتواند کد SQL مخرب را به یک پرسوجو SQL تزریق کند تا به منظور سرقت دادهها از پایگاه داده، تغییر داده یا حذف پایگاه داده استفاده شود.
تزریق اسکریپت بینسایتی(XSS): هنگامی که مهاجم بتواند کد جاوا اسکریپت مخرب را به یک صفحه وب تزریق کند به امنیت سازمان لطمه وارد میشود. از این کد مخرب جاوا اسکریپت میتوان برای سرقت کوکیها، ردیابی فعالیتهای کاربر یا کنترل مرورگر کاربر استفاده کرد.
تزریق فرمان: مهاجم با تزریق دستور مخرب به یک برنامه یا سیستم میتواند مدیریت برخی از کارها را به دست بگیرد. این دستورات میتواند جهت حذف فایلها و نصب بدافزار شکل بگیرد.
مسائل مربوط به احراز هویت
این موضوع یکی از رایجترین نوع آسیبپذیری است که در برنامههای باگبانتی وجود دارد. این نوع آسیبپذیری زمانی رخ میدهد که یک مهاجم از نقصهای موجود در فرآیند احراز هویت برای ورود به سیستم و دستیابی به هدف خود استفاده کند.
برخی از نقاط ضعف رایج در فرآیند احراز هویت شامل موارد زیر است:
استفاده از گذرواژه ضعیف و آسان: بسیاری از کاربران گذرواژههای آسان و قابل حدسی را انتخاب میکنند که این انتخاب احتمال هک و دسترسی به اطلاعات را برای مهاجمان تسهیل میکند.
استفاده مجدد از گذرواژهها: استفاده از یک گذرواژه برای چندین حساب کار اشتباهی است که بارها از سمت کاربران تکرار شده. در صورتی که یک حساب با همین گذرواژه هک شود، ورود به حسابهای دیگری که رمزعبور آن تکراری است برای مهاجم ساده خواهد بود.
استفاده نکردن از احراز هویت دوعاملی(2FA)
احراز هویت دوعاملی یک لایه امنیتی دیگری به ساختار حساب کاربر اضافه میکند. با ایجاد شدن این لایه، ورود به حساب نیازمند عامل دومی مانند کد تائید ارسال شده جدای رمزعبور خواهد بود.
استفاده از روشهای احراز هویت ضعیف: برخی از روشهای احراز هویت مانند نام کاربری و رمزعبور به سادگی قابل هک شدن است. بهکارگیری روشهای پیشرفته و ایمنتر مانند احراز هویت بیومتریک یا احراز هویت مبتنی بر کلید، ساختار امنیتی حسابهای کاربری تقویت و تحکیم مییابد.
نقص داده
این مشکل در برنامههای باگبانتی زمانی رخ میدهد که اطلاعات حساس در معرض خطر افشا یا سوءاستفاده قرار بگیرد. این اطلاعات شامل اطلاعات شخصی قابل شناسایی، محرمانه تجاری و دولتی است.
خطاهای پیکربندی
یکی از رایجترین نوع آسیبپذیری است که در برنامههای باگبانتی مشاهده میشود. این نوع آسیبپذیری زمانی رخ میدهد که یک سیستم یا برنامه به درستی پیکربندی نشده باشد؛ در این صورت مهاجمها و هکرها میتوانند به ساختار یک سازمان نفوذ کرده و با دسترسی غیرمجازی که دارند خطرآفرین باشد.
نمونههایی از رایجترین خطاهای پیکرندی:
رمزگذاری نکردن دادههایی حساس: دادههای حساسی چون اطلاعات مالی، سوابق تحصیلی و پزشکی، اطلاعات شخصی و غیره نیازمند رمزگذاری قوی است. اهمال کاری در این زمینه عواقب ناگواری را متوجه کاربر خواهد کرد.
استفاده نکردن از کنترل دسترسی مناسب: دسترسی بخشهای مختلف به اطلاعات یک سازمان یا حتی حساب کاربری شخصی باید به صورت مدیریتشده باشد؛ در غیر این صورت دسترسی افراد خارج از سازمان نیز به اطلاعات آسان خواهد بود.
نصب نرمافزارهای ناایمن: اتصال جدیدترین و بهروزترین نرمافزارها در کاهش احتمال خطرات امنیتی و محافظتی تاثیر بسزایی دارد و تا حد قابل توجهی از نفوذ هکرها ممانعت میکند.
پیکربندی نادرست فایروالها: اگر فایروالها جهت محافظت از سیستمها در برابر ترافیک شبکه به درستی پیکربندی شوند نفوذ مهاجمها کاهش خواهد یافت.
در معرض خطر قرار گرفتن دادهها
در برنامههای باگبانتی در معرض خطر قرار گرفتن دادهها به احتمال افشا یا سوءاستفاده از اطلاعات حساس گفته میشود. این اطلاعات میتواند شامل اطلاعات شخصی قابل شناسایی(PII) مانند نام، آدرس، شماره تلفن، تاریخ تولد، اطلاعات محرمانه تجاری اعم از اسرار تجاری، دادههای مشتری و مالکیت معنوی، اطلاعات دولتی مانند اطلاعات مربوط به کادر، سوابق و اطلاعات مالیاتی است.
چالشها و ملاحظات برنامههای باگبانتی
برنامههای باگبانتی مزایای زیادی برای سازمانها دارد اما چالشها و ملاحظاتی نیز وجود دارد که باید قبل از راهاندازی برنامه در نظر گرفته شود.
برخی از چالشهای رایج عبارتند از:
حجم بالای ارسالیها
تعداد زیاد گزارشهای ارسالی از سمت محققان امنیتی ممکن است مدیریت آنها را دشوار کند. گزارشهای مشکلساز مشتمل بر ۲ مورد زیر است:
گزارشهای مثبت نادرست: گزارشهایی است که به اشتباه یک آسیبپذیری شناسایی شده است.
گزارشهای با کیفیت پایین: این نوع از گزارشها فاقد اطلاعات لازم برای تکرار یا رفع آسیبپذیریها است.
خطرات قانونی
یکی از موارد بسیار مهمی که پیشتر نیز به آن اشاره شد، رعایت قانون و مقررات از سمت هکرهای کلاه سفید است. سازمانها باید الزام پیروی قوانین از سمت محققان امنیتی را در اولویت قرار داده و بر رعایت آن نظارت کنند. نقض قوانین حین کار در ادامه برای سازمان و حتی خود متخصصان مشکلساز خواهد شد.
از جمله نقض قوانین میتوان به نمونههای زیر اشاره کرد:
دسترسی غیرمجاز : دسترسی به سیستمها یا دادههایی که دسترسی به آنها مجاز نیست.
حملات :DoS راهاندازی حملاتی که باعث از دسترس خارج شدن سیستمها یا خدمات میشود.
تخصیص منابع
برنامههای باگبانتی به منابع قابل توجهی برای مدیریت، تریاژ و رفع آسیبپذیریهای گزارش شده نیاز دارد. این می تواند شامل موارد زیر باشد:
کارکنان: کارکنانی برای مدیریت برنامه، بررسی گزارشها و تعامل با محققان.
ابزارها: سازمانها برای اجرای برنامه باگبانتی به ابزارهایی جهت اسکن سیستمها و احتیاج دارند. .
پول: سازمانها باید برای پرداخت دستمزد کارکنان و محققان امنیتی و تجهیز مجموعه و پیشبرد اهداف از منابع مالی کافی برخوردار باشند.
ملاحظات دیگری که باید در نظر گرفته شود عبارتند از:
دامنه برنامه
باید مشخص باشد کدام سیستمها، برنامهها یا دادهها در محدوده برنامه باگبانتی قرار دارد.
سیاست پاداش
در برنامه باید تعیین شود که چه نوع آسیبپذیریهایی واجد شرایط پاداش هستند و مبالغ پاداش چقدر خواهد بود.
فرآیند افشا
فرآیند واضح و شفاف برای افشای آسیبپذیریها به سازمان باید در برنامه لحاظ شود.
محرمانهداری
در طول اجرای برنامه و پس از آن باید محرمانه بودن اطلاعات مربوط به آسیبپذیریها حفظ شود.
برنامههای باگبانتی شامل مزایا و چالشهایی است که در مجموع اجرای آن میتواند راه موثری برای بهبود امنیت سازمان باشد. برنامهریزی موثر، طراحی بهینه، اجرای دقیق میتواند بر مزایا این برنامه افزوده و احتمال بروز مشکلات را به حداقل برساند.