در این مقاله با توضیح باگ بانتی Bug Bounty Program، لزوم جدی گرفتن آسیب پذیری وب سایت، اپلیکیشن و سرویس برنامه در برابر هک و حفظ امنیت اطلاعات را بررسی می نماییم.
لزوم جدی گرفتن امنیت اطلاعات و آسیب پذیری وب سایت، اپلیکیشن و سرویس برنامه
خاطره یکی از کارشناسان آی تی IT درباره باگ بانتی و لزوم جدی گرفتن آسیب پذیری های وب سایتها، اپلیکیشن و سرویس برنامه که این روزها به اخبار داغ فناوری اطلاعات کشور تبدیل شده است.
چهار هفته پیش مشغول ثبت نام غیر حضوری داخل وب سایت یکی از کارگزاری های بورس بودم. در مرحله آخر بعد از وارد کردن همه اطلاعات شناسنامه ای، اطلاعات حساب های بانکی، آدرس محل کار و منزل و تلفن و موبایل و ...، بعد از این که دکمه ثبت را زدم، با کادری مواجه شدم که صرفا با دریافت کد ملی، همهی اطلاعات پرونده ام را در قالب فایل pdf برای دانلود در اختیار می گذاشت. طبیعتاً برای من که اندکی از امنیت سر می آورم، اولین چیزی که به ذهنم رسید وجود باگ Enumeration در پیاده سازی این تابع بود. به عبارت دیگر هر کسی می توانست وارد قسمت پیگیری وب سایت این کارگزاری شود و با وارد کردن کد ملی من یا هر کد ملی دلخواه دیگری، همه اطلاعات فوق، که بعضا خیلی مهم است را استخراج نماید. البته وجود چنین فاجعه ای که نقض بدیهیات پیادهسازی سیستم امن برای چنین شرکت هایی هست، خودش نشانه وجود باگ های بعدی بود. به خاطر همین مقداری بررسی عمیقتر انجام دادم و متوجه شدم نه تنها باگ enumeration وجود دارد، بلکه روی تمامی فیلدهای جدول مربوطه پایگاه داده، آسیب پذیری SQL Injection هم وجود دارد. به عبارت دیگر، هر کسی نه تنها میتوانست با کد ملی اقدام به استخراج همه اطلاعات کاربرها کند، بلکه می توانست با هر کدام از اطلاعات شناسنامه ای، حساب بانکی، تاریخ تولد، شماره موبایل و شماره منزل و ...، این کار را انجام دهد.
اینجا، لحظه ای بود که مضطرب و توامان خشمگین از این همه بی توجهی به اطلاعات افراد، به دنبال راهی برای گزارش آسیب پذیری گشتم. سایت کارگزاری مذکور، متاسفانه هیچ قسمتی برای چنین گزارشی نداشت، اما در ادامه متوجه شدم که آسیب پذیری برای محصولی از شرکتی که نام آن را نمی آورم است و تنها مختص این کارگزاری نیست. بلکه ۲۲ کارگزاری دیگر، که همگی از مشتریان این شرکت هستند هم نسبت به آن آسیب پذیرند. در نهایت ایمیلی با شرح جزئیات فنی روانه این شرکت کردم. طبیعتا پیش از رفع آسیب پذیری با برخوردی محترمانه و امید بخش و ابراز تمایل به پرداخت باگ بانتی و همکاری مواجه شدم. آسیب پذیری مذکور هم سریعا (هر چند با ایراداتی جزئی) مرتفع شد. اما پس از رفع باگ، نه تنها از باگ بانتی خبری نشد، بلکه تلفن ها و پیام های بنده هم بدون پاسخ ماند و بعلاوه، مهم تر از همه، هیچ هشداری مبنی بر امکان افشا شدن اطلاعات به مشتریان ارسال نگردید!
البته در این ماجرا نه فقط این شرکت، بلکه نهاد نظارتی که مجوز چنین سامانه ای با چنین رخنه های امنیتی بدیهی، فاحش و خطرناکی را صادر می نمایند، همگی مقصرند و باید پاسخگو باشند. امیدوارم قوانینی تصویب شود که امکان چنین افشاهایی را به حداقل برساند و بعلاوه فرهنگ باگ بانتی در کشور جدی تر شده که شاید هکر کلاه سفید تشویق به گزارش آسیبپذیری های چنین سامانه های شوند.
«خاطره فوق عیناً از توییتر آقای ابراهیم قاسمی نقل گردیده است.»
باگ بانتی و حفظ امنیت اطلاعات
از این جهت یک برنامه باگ بانتی برای خیلی از طراحان و برنامه نویسان وب سایت، اپلیکیشن و سرویس برنامه و توسعه دهندگان نرم افزاری جدی گرفته می شود که به خاطر گزارش باگ ها، به ویژه باگ هایی که سبب آسیب پذیری می گردند پاداش می گیرند. لزوم استفاده از برنامه Bug Bounty به این خاطر است که به توسعه دهندگان این امکان را می دهد که پیش از اینکه عموم مردم از باگ ها اطلاع یابند آنها را کشف نمایند و مانع از به خطر افتادن امنیت اطلاعات و حوادثی نظیر سو استفاده گسترده شوند.
بررسی چگونگی ورود به حوزه باگ باونتی
چنانچه اخبار حوزه IT را دنبال می نمایید حتماً تا به حال اخبار تعیین جایزه برای هک کردن نرم افرازهای شرکت ها و موسسات را دیده اید. از سال ۲۰۱۲ یک وب سایت به اسم hackerone ایجاد گردید که به شرکت ها اجازه پرداخت پول را به هکرها یا شکارچی های باگ که آن ها را از حفره ها و مشکلات سایت، اپلیکیشن و سرویس برنامه مطلع می کنند می دهد تا این هکرهای سفید نسبت به رفع آنها و برقراری امنیت اطلاعات اقدام نمایند.
سایت هکر وان پرداخت بیت کوین (Bitcoin) را نیز برای کاربرانش میسر نموده است. از آنجایی که کشورهایی که مورد تحریم های مالی هستند قادر به پرداخت پول به شیوه های معمولی نیستند، چنانچه ثبت باگ در این سایت صورت گیرد و تایید شود و با در نظر داشتن اینکه پرداخت بیت کوینی مشکلی نداشته باشد، با توجه به وضعیت نرخ ریال در برابر دلار بسیار سودآور خواهد بود.