¿Como funciona ACK?

Iniciado por pacosn1111, 17 Agosto 2016, 16:15 PM

0 Miembros y 1 Visitante están viendo este tema.

pacosn1111

Buenas, estaba leyendo sobre el bug tan polémico que afecta a todos los kernels linux entre el 3.6 y el 4.6, pero creo que no entiendo muy bien el sistema ACK. Por lo que tengo entendido siempre que se abre una conexión TCP, se realizan los llamados 3 pasos. SYN/SYN-ACK/ACK y luego leo que el fallo es por el límite que establece por segundo, es decir, que por defecto se envian 100 peticiones ACK, que por lo que se ve es poco y por eso es vulnerable.

Pero sigo sin pillarlo del todo, ¿Qué es exactamente ACK y como afecta a ese límite en el kernel? Sé para que sirve, precisamente para evitar spoofing y garantizar la fiabilidad de los datos, pero no entiendo que es exactamente y como funciona.

Gracias.

engel lex

como afecta, no se, ya que no se a cual vulnerabilidad te refieres

el ack (acknowdelege o "entendido" en español) es un mensaje de respuesta en apertura de comunicacion...  la comunicacion tcp requiere de respuesta por cada mensaje para asegurar que la información llega entera, aqui entra el ack avisando que la información llego en cada caso, pero por lo que veo te refieres específicamente al del "saludo"

un pc quiere abrir una comunicación, envia syn (sincronización) al servidor, el servidor responde esto confirmando el syn, con syn-ack, pero aun requiere que el cliente confirme que sabe que la comunicación se abrió (espera el ack)

que vulnerabilidad es?
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.

pacosn1111

Cita de: engel lex en 17 Agosto 2016, 18:40 PM
como afecta, no se, ya que no se a cual vulnerabilidad te refieres

el ack (acknowdelege o "entendido" en español) es un mensaje de respuesta en apertura de comunicacion...  la comunicacion tcp requiere de respuesta por cada mensaje para asegurar que la información llega entera, aqui entra el ack avisando que la información llego en cada caso, pero por lo que veo te refieres específicamente al del "saludo"

un pc quiere abrir una comunicación, envia syn (sincronización) al servidor, el servidor responde esto confirmando el syn, con syn-ack, pero aun requiere que el cliente confirme que sabe que la comunicación se abrió (espera el ack)

que vulnerabilidad es?

Gracias por responder. Más o menos entiendo para que sirve ACK, pero no entiendo lo suficiente como para comprender la vulnerabilidad que dije.

La vulnerabilidad es esta: http://muyseguridad.net/2016/08/12/vulnerabilidad-tcp-linux-android/ Está por todos lados últimamente.

engel lex

los mensajes ACK tienen un numero de secuencia, la cosa es que es un ataque quirúrgico con mucho conocimiento de ambas partes sobre redes no cifradas... si mandas el numero de secuencia correcto, desincronizas a los conectados, quedando tu sincronizado por lo que veo... este no será el hearth bleed de este año, por lo dificil que es
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.

pacosn1111

Cita de: engel lex en 18 Agosto 2016, 01:19 AM
los mensajes ACK tienen un numero de secuencia, la cosa es que es un ataque quirúrgico con mucho conocimiento de ambas partes sobre redes no cifradas... si mandas el numero de secuencia correcto, desincronizas a los conectados, quedando tu sincronizado por lo que veo... este no será el hearth bleed de este año, por lo dificil que es

Entonces, lo que quiere decir, es que para "mantener la conexión" se envian cada X segundos X número de paquetes ACK, y si dichos paquetes se falsean, desconectas a "foo" y te quedas tú sincronizado no? Tendría sentido, por que para "solucionar" temporalmente la vulnerabilidad, lo que se hace es aumentar el límite de paquetes ACK por segundo de 100 (que es el que viene por defecto y el que genera el problema) a 1000. ¿Estoy en lo cierto?