Безопасность приложений (продолжение)

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

Никогда не используйте самописные алгоритмы шифрования и защиты. Встречаются во всех частях разработки. Это прямое нарушение принципа Керкгоффса. Выражается в попытке разработчика изобрести «свой личный, никому не известный, а поэтому суперзащищенный алгоритм шифрования». Любое отклонение от существующих, многократно проверенных и изученных, математически доказанных алгоритмов шифрования в 99% случаев оборачивается быстрым взломом подобной «защиты».

Фоновая работа приложения. Казалось бы, известный кейс, но при модификациях в модулях работы с PIN-кодом бывает, что возникают баги, которые закрывают возможность блокировать телефон в фоновом режиме. Обязательно добавляйте в регресс проверку работы приложения в фоне. По возможности внедряйте сессионный механизм работы.

Никогда не опирайтесь при работе с важными датами на локальное время приложений. Никакого труда не составит изменить время и дату на локальном устройстве. Абсолютные значения следует передавать с применением универсальных способов обмена подобной информацией, без привязки к часовому поясу конкретного пользовательского устройства. Чаще всего оптимальным вариантом является поведение приложения, при котором данные отображаются пользователю в его локальном часовом поясе, но их хранение и передача осуществляется в формате, не привязанном к тайм-зоне.

Чтобы застраховаться от «Авито-мошенников» и похожих на них, по возможности на экранах приложения, где размещается приватная информация пользователя, будет не лишним принудительный запрет на программное создание скриншотов окна приложения, а также отключение показа скриншотов в диспетчере задач.

Любая приватная информация может дополнительно предваряться запросом личного ключа пользователя, заданного им для входа в приложение (если таковой имеется).

Также стоит упомянуть, что количество применяемых уровней защиты зависит от конкретного приложения.

Поэтому если, например, приложение ориентировано на выполнение банковских операций или хранение пользовательских паролей, то степень его безопасности должна быть наивысшей.

Не откладывайте безопасность на потом. Это может дорого стоить!

Мой канал - https://t.me/carbonka

Безопасность приложений (продолжение)
Использование слабозащищенных локальных хранилищ. Еще одно узкое место в разработке приложений, которое дает доступ к очень важным данным | Сетка — социальная сеть от hh.ru