Size: a a a

2021 May 14

f

fillooow in Android Guards
Ну я вот и интересуюсь, помогает ли очистка массива в данном случае

А попал на экран пинкода после такого пути:
Пользователь открыл приложение -> попал на экран пина -> ввел пин -> поползал по приложухе -> свернул приложуху -> прошло >5 минут -> сессия сбросится и при входе нужно будет заново ввести пин -> телефон украли -> открыли приложение -> попали на экран пина -> сделали дамп -> иногда в дампе остаётся пин (видимо, в пуле строк переменная пина сохранилась или ещё где)
источник

R

Rtem in Android Guards
@fillooow если пин в виде строки, то он попадет в пул строк и оттуда его уже не вычистить насколько мне известно. Можно использовать ByteBuffer например. Они зачищаются. Пример есть вот тут: https://github.com/lambdapioneer/argon2kt/blob/master/lib/src/main/java/com/lambdapioneer/argon2kt/ByteBufferTarget.kt
источник

R

Rtem in Android Guards
Тут есть другая проблема. Что это все еще прокручивается через android фреймворк. А вьюхи у тебя принимают строки. Поэтому без вариантов )
источник

f

fillooow in Android Guards
ну да, я вот тоже на пул строк грешу

спасибки за ссылку, я за ночь только до PINkman успел добраться и спать пошел
источник

ИК

Игорь К in Android Guards
А ну конечно как только вы поюзали пин-код структуры его содержащую надо очистить. И да используйте для пина байтрвый массив. Строки там совсем несекурнр
источник

f

fillooow in Android Guards
не, вьюх 10 на каждую цифру
уже потом в строку все объединяется
источник

R

Rtem in Android Guards
У него пока с этим не все хорошо. Допилю вторую версию, будет чуть лучше. Но PINkman не обеспечивает полной безопасности. Как и любая локальная реализация. Когда выпущу вторую версию сделаю про это видос еще.
источник

f

fillooow in Android Guards
Спасибо за ответы
источник

R

Rtem in Android Guards
источник

ИК

Игорь К in Android Guards
Ну если у тебя 4 вьюхи и каждая показывает одну цифру, то наверное это не проблема. Модно ещё заморочиться кастомизироваиь вьюху, чтобы она показывала только часть строки и добивать остальное невидимым мусором. А ввод цифр кнопками, как это почти везде сделано.
источник

ИК

Игорь К in Android Guards
А ещё можно сделать одну большую втюху где в onDraw рисовать все значения и кнопки набора. Определяя по onTouch куда ткнул пользователь для ввода циферек. ЗЫ: черный пояс по велосипедам😜
источник

f

fillooow in Android Guards
источник

R

Rtem in Android Guards
Да, с кастомными вьюхами можно попробовать поупражняться. Хз что и з этого выйдет
источник

MA

Max Alexeev in Android Guards
Добрый всем!
Подскажите, вот есть FLAG_SECURE , который защищает Activity от от утечки информации в автосоздаваемом скриншоте при сворачивании приложения. Недавно Понял, что могут быть помимо Activity ещё и фрагменты, а их как защищать?
источник

VA

Vishnyakov Aleksey in Android Guards
я бы залез в исходник телеги, там приватные чаты защеищены норм от скриншотов
источник

MA

Max Alexeev in Android Guards
Мне бы на уровне абстракции понять, в чем принципиальное отличие в защите этих двух компонентов?
источник

VA

Vishnyakov Aleksey in Android Guards
ты идешь на уровень выше активити - к виндоу
источник

VA

Vishnyakov Aleksey in Android Guards
и там меняешь флаг
источник

VA

Vishnyakov Aleksey in Android Guards
ты закрываешь всё окно, независимо от того, что в нем
источник

R

Rtem in Android Guards
Плюсую. Флаг ставится на активити и закрывает все окно, хоть что ты там нарисуй
источник