elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Solucionado] -seguridad en chat simple
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Solucionado] -seguridad en chat simple  (Leído 6,976 veces)
elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
[Solucionado] -seguridad en chat simple
« en: 30 Octubre 2014, 07:09 am »

hola gente tengo una duda porq estoy haciendo un chat sencillo nomas para que se conecten 3 o 4 a una maquina servidor, tengo todo hecho funciona las pc se conectan bien bla bla. el tema es que quisiera saber a que podria enfrentarme si un usuario malintencionado atacara el servidor ?¿ uso winsock y basicamente es una conexion directa a un puerto e ip que solo el cliente que se repartio conoce, ningun usuario esta conociendo dicha ip ni puerto.

alguna sugerencia antes de liberar este trabajito la semana entrante? graciass

saluddd


« Última modificación: 1 Noviembre 2014, 04:01 am por elezekiel » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: seguridad en chat simple
« Respuesta #1 en: 30 Octubre 2014, 07:14 am »

tu conoces tu código... fuera de tu código el winsock básicamente se limita a una comunicación de paquetes de bajo nivel en protocolos standards contra el winsock hay muy poco que hacer...

tu código es la parte vulnerable normalmente... los programas fallan es por la forma en que el código está hecho... entonces tu eres quien ve las vulnerabilidades...

si el chat no está cifrado, cualquier usuario en las redes va a poder sniffear todo el contenido que salga y llegue a un cliente (a demás de meterse y hacerse pasar por el)




En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: seguridad en chat simple
« Respuesta #2 en: 30 Octubre 2014, 07:50 am »

a que te referis con cifrado? o sea, cuando envio una peticion o por ejemplo, cuando se conecta un uusuario a la sala, les avisa alos demas que esten, pero ese codigo, o sea, el aviso esta basado en algo que invente yo, o sea, a ver, no descubri america, pero me refiero, toma una especie de prefijo, por ejemplo, cuando el cliente se conecta envia como datos msgeEntrante parametro+ parametro, por decirte algo, entonces a eso el servidor lo parsea y emite el mensaje correspondiente en sala dependiendo lo que recibem cuando alguien sale vendria a ser msgeSaliente parametro+parametro.

Tal vez es algo absurdo pero no encontre otra forma de realizarlo al menos de momento.

graciasss saluddd
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: seguridad en chat simple
« Respuesta #3 en: 30 Octubre 2014, 14:49 pm »

está bien hecho :P en general así se hace, con prefijos...


pero ahora preguntate... que pasa si se envian prefijos a control del usuario? si un fastidiosos solo los quiere enviar por molestar pasa algo malo?

por otro lado lo del cifrado
Citar
si el chat no está cifrado, cualquier usuario en las redes va a poder sniffear todo el contenido que salga y llegue a un cliente (a demás de meterse y hacerse pasar por el)

cifrado es proteger los paquetes con una contraseña (por resumir) si no estan cifrado un ataque de man in the middle va a tener acceso todo lo que usuario en la misma red ve
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: seguridad en chat simple
« Respuesta #4 en: 30 Octubre 2014, 18:08 pm »

está bien hecho :P en general así se hace, con prefijos...


pero ahora preguntate... que pasa si se envian prefijos a control del usuario? si un fastidiosos solo los quiere enviar por molestar pasa algo malo?

por otro lado lo del cifrado
cifrado es proteger los paquetes con una contraseña (por resumir) si no estan cifrado un ataque de man in the middle va a tener acceso todo lo que usuario en la misma red ve
no entiendo esa parte, a que te referis?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: seguridad en chat simple
« Respuesta #5 en: 30 Octubre 2014, 21:56 pm »

cuando el cliente se conecta envia como datos msgeEntrante parametro+ parametro, por decirte algo, entonces a eso el servidor lo parsea y emite el mensaje correspondiente en sala dependiendo lo que recibem cuando alguien sale vendria a ser msgeSaliente parametro+parametro.

si preguntas sobre la seguridad ese parrafo es lo importante... mi pregunta era... que pasa si un usuario manda si el usuario empieza a mandar esos datos a lo loco?
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: seguridad en chat simple
« Respuesta #6 en: 31 Octubre 2014, 01:33 am »

bueno eso es algo que no tome en cuenta. si el cliente envia muchas peticiones no lo estoy seteando ni limitando, es un buen detalle.

como sugeris manipular las pticiones? estoy abierto a opiniones.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: seguridad en chat simple
« Respuesta #7 en: 31 Octubre 2014, 01:52 am »

has una tabla de mensajes en el servidor, si el usuario se conecta, y se mantiene conectado, si se recibe un mensaje de conexión, revisar si el usuario de ese nombre está vivo (responde a un mensaje de "estás ahí?") si vive, ignora el mensaje, si no, desconectalo y conecta al nuevo usuario...

ve así... puedes por seguridad apartar los primeros x bytes para prefijar todo ej, apartas 4 bytes

"cmmd" significa que lo que viene es un comando
"msag" significa que lo que viene es un mensaje
"conn" significa que lo que viene es una conexion
"ping" el cliente responde con un "pong" para saber que está viva la conexion
"ackn" es un "ok" una confirmacion a lo ultimo recibido

entonces seria algo como (viendo desde el servidor "<" recive, ">"manda)
Código:
<connPepito //pide conexion
>cmmdConectado //se indica que fue conectado
<ackn //confirma la conexion
>ping //ping para medir la latencia
<pong //repsuesta a ping
<cmmdEntrarChat //pide entrar al chat
>ackn //confirma
<msagHola a todos //servidor recibe el mensaje "Hola a todos"
>msagPablo: Hola //sertvidor envia mensaje "Pablo: Hola" de otro usuario

y así vas... es util tener las confirmaciones de operacion para saber que todo funciona bien y un ping para saber que el cliente vive... para todo mensaje solo sacas los primeros 4 bytes y decides que hacer (si es comando, mensaje, o que)

siempre verificar los comandos para evitar un ataque
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
elezekiel

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: seguridad en chat simple
« Respuesta #8 en: 31 Octubre 2014, 02:12 am »

excelente ejemplo, en base a lo que decis, podria crear una funcion, que compare la conexion entrante(pendiente de aprobacion), con la lista de conexiones que tengo en una variable de coleccion(activas), con todos los datos de cada uno, si coincide, ignorar solamente, sino agregarla, crees que con eso basta o al menos creo que seria bueno en un inicio, no ?

Despues tendria que ver, como comprobar si las conexiones siguen vivas, a lo que son pocas podria realizar un seteo como decis de ping/pong a los usuarios conectados.

saludd y gracias.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: seguridad en chat simple
« Respuesta #9 en: 31 Octubre 2014, 02:19 am »

lo del cifrado para que las conversaciones no sean "espiables" podrías buscarte en internet algún codigo para cifrar todo el AES, al programa le das una contraseña de conexion inicial (para que la primera peticion sea cifrada) y luego la cambias


por ejemplo... en el codigo de conexion dejas la clave "arena"

Código:
(cifrado con "arena")
<connPepito //pide conexion
>cmmdConectado //se indica que fue conectado
>cmmdPass:aslkd92384 //le indica que cambie la contraseña a "aslkd92384" que es aleatoria y generada unicamente para el
(cifrado con "aslkd92384")
<ackn //confirma la conexion

y de resto es igual... claro si analizan bien y son real conocedores de criptografía (o en su defecto le hicieron ingenieria inversa al programa) pueden sacar la clave... pero contra un ataque MItM normal por gente común es una conexión segura :)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[PHP] Simple Chat By Doddy H
PHP
BigBear 0 2,376 Último mensaje 7 Octubre 2011, 01:26 am
por BigBear
Chat por LAN bien simple.
Dudas Generales
elmonotremendo 2 5,747 Último mensaje 28 Enero 2013, 15:03 pm
por CloudswX
Ayuda calculadora simple en PHP(solucionado)
PHP
Senior++ 2 3,746 Último mensaje 16 Noviembre 2013, 18:20 pm
por Senior++
[Solucionado] Problema con simple código en C++
Programación C/C++
Mario Olivera 1 2,044 Último mensaje 14 Agosto 2014, 21:57 pm
por Eternal Idol
Chat cifrado seguridad movil
Criptografía
ambrayas 0 3,307 Último mensaje 9 Septiembre 2017, 14:07 pm
por ambrayas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines