¿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. Uso de SecureString
- 3. Convertir cadena a SecureString
- 4. ¿Cuán seguro es mi regreso seguro?
- 5. ¿Cómo uso SecureString de forma segura?
- 6. ¿Math.random() es criptográficamente seguro?
- 7. ¿Java MulticastSocket es seguro?
- 8. FormsAuthentication: ¿Es seguro?
- 9. ¿Es seguro usar os.environ.setdefault?
- 10. ¿Es seguro .NET System.Net.CookieContainer?
- 11. ¿Es const_cast seguro?
- 12. java.text.SimpleDateFormat no es seguro
- 13. ¿Es seguro PHP exec?
- 14. Java: ¿ServerSocket.accept es seguro?
- 15. ¿Es seguro Java?
- 16. ¿Netty Channel.write es seguro?
- 17. ¿Es seguro este subproceso?
- 18. es NetNamedPipeBinding seguro?
- 19. cuán seguro es tomcat
- 20. ¿Es seguro este escenario?
- 21. TempData: ¿Es seguro?
- 22. ¿Es seguro MSMQ thread?
- 23. Revisiting Thread.Abort() - ¿es seguro?
- 24. ¿Es seguro chmod 757?
- 25. ¿Es seguro usar window.screen?
- 26. ¿Es seguro el subproceso SecurityContextHolder?
- 27. ¿Qué tan seguro es PHP?
- 28. ¿SQLite.Net es seguro para subprocesos?
- 29. ¿Es seguro el subproceso java.lang.reflect.Method?
- 30. ¿Response.Redirect (Request.Url.AbsolutePath) es siempre "seguro"?
+1 para analogy. – Ikke