脆弱性を考慮したJava向け動的コンパイラの可搬な設計(セキュリティ基盤技術)
スポンサーリンク
概要
- 論文の詳細を見る
Javaアプリケーションの実行中に, ソフトウェアの脆弱性を利用した攻撃によってメモリが不正に書き換えられても, 制御を奪われにくいJava向け動的コンパイラの可搬な実装方法を提案する.提案する方法は次に示す4つの要素からなる.(1)動的コンパイル済みコードやディスパッチ表, 表引き法による例外処理向けの表を, 書き込み不可のページに配置し, 攻撃によって書き換えられないようにする.(2)動的コンパイラが生成途中の機械コードを, 攻撃によって書き換えられないよう, 動的コンパイラを, JavaVMとは別プロセスとして起動する.(3)間接分岐によるメソッド呼び出しの際に制御を奪われないよう, 間接分岐の前に, 間接分岐先の正当性を検査するコードを挿入する.(4)メソッドからの返戻時に制御を奪われないよう, メソッドごとに返戻先として有効な番地を登録した表を作成し, 読み込み専用ページに配置する.そして, メソッドから返戻する際には, 表から返戻先番地を求めて間接分岐する.表引きにあたって必要になる, 返戻先番地を収めるエントリの番号は呼び出し元が提供する.提案した方法によって生じる定常的オーバヘッドを, SPECjvm98およびSPECjbb2000を使って評価した結果, 1.59%であることが分かった.
- 一般社団法人情報処理学会の論文
- 2005-12-15
著者
関連論文
- Javaにおけるコンテナ向けキャストの除去
- Java向け動的コンパイラによる冗長なインスタンス変数参照の削除
- Java向け動的コンパイラによる冗長なBox化の削除
- Java向けヒープに対する不正参照のページ保護による検出
- 脆弱性を考慮したJava向け動的コンパイラの可搬な設計(セキュリティ基盤技術)
- 脆弱性の動的検知機能との連携を考慮した構造化例外処理の設計
- スレッド別ごみ集めにおけるライトバリアの高速化
- Java2Cトランスレータにおける可搬性のオーバヘッド
- 組込み機器向けJava2Cトランスレータにおける2返戻値法を使った例外処理の実現
- Java2Cトランスレータにおける例外処理の実現
- Java向け静的コンパイラによる仮想メソッド呼び出しの高速化
- Javaにおける静的コンパイル済みコードのリンク方法
- Java向け静的コンパイラによるクラス間最適化
- Java向けごみ集めの基本処理の高速化