PARADISECURITY Telegram 288
Как создавать безопасные приложения

Несколько правил, пробежавшись по которым вы сделаете свое приложение максимально безопасным:

🔥 Безопасная связь между приложениями
• Неявные интеты. Стоит относится к ним с осторожностью, потому что на такой вид интентов может отреагировать любое приложение, установленное у пользователя.
• Разрешения на уровне подписи. Так можно проверить, что приложения, получающие доступ к данным, подписаны с использованием того же ключа подписи.
• Неэкспортируемый контент. Если вы не собираетесь отправлять данные из своего приложения в другие приложения, явно запретите другим приложениям доступ к вашему ContentProvider в манифесте с помощью
android:exported=false
.

🔥 Безопасное сетевое взаимодействие
Для любого типа сетевого взаимодействия нужно использовать HTTPS c проверкой сертификата. Не забудьте добавить networkSecurityConfig.

🔥 Аутентификация высокого уровня
Конфиденциальная информация может быть защищена с помощью многофакторной аутентификации, надежного управления сессией и таймаутами. Также важно настроить расширенную авторизацию с поддержкой таких инструментов, как веб-токены OAuth 2.0 или JSON.

🔥 Правильный набор пермишенов
Приложение должно запрашивать только минимальное количество разрешений, необходимых для правильной работы. Например, если приложение требует создания контакта для приложения контактов, делегирует ответственность за создание контакта приложению контактов, которому уже предоставлено соответствующее разрешение WRITE_CONTACTS.

🔥 Безопасное хранение данных
Криптография – это самый эффективный способ обеспечить безопасность данных. Используйте соответствующий механизм шифрования при работе с данными.
• Чтобы добиться большей безопасности при хранении ключей, используйте систему Android Keystore.
• Храните все личные данные пользователя во внутренней памяти устройства, которая изолирована от других приложений. А когда пользователь решит удалить приложение, устройство удалит и все файлы, сохраненные приложением во внутренней памяти. Советую изучить работу EncryptedFile и почитать вот эту статью.
• Если вашему приложению требуется доступ только к определенному каталогу во внешнем хранилище устройства, используйте доступ к выделенным каталогам, чтобы ограничить доступ вашего приложения к внешнему хранилищу устройства.
• Если файл не содержит частной или конфиденциальной информации, но представляет ценность для пользователя только в вашем приложении, сохраните файл в каталоге для конкретного приложения во внешнем хранилище.
• Храните в файлах кеша только не конфиденциальные данные. Для кэшей размером более 1МБ используйте getExternalCacheDir(); в противном случае используйте getCacheDir().
• Используйте SharedPreferences в приватном режиме. Более того, следует использовать для большей безопасности EncryptedSharedPreferences, который автоматически шифрует ключи и значения.

🔥 Регулярно обновляйте зависимости!

🔥 Сжимайте, смешивайте и оптимизируйте код с помощью R8
С его помощью вы можете удалять неиспользуемые классы/поля/методы/атрибуты/зависимости/ресурсы, а также обфусцировать и оптимизировать код.

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



tgoop.com/paradisecurity/288
Create:
Last Update:

Как создавать безопасные приложения

Несколько правил, пробежавшись по которым вы сделаете свое приложение максимально безопасным:

🔥 Безопасная связь между приложениями
• Неявные интеты. Стоит относится к ним с осторожностью, потому что на такой вид интентов может отреагировать любое приложение, установленное у пользователя.
• Разрешения на уровне подписи. Так можно проверить, что приложения, получающие доступ к данным, подписаны с использованием того же ключа подписи.
• Неэкспортируемый контент. Если вы не собираетесь отправлять данные из своего приложения в другие приложения, явно запретите другим приложениям доступ к вашему ContentProvider в манифесте с помощью

android:exported=false
.

🔥 Безопасное сетевое взаимодействие
Для любого типа сетевого взаимодействия нужно использовать HTTPS c проверкой сертификата. Не забудьте добавить networkSecurityConfig.

🔥 Аутентификация высокого уровня
Конфиденциальная информация может быть защищена с помощью многофакторной аутентификации, надежного управления сессией и таймаутами. Также важно настроить расширенную авторизацию с поддержкой таких инструментов, как веб-токены OAuth 2.0 или JSON.

🔥 Правильный набор пермишенов
Приложение должно запрашивать только минимальное количество разрешений, необходимых для правильной работы. Например, если приложение требует создания контакта для приложения контактов, делегирует ответственность за создание контакта приложению контактов, которому уже предоставлено соответствующее разрешение WRITE_CONTACTS.

🔥 Безопасное хранение данных
Криптография – это самый эффективный способ обеспечить безопасность данных. Используйте соответствующий механизм шифрования при работе с данными.
• Чтобы добиться большей безопасности при хранении ключей, используйте систему Android Keystore.
• Храните все личные данные пользователя во внутренней памяти устройства, которая изолирована от других приложений. А когда пользователь решит удалить приложение, устройство удалит и все файлы, сохраненные приложением во внутренней памяти. Советую изучить работу EncryptedFile и почитать вот эту статью.
• Если вашему приложению требуется доступ только к определенному каталогу во внешнем хранилище устройства, используйте доступ к выделенным каталогам, чтобы ограничить доступ вашего приложения к внешнему хранилищу устройства.
• Если файл не содержит частной или конфиденциальной информации, но представляет ценность для пользователя только в вашем приложении, сохраните файл в каталоге для конкретного приложения во внешнем хранилище.
• Храните в файлах кеша только не конфиденциальные данные. Для кэшей размером более 1МБ используйте getExternalCacheDir(); в противном случае используйте getCacheDir().
• Используйте SharedPreferences в приватном режиме. Более того, следует использовать для большей безопасности EncryptedSharedPreferences, который автоматически шифрует ключи и значения.

🔥 Регулярно обновляйте зависимости!

🔥 Сжимайте, смешивайте и оптимизируйте код с помощью R8
С его помощью вы можете удалять неиспользуемые классы/поля/методы/атрибуты/зависимости/ресурсы, а также обфусцировать и оптимизировать код.

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

BY paradiSEcurity


Share with your friend now:
tgoop.com/paradisecurity/288

View MORE
Open in Telegram


Telegram News

Date: |

Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment. 1What is Telegram Channels? How to create a business channel on Telegram? (Tutorial) Some Telegram Channels content management tips Judge Hui described Ng as inciting others to “commit a massacre” with three posts teaching people to make “toxic chlorine gas bombs,” target police stations, police quarters and the city’s metro stations. This offence was “rather serious,” the court said.
from us


Telegram paradiSEcurity
FROM American