動的アプローチによる言語ベースの情報フロー制御

書誌事項

タイトル別名
  • ドウテキ アプローチ ニ ヨル ゲンゴ ベース ノ ジョウホウ フロー セイギョ
  • Language-based Information Flow Control in Dynamic Approach
  • アクセス制御・認証

この論文をさがす

抄録

機密性,完全性,可用性は情報セキュリティの基本的な理念であるが,特に複数の主体のインタラクションを通じた間接的な情報の流れにおいて機密性や完全性への要求を満たすことを,情報フロー制御(information flow control)と呼ぶ.しかし,セキュアOS のようにプロセス単位の情報フローの制御を行う場合,制御できる情報の粒度が大きく,アプリケーションレベルの機密保護要件を満たせず,また1 つのプロセスの中で複数の機密度に属する情報が扱われる場合,プログラムの誤りによって不適切に情報が開示される危険がある.より粒度の細かい情報フロー制御を可能にするため,プログラミング言語のレベル情報フロー(Information Flow)を解析・制御する試みが行われている.しかし実用化に鑑みた場合,1) オブジェクト指向など疎結合な構成を持つソフトウェアで実行時の構成に起因する動的な振舞いを考慮できない,2) ハッシュテーブルなどの複雑なデータ構造や制御構造を通した情報フローの追跡が困難である,3) 言語の拡張やプログラムの改造が必要となるため既存のソフトウェア資産を再利用できない,などの阻害要因がある.本論文では,動的なアプローチを採用することにより,既存のソフトウェア資産に手を加えることなく情報フロー制御を行う方式を提案する.この方式では,プログラムの実行コードを書き換えることによってInline Reference Monitor(IRM)を挿入し,実行時に動的に情報フローの追跡と制御を行う.バイトコード書き換え手法を使用することにより,ソフトウェアの改造が不要であり,実行環境に依存しないという利点がある.

Information flow control refers to the concepts that satisfy confidentiality and integrity properties through indirect information propagation through interaction of entities. However, when information flow is controlled at the granularity of processes, such as in secure operating systems, the granularity of the control may be too coarse to meet requirements from application level compliance policies. In order to achieve fine-grained information flow control, language-based information flow control is receiving attention. The majority of past research focuses on static analysis of information flow, but when we consider the practical use of such technologies, there are difficulties; 1) Static analysis cannot cover the dynamic conditions of executing code or user input, 2) It is difficult to analyze complicated data structures and control flows of practically used object-oriented languages, and 3) When the language is extended with security types, existing software cannot be reused without adaptations. We propose a dynamic approach for information flow control that does not require modifications of existing code. In our approach, the system instruments the JavaTMbytecode to insert an In-line Reference Monitor (IRM), and information is tracked and controlled by the IRM at the granularity of primitive data types. By using the bytecode rewriting technique, our approach works on existing programs without needing modification of source code, and it has no dependencies on specific Java virtual machines.

収録刊行物

被引用文献 (1)*注記

もっと見る

参考文献 (21)*注記

もっと見る

詳細情報 詳細情報について

問題の指摘

ページトップへ