امنیت

ضعف امنیتی نرم‌افزار پیام‌رسان تلگرام

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

در ادامه بررسی کارشناسان امنیتی زیپریوم رو میارم.

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

تلگرام ادعا می‌کنه اپلیکیشنی با تمرکز روی امنیته و کاربرانش می‌تونن چت‌های رمزگذاری شده شخصی و کاری داشته‌باشند. کارشناسان زیپریوم ثابت کردند که این ادعا غلط بوده و ۵۰ میلیون کاربر تلگرام در خطر هستند.

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

۱. در دنیای واقعی، هکرها کاری به قوانین ندارند.

۲. فرض گرفته بود که هکرها در میانه راه سعی در شکستن رمزگذاری خواهند داشت در حالیکه می‌شه در سایر پروتکل‌ها ضعف‌هایی یافت که سود بیشتری داشته باشه (برای مثال ضعف امنیتی GoToFail برای دور زدن رمزگذاری SSL در iOS)

در مسابقه رمزگذاری جدید، تلگرام اعلام کرده: “… این بار شرکت‌کننده‌ها نه تنها می‌توانند ترافیک را بررسی کنند، بلکه می‌توانند خود را جای سرور تلگرام جا بزنند و از حمله‌های فعال استفاده کنند، که توانایی‌های آنها را افزایش می‌دهد.”

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

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

راحت‌تره که یک ضعف امنیتی در دستگاه پیدا کنیم و با روش‌هایی مثل URL، PDF و یا MiTM و امثال اون، دستگاه رو هک کنیم. بعد دسترسی رو با استفاده از Kernel Exploit بالا ببریم و کنترل دستگاه رو به دست بگیریم.

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

۱. ضعف امنیتی سمت کاربر: سواستفاده از کروم (https://docs.google.com/a/zimperium.com/document/d/1tHElG04AJR5OR2Ex-m_Jsmc8S5fAbRB3s4RmTG_PFnw/edit)

۲. سواستفاده از کرنل (https://www.towelroot.com/)

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

secure-chat-1

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

secure-chat-2

به تلگرام شانس دادم و اشتباهات رایج در اپلیکیشن‌هایی که اولویت امنیتی ندارند رو چک نکردم. یک حمله با استفاده از ضعف امنیتی سمت کاربر و یا یک اپلیکیشن و استفاده از Kernel Exploit رو شبیه‌سازی کردم (از CVE-2014-3153 استفاده کردم). راه‌های تمیزتری برای گرفتن پاسخ بود اما ترجیح دادم یک اثبات ایده (PoC) ارائه بدم. تلگرام امکان چت امن داره با یک قفل بالای تصویر که احساس امنیت می‌ده. از حافظه پروسس نسخه‌برداشتم و دنبال کلمه‌ای گشتم که در چت استفاده کرده بودم.

process

همونطور که می‌بینید کلمه‌های Woof، Text، Shlookido، Cookiedo، Tambal و NotSoEncryptedInMemory به صورت رمز نشده در حافظه دیده می‌شوند. هر حمله کننده‌ای که به دستگاه نفوذ کنه، بدون هیچ مشکلی، به متن پیام‌ها دسترسی خواهد داشت. پس چت امن تلگرام، به صورت متن واضح قابل خوندنه. این مساله باعث شد که به فکر بیافتم آیا راه ساده‌تری برای دسترسی به متن پیام‌ها وجود داره؟ وجود داشت.

برای تکمیل تحقیق، با استفاده از دسترسی روت که با کمک Kernel Exploit به دست آورده بودم، فایل‌های فلودر /data/data/org.telegram.messenger/ رو چک کرده و فایل Cache4.db رو در فولدر اپلیکیشن تلگرام پیدا کردم.

sqlite

فرض کردم که پیشوند enc در نام جدول‌های enc_chats و enc_tasks_v2 خلاصه encrypted (رمز شده) باشه پس فایل رو کش رفتم و بررسی کردم. فایل شامل کلیه چت‌های امن به صورت متن واضح بود.

unencrypt

یکی از امکانات جالب تلگرام، توانایی حذف متن پیام‌هاست. تلاش کردم که پیام‌های حذف شده توسط کاربر رو بازیابی کنم. برای اینکار حافظه و فایل cache4.db رو بررسی کردم.

از بخش تنظیمات، انتخاب کردم که پیام‌ها بعد از ۵ ثانیه حذف بشن. انتظار داشتم این اتفاق بیافته اما پیام‌ها حذف نشدن. به نظر می‌رسه که یک باگ باشه و نه مشکلی امنیتی. با استفاده از گزینه Delete پیام رو حذف کردم.

با بررسی فایل cache4.db اثری از پیام‌های حذف شده ندیدم. معمولا پیام‌های حذف شده، جذابیت بیشتری برای حمله‌کننده دارند. سپس حافظه رو بررسی کردم و متاسفانه پیام‌ها پس از حذف همچنان در حافظه قابل مشاهده بودند.

خط زمانی:
این مساله در تاریخ ۲۷ دی‌ماه ۱۳۹۳ کشف و روز بعد به تیم امنیتی تلگرام اطلاع‌رسانی شد.
طی ماه بعد و در ۳ تماس بعدی، پاسخی از تیم امنیتی تلگرام دریافت نشد.
در تاریخ ۳ اسفند ۱۳۹۳ این ضعف امنیتی، اعلام عمومی شد.

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

منبع:
http://blog.zimperium.com/telegram-hack/

Standard
امنیت

حمله فردی در مرورگر

احتمالا در مورد حمله “فردی در میانه” یا MiTM شنیدید (۱). در این حمله، فردی خودش رو در مسیر رد و بدل اطلاعات قربانی قرار می‌ده و می‌تونه به اطلاعات مهم دست پیدا کنه. این حمله روش‌های مختلفی برای پیشگیری داره که اولین و راحت ترینش استفاده از رمزگذاریه. یعنی هرجا که می‌شه، باید نسخه https سایت‌ها رو باز کرد که برای اینکار هم افزونه HTTPS everywhere گزینه خیلی خوبیه.

mitm-flow_0

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

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

Man-in-the-browser_header

فردی در مرورگر

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

روش این حمله رو اولین بار آگوستو پائس د باروس در یک ارائه درباره روند تغییرات درهای‌پشتی در سال ۲۰۰۵ نشون داد و فیلیپ گورینگ، سال ۲۰۰۷ از اصطلاح “مردی در مرورگر” که من اینجا به فردی در مرورگر تغییرش دادم، استفاده کرد.

بدافزارهای MiTB از امکاناتی مثل Helper Objects مرورگر (در اینترنت اکسپلورر)، افزونه‌ها، پلاگین‌ها، کدهای جاوا اسکریپت (مثل user scripts) و امثال اونها سواستفاده می‌کنند. در ادامه می‌تونید لیستی از بدافزارهایی که از حمله فردی در مرورگر استفاده می‌کنند و مرورگرها و سیستم‌عامل‌های هدفشون رو ببینید.

list

چگونه آلوده می‌شویم

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

بدافزار Carberp با هدف قراردادن بانک‌های معروف آمریکا و کانادا مثل WellsFargo، Citi، JP Morgan و غیره، در بازار سیاه قیمتی حدود ۴۰ هزار دلار داشت که از سال ۲۰۱۳ کدش با قیمت ۵ هزار دلار در دسترس قرار گرفت. این بدافزار با استفاده از ضعف‌های امنیتی سیستم‌عامل ویندوز، کامپیوتر قربانی رو آلوده می‌کنه و می‌تونه مدت‌ها بدون تشخیص داده شدن به وسیله آنتی ویروس به عملکرد خودش ادامه بده.

آمارها نشون می‌ده که بخش زیادی از کاربرها (حدود ۷۳ درصد) قابلیت تشخیص بین پیام‌های خطای POP UP واقعی و تقلبی رو ندارند و نمی‌تونن متوجه آلوده بودن احتمالی یک فایل بشن.

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

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

man-in-the-browser

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

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

پیشگیری و تشخیص

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

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

استفاده از افزونه‌هایی مثل HTTPS Everywhere باعث می‌شه که هرجایی که امکانش باشه از رمزگذاری استفاده کنید، هرچند باید به خاطر داشته باشیم که این مساله بعد از آلوده شدن به بدافزار کمک چندانی به ما نمی‌کنه.

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

در صورتیکه ترجیحتون استفاده از ویندوزه، برای کارهای مهم از نرم‌افزارهای پورتابل استفاده کنید. پیدا کردن محل قرارگیری مرورگر پورتابل و آلوده کردنش، کار بدافزار رو سخت‌تر می‌کنه. در صورت استفاده از فایرفاکس پورتابل، می‌تونید با رفتن به بخش تنظیمات شبکه، گزینه not use a proxy رو انتخاب کنید و پراکسی بدافزارهای احتمالی روی ویندوز رو دور بزنید.

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

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

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

جدول زیر شون دهنده کارهاییه که می‌تونیم انجام بدیم و میزان اثری که برای پیشگیری از حمله فردی در مرورگر می‌تونن داشته باشن.

list2

پانوشت:

۱- معمولا با “مردی در میانه” می‌شناسنش اما من “فرد” رو ترجیح می‌دم

Standard
امنیت

رمزنگاری در القاعده

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

نسخه اول اسرار المجاهدین که با عنوان “اولین نرم افزار رمزنگاری اسلامی برای انتقال اطلاعات در اینترنت” خودش رو معرفی کرد، سال ۲۰۰۷ منتشر شده و امکان استفاده از متدهای روز رمزنگاری رو به اعضای القاعده می داد. این نرم‌افزار برای اولین بار در سال ۲۰۰۹ در سایت ویروس توتال بررسی شد. پس از آن نرم افزارها و ابزار دیگه‌ای توسط این گروه منتشر شد از جمله اسرار الدردشه که یک پلاگین برای رمزنگاری در نرم‌افزارهای پیام رسانه و سال ۲۰۱۳ منتشر شد و کمی بعد نسخه‌ای از آن در سایت ویروس توتال آپلود شد. در همین سال نسخه موبایل اسرار المجاهدین نیز منتشر شد. از سال ۲۰۱۴ شاهد نرم افزارهای رمزنگاری بیشتری برای پلتفرم های موبایل بودیم از جمله تشفیر الجوال و امن المجاهد.

در ادامه می تونید تصویری از زمان ارائه نرم افزارهای گفته شده رو ببینید.

al-qaeda-encryption-developments-timeline

استفاده از روشهای رمزنگاری در گروه القاعده پس از افشاگری‌های اسنودن تغییر کرد. سازمان‌های اطلاعاتی آمریکا به سازمان‌های مرتبط گوشزد کردند که شیوه‌های ارتباطی القاعده تنها چندماه پس از افشاگری اسنودن، تغییر کرده است. در ژانویه ۲۰۱۴، معاون سابق CIA و عضو گروه بررسی نظارت در NSA در یک مصاحبه اعلام کرد القاعده به سرعت در حال تطابق خود با اطلاعات افشا شده است و حدس می‌زنم که همکاران سابق من نیز در حال به‌روزرسانی خودشونند.

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

18925

آوریل ۲۰۱۴ شاخه رسانه‌ای القاعده، السحاب، در تبلیغ یک مصاحبه با یکی از رهبران القاعده در پاکستان، گفت می‌تونید سوال‌های خودتون رو به ما ایمیل کنید. آدرس ایمیل های ارائه شده از سرویس‌های یاهو و safe-mail.net بود. Safe mail یک سرویس ایمیل امن اسراییلی است که ادعا می کنه بالاترین امنیت رو در کنار سادگی در اختیار کاربران میگذاره.

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

announce

در این اعلان، از مجاهدین خواسته شده که از طریق وبسایت gimfmedia (جبهه رسانه اسلامی جهانی) آخرین برنامه ها رو بگیرند و جالب اینکه این سایت از سرتیفیکیتی استفاده می‌کنه که خودشون صادر کرده‌اند. همچنین این سرتیفیکیت از TLS نسخه ۱.۲ پشتیبانی نمی‌کنه و باگ پودل داره. نسخه وردپرس استفاده شده در این سایت نیز در زمان نگارش این پست ۳.۵ بود درحالیکه آخرین نسخه ارائه شده وردپرس همکنون ۴.۱ است.

gimf

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

snowden-disclosure-impact-timeline

آنالیز

در بررسی نرم‌افزارها و پلاگین‌های رمزنگاری گفته شده، سه سوال مطرح می‌شه.

  1. در نرم‌افزارهای منتشر شده القاعده متدهای خودساخته رمزنگاری استفاده شده و یا از الگوریتم‌های در دسترس و عمومی استفاده کرده‌اند؟
  2. شایعه شده که این نرم‌افزارها دارای بدافزارند، حالا یا از طرف القاعده و یا دولت‌هایی مثل آمریکا. آیا این مساله تایید شده؟
  3. آیا این نرم‌افزارها به صورت گسترده استفاده می‌شن؟ یک مورد که این سوال رو به سوال بالا مربوط می‌کنه اینه که بررسی کنیم آیا این نرم‌افزارها روی سرویس‌های بررسی بدافزار مثل ویروس توتال چک شده اند یا نه.

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

encryption-methods-table

در جدول زیر تاریخ اولین تست هر فایل در سرویس ویروس توتال رو می بینید.

encryption-indicators-table

استفاده از متدهای خونگی و یا عمومی

در این بخش بررسی می کنیم که این نرم‌افزارها از متدهای رمزنگاری خونگی استفاده می‌کنند یا متدهای عمومی. بنا بر نظر بروس اشنیر (Bruce Schneier)، متدهای خودساخته ریسک‌های بیشتری دارند.

تشریف الجوال

تشریف الجوال یه اپلیکیشن رمزنگاری موبایله که توسط شاخه رسانه‌ای القاعده تنها ۳ ماه پس از افشاگری‌های اسنودن منتشر شد. طبق اعلام GIMF (جبهه رسانه اسلامی جهانی)، این اپلیکیشن از متد Twofish استفاده می‌کنه. این متد توسط بروس اشنیر و همکارانش توسعه داده شده است. استفاده از این متد به جای متدهایی که احتمالا تحت تاثیر دولت آمریکا هستند، کاری است که اپلیکیشن مطرح Silent Circle نیز انجام داده است.

در مهندسی معکوس این اپلیکیشن، ۳ نکته جالب دیده شد:

  1. این اپلیکیشین با بسته کاملی از متدهای رمزنگاری منتشر شده، شامل Twofish (که در بالا اشاره شد) و AES, Blowfish, DES, DESede, GOST28147, IDEA, ISAAC, Noekeon, RC2, RC4, RC532, RC564, RC6, Rijndael, SKIPJACK, Serpent, TEA, Twofish, CCM, EAX, GCM
    rl-encryption-algorithms
  2. تکیه زیادی بر BouncyCastles و CryptoSMS وجود دارد.
    rl-bouncycastle-encryption
  3. احتمالا به عنوان راهی برای قانونی به نظر رسیدن، از هدرهای صریحی در پیام‌های رمزنگاری شده استفاده می‌کنند (سازگار با اسرار المجاهدین).
    encryption-message-headers

 

امن المجاهد، نسخه همراه

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

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

“الگوریتم رمزنگاری را که در پایین صفحه نرم‌افزار واقع شده، انتخاب کنید (Twofish یا AES).”

و در راهنمای امن المجاهد نسخه همراه، یک سرنخ برای نوع رمزنگاری در تصویر زیر قابل مشاهد است. اشاره به کلید RSA و نه روشی خودساخته. همچنین به همخوانی کلیدها و عملکرد در نسخه همراه و دسکتاپ اشاره شده است.

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

aam-mobile-encryption

اسرار الغربا

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

ارزیابی

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

آلودگی به بدافزار

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

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

mujahideen-secrets-timeline

با مقایسه RSS سایت GIMF (جبهه رسانه اسلامی جهانی) می‌بینیم که دقایقی پس از انتشار اسرار الدردشه، نسخه جدید اسرار المجاهدین نیز منتشر شده که می‌تونه نشونه‌ای باشه از اشتراک منابع، متدها و حتی کدهای این دو.

gimf-rss-feed-example

یکی از نکات جالب، تاریخچه ارسال فایل Asrar_2.exe به ویروس توتال در فاصله سال‌های ۲۰۱۲ تا ۲۰۱۴ است. در نمودار زیر می‌بینید که چگونه شناسایی این فایل به عنوان بدافزار از سال ۲۰۱۳ به بعد کاهش داشته.

rl-malware-timeline

شناسایی این فایل به عنوان بدافزار از سال ۲۰۱۲ افزایش داشته و در سال ۲۰۱۳ به اوج رسیده که در این زمان ۵۰ درصد آنتی‌ویروس ها اون رو بدافزار می‌دونستن. اما از اون زمان به تدریج از لیست بدافزارها خارج شده تا الان که فقط ۷ آنتی‌ویروس هنوز اون رو بدافزار می‌دونن.

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

  • افزایش ناگهانی استفاده از این نرم‌افزار که منجر شد دفعات زیادی این نرم‌افزار برای بررسی به آنتی‌ویروس‌ها ارسال بشه و با توجه به اینکه فایل جدید و ناشناخته‌ای بود، زنگ خطر رو به صدا درآورد. پس از مدتی آنتی‌ویروس‌ها فهمیدن که بدافزار نیست و از لیست سیاه حذفش کردند. توضیحات استفاده از اسرار المجاهدین برای اولین بار سال ۲۰۱۰ در مجله Inspire منتشر شد.
    inspire-asrar-instructions
  • سازمانی از چند آنتی‌ویروس خواسته تا اسرارالمجاهدین رو به عنوان بدافزار شناسایی کنند تا اعضای القاعده علاقه چندانی به استفاده از اون نداشته باشند. ممکنه که حتی یک آنتی‌ویروس این کار رو کرده باشه چرا که معمولا آنتی‌ویروس‌ها نتایج بررسی همدیگه رو کپی می‌کنن. تئوری توطئه خوبی به نظر می‌رسه اما بعیده که یک دولت برای یک مدت کوتاه این همه شرکت از آمریکا، چین و روسیه رو راضی به این کار کرده باشه.
  • یک فرد سعی کرده که روی نظر آنتی‌ویروس‌ها تاثیر بذاره و یک موفقیت موقت داشته. تصویر زیر نمونه‌ای از کامنت‌ها در سایت ویروس توتاله.
    virustotal-discussion-example
  • از اونجا که آنتی‌ویروس‌ها به صورت گله‌ای عمل می‌کنن، یک تشخیص شانسی از یک آنتی‌ویروس می‌ونه منجر به یک موج بشه و تا زمانی که فایل واقعا بررسی و اعلام نظر بشه، باقی بمونه.
  • ممکنه که واقعا یک بدافزار در اسرار المجاهدین وجود داشته باشه یا قبلا بوده و باعث این اخطار شده باشه.

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

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

منابع:

https://www.recordedfuture.com/al-qaeda-encryption-technology-part-2/

https://www.recordedfuture.com/al-qaeda-encryption-technology-part-1/

http://www.memri.org/report/en/0/0/0/0/0/0/7950.htm

Standard