¿Hay alguna guía sobre el uso de SecureString de manera segura? No veo que haya alguna forma de siquiera crear la cadena segura en primer lugar, ya que en algún momento necesitará que se ingrese desde un cuadro de texto.¿SecureString es seguro?
Respuesta
Probablemente no quiera usar SecureString. Parece que el PG en realidad podría no admitirlo o incluso jalarlo en el futuro - https://github.com/dotnet/apireviews/tree/master/2015-07-14-securestring.
Se trata de reducir la superficie de ataque. No hará mágicamente que su aplicación sea 100% segura, pero ciertamente ayuda.
Incluso si el contenido de la cadena tiene que provenir de la entrada del usuario, vale la pena usar SecureString si el valor contiene información confidencial. Cuando su aplicación lea los contenidos del cuadro de texto, coloque el valor en un SecureString a la primera oportunidad. Como dice Mehrdad, en este caso no es 100% seguro, pero es más seguro que no usar SecureString.
El propósito de SecureString es cifrar el almacenamiento de los datos en la memoria. Esto protege contra escaneos de memoria de texto claros. Esto puede ser aún más importante si la porción de memoria que contiene la cadena se mueve a un archivo de intercambio durante las operaciones de búsqueda.
Es un poco como un bloqueo de giro del volante de un automóvil. No impedirá que alguien que esté resuelto robe tu automóvil, pero sin duda aleja a los ladrones oportunistas.
La cadena está fácilmente disponible para cualquier persona con acceso de depurador a la máquina, utilizando herramientas como ojo de lagarto. De hecho, el community notes on MSDN deja esto en claro.
- 1. Guardar un SecureString
- 2. Convertir cadena a SecureString
- 3. Uso de SecureString
- 4. ¿Cuán seguro es mi regreso seguro?
- 5. ¿Cómo uso SecureString de forma segura?
- 6. ¿Es seguro .NET System.Net.CookieContainer?
- 7. ¿Es seguro usar os.environ.setdefault?
- 8. Revisiting Thread.Abort() - ¿es seguro?
- 9. ¿Es seguro Java?
- 10. Java: ¿ServerSocket.accept es seguro?
- 11. ¿Es seguro MSMQ thread?
- 12. es NetNamedPipeBinding seguro?
- 13. cuán seguro es tomcat
- 14. ¿Es seguro chmod 757?
- 15. ¿Java MulticastSocket es seguro?
- 16. ¿Es seguro este escenario?
- 17. java.text.SimpleDateFormat no es seguro
- 18. ¿Es seguro usar window.screen?
- 19. TempData: ¿Es seguro?
- 20. ¿Es seguro este subproceso?
- 21. ¿Netty Channel.write es seguro?
- 22. ¿Es seguro PHP exec?
- 23. FormsAuthentication: ¿Es seguro?
- 24. ¿Es const_cast seguro?
- 25. ¿Math.random() es criptográficamente seguro?
- 26. ¿Es seguro registrarse con CancellationToken.None?
- 27. NSTimer ¿es seguro para subprocesos?
- 28. ¿PrintWriter es seguro para subprocesos?
- 29. Enum.TryParse - ¿es seguro para subprocesos?
- 30. ¿Por qué ConcurrentHashMap.putifAbsent es seguro?
+1 para analogy. – Ikke