Los codificadores conquistan la seguridad: Share & Learn Series - Padding Oracle
Aunque "Padding Oracle" suena como un nombre realmente malo para un grupo de rock alternativo, en realidad es una vulnerabilidad que puede ser utilizada por los atacantes para descifrar información sin conocer la clave de cifrado.
En términos de dificultad general para un atacante, ésta está cerca de la cima de la escala. No estamos hablando de un botón mágico de descifrado, sino de un laborioso proceso en el que los hackers pueden examinar los mensajes de error que se les envían en relación con el relleno de las celdas, y utilizarlo para determinar dónde terminan los datos cifrados y dónde empieza el relleno. A continuación, pueden averiguar varios bits dentro del cifrado y, posiblemente, descifrarlo si disponen de tiempo y datos suficientes para examinarlo.
Afortunadamente, hay varios pasos relativamente sencillos que pueden eliminar la capacidad de un atacante de utilizar el oráculo de relleno para descifrar los datos cifrados. En este episodio, aprenderemos:
- Cómo funciona
- Por qué esta vulnerabilidad es tan peligrosa
- Cómo puede poner 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 toda una secuencia de bits de información, como las celdas almacenadas en una base de datos, se cifran utilizando 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 de los cifrados CBC (y de cualquier cifrado en bloque, en realidad) es que sólo pueden cifrarse utilizando bloques de tamaños exactos. Normalmente, esto se hace en tamaños de 8 o 16 bytes. Entonces, ¿qué ocurre cuando CBC necesita meter 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 un tamaño adecuado.
La mayoría de los esquemas de relleno son bien conocidos, siendo PKCS#7 uno de los más populares, por lo que los atacantes podrían saber qué tipo de relleno se está utilizando. Por ejemplo, si el CBC necesita rellenar cinco caracteres en un bloque, el PKCS#7 utilizaría el valor del byte 0x05 repetido cinco veces después del texto plano.
Los atacantes utilizan su conocimiento de los esquemas CBC y de relleno para enviar consultas a un servidor anfitrión, también conocido como oráculo. Si tienen acceso a las herramientas adecuadas, pueden forzar al servidor a decirles si el relleno en su consulta es incorrecto. Para ello, pueden hacer un ciclo de cero a 255 para cada byte del cifrado hasta que el servidor les diga que el relleno es correcto. Entonces, pasan a la siguiente unidad y repiten el proceso, registrando dónde empieza el relleno en cada caso.
Esto no les permite descifrar el mensaje o incluso la celda, pero podría permitirles mapear cada eslabón de la cadena en términos de dónde termina el texto plano y dónde comienza el relleno. También pueden utilizar potencialmente los cálculos XOR para averiguar el valor del último byte del texto plano original.
¿Por qué es tan peligroso el "Padding Oracle"?
La razón por la que un pirata informático se esfuerza tanto en romper la encriptación es por el potencial pago. Pocas personas cifran cosas que no son valiosas. El peligro para la organización anfitriona depende de los datos comprometidos. Eso podría incluir cosas como contraseñas, cuentas de usuario, información financiera, números de tarjetas de crédito, registros de pacientes, comunicaciones sensibles, o cualquier número de piezas de información altamente codiciadas y valiosas.
El uso del oráculo de relleno también podría ser la puerta de entrada a ataques posteriores. Si un atacante puede utilizar el oráculo de relleno para robar contraseñas, por ejemplo, entonces elevar sus privilegios y penetrar más profundamente en una red es una tarea secundaria fácil.
Todo el mundo piensa en la encriptación como la última defensa contra el espionaje o el compromiso. Sin embargo, las idas y venidas entre la ciencia del cifrado y los que quieren descifrarlo se suceden desde hace siglos. El oráculo de relleno es sólo un método que da ventaja a los atacantes.
Dando un duro golpe a los ataques de Oracle Padding
Afortunadamente, hay bastantes maneras de evitar el oráculo de relleno. Una de las mejores es utilizar un modo de operaciones de cifrado más potente, como el modo Galois/Contador (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 luego utiliza ese número para crear el texto cifrado. En otras palabras, no es susceptible de ataques de oráculo de relleno.
Implementar buenos controles de gestión de errores también puede perjudicar gravemente las posibilidades de éxito de un atacante. Dado que los ataques de oráculo de relleno se basan en la fuga de información, devuelva mensajes de error genéricos en lugar de errores de relleno específicos en caso de fallo de cifrado/descifrado.
También se puede implementar el Código de Autenticación de Mensajes (MAC). Los valores MAC protegen la integridad de los datos así como su autenticidad, permitiendo a los verificadores detectar cualquier cambio en el contenido del mensaje utilizando una clave secreta.
Por último, todos los ataques de oráculo de relleno requieren consultas repetidas. Puede haber más de 200 peticiones para averiguar el esquema de relleno en una sola celda, multiplicado por el número de unidades de información que se protegen en la cadena. Si se restringe el número de solicitudes que llegan desde la misma fuente, se puede acabar con los ataques de oráculo de relleno negando al atacante el acceso antes de que pueda comenzar realmente su intento.
Estudio adicional sobre el oráculo de relleno
Cualquier método por el que un atacante pueda descifrar información sensible puede convertirse en una auténtica pesadilla. Pero, esperamos que hayas aprendido bastantes buenos métodos para evitar que eso ocurra en primer lugar.
Para más información, puede consultar la definición y la lista de comprobación de la OWASP en padding oracle. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
¿Crees que estás a la altura de la tarea de frustrar los ataques de oráculo de relleno ahora mismo? Pruébalo en la plataforma Secure Code Warrior :


Aunque "Padding Oracle" suena como un nombre realmente malo para un grupo de rock alternativo, en realidad es una vulnerabilidad que puede ser utilizada por los atacantes para descifrar información sin conocer la clave de cifrado.

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostración

Aunque "Padding Oracle" suena como un nombre realmente malo para un grupo de rock alternativo, en realidad es una vulnerabilidad que puede ser utilizada por los atacantes para descifrar información sin conocer la clave de cifrado.
En términos de dificultad general para un atacante, ésta está cerca de la cima de la escala. No estamos hablando de un botón mágico de descifrado, sino de un laborioso proceso en el que los hackers pueden examinar los mensajes de error que se les envían en relación con el relleno de las celdas, y utilizarlo para determinar dónde terminan los datos cifrados y dónde empieza el relleno. A continuación, pueden averiguar varios bits dentro del cifrado y, posiblemente, descifrarlo si disponen de tiempo y datos suficientes para examinarlo.
Afortunadamente, hay varios pasos relativamente sencillos que pueden eliminar la capacidad de un atacante de utilizar el oráculo de relleno para descifrar los datos cifrados. En este episodio, aprenderemos:
- Cómo funciona
- Por qué esta vulnerabilidad es tan peligrosa
- Cómo puede poner 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 toda una secuencia de bits de información, como las celdas almacenadas en una base de datos, se cifran utilizando 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 de los cifrados CBC (y de cualquier cifrado en bloque, en realidad) es que sólo pueden cifrarse utilizando bloques de tamaños exactos. Normalmente, esto se hace en tamaños de 8 o 16 bytes. Entonces, ¿qué ocurre cuando CBC necesita meter 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 un tamaño adecuado.
La mayoría de los esquemas de relleno son bien conocidos, siendo PKCS#7 uno de los más populares, por lo que los atacantes podrían saber qué tipo de relleno se está utilizando. Por ejemplo, si el CBC necesita rellenar cinco caracteres en un bloque, el PKCS#7 utilizaría el valor del byte 0x05 repetido cinco veces después del texto plano.
Los atacantes utilizan su conocimiento de los esquemas CBC y de relleno para enviar consultas a un servidor anfitrión, también conocido como oráculo. Si tienen acceso a las herramientas adecuadas, pueden forzar al servidor a decirles si el relleno en su consulta es incorrecto. Para ello, pueden hacer un ciclo de cero a 255 para cada byte del cifrado hasta que el servidor les diga que el relleno es correcto. Entonces, pasan a la siguiente unidad y repiten el proceso, registrando dónde empieza el relleno en cada caso.
Esto no les permite descifrar el mensaje o incluso la celda, pero podría permitirles mapear cada eslabón de la cadena en términos de dónde termina el texto plano y dónde comienza el relleno. También pueden utilizar potencialmente los cálculos XOR para averiguar el valor del último byte del texto plano original.
¿Por qué es tan peligroso el "Padding Oracle"?
La razón por la que un pirata informático se esfuerza tanto en romper la encriptación es por el potencial pago. Pocas personas cifran cosas que no son valiosas. El peligro para la organización anfitriona depende de los datos comprometidos. Eso podría incluir cosas como contraseñas, cuentas de usuario, información financiera, números de tarjetas de crédito, registros de pacientes, comunicaciones sensibles, o cualquier número de piezas de información altamente codiciadas y valiosas.
El uso del oráculo de relleno también podría ser la puerta de entrada a ataques posteriores. Si un atacante puede utilizar el oráculo de relleno para robar contraseñas, por ejemplo, entonces elevar sus privilegios y penetrar más profundamente en una red es una tarea secundaria fácil.
Todo el mundo piensa en la encriptación como la última defensa contra el espionaje o el compromiso. Sin embargo, las idas y venidas entre la ciencia del cifrado y los que quieren descifrarlo se suceden desde hace siglos. El oráculo de relleno es sólo un método que da ventaja a los atacantes.
Dando un duro golpe a los ataques de Oracle Padding
Afortunadamente, hay bastantes maneras de evitar el oráculo de relleno. Una de las mejores es utilizar un modo de operaciones de cifrado más potente, como el modo Galois/Contador (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 luego utiliza ese número para crear el texto cifrado. En otras palabras, no es susceptible de ataques de oráculo de relleno.
Implementar buenos controles de gestión de errores también puede perjudicar gravemente las posibilidades de éxito de un atacante. Dado que los ataques de oráculo de relleno se basan en la fuga de información, devuelva mensajes de error genéricos en lugar de errores de relleno específicos en caso de fallo de cifrado/descifrado.
También se puede implementar el Código de Autenticación de Mensajes (MAC). Los valores MAC protegen la integridad de los datos así como su autenticidad, permitiendo a los verificadores detectar cualquier cambio en el contenido del mensaje utilizando una clave secreta.
Por último, todos los ataques de oráculo de relleno requieren consultas repetidas. Puede haber más de 200 peticiones para averiguar el esquema de relleno en una sola celda, multiplicado por el número de unidades de información que se protegen en la cadena. Si se restringe el número de solicitudes que llegan desde la misma fuente, se puede acabar con los ataques de oráculo de relleno negando al atacante el acceso antes de que pueda comenzar realmente su intento.
Estudio adicional sobre el oráculo de relleno
Cualquier método por el que un atacante pueda descifrar información sensible puede convertirse en una auténtica pesadilla. Pero, esperamos que hayas aprendido bastantes buenos métodos para evitar que eso ocurra en primer lugar.
Para más información, puede consultar la definición y la lista de comprobación de la OWASP en padding oracle. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
¿Crees que estás a la altura de la tarea de frustrar los ataques de oráculo de relleno ahora mismo? Pruébalo en la plataforma Secure Code Warrior :

Aunque "Padding Oracle" suena como un nombre realmente malo para un grupo de rock alternativo, en realidad es una vulnerabilidad que puede ser utilizada por los atacantes para descifrar información sin conocer la clave de cifrado.
En términos de dificultad general para un atacante, ésta está cerca de la cima de la escala. No estamos hablando de un botón mágico de descifrado, sino de un laborioso proceso en el que los hackers pueden examinar los mensajes de error que se les envían en relación con el relleno de las celdas, y utilizarlo para determinar dónde terminan los datos cifrados y dónde empieza el relleno. A continuación, pueden averiguar varios bits dentro del cifrado y, posiblemente, descifrarlo si disponen de tiempo y datos suficientes para examinarlo.
Afortunadamente, hay varios pasos relativamente sencillos que pueden eliminar la capacidad de un atacante de utilizar el oráculo de relleno para descifrar los datos cifrados. En este episodio, aprenderemos:
- Cómo funciona
- Por qué esta vulnerabilidad es tan peligrosa
- Cómo puede poner 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 toda una secuencia de bits de información, como las celdas almacenadas en una base de datos, se cifran utilizando 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 de los cifrados CBC (y de cualquier cifrado en bloque, en realidad) es que sólo pueden cifrarse utilizando bloques de tamaños exactos. Normalmente, esto se hace en tamaños de 8 o 16 bytes. Entonces, ¿qué ocurre cuando CBC necesita meter 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 un tamaño adecuado.
La mayoría de los esquemas de relleno son bien conocidos, siendo PKCS#7 uno de los más populares, por lo que los atacantes podrían saber qué tipo de relleno se está utilizando. Por ejemplo, si el CBC necesita rellenar cinco caracteres en un bloque, el PKCS#7 utilizaría el valor del byte 0x05 repetido cinco veces después del texto plano.
Los atacantes utilizan su conocimiento de los esquemas CBC y de relleno para enviar consultas a un servidor anfitrión, también conocido como oráculo. Si tienen acceso a las herramientas adecuadas, pueden forzar al servidor a decirles si el relleno en su consulta es incorrecto. Para ello, pueden hacer un ciclo de cero a 255 para cada byte del cifrado hasta que el servidor les diga que el relleno es correcto. Entonces, pasan a la siguiente unidad y repiten el proceso, registrando dónde empieza el relleno en cada caso.
Esto no les permite descifrar el mensaje o incluso la celda, pero podría permitirles mapear cada eslabón de la cadena en términos de dónde termina el texto plano y dónde comienza el relleno. También pueden utilizar potencialmente los cálculos XOR para averiguar el valor del último byte del texto plano original.
¿Por qué es tan peligroso el "Padding Oracle"?
La razón por la que un pirata informático se esfuerza tanto en romper la encriptación es por el potencial pago. Pocas personas cifran cosas que no son valiosas. El peligro para la organización anfitriona depende de los datos comprometidos. Eso podría incluir cosas como contraseñas, cuentas de usuario, información financiera, números de tarjetas de crédito, registros de pacientes, comunicaciones sensibles, o cualquier número de piezas de información altamente codiciadas y valiosas.
El uso del oráculo de relleno también podría ser la puerta de entrada a ataques posteriores. Si un atacante puede utilizar el oráculo de relleno para robar contraseñas, por ejemplo, entonces elevar sus privilegios y penetrar más profundamente en una red es una tarea secundaria fácil.
Todo el mundo piensa en la encriptación como la última defensa contra el espionaje o el compromiso. Sin embargo, las idas y venidas entre la ciencia del cifrado y los que quieren descifrarlo se suceden desde hace siglos. El oráculo de relleno es sólo un método que da ventaja a los atacantes.
Dando un duro golpe a los ataques de Oracle Padding
Afortunadamente, hay bastantes maneras de evitar el oráculo de relleno. Una de las mejores es utilizar un modo de operaciones de cifrado más potente, como el modo Galois/Contador (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 luego utiliza ese número para crear el texto cifrado. En otras palabras, no es susceptible de ataques de oráculo de relleno.
Implementar buenos controles de gestión de errores también puede perjudicar gravemente las posibilidades de éxito de un atacante. Dado que los ataques de oráculo de relleno se basan en la fuga de información, devuelva mensajes de error genéricos en lugar de errores de relleno específicos en caso de fallo de cifrado/descifrado.
También se puede implementar el Código de Autenticación de Mensajes (MAC). Los valores MAC protegen la integridad de los datos así como su autenticidad, permitiendo a los verificadores detectar cualquier cambio en el contenido del mensaje utilizando una clave secreta.
Por último, todos los ataques de oráculo de relleno requieren consultas repetidas. Puede haber más de 200 peticiones para averiguar el esquema de relleno en una sola celda, multiplicado por el número de unidades de información que se protegen en la cadena. Si se restringe el número de solicitudes que llegan desde la misma fuente, se puede acabar con los ataques de oráculo de relleno negando al atacante el acceso antes de que pueda comenzar realmente su intento.
Estudio adicional sobre el oráculo de relleno
Cualquier método por el que un atacante pueda descifrar información sensible puede convertirse en una auténtica pesadilla. Pero, esperamos que hayas aprendido bastantes buenos métodos para evitar que eso ocurra en primer lugar.
Para más información, puede consultar la definición y la lista de comprobación de la OWASP en padding oracle. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
¿Crees que estás a la altura de la tarea de frustrar los ataques de oráculo de relleno ahora mismo? Pruébalo en la plataforma Secure Code Warrior :

Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónAunque "Padding Oracle" suena como un nombre realmente malo para un grupo de rock alternativo, en realidad es una vulnerabilidad que puede ser utilizada por los atacantes para descifrar información sin conocer la clave de cifrado.
En términos de dificultad general para un atacante, ésta está cerca de la cima de la escala. No estamos hablando de un botón mágico de descifrado, sino de un laborioso proceso en el que los hackers pueden examinar los mensajes de error que se les envían en relación con el relleno de las celdas, y utilizarlo para determinar dónde terminan los datos cifrados y dónde empieza el relleno. A continuación, pueden averiguar varios bits dentro del cifrado y, posiblemente, descifrarlo si disponen de tiempo y datos suficientes para examinarlo.
Afortunadamente, hay varios pasos relativamente sencillos que pueden eliminar la capacidad de un atacante de utilizar el oráculo de relleno para descifrar los datos cifrados. En este episodio, aprenderemos:
- Cómo funciona
- Por qué esta vulnerabilidad es tan peligrosa
- Cómo puede poner 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 toda una secuencia de bits de información, como las celdas almacenadas en una base de datos, se cifran utilizando 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 de los cifrados CBC (y de cualquier cifrado en bloque, en realidad) es que sólo pueden cifrarse utilizando bloques de tamaños exactos. Normalmente, esto se hace en tamaños de 8 o 16 bytes. Entonces, ¿qué ocurre cuando CBC necesita meter 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 un tamaño adecuado.
La mayoría de los esquemas de relleno son bien conocidos, siendo PKCS#7 uno de los más populares, por lo que los atacantes podrían saber qué tipo de relleno se está utilizando. Por ejemplo, si el CBC necesita rellenar cinco caracteres en un bloque, el PKCS#7 utilizaría el valor del byte 0x05 repetido cinco veces después del texto plano.
Los atacantes utilizan su conocimiento de los esquemas CBC y de relleno para enviar consultas a un servidor anfitrión, también conocido como oráculo. Si tienen acceso a las herramientas adecuadas, pueden forzar al servidor a decirles si el relleno en su consulta es incorrecto. Para ello, pueden hacer un ciclo de cero a 255 para cada byte del cifrado hasta que el servidor les diga que el relleno es correcto. Entonces, pasan a la siguiente unidad y repiten el proceso, registrando dónde empieza el relleno en cada caso.
Esto no les permite descifrar el mensaje o incluso la celda, pero podría permitirles mapear cada eslabón de la cadena en términos de dónde termina el texto plano y dónde comienza el relleno. También pueden utilizar potencialmente los cálculos XOR para averiguar el valor del último byte del texto plano original.
¿Por qué es tan peligroso el "Padding Oracle"?
La razón por la que un pirata informático se esfuerza tanto en romper la encriptación es por el potencial pago. Pocas personas cifran cosas que no son valiosas. El peligro para la organización anfitriona depende de los datos comprometidos. Eso podría incluir cosas como contraseñas, cuentas de usuario, información financiera, números de tarjetas de crédito, registros de pacientes, comunicaciones sensibles, o cualquier número de piezas de información altamente codiciadas y valiosas.
El uso del oráculo de relleno también podría ser la puerta de entrada a ataques posteriores. Si un atacante puede utilizar el oráculo de relleno para robar contraseñas, por ejemplo, entonces elevar sus privilegios y penetrar más profundamente en una red es una tarea secundaria fácil.
Todo el mundo piensa en la encriptación como la última defensa contra el espionaje o el compromiso. Sin embargo, las idas y venidas entre la ciencia del cifrado y los que quieren descifrarlo se suceden desde hace siglos. El oráculo de relleno es sólo un método que da ventaja a los atacantes.
Dando un duro golpe a los ataques de Oracle Padding
Afortunadamente, hay bastantes maneras de evitar el oráculo de relleno. Una de las mejores es utilizar un modo de operaciones de cifrado más potente, como el modo Galois/Contador (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 luego utiliza ese número para crear el texto cifrado. En otras palabras, no es susceptible de ataques de oráculo de relleno.
Implementar buenos controles de gestión de errores también puede perjudicar gravemente las posibilidades de éxito de un atacante. Dado que los ataques de oráculo de relleno se basan en la fuga de información, devuelva mensajes de error genéricos en lugar de errores de relleno específicos en caso de fallo de cifrado/descifrado.
También se puede implementar el Código de Autenticación de Mensajes (MAC). Los valores MAC protegen la integridad de los datos así como su autenticidad, permitiendo a los verificadores detectar cualquier cambio en el contenido del mensaje utilizando una clave secreta.
Por último, todos los ataques de oráculo de relleno requieren consultas repetidas. Puede haber más de 200 peticiones para averiguar el esquema de relleno en una sola celda, multiplicado por el número de unidades de información que se protegen en la cadena. Si se restringe el número de solicitudes que llegan desde la misma fuente, se puede acabar con los ataques de oráculo de relleno negando al atacante el acceso antes de que pueda comenzar realmente su intento.
Estudio adicional sobre el oráculo de relleno
Cualquier método por el que un atacante pueda descifrar información sensible puede convertirse en una auténtica pesadilla. Pero, esperamos que hayas aprendido bastantes buenos métodos para evitar que eso ocurra en primer lugar.
Para más información, puede consultar la definición y la lista de comprobación de la OWASP en padding oracle. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
¿Crees que estás a la altura de la tarea de frustrar los ataques de oráculo de relleno ahora mismo? Pruébalo en la plataforma Secure Code Warrior :
Índice

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Servicios profesionales - Acelerar con experiencia
El equipo de servicios de estrategia de programas (PSS) de Secure Code Warriorle ayuda a crear, mejorar y optimizar su programa de codificación segura. Tanto si empieza de cero como si está perfeccionando su enfoque, nuestros expertos le proporcionarán orientación personalizada.
Temas y contenidos de la formación sobre código seguro
Nuestro contenido, líder en el sector, evoluciona constantemente para adaptarse al cambiante panorama del desarrollo de software teniendo en cuenta su función. Temas que cubren todo, desde IA a XQuery Injection, ofrecidos para una variedad de roles desde Arquitectos e Ingenieros a Product Managers y QA. Eche un vistazo a lo que ofrece nuestro catálogo de contenidos por tema y función.
Búsqueda: Aprendizaje líder en la industria para mantener a los desarrolladores por delante mitigando el riesgo.
Quests es una learning platform que ayuda a los desarrolladores a mitigar los riesgos de seguridad del software mediante la mejora de sus habilidades de codificación segura. Con rutas de aprendizaje curadas, desafíos prácticos y actividades interactivas, capacita a los desarrolladores para identificar y prevenir vulnerabilidades.
Recursos para empezar
Inyección indirecta y riesgos de seguridad de las herramientas de codificación agéntica
Cómo se engañó a un agente de codificación para que escribiera código propenso a inyecciones SQL, instalara herramientas de shell y tal vez incluso acechara a su usuario.
La Década de los Defensores: Secure Code Warrior Cumple Diez Años
Secure Code Warriorha permanecido unido, dirigiendo el barco a través de cada lección, triunfo y contratiempo durante toda una década. Estamos creciendo y listos para afrontar nuestro próximo capítulo, SCW 2.0, como líderes en gestión de riesgos para desarrolladores.
10 predicciones clave: Secure Code Warrior sobre la influencia de la IA y el diseño seguro en 2025
Las organizaciones se enfrentan a decisiones difíciles sobre el uso de la IA para apoyar la productividad a largo plazo, la sostenibilidad y el retorno de la inversión en seguridad. En los últimos años nos ha quedado claro que la IA nunca sustituirá por completo el papel del desarrollador. Desde las asociaciones entre IA y desarrolladores hasta las crecientes presiones (y confusión) en torno a las expectativas de seguridad por diseño, echemos un vistazo más de cerca a lo que podemos esperar durante el próximo año.