2009-05-14 4 views
8

Есть ли какие-либо рекомендации по безопасному использованию SecureString? Я не вижу никакого способа даже создать безопасную строку в первую очередь, так как вам понадобится ее ввести из текстового поля в какой-то момент.Безопасен SecureString?

ответ

5

Все дело в уменьшении поверхности атаки. Это не будет волшебным образом сделать ваше приложение 100% безопасным, но это, безусловно, помогает.

0

Даже если содержимое строки должно поступать от пользовательского ввода, все равно стоит использовать SecureString, если значение содержит конфиденциальную информацию. Когда ваше приложение читает содержимое текстового поля, поместите это значение в SecureString при первой же возможности. Как говорит Мехрдад, в этом случае он не на 100% безопасен, но больше безопасен, чем не использует SecureString.

9

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

Это немного похоже на ручку блокировки рулевого колеса для автомобиля. Это не остановит вашу машину, украденную кем-то, кто определен, но это, безусловно, отвлекает оппортунистических воров.

+1

+1 для аналогий. – Ikke

3

Строка легко доступна любому, у кого есть отладчик, доступ к машине, используя такие инструменты, как hawkeye. Действительно, community notes on MSDN делают это ясным.

Смежные вопросы