[論文レビュー] Security Policy Specification Using a Graphical Approach
この論文は、図的表現と一階論理を用いて、形式的でオブジェクト指向の言語であるLaSCOを紹介する。LaSCOは、アプリケーションレベルでの正確で人間が読みやすいポリシー定義を可能にし、コード生成による自動的実装を支援する。また、セキュアなソフトウェアシステムにおけるポリシーの合成と静的解析を可能にする。
A security policy states the acceptable actions of an information system, as the actions bear on security. There is a pressing need for organizations to declare their security policies, even informal statements would be better than the current practice. But, formal policy statements are preferable to support (1) reasoning about policies, e.g., for consistency and completeness, (2) automated enforcement of the policy, e.g., using wrappers around legacy systems or after the fact with an intrusion detection system, and (3) other formal manipulation of policies, e.g., the composition of policies. We present LaSCO, the Language for Security Constraints on Objects, in which a policy consists of two parts: the domain (assumptions about the system) and the requirement (what is allowed assuming the domain is satisfied). Thus policies defined in LaSCO have the appearance of conditional access control statements. LaSCO policies are specified as expressions in logic and as directed graphs, giving a visual view of policy. LaSCO has a simple semantics in first order logic (which we provide), thus permitting policies we write, even for complex policies, to be very perspicuous. LaSCO has syntax to express many of the situations we have found to be useful on policies or, more interesting, the composition of policies. LaSCO has an object-oriented structure, permitting it to be useful to describe policies on the objects and methods of an application written in an object-oriented language, in addition to the traditional policies on operating system objects. A LaSCO specification can be automatically translated into executable code that checks an invocation of a program with respect to a policy. The implementation of LaSCO is in Java, and generates wrappers to check Java programs with respect to a policy.
研究の動機と目的
- アプリケーションレベルでの形式的で柔軟かつ人間が読みやすいセキュリティポリシー定義の欠如に対処すること。
- 一階論理における形式的意味論を通じたポリシーの推論を可能にすること。
- Javaアプリケーションにおけるコードインストルメンテーションを通じたポリシーの自動的実装を支援すること。
- 実装メカニズムに依存しないポリシー定義を可能にし、異なるシステム間での再利用を可能にすること。
- OSオブジェクトにとどまらず、アプリケーションレベルのオブジェクトとメソッドを含めたポリシーモデリングの拡張
提案手法
- LaSCOは、論理的注釈を備えた有向グラフとしてポリシーを表現し、視覚的明快さと形式的意味論を統合する。
- ポリシーは条件付き文として構造化され、ドメイン(文脈)と要件(許可されたアクション)からなる。
- 言語は一階論理を用いて形式的意味論を提供し、整合性と完全性の推論を可能にする。
- LaSCOポリシーは、実行時における呼び出しのポリシー制約との照合をチェックする実行可能Javaコードにコンパイルされる。
- このアプローチは、イベントのシーケンスに対するパターンマッチングを含むポリシーの合成とサポートを可能にする。
- 実装には、実行時におけるポリシーの強制を目的としたJavaプログラムへのポリシーチェックラッパーの挿入が含まれる。
実験結果
リサーチクエスチョン
- RQ1どのようにすれば、人間が読みやすく形式的に正確な方法でセキュリティポリシーを定義できるか?
- RQ2図的で論理ベースの言語は、アプリケーションレベルで複雑で時間依存のアクセス制御ポリシーを効果的にモデル化できるか?
- RQ3実行可能であると同時に、形式的に合成・推論が可能なポリシーはどのように実現できるか?
- RQ4オブジェクト指向システムにおける自動コードインストルメンテーションによるポリシーの強制は、実現可能か?
- RQ5このような言語は、静的解析と実行時監視の両方をサポートできるか?
主な発見
- LaSCOは、OSレベルにとどまらず、アプリケーションレベルでの制約ベースのセキュリティポリシーの定義を可能にする。
- 図的表現は人間の理解を向上させる一方、形式的論理は整合性と完全性を保証する。
- LaSCOで表現されたポリシーは、実行時における強制のための実行可能コードに自動的に変換可能である。
- LaSCOは、イベントのシーケンスと文脈的条件を含む複雑なポリシーパターンのサポートを可能にする。
- LaSCOは、異なるシステムや強制メカニズム間でのポリシーの再利用と合成を容易にする。
- このアプローチは、静的ポリシアナリシスと実行時監視の両方を可能にし、インシデント検出とセキュアなアプリケーションデプロイメントを支援する。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。