{"created":"2023-06-19T11:40:44.669925+00:00","id":9234,"links":{},"metadata":{"_buckets":{"deposit":"7fd8314b-f57c-4903-8440-b215dcaa4cea"},"_deposit":{"created_by":15,"id":"9234","owners":[15],"pid":{"revision_id":0,"type":"depid","value":"9234"},"status":"published"},"_oai":{"id":"oai:mie-u.repo.nii.ac.jp:00009234","sets":["366:640:641:648"]},"author_link":["23021","23020"],"item_7_biblio_info_6":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicIssueDates":{"bibliographicIssueDate":"2011-01-01","bibliographicIssueDateType":"Issued"}}]},"item_7_contributor_61":{"attribute_name":"修士論文指導教員","attribute_value_mlt":[{"contributorNames":[{"contributorName":"山田, 俊行","lang":"ja"}],"nameIdentifiers":[{"nameIdentifier":"23021","nameIdentifierScheme":"WEKO"}]}]},"item_7_description_14":{"attribute_name":"フォーマット","attribute_value_mlt":[{"subitem_description":"application/pdf","subitem_description_type":"Other"}]},"item_7_description_4":{"attribute_name":"抄録","attribute_value_mlt":[{"subitem_description":"近年,プログラムのセキュリティにおける脆弱性の増加が問題になっている.脆弱性のあるプログラムを実行すると,プログラムが正常に動作せず,処理の遅延やコンピュータ停止の原因になる。これらを防ぐために,脆弱性の検出手法が求められている。代表的な脆弱性にバッファオーバーフローがある。バッファオーバーフローは確保領域外への書き込みで起きる.悪意のある攻撃者によるバッファオーバーフロー攻撃は,プログラムのリターンアドレス書き換えの原因になる.リターンアドレスは,プログラムが関数実行後に実行する命令番地を表す.攻撃者はプログラムに悪意のあるコードを入力し,リターンアドレスを書き換えてそのコードを実行する.この攻撃により,攻撃者はコンピュータを乗つ取ることができるため, リターンアドレス書き換えの検出は重要である.現在,脆弱性の検出手法は多いが,そのほとんどはソースコードを必要とする.しかし,配布されているプログラムの多くはバイナリプログラムで,ソースコードが付属していない.そこで,バイナリプログラムを対象とした解析手法が必要である.その1つとして,ソースコードが不要で,プログラム実行時の状態を解析するバイナリ解析がある.本研究の目的は,バイナリ解析を用い, リターンアドレス書き換え攻撃を検出する手法の提案である.バイナリ解析の1つにRepsらの手法[BRlqがぁる.この手法は,「値集合」と呼ばれる実メモリの状態を仮想的に再現するデータ構造を用いて,実メモリの状態を追跡する.そのためにまず,バイナリプログラムを逆アセンブルし,得られたアセンブリコードから命令の実行順序を表す制御フローグラフを作成する.そして,グラフの始′点から終ノ気に沿つて各ノードの値集合を作成し,更新していく.値集合の作成と更新には,各ノードのアセンブリ命令ごとに値集合の更新規貝Jを適用する。この規則により,値集合が書き換えられるため,実メモリの状態の変化が判明する.この手法ではリターンアドレス書き換えの有無を判定できるが,その書き換えが攻撃者によるものか否かを判定できないという問題″点が存在する.そこで,本研究はRepsらのバイナリ解析の値集合を拡張し,外部からの入力を表す情報を要素として追力日した.そして,従来の規則に,「外部入力か否かの判定規則」と,「外部入力依存かを表す情報を,更新する値集合に伝播させて外部入力を追跡する更新規則」を追加した.本手法は外部からの入力を受け取るOSの機能であるreadシステムコールを外部入力と判定した.これらの規貝Jにより,攻撃者のリターンアドレス書き換え攻撃を検出できる。また,本手法をJavaで実装し, リターンアドレス書き換え攻撃を検出できることを確かめた.","subitem_description_type":"Abstract"}]},"item_7_description_5":{"attribute_name":"内容記述","attribute_value_mlt":[{"subitem_description":"三重大学大学院工学研究科博士前期課程情報工学専攻","subitem_description_type":"Other"},{"subitem_description":"2, 19","subitem_description_type":"Other"}]},"item_7_publisher_30":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"三重大学"}]},"item_7_text_65":{"attribute_name":"資源タイプ(三重大)","attribute_value_mlt":[{"subitem_text_value":"Master's Thesis / 修士論文"}]},"item_7_version_type_15":{"attribute_name":"著者版フラグ","attribute_value_mlt":[{"subitem_version_resource":"http://purl.org/coar/version/c_970fb48d4fbd8a85","subitem_version_type":"VoR"}]},"item_creator":{"attribute_name":"著者","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"松永, 朋樹","creatorNameLang":"ja"}],"nameIdentifiers":[{"nameIdentifier":"23020","nameIdentifierScheme":"WEKO"}]}]},"item_files":{"attribute_name":"ファイル情報","attribute_type":"file","attribute_value_mlt":[{"accessrole":"open_date","date":[{"dateType":"Available","dateValue":"2017-02-20"}],"displaytype":"detail","filename":"2011M262.pdf","filesize":[{"value":"4.6 MB"}],"format":"application/pdf","licensetype":"license_note","mimetype":"application/pdf","url":{"label":"2011M262.pdf","url":"https://mie-u.repo.nii.ac.jp/record/9234/files/2011M262.pdf"},"version_id":"d375d6f0-1c55-47db-8bcb-1d244b3de115"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourcetype":"thesis","resourceuri":"http://purl.org/coar/resource_type/c_46ec"}]},"item_title":"バイナリコードの解析 : 入力依存の脆弱性の検出","item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"バイナリコードの解析 : 入力依存の脆弱性の検出","subitem_title_language":"ja"}]},"item_type_id":"7","owner":"15","path":["648"],"pubdate":{"attribute_name":"PubDate","attribute_value":"2013-06-11"},"publish_date":"2013-06-11","publish_status":"0","recid":"9234","relation_version_is_last":true,"title":["バイナリコードの解析 : 入力依存の脆弱性の検出"],"weko_creator_id":"15","weko_shared_id":-1},"updated":"2023-09-11T01:58:26.096732+00:00"}