اخبار محصول

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

زمان خواندن: ۲ دقیقه
مشاهده نمایه Bennet Manuel مشاهده نمایه Robert Clifford
Bennet Manuel و Robert Clifford

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

 

 

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

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

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

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

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

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

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

تصویر.png

شروع کردن

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

برای Jetpack Compose

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

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 }}

 

 

برای برنامه‌های مبتنی بر View

در چیدمان XML، مشخصه مربوطه را به نمای حساس اضافه کنید.

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

<TextView android:filterTouchesWhenObscured="true" />

 

 

<TextView android:accessibilityDataSensitive="true" />

 

یا می‌توانید این ویژگی را به‌صورت برنامه‌نویسی در Java یا Kotlin تنظیم کنید:

setFilterTouchesWhenObscuredaccessibilityDataSensitive

 

myView.filterTouchesWhenObscured = true;

 

 

myView.isAccessibilityDataSensitive = true;

 

 

myView.setFilterTouchesWhenObscured(true)

 

 

myView.setAccessibilityDataSensitive(true);

 

درباره پرچم‌های accessibilityDataSensitive و setFilterTouchesWhenObscured در راهنمای Tapjacking بیشتر بخوانید.

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

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

تصویر.png

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

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

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

نویسنده:
ادامه خواندن