نگاهی بر جیلبریک از گذشته تا امروز ( قسمت اول )

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

اصطلاحات دنیای جیلبریک و سیستم عامل

برای اینکه تقسیم بندی گذشته و امروز iOS از نظر خودم را برای شما واضح تر بیان کنم نیاز هست که درابتدا چند اصطلاح را که در این مطالب زیاد به آنها برخورد میکنیم را برای شما توضیح دهم.

  • Userland: برنامه ای است که روی iDevice پس از کرنل شروع به کار میکند و اکسپلویت یا جیلبریک بر پایه یوزرلند کاملا به صورت نرم افزاری بوده و به راحتی توسط اپل پچ میشود, این نوع جیلبریک ها با جیلبریک های بر پایه کرنل تفاوت دارند و به ما اجازه فلش کردن فریمور های دستکاری شده (Custom Firmwares) یا فایل های IMG3 را نمیدهند.
  • Kernel: هسته سیستم عامل (Kernel) یک نرم افزار سطح پایین است که وظیفه کنترل درخواست‌های خروجی یا ورودی از طرف نرم افزارهای دیگر (و همچنین سخت افزارها) را دارد.

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

بعد از کرنل, User mode یا همان Userland که در بالا به آن اشاره کردم وجود دارد, که در سطح بالاتری قرار میگیرد و در واقع هرچیزی که کاربر با آن سر و کار دارد در Userland وجود دارد, بگذارید کلمه ی وجود دارد را به زندانی شده تغییر دهیم! خوب این زندان همان Jail و هدف ما فرار از زندان (Jailbreak) است!

جیلبریک

 

مروری مختصر بر تاریخ جیلبریک

اینجاست که تازه بحث گذشته و امروز به میان می آید. در گذشته یعنی تا آخر سری نسخه های iOS 4 جدال اپل با جیلبریکر ها مثل الآن زیاد نبود و اکثرا جیلبریک ها بر پایه باگ هایی بودند که در سطح پایینتر یعنی در سطح کرنل وجود داشتند و البته این نوع جیلبریک در زمان فعلی بسیار با ارزش شده اند. حتما میپرسید چرا؟! دلیلش بسیار ساده و روشن است, معمولا وقتی شرکتی محصولی تولید میکند و سپس سیستم عامل آن را پس از مدتی به روز رسانی میکند در بیشتر موارد این تغییرات در قسمت Usermode است چرا که کاربر با این قسمت سر و کار دارد. پس اگر فکر کنیم میبینیم که اگر باگی در سطح کرنل داشته باشیم بدون توجه به تغییراتی که در Userland ایجاد میشود میتوانیم دسترسی خود را حفظ کنیم.

زمانی بود که چند روز پس از عرضه ی عمومی نسخه ای از iOS جیلبریک آن نسخه به طور عمومی عرضه میشد. به لطف Geohot باگی از bootrom آیفون 4 به دست آمد که نفوذ را در هر نسخه ای ممکن میساخت چرا که تنها راه از بین بردن باگ در سطح Bootrom تغییر سخت افزاری از طرف شرکت سازنده است که البته کاری پر هزینه است اپل هم زیاد به خود زحمت نداده و این مشکل را نه در آیفون 4 بلکه در 4S رفع کرده, امیدوارم چرایی در ذهنتان به وجود آمده باشد!

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

این مثالی ساده از باگ های در سطح Bootrom بود, امروزه نیز اینگونه باگها وجود دارند ولی جیلبربکی بر پایه این باگ ها عرضه نمیشود چرا که بسیار با ارزش هستند. به عنوان مثال ویدیوِیی از iH8sn0w منتشر شده و نشان میدهد که iOS 9 را جیلبریک کرده, این کار با استفاده از یکی از باگ های iBoot در آیفون 5 انجام شده, البته که این کار کمک شایانی به پیدا کردن باگ هایی در زمینه Userland میکند اما چیزی که واضح است این است که قطعا شما جیلبریکی بر پایه iBoot برای iOS 9 نخواهید دید.

در مطلب بعدی خواهید خواند

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