باگ‌بانتی یا جایزه به ازا آسیب‌پذیری

باگ‌بانتی یک پاداش - پولی یا غیر پولی - است که یک شرکت بابت گزارش کردن یک باگ یا آسیب پذیری توسط یک شخص (هکر کلاه سفید)، به او پرداخت می‌کند. پاداش پولی ممکن است از چند صد هزار تومان تا چند میلیون تومان نسبت به میزان و شدت آسیب‌پذیری متفاوت باشد. پاداش غیر پولی، استفاده از خدمات شرکت و مواردی نظیر آن است. همچنین معمولا در دو حالت، اسم شخص گزارش‌کننده به عنوان یک هکرکلاه سفید در سایت شرکت، در قسمت مربوط به امنیت، درج می‌گردد.روال بسیار غلط در ایراندر ایران معمولا بعد از کشف آسیب‌پذیری، مسیری بسیار بد طی می‌شود. ابتدا هکر کلاه‌سفید، در میان شبکه‌های اجتماعی و آشنایان به دنبال «آشنایی» می‌گردد تا بتواند باگ خود را به پول تبدیل کند. در بهترین حالت بعد از پیدا کردن لینک در داخل سازمان، بحث بر سر شدت آسیب‌پذیری به بدترین شکل ممکن صورت می‌گیرد. بدین ‌صورت که هکر کلاه‌سفید، اصرار بر خطرناک بودن آسیب‌پذیری خود دارد، در عین حال، سازمان، ادعای امن بودن کرده و تقاضای دیدن POC برای تخمین شدت آسیب‌پذیری را دارد. هکر کلاه‌سفید به دلیل ترس از «از دست دادن آسیب‌پذیری»، از دادن جزئیات امتنا می‌کند. در اکثر مواقع هم بعد از ارائه جزئیات توسط هکر کلاه‌سفید، سازمان اظهار کم اهمیت بودن سامانه آسیب‌پذیر را می‌کند.این روال بسیار غلط است، اصلا نیازی به کشف روال صحیح نیست، کافی است ببینیم سازمان‌ها و شرکت‌های بزرگ دنیا چه‌کار می‌کنند؟ تمامی شرکت‌ها، جدولی مربوط به قلمرو یا Scope مجاز برای گزارش آسیب‌پذیری را دارند. برای مثال، یک قلمرو مناسب برای شرکت ارتباطات سیار یا همراه‌اول، می‌تواند*.mci.irباشد، و دامین‌های غیر مجاز و کم اهمیت از آن کاسته شود. قسمت بعدی، باید جدول پرداختی به ازا شدت‌های مختلف آسیب‌پذیری باشد. یک مثال بسیار عالی می‌توان به برنامه Twitter در HackerOne اشاره کرد. بدین ترتیب، بحث بی نتیجه بالا هیچ‌وقت پیش نمی‌آید. برای جمع‌بندی، می‌توان اشاره کرد که یک برنامه بانتی خوب نیاز به شاخص‌های زیر دارد:قوانین برنامهتعیین قلمروجوایز کشف آسیب‌پذیرینحوه گزارشآسیب‌پذیری‌های خارج از بانتیبا توجه به موارد بالا، بسیاری از سازمان‌ها و شرکت‌های ایرانی که ادعای داشتن برنامه باگ‌بانتی رو دارند، فاقد این امر هستند. در واقع این شرکت‌ها، فقط یک راه ارتباطی یک‌طرفه برای دریافت آسیب‌پذیری، بدون ارائه هیچ تضمینی برای همکاری با هکر کلاه‌سفید دارند.تعریف سامانه باگ‌بانتیاین سامانه به عنوان یک واسطه بین هکرهای کلاه سفید و سازمان‌ها و شرکت‌های دولتی و خصوصی عمل می‌کند. این سامانه دو گروه مخاطب خواهد داشت، گروه اول سازمان‌ها و شرکت‌هایی هستند که می‌خواهند بخشی یا تمام ابزارها و سرویس‌های خود را در معرض ارزیابی متخصصین قرار دهند.گروه دوم هکرهای کلاه سفید که با اهداف مختلفی از جمله کسب درآمد مناسب، به چالش کشیدن تخصص خود، کسب شهرت و غیره در سامانه ثبت نام خواهند کرد.در خصوص سامانه پیش‌روی، چند نمونه بسیار موفق خارجی وجود دارد که مهمترین آن‌ها hackerone.com و bugcrowd.com می‌باشد. در حال حاضر شرکت‌ها و سازمان‌های بزرگی در آمریکا از خدمات hackerone.com بهره می‌برند که از بین آن‌ها می‌توان به وزارت دفاع آمریکا، Yahoo و Twitter اشاره کرد.همچنین لازم به ذکر است که این سامانه حتما بنباید به صورت یک Third Party وارد عمل شود، بلکه می‌تواند درون یک شرکت یا سازمان شکل بگیرد. برای مثلا، همراه اول می‌تواند با راه‌اندازی این سامانه فقط برای خود، نظر هکرهای کلاه‌سفید را به‌خود جلب کند.مقایسه برنامه بانتی و روش سنتی آزمون نفوذوجود یک سامانه‌ Bug Bounty مزایای بسیاری نسبت به آزمون نفوذ سنتی دارد. مهم‌ترین ویژگی آن‌ تبدیل هکرهای کلاه خاکستری و حتی در برخی موارد هکرهای کلاه سیاه به هکرهای کلاه سفید یا به عبارت دیگر ورود هکرها به یک چرخه مولد است. به عنوان نمونه برخی از ویژگی‌های این سامانه به شرح زیر است: مورد ۱) هزینه در روش سنتی آزمون نفوذ نسبت به برنامه بانتی بسیار بالا می‌باشد، قراردادهای آزمون نفوذ عموما مشروط به کشف آسیب‌پذیری نمی‌باشد، درصورتی که در برنامه بانتی، به ازار هر آسیب‌پذیری، بعد از تائید کارفرما و صدور وصله امنیتی، وجه توافقی پرداخت می‌شود. مورد ۲) دانش در پروژه آزمون نفوذ، محدود به سقف دانش اعضای پروژه می‌باشد. در صورتی که در برنامه بانتی، طیف وسیعی از هکران با دانش‌های مختلف، بر روی سامانه مورد آزمون، از دانش خود برای کشف آسیب‌پذیری بهره‌مند می‌شوند.مورد ۳) منابع انسانی در پروژه آزمون سنتی، محدود به افراد خاص، مشخص شده در قرارداد و وابسته به مبلغ آن می‌باشد. در صورتی که در برنامه بانتی، منابع انسانی نامحدود می‌باشد، البته این امر در کنترل سازمان مورد آزمون قرار گرفته می‌باشد.مورد ۴) سرعت کشف ‌آسیب‌پذیری در پروژه آزمون نفوذ سنتی، به سرعت افراد، میزان درگیری زمانی/ذهنی آن‌ها در پروژه‌های موازی وابسته است، به همین دلیل آسیب‌پذیری‌ها همیشه با انجام اولین آزمون نفوذ کشف نمی‌گردند. بسیاری از سامانه‌ها، بعد از چندید بار آزمون نفوذ سنتی،‌ آسیب‌پذیری جدید کشف می‌گردد که گواه سرعت پایین کشف آسیب‌پذیری در روش سنتی می‌باشد. در برنامه بانتی، به دلیل شرکت منابع انسانی نامحدود، این مورد به شدت تسریع می‌گردد.مورد ۵) در پروژه آزمون نفوذ سنتی،‌ نظارت بر پیمان‌کار کاری بسیار دشوار و غیر قابل انجام می‌باشد. عموما مستندات آزمون نفوذ، معیار اصلی برای تخمین کیفیت کار پیمان‌کار می‌باشد. در سامانه بانتی، به دلیل خودجوش بودن هکرها و عدم صرف هزینه اولیه از سوی کارفرما، دلیلی بر نظارت وجود ندارد.مورد ۶) در آزمون نفوذ سنتی، به دلیل وجود منابع مالی/انسانی محدود، معمولا تمام سامانه‌ها مورد آزمون قرار نمی‌گیرند، تنها سامانه‌های حساس در اولویت می‌باشند، این خود ضعف در سازمان‌های مختلف حساب می‌شود،‌ زیرا در مقوله نفوذ به یک سازمان، حساسی سامانه اولویتی برای یک هکر نداشته، و بسیاری از سازمان‌ها، از سامانه‌های غیر حساس و فراموش‌شده خود آسیب می‌بینند. در سامانه بانتی، یک سازمان می‌تواند تمام سامانه‌های خود را در معرض آزمون گذاشته و فقط برای سامانه‌های حساس مبلغ جایزه در نظر بگیرد. اینکه چرا هکر بر روی سامانه‌های غیرپولی وقت می‌گذارد، به چرخه سیستم سامانه برمی‌گردد.مورد ۷) مدت در قراردادهای سنتی، محدود می‌باشد و معمولا بسیاری از سازمان‌ها به صورت ادواری قراردادهای خود را با پیمان‌کاران تمدید می‌کنند. در صورت وجود آسیب‌پذیری در میان فاصله زمانی بین انعقاد دوقرارداد، ضرر متوجه سازمان می‌گردد. در برنامه بانتی، زمان آزمون به‌صورت خیلی آسان قابل تمدید می‌باشد.مورد ۸) در آزمون نفوذ سنتی، کارشناسان می‌توانند آسیب‌پذیری کشف شده را گزارش نکنند. زیرا هیچ سازوکار بازدارنده برای آن‌ها وجود ندارد (اصولا امکان نظارت این بخش وجود ندارد). زیرا کارشناس در نهایت اظهار در عدم توانایی در کشف آسیب‌پذیری را دارد. در سامانه بانتی، هکر بدون فوت وقت، آسیب‌پذیری را گزارش می‌کند، زیرا اولا انگیزه مالی برای انجام این امر دارد، ثانیا ممکن است هکری دیگر این آسیب‌پذیری را گزارش کند، و علاوه بر رفع شدن آسیب‌پذیری، امتیازی به ایشان نرسد.مورد ۹) در آزمون نفوذ سنتی، انگیزه کارشناسان قابل اندازه‌گیری نمی‌باشد. بسیاری از کارشناسان ممکن است برای رفع تکلیف آزمون را انجام دهند و تلاشی برای کشف آسیب‌پذیری نکنند. در سامانه بانتی، هکر برای پیشرفت مالی/کاربری در سامانه، حداکثر تلاش خود را برای انجام آزمون انجام می‌دهد.پیش‌بینی دغدغه و نگرانی احتمالی سازمان‌ها و شرکت‌هاسوال) آیا هکران آسیب‌پذیری را گزارش می‌کنند؟ اگر آسیب‌پذیری کشف شده را گزارش نکرده و با آن به سامانه نفوذ کنند چه می‌شود؟ این یک نگرش غلط جا افتاده می‌باشد، اتفاقا در سامانه بانتی در قیاس با آزمون نفوذ سنتی، این اتفاق به ندرت می‌افتد. در آزمون نفوذ سنتی، یک کارشناس به راحتی می‌تواند یک آسیب‌پذیری را گزارش نداده، و در وقتی دیگر، از آن به‌صورت ناشناس سو استفاده کند. دلایل:هکرهایی که آسیب‌پذیری را گزارش نمی‌دهند و به سو استفاده می‌پردازند، کلاه سیاه‌هایی هستند که هم اکنون هم فعالیت دارند و نیازی به وجود چنین سامانه‌هایی برای انجام فعالیت‌های مخرب خود ندارند.عدم گزارش آسیب‌پذیری توسط یک هکر ایشان را در معرض مخاطره رقابت قرار می‌دهد، چرا که ممکن است هکری دیگر همزمان با او به این آسیب‌پذیری رسیده باشد و آن را گزارش کرده و محبوبیت و وجه را از سازمان مربوطه دریافت کند. بنابراین طبق تجربه ما در همکاری با نمونه‌های Bug Bounty خارجی، هر هکر پس از کشف آسیب‌پذیری تمام تلاش خود را برای سریع‌تر گزارش کردن آن می‌کند.در جوامع هکری زیرزمینی یا اصطلاحاً در بازار سیاه هکرهای زیر زمینی، بسیاری از آسیب‌پذیری‌های کشف شده از سامانه‌های دولتی و بانک‌ها را می‌توان مشاهده کرد که هکرهای کلاه سیاه به دنبال فروش آن هستند، وجود یک سامانه‌ Bug Bounty قطعاً به حیات این بازارهای زیرزمینی ضربه خواهد زد.سوال) آیا با در معرض گذاشتن سامانه خود، این پیغام را به هکران نمی‌دهیم که سامانه ما مهم است؟ یا به عبارتی دیگر، وقتی مورد آزمون قرار بگیریم، هکران کلاه سیاه به دنبال می نمی‌آیند؟ در جواب این سوال باید گفت‌، سازمان‌هایی که چنین دغدغه‌ای دارند، می‌توانند برنامه خود را به‌صورت خصوصی برگزار کنند، هرچند که جواب خیر است، در واقع برعکس نگرانی پیش آمده، سازمان می‌تواند به مشتری‌های خود این اطمینان را بدهد که برای اطلاعات آنها ارزش قائل است.سوال) نحوه محاسبه قیمت برای سازمان‌ها چگونه است؟اما در خصوص شیوه محاسبه قیمت پیشنهادی آسیب‌پذیری‌ها هر سازمان مختار است تا برای سطوح مختلف آسیب‌پذیری یا حتی برای هر نوع از آسیب‌پذیری کشف شده بر روی سامانه پیشنهادی متناسب با بودجه خود مبلغی را پیشنهاد دهد. به این ترتیب:سازمان‌هایی که پول بیشتری بابت هر آسیب‌پذیری پرداخت کنند مورد توجه تعداد بیشتری از هکرها بوده و آسیب‌پذیری احتمالی آن‌ها قاعدتاً زودتر گزارش می‌شود.سازمان‌هایی که پول کمتری پرداخت کرده و یا حتی به صورت رایگان عضو شده‌اند نیز با توجه به عملکرد سامانه، مورد توجه هکرهای کم تجربه‌تر یا تازه واردتر قرار می‌گیرند.سازمان‌ها تنها زمانی پول پرداخت خواهند کرد که آسیب‌پذیری‌هایی از انواع مورد نظر خودشان گزارش شود.