اخبار محصول

افزایش امنیت اندروید: جلوگیری از جاسوسی بدافزارها از داده‌های برنامه شما

مطالعه ۲ دقیقه‌ای
Bennet Manuel و Rob Clifford

امنیت برای اندروید اساسی است. ما با ارائه ابزارها و ویژگی‌های امنیتی قدرتمندی مانند Credential Manager و FLAG_SECURE ، برای ایمن نگه داشتن پلتفرم و محافظت از داده‌های کاربر با شما همکاری می‌کنیم. هر نسخه اندروید، بهبودهایی در عملکرد و امنیت به همراه دارد و با اندروید ۱۶، می‌توانید گام‌های ساده و مهمی برای تقویت دفاع برنامه خود بردارید. ویدیوی ما را ببینید یا برای کسب اطلاعات بیشتر در مورد محافظت‌های پیشرفته ما برای APIهای دسترسی، به خواندن ادامه دهید.

با یک خط کد از برنامه خود در برابر جاسوسی محافظت کنید

ما دیده‌ایم که گاهی اوقات افراد خرابکار سعی می‌کنند از ویژگی‌های API دسترسی سوءاستفاده کنند تا اطلاعات حساس مانند رمزهای عبور و جزئیات مالی را مستقیماً از روی صفحه نمایش بخوانند و با تزریق لمس‌ها، دستگاه کاربر را دستکاری کنند. برای مقابله با این مشکل، اندروید ۱۶ یک راهکار دفاعی جدید و قدرتمند را در یک خط کد ارائه می‌دهد: accessibilityDataSensitive .

پرچم accessibilityDataSensitive به شما امکان می‌دهد تا صریحاً یک نما یا یک ترکیب را به عنوان حاوی داده‌های حساس علامت‌گذاری کنید. وقتی این پرچم را در برنامه خود روی true تنظیم می‌کنید، اساساً برنامه‌های مخرب بالقوه را از دسترسی به داده‌های حساس نمای خود یا انجام تعاملات روی آن مسدود می‌کنید. نحوه کار آن به این صورت است: هر برنامه‌ای که درخواست مجوز دسترسی کند و صریحاً خود را به عنوان یک ابزار دسترسی مشروع ( isAccessibilityTool=true ) اعلام نکرده باشد، از دسترسی به آن نما محروم می‌شود.

این تغییر ساده اما مؤثر به جلوگیری از سرقت اطلاعات توسط بدافزارها و انجام اقدامات غیرمجاز کمک می‌کند، بدون اینکه تجربه کاربران از ابزارهای دسترسی قانونی را تحت تأثیر قرار دهد. توجه: اگر برنامه‌ای ابزار دسترسی نباشد اما مجوزهای دسترسی را درخواست کند و isAccessibilityTool=true را تنظیم کند، Play آن را رد می‌کند و Google Play Protect آن را در دستگاه‌های کاربر مسدود می‌کند.

امنیت خودکار و پیشرفته برای محافظت setFilterTouchesWhenObscured

ما قبلاً این قابلیت امنیتی جدید accessibilityDataSensitive را با متد setFilterTouchesWhenObscured موجود ادغام کرده‌ایم.

اگر از قبل از setFilterTouchesWhenObscured(true) برای محافظت از برنامه خود در برابر tapjacking استفاده می‌کنید، نماهای شما به طور خودکار به عنوان داده‌های حساس برای دسترسی در نظر گرفته می‌شوند. با ارتقاء متد setFilterTouchesWhenObscured با محافظت‌های accessibilityDataSensitive ، ما فوراً یک لایه دفاعی اضافی بدون هیچ کار اضافی در اختیار همه قرار می‌دهیم.

تصویر.png

شروع به کار

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

برای نوشتن با جت‌پک

setFilterTouchesWhenObscured accessibilityDataSensitive

val composeView = LocalView.current DisposableEffect(Unit) { composeView.filterTouchesWhenObscured = true onDispose { composeView.filterTouchesWhenObscured = false } }

از اصلاحگر semantics برای اعمال ویژگی sensitiveData به یک composable استفاده کنید.

BasicText { text = “Your password”,

            modifier = Modifier.semantics {

                sensitiveData = true }}

برای برنامه‌های مبتنی بر مشاهده

در طرح‌بندی XML خود، ویژگی مربوطه را به نمای حساس اضافه کنید.

setFilterTouchesWhenObscured accessibilityDataSensitive

<TextView android:filterTouchesWhenObscured="true" />

<TextView android:accessibilityDataSensitive="true" />

از طرف دیگر، می‌توانید این ویژگی را به صورت برنامه‌نویسی در جاوا یا کاتلین تنظیم کنید:

setFilterTouchesWhenObscured accessibilityDataSensitive

myView.filterTouchesWhenObscured = true;

myView.isAccessibilityDataSensitive = true;

myView.setFilterTouchesWhenObscured(true)

myView.setAccessibilityDataSensitive(true);

برای اطلاعات بیشتر در مورد پرچم‌های accessibilityDataSensitive و setFilterTouchesWhenObscured به راهنمای Tapjacking مراجعه کنید.

همکاری با توسعه‌دهندگان برای حفظ امنیت کاربران

ما از همان ابتدا با توسعه‌دهندگان همکاری کردیم تا مطمئن شویم این ویژگی نیازهای دنیای واقعی را برآورده می‌کند و به راحتی در گردش کار شما ادغام می‌شود.

تصویر.png

«ما همیشه محافظت از داده‌های مالی حساس مشتریان خود را در اولویت قرار داده‌ایم، که این امر ما را ملزم به ایجاد لایه محافظتی خودمان در برابر بدافزارهای مبتنی بر دسترسی‌پذیری می‌کرد. Revolut قویاً از معرفی این API رسمی اندروید جدید پشتیبانی می‌کند، زیرا به ما این امکان را می‌دهد که به تدریج از کد سفارشی خود به نفع یک دفاع پلتفرمی قوی و تک‌خطی فاصله بگیریم.»
- ولادیمیر کوژونیکوف، مهندس اندروید در Revolut

شما می‌توانید با به‌کارگیری این ویژگی‌ها، نقش مهمی در محافظت از کاربران خود در برابر حملات مخرب مبتنی بر دسترسی‌پذیری ایفا کنید. ما همه توسعه‌دهندگان را تشویق می‌کنیم که این ویژگی‌ها را در برنامه‌های خود ادغام کنند تا به حفظ امنیت کاربران کمک کنند.

با هم، می‌توانیم یک تجربه امن‌تر و قابل اعتمادتر برای همه بسازیم.

    نوشته شده توسط:

    ادامه مطلب