باگ بانتی چیست؟

 

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

 

حوزه‌های مختلف باگ بانتی

باگ بانتی یکی از شاخه‌های محبوب فضای امنیتی است که حوزه‌های بسیار مختلفی دارد. از جمله معروف­ترین حوزه‌های مختلف باگ بانتی می‌توان به موارد زیر اشاره نمود:
·       باگ بانتی وب
باگ بانتی وب در واقع به حوزه تست نفوذ وب و اپلیکیشن اشاره دارد. در این حوزه فرد باید با انواع مختلف زبان‌های برنامه‌نویسی مانند PHP، Asp، پایتون و غیره آشنایی داشته باشد. همچنین باید بر انواع باگ‌های حوزه وب مانند: RCE، LFI، XSS و موارد دیگر تسلط داشته باشد.
·       باگ بانتی نرم‌افزار
 حوزه دیگری که در Bug bounty قابل بررسی و کسب مهارت است، حوزه Bug bounty نرم‌افزار ویندوز، لینوکس و مکینتاش، و همچنین نرم‌افزارهای موبایلی با سیستم‌های عامل اندروید و ای او اس است. برای فعالیت در این حوزه، باید مهارت‌هایی چون علم مهندسی معکوس، برنامه‌نویسی‌های تحت ویندوز و موبایل مانند اسمبلی، جاوا، ساختمان داده و غیره را کسب کرد.

تاریخچه باگ بانتی

Bug bounty برای بار اول در سال 1851 برای باز کردن یک قفل آغاز شد. شرکت برگزارکننده برای باز کردن این قفل، به فرد برنده 200 شمش طلا پرداخت کرد. اولین مسابقه دیجیتالی نیز در سال 1983 توسط شرکت Hunter & Ready برگزار شده و از آن زمان به بعد، این مسابقه در بین شرکت­ها و سازمان­ها رواج پیدا کرد. یکی از موفقیت‌های بزرگ در این حوزه مربوط به یک دانشجوی علوم رایانه فلسطینی بود که ایراد شبکه اجتماعی محبوب فیس‌بوک را پیدا کرد. او مشکل ارسال ویدیو به حساب‌های فیس‌بوک بدون نیاز به عضویت را به مهندسان شرکت اطلاع داد. اما این باگ توسط آن‌ها نادیده گرفته شد. در نهایت از طریق همین باگ، ویدیویی به مدیرعامل شرکت، مارک زاکربرگ ارسال شد و پاداشی به عنوان هزینه باگ بانتی به دانشجوی فلسطینی داده شد.

 

ویژگی‌های برنامه­ باگ بانتی

 

از ویژگی‌های این برنامه می‌توان به موارد زیر اشاره نمود:
·       تعداد نامحدود افراد شرکت‌کننده.
·       زمان و هزینه مقرون‌به‌صرفه.
·       دادن هزینه باگ بانتی به فردی که آسیب‌پذیری را کشف کرده است.
·       قوانین درست و منصفانه.
·       تعیین و شناسایی حوزه‌های موجود.

 

مزایای استفاده از باگ بانتی

Bug bounty از برنامه‌ها و مسابقه‌های مهم در حفظ امنیت شبکه بوده و مزایای قابل‌توجهی دارد. در ادامه به بررسی چند مزیت پرداخته شده است:
1.     افراد زیادی در این مسابقات شرکت کرده و در نتیجه اشکالات و باگ‌های بیشتری پیدا خواهد شد.
2.     با توجه به تعداد افراد شرکت‌کننده، زمان لازم برای کشف باگ‌ها کمتر خواهد بود.
3.     Bug bounty برنامه منعطفی بوده که می‌تواند به طور مداوم یا برای مدت‌زمان مشخصی اجرا شوند.
4.     این مسابقات، قیمت‌گذاری انعطاف‌پذیری دارند که متناسب با بودجه‌های مختلف تنظیم می‌شود.
5.     مخاطبین بیشتر با تخصص‌های متنوع جذب می‌شوند.
6.     هزینه باگ بانتی تنها زمانی پرداخت می‌شود که آسیب‌پذیری پیدا شود.

آیا باگ بانتی برای شرکت ضرر دارد؟

به طور کلی باگ بانتی نه تنها برای شرکت‌ها ضرر نداشته، بلکه مفید هم هست. زیرا در زمان و هزینه کشف اشکالات برنامه‌ها و وب‌سایت‌ها صرفه‌جویی خواهد شد. اما نکته مهمی که باید در نظر گرفته شود این است که هرچند هزینه باگ بانتی مقرون‌به‌صرفه تر از استخدام محققان و پژوهشگران امنیتی است، اما این روش مستلزم اعتماد، اخلاق و مسئولیت‌پذیری طرفین است. برخی شرکت‌ها مانند اپل فقط از طریق دعوت امکان شرکت در این برنامه را می‌دهند. اما برنامه‌هایی که به طور عمومی باز هستند، از مخاطبین بیشتری بهره‌مند بوده و در نتیجه ممکن است به دلیل میزان ارسال بالا، از روند کند پاسخگویی رنج ببرند.
رایج‌ترین حملات تحت وب چیست؟
از رایج‌ترین حملات تحت وب می‌توان به موارد زیر اشاره نمود:
·  SQL Injection
·  Command Injection
·  XML Injection
·  تزریق اسکریپت یا XSS
·  RFI
·  DOS/DDOS
·  Buffer overflow
هر یک از این حملات روند و کاربرد متفاوتی دارند. بسته به نوع سایت می‌توان از موارد خاصی استفاده نمود. به طور کلی برنامه Bug bounty با هزینه و زمان بسیار کم آسیب‌پذیری‌های ناشی از این حملات را کشف کرده و گزارش خواهد داد. در قبال این گزارش نیز فرد هزینه باگ بانتی را دریافت خواهد کرد.
باگ بانتی با تست نفوذ چه تفاوتی دارد؟
تست نفوذ از روش‌های پیدا کردن باگ و اشکالات شبکه‌ها بوده که در گذشته کاربرد زیادی داشت. اما به دلیل وجود مسائل و مشکلاتی از جمله هزینه این روش،  به ندرت جای خود را به Bug bounty داد. در ادامه به مقایسه این دو روش سنتی و نوین کشف باگ پرداخته خواهد شد:
·       Bug bounty برنامه‌های انعطاف‌پذیری هستند که معمولاً در طول عمر محصول ادامه پیدا کرده و به جامعه هکرها اجازه می‌دهند آسیب‌پذیری‌های جدید را با تغییر برنامه پیدا کنند. تست نفوذ معمولاً سالانه یا بسته به محیط هر هفته برگزار می‌شوند.
·       وظیفه اصلی هکرها در روش نوین یافتن آسیب‌پذیری‌های منحصربه‌فرد است. هکر آسیب‌پذیری را به سازمان گزارش داده و در صورت تأیید، هزینه باگ بانتی پرداخت می‌شود.
·       قدرت روش‌های نوین نفوذ به سیستم و شبکه‌ها، حاصل طیف گسترده تجربه‌ها و مهارت‌های جامعه هکرها است. بنابراین، به جای اینکه یک متخصص امنیتی، شبکه را آزمایش کند، صدها هکر روی شبکه کار می‌کنند. در تست نفوذ، هدف ارزیابی امنیتی یک سیستم یا شبکه کامپیوتری است. در نتیجه حتی اگر آسیب‌پذیری هم پیدا نشود الزامات توافقی باید انجام شود.
·       هزینه تست نفوذ به اندازه شبکه وscope پروژه،محدوده نفوذ و چند عامل دیگر بستگی داشته و تقریباً زیاد است. اما هزینه باگ بانتی تنها در صورت کشف موفق یک آسیب‌پذیری پرداخت می‌شود. به کسب‌وکارهای کوچک نیز اجازه داده می‌شود تا برنامه‌های پاداشی را متناسب با بودجه خود ارائه دهند.