امنیت اندروید
اندروید دارنده خصوصیت های امنیتی داخلی است که سبب میشود دستگاه شما از ورود هر سیرتکامل
بد افزاری از روش نرم افزار های ویروسی ایمن باشد. خصوصیت های امنیتی تحت به شما امداد می نماید تا نرم افزار های ایمنی برای طراحی اپلیکیشن در مشهد اندروید بسازید :
Android Application Sandbox که دادههای اپلیکیشن و اجرای کد شمارا از دیگر نرمافزارها غیروابسته مینماید.
فناوری هایی مانند ASLR، NX، ProPolice، safe_iop، OpenBSD dlmalloc، OpenBSD calloc و
Linux mmap_min_addr در اندروید برای کاهش مخاطرات مربوط به خطاهای رایج مدیر خاطر میباشد.
مجوزهای اعطا گردیده به وسیله مخاطب برای محصور کردن دسترسی به خصوصیت های سیستم و داده های مخاطب.
مجوزهای تعریف و تمجید گردیده به وسیله نرمافزار برای در دست گرفتن داده های نرمافزار بر پایه ی هر اپ.
بسیار دارای اهمیت میباشد که مورد ها بالا و پروتکل های امنیتی اندروید که پیرو به معرفی آنان خوا هیم پرداخت آشنا باشید تا بتوانید از حداکثر قدرت امنیتی برای نرم افزار های تشکیلشده به کارگیری نمایید.
مهمترین قضیه امنیتی
مهمترین و همه گیرترین نگرانی امنیتی برای یک اپ در Android این میباشد که آیا
داده هایی که در دستگاه ذخیره میکنید برای بقیه نرمافزار ها قابل دسترسی میباشد یا این که نه.
سه منش مهم برای ذخیره اطلاعات در دستگاه وجود داراست :
خاطر داخلی (Internal storage)
یاد فرنگی (External storage)
Content providers
درپی مسائل امنیتی مربوط به هر رویه را تفصیل خواهیم اعطا کرد.
استعمال از یاد داخلی
به صورت پیشفرض، پوشههایی که در یاد داخلی ذخیره می گردند صرفا برای به عبارتی اپلیکیشن قابل دسترسی میباشند.
اندروید این پروتکل امنیتی را ضمانت می نماید.
البته به صورت کلی، از مودها MODE_WORLD_WRITEABLE یا این که MODE_WORLD_READABLE
برای پوشههای IPC پرهیز کنید، چون این موقعیتها بضاعت محدودیت دسترسی به دادههای نرم افزارهای خاص را آماده نمی کنند.
و همینطور هیچ سیرتکامل کنترلی بر فرمت اطلاعات ارائه نمیدهند.
در صورتیکه می خواهید دادههای خویش را با بقیه فرآیندهای نرم افزار به اشتراک بگذارید،
در ازای از یک Content providers استعمال فرمایید، که تایید صلاحیت تلاوت و تایپ کردن را به اپهای دیگر ارائه می دهد و می تواند مجوزهای پویا را به طور موردی اعطا نماید.
برای ساختوساز هواخواهی بیشتر برای داده های حساس، میتوانید فولدر های لوکال را با به کار گیری از کتابخانه Security رمزگذاری نمایید.
این واحد سنجش میتواند از یک دستگاه گم گردیده سوای رمزگذاری سیستم پوشه مراقبت نماید.
به کارگیری از یاد فرنگی
فولدرهای ساخت گردیده در یاد فرنگی، مانند SD کارت ها، در کلیه مناطق قابل قرائت و تایپ کردن می باشند.
ازآنجاکه خاطر فرنگی میتواند به وسیله مخاطب حذف خواهد شد و همینطور به وسیله هر طرحی اصلاح گردد،
بسیار سفارش می شود که داده ها حساس را با به کار گیری از خاطر فرنگی ذخیره نکنید.
برای تلاوت و تایپ کردن پوشه ها در یاد فرنگی به روشی امن خیس، از کتابخانه Security به کار گیری فرمائید که کلاس EncryptedFile را ارائه میدهد.
هنگام رئیس اطلاعات از خاطر فرنگی بایستی اعتبار سنجی ورودی را همانگونه که با داده های هر منبع نامعتبر اعمال می دهید اجرا دهید.
پیش از لود پویا نباید فولدر های اجرایی یا این که کلاس را در خاطر فرنگی ذخیره فرمائید.
در شرایطی که اپلیکیشن شما پوشههای اجرایی را از خاطر فرنگی بازیابی مینماید، پوشهها می بایست پیش از بارگیری پویا به وسیله گوگل امضا گردیده و از دید کد گذاری تأیید شوند.
استعمال از content providers
content providers مکانیزم ذخیره سازی ساختار یافته ای را ارائه میدهند که قادر است
به اپ فردی شما محصور خواهد شد یا این که برای دسترسی به بقیه نرم افزار ها صادر گردد.
در شرایطیکه قصد ندارید به اپلیکیشن های دیگر دسترسی به ContentProvider خویش ارائه دهید،
آنهارا تحت عنوان android:exported=false در مانیفست نرم افزار نشان بزنید.
در غیر این شکل، خصوصیت android:exported را روی true تهیه فرمایید تا به بقیه نرم افزارها اذن دسترسی به دادههای ذخیرهگردیده را بدهید.
هنگام ساخت یک ContentProvider که برای به کارگیری بوسیله بقیه اپلیکیشن ها صادر میگردد،
میتوانید یک جواز برای تلاوت و تایپ کردن معین فرمایید، یا این که میتوانید مجوزهای مجزایی را برای قرائت و تایپ کردن معین فرمایید.
درحالتی که از یک ContentProvider برای به اشتراک گذاری اطلاعات صرفا در بین اپلیکیشن های خویش به کارگیری میکنید،
ترجیحاً از خصوصیت android:protectionLevel برای حفظ از امضای اپ به کارگیری نمایید.
مجوزهای امضا گردیده نیازی به تأیید مخاطب ندارند، به این ترتیب تجربیات کاربری خوب و دسترسی در اختیار گرفتن گردیده تری
به دادههای ContentProvider هنگامی که اپلیکیشنهایی که به دادهها دسترسی داراهستند با به عبارتی کلید امضا میشوند، ارائه مینمایند.
ContentProvider همینطور می توانند با اعلام خصوصیت android:grantUriPermissions و استعمال از
FLAG_GRANT_READ_URI_PERMISSION و FLAG_GRANT_WRITE_URI_PERMISSION در شی Intent که مؤلفه را فعال مینماید،
دسترسی ظریفتری را مهیا نمایند. دامنه این مجوزها را می قدرت با عنصر محدودتر کرد.
امنیت اندروید
اندروید دارنده خصوصیت های امنیتی داخلی است که سبب میشود دستگاه شما از ورود هر سیرتکامل
بد افزاری از روش نرم افزار های ویروسی ایمن باشد. خصوصیت های امنیتی تحت به شما امداد می نماید تا نرم افزار های ایمنی برای طراحی اپلیکیشن در مشهد اندروید بسازید :
Android Application Sandbox که دادههای اپلیکیشن و اجرای کد شمارا از دیگر نرمافزارها غیروابسته مینماید.
فناوری هایی مانند ASLR، NX، ProPolice، safe_iop، OpenBSD dlmalloc، OpenBSD calloc و
Linux mmap_min_addr در اندروید برای کاهش مخاطرات مربوط به خطاهای رایج مدیر خاطر میباشد.
مجوزهای اعطا گردیده به وسیله مخاطب برای محصور کردن دسترسی به خصوصیت های سیستم و داده های مخاطب.
مجوزهای تعریف و تمجید گردیده به وسیله نرمافزار برای در دست گرفتن داده های نرمافزار بر پایه ی هر اپ.
بسیار دارای اهمیت میباشد که مورد ها بالا و پروتکل های امنیتی اندروید که پیرو به معرفی آنان خوا هیم پرداخت آشنا باشید تا بتوانید از حداکثر قدرت امنیتی برای نرم افزار های تشکیلشده به کارگیری نمایید.
مهمترین قضیه امنیتی
مهمترین و همه گیرترین نگرانی امنیتی برای یک اپ در Android این میباشد که آیا
داده هایی که در دستگاه ذخیره میکنید برای بقیه نرمافزار ها قابل دسترسی میباشد یا این که نه.
سه منش مهم برای ذخیره اطلاعات در دستگاه وجود داراست :
خاطر داخلی (Internal storage)
یاد فرنگی (External storage)
Content providers
درپی مسائل امنیتی مربوط به هر رویه را تفصیل خواهیم اعطا کرد.
استعمال از یاد داخلی
به صورت پیشفرض، پوشههایی که در یاد داخلی ذخیره می گردند صرفا برای به عبارتی اپلیکیشن قابل دسترسی میباشند.
اندروید این پروتکل امنیتی را ضمانت می نماید.
البته به صورت کلی، از مودها MODE_WORLD_WRITEABLE یا این که MODE_WORLD_READABLE
برای پوشههای IPC پرهیز کنید، چون این موقعیتها بضاعت محدودیت دسترسی به دادههای نرم افزارهای خاص را آماده نمی کنند.
و همینطور هیچ سیرتکامل کنترلی بر فرمت اطلاعات ارائه نمیدهند.
در صورتیکه می خواهید دادههای خویش را با بقیه فرآیندهای نرم افزار به اشتراک بگذارید،
در ازای از یک Content providers استعمال فرمایید، که تایید صلاحیت تلاوت و تایپ کردن را به اپهای دیگر ارائه می دهد و می تواند مجوزهای پویا را به طور موردی اعطا نماید.
برای ساختوساز هواخواهی بیشتر برای داده های حساس، میتوانید فولدر های لوکال را با به کار گیری از کتابخانه Security رمزگذاری نمایید.
این واحد سنجش میتواند از یک دستگاه گم گردیده سوای رمزگذاری سیستم پوشه مراقبت نماید.
به کارگیری از یاد فرنگی
فولدرهای ساخت گردیده در یاد فرنگی، مانند SD کارت ها، در کلیه مناطق قابل قرائت و تایپ کردن می باشند.
ازآنجاکه خاطر فرنگی میتواند به وسیله مخاطب حذف خواهد شد و همینطور به وسیله هر طرحی اصلاح گردد،
بسیار سفارش می شود که داده ها حساس را با به کار گیری از خاطر فرنگی ذخیره نکنید.
برای تلاوت و تایپ کردن پوشه ها در یاد فرنگی به روشی امن خیس، از کتابخانه Security به کار گیری فرمائید که کلاس EncryptedFile را ارائه میدهد.
هنگام رئیس اطلاعات از خاطر فرنگی بایستی اعتبار سنجی ورودی را همانگونه که با داده های هر منبع نامعتبر اعمال می دهید اجرا دهید.
پیش از لود پویا نباید فولدر های اجرایی یا این که کلاس را در خاطر فرنگی ذخیره فرمائید.
در شرایطی که اپلیکیشن شما پوشههای اجرایی را از خاطر فرنگی بازیابی مینماید، پوشهها می بایست پیش از بارگیری پویا به وسیله گوگل امضا گردیده و از دید کد گذاری تأیید شوند.
استعمال از content providers
content providers مکانیزم ذخیره سازی ساختار یافته ای را ارائه میدهند که قادر است
به اپ فردی شما محصور خواهد شد یا این که برای دسترسی به بقیه نرم افزار ها صادر گردد.
در شرایطیکه قصد ندارید به اپلیکیشن های دیگر دسترسی به ContentProvider خویش ارائه دهید،
آنهارا تحت عنوان android:exported=false در مانیفست نرم افزار نشان بزنید.
در غیر این شکل، خصوصیت android:exported را روی true تهیه فرمایید تا به بقیه نرم افزارها اذن دسترسی به دادههای ذخیرهگردیده را بدهید.
هنگام ساخت یک ContentProvider که برای به کارگیری بوسیله بقیه اپلیکیشن ها صادر میگردد،
میتوانید یک جواز برای تلاوت و تایپ کردن معین فرمایید، یا این که میتوانید مجوزهای مجزایی را برای قرائت و تایپ کردن معین فرمایید.
درحالتی که از یک ContentProvider برای به اشتراک گذاری اطلاعات صرفا در بین اپلیکیشن های خویش به کارگیری میکنید،
ترجیحاً از خصوصیت android:protectionLevel برای حفظ از امضای اپ به کارگیری نمایید.
مجوزهای امضا گردیده نیازی به تأیید مخاطب ندارند، به این ترتیب تجربیات کاربری خوب و دسترسی در اختیار گرفتن گردیده تری
به دادههای ContentProvider هنگامی که اپلیکیشنهایی که به دادهها دسترسی داراهستند با به عبارتی کلید امضا میشوند، ارائه مینمایند.
ContentProvider همینطور می توانند با اعلام خصوصیت android:grantUriPermissions و استعمال از
FLAG_GRANT_READ_URI_PERMISSION و FLAG_GRANT_WRITE_URI_PERMISSION در شی Intent که مؤلفه را فعال مینماید،
دسترسی ظریفتری را مهیا نمایند. دامنه این مجوزها را می قدرت با عنصر محدودتر کرد.

راهکارهای کاهش CPC در کمپینها