ANDROID_LIVE Telegram 521
​​Best practices для безопасности приложений
#security

Уверен, что мы все старательно подходим к безопасности написанных нами приложений, особенно когда они связаны с персональными данными наших пользователей.
Но не все знают о ресурсе от Google, где описаны годные практики, связанные с безопасностью. И главное, что туда регулярно добавляются свежие подходы. Давайте пройдёмся по некоторым из ним.

👉 опасайтесь неявных Intents. Напомню, что это такие Intents, которые позволяют показать диалог выбора приложения через который можно открыть предлагаемый файл. Типичный сценарий — это sharing файлов, когда мы выбираем нужное нам приложение из кучи вариантов. Важно осторожно относиться к ним, потому что «подписаться» на передаваемые файлы могут любые приложения.

👉 изучите разрешения на уровне подписи. Это довольно крутая штука, если вам нужно передавать данные между двумя вашими приложениями. Вы можете прописать разрешение на уровне подписи, и никакое другое приложение не получит достук к передаваемым файлам.

👉 используйте Internal Storage. Для сохранения приватной информации нельзя использовать внешнее хранилище, к которому есть доступ других приложений. Кроме того, внутреннее хранилище удалится, если пользователь захочет удалить ваше приложение.

👉 помните про приватный режим SharedPreferences. Кстати, стоит уже обратить внимание на свежий Jetpack DataStore, который скоро придёт на замену префам.

👉 проверьте ContentProvider. Если у вас есть этот компонент, то проверьте, надо ли вам отдавать данные наружу. Если нет, то пропишите флаг android:exported="false», что скроет ваши данные внутри приложения.

👉 используйте SSL-соединения. Все запросы, которые вы делаете на сервер должны выполняться через https. Кроме того, подумайте о конфигурации trust manager для сетевых запросов. Чуть больше можно почитать тут.

👉 используйте WebView с осторожностью. Важно запретить пользователю уйти куда-то вне вашего контента WebView. Помните также о Chrome Tabs, если вам нужно просто показать контент из сети, но внутри приложения.

👉 проверьте набор Permissions. Важно, чтобы ваше приложение не запрашивало тех разрешений, которые ему не понадобятся для работы. Хорошим советов тут будет использовать Intent вместо разрешений, если возможно. К примеру, есть Intent для добавления контакта в телефонную книгу, и он избавит вас от запроса WRITE_CONTACTS. Очень часто разработчики запрашивают разрешение на запись файлов, хотя им достаточно только считывать их.

👉 обновляйте зависимости. Для себя я выделил правило обновления большинства зависимостей приложения сразу после релиза. Это даст время на тестирование и поимку багов, связанных с этими обновлениями. Но всё же от обновлений больше пользы, чем вреда, ведь разработчики активно исправляют баги, в том числе и безопасности, в своих библиотеках.

Если хотите добавить ещё каких-то правил или обсудить описанные, то обязательно пишите в чат или мне.



tgoop.com/android_live/521
Create:
Last Update:

​​Best practices для безопасности приложений
#security

Уверен, что мы все старательно подходим к безопасности написанных нами приложений, особенно когда они связаны с персональными данными наших пользователей.
Но не все знают о ресурсе от Google, где описаны годные практики, связанные с безопасностью. И главное, что туда регулярно добавляются свежие подходы. Давайте пройдёмся по некоторым из ним.

👉 опасайтесь неявных Intents. Напомню, что это такие Intents, которые позволяют показать диалог выбора приложения через который можно открыть предлагаемый файл. Типичный сценарий — это sharing файлов, когда мы выбираем нужное нам приложение из кучи вариантов. Важно осторожно относиться к ним, потому что «подписаться» на передаваемые файлы могут любые приложения.

👉 изучите разрешения на уровне подписи. Это довольно крутая штука, если вам нужно передавать данные между двумя вашими приложениями. Вы можете прописать разрешение на уровне подписи, и никакое другое приложение не получит достук к передаваемым файлам.

👉 используйте Internal Storage. Для сохранения приватной информации нельзя использовать внешнее хранилище, к которому есть доступ других приложений. Кроме того, внутреннее хранилище удалится, если пользователь захочет удалить ваше приложение.

👉 помните про приватный режим SharedPreferences. Кстати, стоит уже обратить внимание на свежий Jetpack DataStore, который скоро придёт на замену префам.

👉 проверьте ContentProvider. Если у вас есть этот компонент, то проверьте, надо ли вам отдавать данные наружу. Если нет, то пропишите флаг android:exported="false», что скроет ваши данные внутри приложения.

👉 используйте SSL-соединения. Все запросы, которые вы делаете на сервер должны выполняться через https. Кроме того, подумайте о конфигурации trust manager для сетевых запросов. Чуть больше можно почитать тут.

👉 используйте WebView с осторожностью. Важно запретить пользователю уйти куда-то вне вашего контента WebView. Помните также о Chrome Tabs, если вам нужно просто показать контент из сети, но внутри приложения.

👉 проверьте набор Permissions. Важно, чтобы ваше приложение не запрашивало тех разрешений, которые ему не понадобятся для работы. Хорошим советов тут будет использовать Intent вместо разрешений, если возможно. К примеру, есть Intent для добавления контакта в телефонную книгу, и он избавит вас от запроса WRITE_CONTACTS. Очень часто разработчики запрашивают разрешение на запись файлов, хотя им достаточно только считывать их.

👉 обновляйте зависимости. Для себя я выделил правило обновления большинства зависимостей приложения сразу после релиза. Это даст время на тестирование и поимку багов, связанных с этими обновлениями. Но всё же от обновлений больше пользы, чем вреда, ведь разработчики активно исправляют баги, в том числе и безопасности, в своих библиотеках.

Если хотите добавить ещё каких-то правил или обсудить описанные, то обязательно пишите в чат или мне.

BY Android Live 🤖




Share with your friend now:
tgoop.com/android_live/521

View MORE
Open in Telegram


Telegram News

Date: |

Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots. Hashtags Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019. The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. How to Create a Private or Public Channel on Telegram?
from us


Telegram Android Live 🤖
FROM American