گوگل در یک پست وبلاگی به توسعهدهندگان برنامهی تلفن همراه توصیه میکند تا دادهای را که برنامهها در دستگاههای کاربران ایجاد میکنند، رمزنگاری کنند، بهطور خاص در مواقعی که از حافظهی خارجی محافظتنشدهای که مستعد سرقت است، استفاده میکنند.
علاوهبرآن، با توجه به اینکه چارچوبهای مرجع زیادی برای آن موجود نیست، گوگل استفاده از یک کتابخانهی امنیتی با پیادهسازی آسان را که بهعنوان بخشی از مجموعهی نرمافزاری Jetpack در دسترس است، توصیه میکند.
کتابخانهی Jetpack Security به توسعهدهندگان برنامهی اندروید اجازه میدهد تا فایلهای رمزنگاریشده را با بهترین روشهای امنیتی ازجمله ذخیرهی کلیدهای رمزنگاری و محافظت فایلهایی که احتمالاً دادههای حساس دارند، کلیدهای API و توکنهای OAuth بهآسانی بخوانند و بنویسند.
اندروید دو روش متفاوت برای ذخیرهی دادهی برنامه به توسعهدهندگان پیشنهاد میکند. روش اول حافظهی مخصوص برنامه است که با نام حافظهی داخلی نیز شناخته میشود و در آن فایلها در یک پوشهی جعبهی شنی ذخیره میشوند که برای استفادهی یک برنامهی خاص هستند و برای سایر برنامهها در همان دستگاه غیرقابل دسترسی هستند.
روش دوم، حافظهی اشتراکی است که با نام حافظهی داخلی نیز شناخته میشود و در خارج از جعبهی شنی قرار دارد و اغلب برای ذخیرهی فایلهای رسانهای و اسناد استفاده میشوند.
بااینحال، مشخص شده است که اکثر برنامههایی که از حافظهی خارجی برای ذخیرهی دادههای حساس و خصوصی کاربران استفاده میکنند و اقدامات مناسبی برای محافظت آن در برابر سایر برنامهها انجام نمیدهند، به مهاجمان این امکان را میدهند تا عکسها و ویدئوها را به سرقت ببرند و فایلها را دستکاری کنند.
حملات «man-in-the-disk» این امکان را به مهاجمان میدهد تا یک برنامه را با دستکاری دادههای مشخصی که بین برنامه و حافظهی خارجی مبادله میشود، در معرض خطر قرار دهد.
پژوهش دیگری یک حملهی کانال جانبی را نشان میدهد که مهاجمان با استفاده از آن میتوانند تنها با استفاده از دسترسی به حافظهی خارجی دستگاه، حتی در صورت نداشتن مجوزهای دستگاه بهطور محرمانه عکس بگیرند و ویدئو ضبط کنند.
برای جلوگیری از چنین حملاتی، اندروید ۱۰ با یک ویژگی به نام «Scoped Storage» عرضه میشود که دادههای هر برنامه را در حافظهی خارجی محافظت میکند و به این ترتیب برنامهها را از دسترسی به دادههای ذخیرهشده توسط سایر برنامهها در دستگاه کاربر محدود میکند.
این شرکت تشریح کرد که در صورتی که برنامهی کاربر از حافظهی اشتراکی استفاده کند، باید دادهها را رمزنگاری کند. در مسیر اصلی یک برنامه، درصورتی که اطلاعات حساس ازجمله اطلاعات قابل شناسایی شخصی، سوابق درمانی، اطلاعات مالی یا دادههای سازمانی توسط برنامه مدیریت شود، کاربر باید دادهها را رمزنگاری کند.
علاوهبرآن، گوگل توصیه میکند که توسعهدهندگان برنامه برای امنیت و حریم خصوصی بیشتر باید رمزنگاری را با اطلاعات بیومتریک ترکیب کنند.
کتابخانهی Jetpack Security اولین بار در ماه مِه سال گذشته بهعنوان بخشی از برنامهی توسعهی Android Jetpack عرضه شد که مجموعهای از مؤلفههای نرمافزاری اندروید است که به توسعهدهندگان کمک میکند تا بهترین روشها را دنبال کنند و برنامههای باکیفیتی طراحی کنند.