¿Sabes qué es un ataque de cambio de bits? ¿Qué impacto tiene cambiar un bit de información en un proceso de cifrado por bloques? ¿Cómo se puede explotar este fallo criptográfico en un ejercicio de hacking?
A continuación, hablaremos sobre qué es un ataque de cambio de bits y qué efecto puede tener en la seguridad de un algoritmo de cifrado por bloques.
Modo de operación CBC
Para entender qué es un ataque de cambio de bits, es necesario saber cómo funciona el modo de operación de cifrado por bloques CBC.
En el modo de operación de cifrado por bloques CBC (cipher-block chaining), la encriptación de cada bloque depende de la del bloque anterior, ya que se obtiene haciendo una operación XOR entre el bloque de plaintext y el último ciphertext anterior. De esta manera, la codificación de cada bloque depende de todo el proceso de cifrado hasta ese punto. Para cifrar el primer bloque de información, se utiliza un vector de inicialización o IV», que no es secreto y nunca debe repetirse.
Para el modo de operación de cifrado CBC, se requiere:
- El bloque de texto plano.
- El vector de inicialización (IV).
- La clave (K).
- El algoritmo de cifrado por bloques.
Su funcionamiento es el siguiente:
- Se hace una operación XOR entre el primer bloque de texto plano y el vector de inicialización (IV), que nunca debe reutilizarse.
- Se ejecuta un algoritmo de cifrado (AES, por ejemplo) y se obtiene el bloque de texto cifrado.
- Se hace una operación XOR entre el bloque de texto cifrado y el segundo bloque de texto plano del mensaje.
- Se ejecuta el algoritmo de cifrado y se obtiene un segundo bloque de texto cifrado.
- Se repite el proceso la cantidad de veces que sea necesario para el mensaje.
¿Qué es un ataque de cambio de bits?
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaUn ataque de cambio de bits se produce cuando se modifican uno o más bits de información en un bloque de texto cifrado y el resultado perjudica la confidencialidad, integridad o autenticidad del mensaje. Para comprender cómo funciona este ataque, es necesario saber qué sucede cuando cambiamos un bit de información en una operación de cifrado por bloques CBC.
Debido al funcionamiento del modo de cifrado CBC que acabamos de describir, si cambiamos un bit de información sucedería lo siguiente:
- Al cambiar un bit del ciphertext y ejecutar la función del algoritmo de bloques, se obtendrá como resultado un nuevo texto cifrado totalmente diferente al que debería aparecer. A partir de esto, no se puede hacer ningún ataque ni conocer la información, pues una de las propiedades de un algoritmo de bloques seguro es que siempre produzca resultados diferentes, incluso para entradas que sean similares.
- Sin embargo, si cambiamos un bit de ciphertext a la hora de desencriptar, veremos que ocurrirá una modificación justo en la posición del bit que se haya alterado.
Esta técnica la utilizan los hackers para realizar ataques de denegación de servicio en sistemas que dependen del modo de cifrado CBC para el funcionamiento de sus aplicaciones. Este tipo de ataque podría usarlo un intermediario malicioso que intercepte y modifique las comunicaciones de los usuarios.
Ahora sabes qué es un ataque de cambio de bits, así que ahora hablaremos sobre los métodos de defensa que existen para evitarlos.
¿Cómo protegerse de un ataque de cambio de bits?
Ya hemos visto qué es un ataque de cambio de bits y cuál podría ser su principal consecuencia: la denegación de servicio de una aplicación. ¿Cómo podemos evitar que suceda?
Principalmente, en informática se ha diferenciado el uso de cada modo de cifrado, según sus vulnerabilidades, niveles de seguridad y practicidad. Por ejemplo, el modo de cifrado CBC es uno que no se suele utilizar para almacenamiento de discos, ya que al ser un proceso acumulativo llevaría demasiado tiempo y trabajo realizar cualquier cambio. Así pues, una de las principales defensas en contra de un ataque de cambio de bits es elegir el modo de cifrado adecuado para las tecnologías que utilizamos.
Como esto no está en manos de los usuarios, también existen hábitos que estos pueden aplicar para evitar que ocurra un cambio de bits malicioso. Principalmente, se recomiendan las diferentes medidas para evitar un ataque de intermediario, que sería el principal origen de modificaciones malintencionadas de la información.
Para evitar ataques de intermediario se recomienda:
- Usar una VPN, que le agrega una capa de cifrado a las comunicaciones.
- Evitar el uso de redes wifi públicas.
- Conectarse siempre con páginas que usen el protocolo HTTPS.
¿Cómo aprender más?
Ya sabes qué es un ataque de cambio de bits y qué consecuencias podría producir. Si quieres seguir aprendiendo y convertirte en un experto en ciberseguridad, apúntate ya a nuestro Ciberseguridad Full Stack Bootcamp y especialízate en menos de 7 meses.