Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: TomaSs en 26 Septiembre 2013, 14:21 pm



Título: Sistema de login muy seguro
Publicado por: TomaSs en 26 Septiembre 2013, 14:21 pm
Hola gente.
Cito textualmente un mensaje que escribí en otra zona del foro (.NET) para ver si aquí podrían ayudarme, ya que creo que está algo relacionada con el tema de ingeniería inversa, aunque lo que quiera sea evitarla xdd

Sabrían decirme los métodos que podría utilizar para hacer un login altamente seguro?
La cuestión sería que se envíen los datos de logeo a una base de datos remota y que esta devuelva si son correctos o no.
No pido como hacer la petición remota ni nada de eso, sino como debería cifrar la respuesta y comprobarla posteriormente (no con un simple if) de tal manera que no sea fácil de crakear.

Y ya aprovecho también, para preguntar sobre que "identificador" o algún número de serie o algo que me permita identificar un ordenador para así hacer que mi programa únicamente funcione en un pc concreto.
De esta manera podría basar también la respuesta de la base de datos en base a ese identificador también, para así cerciorarme de que se ejecuta únicamente en ese pc, y así hacer más difícil aún el crakeado.

A ver si me podéis orientar un poco algunos que hayáis tenido que usar algo de esto.
Muchas gracias!


Título: Re: Sistema de login muy seguro
Publicado por: MCKSys Argentina en 26 Septiembre 2013, 17:11 pm
Sabrían decirme los métodos que podría utilizar para hacer un login altamente seguro?
La cuestión sería que se envíen los datos de logeo a una base de datos remota y que esta devuelva si son correctos o no.
No pido como hacer la petición remota ni nada de eso, sino como debería cifrar la respuesta y comprobarla posteriormente (no con un simple if) de tal manera que no sea fácil de crakear.

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...  :P

Para el login podrias usar un hashing tipo sha256, haciendo que el sistema sea mas seguro.

Y ya aprovecho también, para preguntar sobre que "identificador" o algún número de serie o algo que me permita identificar un ordenador para así hacer que mi programa únicamente funcione en un pc concreto.
De esta manera podría basar también la respuesta de la base de datos en base a ese identificador también, para así cerciorarme de que se ejecuta únicamente en ese pc, y así hacer más difícil aún el crakeado.

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!


Título: Re: Sistema de login muy seguro
Publicado por: TomaSs en 26 Septiembre 2013, 19:09 pm
Ok perfecto, muchísimas gracias ;)

En cuanto a lo de la carga dinámica de la dll, parece interesante, pero también parece bastante complicado.
Exactamente que podría hacer esa dll? contener parte de la comprobación de credenciales?

Algo que también he pensado, y que podría estar bien sería hacer otro programita a parte que funcione como de logger únicamente y que este reciba la dll, la cual sea usada para lanzar el programa principal.
Porque también cuento con otra ventaja, y es que podría hacer programitas personalizados y dlls personalizadas para cada usuario del programa, ya que no sería un programa para mucha gente.