گپوگفتی با شکارچی؛ علیرضا رضایی
در این بلاگپست، به سراغ یک شکارچی که با حفظ سمت، دبیر کامپیوتر هم هست، رفتیم تا با او گپوگفت کوتاهی داشته باشیم؛ علیرضا رضایی
علیرضا رضایی متخصص تست نفوذ برنامههای اندرویدی، توسعهدهندهی ابزارهای تست نفوذ موبایل و دبیر کامپیوتر در هنرستان است. به توسعهی ابزارهای امنیتی علاقه دارد. شاعر موردعلاقهش سعدی ست.
گپوگفت ما با علیرضا دو بخش است:
بخش اول؛ آشنایی با علیرضا و زندگی، چالشها و نگاه او بهعنوان یک شکارچی آسیبپذیری.
بخش دوم؛ موضوعات فنی و سوالهای تخصصی درمورد شکار آسیبپذیری
_ لحظهی شکار آسیب پذیری چه حسوحالی دارد؟ برای علیرضا مانند چیست؟
مسیر کشف آسیب پذیری مثل پیش رفتن در تونل سیاهی است که مدتی در آن هستید و نمیدانید چه خبر است! دارید جلو میروید. چون همهجا تاریک است، فاصلهی تاریکی تا روشنایی هم مشخص نیست و چیزی نمیبینید. فاصلهی تاریکی تا روشنایی هم مشخص نیست. (ولی درواقع ممکن است اینطور نباشد و در نزدیکی یک آسیب پذیری باشید.) همینطور دارید میروید و یکهو میبینید که وسط روشنایی و جنگل هستید و آسیب پذیری را پیدا کردهاید. از تاریکی به سمت روشنایی جلورفتن، لحظهی خوبی است.
_ یک دست جام باگ، یک دست بانتی، رقصی چنین خارج از تونلم آرزوست؟
تحقیقات ما نشان میدهند که اهل شعر هم هستی، اگر دوست داشتی خوشحال میشویم که شعری هم در وصف کشف آسیبپذیری برایمان نقل کنی.
چون مِی از خُم به سبو رفت و گُل افکند نقاب فرصتِ عیش نگه دار و بزن جامی چند
_ چطور شد که شکارچی آسیبپذیری شدی؟
اگر گرسنگی فشار بیاورد کار به شکار کردن میرسد! :)
_ پس غریزهی بقا بوده. :)
غریزهی بقا، آره. البته من کمتر شکار میکنم و در حوزهی امنیت بیشتر ابزار توسعه میدهم و در کنارش باگ بانتی هم کار میکنم. در کل دیدگاه ریسکطوری دارد و چون باید زمانی بگذارید و آن زمان معلوم نیست که به آسیب پذیری منجر بشود یا نه! چون در ایران هم شرایط هنوز پابلیک نشده است، کمتر آسیب پذیری پیدا میشود. ولی بیشتر بهخاطر فانبودنش در آن کار میکنم، تا کسب درآمد. من خودم هم در فضای حمله بودهم و جزو علاقهمندیم هم بود. بعد از اینکه دولوپ را کمتر کردم و بیشتر دارم سمت جلو پیش میروم. همانطور که اشاره کردم، اول اینکه یک سری هاردنینگ اندروید انجام میدادم، بعد کار تست نفوذ هم اضافه شد. بعد کمکم "یک دست جام بانتی و یک دست..." را دیدم و با مفهموم باگ بانتی آشنا شدم. دیدم که میشود از تست نفوذ فراتر رفت. باگ بانتی برایم کاملا جدید بود. کار کردم و برایم لذتبخش بود و با همین پیش رفتیم. الان هم میگویم که آنقدرها از زمانم را به شکار اختصاص نمیدهم. کارم در حوزهی امنیت سایبری است و بیشتر ابزارهای امنیتی توسعه میدهم و فقط ۲۰، ۳۰ درصد زمانم را برای هک و باگ بانتی میگذارم.
_ بله، ما این را از شکارچیان خیلی شنیدیم که اگر بخواهید فقط در باگ بانتی کار کنید و باگ بزنید، مدت مشخصی وجود ندارد که حتما در آن بازه به باگ و بانتیاش برسید. این از دغدغههایی بوده که در تصمصم راجع به در این حوزه ماندن و نماندن، خیلی موثر بود.
و شکارچیهای بزرگی هم که باگهای بزرگی میزنند هم، اکثرا از کسانی هستند که در جایی بهصورت تماموقت کار میکنند و در آخر هفته میگویند برویم ببینیم چیزی دشت میکنیم یا نه!
_ کار دیگری میکنند و باگ بانتی را هم در کنارش ادامه میدهند. :)
بله مثل رشتهی هنر. :)
_ اینطور شنیدیم که معلم هم هستی.
بله.شغل معلمی هم دارم برای خودم. البته آن بیشتر پوشش است. ؛) دانشآموزان باور نمیکنند که معلم هستم. وقتی من را با معلمهای دیگرشان مقایسه میکنند، میگویند:" شما معلم نیستید! الکی میگویید که معلمید." در جمع بچههای حوزهی امنیت سایبری هم وقتی میگویم که معلم هستم، باور نمیکنند. کلا دوطرف حرفم را قبول نمیکنند! اکثر همکارانم بیشتر از ۵۰ سال سن دارند و من در فضای مدارس از جوانترینها هستم!
الان که تابستان است و تعطیل هستیم. ۲، ۳ روز در هفته را در خدمت دانشآموزان کامپیوتر در هنرستان هستم، بچهها هستند و دورهم هستیم. یکی از کارهای فان است که بهش علاقه دارم. به بچهها بیشتر برنامهنویسی آموزش میدهم ولی در کنارش راجعبه امنیت سایبری هم توضیح میدهم. برایشان میگویم که روندش و کلیاتش چطور است، بیشتر از بازارکار برایشان میگویم و با آن آشنایشان میکنم. حرفهایی که فکر میکنم کسی قرار نیست در طول چندین سال هنرستان بهشان بگوید را بهشان میگویم. جدای از مباحث تئوری کتابها، تلاش میکنم از مهارتهایی که در کتابها نیست و از چیزهایی که به ما نگفتند که اگر این کارها را انجام دهیم بهتر است، و از مهارتهای نرم بهشان بگویم. و رسالت خودم را به عنوان یک معلم انجام بدهم.
_ فکر میکنم در ویدیوی آموزشیای که با راورو داشتی، اشاره کرده بودی که همهی مردم تصورشان از معلم "فردی با کتوشلوار و پراید" است.
بله، و قاب کاملتر این تصویر این است که فکر میکنند که آن معلم اگر بخواهد در پرایدش را باز کند، نمیتواند چون یک دستش پلاستیک سیبزمینی و یک دستش پلاستیک پیاز است!
_ چه قاب سینماییای! :)
پیشنهاد دیدنی: نقشهی راه امنیت اندروید با علیرضا رضایی
_ بهعنوان یک متخصص امنیت و توسعهدهندهی ابزار که معلم هم هست، چه چالشها و دغدغههایی در شغلت پررنگ است؟
بهنظرم چالش اصلیای که وجود دارد و خیلیها هم به آن اشاره میکنند، "مهم نبودن امنیت برای یک اپلیکیشن یا نرمافزار یک سازمان" است. خیلی کم پیدا میشود که بهعنوان مثال استارتاپی که ۲، ۳ میلیون کاربر دارد، باخودش بگوید که الان دیگر وقتش است که به امنیت سایبری توجه کنم. وقتیکه در اول کار شروع میکنند، که اصلا کاری با امنیت ندارند! میگویند : "حالا برویم استارت بزنیم، معلوم نیست بیزینسمان بماند یا نماند! جلوتر که پیش رفتیم به امنیت هم توجه میکنیم." در صورتیکه برعکس است! به نظرم شما اول به امنیت توجه نکنید، خیلی اوضاع سختتر میشود! اینطور نیست که حتما با مشکلی روبهرو شوید و بعدش به سمت امنیت سایبری بروید! الان اکثرا اینطور است که کسبوکارها تا دیتاهایشان نشت پیدا نکند یا هک نشوند، خیلی توجه خاصی به امنیت ندارند.
به نظرم ما هم بهعنوان شکارچی باید سعی در لیک این اطلاعات داشته باشیم که این افراد بیشتر به خودشان بیایند و به امنیت سایبری بیشتر توجه کنند. بهنظرم موضوع خیلی مهمی ست که شما بهعنوان یک کسبوکار، اطلاعات افراد کاربر را نگه میدارید در صورتی که قفلی هم به این اطلاعات نزدهاید! خیلی حساس است! اگر مسئولین صدای ما را میشنوند، بیشتر به سازمانها گیر بدهند تا حداقل امنیتهایی را برای سازمانهای خود داشته باشند.
یک چالش دیگر هم که وجود دارد این است که وقتی فردی متوجه میشود که در حوزهی امنیت کار میکنید، مثلا میگوید:" واتساپ دوستم را هک میکنی؟!" یا "اینستاگرام را با چه هزینهای هک میکنی؟" در پاسخ به چنین پرسشهایی، من میگویم هزینهی بالایی دارد! مثلا باید مقدار زیادی در حد ۲۰۰ میلیون تومان بدهید. در اینصورت، اینستاگرام پارتنرتان را برایتان هک میکنم. بعد فکر میکنند و میگویند :" نه... آنقدر هم مهم نیست..." و میروند. من اگر میتوانستم واتساپ را واقعا هک کنم که به شما نمیگفتم! چون میلیونها دلار هزینهاش است. هک واتساپ مگر الکی است؟!
_ بخشی از این تقاضاها هم تحتتاثیر افرادیست که به عنوان تامینکنندهی امنیت پیج اینستاگرام فعالیت میکنند و بازاری درست کردهاند.
آخ،آخ. بله.
_ هک را در دنیایت و از جهانبینیت چطور تعریف میکنی؟
اگر بخواهم از دید یک هکر بگویم؛ فکر میکنم قسمت لذتبخش آن دستیابی به قدرتی است که معمولا کسی آن را ندارد. مخصوصا درلایههای خیلی عمیقتر امنیت! چون آنجا که میروی، کمتر کسی پیدا میشود که تخصص شما را داشته باشد. یا کلی زمان نیاز است تا هر فردی به آن عمق برسد. بیشتر منظورم اکسپلویت است. حالا امنیت وب و اندروید دورتر است و اگر امنیت سایبری را دریایی درنظر بگیریم، ما بهعنوان متخصص امنیت حوزهی وب و اندروید، کف روی آب سطح دریا هستیم. ولی بحث کارهایی که در 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 کنید.
مثلا این سناریویی بود از زنجیر کردن چند چیز باهم.
_ بله دقیقا، خودش یک داستان بلندی است اگر بخواهیم راجع به تکتک این موارد صحبت کنیم.
این چند مورد را که در چند دقیقه برای شما گفتم، شاید یک ماه زمان ببرد.
_ بخشی از زندگی شما را کارمندی و بخش دیگرش را فریلنسری تشکیل میدهد، هر کدام از این دو برای شما چگونه است؟
بله، من جفتش را تقریبا همین الان هم هستم. بعضیوقتها یکیش پررنگتر میشود. بعضیوقتها یکیش کمرنگتر میشود. هرکدام هم مزایا و معایب خودش را دارد.
در کارمندی چیزی که بیشتر بولد است این است که مسئولیت آنچنان سنگینی نداری. تسکی بهت محول میشود، انجام میدهی. اگر اوکی بود که اوکی. اگر هم اوکی نبود، عیب ندارد، فردا بهترش میکنی. درآمد کارمندی هم محدود است. ولی خب داستان شکار آسیب پذیری متفاوت است. کل مسئولیت یک پروژهی بزرگ روی دوشت است؛ شمایید و یک پروژه؛ هرکاری که میخواهید بکنید، باید بکنید. فرد دیگر کسی دیگری بالای سر شما نیست که بروی و چیزی که بلد نیستی را از او بپرسی. و بروم بپرسم سیستم یا هرکسی است،همچین چیزی در فیلد امنیت اصلا وجود ندارد،شما فرض کنید پروژه هم بزرگ است شما باید مدیریتش کنید و احتمالا باید چند نفر را هم بیاورید و ... . آن مسئولیتی که در فریلنسری هست حقیقتا موهایمان را تا الان سفید کرده! در کارمندی احتمالا شما کمتر مو سفید میکنید! در زندگی کارمندی، صبح به سرکار میروی و بعد برمیگردی. این هم روی غلتک میافتد که آدم حس میکند دیگر برایش چیز جدیدی ندارد. چالشی وجود ندارد.
من در هر کدام (کارمندی یا فریلنسری) که هستم، معمولا میگویم: "کاش آن یکی بودم!" و هیچوقت هم راضی نمیشوم!
_ آدمیزاد است دیگر... گاهی هرجا که هست، دوست دارد در جای دیگری باشد.
بله،دقیقا.
_ علیرضا، برای حوزه امنیت چه آرزویی داری؟
آرزو که بر جوانان عیب نیست. :)
از دیدگاه دولوپ اگر بخواهم بگویم؛ روزی را آرزو میکنم که در هر تیم اسکرامی یک متخصص امنیت داشته باشیم. خیلی جذاب است. فرض کنید در همهی روالهای توسعه، یک نفر هم است که امنیتش را هم در نظر میگیرد. خیلی خفن میشود.
از دیدگاه دیگر هم، همینکه ما بتوانیم بهطور آزاد در همه جا باگ بزنیم. آنها هم به باگ ما به طور شایسته توجه کنند... . این هم از آرزوهایی ست که میتواند باشد. که هنوز در ایران اتفاق نیوفتاده است.
_ تصورش هم احساس امنیت میدهد. ممنون که وقتت را دراختیار ما قرار دادی علیرضای عزیز. امیدواریم به تحقق این آرزو، قدم به قدم نزدیکتر شویم.