配分額 *注記 |
3,700千円 (直接経費: 3,700千円)
2006年度: 1,200千円 (直接経費: 1,200千円)
2005年度: 1,200千円 (直接経費: 1,200千円)
2004年度: 1,300千円 (直接経費: 1,300千円)
|
研究概要 |
前年度に行ったシステム設計の見直しに基づいて,動的命令を含むプログラムPを作成するシステムを試作・評価を行い,さらなる安全性の向上について検討した. 試作システムを用いてPを作成し,Pに含まれるオペコードの値の分布に基づいてPの安全性を評価した結果,システム設計の見直しによって標準偏差が38.83から13.47に改善し,ガウス分布を仮定した場合の(理想的な)標準偏差である12.7に非常に近い値を取ることが確認できた.このことから,攻撃の手がかりが大きく減じたといえる. ただし,次の2点が依然として課題として残っている.(1)Pの各行に存在する動的命令(オペコード)は,実行時にそれぞれ一意に解釈されるため,Pを暗号文とみなして暗号解読を行うことが可能であり,元のプログラムPOが推測される可能性がある.(2)Pは,一般に,ライブラリ関数と呼ばれる外部のプログラムを呼び出す場合があり,この呼び出しの存在が攻撃者に手がかりを与える. そこで,(1)(2)をそれぞれ解決するための要素技術について検討した.まず,(1)を解決するために,命令列の畳込みという新しい概念を導入し,類似する命令列を一つの命令列にまとめ,それら命令列間の差分を,自己書き換えにより必要な命令(オペコード,及び,オペランド)に置き換える方法を提案した.これにより,Pの各命令は必ずしも一意な解釈を持たなくなり,単純な暗号解読に対する耐性を高めることができた. また,(2)を解決するために,Pに含まれるライブラリ関数の名前を暗号化し,それらをPの実行時に復号し,リフレクションや動的リンクの機構を用いて関数を呼び出す方法を提案した.これにより,Pに含まれるライブラリ関数の名前を隠すことが可能となった.
|