گپ‌وگفتی با شکارچی آسیب‌پذیری؛ علی فیروزی

گپ‌وگفتی با شکارچی آسیب‌پذیری؛ علی فیروزی

۱۱۳

در این بلاگ‌پست، به سراغ یک متخصص تست نفوذ و شکارچی آسیب پذیری در دنیای امنیت سایبری رفته‌ایم تا با او گپ‌وگفت کوتاهی داشته باشیم؛ علی فیروزی (@afssec)

علی، دو سه سالی ست که در حوزه‌ی امنیت سایبری فعالیت دارد. تمرکزش بر روی تست نفوذ وب اپلیکیشن هاست. یک شکارچی آسیب پذیری پاره‌وقت هم هست. یک آگهی در تلگرام، زمینه‌ساز ورود او به حوزه‌ی باگ بانتی شده است. اولین آسیب پذیری ای که یاد گرفته، SQL Injection بوده است. اولین بانتی اش را درازای کشف یک آسیب پذیری Double Spending دریافت کرده است. Bounty tableهای یک برنامه‌ی باگ بانتی را، عامل مهمی در ترغیب یک شکارچی آسیب پذیری به کار بر روی آن می‌داند.

_ کمی از خودت برایمان می‌گویی؟

من علی فیروزی هستم. بیشتر افراد من را با نام مستعار afssec می‌شناسند. دو سه سالی می‌شود که به طور جدی در حوزه‌ی امنیت سایبری فعالیت می‌کنم و از همان ابتدا روی باگ بانتی و تست نفوذ متمرکز بوده‌ام. تخصص اصلی من تست نفوذ وب‌ اپلیکیشن‌ ها است و در این زمینه به کشف آسیب‌پذیری‌ها و بهبود امنیت سیستم‌ها علاقه‌مندم.

_ به فعالیت خود در حوزه‌های مختلف امنیت سایبری (باگ بانتی و تست نفوذ) اشاره کردی. برایمان می‌گویی که در چه حوزه‌های دیگری فعالیت داری؟

بله، علاوه بر فعالیت‌های اصلی‌ام در باگ بانتی و تست نفوذ، از طریق ارتباطاتی که با شرکت‌های مختلف برقرار کرده‌ام، پیشنهادهای متعددی برای پروژه‌های تست نفوذ اختصاصی دریافت می‌کنم. این پروژه‌ها معمولاً به صورت فصلی انجام می‌شوند و به من این فرصت را می‌دهند که دانش و مهارت‌هایم را در موقعیت‌های متنوع به کار بگیرم. 

در کنار این‌ها، در حوزه‌ی مشاوره امنیتی و آموزش نیروی انسانی نیز فعالیت دارم. هدف اصلی این آموزش‌ها، افزایش آگاهی امنیتی کارکنان شرکت‌هاست تا خطرات نفوذ و آسیب‌پذیری‌ها را کاهش دهند. این برنامه‌ها به‌طور خاص برای شرکت‌هایی که با آن‌ها قرارداد همکاری دارم، طراحی و اجرا می‌شوند. 

همچنین در فرآیند توسعه‌ی اپلیکیشن‌ها، با تیم‌های توسعه همکاری می‌کنم تا از دیدگاه امنیتی به بهبود کدها و طراحی‌هایشان کمک کنم. هدف این است که از همان مراحل اولیه‌ی توسعه، امنیت به عنوان یک اولویت اساسی در نظر گرفته شود و محصولات امن‌تری به بازار عرضه شوند. 

_ کمی از مسیری که برای شکارچی آسیب پذیری شدن طی کرده‌ای، برایمان می‌گویی؟  برای فردی که در شرایط چند سال قبل شما قرار دارد، حرف یا پیشنهادی داری؟

مسیر من برای ورود به دنیای باگ بانتی از الگوی مشخص و سلسله‌مراتبی پیروی نمی‌کرد. من شبیه بسیاری از علاقه‌مندان دیگر، راه خودم را بدون مسیر رسمی پیدا کردم، برخلاف رویکردهای ساختاریافته‌ (مثل یادگیری متدولوژی‌های امنیتی به‌صورت تدریجی و برنامه‌ریزی‌شده) که امروز توصیه می‌شود. 

نقطه‌ی شروع واقعی من زمانی بود که یک آگهی در تلگرام دیدم. در آن آگهی نوشته شده بود: «اگر بتوانید نرم‌افزار ما را هک کنید، جایزه دریافت می‌کنید.» این برای من اتفاقی جالب و جدید بود. تا آن زمان می‌دانستم هک چیست و حتی تجربه‌هایی در دسترسی به سیستم‌ها یا دستگاه‌های اطرافیان داشتم، اما هیچ‌وقت تصور نمی‌کردم که هک بتواند منبع درآمد باشد. اینجا بود که برای اولین بار با مفهوم باگ بانتی آشنا شدم. فرآیندی که در آن برای شناسایی آسیب پذیری ها پاداش دریافت می‌کنید. همین ایده باعث شد که نگاه من به هک و امنیت تغییر کند؛ حالا می‌توانستم به‌عنوان شغلی جدی به آن فکر کنم. 

چند سال پیش، وقتی به این حوزه وارد شدم، اولین آسیب پذیری ای که یاد گرفتم SQL Injection بود. سپس به سراغ XSS رفتم. آن روزها، بیشتر از داکیومنت‌ها و ویدئوهای آموزشی پراکنده در اینترنت استفاده می‌کردم، بدون اینکه کاملاً بدانم چگونه باید از آن‌ها بهره ببرم. اما با تمرین روی تارگت‌های مختلف، کم‌کم تجربه ی بیشتری کسب کردم. 

اولین موفقیت جدی من زمانی بود که توانستم یک آسیب پذیری Double Spending را کشف کنم. این آسیب پذیری به اولین بانتی منجر شد و همان پاداش، انگیزه‌ای قوی در من ایجاد کرد. متوجه شدم اگر توانستم برای یک آسیب پذیری مبلغی دریافت کنم، با یادگیری و تمرین بیشتر، می‌توانم به پاداش‌های بزرگ‌تری هم دست یابم. از آن به بعد، به‌صورت جدی‌تر به مطالعه‌ی متدولوژی‌ها و یادگیری آسیب پذیری های جدید پرداختم. 

علاوه بر مهارت‌های فنی، تلاش کردم مهارت‌های نرم خود را نیز تقویت کنم. این مهارت‌ها در مذاکرات با شرکت‌ها و برقراری ارتباط حرفه‌ای بسیار کمک‌کننده هستند. به‌نظرم، داشتن ترکیبی از دانش فنی و مهارت‌های ارتباطی، برای هر شکارچی آسیب پذیری ای که می‌خواهد در این حرفه موفق شود، ضروری است. 

پیشنهاد خواندنی: هکرهای ایرانی از چه راه‌هایی برای یادگیری هک استفاده می‌کنند؟

_ به عنوان یک شکارچی آسیب پذیری تا به حال با چه چالش‌هایی مواجه شده‌ای؟

می دانیم که باگ بانتی چالش های خاص خودش را دارد. چالش‌هایی وجود دارند که باگ بانتی در سطح دنیا آن ها را دارد: 

یکی از مهم‌ترین چالش‌ها، دوپلیکیت شدن گزارش‌هاست. به این معنا که ممکن است آسیب‌ پذیری‌ ای که شناسایی کرده‌ام، پیش از من توسط فرد دیگری گزارش شده باشد. این مسئله تا حد زیادی به زمان فعال‌شدن هدف و تعداد شرکت‌کنندگان بستگی دارد و همیشه بخشی از کار باگ بانتی را تشکیل می‌دهد. 

چالش دیگر، عدم پیش‌بینی‌پذیری درآمد است. برخلاف شغل‌های با حقوق ثابت، درآمد حاصل از باگ بانتی کاملاً وابسته به شناسایی و پذیرش آسیب پذیری ها ست. این موضوع باعث می‌شود بسیاری از شکارچیان آسیب پذیری، از جمله خود من، به‌منظور حفظ پایداری مالی، بخشی از تمرکز خود را به پروژه‌های تست نفوذ قراردادی اختصاص دهند. این ترکیب به من این امکان را می‌دهد که هم در فضای چالش‌برانگیز باگ بانتی باقی بمانم و هم از طریق پروژه‌های تست نفوذ درآمدی پایدارتر داشته باشم.

اگر بخواهیم در کانسپت داخلی به باگ بانتی ایرانی نگاه کنیم، هم چالش‌هایی وجود دارند: 

در حوزه‌ی باگ بانتی در ایران، بسیاری از شرکت‌ها توجه کافی را به امنیت سایبری و باگ بانتی ندارند. البته وضعیت در سال‌های اخیر نسبت به گذشته بهبود قابل‌توجهی داشته است. امروزه کسب‌وکارها به امنیت سایبری اهمیت بیشتری می‌دهند، اما زمانی که به بررسی جدول جوایز (Bounty table) و مبالغی که برای این جوایز در نظر گرفته می‌شود می‌پردازیم، به وضوح می‌بینیم که مدیران کسب‌وکارها علی‌رغم اختصاص هزینه‌های میلیاردی برای سایر بخش‌های کسب‌وکار، به باگ بانتی و امنیت سایبری بودجه کمتری اختصاص می‌دهند. در بسیاری از موارد، شکارچیان آسیب پذیری با Bounty tableهای بسیار پایین مواجه می‌شوند. این موضوع انگیزه کمتری برای آن‌ها ایجاد می‌کند. در چنین شرایطی، طبیعی است که شکارچیان آسیب پذیری تمایل کمتری داشته باشند که زمان خود را به کار برروی این اهداف اختصاص دهند. 

نتیجه‌ی این رویکرد مالی، این است که ممکن است شکارچیان آسیب پذیری‌ای که عملکرد خوبی دارند، برحسب ارزیابی شرایط خود، کمتر به تارگت‌های ایرانی توجه کنند و بیشتر تمرکز خود را بر روی تارگت‌های خارجی بگذارند. تجربه‌ی شخصی من هم در ابتدا بر این اساس بود که برای افزایش تجربه، بیشتر روی اهداف داخلی کار می‌کردم و توانستم تجربیات مفیدی کسب کنم. اما به مرور زمان متوجه شدم که می‌توانم برروی اهداف خارجی و پلتفرم‌های بین‌المللی بزرگ‌تری مانند Hackerone و BugCrowd تمرکز کنم که فرصت‌های بهتری را در اختیار قرار می‌دهند. 

در پلتفرم‌های باگ بانتی خارجی، اوضاع به مراتب متفاوت است. زیرا باگ بانتی های خارجی معمولاً مبلغ قابل‌توجهی دارند. از آن‌جا که جوایزشان معمولا به دلار پرداخت می‌شود، ارزش مالی بیشتری دارند. به طور مثال، برای یک آسیب‌پذیری مشابه، ممکن است بانتی‌ای که در یک پلتفرم خارجی پرداخت می‌شود، ده برابر (یا حتی بیشتر) از بانتی‌ای باشد که در پلتفرم‌های ایرانی به آن اختصاص داده می‌شود. به همین دلیل، شکارچیان آسیب پذیری ترجیح می‌دهند وقت خود را بیشتر بر روی تارگت‌های خارجی صرف کنند. 

با وجود این، به عنوان یک شکارچی آسیب پذیری، در صورتی که Bounty table مناسبی برای یک تارگت داخلی در نظر گرفته شود و زمان کافی برای بررسی آن وجود داشته باشد، منطقی است که بخشی از زمان خود را به این اهداف اختصاص دهم. زیرا من به طور پاره‌وقت به باگ بانتی می‌پردازم و زمان محدودی برای این کار دارم. در چنین شرایطی، برایم به‌صرفه‌تر است که بیشتر بر روی برنامه‌های باگ بانتی خارجی وقت بگذارم. اما اگر در کنار این فرصت‌ها، تارگت جدیدی در پلتفرم‌های باگ بانتی داخلی با Bounty table مناسب اضافه شود، بخشی از زمان خود را به آن اختصاص می‌دهم تا هم از فرصت‌های خارجی استفاده کنم و هم در اهداف داخلی فعالیت داشته باشم.

_ ممکن است کمی از تجربه‌های خود از برخورد کسب‌وکارها با گزارش آسیب پذیری هم برایمان بگویی؟

اکثر تجربیات من در تعامل با کسب‌وکارها مثبت بوده است. شاید دلیلش این باشد که همیشه سعی کرده‌ام با شرکت‌هایی کار کنم که اهمیت ویژه‌ای برای باگ بانتی و گزارش آسیب پذیری قائل هستند. از هدر دادن زمانم با مجموعه‌هایی که توجه چندانی به امنیت سایبری ندارند، پرهیز کرده‌ام. 

با این حال، طبیعتاً هر شکارچی آسیب پذیری ای، با چالش‌هایی روبه‌رو می‌شود. در تجربه شخصی من، خوشبختانه هرگز با مشکلات جدی مواجه نشده‌ام. اما در ابتدای کارم با موقعیت‌هایی مواجه بودم که کمی ناخوشایند بودند. به‌عنوان مثال؛ گاهی پس از ارسال گزارش، شرکت‌ها آسیب‌پذیری را رفع می‌کردند، اما یا پرداخت بانتی به تأخیر می‌افتاد یا اصلاً انجام نمی‌شد. در مواردی هم، پس از دریافت گزارش، دیگر پاسخی دریافت نمی‌کردیم. 

علاوه بر این، برخی شرکت‌ها تنها به آسیب پذیری هایی توجه می‌کنند که می‌تواند کل سیستم را به‌طور کامل تحت تأثیر قرار دهد. این شرکت‌ها از آسیب پذیری های ظاهراً جزئی، اما با پتانسیل سوءاستفاده‌ی گسترده چشم‌پوشی می‌کنند. این نوع بی‌توجهی‌ها بخشی از واقعیت دنیای باگ بانتی است که باید آن را در نظر گرفت.

پیشنهاد خواندنی: رفتار کسب‌وکارها نسبت به دریافت گزارش آسیب پذیری

_ آسیب پذیری موردعلاقه‌ی شما چیست؟ آیا در بررسی یک سایت، اول به سراغ بررسی آسیب پذیری موردعلاقه‌ات می‌روی؟

آسیب پذیری های مربوط به احراز هویت (Authentication) برای من جذابیت بیشتری دارند. بله، دقیقاً همین‌طور است؛ هنگام بررسی یک سامانه، اولین قدم من تحلیل جریان‌های احراز هویت است. من معمولاً به دنبال آسیب‌پذیری‌های مرتبط با Authentication می‌گردم و سعی می‌کنم آن‌ها را به سناریوهای پیچیده‌تر زنجیره کنم. دلیل این علاقه مشخص است: آسیب‌پذیری‌های Authentication معمولاً تأثیرگذاری بالایی دارند و می‌توانند به بهره‌برداری‌های گسترده منجر شوند.

_ آرزویی برای حوزه‌ی امنیت سایبری داری؟

آرزوی من این است که کسب‌وکارها اهمیت امنیت سایبری را بهتر درک کنند و به آن بها دهند. امنیت صرفا یک هزینه نیست، بلکه تضمین بقای آن‌هاست. امیدوارم زمانی برسد که شرکت‌ها در کنار تمرکز بر حوزه‌هایی مثل مارکتینگ، به امنیت سایبری به‌عنوان بخشی حیاتی برای رشد و توسعه نگاه کنند. 

همچنین امیدوارم شرکت‌ها رفتار منصفانه‌تر و قدردانی بیشتری نسبت به شکارچیان آسیب پذیری داشته باشند. این افراد زمان و تخصص خود را صرف بهبود امنیت محصولات کرده‌اند و شایسته‌ی برخوردی حرفه‌ای و منصفانه هستند. در نگاه کلی و درازمدت، توجه بیشتر به این موضوع، علاوه بر ایجاد حس اعتماد متقابل، باعث تقویت جامعه‌ی امنیتی و بهبود کلی اکوسیستم فناوری می‌شود. 

_ ما هم امیدواریم که این موارد به وقوع بپیوندند. ممنون که وقتت را در اختیار ما قرار دادی علی جان.

بلاگ‌پست‌های مرتبط:

گپ‌وگفتی با شکارچی آسیب پذیری؛ رامین اسدیان

گپ‌وگفتی با شکارچی آسیب پذیری؛ زهرا ایزدی امیری

گپ‌وگفتی با شکارچی؛ علیرضا رضایی