جی اس ام دولوپرز
3.79K subscribers
1.12K photos
47 videos
36 files
1.25K links
جامعه مجازی موبایل و توسعه موبایل به زبان پارسی
جی اس ام دولوپرز از توسعه دهندگان و متخصصان موبایل ، برای توسعه دهندگان و تعمیرکاران دنیای موبایل ایجاد شده است.
🔗 forum.gsm-developers.com
🔗 gsm-developers.com
Download Telegram
من شما رو به یک گروه ویژه تحت مدیریت خودمون دعوت میکنم

https://t.me/gsmdev

جوین بشید و هر روز با مطالعه گفت و گو ها اطلاعاتتون رو بالا ببرید
👍6❤1🤩1
جی اس ام دولوپرز pinned «من شما رو به یک گروه ویژه تحت مدیریت خودمون دعوت میکنم https://t.me/gsmdev جوین بشید و هر روز با مطالعه گفت و گو ها اطلاعاتتون رو بالا ببرید»
هر آنچه در ذهن دارید در انجمن بپرسید و دانش من و اساتید جی اس ام دولوپرز را به چالش بکشید😎
https://forum.gsm-developers.com
👍3
اهمیت نصب درایور ها
کامنت یادتون نره
https://www.instagram.com/p/Chfr3fADvev/
👍16
من شما رو به یک گروه ویژه تحت مدیریت خودمون دعوت میکنم

https://t.me/gsmdev

جوین بشید و هر روز با مطالعه گفت و گو ها اطلاعاتتون رو بالا ببرید
👍3
جی اس ام دولوپرز
https://medium.com/@ralireza/hacking-iranian-banking-apps-part-1-96168ff09d42
شاید شنیده باشید که چند ماه پیش سارقان برای سرقت از صندوق های سپرده بانکی در ایران دیوار را بریدند. صبر کن چی آیا ما در یک فیلم زندگی می کنیم!؟ من می خواهم بدانم آیا رابطه ای بین امنیت فیزیکی و امنیت سایبری وجود دارد یا خیر. چون اطلاعات بیشتری در مورد امنیت اندروید دارم، اپلیکیشن اندروید بانکداری ایران را انتخاب می کنم تا بدانم.

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

در قسمت اول قصد داریم 10 فاکتور امنیتی اساسی در 18 اپلیکیشن بانکی ایرانی را بررسی کنیم تا ببینیم دیوارهای آنها چقدر استحکام دارد اما (Spoiler Alert) عبور از این دیوارها و دور زدن دوربین های امنیتی و نگهبانان و تعقیب و گریز را خواهیم دید.

پلیس در قسمت های بعدی

پس از خواندن این پست، ما:
درک کنید که بانک ها چقدر به امنیت خود اهمیت می دهند.
چیزهایی در مورد امنیت اندروید بیاموزید

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

امنیت از 10
اگر هر بانکی مکانیزم امنیتی خاصی داشته باشد، امتیاز مثبت دریافت می کند.


چون مکانیزم های امنیتی وزن یکسانی ندارند مثلا نمی توان گفت که امنیت بانک ملی برابر با سینا است و اینجاست که 7 برابر با 7 نیست!

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


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

تصویر بزرگ
در اینجا مشخص می شود که وقتی می گوییم مثلاً بانک ملی در مرحله قبل نمره 7 را گرفته است یعنی چه. اگر اعداد ردیف بانک ملی را با هم جمع کنیم، نمره نهایی (7) به دست می آید.

"0" به این معنی است که مکانیسم خاصی را ندارد و "1" به این معنی است که دارد:


1 یعنی بله
0 به معنای خیر است
ممکن است بپرسید چرا این ویژگی ها را به جای یک ویژگی خاص بررسی کردید و چرا 10 مورد از آنها را بررسی کردید؟

پس از کمی فکر، پاسخ قاطع "نمی دانم" را خواهم داد! هیچ پشتوانه علمی برای اثبات این موضوع وجود ندارد که این 10 مورد، دیوارهای امنیتی اولیه برنامه های اندروید هستند، اما بر اساس کمی تجربه، احتمالاً اشتباه نمی کنم.

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

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

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

1- تشخیص شبیه ساز
1 به این معنی است که برنامه متوجه شده است که در محیط شبیه ساز اجرا شده است و از اجرای برنامه خودداری کرده است.
0 به این معنی است که برنامه چیزی متوجه نشده و اهمیتی نمی دهد که در کجا اجرا شده است.
0.5 یعنی شبیه ساز رو میفهمه و به کاربر اخطار میده ولی به من گفت اگه برنامه رو اجرا کنی تمام خطرات امنیتی به عهده خودت کاربر عزیز هست.

2- Root Detection
1 به این معنی است که برنامه متوجه شده است که دستگاه روت شده است و از اجرای برنامه خودداری کرده است.
0 به این معنی است که برنامه چیزی متوجه نشده و اهمیتی نمی دهد که در کجا اجرا شده است.
0.5 یعنی دستگاه روت رو میفهمه و به کاربر اخطار داد ولی به من گفت که اگه برنامه رو اجرا کنی تمام خطرات امنیتی به عهده شما کاربر عزیز هست.

3- Magisk Denylist
با ساخت Zygisk که یکی از افزونه های Magisk است و در اینجا می توانید نحوه نصب آن را روی دستگاه روت شده خود مشاهده کنید و انتخاب کنید که کدام اپلیکیشن ها روت بودن گوشی شما را تشخیص ندهند.

هیچ یک از اپلیکیشن ها متوجه این مشکل نشدند و نمره صفر گرفتند. البته همانطور که گفتم من اصلا ندیدم چطور این را بفهمم، اگر اطلاعاتی در این زمینه دارید با من در میان بگذارید.
👍11
جی اس ام دولوپرز
https://medium.com/@ralireza/hacking-iranian-banking-apps-part-1-96168ff09d42
4- تشخیص فریدا
فریدا یکی از قدرتمندترین ابزارهایی است که من می شناسم. برای تجزیه و تحلیل پویا (برخلاف تجزیه و تحلیل استاتیک که تجزیه و تحلیل و مهندسی معکوس کدهای برنامه در حالتی است که ما هنوز نصب نکرده ایم) استفاده می شود، یعنی زمانی که برنامه در حال اجرا است، عملکردها را تغییر می دهد و متغیرها برای انجام عمل مورد نظر مهاجم. اکنون، از آنجایی که این ابزار محبوب برای اجرا به یک دستگاه روت شده نیاز دارد، اکثر برنامه ها فقط به دستگاه های روت شده اهمیت می دهند. اما در یک سناریوی خاص، فریدا می تواند بر روی یک دستگاه غیر روت اجرا شود.


5- SSL-Pin
تبریک میگم همه برنامه ها دارای SSL-Pin هستند.


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


7- بسته بندی
یک بسته‌کننده تمام کدهای برنامه را رمزگذاری می‌کند و در زمان اجرا آن‌ها را رمزگشایی و اجرا می‌کند. وقتی برنامه را در حالت استاتیک و مهندسی معکوس باز می کنید، چیز خاصی دستگیر نمی شود، هدف آن غیرفعال کردن تجزیه و تحلیل استاتیک است. این ارائه، "باز کردن بسته بندی بسته بندی - کلاه سیاه 2018" توضیحاتی در مورد بسته بندی ها ارائه می دهد.
👍10
8- رمزگذاری
در اینجا، منظور من رمزگذاری فضای ذخیره سازی محلی نیست. من فقط رمزگذاری بین برنامه و سرور را فاش می کنم و فقط از طریق تماس API ورود به بانک. من با بقیه ترافیک کاری نداشتم چون در همه آنها اکانتی ندارم که بتوانم اصلاً تست کنم. اگر در این ارتباط از رمزگذاری استفاده کرده اند باید از آنها تمجید کرد زیرا تجزیه و تحلیل ترافیک را یک مرحله دشوارتر می کنند.


9- ابهام
مورد دیگری که تجزیه و تحلیل استاتیک را برای مهاجم دشوارتر می کند معرفی شده است.


10- کد بومی
معمولاً کدهای موجود در اپلیکیشن‌های اندروید جاوا/کوتلین هستند و با توجه به ویژگی‌های این زبان‌ها، معکوس کردن و تبدیل آن‌ها به کد نسبتاً مشابه کد خاصی که توسط برنامه‌نویس نوشته شده است، دشوار نخواهد بود. اما گاهی اوقات برای عملکرد بیشتر یا امنیت بیشتر از c/c++ استفاده می کنند، بنابراین تحلیل و مهندسی معکوس این کدها به سادگی کدهای جاوا نخواهد بود. حال فرض کنید که آنها یکی از مکانیسم های امنیتی را با استفاده از کدهای بومی (مثلاً SSL-pin) پیاده سازی کرده باشند، اکنون مهاجم باید کارهای بسیار بیشتری برای دور زدن آن مکانیسم امنیتی انجام دهد.

در اینجا، برای اینکه زیاد وارد حریم خصوصی اپلیکیشن ها نشویم، به دیدن پوشه lib رای مثبت دادم، اما نکته دقیق تر این است که ببینیم آیا مکانیزم امنیتی به صورت بومی نوشته شده است یا خیر.

بنابراین ممکن است در این تست، false/positive بیش از حد باشد.


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

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

اگر به امنیت اندروید علاقه دارید، این مخزن را برای نقشه راه، اسناد و نوشته‌ها بررسی کنید:

https://github.com/Ralireza/Android-Security-Teryaagh
👍5
من شما رو به یک گروه ویژه تحت مدیریت خودمون دعوت میکنم

https://t.me/gsmdev

جوین بشید و هر روز با مطالعه گفت و گو ها اطلاعاتتون رو بالا ببرید
تمام آموزش ها و فایل های مجموعه جی اس ام دولوپرز رایگان شدند.
https://www.gsm-developers.com/

هر چه میخواهید را رایگان داشته باشید.
❤2
مجموعه جی اس ام دولوپرز انجام پروژه های :
💠 برنامه نویسی تحت ویندوز در قالب زبان های مختلف (python , qt , c#,vb)
💠 برنامه نویسی اندروید
💠 چالش های مهندسی معکوس نرم افزار و حل معادلات

را میپذیرد.

در صورت نیاز به آیدی من پیام بدید
@gsm_developers
تحلیل تغییرات اعمال شده اخیر در حالت بوت رام brom service در پردازنده های مدیاتک
نکته : برخی از فیلدهای این مقاله تحلیل است و ممکن است اشتباه باشد ، من در جریان سیاست های شرکت سازنده نیستم 😊
لطفا در صورتی که میخواهید کپی کنید منبع را ذکر کنید
https://t.me/gsmdevelopers/4691

همانطوری که در جریان هستید ، اخیرا شرکت vivo مجددا یک ویژگی جدیدتر برای حفاظت از حالت brom service در بروزرسانی اخیر تعریف کرده ، و
به دنبال آن شرکت سامسونگ.

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


پروتکل :
هر پردازنده در حالت اضطراری دارای پروتکل خاصی است، به عنوان مثال دستورات مرتبط با brom service mediatek با edl mode qualcomm یکی نیست برای همین هر کدوم دارای ابزار جداگانه برای ارتباط هستند.

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

چه دلایلی برای حفاظت از حالت اضطراری دستگاه وجود دارد؟
جواب ساده است : امنیت داده های شخصی کاربر
این حالت صرفا برای erase کردن سکتورها و پارتیشن های مرتبط با frp طراحی نشده است ، بحث خواندن و نوشتن مطرح است و میشود کارهای فراوانی را توسط این حالت انجام داد.

اتورایز:
هر کدوم از پلتفرم های cpu میتوانند بنا به درخواست مشتریانشون (شرکت سفارش دهنده پردازنده)دارای احراز هویت داشته باشند (auth)
برای همین با وجود مشترک بودن نوع پردازنده ، روشی که برای اتورایز برندی مثل شیائومی(مثال) وجود دارد با سایر برندها یک سان نیست.

اکسپلویت:
هر کدوم از روش احراز هویت میتواند دارای backdoor (در پشتی عمدی) و یا باگ باشد، مهندسان معکوس و تحلیل گران داده با مطالعه و تحلیل این حالت در شرایطی که امکان باشد اکسپلویت طراحی میکنند (مانند اتورایز پچر پردازنده های مدیاتک)


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

مطمئنا سود بیشتر از امنیت یک بخش غیر ضرور برای شرکت مهم است ، آنها میخواهند دستگاهشان در بازارهایی مثل خاورمیانه که مراکز رسمی کافی برای تعمیرات دستگاهشان وجود ندارد فروخته شود.
پس ممکن است آنها نخواهند که مشتریانشان بعد از مواجه شدن با مشکلی دچار دردسر شوند، زیرا این مسئله مستقیما به میزان فروش آنها تاثیر خواهد داشت.
به زبانی ساده گزینه مناسب میتواند این باشد که اجازه دهند مشکلات خاص در مراکز غیر رسمی(و یا حتی توسط کاربر دستگاه) تعمیر شود.
👍15🔥6😱1
جی اس ام دولوپرز pinned «تحلیل تغییرات اعمال شده اخیر در حالت بوت رام brom service در پردازنده های مدیاتک نکته : برخی از فیلدهای این مقاله تحلیل است و ممکن است اشتباه باشد ، من در جریان سیاست های شرکت سازنده نیستم 😊 لطفا در صورتی که میخواهید کپی کنید منبع را ذکر کنید https://t.me…»
17826.pdf
2.5 MB
تجزیه و تحلیل کمپین اخیر انجام شده توسط گروه APT42

APT35
گربه جذاب
ITG18
Yellow Garuda
فسفر
TA453

شهروندان ایرانی را هدف قرار می دهد.
👍1
صرفا جهت اطلاع
به دلیل تغییر مالکیت نرم افزار جی اس دی از این پس کانال رسمی جی اس دی ادرس زیر میباشد

https://t.me/gsdpro
👍4