ホーム | 7月 2006 >>

Challenges for Information-flow Security

情報流解析に関する研究は数多くなされているが、なぜ実用化されないのか、何が問題になっているのか、複数存在する要因のうち 3 つのポイントについて議論した論文。

一つ目は既存のインフラ(OSなど)とどのように統合するか、二つ目は現実的でない非干渉性に代わる有用な性質が必要、三つ目はセキュリティポリシーをどのように管理するか。

現実的なセキュリティポリシーは非干渉性モデルには落とし込めないこと、ポリシーにはコーディング時に既にわかるものから実行時までわからないものまで様々なものがあることなど、実用する際の様々な問題を指摘し、情報流解析に関する今後の研究の方向性を示唆している。

情報流解析の既存の研究を調べ始めてすぐに非干渉性が現実には強力すぎることに気付いたし、そのことがちゃんと文書になっていたなという感じ。これらの問題に取り組んでいる研究にも触れていて、この分野の研究を始める時に Sabelfeld and Myers のサーベイ論文と一緒に読むといいかも。

author="Steve Zdancewic",
title="Challenges for Information-flow Security",
booktitle="Proceedings of PLID'04",
year="2004"

タグ : ,

ECMAScript

Sapid の ECMAScript 解析器をバージョンアップ。今回の作業を通して思ったけど、ECMAScript はかなり言語仕様が汚い。変だと思ったことはいろいろあるけど、例えば、構文解析しないとスラッシュの意味が除算か正規表現リテラルが決められなくて、構文解析の途中で字句解析器の状態変化を起こすために面倒なことをしました。JavaCC を使ったけど magic number みたいなものを使う羽目になってちょっと嫌な感じ。こういうのをまとめて開発者向けドキュメント書いておかないと後で苦しみそう。

Deriving an Information Flow Checker and Certifying Compiler for Java

高レベル言語(Java とか)に対する情報流解析のための型システムと、低レベル言語(バイトコードとか)に対する情報流解析のための型システムを結び付けようという論文。高レベル言語と低レベル言語の命令間の対応はコンパイルの定義として与えられるけど、型システムでも対応をとらなければいけない。そこで、制御が分岐するポイントにラベルをつけて、それぞれのポイントにおけるセキュリティレベルも扱えるような型システムを定義する。そして、高レベル用、低レベル用それぞれの型システムと新しい型システムの対応を与える。論文は対応を与えるという形で書いてあるけど、実際に活用する時は低レベルに対する型システムから高レベル言語に対する型システムを導出するという使い方になるような気がする。

author="Gilles Barthe and David Naumann and Tamara Rezk",
title="Deriving an Information Flow Checker and Certifying Compiler for Java",
booktitle="Proceedings of the 2006 IEEE Symposium of Security and Privacy",
publisher="IEEE Computer Society",
pages="230--242,
year="2006"

タグ : ,