امنیت

ضعف امنیتی شاه کلید اندروید

اول بگم که شاه کلید همون master key خودمونه 🙂

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

اگر دستی در برنامه نویسی اندروید (و یا جاوا) داشته باشید می دونید که فایلهای apk در واقع یه سری فایل و فولدره که به صورت فشرده شده در اختیار کاربر قرار می گیره. شما می تونید با نرم افزارهایی مثل winrar و winzip محتویات پکیج رو ببینید.

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

با یک مثال جلو می ریم. فرض کنید اپلیکیشنی به اسم MyFirstApp.apk رو روی شبیه ساز اندروید نصب می کنیم (می تونه هر نرم افزاری باشه).

نصب اپ روی امولاتور

نصب اپ روی امولاتور

این نرم افزار مثالی روکه با نرم افزارهای آرشیو باز بکنیم، چیزی مثل عکس زیر رو خواهیم دید:

محتویات فایل apk

محتویات فایل apk

همونطور که توی عکس بالا می بینید، درون پکیج یک فولدر به اسم META-INF وجود داره که درون اون چکسام های امضا شده کلیه فایل های پکیج موجوده. فایل مانیفست در فولدر اصلی هم اسم فایل های موجود در پکیج و اطلاعات خلاصه اونها رو در خودش داره. اگر هر کدوم از فایل های پکیج رو تغیر بدید، اندروید از نصب شدن اپ جلوگیری می کنه. اندروید برای این کار از کتابخونه آرشیو جاوا برای گسترش فایل apk و سپس مقایسه و تایید چکسام کلیه فایل های بسته استفاده می کنه.

محتویات فولدر متا اینف

محتویات فولدر متا اینف

خب برای مثال بریم و تصویر موجود در فولدر MyFirstApp.zip\res\drawable-hdpi که آیکن نرم افزاره رو تغییر بدیم و بعد سعی کنیم که نصبش کنیم.

جلوگیری اندروید از نصب شدن اپ

جلوگیری اندروید از نصب شدن اپ

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

فایل های هم نام در یک فولدر

فایل های هم نام در یک فولدر

حالا این فایل apk رو روی سیستم نصب می کنیم. می تونیم ببینیم که بدون مشکل نصب می شه و حتی آیکن نرم افزار نصب شده هم همون فایل جدیدیه که هکر وارد پکیج کرده.

نرم افزار هک شده که با موفقیت نصب شده

نرم افزار هک شده که با موفقیت نصب شده

چطور این اتفاق افتاد؟
مشکل اینجاست که اندروید ورژن قدیمی فایل رو چک می کنه و امضاش رو تایید می کنه ولی نصاب جدیدترین فایل رو نصب می کنه. بنابراین فایل سالم وسیله اندروید چک می شه و اپ تایید می شه ولی زمان نصب، فایلی که هکر وارد کرده نصب می شه.

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

نرم افزار سیستمی که همراه سیستم عامل روی گوشی نصب می شن و دسترسی به فایل های سیستم دارن، نسبت به اپ هایی که توسط کاربر نصب می شن، برای هکر کارایی بیشتری دارند. تروجانی که همراه یک نرم افزار سیستمی نصب می شه می تونه به همه سیستم اندروید، نرم افزارها و فایل هاش دسترسی داشته باشه. هکر می تونه از این گزینه استفاده کنه و شبکه ای از تلفن هایی که به اینترنت متصل هستند رو در اختیار بگیره. گروه بلوباکس با استفاده از همین روش حتی تونستن اسم کرنل (هسته سیستم عامل) رو تغییر نام بدهند.

تغییرنام کرنل

تغییرنام کرنل

شرکت سیمانتک اعلام کرده که هکرها با استفاده از توزیع بازیهای معروف در سایت های متفرقه به صورت گسترده ای از این شیوه سود برده اند. گوگل هم اکنون پچی برای برطرف کردن این مشکل ارائه کرده ولی همونطور که می دونید خیلی زمان می بره تا همه سازندگان گوشی ها هم مدل هاشون رو به‌روز کنند. همچنین گوگل داره کلیه نرم افزارهای گوگل پلی رو برای این ضعف امنیتی چک می کنه اما سایت های دیگه هم آیا این کار رو می کنند؟

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

همچنین می تونید از گوگل پلی نرم افزار Blue Box Security Scanner ارائه شده وسیله گروه بلوباکس رو دانلود کنید. این نرم افزار گوشی شما رو چک میکنه و در صورت آسیب پذیر بودن بهتون اطلاع می ده. البته نرم افزارهای نصب شده رو هم چک می کنه.

چک سیستم برای این ضعف امنیتی

چک سیستم برای این ضعف امنیتی

منبع

Standard
امنیت

هک اکانت فیسبوک با یک sms

این پست ترجمه آزادی است از پست سایت اخبار هکر.

تصورش رو می کردین که اکانت فیسبوک رو با یک اس‌ام‌اس و بدون نیاز به انجام کاری از سوی کاربر و بدون استفاده از فیشینگ، کیلاگر، تروجان و غیره هک کنید؟

یک کارشناس امنیتی انگلیسی به نام fin1te تونسته اینکار رو انجام بده و ما اینجا نحوه انجام رو مرور می کنیم.

فیسبوک امکان متصل کردن شماره تلفن به اکانت فیسبوک رو داره (البته ایران رو محدود کرده) و کابر می تونه غیر از اینکه به‌روزرسانی های اکانت رو از طریق اس‌ام‌اس دریافت کنه، می تونه علاوه بر نام کاربری و ایمیل با شماره تلفنش هم به اکانت وارد بشه.

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

بعد از متصل کردن شماره تلفن و زمان ارسال کد تایید که از فیسبوک در یافت کرده اید، این صفحه مقصد اطلاعات ارسالی است. اطلاعات ارسالی ۲ متغیر دارد، یکی کد تایید و دیگری profile_id.

کد ارسالی به صفحه گفته شده

کد ارسالی به صفحه گفته شده

کار هکر از اینجا شروع می شه

  1. تغییر profile_id به profile_id قربانی (با تغییر اطلاعات ارسالی بین راه)
  2. ارسال F به شماره ۳۲۶۶۵ که شماره سرویس دهنده فیسبوک در انگلیسه و دریافت کد ۸ رقمی تایید.
  3. قراردادن این کد در بخش “کد تایید” یا verification code و ارسال فرم
کد 8 رقمی دریافت شده

کد ۸ رقمی دریافت شده

در این مرحله فیسبوک شماره هکر رو پذیرفته و متصلش می کنه به اکانت قربانی

پیغام پذیرش فیسبوک

پیغام پذیرش فیسبوک

حالا کافیه که هکر به فیسبوک اعلام کنه پسوردش رو فراموش کرده تا یک کد به موبایلش بیاد برای تغییر پسورد و کار تمامه.

قسمت خوب خبر: فیسبوک این باگ رو برطرف کرده و دیگه profile_id رو از کاربر نمی گیره. همچنین $۲۰,۰۰۰ هم به fin1te پرداخته برای گزارش ضعف امنیتی.

Standard
روزانه

تنها راه صلح، جنگ است؟

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

نه به جنگ

نه به جنگ

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

آوارگی کودکان سوری

آوارگی کودکان سوری

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

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

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

Standard