Numerosos clientes me han dicho que mi sugerencia de cambiar el algoritmo en una aplicación web no aumenta la seguridad. He intentado razonar que si los archivos no han sido expuestos, el atacante tiene que adivinar el algoritmo.
Hace unos días, estaba evaluando el sitio de un amigo y señalé algunas vulnerabilidades de SQLi. No tuve acceso a los archivos. Como anteriormente, mi amigo me dijo que estaba equivocado al sugerir un algoritmo diferente a pesar de que puede manejar las concesiones a un algoritmo diferente.
Mi razonamiento con él fue que un atacante no conocería tu algoritmo, por lo que descartaste a una minoría de atacantes simplemente cambiando algo. Si usaran una herramienta como hashcat e intentaran romper el hash con un ajuste preestablecido, no los llevaría a ningún lado. Aunque esto es seguridad a través de la oscuridad, funciona de una manera que usted se defendió solo un poco si tiene otro SQLi.
Insistió en no cambiar el algoritmo porque cualquiera que explote el sitio es una bandera blanca automática. Él asume que si se recupera un hash, todos se tomarán el tiempo para resolverlo.
El hash predeterminado es md5. Sugerí PBKDF2 o bcrypt.
Solo como una doble opinión: ¿Quién, en teoría y actualidad, es correcto en esta situación?
¿Es correcto que ponga una bandera blanca si alguien recupera el hash de un administrador? ¿Sería correcto al decir que esto es un uso práctico de la seguridad a través de la oscuridad? ... O si no es seguridad a través de la oscuridad en absoluto?