{"links":{},"id":228631,"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00228631","sets":["6164:6165:6462:11379"]},"path":["11379"],"owner":"44499","recid":"228631","title":["Rustで記述されたLinuxカーネルドライバの安全性検査に向けて"],"pubdate":{"attribute_name":"公開日","attribute_value":"2023-10-23"},"_buckets":{"deposit":"fb736594-4578-4152-8c3d-39956ac3e820"},"_deposit":{"id":"228631","pid":{"type":"depid","value":"228631","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"Rustで記述されたLinuxカーネルドライバの安全性検査に向けて","author_link":["612878","612875","612876","612877"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Rustで記述されたLinuxカーネルドライバの安全性検査に向けて"},{"subitem_title":"Towards the Safety Checking of Linux Kernel Drivers Written in Rust","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"Rust,Linuxカーネル,安全性検査,NVMe","subitem_subject_scheme":"Other"}]},"item_type_id":"18","publish_date":"2023-10-23","item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_18_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"NTTセキュリティ・ジャパン株式会社"},{"subitem_text_value":"NTTセキュリティ・ジャパン株式会社"}]},"item_18_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"NTT Security (Japan) KK","subitem_text_language":"en"},{"subitem_text_value":"NTT Security (Japan) KK","subitem_text_language":"en"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/228631/files/IPSJ-CSS2023018.pdf","label":"IPSJ-CSS2023018.pdf"},"date":[{"dateType":"Available","dateValue":"2025-10-23"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-CSS2023018.pdf","filesize":[{"value":"446.9 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"30"},{"tax":["include_tax"],"price":"0","billingrole":"46"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"a06d06fe-4391-4d50-a467-1fdaab92c636","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2023 by the Information Processing Society of Japan"}]},"item_18_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"青島, 達大"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"大月, 勇人"}],"nameIdentifiers":[{}]}]},"item_18_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Tatsuhiro, Aoshima","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Yuto, Otsuki","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_5794","resourcetype":"conference paper"}]},"item_18_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"Rustは,メモリ安全で効率の良いプログラミングが実現できることを標榜するプログラミング言語である.OSやWebブラウザ等の基盤システムにおいて,その採用が広がっている.特に,Linux 6.1以降,Rustで書かれたカーネルモジュールが利用できるようになった.本論文では,将来的にRustでカーネルモジュールが記述されるようになった時代でも潜む脅威について議論する.まず,Rustにおける所有権と借用の概念を確認し,Rustが保証する安全性とその仮定を整理する.これらの仮定は,Rustにおけるunsafeコードが満たすべき条件を与える.具体例として,Rust-for-Linuxプロジェクトで試験実装されているNVMeドライバを題材に,検査を行った結果を報告する.また,unsafeコードを使わなくとも,提供されたRust側のインターフェイスのみを利用して,メモリ脆弱性を残してしまう危険性があることも示す.","subitem_description_type":"Other"}]},"item_18_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Rust is one of programming languages advocating to realize memory-safety and memory-efficient programming. It has been adopted in several important foundation system such as OS and Web browsers. Linux kernel since version 6.1 supports to load kernel modules written in Rust. In this paper, in foreseeable future such that many Linux kernel modules are written in Rust, we reveal what kind of vulnerabilities may be contained in such Rust kernel modules. We review the ownership and borrowing of Rust, then clarify the safety ensured by Rust and its assumptions. These assumptions gives some of conditions for Rust unsafe code to satisfy.\nAs an example, we will check the experimental NVMe driver proposed by the Rust for Linux project, and report some results. We found a risk that some kind of memory vulnerabilities will be left as only using safely provided Rust interface without any unsafe code. ","subitem_description_type":"Other"}]},"item_18_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"130","bibliographic_titles":[{"bibliographic_title":"コンピュータセキュリティシンポジウム2023論文集"}],"bibliographicPageStart":"123","bibliographicIssueDates":{"bibliographicIssueDate":"2023-10-23","bibliographicIssueDateType":"Issued"}}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"created":"2025-01-19T01:27:46.398575+00:00","updated":"2025-01-19T11:47:05.273802+00:00"}