@@ -285,3 +285,26 @@ D'autres outils ou sous-commandes `cargo` utiles pour renforcer la sécurité
285285d'un programme existent, par exemple, en recherchant des motifs de code
286286particuliers. Nous en discutons dans les chapitres suivants en fonction de leurs
287287portées et de leurs objectifs.
288+
289+ ## Durcissement et binaires mixtes
290+
291+ Les _ durcissements_ sont des mécanismes mis en place pendant la compilation
292+ permettant de réduire l'impact ou l'exploitabilité d'un certain nombre de défaut
293+ de sûrété mémoire. Dans le cas de Rust, ces durcissements n'ont pas beaucoup
294+ d'intérêt (hors code _ unsafe_ ). Toutefois, la question se pose de nouveau dans
295+ le cas de logiciel mixte, c'est-à-dire contenant des composants écrits en Rust
296+ et des composants écrits dans un ou les langages n'assurant pas la sûreté
297+ mémoire. En effet, il a été montré que du code Rust peut être utilisé pour
298+ contourner des durcissements d'un code C vulnérable.
299+
300+ > ** Règles {{#check DENV-MIXED | Activer les durcissements pour tous les langages d'un logiciel mixte}}**
301+ >
302+ > Dans le cadre du développement d'une application sécurisée comportant des
303+ > composants dans plusieurs langages, les compilations des composants (y compris
304+ > Rust) doivent appliquer des durcissements de manière à limiter
305+ > l'exploitabilité des vulnérabilités présents dans les composants dont le
306+ > langage n'assure pas la sûreté mémoire.
307+
308+ ### Références
309+
310+ - _ Exploiting Mixed Binaries_ , Michalis Papaevripides, Elias Athanasopoulos, < https://dl.acm.org/doi/10.1145/3418898 >
0 commit comments