170 похожих чатов

Кратко опишу проблему: Хочу к своему "самописному" менеджеру паролей добавить немного

безопасности. нужно чтобы пароли отображался в UI в нормальном текстовом виде, и потому подход с использованием SecureString и специальных пассвордбоксов со звездочками вместо символов не подходят в том виде в котором оно описано в интернетах, потому сейчас все в простом текстовом виде работает. с шифрованием и хранением данным на диске сложностей нет, а вот в оперативной памяти остаются следы, которые меня немного раздражают потому как память может в неочищенном виде попасть наружу. как сделать правильное "забеление" памяти в шарпе? вот самое "разумное" что приходит в голову - это при закрытии программы, закрыть все окна, и сгенерировать значительное количество случайных данных, чтобы перезаписать выделенную память процесса, потому как CLR вроде бы не должен возвращать винде освобожденную память сразу. само собой гарантировать результат такое не может, но кажется должно работать. (дампы памяти я не проверял, при таком подходе). если кто-то знает хорошее решение, то подскажите. лично мне кажется контроль памяти надо как-то через WIN API делать и контролировать всю выделенную и освобожденную память процесса.


хотелось бы быть уверенным, что сам WPF не сделает "лишних" копий строки с паролей для своих внутренних потребностей.

5 ответов

12 просмотров

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

Эм. А вы проверяли, что она может попасть в неочищенном виде наружу? В современных ОС так это не работает, насколько мне известно. То есть если даже откусить себе памяти mallocом, то далеко не рандомные значения будут, а одно и тоже значение размазанное на весь выделенный участок.

Алексей- Автор вопроса
Anton 『被遗忘的社会』
Эм. А вы проверяли, что она может попасть в неочищ...

я хз как проверить на практике такое. конечно я в этом не уверен, но все равно хотел бы забелить память

Алексей
я хз как проверить на практике такое. конечно я в ...

Короче вообще можешь тупо unsafe методов получить доступ к памяти, где хранится твоя строка и забить её нулями

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта