اپنے صارفین کی رازداری کی حفاظت کریں: ڈویلپرز کیلئے اینڈروئیڈ ایپ سیکیورٹی

مصنف: Peter Berry
تخلیق کی تاریخ: 20 Lang L: none (month-012) 2021
تازہ کاری کی تاریخ: 8 مئی 2024
Anonim
اپنے صارفین کی رازداری کی حفاظت کریں: ڈویلپرز کیلئے اینڈروئیڈ ایپ سیکیورٹی - ایپس
اپنے صارفین کی رازداری کی حفاظت کریں: ڈویلپرز کیلئے اینڈروئیڈ ایپ سیکیورٹی - ایپس

مواد


اگر آپ اپنے ناظرین کو پھانسی دینے جارہے ہیں اور ایک قابل اعتماد اینڈروئیڈ ڈویلپر کی حیثیت سے آپ کی ساکھ ، پھر آپ کو ڈویلپر کی حیثیت سے اینڈرائڈ ایپ سیکیورٹی کو سنجیدگی سے لینے کی ضرورت ہے۔

اگر آپ کی ایپ میں کبھی بھی نجی ڈیٹا لیک ہوجاتا ہے تو پھر آپ کو اپنے سامعین کا ایک بہت بڑا حصہ کھونے کا خطرہ لاحق رہتا ہے۔ آج کے ٹیک سیکھنے والے موبائل صارفین یہ سمجھتے ہیں کہ کسی غیر محفوظ ایپ سے اپنے آپ کو بچانے کا بہترین طریقہ یہ ہے کہ اسے اپنے آلے سے ہٹا دیں۔ میڈیا کے ذریعہ اعداد و شمار کی سنگین خلاف ورزیوں کی بھی تیزی سے اطلاع دی جارہی ہے ، لہذا موبائل سیکیورٹی کے سلسلے میں ڈھلکنے والے انداز کو اپنانے کے نتیجے میں کچھ خاصی بری تشہیر ہوسکتی ہے۔

داؤ پر لگا ہوا اونچی ہے ، اور ہر وقت نئی بدنیتی پر مبنی ایپس جاری ہونے کے ساتھ ہی ، ایک ایسا بڑھتا ہوا امکان موجود ہے کہ آپ کی ایپ میلویئر اور بدنیتی پر مبنی تیسری پارٹی کے کوڈ کے ساتھ کسی آلے کا اشتراک کر رہی ہو۔

موبائل سیکیورٹی کے سلسلے میں میلا رویہ اختیار کرنے کے نتیجے میں کچھ خاصی بری تشہیر ہوسکتی ہے۔

شکر ہے ، اینڈروئیڈ میں بہت ساری بلٹ ان سیکیورٹی خصوصیات موجود ہیں جو آپ کے صارفین کے ڈیٹا کو بند رکھنے میں مدد کرسکتی ہیں۔ اس مضمون میں ، ہم ان تمام نجی نوعیت کی خصوصیات کو ڈھونڈیں گے جو Android پلیٹ فارم میں پکی ہوئی ہیں ، نیز اضافی ٹولز ، تکنیک اور بہترین طریق کار جن کا استعمال آپ اپنے نجی اطلاق کے اعداد و شمار کو نجی بنائے رکھنے کو یقینی بنانے میں کر سکتے ہیں۔


اپنی انحصار کو تازہ ترین رکھیں

جدید موبائل ایپس کے ل multiple متعدد لائبریریوں ، SDKs اور بہت ساری متفرق انحصار کا استعمال کرنا کوئی معمولی بات نہیں ہے۔ انحصار کی نئی ریلیز میں اکثر بگ فکس ، پیچ اور دیگر حفاظتی خصوصیات شامل ہوتی ہیں ، لہذا آپ کو یہ یقینی بنانا ہوگا کہ آپ اپنی ایپ تیار کرتے وقت بالکل جدید ورژن استعمال کررہے ہیں۔

اپنی ایپ کو متعین کرنے سے پہلے ، ایک حتمی چیک کرنا بھی ایک اچھا خیال ہے ، صرف اس بات کو یقینی بنانا کہ کوئی تازہ کاری دستیاب نہیں ہے۔

اگر آپ کی ایپ گوگل پلے سروسز کا استعمال کرتی ہے تو پھر آپ یہ چیک کرسکتے ہیں کہ آیا صارف کے آلے میں بالکل جدید ورژن انسٹال ہے ، یا پھر اگر ضروری ہو تو اپ ڈیٹ ٹرگر کرسکتے ہیں۔

اس بات کی جانچ کرنے کے لئے کہ آیا آلے ​​کی گوگل پلے سروسز جدید ہیں ، پرووائیڈر انسٹالر کلاس کو ’انسٹال آئف نیڈ () طریقہ پر کال کریں۔ اگر کوئی تازہ کاری دستیاب ہے تو ، پھر یہ طریقہ اختیار کی رعایت پھینک دے گا ، اور صارف کو Google Play Services کو اپنے آلے پر اپ ڈیٹ کرنے کا اشارہ کیا جائے گا۔


اپنی اجازت کی درخواستوں کو محدود کریں

اگر آپ کی ایپ کو کسی اجازت تک رسائی حاصل نہیں ہے تو پھر اس اجازت سے وابستہ کسی بھی حساس ڈیٹا یا فعالیت کو غلط انداز میں لانے کا امکان نہیں ہے۔ حساس اجازت تک رسائی پر پابندی لگانے سے آپ کی ایپ ہیکرز کے ل a کم پرکشش ہدف بھی بن سکتی ہے ، لہذا یہ ضروری ہے کہ زیادہ سے زیادہ اجازت کی درخواست کی جائے۔

بنانے سے پہلے کوئی اجازت کی درخواستوں پر ، آپ کو اس بات پر غور کرنا چاہئے کہ آیا اس اجازت تک رسائی حاصل کیے بغیر اسی نتیجہ کو حاصل کرنے کا کوئی طریقہ موجود ہے۔ مثال کے طور پر ، اگر آپ کو کچھ اعداد و شمار کو بچانے کی ضرورت ہے تو آپ خارجی اعداد و شمار کو بچانے کی کوشش کرنے کے بجائے ، کسی اجازت کی درخواست کیے بغیر مقامی اسٹوریج تک رسائی حاصل کرسکتے ہیں ، جس کے لئے WRITE_EXTERNAL_STORAGE اجازت درکار ہے۔

متبادل کے طور پر ، آپ کسی ایپلیکیشن میں کسی ٹاسک کو منتقل کرنے کے ارادے کا استعمال کرسکتے ہیں جس کے پاس پہلے سے ہی ضروری اجازت (اجازت) ہو۔ مثال کے طور پر ، READ_CONTACTS اور WRITE_CONTACTS اجازت کی درخواست کرنے کے بجائے ، آپ رابطوں کی درخواست میں کوئی کام تفویض کرسکتے ہیں:

ارادے سے رابطہ آئی اینٹینٹ = نیا نیت (ارادہ۔ اکشن عنصرن)؛ contactIntent.setType (رابطے سے رابطہ کریں۔ رابطے۔ CONTENT_TYPE)؛ اگر (contactIntent.resolveActivity (getPackageManager ())! = null) {startActivity (contactIntent)؛ }

آپ کو کسی بھی اجازت سے انکار کرنا چاہئے جس کی آپ کے ایپ کو مزید ضرورت نہیں ہے ، جس سے حساس ڈیٹا اور ان خصوصیات کی مقدار میں نمایاں کمی واقع ہوسکتی ہے جن پر آپ کے ایپ کو کسی بھی وقت رسائی حاصل ہے۔

اپنے صارفین کو فیصلہ کرنے دیں: ایپ کے انتخاب کنندہ کو ظاہر کرنا

پہیے کو دوبارہ بنانے میں کیوں وقت اور توانائی ضائع کرتے ہیں؟ باضابطہ ارادے کی مدد سے آپ کو تیسری پارٹی کے ایپلی کیشنز کے ساتھ تعاون میں اپنے فرائض انجام دینے کی اجازت ملتی ہے ، اور آپ کو اپنے کوائف کی مطلوبہ تمام تر فعالیت کی فراہمی کے ل code کوڈ کی مقدار کو کم کرنا پڑتا ہے۔ کسی دوسرے ایپلی کیشن میں کسی ٹاسک کو پاس کرنے سے ، آپ اپنی ایپ کی مطلوبہ اجازت کی تعداد کو کم کرنے کے قابل بھی ہوسکتے ہیں۔

باضابطہ ارادے آپ کو ایک ٹن وقت کی بچت کرسکتے ہیں ، لیکن وہ آپ کو بھی دیتے ہیں صفر اس پر قابو رکھیں کہ کون سی درخواست آپ کی درخواست کا جواب دے گی۔ اگر کوئی غیر محفوظ یا بدنیتی پر مبنی تیسری پارٹی ایپ آپ کے واضح ارادے کا جواب دیتی ہے تو پھر ایسا امکان موجود ہے کہ آپ نادانستہ طور پر صارف کے ذاتی ڈیٹا کو کسی تیسرے فریق کے سامنے بے نقاب کرسکیں گے۔اگر کسی تیسری پارٹی کی درخواست کے نتیجے میں صارف کی رازداری کی خلاف ورزی ہوتی ہے تو ، آپ کے ایپ کو ایسوسی ایشن کے ذریعہ قصوروار دیکھا جاسکتا ہے۔

جب کوئی منشا ارادہ جاری کرتے ہو تو ، آپ کو جہاں کہیں بھی ممکن ہو Android کے ایپ کا انتخاب کنندہ ڈسپلے کرنا چاہئے۔

صارف کو ان تمام ایپلیکیشنز کی فہرست کے ساتھ پیش کرکے جو اس ارادے کا جواب دے سکتے ہیں ، آپ انہیں موقع فراہم کر رہے ہیں کہ وہ ایسی درخواست منتخب کریں جس پر انہیں ذاتی طور پر اعتماد ہے۔ اگرچہ اس کی کوئی گارنٹی نہیں ہے کہ ہر صارف دانشمندی کے ساتھ انتخاب کرے گا ، اس سے آپ کو ناقابل اعتماد ایپ کے ذریعہ ڈیٹا شیئر کرنے کے امکانات کم ہوسکتے ہیں۔

ارادہ جاری کرتے وقت ، آپ کو یہ چیک کرنا چاہئے کہ آیا صارف کے پاس متعدد ایپلی کیشنز ہیں جو اس ارادے کو سنبھال سکتی ہیں۔ یہ فرض کرتے ہوئے کہ متعدد مطابقت پذیر ایپس دستیاب ہیں ، اس کے بعد آپ ایپ چوائس کو کریٹ Chooser () کو کال کرکے اور اسے اسٹارٹ ایکٹیویٹی () میں منتقل کرکے ڈسپلے کرسکتے ہیں۔

نیت myIntent = نئی نیت (Intent.ACTION_SEND)؛ فہرست مماثل سرگرمی کی فہرست = استفسارات سرگرمی (ارادہ ، پیکیج مینج ۔میٹیچ_الیل)؛ // یہ چیک کریں کہ آیا ایک سے زیادہ ایپ اس ارادے کو سنبھال سکتی ہیں // اگر (امکانA سرگرمی کی فہرست: سائز ()> 1) {// ایپ کے انتخاب کنندہ کو ڈسپلے کریں // سٹرنگ ٹائٹل = getRes ذرائع (). getString (R.string.app_chooser_title)؛ ارادے کا انتخاب کنندہ = Intent.createChooser (نیت ، عنوان)؛ شروع سرگرمی (انتخاب کنندہ)؛ } ورنہ اگر (intent.resolveActivity (getPackageManager ())! = null) {startActivity (ارادے)؛ }

نوٹ کریں کہ آپ کو خدمت شروع کرنے کے لlicit کبھی بھی مضمقی ارادے کا استعمال نہیں کرنا چاہئے ، کیوں کہ آپ کے پاس اس پر کوئی قابو نہیں ہوگا کہ کون سا خدمت آپ کے متعین ارادے کا جواب دیتی ہے۔

بیرونی اسٹوریج سے پرہیز کریں

آپ کو یہ یقینی بنانا ہوگا کہ صارف کے آلے پر جو بھی ڈیٹا آپ اسٹور کرتے ہیں وہ دوسرے ایپلیکیشنز تک قابل رسائی نہیں ہوتا ہے - جب تک کہ آپ ان ایپس کو واضح منظوری نہ دیں۔

بیرونی اسٹوریج میں محفوظ کردہ فائلیں عالمی سطح پر پڑھنے کے قابل اور قابل تحریر ہیں ، لہذا آپ کے بیرونی اسٹوریج میں محفوظ کردہ کسی بھی ڈیٹا کو کسی بھی دوسری ایپلی کیشن کے ذریعہ ممکنہ طور پر رسائی اور اس میں ترمیم کی جاسکتی ہے۔ اس بات کی بھی کوئی گارنٹی نہیں ہے کہ بیرونی اسٹوریج میڈیم موجودہ اسمارٹ فون یا ٹیبلٹ سے منسلک رہے گا۔ اگر آپ کا ایپ بیرونی اسٹوریج پر لکھتا ہے تو آپ ممکنہ طور پر حساس صارف ڈیٹا کو کسی SD کارڈ میں محفوظ کر سکتے ہیں جسے بعد میں حذف کرکے کسی اور کے آلے میں داخل کردیا جائے گا!

جب تک آپ کے پاس اس کی کوئی خاص وجہ نہ ہو ، آپ کو ہمیشہ داخلہ اسٹوریج میں ڈیٹا محفوظ کرنا چاہئے ، جہاں یہ سینڈ باکسڈ ہے اور صرف آپ کے ایپ تک پہلے سے طے شدہ طور پر قابل رسا ہوگا۔ اس کے علاوہ ، اگر کوئی صارف آپ کی ایپلیکیشن ان انسٹال کردیتا ہے ، تو آپ کی ایپ کی تمام فائلیں داخلی اسٹوریج سے خود بخود حذف ہوجائیں گی ، لہذا آپ کو کسی بھی حساس معلومات کو پیچھے چھوڑنے کی فکر کرنے کی ضرورت نہیں ہے۔

مندرجہ ذیل ٹکڑوں میں ، ہم داخلی اسٹوریج پر ڈیٹا لکھ رہے ہیں:

حتمی سٹرنگ FILE_NAME = "user_data.txt"؛ سٹرنگ فائلکونٹینٹس = "اس ٹیکسٹ فائل میں حساس صارف کا ڈیٹا شامل ہے"؛ کوشش کریں (بفرڈ رائٹر مصنف = نیا بفرڈ رائٹر (نئی فائل رائٹر (نئی فائل (getFilesDir ()، FILE_NAME))))) {Writer.writ (fileContents)؛ } کیچ (IOException e) {// کرنا: استثنا کو سنبھالنا //}

اگر اعداد و شمار خاص طور پر حساس ہیں ، تو آپ فائلوں کو کسی ایسی کلید کے ساتھ خفیہ کرکے کچھ اضافی اینڈروئیڈ ایپ سیکیورٹی فراہم کرسکتے ہیں جو آپ کے ایپ تک قابل رسائی نہیں ہے ، مثال کے طور پر ایک کلید جو کلیدی اسٹور میں رکھی ہوئی ہے اور پاس ورڈ کے ذریعہ محفوظ ہے جس پر محفوظ نہیں ہے ڈیوائس۔

Android کی نئی اسکوپڈ ڈائریکٹری تک رسائی استعمال کریں

کبھی کبھی ، کسی ایپ کو کسی آلے کے بیرونی اسٹوریج کے اندر مخصوص ڈائریکٹریوں تک رسائی کی ضرورت ہوتی ہے ، مثال کے طور پر ڈیوائس کی بیرونی تصویروں کی ڈائرکٹری تک رسائی حاصل کرنا۔

اگر آپ READ_EXTERNAL_STORAGE اجازت کی درخواست کرسکتے ہیں تو ، یہ آپ کے ایپ کو اکثر ضرورت سے زیادہ ڈیٹا تک رسائی فراہم کرے گا۔ کسی ایپ کے لئے اعداد و شمار کو غلط انداز میں بیچنا ناممکن ہے جس تک اس تک رسائی حاصل نہیں ہے ، لہذا آپ کو جہاں بھی ممکن ہو آپ کے اطلاق تک جس معلومات تک رسائی حاصل ہوسکتی ہے اسے کم سے کم کرنے کی کوشش کرنی چاہئے۔

READ_EXTERNAL_STORAGE اجازت کی درخواست کرنے کے بجائے ، آپ کسی مخصوص ڈائریکٹری تک رسائی کی درخواست کرسکتے ہیں۔ یہ اسکوپڈ ڈائرکٹری تک رسائی آپ کو اسٹوریج مینجر کلاس استعمال کرنے کی ضرورت ہے اور اس کے بعد اس واقعہ کے اسٹوریج وولوم ڈاٹ کریٹ ایکسیسینٹ () طریقہ کو کال کرکے ایک نیت تیار کی جائے۔ مثال کے طور پر ، ذیل کے ٹکڑوں میں ہم بیرونی تصویروں کی ڈائرکٹری تک رسائی حاصل کر رہے ہیں۔

اسٹوریج مینجر نیا اسٹوریج مینیجر = (اسٹوریج مینیجر) گیٹ سسٹم سروس (سیاق و سباق) اسٹوریج وولیم کا حجم = newStorageManager.getPrimaryStorageVolume ()؛ ارادے کا ارادہ = volume.createAccessIntent (ماحولیات۔ IDRECTORY_PICTURES)؛ startActivityForResult (ارادے ، درخواست_کوڈ)؛

اگر صارف آپ کی ایپ کو اس بیرونی ڈائرکٹری تک رسائی فراہم کرتا ہے تو ، Android آپ کے onctivityResult () کو RESULT_OK کے رزلٹ کوڈ کے ساتھ اوور رائیڈ کے ساتھ ساتھ مطلوبہ ڈائریکٹری کے لئے URI پر مشتمل ایک ارادہ بھی کال کرے گا۔

حساس صارف کے ڈیٹا کو کبھی بھی کیش نہ کریں

غیر حساس ایپلی کیشن ڈیٹا کو سنبھالتے وقت ، آپ اس ڈیٹا کو آلے کے کیشے میں محفوظ کرکے صارف کے تجربے کو بہتر بناسکتے ہیں۔

1 ایم بی سے بڑی کیچوں کے ل you ، آپ getExternCacheDir () استعمال کرسکتے ہیں ، جو اطلاق سے متعلقہ ڈائریکٹری میں راستہ واپس کردے گی جہاں آپ اپنا کیش کردہ مواد اسٹور کرسکتے ہیں۔

اگر آپ نے کیش کرنے کا فیصلہ کیا ہے ، تو صرف اتنا آگاہ رہیں کہ WRITE_EXTERNAL_STORAGE اجازت نامہ رکھنے والی کوئی بھی درخواست ان فائلوں کو ممکنہ طور پر لکھ سکتی ہے ، لہذا آپ کو چاہئے کہ کبھی نہیں اگر آپ اینڈرائڈ ایپ سیکیورٹی کے بارے میں پرواہ کرتے ہیں تو نجی یا حساس معلومات کو کیشے میں اسٹور کریں۔

اپنی چابیاں کو غیر مجاز استعمال سے بچائیں

Android کی اسٹور سسٹم کی مدد سے آپ کو ایک کنٹینر میں خفیہ نگاری کی کلیدیں ذخیرہ کرنے دیتی ہیں ، جس کی وجہ سے ان کیز کو آلہ سے نکالنا زیادہ مشکل ہوتا ہے۔

اینڈروئیڈ کی اسٹور اس بات کو یقینی بناتا ہے کہ کلیدی مواد کبھی بھی درخواست کے عمل میں داخل نہیں ہوتا ہے ، لہذا اگر آپ کی درخواست کے عمل سے سمجھوتہ ہو اور حملہ آور آپ کی چابیاں تک رسائی حاصل کرے تو بھی وہ اپنا کلیدی مواد نہیں نکال پائیں گے۔

آپ اپنی اسٹورز کو کس حد تک اور کس طرح استعمال کرسکتے ہیں اس کو محدود کرنے کے لئے بھی استعمال کرسکتے ہیں ، مثال کے طور پر آپ کلیدی استعمال کو کچھ کریپٹوگرافک طریقوں تک محدود کرسکتے ہیں ، یا صارف کی توثیق کی ضرورت ہوگی۔

اپنے مواد فراہم کرنے والوں کو نجی بنائیں

کنٹینٹ پرووائڈرز ایک اسٹوریجڈ اسٹوریج میکنزم ہے جسے آپ اپنی ایپلی کیشن کو نجی بنا سکتے ہیں یا ایکسپورٹ کا انتخاب کرسکتے ہیں ، اس مقام پر وہ دوسرے ایپس تک قابل رسائی ہوجائیں گے۔

جب تک کہ آپ کو کسی تیسرے فریق کی درخواست کے ساتھ واضح طور پر ڈیٹا کا اشتراک کرنے کی ضرورت نہیں ہے ، آپ کو اپنے سبھی ContentP Provider کو android کے نام سے نشان زد کرتے ہوئے نجی بنانا چاہ:۔ اگر آپ کی ایپلی کیشن اینڈروئیڈ 4.1.1 یا اس سے کم کے ساتھ مطابقت رکھتی ہے ، تو پھر یہ خاص طور پر اہم ہے کہ آپ اپنے نجی مواد فراہم کرنے والے کو android کے طور پر نشان زد کریں: برآمد = غلط ، کیونکہ تمام ContentP Provider عوامی طور پر عوامی ہیں۔

بایومیٹرک تصدیق کے ساتھ اپنے صارفین کو فنگر پرنٹ کریں

کسی صارف کو اپنی ایپ کی کسی بھی حساس معلومات یا خصوصیات تک رسائی حاصل کرنے کی اجازت دینے سے پہلے ، آپ کو ان کی شناخت کی تصدیق کرنی چاہیئے۔

صارف کے اسناد پن یا پاس ورڈ کی شکل اختیار کرسکتے ہیں ، تاہم جہاں بھی ممکن ہو بائیو میٹرک تصدیق کرنا کہیں زیادہ محفوظ ہو ، مثال کے طور پر صارف کے فنگر پرنٹ کی درخواست کرکے۔

پیروی سب نیٹ ورکنگ کے بہترین طریقہ کار

ڈیسک ٹاپ کمپیوٹرز جیسے کم پورٹیبل ڈیوائسز کے برعکس ، ہم اکثر اپنے اسمارٹ فونز اور ٹیبلٹس کو غیر محفوظ وائرلیس نیٹ ورکس جیسے مفت عوامی وائی فائی سے مربوط کرتے ہیں۔ صارف کی رازداری کو محفوظ رکھنے میں مدد کے ل you ، آپ کو نیٹ ورک کے تمام لین دین کو فطری طور پر خطرناک ہونے کی حیثیت سے رجوع کرنا چاہئے ، خاص طور پر جب آپ صارف کا ڈیٹا منتقل کررہے ہو۔

جب بھی آپ کو کسی نیٹ ورک ٹرانزیکشن کی ضرورت ہوتی ہے ، تو یہ ضروری ہے کہ آپ اینڈرائیڈ کے تمام نیٹ ورکنگ کے بہترین طریقوں پر عمل کریں:

  • جب بھی سرور پر تعاون یافتہ ہو ، HTTP کی بجائے HTTPS استعمال کریں۔
  • غیر محفوظ پروٹوکولز سے ڈاؤن لوڈ کردہ ڈیٹا پر کبھی بھی اعتماد نہ کریں ، بشمول HTTP کے خلاف جاری کردہ کوئی ردعمل بھی۔
  • حساس اعداد و شمار کے ل appropriate مناسب پروٹوکول استعمال کریں ، جیسے HttpsURLConnication۔
  • جہاں توثیق ممکن ہے ، ایک اینڈروئیڈ آئی پی سی میکانزم استعمال کریں ، جیسے سروس۔
  • TLS / SSL نامعلوم خطرات اور غلط کنفیگریشنوں کے خلاف اپنے ایپ کو جانچنے کیلئے اوپن سورس Nogotofail نیٹ ورک سیکیورٹی ٹول کا استعمال کریں۔ نوگوٹفیل میں عام SSL سرٹیفکیٹ کی توثیق کے امور ، HTTPS اور TLS / SSL لائبریری کیڑے ، کلیئر ٹیکسٹ ایشوز ، اور SSL اور STARTTLS اتارنے والے امور کے ٹیسٹ شامل ہیں۔ مزید معلومات کے لئے ، نوگوٹوفیل کا گٹ ہب صفحہ دیکھیں۔
  • جہاں بھی ممکن ہو ، اپنے APK کے باہر سے کوڈ لوڈ کرنے سے گریز کریں کیونکہ اس سے نیٹ ورک میں کسی کے منتقل ہونے کے وقت آپ کے کوڈ میں ترمیم کرنے کے امکانات بڑھ جاتے ہیں۔

ویب ویوز کو احتیاط کے ساتھ استعمال کریں

ویب ویو جزو HTML اور جاوا اسکرپٹ کو استعمال کرسکتا ہے ، لہذا اگر آپ ویب ویوز کو غلط استعمال کرتے ہیں تو آپ کی ایپلیکیشن عام ویب سکیورٹی امور ، جیسے کراس سائٹ اسکرپٹنگ کا خطرہ بن جائے گی۔

اگر آپ ویب ویوز کو غلط استعمال کرتے ہیں تو آپ کی ایپلیکیشن عام ویب سیکیورٹی کے مسائل کا خطرہ بن جائے گی۔

Android صارفین کو محفوظ رکھنے میں مدد کے لئے ، ویب ویو جزو جاوا اسکرپٹ کو بطور ڈیفالٹ نافذ نہیں کرتا ہے۔ تاہم ، اگر ضرورت ہو تو آپ ویب سیٹنگس کو بازیافت کرنے کے لئے getSettings () کا استعمال کرکے جاوا اسکرپٹ کو چالو کرسکتے ہیں ، اور پھر جاوا اسکرپٹ ای اینبل () کا طریقہ چلاتے ہوئے:

ویب ویو myWebView = (WebView) FindViewById (R.id.webview)؛ ویب سیٹنگس ویبسیٹنگز = myWebView.getSettings ()؛ ویب سیٹنگس.سیٹ جاوا اسکرپٹ فعال (صحیح)؛

یہاں تک کہ اگر آپ کو جاوا اسکرپٹ کو چالو کرنے کی ضرورت ہے ، تو آپ کو جہاں بھی ممکن ہو addJavaScriptInterface () استعمال کرنے سے گریز کرنا چاہئے ، کیونکہ یہ طریقہ فراہم کردہ جاوا آبجیکٹ کو ویب ویو جزو میں داخل کرتا ہے۔ اگر آپ کی ایپ اینڈروئیڈ 4.2 یا اس سے قبل چلنے والے ڈیوائس پر انسٹال ہے تو ، اس طریقے سے جاوا اسکرپٹ کو ممکنہ طور پر آپ کی ایپلی کیشن کو جوڑنے کی اجازت مل سکتی ہے۔

اگر آپ ویب ویوز کا استعمال کرتے ہیں تو آپ کو صارفین کو کسی ایسی ویب سائٹ پر تشریف لے جانے کی اجازت نہیں دینا چاہئے جس پر آپ قابو نہیں رکھتے ہیں ، لیکن خاص طور پر آپ کو یہ کام کرنا چاہئے کبھی نہیں اگر صارف ممکنہ طور پر غیر اعتبار شدہ ویب پیج پر تشریف لے جاسکے تو ، شامل کریں جاوا اسکرپٹ انٹر فیرس () طریقہ استعمال کریں ، کیونکہ یہ لوڈ ، اتارنا Android ایپ کا ایک بہت بڑا خطرہ ہے۔

اگر آپ کو ممکنہ طور پر غیر اعتماد ویب پیج پر تشریف لے جانا ہو تو آپ کو کبھی بھی جاوا اسکرپٹ انٹرفیس () طریقہ استعمال نہیں کرنا چاہئے۔

اگر آپ کا ویب ویو جزو کسی بھی ذاتی ڈیٹا تک رسائی حاصل کرتا ہے تو آپ کلئیر کیچ () طریقہ استعمال کرکے وقتا فوقتا مقامی طور پر ذخیرہ کی جانے والی کسی بھی فائل کو حذف کرنا چاہتے ہیں۔ متبادل کے طور پر ، آپ نوائے کیش سرور سائیڈ ہیڈر کا استعمال کرتے ہوئے ، اپنے ایپ کو حساس مواد کی کیچنگ سے روک سکتے ہیں۔

اپنی ایپ کی سیکور ساکٹس لیئر (SSL) کا نظم کریں

ایس ایس ایل کلائنٹ اور سرورز کے مابین خفیہ مواصلات کا ایک مشترکہ جزو ہے۔ اگر آپ کی ایپ ایس ایس ایل کا غلط استعمال کرتی ہے تو پھر بدنیتی پر مبنی تیسری فریق آپ کے اطلاق کے ڈیٹا کو نیٹ ورک پر منتقل کرنے کے دوران ممکنہ طور پر روک سکتی ہے۔

عام طور پر ، ایک سرور عام کنجی اور مماثل نجی کلید پر مشتمل سرٹیفکیٹ کے ساتھ تشکیل دیا جاتا ہے۔ ایس ایس ایل کلائنٹ اور سرور کے مابین مواصلات کے ایک حصے کے طور پر ، سرور اس کی سند کو عوامی کلیدی خفیہ نگاری سے دستخط کرے گا۔ تاہم ، کسی تیسرے فریق کے لئے اپنا سرٹیفکیٹ اور نجی کلید تیار کرنا ممکن ہے ، لہذا آپ کے مؤکل کے پاس بھی ایک یا زیادہ سرٹیفکیٹ ہونے چاہئیں جس پر وہ اعتبار کرتے ہیں۔ اگر کوئی سرٹیفیکیٹ سیٹ نہیں ہے تو پھر آپ کی درخواست کو سرور پر اعتماد نہیں کرنا چاہئے۔

اس عمل کو آسان بنانے کے ل often ، سرورز اکثر معروف سرٹیفکیٹ اتھارٹی (سی اے) کے سرٹیفکیٹ کے ساتھ تشکیل دیتے ہیں۔ API کی سطح 17 تک ، Android 100 سے زیادہ CA کی حمایت کرتا ہے جو ہر ریلیز کے ساتھ اپ ڈیٹ ہوتے ہیں۔ جب کسی سرور کے لئے سرٹیفکیٹ جاری کرتے ہیں تو ، CA اپنی نجی کلید کا استعمال کرتے ہوئے سرور سرٹیفکیٹ پر دستخط کرتا ہے ، اور مؤکل اس کے بعد تصدیق کرسکتا ہے کہ یہ سرٹیفکیٹ ایک CA کے ذریعہ جاری کیا گیا ہے جسے Android پلیٹ فارم کے ذریعہ جانا جاتا ہے اور قابل اعتماد ہے۔

اگر آپ کا ایپ کسی ایسے ویب سرور کے ساتھ بات چیت کر رہا ہے جس کے پاس کسی قابل اعتماد CA کے ذریعہ سرٹیفکیٹ جاری ہوا ہے ، تو آپ کوڈ کی کچھ سطروں میں اپنی درخواست کر سکتے ہیں:

URL url = new URL ("https://www.google.com")؛ HttpsURLConnication urConnication = (HttpsURLConnication) url.openConnection ()؛ urlConnection.connect ()؛ ان پٹ اسٹریم اِن = urlConnection.getInputStream ()؛

تاہم ، کچھ منظرنامے موجود ہیں جہاں مندرجہ بالا کوڈ کا نتیجہ مستثنیٰ ہوگا:

  • سرور سرٹیفکیٹ جاری کرنے والا CA نامعلوم نہیں ہے۔ اس منظر نامے میں ، آپ CAs کے اس سیٹ پر بھروسہ کرنے کے لئے HttpsURL کنیکشن کی تعلیم دے سکتے ہیں۔
  • سرور کا سرٹیفکیٹ خود دستخط شدہ تھا ، جس کا مطلب ہے کہ سرور اپنے CA کے طور پر کام کر رہا ہے۔ خود دستخط شدہ سرٹیفکیٹ کے ل you ، آپ اپنا ٹرسٹ مینیجر تشکیل دے سکتے ہیں ، حالانکہ آپ کو یہ یقینی بنانا ہوگا کہ آپ کے خود دستخط شدہ سرٹیفکیٹ کے پاس ایک مضبوط کلید ہے۔
  • سرور کنفیگریشن میں ایک انٹرمیڈیٹ CA لاپتہ ہے۔ بہت سے عوامی CAs سرور کے سرٹیفکیٹ پر براہ راست دستخط نہیں کرتے ہیں۔ اینڈروئیڈ صرف روٹ سی اے پر بھروسہ کرتا ہے ، لہذا سرور کو جڑ تک پہنچنے کے لئے درکار کسی بھی انٹرمیڈیٹس کے ذریعے سرور CA سے سندوں کی ایک سلسلہ بھیجنے کی ضرورت ہوگی۔ اگر آپ سرور چین میں انٹرمیڈیٹ CA کو شامل کرنے کے لئے سرور کو تشکیل نہیں دے سکتے ہیں ، تو پھر ایک ممکنہ کام آپ کا اپنا ٹرسٹ مینجر بنانا ہے۔

ایک نیٹ ورک سیکیورٹی تشکیل فائل تشکیل دینا: کسٹم CA پر اعتماد کرنا

اگر آپ چاہتے ہیں کہ آپ کا ایپ نیا یا کسٹم CA استعمال کرے ، تو آپ کو ایک نیٹ ورک سیکیورٹی تشکیل فائل بنانی چاہئے جہاں آپ اپنی نیٹ ورک سیکیورٹی کی ترتیبات کی وضاحت کرتے ہیں۔

ایک نیٹ ورک سیکیورٹی تشکیل فائل بنانے کے لئے:

  • اگر آپ کے پروجیکٹ میں پہلے سے ہی XML فولڈر موجود نہیں ہے تو آپ کو ایک بنانے کی ضرورت ہوگی۔ اپنے پروجیکٹ کے ریس فولڈر کو کنٹرول کریں اور نئی> اینڈروئیڈ ریسورس ڈائرکٹری کو منتخب کریں۔
  • اپنی XML ڈائرکٹری کے اندر ایک نیا XML ریسورس فائل بنائیں ، جو آپ کے نیٹ ورک سیکیورٹی کنفگریشن فائل کی حیثیت سے کام کرے گی۔ میں اس فائل کو نیٹ ورک_کونفگ کا نام دے رہا ہوں۔
  • اپنی نیٹ ورک کی تشکیل کی فائل کو کھولیں اور یہ بتائیں کہ درج ذیل ڈومینز کے لئے تمام ٹریفک کو HTTPS استعمال کرنا چاہئے۔

// واضح متن کو غیر فعال کریں // // اس اصول کو ڈومین اور اس کے سب سب ڈومینز پر لاگو کریں // my.domain.com ... ... ...

اب آپ کسٹم سی اے کے سیٹ کی وضاحت کرسکتے ہیں جس پر آپ کی درخواست پر اعتماد کرنا چاہئے۔ مثال کے طور پر ، اگر آپ کسی ایسے میزبان سے رابطہ کرنا چاہتے ہیں جو خود دستخط شدہ CA استعمال کرتا ہو ، تو آپ اپنی نیٹ ورک سیکیورٹی تشکیل فائل میں درج ذیل کو شامل کریں گے:

my.domain.com // محفوظ رابطوں کیلئے ٹرسٹ اینکرز کا ایک سیٹ // // اعتماد کے اینکر عناصر کے لئے سرٹیفکیٹ کا ایک سیٹ ، اور ان سرٹیفکیٹس کا ماخذ //

اپنے منشور میں نیٹ ورک سیکیورٹی تشکیل فائل کا اعلان کرنا مت بھولنا:

اس کے بعد آپ کو PEM یا DER فارمیٹ میں ، اپنے پروجیکٹ کے ریز / خام / قابل اعتبار_کاس میں قابل اعتماد CAs شامل کرنے کی ضرورت ہوگی۔

جہاں مناسب ہو اضافی CA پر اعتماد کریں

آخر میں ، آپ اضافی CA پر اعتماد کرنا چاہتے ہیں جو Android پلیٹ فارم کو نہیں جانتے ہیں۔ آپ کی درخواست پر بھروسے سی اے کی تعداد بڑھانے کے ل you ، آپ کو سرٹیفکیٹ کے متعدد ذرائع بتانے کی ضرورت ہوگی:

حساس ڈیٹا کو کبھی بھی SMS کے ذریعے مت بھیجیں

اگر آپ کو کسی سرور سے اپنی ایپلی کیشن پر ڈیٹا منتقل کرنے کی ضرورت ہے تو آپ کو گوگل کلاؤڈ میسجنگ (جی سی ایم) اور آئی پی پیغام رسانی کا استعمال کرنا چاہئے ، اور کبھی غیر انکرپٹ شدہ ایس ایم ایس پروٹوکول کا استعمال کرنا چاہئے۔

یہ بھی پڑھیں: اینڈروئیڈ ڈویلپمنٹ: کال کرنے ، ایس ایم ایس موصول کرنے اور صارفین کے روابط کو بازیافت کرنے کا طریقہ

آپ کو بھی ایس ایم ایس کا استعمال کرتے ہوئے حساس احکامات کو ہرگز انجام نہیں دینا چاہئے ، کیونکہ ایس ایم ایس نشریاتی ارادوں کے بطور منتقل ہوتا ہے ، اس کا مطلب ہے کہ کوئی بھی ایپلی کیشن READ_SMS اجازت کے ساتھ ان کے مندرجات تک رسائی حاصل کرنے کے قابل ہوگی۔

سیفٹی نیٹ API کے ذریعہ سیکیورٹی کے خطرات سے بچائیں

سیفٹی نیٹ خدمات اور APIs کا ایک سیٹ فراہم کرتی ہے جسے آپ اپنے ایپ کو سیکیورٹی کے خطرات جیسے آلہ چھیڑ چھاڑ ، بدنیتی پر مبنی یو آر ایل اور جعلی صارفین سے بچانے کے لئے استعمال کرسکتے ہیں۔

Android درج ذیل سیفٹی نیٹ API کی حمایت کرتا ہے:

  • سیفٹی نیٹ ایٹی ٹیشن API. یہ انسداد بدسلوکی API آپ کو Android ڈیوائس تک رسائی کی اجازت دیتا ہے جہاں آپ کی ایپلی کیشن چل رہی ہے ، لہذا آپ یہ طے کرسکتے ہیں کہ آیا آپ کے سرور حقیقی آلے کے ساتھ بات چیت کررہے ہیں یا نہیں۔
  • سیفٹی نیٹ محفوظ براؤزنگ API. آپ اس API کو اس بات کا تعین کرنے کے لئے استعمال کرسکتے ہیں کہ آیا Google نے کسی خاص URL کو معلوم خطرہ کے طور پر درجہ بندی کیا ہے۔
  • SafeNet reCAPTCHA API. اس خدمت میں ایک ریکاچا API شامل ہے جسے آپ اپنے ایپ کو اسپام اور بدنظم ٹریفک جیسے خطرات سے بچانے کے لئے استعمال کرسکتے ہیں۔ اگر API کو شبہ ہے کہ آپ کی ایپ کسی بوٹ کے ساتھ بات چیت کررہی ہے ، تو پھر یہ ایک کیپچا کی خدمت کرے گی جسے وصول کنندہ کو آپ کے ایپ کا استعمال جاری رکھنے سے پہلے ہی حل کرنا ہوگا۔
  • SafeNet Verify Apps API. اگر آپ کی ایپ حساس صارف ڈیٹا پر مشتمل ہے ، تو آپ اس API کو آلہ کی تصدیق ایپس کی خصوصیت سے تعامل کرنے کے لئے استعمال کرسکتے ہیں ، اور یہ چیک کرسکتے ہیں کہ آیا آلہ بدنیتی پر مبنی ایپلی کیشنز سے پاک ہے۔ اگر ڈیوائس محفوظ نہیں ہے ، تو آپ اپنی ایپ کی تمام حساس خصوصیات کو غیر فعال کرکے کچھ نقصان کی حدود کو انجام دے سکتے ہیں۔ صرف اتنا آگاہ رہیں کہ اگرچہ سیفٹی نیٹ صارفین کو کسی بھی ممکنہ نقصان دہ ایپس کے بارے میں آگاہ کرے گی جو اسے دریافت کرتا ہے ، اس کی کوئی گارنٹی نہیں ہے کہ صارف واقعتا ان ایپس کو ان انسٹال کرے گا۔ اس کے علاوہ ، ہر وقت بدنیتی پر مبنی ایپس جاری کی جارہی ہیں ، اور ہیکرز ہمیشہ راڈار کے نیچے پھسلنے کے لئے نئے اور ذہین طریقوں کے ساتھ آرہے ہیں ، لہذا اگر کوئی آلہ سیفٹی نیٹ ٹیسٹ پاس کرتا ہے تو آپ کو یہ نہیں سمجھنا چاہئے کہ اس میں کوئی مضر ایپس موجود نہیں ہیں۔ ڈیوائس۔

سیفٹی نیٹ API کے بارے میں مزید معلومات کے ل، ، بشمول اپنے ایپس میں استعمال کرنے کے بارے میں ہدایات سمیت ، Android کے سرکاری دستاویزات دیکھیں۔

حساس لین دین کے ل Android اینڈروئیڈ سے محفوظ شدہ توثیق کا استعمال کریں

اگر آپ کے ایپ کو حساس لین دین کرنے کی ضرورت ہے ، جیسے ادائیگی کرنا ، تو پھر آپ Android 9 (API کی سطح 28) یا اس سے زیادہ چلنے والے آلات پر اینڈروئیڈ پروٹیکٹوٹ تصدیق استعمال کرسکتے ہیں۔

جب بھی صارف حساس ٹرانزیکشن کو مکمل کرنے کی کوشش کرتا ہے ، اینڈروئیڈ پروٹیکٹڈ کنفرمیشن ایک اشارہ دکھائے گا جس میں ان سے مختصر بیان قبول کرنے کے لئے کہے گا۔ اگر صارف اس بیان کو منظور کرتا ہے تو ، پھر آپ Android کی اسٹور سے کسی کلید کا استعمال کرکے دستخط کرسکتے ہیں۔

مزید معلومات کے علاوہ ، Android سے محفوظ شدہ توثیق کو کیسے نافذ کرنا ہے اس کے بارے میں ہدایات کے لئے ، Android کے سرکاری دستاویزات کو چیک کریں۔

Android 10: ایمبیڈڈ DEX کوڈ کو براہ راست چلائیں

Android 10 (API سطح 29) اور اس سے زیادہ چلانے والے آلات پر ، آپ کی ایپ کی APK فائل سے سرایت شدہ DEX کوڈ کو چلانا ممکن ہے ، جس سے کسی حملے کو روکنے میں مدد مل سکتی ہے یہاں تک کہ اگر ہیکر آلہ کے مقامی طور پر مرتب کردہ کوڈ کے ساتھ چھیڑ چھاڑ کرنے میں کامیاب ہوجائے۔

یہ بھی پڑھیں: Android Q کی کھوج: اپنے ایپ میں بلبلا کی اطلاعات شامل کرنا

اس نئی حفاظتی خصوصیت کو اہل بنانے کے ل your ، اپنے منصوبے کا منشور کھولیں اور درج ذیل کو عنصر میں شامل کریں:

اگلا ، آپ کو ایک ایسی APK فائل بنانے کی ضرورت ہوگی جس میں کمپریسڈ DEX کوڈ ہے جس میں ART براہ راست رسائی حاصل کرسکتی ہے۔ اپنی build.gradle فائل کھولیں ، اور درج ذیل شامل کریں:

aaptOptions {noCompress dex

بس اتنا آگاہ ہوں کہ آپ کا ایپ شروع ہونے پر اے آر ٹی جے آئی ٹی کے مرتب کا استعمال کرے گا ، جو آپ کی درخواست کی کارکردگی کو متاثر کرسکتا ہے۔

ختم کرو

اس آرٹیکل میں ، ہم نے آپ کے Android ایپ کی حفاظت کو برقرار رکھنے میں مدد کے ل to ان تمام عمدہ مشقوں ، ٹولز ، APIs اور تکنیکوں کا احاطہ کیا ہے۔

کیا آپ کو اپنی درخواست کی سیکیورٹی بڑھانے کے لئے کوئی مشورہ ہے؟ نیچے دیئے گئے تبصروں میں اپنے اشارے ضرور بتائیں!

ژیومی نے ابھی بھارت میں ہی ریڈمی 8 اے کو لانچ کیا تھا اور ہم توقع نہیں کر رہے تھے کہ اتنی جلدی اسمارٹ فون کے مختلف اشارے کے بارے میں سنیں گے۔ لیکن بظاہر ، ژیومی اپنے منصوبوں کے بارے میں اتنا سمجھدار ن...

کے ساتھ ایک انٹرویو میںسینا ٹیک آج سے پہلے شائع ہونے والے ، ریڈمی جنرل لو ویبنگ اس بارے میں شرمندہ تعل .ق نہیں رکھتے تھے کہ کس طرح Xiaomi اور Redmi 2019 میں اپنی کارروائیوں کو جارحانہ انداز میں بڑھانا...

مقبولیت حاصل