|
| 1 | +--- |
| 2 | +references: |
| 3 | + - DOI: 10.1145/3418898 |
| 4 | + ISSN: 2471-2566 |
| 5 | + url: https://doi.org/10.1145/3418898 |
| 6 | + author: |
| 7 | + - family: Papaevripides |
| 8 | + given: Michalis |
| 9 | + - family: Athanasopoulos |
| 10 | + given: Elias |
| 11 | + container-title: ACM Trans. Priv. Secur. |
| 12 | + id: mixed-bins |
| 13 | + issue: '2' |
| 14 | + issued: |
| 15 | + date-parts: |
| 16 | + - - 2021 |
| 17 | + - 1 |
| 18 | + keyword: CFI, Go, Memory safety, Rust, SafeStack |
| 19 | + publisher: Association for Computing Machinery |
| 20 | + publisher-place: New York, NY, USA |
| 21 | + title: Exploiting Mixed Binaries |
| 22 | + type: article-journal |
| 23 | + volume: '24' |
| 24 | +--- |
| 25 | + |
| 26 | +# Compilation |
| 27 | + |
| 28 | +## Durcissement et binaires mixtes |
| 29 | + |
| 30 | +Les _durcissements_ sont des mécanismes mis en place pendant la compilation |
| 31 | +permettant de réduire l'impact ou l'exploitabilité d'un certain nombre de défaut |
| 32 | +de sûreté mémoire. Dans le cas de Rust, ces durcissements n'ont pas beaucoup |
| 33 | +d'intérêt (hors code _unsafe_). Toutefois, la question se pose de nouveau dans |
| 34 | +le cas de logiciel mixte, c'est-à-dire contenant des composants écrits en Rust |
| 35 | +et des composants écrits dans un ou les langages n'assurant pas la sûreté |
| 36 | +mémoire. En effet, il a été montré (par exemple dans [@mixed-bins]) que du code Rust peut être utilisé pour |
| 37 | +contourner des durcissements d'un code C vulnérable. |
| 38 | + |
| 39 | +<div class="reco" id="COMP-MIXED" type="Recommandation" title="Activer les durcissements pour tous les langages d'un logiciel mixte"> |
| 40 | + |
| 41 | +Dans le cadre du développement d'une application sécurisée comportant des |
| 42 | +composants dans plusieurs langages, les compilations des composants (y compris |
| 43 | +Rust) devraient appliquer des durcissements de manière à limiter |
| 44 | +l'exploitabilité des vulnérabilités présents dans les composants dont le |
| 45 | +langage n'assure pas la sûreté mémoire. |
| 46 | + |
| 47 | +</div> |
| 48 | + |
| 49 | +### Références |
| 50 | + |
| 51 | +- _Exploiting Mixed Binaries_, Michalis Papaevripides, Elias Athanasopoulos, <https://dl.acm.org/doi/10.1145/3418898> |
0 commit comments