باگ بانتی، یک پاداش نقدی یا غیر نقدی است که به هکرهای کلاه سفید اهدا میشود تا یک آسیبپذیری یا باگ را به کمپانی مالک یک محصول، گزارش کنند.
مبلغ باگ بانتی، میتواند از چند صد هزار تومان آغاز شود و حتی به چند صد میلیون تومان هم برسد. در واقع، مبلغ باگ بانتی به میزان، شدت و درجه اهمیت آسیبپذیری بستگی دارد. همچنین این پاداش میتواند غیرنقدی، مانند استفاده از خدمات و سرویسهای شرکت یا موارد مشابه باشد. معمولاً در هر دو حالت هم، اسم شخص گزارشدهنده به عنوان یک هکر کلاه سفید، در سایت شرکت درج میگردد؛ مگر این که خود هکر نخواهد نامی از او برده شود.
البته، در ایران موضوع متفاوت است و هکرها مجبورند مسیر سختتری را برای گزارشدهی طی کنند. ارتباط گرفتن با سازمانهای ایرانی به دلیل اهمیت کمی که برای باگهای موجود در سیستمهای خود قائل هستند بسیار سخت است! به این صورت که هکر کلاه سفید، ابتدا در شبکههای اجتماعی و آشنایان به دنبال کسی میگردد که به کمک او بتواند از باگی که پیدا کرده، استفاده کند و آن را به پول تبدیل کند. این هکر اگر خیلی خوش شانس باشد و بتواند لینکی را درون سازمان پیدا کند، باید شروع به چانهزنی بر سر شدت و درجه اهمیت آسیبپذیری کند که معمولا این موضوع، به بدترین شکل ممکن اتفاق میفتد.
با کشف و گزارش آسیبپذیری از گروه لیان پاداش دریافت کنید.
بعد از کشف باگ، چطور از سازمان بانتی دریافت کنیم؟
معمولا روند مذاکره به این صورت پیش میرود که هکر اصرار بر اهمیت و خطرناک بودن آسیبپذیری پیدا شده دارد و برعکس، سازمان ادعا میکند که محصول یا سیستم کاملاً امن است و تقاضای دیدن POC را دارد تا بتواند شدت آسیبپذیری را تخمین بزند. هکر هم معمولاً به دلیل عدم وجود اطمینان بین طرفین، از ارائه جزئیات خودداری میکند تا شانس فروش این آسیبپذیری را از دست ندهد. البته در اکثر مواقع، بعد از این که هکر جزئیات را ارائه میکند، کمپانی ادعا میکند که درجه اهمیت آسیبپذیری پایین است.
این روال بسیار اشتباه است چراکه در نهایت به ضرر هر دو طرف تمام میشود. بهتر است نگاهی به روند کمپانیهای بزرگ جهان بیندازیم و ببینیم که آنها چطور رفتار میکنند. همه شرکتها، جدولی دارند که مربوط به قلمرو یا Scope مجاز برای گزارش آسیبپذیری است. به عنوان نمونه، *.mci.ir میتواند یک Scope مناسب برای شرکتهای ارتباطات سیار یا همراه اول باشد و دامنههای کم اهمیت و غیرمجاز از آن کاسته شوند.
لازم به ذکر است که در جدول پرداختی، قیمتها باید به ازای شدتهای مختلف آسیبپذیری باشند. اگر بخواهیم یک مثال خیلی خوب در این زمینه بزنیم، باید به برنامه Twitter در HackerOne اشاره کنیم. به این ترتیب، اتفاقات و بحثهایی که در بالا به آن اشاره کردیم، دیگر پیش نمیآید. اگر بخواهیم به طور خلاصه، ویژگیهای یک برنامه باگ بانتی خوب را نام ببریم، باید به موارد زیر اشاره کنیم:
- قوانین برنامه
- تعیین قلمرو
- جوایز کشف آسیبپذیری
- نحوه گزارش
- آسیبپذیریهای خارج از بانتی
با توجه به این موارد، میتوان گفت که بسیاری از سازمانها و شرکتهای ایرانی، فاقد برنامه باگ بانتی هستند؛ در صورتی که خود، ادعایی خلاف این موضوع را دارند. برنامه این سازمانها، معمولاً یک راهکار یک طرفه است که بدون ارائه هیچ تضمینی، قصد دریافت آسیبپذیری و همکاری با هکر کلاه سفید را دارند.
رونمایی از موفقترین برنامههای HackerOne
سامانه باگ بانتی چیست؟
این سامانه، واسطهای است بین سازمانها و هکرهای کلاه سفید. مخاطب این سامانه، دو گروه از افراد هستند:
- شرکتها یا سازمانهایی که به منظور سنجش کیفیت ابزارها و سرویسهای خود، تمام یا بخشی از آنها را در اختیار متخصصین قرار میدهند تا آنها ارزیابی کنند.
- هکرهای کلاه سفید انگیزههای مختلفی برای شرکت در باگ بانتی دارند. از جمله برنده شدن جایزه نقدی و کسب درآمد، به چالش کشیدن دانش خود، کسب و شهرت یا بسیاری دلایل دیگر.
در رابطه با سامانه باگ بانتی، چند نمونه خارجی بسیار موفق وجود دارد که hackerone.com و bugcrowd.com از جمله موفقترین آنها هستند. استفاده از خدمات hackerone.com به قدری در آمریکا جا افتاده است که شرکتها و سازمانهای بزرگی مانند Twitter، وزارت دفاع آمریکا و Yahoo از آن استفاده میکنند.
نکته دیگر درباره سامانه باگ بانتی این است که حتما لازم نیست یک Third Party این کار را انجام دهد بلکه خود سازمانها نیز میتوانند چنین سامانهای درون خود ایجاد کنند. به عنوان مثال، ایرانسل میتواند این سامانه را در درون خود راهاندازی کرده و از هکرهای کلاه سفید دعوت به همکاری کند.
مقایسه روشهای قدیمی تست نفوذ با برنامه bug bounty
واضح است که وجود سامانه باگ بانتی مزایای زیادی نسبت به تست نفوذهای قدیمی دارد. مهمترین این مزایا، این است که هکرهای کلاه خاکستری یا حتی گاهی هکرهای کلاه سیاه، تمایل به شرکت در این برنامه پیدا میکنند و تبدیل به هکرهای کلاه سفید میشوند. به بیان دیگر، با استفاده از سامانه Bug Bounty، میتوان هکرها را وارد یک چرخه مولد کرد. در ادامه، به بررسی ویژگیهای این سامانه میپردازیم:
- هزینه تست نفوذ نسبت به باگ بانتی بیشتر است. زیرا در قراردادهای تست نفوذ، معمولا به این صورت است که دریافت وجه مشروط به پیدا کردن باگ نیست. اما در باگ بانتی، تنها در صورت پیدا کردن یک آسیبپذیری، تأیید این آسیبپذیری توسط سازمان و انتشار Patch امنیتی، مبلغ توافق شده پرداخت میشود.
- در روشهای تست نفوذ، محدود به تعداد محدودی از افراد هستیم که در پروژه حضور دارند؛ در نتیجه، احتمال این که بسیاری از باگها و آسیبپذیریها ناشناخته بمانند، بالا میرود. اما در برنامه باگ بانتی، با طیف گستردهای از هکرها روبهرو هستیم که هرکدام سطح دانش مختلفی دارند و محصول را از جنبه مختلفی تست میکنند.
- در روش قدیمی تست نفوذ، منابع انسانی پروژه محدود است اما در برنامه بانتی اینطور نیست.
- بررسیها نشان داده که در پروژههای تست نفوذ، سرعت کشف آسیبپذیریها خیلی پایین است. طوری که معمولا در تست اولیه، آسیبپذیریها پیدا نمیشوند و معمولاً چندین بار تست نفوذ انجام میگردد. اما در برنامه باگ بانتی، به علت مشارکت منابع انسانی نامحدود، سرعت کشف آسیبپذیریها چندین برابر روشهای دیگر است.
- نظارت بر تست نفوذ کار بسیار سختی است زیرا معمولا معیار اصلی برای این کار، مستندات تست نفوذ است. اما در مورد باگ بانتی، هکرها به صورت خودجوش کار میکنند و نیازی به نظارت بر آنها وجود ندارد.
- به دلیل وجود منابع انسانی و مالی محدود، شرکتها معمولا فرصت تست تمام بخشهای محصول خود را ندارند و تنها بخشهای حساس تست میشوند. این یکی از ضعفهای سازمانها به حساب میآید چراکه برای یک هکر هیچ اهمیتی ندارد که از کدام بخش سازمان میتواند به آن آسیب بزند. آمار نشان میدهد که بسیاری از سازمانهای بزرگ، از بخشهایی آسیب دیدهاند که در ابتدا آن را کم اهمیت تلقی کرده بودند. اما در باگ بانتی، سازمانها میتوانند تمام بخشهای محصول خود را در معرض آزمون قرار بدهند و تنها برای بخشهای مهم جایزه تعیین کنند. این که چرا یک هکر باید برای بخشهای بدون جایزه وقت بگذارد، مسئلهای است که به چرخه سیستم سازمانها مربوط میشود.
- در قراردادهای تست نفوذ، محدودیت زمانی وجود دارد و بسیاری از سازمانها مدام مجبور به تمدید این قراردادها میشوند و اگر در فاصله زمانی بین دو قرارداد، آسیبپذیری وجود داشته باشد، سازمان متحمل خسارات زیادی میشود. در برنامه باگ بانتی، این زمان به راحتی قابل تمدید است.
- همان طور که گفتیم، نظارت بر کارشناسان تست نفوذ سخت است، بنابراین به سادگی میتوانند آسیبپذیری کشف شده را گزارش ندهند. هیچ سازوکار بازدارندهای هم در این زمینه وجود ندارد زیرا کارشناس مربوطه، در نهایت میتواند مدعی شود که توانایی کشف آسیبپذیری را نداشته است. اما در باگ بانتی، هکرها در اسرع وقت، آسیبپذیری را گزارش میکنند زیرا هم انگیزه مالی دارند و هم در صورت تأخیر، ممکن است هکر دیگری این کار را بکند.
- در روش قدیمی، نمیتوان انگیزه کارشناسان را اندازه گرفت. برخی ممکن است تنها برای رفع تکلیف محصول را تست کنند و تلاش زیادی نکنند. اما در باگ بانتی به دلیل وجود جایزه، هکرها حداکثر تلاش خود را انجام میدهند.
دغدغههای احتمالی سازمانها درباره باگ بانتی
چه تضمینی وجود دارد که هکرها آسیبپذیری را گزارش کرده و به محصول آسیب نزنند؟
این سوالات ناشی از یک دیدگاه اشتباه است که جا افتاده است. اتفاقا در باگ بانتی به ندرت ممکن است این اتفاقات بیفتند اما کارشناس تست نفوذ به راحتی میتواند آسیبپذیری را مخفی و در زمان مناسب از آن سوءاستفاده کند. هکرهایی که باگهای موجود در سیستم را اکسپلویت میکنند، به هکرهای کلاه سیاه معروفاند که همین الآن هم کار خود را انجام میدهند و نیازی به وجود سامانه باگ بانتی ندارند.
همچنین، اگر هکر آسیبپذیری را گزارش نکند، ممکن است رقیبش این کار را انجام دهد شهرت و جایزه نسیب او شود. در بررسی نمونههای خارجی باگ بانتی، به این نتیجه دست یافتیم که هکرها پس از کشف آسیبپذیری، سریع آن را گزارش میکنند. ضمنا وجود سامانههای باگ بانتی، به بازار سیاههای زیرزمینی که در آن، آسیبپذیریهای مربوط به بانکها و سازمانهای دولتی به فروش میرسند، ضربه خواهد زد.
هکرهای کلاه سیاه از باگبانتی ما سواستفاده میکنند یا خیر؟
جواب این سوال “خیر” است. میتوان به چنین سازمانهایی که این دغدغه را دارند، پیشنهاد کرد که برنامه خود را به صورت خصوصی اجرا کنند. در ضمن، برنامه باگ بانتی به اعتبار سازمانها میافزاید. علاوه بر این، به مشتریهای آنها این پیام را میرساند که سازمان برای امنیت اطلاعات آنها ارزش قائل است.
چگونه مبلغ باگبانتی را مشخص کنیم؟
در پاسخ به این سوال باید گفت که هر سازمان میتواند برای درجات مختلف آسیبپذیری یا انواع مختلف آن، مبلغی را پیشنهاد دهد که متناسب با بودجه سازمان است. در نتیجه، سازمانهایی که مبلغ بیشتری پرداخت میکنند، داوطلبان بیشتری جذب خواهند کرد و طبیعی است که آسیبپذیریها هم زودتر کشف میشوند و سازمانهایی که مبلغ کمتری در نظر گرفتهاند، مورد توجه هکرهای کم تجربهتر یا تازه واردتر قرار میگیرند. این مبالغ هم تنها در صورتی به هکر پرداخت میشوند که آسیبپذیریها در دسته آسیبپذیریهای مورد نظر سازمان قرار بگیرند.
نویسنده: مهندس یاشار شاهین زاده