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
A por el oro: Aumentar la seguridad del código en Paysafe
Descubra cómo la asociación de Paysafe con Secure Code Warrior permitió aumentar en un 45% la productividad de los desarrolladores y reducir considerablemente las vulnerabilidades del código.
El poder de la marca en AppSec DevSec DevSecOps (¿Qué hay en un Acrynym?)
En AppSec, el impacto duradero de un programa exige algo más que tecnología: necesita una marca fuerte. Una identidad poderosa garantiza que sus iniciativas resuenen e impulsen un compromiso sostenido dentro de su comunidad de desarrolladores.
Agente de confianza: AI por Secure Code Warrior
Esta página presenta SCW Trust Agent: AI, un nuevo conjunto de capacidades que proporcionan una profunda observabilidad y gobernanza sobre las herramientas de codificación de IA. Descubra cómo nuestra solución correlaciona de forma única el uso de herramientas de IA con las habilidades de los desarrolladores para ayudarle a gestionar el riesgo, optimizar su SDLC y garantizar que cada línea de código generado por IA sea segura.
Vibe Coding: Guía práctica para actualizar su estrategia AppSec para la IA
Vea el vídeo a la carta para aprender a capacitar a los administradores de AppSec para que se conviertan en facilitadores de IA, en lugar de bloqueadores, mediante un enfoque práctico que da prioridad a la formación. Le mostraremos cómo aprovechar Secure Code Warrior (SCW) para actualizar estratégicamente su estrategia de AppSec para la era de los asistentes de codificación de IA.
Recursos para empezar
Codificación segura en la era de la IA: pruebe nuestros nuevos retos interactivos de IA
La codificación asistida por IA está cambiando el desarrollo. Prueba nuestros nuevos retos de IA al estilo Copilot para revisar, analizar y corregir código de forma segura en flujos de trabajo realistas.


.png)
.avif)


