۳- برای ارتقاء امنیت اندروید از Intent ها برای IPC به کار گیری نمایید
اپ نویسانی که جدیدا استارت به تشکیل داد قابل انعطاف افزارهای اندرویدی کرده اند معمولا تلاش می نمایند از sockets ، named pipes یا این که shared files استعمال نمایند تا بتوانند همزمان با نرم افزار های دیگر نصب گردیده در دستگاه اندرویدی رابطه برقرار نمایند. این رویکردها خیر فقط مشقت بار میباشد، بلکه از دید امنیتی مستعد ارعاب میباشند. اما یک شیوه سهل و آسان خیس و ایمن خیس برای رابطه باطن پردازشی در سیستم استدلال Android ، به کار گیری از intent طراحی اپلیکیشن در مشهد ها میباشد.
برای ارسال داده به یک کامپوننت خاص در نرم افزار، بایستی یک مثال تازه از کلاس Intent ساخت و ساز فرمائید و از طریق () setComponent آن به کارگیری نمایید تا هم اسم پکیج نیم و هم اسم کامپوننت نرم افزار معین خواهد شد. آن گاه میتوانید اطلاعات را با به کار گیری از طریق ()putExtra اضافه نمایید.
از جمله، در اینجا میبینید که چطوری حرفه Hello World به Activity ای به اسم MyActivity ارسال می گردد، که وابسته به پکیج نیم بی نقص یک نرم افزار بنام my.other.app میباشد:
// Create an intent
Intent intent =new Intent();
// Specify the component name
intent.setComponent(
new ComponentName(\"my.other.app\",\"my.other.app.MyActivity\")
);
// Add data
intent.putExtra(\"DATA\",\"Hello World!\");
// Send the intent to the activity
startActivity(intent);
برای ارسال اطلاعات یکباره به یکسری تا اپلیکیشن، شما میتوانید intent را به طور broadcast با طریق ()sendBroadcast ارسال فرمائید. هرچند به طور پیشفرض Broadcast قادر است بوسیله هر اپی خوانده گردد که به صورت مطلوب به طور BroadcastReceiver تنظیمات شدهاست.
در سود درحالتی که میخواهید داده ها حساس را به طور Broadcast ارسال نمائید، بایستی از یک تایید صلاحیت سفارشی به کار گیری فرمایید که protectionLevel روی آن signature شدهاست. با این فعالیت ، سیستم استدلال اندروید مطمئن میگردد که تنها اپلیکیشن هایی که با به کارگیری از کلید امضای شما امضا گردیده اند میتوانند broadcast را اخذ نمایند.
در اینجا یک قطعه کد وجود داراست که روش ارسال فن Hello World را تحت عنوان یک broadcast امن به شما علامت میدهد:
// Create an intent
Intent intent =new Intent();
// Add data
intent.putExtra(\"DATA\",\"Hello World\");
// Specify an action name for
// the receiver\'s intent-filter
intent.setAction(\"my.app.receive\");
// Send as a broadcast using a custom permission
sendBroadcast(intent,\"my.custom.permission\");
اعتنا داشته باشید که کد بالا تنها چنانچه کار می نماید که تایید صلاحیت سفارشی در فولدر های مانیفست اپلیکیشن های فرستنده و گیرنده اعلام و استعمال شود.
۴- برای امنیت سیستم برهان اندروید از HTTPS استعمال فرمائید
مجموع پیوندها دربین نرم افزار و سرورهای شما بایستی از روش اتصال HTTPS باشد، ترجیحاً از کلاس HttpsURLConnection به کارگیری فرمایید. در حالتی که فکرمیکنید به کار گیری از HTTP برای داده هایی که سری نیستند عالی میباشد، دشوار در اشتباهید.
بخش اعظمی از یوزرها اندروید هر روزه در خیلی از جای های همگانی به یکسری نقطه Wi-Fi فارغ از وارد کردن راز متصل میشوند. برخی از این نقاط ممکن میباشد مخرب باشند. یک کانون مخرب قادر است به راحتی محتوای ترافیک HTTP را تغییر و تحول دهد تا اپلیکیشن شما اخلاق و رفتار غیرمنتظره ای داشته باشد.
با به کار گیری از HTTPS، به شرطی که سرور با سند صادر گردیده بوسیله یک مرجع دارای اعتبار مدرک مانند DigiCert یا این که GlobalSign تنظیمات گردد، میتوانید مطمئن باشید که ترافیک کانال شما هم در قبال شنودها و هم در قبال حمله ها MITM یا این که man-in-the-middle امن ست.
توضیحات : هجوم ها MITM روشای از شنود فعال میباشد که حملهکننده، رابطه مستقلی را با قربانی، برقرار مینماید و پیامهای میان آنانرا بازپخش مینماید. به سیرتکاملای که آنان را معتقد مینماید که در یک رابطه بدون واسطه و محرمانه با یکدیگر، سخن مینمایند؛ در حالی که تمامی گفتگوهای آن ها بوسیله حملهکننده، در اختیار گرفتن می گردد. حملهکننده می بایست توان شنود همگی پیامهای پیامبر گردیده دربین دو قربانی و گذاشتن پیغام نو را داشته باشد که در بخش اعظمی از موقعیت صحیح فعالیت نمایند. منبع ویکی پدیا
در صورتیکه نرم افزار شما دارنده کد کانال ای متعددی میباشد و میترسید که ناخواسته برخی از اطلاعات را به طور متن بدیهی ارسال فرمایید، بایستی برای یافتن اینگونه اشتباهاتی از nogotofail که ابزاری منبع گشوده تشکیل شده به وسیله Google میباشد به کارگیری نمایید.
۵- برای بالا بردن امنیت اندروید از GCM به مکان SMS به کار گیری فرمائید
هنگامی که GCM که مخفف Google Cloud Messaging میباشد وجود نداشت، بخش اعظمی از بسط دهندگان از SMS برای جابجایی داده از سرورهای خویش به نرم افزار های خویش استعمال می کردند. امروزه این عمل تا حد متعددی از در بین رفته میباشد.
در شرایطی که شما برای مثال پیشرفت دهندگانی می باشید که هنوز از SMS به مکان GCM به کارگیری میکنید، بایستی بدانید که پروتکل SMS خیر رمزگذاری گردیدهاست و خیر در قبال تهاجم ها جعل (spoofing attack) ایمن میباشد.
توضیحات: حمله spoofing یا این که حمله جعل، شرایطى میباشد که در آن یک فرد یا این که نرم افزار خویش را تحت عنوان یک کدام از دیگرى معرفی کرده و یا این که با جعل دادهها چیره فراهم کردن مزیت نامشروع میشود.
ضمن این، هر اپلیکیشنی که در دستگاه مخاطب وجود داراست و دارنده جواز READ_SMS میباشد، میتواند SMS را بخواند.
GCM بسیار امن ترین شیوه ارسالی برای جابجایی پیام به یک اپلیکینشن میباشد چون مجموع پیوندها GCM رمزگذاری گردیده است. احراز نام و نشان آنها با به کارگیری از نشان های تصویب منظم جدید گردیده در سمت مشتری و یک کلید API اختصاصی در سمت سرور جاری ساختن میشود.