Autor
|
Tema: Sistema de login muy seguro (Leído 15,164 veces)
|
Shout
Desconectado
Mensajes: 191
Acid
|
No me he explicado bien.
Tu sistema es bueno, pero también se puede "crackear" a parte que su implantación tiene un coste de gestión elevadísimo si lo extrapolamos a gran escala (Necesitas tener la capacidad de generar una copia única cifrada para cada cliente, así como su HWID y su contraseña. Cada actualización que realices supone modificar el 100% de las licencias distribuidas a clientes, etc...). Por no hablar que limitas el uso de la aplicación a clientes con Internet permanente.
En cuanto un cliente legítimo realice la validación, el server envía la contraseña y se des-cifra el ejecutable, no? En ese momento el cliente puede dumpear el ejecutable des-cifrado y almacenar una copia del software sin "protección", pudiendo distribuirla por la red libremente.
Claro que se puede crackear, pero sólo por usuarios que tengan acceso legítimo al programa. Está claro que no hay nada incrackeable. Pero si necesitas darle un programa a alguien (que no sepa mucho) y quieres evitar que se lo pase a los demás, este sistema es perfecto.
|
|
|
En línea
|
I'll bring you death and pestilence, I'll bring you down on my own
|
|
|
TomaSs
Desconectado
Mensajes: 101
|
Pues yo tengo una solución verdaderamente segura, con la que es 99.9% imposible crackear tu aplicación.
Primero: encriptas el .exe compilado de tu programa con algún cifrado con contraseña (tipo AES, así, el archivo varía según la contraseña, por lo tanto, es imposible recuperar el archivo original sin esa contraseña)
Luego, creas un "loader" que se encargará de enviar el Hardware ID (HWID) al servidor. En el servidor, compruebas que el HWID esté en la base de datos. Si lo está, envías la contraseña al cliente para que desencripte el programa original y se pueda ejecutar. Si no es un HWID que esté en tu base de datos de HWIDs válidos, envías una contraseña aleatoria y el archivo no podrá ser descifrado.
Esto es imposible de crackear (eso sí, si la contraseña es 12345, no esperes que dure mucho). Si pones una contraseña larga y jodida, nadie podrá jamás ejecutar ese código, ya que, para bruteforcear eso, necesitas muchísimos años de crackeo.
No tiene mala pinta lo que planteas, bueno, en general lo que planteáis todos está bien. Pero, en cuanto a tu método, que me dices si lo que se crackea es el loader, de tal mantera que el HWID que es enviado al servidor sea un HWID perteneciente al de otro usuario, bien crackeando la obtención de este HWID o bien crackeando el HWID que se le envía al servidor. Que opinas de eso? Gracias por las respuestas a todos
|
|
|
En línea
|
|
|
|
Spiritdead5
Desconectado
Mensajes: 17
|
Pues yo tengo una solución verdaderamente segura, con la que es 99.9% imposible crackear tu aplicación.
Primero: encriptas el .exe compilado de tu programa con algún cifrado con contraseña (tipo AES, así, el archivo varía según la contraseña, por lo tanto, es imposible recuperar el archivo original sin esa contraseña)
Luego, creas un "loader" que se encargará de enviar el Hardware ID (HWID) al servidor. En el servidor, compruebas que el HWID esté en la base de datos. Si lo está, envías la contraseña al cliente para que desencripte el programa original y se pueda ejecutar. Si no es un HWID que esté en tu base de datos de HWIDs válidos, envías una contraseña aleatoria y el archivo no podrá ser descifrado.
Esto es imposible de crackear (eso sí, si la contraseña es 12345, no esperes que dure mucho). Si pones una contraseña larga y jodida, nadie podrá jamás ejecutar ese código, ya que, para bruteforcear eso, necesitas muchísimos años de crackeo.
y planteo 1 pequeño sniffer q intercete esa informacion y obtengo esa password
|
|
|
En línea
|
|
|
|
z3nth10n
Desconectado
Mensajes: 1.583
"Jack of all trades, master of none." - Zenthion
|
|
|
|
En línea
|
⏩ Interesados hablad por Discord.
|
|
|
Maurice_Lupin
Desconectado
Mensajes: 356
GPS
|
Me recuerda al caso de las zonas hotspot que utilizan el cifrado md5. La ventana de login cifra el pass antes de enviarlo al servidor, solución snifear a un usuario y guardar el hash y luego modificar la ventana de login para que sólo envie el hash.
Saludos.
|
|
|
En línea
|
Un error se comete al equivocarse.
|
|
|
Mad Antrax
|
Buenas propuestas, pero siempre hay que partir desde la idea clara que no existe nada in-crackeable en teoría.
Cualquier protección que se pueda programar se podrá crackear. Solo podemos decidir lo fácil o dificil que resultará para el cracker.
Saludos
|
|
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
TomaSs
Desconectado
Mensajes: 101
|
Cito de una respuesta que me dieron en otro hilo de este foro, y que es bastante interesante, eso si, parece que tiene su complejidad, sobre todo en cuanto a la carga dinámica de la dll. Si te logeas contra un server, podrias hacer que el proggie use una DLL que este solo en el server y que se envie al user al loguearse. La DLL no deberia escribirse en disco, sino cargarse dinamicamente. Con ya te sacas de encima a varios... Para el login podrias usar un hashing tipo sha256, haciendo que el sistema sea mas seguro. Puedes usar la MAC address, serial del disco, CPUID, etc, etc. Por supuesto, en .NET deberas usar algo mas que ofuscacion y ademas, para hacer la proteccion "bien jodida" deberías implementar checkeos aleatorios y aislados dentro del codigo, para verificar la autenticidad de user. El nivel de protección aumentará proporcionalmente al tiempo que le dediques a la misma. Saludos!
|
|
|
En línea
|
|
|
|
Shout
Desconectado
Mensajes: 191
Acid
|
No tiene mala pinta lo que planteas, bueno, en general lo que planteáis todos está bien. Pero, en cuanto a tu método, que me dices si lo que se crackea es el loader, de tal mantera que el HWID que es enviado al servidor sea un HWID perteneciente al de otro usuario, bien crackeando la obtención de este HWID o bien crackeando el HWID que se le envía al servidor. Que opinas de eso? Gracias por las respuestas a todos Es como si el administrador de una web se pone la contraseña más difícil del mundo, pero viene un listo y se la saca del auto-guardado de su navegador. Y claro, si tienes el HWID de un usuario legítimo, está claro que podrás descifrar el programa. y planteo 1 pequeño sniffer q intercete esa informacion y obtengo esa password Claro, pero es que si tienes que robarme mi HWID, no puedes, a menos que me metas un virus (que tampoco es fácil) y me robes el HWID. De otra manera, no sabes dónde vivo, no sabes la contraseña de mi red (y no la vas a encontrar, uso WPA2 con una contraseña jodida), no sabes qué ordenador (y cuándo) usará el programa... Buenas propuestas, pero siempre hay que partir desde la idea clara que no existe nada in-crackeable en teoría.
Cualquier protección que se pueda programar se podrá crackear. Solo podemos decidir lo fácil o dificil que resultará para el cracker.
Saludos
Claro que no hay nada que no se pueda crackear. Pero si se cifra el software y sólo yo (por ejemplo, claro) puedo usarlo, a menos que te conectes a mi red (y me snifees mientras uso el programa) o me metas un troyano, no podrás descifrar el archivo en menos de 1.000.000 años con un PC de los más potentes que existen. Y para el colmo, si queréis que sea más seguro, podéis implementar un sistema PGP para que la clave no se pueda sniffear. Así, sólo se podría obtener el archivo descifrado con un troyano / acceso directo a un PC con un HWID válido.
|
|
|
En línea
|
I'll bring you death and pestilence, I'll bring you down on my own
|
|
|
Maurice_Lupin
Desconectado
Mensajes: 356
GPS
|
Eso de cargarse una dll, me suena a que muchos antivirus saltarán.
Intenté hacer un Crypter Runtime para una aplicación, el cifrado no tenia codigo malicioso y todos los antivirus saltaban. Parece que le han dado mala fama a ciertas funciones de inyección de memoria y los antivirus saltan paranoicos.
Me recomendaron una vez, que mi aplicación sea Open Source para ya no hacer higado, que opinan?
Saludos.
|
|
|
En línea
|
Un error se comete al equivocarse.
|
|
|
TomaSs
Desconectado
Mensajes: 101
|
Es como si el administrador de una web se pone la contraseña más difícil del mundo, pero viene un listo y se la saca del auto-guardado de su navegador. Y claro, si tienes el HWID de un usuario legítimo, está claro que podrás descifrar el programa.Claro, pero es que si tienes que robarme mi HWID, no puedes, a menos que me metas un virus (que tampoco es fácil) y me robes el HWID. De otra manera, no sabes dónde vivo, no sabes la contraseña de mi red (y no la vas a encontrar, uso WPA2 con una contraseña jodida), no sabes qué ordenador (y cuándo) usará el programa...Claro que no hay nada que no se pueda crackear. Pero si se cifra el software y sólo yo (por ejemplo, claro) puedo usarlo, a menos que te conectes a mi red (y me snifees mientras uso el programa) o me metas un troyano, no podrás descifrar el archivo en menos de 1.000.000 años con un PC de los más potentes que existen. Y para el colmo, si queréis que sea más seguro, podéis implementar un sistema PGP para que la clave no se pueda sniffear. Así, sólo se podría obtener el archivo descifrado con un troyano / acceso directo a un PC con un HWID válido. Claro, pero es que otros usuarios a los cuales les de permiso (o les venda) mi programa podrán pasar su HWID a otros para que lo crackeen, o crackearlo ellos mismos, así es que eso no sirve de mucho...
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Sistema de login.
PHP
|
lnvisible
|
4
|
3,029
|
1 Diciembre 2011, 04:33 am
por #!drvy
|
|
|
¿Qué tan seguro es este login que he planteado en un sitio web en ASP.Net?
Desarrollo Web
|
TwisteD420
|
4
|
4,947
|
4 Abril 2012, 02:42 am
por TwisteD420
|
|
|
Sistema de Login Seguro
PHP
|
GameAndWatch
|
6
|
9,262
|
23 Junio 2012, 17:02 pm
por marko1985
|
|
|
Login seguro para desarrollo web
Seguridad
|
vctr89
|
0
|
2,856
|
16 Agosto 2013, 18:29 pm
por vctr89
|
|
|
Sistema de login muy seguro
Ingeniería Inversa
|
TomaSs
|
2
|
3,112
|
26 Septiembre 2013, 19:09 pm
por TomaSs
|
|