This is beta version of Ravro English website. Some dynamic texts are in Persian. If you need support, contact with support@ravro.ir.
گپ‌وگفتی با شکارچی؛ علیرضا رضایی

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

1303

در این بلاگ‌پست، به سراغ یک شکارچی که با حفظ سمت، دبیر کامپیوتر هم هست، رفتیم تا با او گپ‌وگفت کوتاهی داشته باشیم؛ علیرضا رضایی

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

گپ‌وگفت ما با علیرضا دو بخش است:

بخش اول؛ آشنایی با علیرضا و زندگی، چالش‌ها و نگاه او به‌عنوان یک شکارچی آسیب‌پذیری‌.

بخش دوم؛ موضوعات فنی و سوال‌های تخصصی درمورد شکار آسیب‌پذیری

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

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

_ یک­ دست جام باگ­، یک­ دست بانتی، رقصی چنین خارج از تونلم آرزوست؟

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

چون مِی از خُم به سبو رفت و گُل افکند نقاب فرصتِ عیش نگه دار و بزن جامی چند

_ چطور شد که شکارچی آسیب‌پذیری شدی؟

اگر گرسنگی فشار بیاورد کار به شکار کردن می­‌رسد! :)

_ پس غریزه‌ی بقا بوده. :)

غریزه‌ی بقا، آره. البته من کم‎‌تر شکار می­‌کنم و در حوزه‌ی امنیت بیش‌تر ابزار توسعه می‌دهم و در کنارش باگ بانتی هم کار می‌کنم. در کل دیدگاه ریسک‌طوری دارد و چون باید زمانی بگذارید و آن زمان معلوم نیست که به آسیب پذیری منجر بشود یا نه! چون در ایران هم شرایط هنوز پابلیک نشده است، کم‌تر آسیب پذیری پیدا می­‌شود. ولی بیش‌تر به‌خاطر فان‌بودنش در آن کار می‌کنم، تا کسب­ درآمد. من خودم هم در فضای حمله بوده‌م و جزو علاقه‌­مندیم هم بود. بعد از این‌که دولوپ را کمتر کردم و بیشتر دارم سمت جلو پیش می­‌‌روم. همانطور که اشاره کردم، اول این‌که یک سری هاردنینگ اندروید انجام می­‌دادم، بعد کار تست نفوذ هم اضافه شد. بعد کم‌کم "یک دست جام بانتی و یک دست..." را دیدم و با مفهموم باگ­ بانتی آشنا شدم. دیدم که می‌شود از تست نفوذ فراتر رفت. باگ بانتی برایم کاملا جدید بود. کار کردم و برایم لذت­‌بخش بود و با همین پیش رفتیم. الان هم می‌­گویم که آن‌قدرها از زمانم را به شکار اختصاص نمی‌دهم. کارم در حوزه‌ی امنیت سایبری است و بیش‌تر ابزارهای امنیتی توسعه می‌دهم و فقط ۲۰، ۳۰ درصد زمانم را برای هک و باگ بانتی می‌گذارم.

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

و شکارچی‌های بزرگی هم که باگ‌های بزرگی می­‌زنند هم، اکثرا از کسانی هستند که در جایی به‌صورت تمام‌وقت کار می‌­کنند و در آخر هفته می­‌گویند برویم ببینیم چیزی دشت می­‌کنیم یا نه!

_ کار دیگری می‌کنند و باگ بانتی را هم در کنارش ادامه می­‌دهند. :)

بله مثل رشته‌ی هنر. :)

_ این‌طور شنیدیم که معلم هم هستی.

بله.شغل معلمی هم دارم برای خودم. البته آن بیش‌تر پوشش است. ؛) دانش­‌آموزان باور نمی­‌کنند که معلم هستم. وقتی من را با معلم‌­های دیگرشان مقایسه می­‌کنند، می­‌گویند:" شما معلم نیستید! الکی می‌گویید که معلمید." در جمع­ بچه‌های حوزه‌ی امنیت سایبری هم وقتی می‌گویم که معلم هستم، باور نمی‌کنند. کلا دوطرف حرفم را قبول نمی‌کنند! اکثر همکارانم بیش‌تر از ۵۰ سال سن دارند و من در فضای مدارس از جوان­ترین­‌ها هستم!

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

_ فکر می­‌کنم در ویدیوی آموزشی‌ای که با راورو داشتی، اشاره کرده بودی که همه‌ی مردم تصورشان از معلم "فردی با کت­‌وشلوار و پراید" است.

بله، و قاب کامل‌تر این تصویر این است که فکر می‌کنند که آن معلم اگر بخواهد در پرایدش را باز کند، نمی‌­تواند چون یک دستش پلاستیک سیب­‌زمینی و یک دستش پلاستیک پیاز است!

_ چه قاب سینمایی‌ای! :)

پیشنهاد دیدنی: نقشه‌ی راه امنیت اندروید با علیرضا رضایی

_ به‌عنوان یک متخصص امنیت و توسعه‌دهنده‌ی ابزار که معلم هم هست، چه چالش­‌ها و دغدغه­‌هایی در شغلت پررنگ است؟

به‌نظرم چالش اصلی‌ای که وجود دارد و خیلی­‌ها هم به آن اشاره می­‌کنند، "مهم نبودن امنیت برای یک اپلیکیشن یا نرم‌­افزار یک سازمان" است. خیلی کم پیدا می­‌شود که به‌عنوان مثال استارت­اپی که ۲، ۳ میلیون کاربر دارد، باخودش بگوید که الان دیگر وقتش است که به امنیت سایبری توجه کنم. وقتی‌که در اول کار شروع می­‌کنند، که اصلا کاری با امنیت ندارند! می­‌گویند : "حالا برویم استارت بزنیم، معلوم نیست بیزینسمان بماند یا نماند! جلوتر که پیش رفتیم به امنیت هم توجه می‌­کنیم." در صورتی‌که برعکس است! به نظرم شما اول به امنیت توجه نکنید، خیلی اوضاع سخت‌­تر می­‌شود! این‌طور نیست که حتما با مشکلی روبه‌رو شوید و بعدش به سمت امنیت سایبری بروید! الان اکثرا این‌طور است که کسب‌وکارها تا دیتاهایشان نشت پیدا نکند یا هک نشوند، خیلی توجه خاصی به امنیت ندارند.

به نظرم ما هم به‌عنوان شکارچی باید سعی در لیک این اطلاعات داشته باشیم که این افراد بیش‌تر به خودشان بیایند و به امنیت سایبری بیش‌تر توجه کنند. به‌نظرم موضوع خیلی مهمی ست که شما به‌عنوان یک کسب‌وکار، اطلاعات افراد کاربر را نگه­ می­‌دارید در صورتی که قفلی هم به این اطلاعات نزده‌اید! خیلی حساس است! اگر مسئولین صدای ما را می‌­شنوند، بیشتر به سازمان­‌ها گیر بدهند تا حداقل امنیت‌هایی را برای سازمان‌­های خود داشته باشند.

یک چالش دیگر هم که وجود دارد این است که وقتی فردی متوجه می­‌شود که در حوزه‌ی امنیت کار می‌کنید، مثلا می­‌گوید:" واتس­­اپ دوستم را هک می­‌کنی؟!" یا "اینستاگرام را با چه هزینه­‌ای هک می­‌کنی؟" در پاسخ به چنین پرسش‌هایی، من می­‌گویم هزینه‌ی بالایی دارد! مثلا باید مقدار زیادی در حد ۲۰۰ میلیون تومان بدهید. در این‌صورت، اینستاگرام پارتنرتان را برایتان هک می­‌کنم. بعد فکر می‌­کنند و می‌گویند :" نه... آن‌قدر هم مهم نیست..." و ­می­‌روند. من اگر می‌­­توانستم واتس­اپ را واقعا هک کنم که به شما نمی­‌گفتم! چون میلیون­‌ها دلار هزینه‌­اش است. هک واتس­اپ مگر الکی است؟!

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

آخ،آخ. بله.

_ هک را در دنیایت و از جهان‌­بینی‌ت چطور تعریف می­‌کنی؟

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

خودم برای مدتی کار کردم، احساس می‌کردم که خیلی دارم از انسانیت خودم خارج می­‌شوم و به بخشی از سخت‌­افزار تبدیل می­‌شوم! و دیدم که کار من نیست و از این کار بیرون آمدم. به‌نظرم این افراد قدرتی دارند که دیگران ندارد. وقتی آن فرد شمشیرش را بکشد، به­‌نظرم دیگر بقیه‌ی افراد واقعا باید شمشیرهایشان را غلاف کنند و به خانه‌­هایشان بروند.

اگر بخواهم نگاه به هک را از دید افراد غیرهکر و غیرآشنا بگویم؛ فکر می‌کنم معمولا نگاهشان چیزی شبیه قاب‌های ترسیم‌شده در فیلم­‌هاست. برای افرادی که در امنیت سایبری متخصص نیستند، هکر فردی است که در زیرزمینی نموری است که پر از سوسک است و رطوبت خاصی دارد. یک هودی در تنش و کلاهش روی سرش است و دارد سازمان ناسا را با HTML هک می­‌کند.

_ بله، کار کردن با بیت و بایت سخت است. و افراد متخصص باینری و Low Level واقعا کارشان وحشتناک خفن است.

واقعا،خفن.

پیشنهاد خواندنی: گپ‌وگفتی با متخصص امنیت دنیای صفرویک‌ها؛ علی امینی

_ از نگاه کسب‌وکارها امنیت چگونه تعریف می‌شود؟

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

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

پیشنهاد خواندنی: حریم خصوصی داده‌ها؛ سرمایه‌ای حساس + گفت‌وگو با یاشار شاهین‌زاده

_ شاید لازم است مطالبه‌گری در حوزه‌ی امنیت، از سمت کاربران بیش‌تر وجود داشته باشد.ما شاهد موردهایی بوده‌ایم که استارت­اپی هک شده و دیتاهای کاربرانش نشت پیدا کرده. ولی بدون هیچ اقدام امنیتی‌ای، بعد از مدت کوتاهی خیلی راحت به کارشان ادامه دادند و کاربران هم همراهش بودند!

بله، ما به کاربر می­‌گوییم :"نروید و روی لینک نزنید! می‌گویند: "بابا مگر ما در گوشیمان چی داریم؟ عیب ندارد!" همین تفکرات کاربر عمومی هم به این منجر می­‌شود که برای آن سازمان امنیت دیتای کاربرانش، خیلی اهمیتی نداشته باشد! پس فکر می‌کنم باید نتیجه ب­گیریم که باید روی افکار عمومی عامه­‌ی مردم کار کنیم. تا بعدش سازمان هم بگوید:" چون اگر من امنیتم را رعایت نکنم، گروهی از افراد خاص نمی‌­آیند از محصول من استفاده کنند و پول به من نمی­‌دهند، پس من بهتر است من امنیتم را بیش‌تر رعایت کنم." احتمالا در این معادله بشود کاری کرد!

_ اگر بخواهی برای آن کاربر عمومی امنیت و اهمیت آن را توصیف کنی، چه می­‌گویی؟

شاید بی‌­ادبی باشد، اما مثالی که به ذهنم می‌رسد این است که به آدمی که نمی­‌داند امنیت چیست، بگویید:" دوست دارید بدون لباس در خیابان راه بروید و همه نگاهتان کنند؟!!! بدون هیچ حریم­ خصوصی‌ای؟"

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

اول که آسیب پذیری را پیدا می­­‌کنم معمولا افکار و گزینه‌های زیادی سراغم می‌­آیند؛

می­‌گویم به شرکتشان ایمیل بزنم؟ یا همین‌طور در فضایی پابلیک کنم که ملت استفاده کنند؟ یا بلاگ‌پستی آموزشی راجع بهش بنویسم و اسم اپلیکیشن را نبرم؟

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

_ پس نیم‌نگاهی به کسب‎‌وکار طرف مقابلتان می­‌اندازی و بعد رنگ کلاهت را انتخاب می­‌کنی...

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

پیشنهاد خواندنی: معرفی ۹ دسته هکر که احتمالا تاکنون نمی‌شناختید!

_ آسیب ­پذیری محبوبت چه آسیب­ پذیری‌ای است؟

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

مثلا؛ شما فرض کنید که در یک سامانه‌ای دارید یک ریکوئستی را Brute Force می‌­کنید یا حالا هرچیزی که هست، بعد آن Rate Limit روی خودش دارد، Captcha هم دارد روی خودش، هم حالا نمی­دانم کلی موانع امنیتی دیگری گذاشته‌اند که شما نتوانید ریکوئست­‌های زیادی بدهید! بعد حالا شما می­‌مانید و این سرویس! خوب ببینید که چه­ کار می‌­توانید بکنید که این را دور بزنید! وقتی که این را دور می­‌زنید خیلی لذت­‌بخش است! اگر از همان اولش که مانعی جلویتان نباشد و جلو بروید آن‌قدر لذت­‌بخش نیست. اگر که چند تا مکانیزم امنیتی را که آن‌ها گذاشته‌اند و حواسشان هم بوده، بتوان دور زد، لذت­‌بخش می­‌شود.

_ چه جالب! آدم یاد این توصیف در شعرها می‌افتد که به این موضوع اشاره دارند که هرچه­‌قدر شکار گریزپاتر باشد، شکارچی بیشتر به تقلا می‌­افتد و شکار برایش شیرین­‌تر می‌­شود.

بله،دقیقا

_ از چه ابزاری بیشتر استفاده می‌­کنی؟ ابزار محبوبت چیست؟

من چون بیشتر در حوزه‌ی امنیت اندورید هستم، می‌گویم: RMS و MobSF. این دو ابزار بال­‌های پرواز من هستند. یکیشان سلطان Static Analysis و دیگری سلطان Dynamic Analysis است. من درنزد علمای امنیت اندروید این دو را تا الان بهترین یافته‌ام.

هردویشان خیلی کارها را راحت می‌کنند. جفتشان را هم روی چند ابزار دیگر نوشته‌اند. یعنی چند ابزار دیگر باهم مخلوط شده‌اند و حالت فریمورک‌طوری دارند. با دوتایشان می‌شود کارهای خوبی کرد.

_ گفتی خودت هم ابزار می­‌نویسی و توسعه می­‌دهی. راجع­‌به آن­‌ها هم دوست داری برایمان بیشتر بگویی؟

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

_ چه جذاب.

اسمش از خودش خیلی خفن­‌تر است.

_ اسمش "آن‌چه خواهید دید" و "Coming Soon" است؟

بله.

_ چه رفتاهایی از کاربران اینترنت حرصت را درمی‌آورد؟

بگذارید دوقسمتش کنیم؛

یک سری افرادی که به اصطلاح هکر هستند، در این حوزه تازه‌واردند یا جوی هستند، یا هرچیزی! مثلا فرد می­‌رود در فرمی که جهانی است یک ادعای الکی می­‌کند. چیزی بلد نیست، فکر می­‌کند که خیلی بلد است. می‌­رود آن‌جا چیزهایی می‌­گوید و آبروی ایرانی­‌ها را در سطح بین­­‌الملل می‌برد! این افراد را که می­‌بینم واقعا اعصابم خورد می­‌شود! خب بابا، شما در سطحی که بلدید، Claim و ادعا کنید. حالا شاید فرد هم واقعا نمی­‌داند ولی خب درکل هم به‌نظرم نباید فردی که چیزی را بلد است، به آن بنازد یا مدام راجع­ بهش در این‌طرف و آن‌طرف بگوید! این‌جوری به­‌نظرم جذاب نیست! وقتی من می‌بینم اعصابم خورد می­‌شود! شما شاید از یک تا 100 ، فقط 10 لول از آن را بلدید ولی دارید ۹۹ درصد از آن را Claim می‌­­کنید و ادعا دارید!

این‌که مردم عادی می­‌گویند "ما در گوشیمان چیزی نداریم، که لیک بشود." هم خیلی اعصابم را خرد می‌کند. روی لینک‌های مختلف کلیک می‌کنند؛ لینک "۱۰ هزار دلار برنده شوید" و ... .

_ چه جوابی به مردم عادی که می­‌گویند "در گوشی‌م چیزی ندارم." می­‌دهی؟

مثال خیلی ساده­‌اش این است که شما در گوشیتان مخاطب که دارید. هکر می‌تواند برود و به مخاطبانتان SMS ب­زند، لینک بفرستد، ازشان کلاه‌برداری کند... . نکنید بابا! از این کارها نکنید! حداقل اگر برای خودتان مهم نیست، برای امنیت مخاطب‌هایتان این مورد مهم است. از طریق شما می­‌توانند به مخاطب‌های گوشی‌تان برسند!

_ حسی ناامنی دارد...

_ چه نقطه‌­ای از سامانه­‌ها پاتوق شماست؟ نقطه‌ای که بیشتر سراغش می‌­روی و بررسی‌اش می‌کنی تا از آن آسیب پذیری کشف کنید.

اپلیکیشن اندرویدی داستانش با سایت‌­ها کمی فرق می­‌کند. اپ­لیکیشن‌هایی که معمولا کار می­‌کنم، یک سری مکانیزم امنیتی دارند که ۴، ۵ مورد هستند. مثلا؛ Root Detection ، frida Detection و چندتا از این کیشن‌­های دیگر... . من اول این موارد را چک می‌کنم. کار زیاد سختی نیست. بعد از این‌که این­‌ها را انجام دادم، مثلا می­‌روم سراغ APIهایشان که بتوانم APIهایشان را پیدا کنم. معمولا این‌که بروم سراغ آن کار هم داستان خودش را دارد.

_ در تجربه­‌ی کاری‌ای که داشته‌ای، چه نقاطی از سامانه‌ها بیشتر آسیب­ پذیر بوده‌اند؟

درکل یک‌سری مکانیزم‌های امنیتی­ هست که معمولا برنامه­‌نویس­‌ها در اپلیکیشن‌­های اندرویدی رعایت نمی‌کنند.معمولا برنامه‌نویس‌هایی که اندروید، ­دولوپ می­‌کنند، حتی سریال­‌هایشان را که من دیده‌ام نشان می‌دهند که فرد دید خاصی از کدنویسی امن در اندروید ندارد. به همان دلیل اصلا نمی­‌داند که اگر به‌طور ناامن کد بزند، چه اتفاق‌هایی ممکن است که بیوفتد! سر همین قضیه اصلا بیشتر چیزهایی که در اندروید من می­‌بینم مربوط به کامپوننت­‌هاست. اندروید ۴ کامپوننت اصلی دارد: Activityها، Serviceها، Broadcast Recieverها و Content Providerها.این ۴ تا از نکات اصلی اندروید است. بعد طرف اگر که حواسش نباشد، یک­‌سری جاها هست که از بیرون و با یک اپلیکیشن دیگر می­‌توانند به این‌­ها دسترسی داشته باشند! مثلا فرض کنید که من اپلیکیشن Phone گوشی‌م هست، هروقت که کسی بهم زنگ بزند این باید صفحه­‌ش بیاید بالا. این در واقع یک اپلیکیشن دیگر دارد به آن دسترسی پیدا می­‌کند. یک سری رابطه­‌های این‌طوری که بین اپلیکیشن‌ها است این‌جورجاها مثلا: چند Restrict Access است که باید رعایت شود و برنامه­‌نویس باید این‌­ها را رعایت کند و Permission ست کند. معمولا این­‌ها را حواسشان نیست و وقتی که از بیرون مثلا یک اپ دیگر بخواهد به این اپ دسترسی یابد و یا این­‌ها دیتاها را برای اپی دیگر بفرستند، این­‌جاها معمولا می­‌شود کارهای خوبی کرد. خیلی در این زمینه آسیب­پذیری هست، در هکروان هم اکثر آسیب ­پذیری­‌های اندروید فکر می­‌کنم از این‌جورچیزها باشد.

شما مثلا: اکسپلویتش می‌­کنید، اگر در کنارش اپ دیگری نصب کنید می‌­توانید به اطلاعات این اپ دسترسی پیدا کنید.

_ جالب بود. تا حالا شده به همین طریق چند آسیب­ پذیری را باهم زنجیر کنی و یک چیزی به دست بیاید؟

بله، مثلا فرض کنید که اپی است که Emulator Detection دارد که اگر در موبایلتان نصب کنید نمی‌توانید باز کنید و با آن هر کاری انجام دهید. هم‌چنین امکانی وجود ندارد. مرحله‌ی اول این است که باید این را دورش بزنید که روی موبایلی که شما دارید کار کند. بعد که این کار را انجام می‌­دهید، می­‌گوید که شما حالا اگر بخواهید کدهای من را ببینید حالا من تحلیل استاتیک را می­‌گویم: کدهای من را ببینید،این هک شده است یعنی وقتی کدها را باز کنید نمی‌­توانید کدهایشان را قشنگ مثل آدمی‌زاد بخوانید! باید ساعت‌­ها زمان بگذارید تا بتوانید کدهای این اپ را ببینید! خب ظاهرا این دوتا چیز امنیتی را باید دورشان بزنید. که دومی به شدت سخت­‌تر از اولی است. اولی خیلی ساده‌­تر است. بعد بازش می­‌کنید برایش Unpacker می­‌نویسید، کدهایشان را می­‌توانید ببینید. بعد حالا می­‌خواهید ترافیکش را ببینید. قائدتا باید ببینید داخلش چه خبر است. بعد که خواستید ترافیکش را ببینید SSL Pin شده است، SSL Pin را حالا باید دور بزنید که ببینید چطوری است. حالا اگر که اپ را با هرچیزی توسعه داده باشند، SSL Pin بایپسش در زبان های مختلف فرق می‌­کند؛ اگر با Kotlin باشد فرق می­‌کند، اگر با Flutter هم باشد فرق می‌­کند و هرکدام داستان‌­های خودش را دارد. بعد آن را دور می‌­زنید و می­‌بینید حالا ترافیک را دارید. ترافیک را که به دست آوردید می­‌بینید عه ترافیک هم رمز شده است! یعنی در اپ مثلا طرف در چند جا از این رمزنگاری­‌ها زده. باید آن­‌ها را هم بشکنید! باید بروید کلید رمزگشایی را پیدا کنید. در اپ بگردید پیدا ­می­‌شود، حالا که رمزش را هم باز کردید به API می­‌رسید. مثلا فرض کنید یک­ جایی می­‌خواهید نام‌هاب کاربری و رمزعبورها را تست کنید. اول باید آن‌ها را را دربیاورید. اگر بخواهیم Brute Force کنیم، باز همان داستانی که گفتم پیش می­‌آید. مثلا:Rate Limiter دارد، کپچا دارد، فایروال دارد، که مثلا چند بار بزنید IPتان را Ban می­‌کند. حالا با چیزهای مختلف این­‌ها را دور می‌زنید. مثلا چند سرور پشت تور می­‌اندازید، و کپچایش را OCR می­‌کنید، جلوتر می­‌روید تا بتوانید مثلا نام‌های کاربری و رمزعبورها را Brute Force کنید.

مثلا این سناریویی بود از زنجیر کردن چند چیز باهم.

_ بله دقیقا، خودش یک داستان بلندی است اگر بخواهیم راجع به تک­‌تک این موارد صحبت کنیم.

این چند مورد را که در چند دقیقه برای شما گفتم، شاید یک ماه زمان ببرد.

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

بله، من جفتش را تقریبا همین الان هم هستم. بعضی­‌وقت‌­ها یکیش پررنگ‌­تر می­‌شود. بعضی­‌وقت‌ها یکیش کم­‌رنگ‌­تر می­‌شود. هرکدام هم مزایا و معایب خودش را دارد.

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

من در هر کدام (کارمندی یا فریلنسری) که هستم، معمولا می‌گویم: "کاش آن یکی بودم!" و هیچ‌وقت هم راضی نمی­‌شوم!

_ آدمی‌زاد است دیگر... گاهی هرجا که هست، دوست دارد در جای دیگری باشد.

بله،دقیقا.

_ علیرضا، برای حوزه امنیت چه آرزویی داری؟

آرزو که بر جوانان عیب نیست. :)

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

از دیدگاه دیگر هم، همین‌که ما بتوانیم به‌طور آزاد در همه جا باگ بزنیم. آن­‌ها هم به باگ ما به طور شایسته توجه کنند... . این هم از آرزوهایی ست که می­‌تواند باشد. که هنوز در ایران اتفاق نیوفتاده است.

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