WEKO3
アイテム
メモリ破損脆弱性を利用した攻撃に対するRustを用いた対策手法
https://ipsj.ixsq.nii.ac.jp/records/210106
https://ipsj.ixsq.nii.ac.jp/records/2101069b5f5e32-fcdc-40b0-be59-08543b0ba9e1
| 名前 / ファイル | ライセンス | アクション |
|---|---|---|
|
|
Copyright (c) 2021 by the Information Processing Society of Japan
|
|
| オープンアクセス | ||
| Item type | SIG Technical Reports(1) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 公開日 | 2021-03-08 | |||||||||
| タイトル | ||||||||||
| タイトル | メモリ破損脆弱性を利用した攻撃に対するRustを用いた対策手法 | |||||||||
| タイトル | ||||||||||
| 言語 | en | |||||||||
| タイトル | Countermeasure method using Rust against attack using memory corruption vulnerability | |||||||||
| 言語 | ||||||||||
| 言語 | jpn | |||||||||
| キーワード | ||||||||||
| 主題Scheme | Other | |||||||||
| 主題 | システム設計・実装 | |||||||||
| 資源タイプ | ||||||||||
| 資源タイプ識別子 | http://purl.org/coar/resource_type/c_18gh | |||||||||
| 資源タイプ | technical report | |||||||||
| 著者所属 | ||||||||||
| 情報セキュリティ大学院大学 | ||||||||||
| 著者所属 | ||||||||||
| 情報セキュリティ大学院大学 | ||||||||||
| 著者名 |
千脇, 貴之
× 千脇, 貴之
× 橋本, 正樹
|
|||||||||
| 論文抄録 | ||||||||||
| 内容記述タイプ | Other | |||||||||
| 内容記述 | 現在,主要なシステムプログラムは,C 言語や C++ 言語を用いて作成されている.C 言語や C++ 言語のような低レベル言語では,セキュリティの問題として古くからメモリ破損脆弱性が発生しており,作成されたソフトウェアにおいては,メモリ関連の脆弱性が多いと報告されている.メモリ破損脆弱性への対策としては,プログラミング言語としてメモリ安全性機能を備えた,Rust 言語が近年注目をされてきている.本研究では,既存のソフトウェアと Rust 言語を低コストで接続可能とすることで,既存ソフトウェアのメモリアクセスの安全性を高め,メモリ破損脆弱性を利用する攻撃による被害の軽減を目指す.提案手法として,C 言語で書かれたライブラリの一部を Rust 言語で書かれたライブラリを呼び出すように置き換える実装を行う.結果として,安全性では,小さいライブラリ (fgets等) 単位での書き換えにおいては,C 言語に値を返却する際に引数として渡される情報に依存してしまうため,既存手法の欠点を補うことはできなかった.しかし,関数内でメモリ操作が完了するプログラムでは,Rust 言語で記述したライブラリに置き換えることで,C 言語で起きるメモリ破損脆弱性を防ぐことが可能であることが確認できた.また,大きなオーバヘッド発生しないことも確認した. | |||||||||
| 論文抄録(英) | ||||||||||
| 内容記述タイプ | Other | |||||||||
| 内容記述 | Low level languages such as C and C + +, which are used as main system programs, have a memory corruption vulnerability as a security problem, and it has been reported that there are many memory-related vulnerabilities in the created software. As a countermeasure against memory corruption vulnerability, the Rust language, which has a memory safety function as a programming language, has attracted attention in recent years. In this research, by making it possible to connect existing software and Rust language at low cost, we aim to increase the security of memory access of existing software and to reduce the damage by attacks using memory corruption vulnerability. As a proposed method, an implementation is carried out to replace a part of a library written in C language with a library written in Rust language. As a result, in the case of rewriting in units of small libraries (fgets, etc.), it is not possible to compensate for the defects of the existing method in terms of safety, because the rewriting depends on information passed as an argument when returning a value to the C language. However, it was confirmed that it was possible to prevent the memory corruption vulnerability which occurs in C language by replacing the program in which the memory operation is completed in the function with the library described in the Rust language. We also confirmed that there was no significant overhead. | |||||||||
| 書誌レコードID | ||||||||||
| 収録物識別子タイプ | NCID | |||||||||
| 収録物識別子 | AA11235941 | |||||||||
| 書誌情報 |
研究報告コンピュータセキュリティ(CSEC) 巻 2021-CSEC-92, 号 9, p. 1-8, 発行日 2021-03-08 |
|||||||||
| ISSN | ||||||||||
| 収録物識別子タイプ | ISSN | |||||||||
| 収録物識別子 | 2188-8655 | |||||||||
| Notice | ||||||||||
| SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc. | ||||||||||
| 出版者 | ||||||||||
| 言語 | ja | |||||||||
| 出版者 | 情報処理学会 | |||||||||