Уязвимые данные в памяти

Я работаю над менеджером паролей Java, и у меня в настоящее время есть все данные пользователя, будучи дешифрованным из файла, сидя без дела в памяти в любом случае и сохраненный явно как Строка для отображения в UI и т.д.

Действительно ли это - угроза безопасности всегда? Я особенно обеспокоен кем-то "дамп" или чтение памяти компьютера в некотором роде и нахождение явных данных пользователя.

Я рассмотрел хранение всех чувствительных частей данных (пароли) зашифрованный и только дешифрование каждой части по мере необходимости и уничтожение после этого..., но я не прошел бы и изменил бы много кода суеверия.

19
задан Josh Caswell 29 July 2017 в 14:22
поделиться

4 ответа

Если ваш противник имеет возможность запускать произвольный код на вашей целевой машине (с правами отладчика, необходимыми для дампа образа процесса), то вы все в порядке.

Если ваш противник имеет возможность точно считывать память на расстоянии (т.е. TEMPEST), то вы все равно окажетесь в полной заднице.

Защитите данные при транспортировке и хранении (на проводе и на диске), но не беспокойтесь* о данных в памяти.

*Хорошо, есть классы программ, о которых нужно беспокоиться. 99.99% всех приложений - нет, я ставлю на то, что ваша - нет.

23
ответ дан 30 November 2019 в 03:34
поделиться

Теоретически, вы не можете полностью защитить что-либо в памяти. Некоторая группа там смогла глубоко заморозить чипы памяти и прочитать их содержимое через 4 часа после того как компьютер был выключен. Даже без того, чтобы не идти на такие длины, отладчик и точка останова в нужное время сделают трюк.

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

5
ответ дан 30 November 2019 в 03:34
поделиться

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

5
ответ дан 30 November 2019 в 03:34
поделиться

Стоит отметить, что операционная система может принять решение о замене памяти на диск, где она может оставаться довольно долго. Конечно, для чтения файла подкачки требуются сильные приватности, но кто знает? Ноутбук пользователя может быть украден ...

4
ответ дан 30 November 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: