
Les codeurs conquièrent la sécurité : Série "Partageons et apprenons" - Padding Oracle
Bien que Padding Oracle semble être un très mauvais nom pour un groupe de rock alternatif, il s'agit en fait d'une vulnérabilité qui peut être utilisée par des attaquants pour décrypter des informations sans connaître la clé de cryptage.
En termes de difficulté globale pour un attaquant, celle-ci se situe en haut de l'échelle. Il ne s'agit pas d'un bouton magique de décryptage, mais d'un processus laborieux par lequel les pirates peuvent examiner les messages d'erreur qui leur sont envoyés concernant le remplissage des cellules et s'en servir pour déterminer où les données cryptées se terminent et où le remplissage commence. Ils peuvent ensuite déterminer les différents bits du chiffrement et éventuellement le déchiffrer s'ils disposent de suffisamment de temps et d'informations pour l'examiner.
Heureusement, il existe plusieurs étapes relativement simples qui permettent à un attaquant de ne plus pouvoir utiliser l'oracle pour déchiffrer des données cryptées. Dans cet épisode, nous allons apprendre :
- Comment cela fonctionne-t-il ?
- Pourquoi cette vulnérabilité est-elle si dangereuse ?
- Comment vous pouvez mettre en place des défenses pour l'éviter.
Comment fonctionne l'Oracle Padding ?
L'enchaînement de blocs de chiffrement (CBC) est un moyen de créer un chiffrement par blocs dans lequel une séquence entière de bits d'information, tels que des cellules stockées dans une base de données, est chiffrée à l'aide d'une clé de chiffrement qui s'applique à l'ensemble de la chaîne d'information. Lors de l'utilisation du CBC, le cryptage d'un seul bloc de texte chiffré dépend de tous les blocs précédents. En théorie, cela rend le cryptage extrêmement solide, puisque tout, même le réarrangement des blocs, corrompra les données.
Le problème des algorithmes de chiffrement CBC (et de tous les algorithmes de chiffrement par blocs, d'ailleurs) est qu'ils ne peuvent être chiffrés qu'à l'aide de blocs de taille exacte. Normalement, cela se fait par blocs de 8 ou 16 octets. Que se passe-t-il donc lorsque le CBC doit faire entrer 2 octets de données dans une unité de texte chiffré de 16 octets ? Il utilisera des caractères de remplissage, c'est-à-dire des caractères absurdes, pour combler les lacunes et donner à l'unité une taille appropriée.
La plupart des schémas de remplissage sont bien connus, le PKCS#7 étant l'un des plus populaires, de sorte que les attaquants peuvent savoir quel type de remplissage est utilisé. Par exemple, si le CBC doit remplir cinq caractères dans un bloc, le PKCS#7 utilisera la valeur d'octet 0x05 répétée cinq fois après le texte en clair.
Les attaquants utilisent leur connaissance des schémas CBC et de remplissage pour envoyer des requêtes à un serveur hôte, également appelé oracle. S'ils ont accès aux bons outils, ils peuvent être en mesure de forcer le serveur à leur dire si le remplissage de leur requête est incorrect. Pour ce faire, il peut passer de zéro à 255 pour chaque octet du chiffrement jusqu'à ce que le serveur lui dise que le remplissage est correct. Il passe alors à l'unité suivante et répète le processus, en notant à chaque fois où commence le remplissage.
Cela ne leur permet pas de décrypter le message ni même la cellule, mais pourrait leur permettre de cartographier chaque maillon de la chaîne pour savoir où se termine le texte en clair et où commence le rembourrage. Ils peuvent également utiliser des calculs XOR pour déterminer la valeur du dernier octet du texte en clair original.
Pourquoi le Padding Oracle est-il si dangereux ?
La raison pour laquelle un pirate informatique consacre autant d'efforts à briser le cryptage est le gain potentiel. Peu de gens chiffrent des données qui n'ont pas de valeur. Le danger pour l'organisation hôte dépend des données compromises. Il peut s'agir de mots de passe, de comptes d'utilisateurs, d'informations financières, de numéros de cartes de crédit, de dossiers de patients, de communications sensibles ou de toute autre information précieuse et très recherchée.
L'utilisation du padding oracle peut également être la porte d'entrée pour des attaques ultérieures. Si un attaquant peut utiliser le padding oracle pour voler des mots de passe par exemple, l'élévation de ses privilèges et la pénétration plus profonde dans un réseau est une tâche secondaire facile.
Tout le monde considère le chiffrement comme la défense ultime contre l'espionnage ou la compromission. Cependant, le va-et-vient entre la science du chiffrement et ceux qui veulent le casser dure depuis des siècles. L'oracle de la capitalisation n'est qu'une des méthodes qui donnent l'avantage aux attaquants.
Les attaques d'Oracle contre le rembourrage ne sont pas à l'abri d'un atterrissage brutal
Heureusement, il existe plusieurs façons d'éviter l'oracle de remplissage. L'une des meilleures consiste à utiliser un mode de chiffrement plus puissant, tel que le mode Galois/compteur (GCM) ou le mode Offset Codebook (OCB). Ce mode diffère du CBC en ce qu'il utilise une taille de bloc de chiffrement de 128 bits. Il utilise également un compteur pour chaque bloc de données, puis utilise ce nombre pour créer le texte chiffré. En d'autres termes, il n'est pas sensible aux attaques par oracle de remplissage.
La mise en œuvre de contrôles efficaces de gestion des erreurs peut également réduire considérablement les chances de succès d'un attaquant. Étant donné que les attaques par oracle de remplissage reposent sur la fuite d'informations, renvoyez des messages d'erreur génériques au lieu d'erreurs de remplissage spécifiques en cas d'échec du chiffrement ou du déchiffrement.
Vous pouvez également mettre en œuvre le code d'authentification des messages (MAC). Les valeurs MAC protègent l'intégrité et l'authenticité des données en permettant aux vérificateurs de détecter toute modification du contenu du message à l'aide d'une clé secrète.
Enfin, toutes les attaques par l'oracle du remplissage nécessitent des requêtes répétées. Il peut y avoir plus de 200 requêtes pour déterminer le schéma de remplissage d'une seule cellule, multiplié par le nombre d'unités d'information protégées dans la chaîne. En limitant le nombre de demandes provenant de la même source, vous pouvez mettre fin aux attaques par oracle de remplissage en refusant l'accès à un attaquant avant qu'il ne puisse réellement commencer sa tentative.
Étude complémentaire sur l'Oracle Padding
Toute méthode permettant à un pirate de décrypter des informations sensibles peut devenir un véritable cauchemar. Mais nous espérons que vous avez appris quelques bonnes méthodes pour éviter que cela ne se produise.
Pour en savoir plus, vous pouvez consulter la définition et la liste de contrôle de l'OWASP sur padding oracle. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la façon de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .
Vous pensez être à la hauteur pour déjouer les attaques de l'oracle du padding ? Essayez sur la plateforme Secure Code Warrior :


Bien que Padding Oracle semble être un très mauvais nom pour un groupe de rock alternatif, il s'agit en fait d'une vulnérabilité qui peut être utilisée par des attaquants pour décrypter des informations sans connaître la clé de cryptage.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstration

Bien que Padding Oracle semble être un très mauvais nom pour un groupe de rock alternatif, il s'agit en fait d'une vulnérabilité qui peut être utilisée par des attaquants pour décrypter des informations sans connaître la clé de cryptage.
En termes de difficulté globale pour un attaquant, celle-ci se situe en haut de l'échelle. Il ne s'agit pas d'un bouton magique de décryptage, mais d'un processus laborieux par lequel les pirates peuvent examiner les messages d'erreur qui leur sont envoyés concernant le remplissage des cellules et s'en servir pour déterminer où les données cryptées se terminent et où le remplissage commence. Ils peuvent ensuite déterminer les différents bits du chiffrement et éventuellement le déchiffrer s'ils disposent de suffisamment de temps et d'informations pour l'examiner.
Heureusement, il existe plusieurs étapes relativement simples qui permettent à un attaquant de ne plus pouvoir utiliser l'oracle pour déchiffrer des données cryptées. Dans cet épisode, nous allons apprendre :
- Comment cela fonctionne-t-il ?
- Pourquoi cette vulnérabilité est-elle si dangereuse ?
- Comment vous pouvez mettre en place des défenses pour l'éviter.
Comment fonctionne l'Oracle Padding ?
L'enchaînement de blocs de chiffrement (CBC) est un moyen de créer un chiffrement par blocs dans lequel une séquence entière de bits d'information, tels que des cellules stockées dans une base de données, est chiffrée à l'aide d'une clé de chiffrement qui s'applique à l'ensemble de la chaîne d'information. Lors de l'utilisation du CBC, le cryptage d'un seul bloc de texte chiffré dépend de tous les blocs précédents. En théorie, cela rend le cryptage extrêmement solide, puisque tout, même le réarrangement des blocs, corrompra les données.
Le problème des algorithmes de chiffrement CBC (et de tous les algorithmes de chiffrement par blocs, d'ailleurs) est qu'ils ne peuvent être chiffrés qu'à l'aide de blocs de taille exacte. Normalement, cela se fait par blocs de 8 ou 16 octets. Que se passe-t-il donc lorsque le CBC doit faire entrer 2 octets de données dans une unité de texte chiffré de 16 octets ? Il utilisera des caractères de remplissage, c'est-à-dire des caractères absurdes, pour combler les lacunes et donner à l'unité une taille appropriée.
La plupart des schémas de remplissage sont bien connus, le PKCS#7 étant l'un des plus populaires, de sorte que les attaquants peuvent savoir quel type de remplissage est utilisé. Par exemple, si le CBC doit remplir cinq caractères dans un bloc, le PKCS#7 utilisera la valeur d'octet 0x05 répétée cinq fois après le texte en clair.
Les attaquants utilisent leur connaissance des schémas CBC et de remplissage pour envoyer des requêtes à un serveur hôte, également appelé oracle. S'ils ont accès aux bons outils, ils peuvent être en mesure de forcer le serveur à leur dire si le remplissage de leur requête est incorrect. Pour ce faire, il peut passer de zéro à 255 pour chaque octet du chiffrement jusqu'à ce que le serveur lui dise que le remplissage est correct. Il passe alors à l'unité suivante et répète le processus, en notant à chaque fois où commence le remplissage.
Cela ne leur permet pas de décrypter le message ni même la cellule, mais pourrait leur permettre de cartographier chaque maillon de la chaîne pour savoir où se termine le texte en clair et où commence le rembourrage. Ils peuvent également utiliser des calculs XOR pour déterminer la valeur du dernier octet du texte en clair original.
Pourquoi le Padding Oracle est-il si dangereux ?
La raison pour laquelle un pirate informatique consacre autant d'efforts à briser le cryptage est le gain potentiel. Peu de gens chiffrent des données qui n'ont pas de valeur. Le danger pour l'organisation hôte dépend des données compromises. Il peut s'agir de mots de passe, de comptes d'utilisateurs, d'informations financières, de numéros de cartes de crédit, de dossiers de patients, de communications sensibles ou de toute autre information précieuse et très recherchée.
L'utilisation du padding oracle peut également être la porte d'entrée pour des attaques ultérieures. Si un attaquant peut utiliser le padding oracle pour voler des mots de passe par exemple, l'élévation de ses privilèges et la pénétration plus profonde dans un réseau est une tâche secondaire facile.
Tout le monde considère le chiffrement comme la défense ultime contre l'espionnage ou la compromission. Cependant, le va-et-vient entre la science du chiffrement et ceux qui veulent le casser dure depuis des siècles. L'oracle de la capitalisation n'est qu'une des méthodes qui donnent l'avantage aux attaquants.
Les attaques d'Oracle contre le rembourrage ne sont pas à l'abri d'un atterrissage brutal
Heureusement, il existe plusieurs façons d'éviter l'oracle de remplissage. L'une des meilleures consiste à utiliser un mode de chiffrement plus puissant, tel que le mode Galois/compteur (GCM) ou le mode Offset Codebook (OCB). Ce mode diffère du CBC en ce qu'il utilise une taille de bloc de chiffrement de 128 bits. Il utilise également un compteur pour chaque bloc de données, puis utilise ce nombre pour créer le texte chiffré. En d'autres termes, il n'est pas sensible aux attaques par oracle de remplissage.
La mise en œuvre de contrôles efficaces de gestion des erreurs peut également réduire considérablement les chances de succès d'un attaquant. Étant donné que les attaques par oracle de remplissage reposent sur la fuite d'informations, renvoyez des messages d'erreur génériques au lieu d'erreurs de remplissage spécifiques en cas d'échec du chiffrement ou du déchiffrement.
Vous pouvez également mettre en œuvre le code d'authentification des messages (MAC). Les valeurs MAC protègent l'intégrité et l'authenticité des données en permettant aux vérificateurs de détecter toute modification du contenu du message à l'aide d'une clé secrète.
Enfin, toutes les attaques par l'oracle du remplissage nécessitent des requêtes répétées. Il peut y avoir plus de 200 requêtes pour déterminer le schéma de remplissage d'une seule cellule, multiplié par le nombre d'unités d'information protégées dans la chaîne. En limitant le nombre de demandes provenant de la même source, vous pouvez mettre fin aux attaques par oracle de remplissage en refusant l'accès à un attaquant avant qu'il ne puisse réellement commencer sa tentative.
Étude complémentaire sur l'Oracle Padding
Toute méthode permettant à un pirate de décrypter des informations sensibles peut devenir un véritable cauchemar. Mais nous espérons que vous avez appris quelques bonnes méthodes pour éviter que cela ne se produise.
Pour en savoir plus, vous pouvez consulter la définition et la liste de contrôle de l'OWASP sur padding oracle. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la façon de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .
Vous pensez être à la hauteur pour déjouer les attaques de l'oracle du padding ? Essayez sur la plateforme Secure Code Warrior :

Bien que Padding Oracle semble être un très mauvais nom pour un groupe de rock alternatif, il s'agit en fait d'une vulnérabilité qui peut être utilisée par des attaquants pour décrypter des informations sans connaître la clé de cryptage.
En termes de difficulté globale pour un attaquant, celle-ci se situe en haut de l'échelle. Il ne s'agit pas d'un bouton magique de décryptage, mais d'un processus laborieux par lequel les pirates peuvent examiner les messages d'erreur qui leur sont envoyés concernant le remplissage des cellules et s'en servir pour déterminer où les données cryptées se terminent et où le remplissage commence. Ils peuvent ensuite déterminer les différents bits du chiffrement et éventuellement le déchiffrer s'ils disposent de suffisamment de temps et d'informations pour l'examiner.
Heureusement, il existe plusieurs étapes relativement simples qui permettent à un attaquant de ne plus pouvoir utiliser l'oracle pour déchiffrer des données cryptées. Dans cet épisode, nous allons apprendre :
- Comment cela fonctionne-t-il ?
- Pourquoi cette vulnérabilité est-elle si dangereuse ?
- Comment vous pouvez mettre en place des défenses pour l'éviter.
Comment fonctionne l'Oracle Padding ?
L'enchaînement de blocs de chiffrement (CBC) est un moyen de créer un chiffrement par blocs dans lequel une séquence entière de bits d'information, tels que des cellules stockées dans une base de données, est chiffrée à l'aide d'une clé de chiffrement qui s'applique à l'ensemble de la chaîne d'information. Lors de l'utilisation du CBC, le cryptage d'un seul bloc de texte chiffré dépend de tous les blocs précédents. En théorie, cela rend le cryptage extrêmement solide, puisque tout, même le réarrangement des blocs, corrompra les données.
Le problème des algorithmes de chiffrement CBC (et de tous les algorithmes de chiffrement par blocs, d'ailleurs) est qu'ils ne peuvent être chiffrés qu'à l'aide de blocs de taille exacte. Normalement, cela se fait par blocs de 8 ou 16 octets. Que se passe-t-il donc lorsque le CBC doit faire entrer 2 octets de données dans une unité de texte chiffré de 16 octets ? Il utilisera des caractères de remplissage, c'est-à-dire des caractères absurdes, pour combler les lacunes et donner à l'unité une taille appropriée.
La plupart des schémas de remplissage sont bien connus, le PKCS#7 étant l'un des plus populaires, de sorte que les attaquants peuvent savoir quel type de remplissage est utilisé. Par exemple, si le CBC doit remplir cinq caractères dans un bloc, le PKCS#7 utilisera la valeur d'octet 0x05 répétée cinq fois après le texte en clair.
Les attaquants utilisent leur connaissance des schémas CBC et de remplissage pour envoyer des requêtes à un serveur hôte, également appelé oracle. S'ils ont accès aux bons outils, ils peuvent être en mesure de forcer le serveur à leur dire si le remplissage de leur requête est incorrect. Pour ce faire, il peut passer de zéro à 255 pour chaque octet du chiffrement jusqu'à ce que le serveur lui dise que le remplissage est correct. Il passe alors à l'unité suivante et répète le processus, en notant à chaque fois où commence le remplissage.
Cela ne leur permet pas de décrypter le message ni même la cellule, mais pourrait leur permettre de cartographier chaque maillon de la chaîne pour savoir où se termine le texte en clair et où commence le rembourrage. Ils peuvent également utiliser des calculs XOR pour déterminer la valeur du dernier octet du texte en clair original.
Pourquoi le Padding Oracle est-il si dangereux ?
La raison pour laquelle un pirate informatique consacre autant d'efforts à briser le cryptage est le gain potentiel. Peu de gens chiffrent des données qui n'ont pas de valeur. Le danger pour l'organisation hôte dépend des données compromises. Il peut s'agir de mots de passe, de comptes d'utilisateurs, d'informations financières, de numéros de cartes de crédit, de dossiers de patients, de communications sensibles ou de toute autre information précieuse et très recherchée.
L'utilisation du padding oracle peut également être la porte d'entrée pour des attaques ultérieures. Si un attaquant peut utiliser le padding oracle pour voler des mots de passe par exemple, l'élévation de ses privilèges et la pénétration plus profonde dans un réseau est une tâche secondaire facile.
Tout le monde considère le chiffrement comme la défense ultime contre l'espionnage ou la compromission. Cependant, le va-et-vient entre la science du chiffrement et ceux qui veulent le casser dure depuis des siècles. L'oracle de la capitalisation n'est qu'une des méthodes qui donnent l'avantage aux attaquants.
Les attaques d'Oracle contre le rembourrage ne sont pas à l'abri d'un atterrissage brutal
Heureusement, il existe plusieurs façons d'éviter l'oracle de remplissage. L'une des meilleures consiste à utiliser un mode de chiffrement plus puissant, tel que le mode Galois/compteur (GCM) ou le mode Offset Codebook (OCB). Ce mode diffère du CBC en ce qu'il utilise une taille de bloc de chiffrement de 128 bits. Il utilise également un compteur pour chaque bloc de données, puis utilise ce nombre pour créer le texte chiffré. En d'autres termes, il n'est pas sensible aux attaques par oracle de remplissage.
La mise en œuvre de contrôles efficaces de gestion des erreurs peut également réduire considérablement les chances de succès d'un attaquant. Étant donné que les attaques par oracle de remplissage reposent sur la fuite d'informations, renvoyez des messages d'erreur génériques au lieu d'erreurs de remplissage spécifiques en cas d'échec du chiffrement ou du déchiffrement.
Vous pouvez également mettre en œuvre le code d'authentification des messages (MAC). Les valeurs MAC protègent l'intégrité et l'authenticité des données en permettant aux vérificateurs de détecter toute modification du contenu du message à l'aide d'une clé secrète.
Enfin, toutes les attaques par l'oracle du remplissage nécessitent des requêtes répétées. Il peut y avoir plus de 200 requêtes pour déterminer le schéma de remplissage d'une seule cellule, multiplié par le nombre d'unités d'information protégées dans la chaîne. En limitant le nombre de demandes provenant de la même source, vous pouvez mettre fin aux attaques par oracle de remplissage en refusant l'accès à un attaquant avant qu'il ne puisse réellement commencer sa tentative.
Étude complémentaire sur l'Oracle Padding
Toute méthode permettant à un pirate de décrypter des informations sensibles peut devenir un véritable cauchemar. Mais nous espérons que vous avez appris quelques bonnes méthodes pour éviter que cela ne se produise.
Pour en savoir plus, vous pouvez consulter la définition et la liste de contrôle de l'OWASP sur padding oracle. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la façon de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .
Vous pensez être à la hauteur pour déjouer les attaques de l'oracle du padding ? Essayez sur la plateforme Secure Code Warrior :

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Voir le rapportRéservez une démonstrationBien que Padding Oracle semble être un très mauvais nom pour un groupe de rock alternatif, il s'agit en fait d'une vulnérabilité qui peut être utilisée par des attaquants pour décrypter des informations sans connaître la clé de cryptage.
En termes de difficulté globale pour un attaquant, celle-ci se situe en haut de l'échelle. Il ne s'agit pas d'un bouton magique de décryptage, mais d'un processus laborieux par lequel les pirates peuvent examiner les messages d'erreur qui leur sont envoyés concernant le remplissage des cellules et s'en servir pour déterminer où les données cryptées se terminent et où le remplissage commence. Ils peuvent ensuite déterminer les différents bits du chiffrement et éventuellement le déchiffrer s'ils disposent de suffisamment de temps et d'informations pour l'examiner.
Heureusement, il existe plusieurs étapes relativement simples qui permettent à un attaquant de ne plus pouvoir utiliser l'oracle pour déchiffrer des données cryptées. Dans cet épisode, nous allons apprendre :
- Comment cela fonctionne-t-il ?
- Pourquoi cette vulnérabilité est-elle si dangereuse ?
- Comment vous pouvez mettre en place des défenses pour l'éviter.
Comment fonctionne l'Oracle Padding ?
L'enchaînement de blocs de chiffrement (CBC) est un moyen de créer un chiffrement par blocs dans lequel une séquence entière de bits d'information, tels que des cellules stockées dans une base de données, est chiffrée à l'aide d'une clé de chiffrement qui s'applique à l'ensemble de la chaîne d'information. Lors de l'utilisation du CBC, le cryptage d'un seul bloc de texte chiffré dépend de tous les blocs précédents. En théorie, cela rend le cryptage extrêmement solide, puisque tout, même le réarrangement des blocs, corrompra les données.
Le problème des algorithmes de chiffrement CBC (et de tous les algorithmes de chiffrement par blocs, d'ailleurs) est qu'ils ne peuvent être chiffrés qu'à l'aide de blocs de taille exacte. Normalement, cela se fait par blocs de 8 ou 16 octets. Que se passe-t-il donc lorsque le CBC doit faire entrer 2 octets de données dans une unité de texte chiffré de 16 octets ? Il utilisera des caractères de remplissage, c'est-à-dire des caractères absurdes, pour combler les lacunes et donner à l'unité une taille appropriée.
La plupart des schémas de remplissage sont bien connus, le PKCS#7 étant l'un des plus populaires, de sorte que les attaquants peuvent savoir quel type de remplissage est utilisé. Par exemple, si le CBC doit remplir cinq caractères dans un bloc, le PKCS#7 utilisera la valeur d'octet 0x05 répétée cinq fois après le texte en clair.
Les attaquants utilisent leur connaissance des schémas CBC et de remplissage pour envoyer des requêtes à un serveur hôte, également appelé oracle. S'ils ont accès aux bons outils, ils peuvent être en mesure de forcer le serveur à leur dire si le remplissage de leur requête est incorrect. Pour ce faire, il peut passer de zéro à 255 pour chaque octet du chiffrement jusqu'à ce que le serveur lui dise que le remplissage est correct. Il passe alors à l'unité suivante et répète le processus, en notant à chaque fois où commence le remplissage.
Cela ne leur permet pas de décrypter le message ni même la cellule, mais pourrait leur permettre de cartographier chaque maillon de la chaîne pour savoir où se termine le texte en clair et où commence le rembourrage. Ils peuvent également utiliser des calculs XOR pour déterminer la valeur du dernier octet du texte en clair original.
Pourquoi le Padding Oracle est-il si dangereux ?
La raison pour laquelle un pirate informatique consacre autant d'efforts à briser le cryptage est le gain potentiel. Peu de gens chiffrent des données qui n'ont pas de valeur. Le danger pour l'organisation hôte dépend des données compromises. Il peut s'agir de mots de passe, de comptes d'utilisateurs, d'informations financières, de numéros de cartes de crédit, de dossiers de patients, de communications sensibles ou de toute autre information précieuse et très recherchée.
L'utilisation du padding oracle peut également être la porte d'entrée pour des attaques ultérieures. Si un attaquant peut utiliser le padding oracle pour voler des mots de passe par exemple, l'élévation de ses privilèges et la pénétration plus profonde dans un réseau est une tâche secondaire facile.
Tout le monde considère le chiffrement comme la défense ultime contre l'espionnage ou la compromission. Cependant, le va-et-vient entre la science du chiffrement et ceux qui veulent le casser dure depuis des siècles. L'oracle de la capitalisation n'est qu'une des méthodes qui donnent l'avantage aux attaquants.
Les attaques d'Oracle contre le rembourrage ne sont pas à l'abri d'un atterrissage brutal
Heureusement, il existe plusieurs façons d'éviter l'oracle de remplissage. L'une des meilleures consiste à utiliser un mode de chiffrement plus puissant, tel que le mode Galois/compteur (GCM) ou le mode Offset Codebook (OCB). Ce mode diffère du CBC en ce qu'il utilise une taille de bloc de chiffrement de 128 bits. Il utilise également un compteur pour chaque bloc de données, puis utilise ce nombre pour créer le texte chiffré. En d'autres termes, il n'est pas sensible aux attaques par oracle de remplissage.
La mise en œuvre de contrôles efficaces de gestion des erreurs peut également réduire considérablement les chances de succès d'un attaquant. Étant donné que les attaques par oracle de remplissage reposent sur la fuite d'informations, renvoyez des messages d'erreur génériques au lieu d'erreurs de remplissage spécifiques en cas d'échec du chiffrement ou du déchiffrement.
Vous pouvez également mettre en œuvre le code d'authentification des messages (MAC). Les valeurs MAC protègent l'intégrité et l'authenticité des données en permettant aux vérificateurs de détecter toute modification du contenu du message à l'aide d'une clé secrète.
Enfin, toutes les attaques par l'oracle du remplissage nécessitent des requêtes répétées. Il peut y avoir plus de 200 requêtes pour déterminer le schéma de remplissage d'une seule cellule, multiplié par le nombre d'unités d'information protégées dans la chaîne. En limitant le nombre de demandes provenant de la même source, vous pouvez mettre fin aux attaques par oracle de remplissage en refusant l'accès à un attaquant avant qu'il ne puisse réellement commencer sa tentative.
Étude complémentaire sur l'Oracle Padding
Toute méthode permettant à un pirate de décrypter des informations sensibles peut devenir un véritable cauchemar. Mais nous espérons que vous avez appris quelques bonnes méthodes pour éviter que cela ne se produise.
Pour en savoir plus, vous pouvez consulter la définition et la liste de contrôle de l'OWASP sur padding oracle. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité pour qu'elles deviennent les meilleurs cyber-guerriers. Pour en savoir plus sur la façon de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .
Vous pensez être à la hauteur pour déjouer les attaques de l'oracle du padding ? Essayez sur la plateforme Secure Code Warrior :
Table des matières

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationTéléchargerRessources pour vous aider à démarrer
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
Thèmes et contenu de la formation sur le code sécurisé
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peek of what our content catalog has to offer by topic and role.
Loi sur la cyber-résilience (CRA) Parcours d'apprentissage alignés
SCW soutient la préparation à la loi sur la cyber-résilience (CRA) grâce à des quêtes alignées sur la CRA et des collections d'apprentissage conceptuel qui aident les équipes de développement à acquérir les compétences nécessaires en matière de conception sécurisée, de SDLC et de codage sécurisé, conformément aux principes de développement sécurisé de la CRA.
La Chambre de commerce établit la norme en matière de sécurité à grande échelle axée sur les développeurs
La Chambre de commerce néerlandaise explique comment elle a intégré le codage sécurisé dans le développement quotidien grâce à des certifications basées sur les rôles, à l'évaluation comparative du Trust Score et à une culture de responsabilité partagée en matière de sécurité.
Ressources pour vous aider à démarrer
Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.
Cybermon est de retour : Missions IA « Battez le boss » sont Missions disponibles à la demande.
Cybermon 2025 Beat the Boss est désormais disponible toute l'année dans SCW. Déployez des défis de sécurité avancés en matière d'IA/LLM afin de renforcer le développement sécurisé de l'IA à grande échelle.
L'IA peut écrire et réviser du code, mais les humains assument toujours le risque
Le lancement de Claude Code Security par Anthropic marque un point de convergence décisif entre le développement de logiciels assisté par l'IA et l'évolution rapide de notre approche de la cybersécurité moderne.





