
Los codificadores conquistan la seguridad: serie Share & Learn - Padding Oracle
Si bien Padding Oracle suena como un nombre muy malo para una banda de rock alternativo, en realidad es una vulnerabilidad que los atacantes pueden utilizar para descifrar información sin conocer la clave de cifrado.
En términos de dificultad general para un atacante, esta dificultad está cerca de la cima de la escala. No estamos hablando de un botón mágico de descifrado, sino de un laborioso proceso mediante el cual los piratas informáticos pueden examinar los mensajes de error que se les envían en relación con el relleno de celdas y usarlo para determinar dónde terminan los datos cifrados y dónde comienza el relleno. De este modo, pueden descifrar los distintos bits del cifrado y, si disponen del tiempo y los datos necesarios para examinarlos, es posible que puedan descifrarlos.
Afortunadamente, hay varios pasos relativamente sencillos que pueden eliminar la capacidad de un atacante de utilizar el oráculo de relleno para descifrar datos cifrados. En este episodio, aprenderemos lo siguiente:
- Cómo funciona
- Por qué esta vulnerabilidad es tan peligrosa
- Cómo puede establecer defensas para evitarlo.
¿Cómo funciona Padding Oracle?
El encadenamiento de bloques de cifrado (CBC) es una forma de crear un cifrado de bloques en el que una secuencia completa de bits de información, como las celdas almacenadas en una base de datos, se cifra mediante una clave de cifrado que se aplica a toda la cadena de información. Cuando se utiliza el CBC, el cifrado de un solo bloque de texto cifrado dependerá de todos los bloques anteriores. En teoría, esto hace que el cifrado sea extremadamente fuerte, ya que cualquier cosa, incluso la reordenación de los bloques, corromperá los datos.
El problema con los cifrados CBC (y con cualquier cifrado por bloques, de hecho) es que solo se pueden cifrar con bloques de tamaños exactos. Normalmente, esto se hace en tamaños de 8 o 16 bytes. Entonces, ¿qué ocurre cuando CBC necesita colocar 2 bytes de datos en una unidad de texto cifrado de 16 bytes? Utilizará relleno, básicamente caracteres sin sentido, para rellenar los huecos y hacer que la unidad tenga el tamaño adecuado.
La mayoría de los esquemas de relleno son bien conocidos, siendo el PKCS #7 uno de los más populares, por lo que los atacantes pueden saber qué tipo de relleno se está utilizando. Por ejemplo, si el CBC necesita rellenar cinco caracteres en un bloque, el PKCS #7 utilizará el valor de byte 0x05 repetido cinco veces después del texto sin formato.
Los atacantes utilizan sus conocimientos sobre el CBC y los esquemas de relleno para enviar consultas a un servidor host, también denominado oráculo. Si tienen acceso a las herramientas adecuadas, es posible que puedan obligar al servidor a que les diga si el relleno de su consulta es incorrecto. Para lograrlo, pueden pasar de cero a 255 por cada byte del cifrado hasta que el servidor les diga que el relleno es correcto. Luego, pasan a la siguiente unidad y repiten el proceso, registrando dónde comienza el relleno en cada caso.
Esto no les permite descifrar el mensaje ni siquiera la celda, pero podría permitirles mapear cada eslabón de la cadena en términos de dónde termina el texto plano y comienza el relleno. También pueden utilizar cálculos XOR para calcular el valor del último byte del texto sin formato original.
¿Por qué es tan peligroso Padding Oracle?
La razón por la que un hacker se esforzaría tanto en descifrar el cifrado es por el posible beneficio. Pocas personas cifran cosas que no son valiosas. El peligro para la organización anfitriona depende de que los datos se vean comprometidos. Esto podría incluir cosas como contraseñas, cuentas de usuario, información financiera, números de tarjetas de crédito, registros de pacientes, comunicaciones confidenciales o cualquier cantidad de información valiosa y muy solicitada.
El uso de padding oracle también podría ser la puerta de entrada a ataques posteriores. Si un atacante puede usar padding oracle para robar contraseñas, por ejemplo, aumentar sus privilegios y penetrar más profundamente en la red es una tarea secundaria fácil.
Todo el mundo piensa que el cifrado es la mejor defensa contra el espionaje o el compromiso. Sin embargo, las idas y venidas entre la ciencia del cifrado y aquellos que quieren descifrarla se han mantenido durante siglos. El oráculo acolchado es solo uno de los métodos que da ventaja a los atacantes.
Hacer que los ataques de Padding Oracle tengan un aterrizaje forzoso
Afortunadamente, hay varias formas de evitar que se acumule el oráculo. Una de las mejores es utilizar un modo de cifrado más seguro para las operaciones, como el modo Galois/Counter (GCM) o el modo Offset Codebook (OCB). Se diferencia del CBC en que utiliza un tamaño de bloque de cifrado de 128 bits. También utiliza un contador para cada bloque de datos y, a continuación, utiliza ese número para crear el texto cifrado. En otras palabras, no es susceptible a los ataques de oráculo de relleno.
La implementación de buenos controles de gestión de errores también puede afectar gravemente las posibilidades de éxito de un atacante. Dado que los ataques con oráculos de relleno se basan en la filtración de información, devuelven mensajes de error genéricos en lugar de errores de relleno específicos en caso de error de cifrado o descifrado.
También puede implementar el código de autenticación de mensajes (MAC). Los valores MAC protegen la integridad de los datos y su autenticidad, ya que permiten a los verificadores detectar cualquier cambio en el contenido del mensaje mediante una clave secreta.
Por último, todos los ataques de oráculo de relleno requieren consultas repetidas. Se pueden realizar más de 200 solicitudes para averiguar el esquema de relleno en una sola celda, multiplicado por la cantidad de unidades de información que se protegen en la cadena. Al restringir el número de solicitudes que provienen de la misma fuente, puedes detener los ataques de los oráculos de relleno denegando el acceso a un atacante antes de que realmente pueda iniciar su intento.
Estudio adicional sobre Padding Oracle
Cualquier método mediante el cual un atacante pueda descifrar información confidencial puede convertirse en una verdadera pesadilla. Sin embargo, esperamos que, en primer lugar, haya aprendido algunos buenos métodos para evitar que eso suceda.
Para leer más, puede echar un vistazo al OWASP definición y lista de verificación sobre padding oracle. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.
¿Crees que estás a la altura de la tarea de frustrar los ataques de los oráculos ahora mismo? Pruébelo en la plataforma Secure Code Warrior:


Si bien Padding Oracle suena como un nombre muy malo para una banda de rock alternativo, en realidad es una vulnerabilidad que los atacantes pueden utilizar para descifrar información sin conocer la clave de cifrado.

Secure Code Warrior aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.
Reserve una demostración

Si bien Padding Oracle suena como un nombre muy malo para una banda de rock alternativo, en realidad es una vulnerabilidad que los atacantes pueden utilizar para descifrar información sin conocer la clave de cifrado.
En términos de dificultad general para un atacante, esta dificultad está cerca de la cima de la escala. No estamos hablando de un botón mágico de descifrado, sino de un laborioso proceso mediante el cual los piratas informáticos pueden examinar los mensajes de error que se les envían en relación con el relleno de celdas y usarlo para determinar dónde terminan los datos cifrados y dónde comienza el relleno. De este modo, pueden descifrar los distintos bits del cifrado y, si disponen del tiempo y los datos necesarios para examinarlos, es posible que puedan descifrarlos.
Afortunadamente, hay varios pasos relativamente sencillos que pueden eliminar la capacidad de un atacante de utilizar el oráculo de relleno para descifrar datos cifrados. En este episodio, aprenderemos lo siguiente:
- Cómo funciona
- Por qué esta vulnerabilidad es tan peligrosa
- Cómo puede establecer defensas para evitarlo.
¿Cómo funciona Padding Oracle?
El encadenamiento de bloques de cifrado (CBC) es una forma de crear un cifrado de bloques en el que una secuencia completa de bits de información, como las celdas almacenadas en una base de datos, se cifra mediante una clave de cifrado que se aplica a toda la cadena de información. Cuando se utiliza el CBC, el cifrado de un solo bloque de texto cifrado dependerá de todos los bloques anteriores. En teoría, esto hace que el cifrado sea extremadamente fuerte, ya que cualquier cosa, incluso la reordenación de los bloques, corromperá los datos.
El problema con los cifrados CBC (y con cualquier cifrado por bloques, de hecho) es que solo se pueden cifrar con bloques de tamaños exactos. Normalmente, esto se hace en tamaños de 8 o 16 bytes. Entonces, ¿qué ocurre cuando CBC necesita colocar 2 bytes de datos en una unidad de texto cifrado de 16 bytes? Utilizará relleno, básicamente caracteres sin sentido, para rellenar los huecos y hacer que la unidad tenga el tamaño adecuado.
La mayoría de los esquemas de relleno son bien conocidos, siendo el PKCS #7 uno de los más populares, por lo que los atacantes pueden saber qué tipo de relleno se está utilizando. Por ejemplo, si el CBC necesita rellenar cinco caracteres en un bloque, el PKCS #7 utilizará el valor de byte 0x05 repetido cinco veces después del texto sin formato.
Los atacantes utilizan sus conocimientos sobre el CBC y los esquemas de relleno para enviar consultas a un servidor host, también denominado oráculo. Si tienen acceso a las herramientas adecuadas, es posible que puedan obligar al servidor a que les diga si el relleno de su consulta es incorrecto. Para lograrlo, pueden pasar de cero a 255 por cada byte del cifrado hasta que el servidor les diga que el relleno es correcto. Luego, pasan a la siguiente unidad y repiten el proceso, registrando dónde comienza el relleno en cada caso.
Esto no les permite descifrar el mensaje ni siquiera la celda, pero podría permitirles mapear cada eslabón de la cadena en términos de dónde termina el texto plano y comienza el relleno. También pueden utilizar cálculos XOR para calcular el valor del último byte del texto sin formato original.
¿Por qué es tan peligroso Padding Oracle?
La razón por la que un hacker se esforzaría tanto en descifrar el cifrado es por el posible beneficio. Pocas personas cifran cosas que no son valiosas. El peligro para la organización anfitriona depende de que los datos se vean comprometidos. Esto podría incluir cosas como contraseñas, cuentas de usuario, información financiera, números de tarjetas de crédito, registros de pacientes, comunicaciones confidenciales o cualquier cantidad de información valiosa y muy solicitada.
El uso de padding oracle también podría ser la puerta de entrada a ataques posteriores. Si un atacante puede usar padding oracle para robar contraseñas, por ejemplo, aumentar sus privilegios y penetrar más profundamente en la red es una tarea secundaria fácil.
Todo el mundo piensa que el cifrado es la mejor defensa contra el espionaje o el compromiso. Sin embargo, las idas y venidas entre la ciencia del cifrado y aquellos que quieren descifrarla se han mantenido durante siglos. El oráculo acolchado es solo uno de los métodos que da ventaja a los atacantes.
Hacer que los ataques de Padding Oracle tengan un aterrizaje forzoso
Afortunadamente, hay varias formas de evitar que se acumule el oráculo. Una de las mejores es utilizar un modo de cifrado más seguro para las operaciones, como el modo Galois/Counter (GCM) o el modo Offset Codebook (OCB). Se diferencia del CBC en que utiliza un tamaño de bloque de cifrado de 128 bits. También utiliza un contador para cada bloque de datos y, a continuación, utiliza ese número para crear el texto cifrado. En otras palabras, no es susceptible a los ataques de oráculo de relleno.
La implementación de buenos controles de gestión de errores también puede afectar gravemente las posibilidades de éxito de un atacante. Dado que los ataques con oráculos de relleno se basan en la filtración de información, devuelven mensajes de error genéricos en lugar de errores de relleno específicos en caso de error de cifrado o descifrado.
También puede implementar el código de autenticación de mensajes (MAC). Los valores MAC protegen la integridad de los datos y su autenticidad, ya que permiten a los verificadores detectar cualquier cambio en el contenido del mensaje mediante una clave secreta.
Por último, todos los ataques de oráculo de relleno requieren consultas repetidas. Se pueden realizar más de 200 solicitudes para averiguar el esquema de relleno en una sola celda, multiplicado por la cantidad de unidades de información que se protegen en la cadena. Al restringir el número de solicitudes que provienen de la misma fuente, puedes detener los ataques de los oráculos de relleno denegando el acceso a un atacante antes de que realmente pueda iniciar su intento.
Estudio adicional sobre Padding Oracle
Cualquier método mediante el cual un atacante pueda descifrar información confidencial puede convertirse en una verdadera pesadilla. Sin embargo, esperamos que, en primer lugar, haya aprendido algunos buenos métodos para evitar que eso suceda.
Para leer más, puede echar un vistazo al OWASP definición y lista de verificación sobre padding oracle. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.
¿Crees que estás a la altura de la tarea de frustrar los ataques de los oráculos ahora mismo? Pruébelo en la plataforma Secure Code Warrior:

Si bien Padding Oracle suena como un nombre muy malo para una banda de rock alternativo, en realidad es una vulnerabilidad que los atacantes pueden utilizar para descifrar información sin conocer la clave de cifrado.
En términos de dificultad general para un atacante, esta dificultad está cerca de la cima de la escala. No estamos hablando de un botón mágico de descifrado, sino de un laborioso proceso mediante el cual los piratas informáticos pueden examinar los mensajes de error que se les envían en relación con el relleno de celdas y usarlo para determinar dónde terminan los datos cifrados y dónde comienza el relleno. De este modo, pueden descifrar los distintos bits del cifrado y, si disponen del tiempo y los datos necesarios para examinarlos, es posible que puedan descifrarlos.
Afortunadamente, hay varios pasos relativamente sencillos que pueden eliminar la capacidad de un atacante de utilizar el oráculo de relleno para descifrar datos cifrados. En este episodio, aprenderemos lo siguiente:
- Cómo funciona
- Por qué esta vulnerabilidad es tan peligrosa
- Cómo puede establecer defensas para evitarlo.
¿Cómo funciona Padding Oracle?
El encadenamiento de bloques de cifrado (CBC) es una forma de crear un cifrado de bloques en el que una secuencia completa de bits de información, como las celdas almacenadas en una base de datos, se cifra mediante una clave de cifrado que se aplica a toda la cadena de información. Cuando se utiliza el CBC, el cifrado de un solo bloque de texto cifrado dependerá de todos los bloques anteriores. En teoría, esto hace que el cifrado sea extremadamente fuerte, ya que cualquier cosa, incluso la reordenación de los bloques, corromperá los datos.
El problema con los cifrados CBC (y con cualquier cifrado por bloques, de hecho) es que solo se pueden cifrar con bloques de tamaños exactos. Normalmente, esto se hace en tamaños de 8 o 16 bytes. Entonces, ¿qué ocurre cuando CBC necesita colocar 2 bytes de datos en una unidad de texto cifrado de 16 bytes? Utilizará relleno, básicamente caracteres sin sentido, para rellenar los huecos y hacer que la unidad tenga el tamaño adecuado.
La mayoría de los esquemas de relleno son bien conocidos, siendo el PKCS #7 uno de los más populares, por lo que los atacantes pueden saber qué tipo de relleno se está utilizando. Por ejemplo, si el CBC necesita rellenar cinco caracteres en un bloque, el PKCS #7 utilizará el valor de byte 0x05 repetido cinco veces después del texto sin formato.
Los atacantes utilizan sus conocimientos sobre el CBC y los esquemas de relleno para enviar consultas a un servidor host, también denominado oráculo. Si tienen acceso a las herramientas adecuadas, es posible que puedan obligar al servidor a que les diga si el relleno de su consulta es incorrecto. Para lograrlo, pueden pasar de cero a 255 por cada byte del cifrado hasta que el servidor les diga que el relleno es correcto. Luego, pasan a la siguiente unidad y repiten el proceso, registrando dónde comienza el relleno en cada caso.
Esto no les permite descifrar el mensaje ni siquiera la celda, pero podría permitirles mapear cada eslabón de la cadena en términos de dónde termina el texto plano y comienza el relleno. También pueden utilizar cálculos XOR para calcular el valor del último byte del texto sin formato original.
¿Por qué es tan peligroso Padding Oracle?
La razón por la que un hacker se esforzaría tanto en descifrar el cifrado es por el posible beneficio. Pocas personas cifran cosas que no son valiosas. El peligro para la organización anfitriona depende de que los datos se vean comprometidos. Esto podría incluir cosas como contraseñas, cuentas de usuario, información financiera, números de tarjetas de crédito, registros de pacientes, comunicaciones confidenciales o cualquier cantidad de información valiosa y muy solicitada.
El uso de padding oracle también podría ser la puerta de entrada a ataques posteriores. Si un atacante puede usar padding oracle para robar contraseñas, por ejemplo, aumentar sus privilegios y penetrar más profundamente en la red es una tarea secundaria fácil.
Todo el mundo piensa que el cifrado es la mejor defensa contra el espionaje o el compromiso. Sin embargo, las idas y venidas entre la ciencia del cifrado y aquellos que quieren descifrarla se han mantenido durante siglos. El oráculo acolchado es solo uno de los métodos que da ventaja a los atacantes.
Hacer que los ataques de Padding Oracle tengan un aterrizaje forzoso
Afortunadamente, hay varias formas de evitar que se acumule el oráculo. Una de las mejores es utilizar un modo de cifrado más seguro para las operaciones, como el modo Galois/Counter (GCM) o el modo Offset Codebook (OCB). Se diferencia del CBC en que utiliza un tamaño de bloque de cifrado de 128 bits. También utiliza un contador para cada bloque de datos y, a continuación, utiliza ese número para crear el texto cifrado. En otras palabras, no es susceptible a los ataques de oráculo de relleno.
La implementación de buenos controles de gestión de errores también puede afectar gravemente las posibilidades de éxito de un atacante. Dado que los ataques con oráculos de relleno se basan en la filtración de información, devuelven mensajes de error genéricos en lugar de errores de relleno específicos en caso de error de cifrado o descifrado.
También puede implementar el código de autenticación de mensajes (MAC). Los valores MAC protegen la integridad de los datos y su autenticidad, ya que permiten a los verificadores detectar cualquier cambio en el contenido del mensaje mediante una clave secreta.
Por último, todos los ataques de oráculo de relleno requieren consultas repetidas. Se pueden realizar más de 200 solicitudes para averiguar el esquema de relleno en una sola celda, multiplicado por la cantidad de unidades de información que se protegen en la cadena. Al restringir el número de solicitudes que provienen de la misma fuente, puedes detener los ataques de los oráculos de relleno denegando el acceso a un atacante antes de que realmente pueda iniciar su intento.
Estudio adicional sobre Padding Oracle
Cualquier método mediante el cual un atacante pueda descifrar información confidencial puede convertirse en una verdadera pesadilla. Sin embargo, esperamos que, en primer lugar, haya aprendido algunos buenos métodos para evitar que eso suceda.
Para leer más, puede echar un vistazo al OWASP definición y lista de verificación sobre padding oracle. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.
¿Crees que estás a la altura de la tarea de frustrar los ataques de los oráculos ahora mismo? Pruébelo en la plataforma Secure Code Warrior:

Haga clic en el enlace de abajo y descargue el PDF de este recurso.
Secure Code Warrior aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.
Ver informeReserve una demostraciónSi bien Padding Oracle suena como un nombre muy malo para una banda de rock alternativo, en realidad es una vulnerabilidad que los atacantes pueden utilizar para descifrar información sin conocer la clave de cifrado.
En términos de dificultad general para un atacante, esta dificultad está cerca de la cima de la escala. No estamos hablando de un botón mágico de descifrado, sino de un laborioso proceso mediante el cual los piratas informáticos pueden examinar los mensajes de error que se les envían en relación con el relleno de celdas y usarlo para determinar dónde terminan los datos cifrados y dónde comienza el relleno. De este modo, pueden descifrar los distintos bits del cifrado y, si disponen del tiempo y los datos necesarios para examinarlos, es posible que puedan descifrarlos.
Afortunadamente, hay varios pasos relativamente sencillos que pueden eliminar la capacidad de un atacante de utilizar el oráculo de relleno para descifrar datos cifrados. En este episodio, aprenderemos lo siguiente:
- Cómo funciona
- Por qué esta vulnerabilidad es tan peligrosa
- Cómo puede establecer defensas para evitarlo.
¿Cómo funciona Padding Oracle?
El encadenamiento de bloques de cifrado (CBC) es una forma de crear un cifrado de bloques en el que una secuencia completa de bits de información, como las celdas almacenadas en una base de datos, se cifra mediante una clave de cifrado que se aplica a toda la cadena de información. Cuando se utiliza el CBC, el cifrado de un solo bloque de texto cifrado dependerá de todos los bloques anteriores. En teoría, esto hace que el cifrado sea extremadamente fuerte, ya que cualquier cosa, incluso la reordenación de los bloques, corromperá los datos.
El problema con los cifrados CBC (y con cualquier cifrado por bloques, de hecho) es que solo se pueden cifrar con bloques de tamaños exactos. Normalmente, esto se hace en tamaños de 8 o 16 bytes. Entonces, ¿qué ocurre cuando CBC necesita colocar 2 bytes de datos en una unidad de texto cifrado de 16 bytes? Utilizará relleno, básicamente caracteres sin sentido, para rellenar los huecos y hacer que la unidad tenga el tamaño adecuado.
La mayoría de los esquemas de relleno son bien conocidos, siendo el PKCS #7 uno de los más populares, por lo que los atacantes pueden saber qué tipo de relleno se está utilizando. Por ejemplo, si el CBC necesita rellenar cinco caracteres en un bloque, el PKCS #7 utilizará el valor de byte 0x05 repetido cinco veces después del texto sin formato.
Los atacantes utilizan sus conocimientos sobre el CBC y los esquemas de relleno para enviar consultas a un servidor host, también denominado oráculo. Si tienen acceso a las herramientas adecuadas, es posible que puedan obligar al servidor a que les diga si el relleno de su consulta es incorrecto. Para lograrlo, pueden pasar de cero a 255 por cada byte del cifrado hasta que el servidor les diga que el relleno es correcto. Luego, pasan a la siguiente unidad y repiten el proceso, registrando dónde comienza el relleno en cada caso.
Esto no les permite descifrar el mensaje ni siquiera la celda, pero podría permitirles mapear cada eslabón de la cadena en términos de dónde termina el texto plano y comienza el relleno. También pueden utilizar cálculos XOR para calcular el valor del último byte del texto sin formato original.
¿Por qué es tan peligroso Padding Oracle?
La razón por la que un hacker se esforzaría tanto en descifrar el cifrado es por el posible beneficio. Pocas personas cifran cosas que no son valiosas. El peligro para la organización anfitriona depende de que los datos se vean comprometidos. Esto podría incluir cosas como contraseñas, cuentas de usuario, información financiera, números de tarjetas de crédito, registros de pacientes, comunicaciones confidenciales o cualquier cantidad de información valiosa y muy solicitada.
El uso de padding oracle también podría ser la puerta de entrada a ataques posteriores. Si un atacante puede usar padding oracle para robar contraseñas, por ejemplo, aumentar sus privilegios y penetrar más profundamente en la red es una tarea secundaria fácil.
Todo el mundo piensa que el cifrado es la mejor defensa contra el espionaje o el compromiso. Sin embargo, las idas y venidas entre la ciencia del cifrado y aquellos que quieren descifrarla se han mantenido durante siglos. El oráculo acolchado es solo uno de los métodos que da ventaja a los atacantes.
Hacer que los ataques de Padding Oracle tengan un aterrizaje forzoso
Afortunadamente, hay varias formas de evitar que se acumule el oráculo. Una de las mejores es utilizar un modo de cifrado más seguro para las operaciones, como el modo Galois/Counter (GCM) o el modo Offset Codebook (OCB). Se diferencia del CBC en que utiliza un tamaño de bloque de cifrado de 128 bits. También utiliza un contador para cada bloque de datos y, a continuación, utiliza ese número para crear el texto cifrado. En otras palabras, no es susceptible a los ataques de oráculo de relleno.
La implementación de buenos controles de gestión de errores también puede afectar gravemente las posibilidades de éxito de un atacante. Dado que los ataques con oráculos de relleno se basan en la filtración de información, devuelven mensajes de error genéricos en lugar de errores de relleno específicos en caso de error de cifrado o descifrado.
También puede implementar el código de autenticación de mensajes (MAC). Los valores MAC protegen la integridad de los datos y su autenticidad, ya que permiten a los verificadores detectar cualquier cambio en el contenido del mensaje mediante una clave secreta.
Por último, todos los ataques de oráculo de relleno requieren consultas repetidas. Se pueden realizar más de 200 solicitudes para averiguar el esquema de relleno en una sola celda, multiplicado por la cantidad de unidades de información que se protegen en la cadena. Al restringir el número de solicitudes que provienen de la misma fuente, puedes detener los ataques de los oráculos de relleno denegando el acceso a un atacante antes de que realmente pueda iniciar su intento.
Estudio adicional sobre Padding Oracle
Cualquier método mediante el cual un atacante pueda descifrar información confidencial puede convertirse en una verdadera pesadilla. Sin embargo, esperamos que, en primer lugar, haya aprendido algunos buenos métodos para evitar que eso suceda.
Para leer más, puede echar un vistazo al OWASP definición y lista de verificación sobre padding oracle. También puedes poner a prueba tus nuevos conocimientos defensivos con el demo gratuita de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.
¿Crees que estás a la altura de la tarea de frustrar los ataques de los oráculos ahora mismo? Pruébelo en la plataforma Secure Code Warrior:
Tabla de contenido

Secure Code Warrior aquí para que su organización le ayude a proteger el código durante todo el ciclo de vida del desarrollo de software y a crear una cultura en la que la ciberseguridad sea una prioridad. Ya sea administrador de AppSec, desarrollador, CISO o cualquier persona relacionada con la seguridad, podemos ayudar a su organización a reducir los riesgos asociados con el código inseguro.
Reserve una demostraciónDescargarRecursos para empezar
Temas y contenido de formación sobre código seguro
Nuestro contenido líder en la industria siempre está evolucionando para adaptarse al cambiante panorama del desarrollo de software teniendo en cuenta su función. Se ofrecen temas que abarcan desde la IA hasta la inyección de XQuery para distintos puestos, desde arquitectos e ingenieros hasta directores de productos y control de calidad. Obtenga un adelanto de lo que ofrece nuestro catálogo de contenido por tema y función.
La Cámara de Comercio establece el estándar para la seguridad impulsada por desarrolladores a gran escala
Kamer van Koophandel comparte cómo ha integrado la codificación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de Trust Score y una cultura de responsabilidad compartida en materia de seguridad.
Modelado de amenazas con IA: convertir a cada desarrollador en un modelador de amenazas
Saldrá mejor equipado para ayudar a los desarrolladores a combinar ideas y técnicas de modelado de amenazas con las herramientas de IA que ya utilizan para reforzar la seguridad, mejorar la colaboración y crear software más resistente desde el principio.
Recursos para empezar
Cybermon está de vuelta: las misiones de IA de Beat the Boss ya están disponibles bajo demanda.
Cybermon 2025 Beat the Boss ya está disponible durante todo el año en SCW. Implemente desafíos de seguridad avanzados de IA y LLM para fortalecer el desarrollo seguro de la IA a gran escala.
Explicación de la Ley de Ciberresiliencia: qué significa para el desarrollo de software seguro por diseño
Descubra qué exige la Ley de Ciberresiliencia (CRA) de la UE, a quién se aplica y cómo los equipos de ingeniería pueden prepararse con prácticas de diseño seguras, prevención de vulnerabilidades y desarrollo de capacidades para desarrolladores.
Facilitador 1: Criterios de éxito definidos y medibles
El habilitador 1 da inicio a nuestra serie Enablers of Success, de 10 partes, mostrando cómo vincular la codificación segura con los resultados empresariales, como la reducción del riesgo y la velocidad para lograr la madurez del programa a largo plazo.



%20(1).avif)
.avif)
