Skip to main content
QUICK REVIEW

[論文レビュー] Stronger Enforcement of Security Using AOP and Spring AOP

Kotrappa Sirbi, Prakash Kulkarni|arXiv (Cornell University)|Jun 23, 2010
Advanced Software Engineering Methodologies参考文献 1被引用数 5
ひとこと要約

本論文では、アクセス制御や情報分類といったクロスカuttingな concern をモジュラー化することで、オブジェクト指向アプリケーションにおけるセキュリティ強化を、アスペクト指向プログラミング(AOP)、特にAspectJとSpring AOPを用いて提案する。コンパイル時(AspectJ)および実行時(Spring AOP)にセキュリティ関連のアスペクトをアプリケーションに統合することで、コードの絡みつきや散在を軽減し、一貫性があり再利用可能で強固なセキュリティポリシーの実装を可能にする。特にSpring AOPは、従来のOOPや基本的なAOPアプローチと比較して、より強い実行時におけるセキュリティ強制を示している。

ABSTRACT

An application security has two primary goals: first, it is intended to prevent unauthorised personnel from accessing information at higher classification than their authorisation. Second, it is intended to prevent personnel from declassifying information. Using an object oriented approach to implementing application security results not only with the problem of code scattering and code tangling, but also results in weaker enforcement of security. This weaker enforcement of security could be due to the inherent design of the system or due to a programming error. Aspect Oriented Programming (AOP) complements Object-Oriented Programming (OOP) by providing another way of thinking about program structure. The key unit of modularity in OOP is the class, whereas in AOP the unit of modularity is the aspect. The goal of the paper is to present that Aspect Oriented Programming AspectJ integrated with Spring AOP provides very powerful mechanisms for stronger enforcement of security.Aspect-oriented programming (AOP) allows weaving a security aspect into an application providing additional security functionality or introducing completely new security mechanisms.Implementation of security with AOP is a flexible method to develop separated, extensible and reusable pieces of code called aspects.In this comparative study paper, we argue that Spring AOP provides stronger enforcement of security than AspectJ.We have shown both Spring AOP and AspectJ strive to provide a comprehensive AOP solutions and complements each other.

研究の動機と目的

  • 従来のOOPにおけるコードの散在性と絡みつきの問題により、セキュリティポリシーの強制が不十分となるという限界を是正すること。
  • AOPがアクセス制御やデータ分類といったセキュリティ関連の concern をどのようにモジュラー化できるかを調査すること。
  • 従来のOOPと比較して、AspectJとSpring AOPがセキュリティポリシーをより強固に強制できるかの有効性を比較すること。
  • AOPベースのセキュリティ強制が、保守性が高く拡張可能で一貫性のあるセキュリティメカニズムをもたらすことを実証すること。

提案手法

  • アプリケーションコードベースにセキュリティアスペクトをコンパイル時ワイピングで統合するためのAspectJの統合。
  • プロキシを介したプロキシによる実行時ワイピングを通じて、動的セキュリティチェックを可能にするSpring AOPの使用。
  • 再利用可能なモジュールとして、承認制御および機密解除制御ロジックをカプセル化したセキュリティアスペクトの定義。
  • セキュリティチェックが必要な特定のメソッドやクラスをターゲットとするポイントカットの適用。
  • AOPの関心の分離を活用し、セキュリティロジックをビジネスロジックから分離することで、結合度の低減。
  • 実世界のアプリケーション文脈において、Spring AOPとAspectJの間でのセキュリティ強制力の比較的評価。

実験結果

リサーチクエスチョン

  • RQ1AOPは、従来のOOPアプローチと比較して、セキュリティ強制のモジュラリティと保守性をどのように向上させるか?
  • RQ2AspectJとSpring AOPは、必須アクセス制御の強制および情報の機密解除を防ぐために、どの程度活用可能か?
  • RQ3コンパイル時(AspectJ)と実行時(Spring AOP)のワイピングメカニズムにおける、セキュリティ強制力の違いは何か?
  • RQ4コアビジネスロジックを変更せずに、AOPを用いてセキュリティポリシーを再利用可能でプラグイン可能にすることができるか?
  • RQ5AOPは、オブジェクト指向システムにおけるセキュリティ強制を弱めるプログラミングエラーのリスクをどのように軽減するか?

主な発見

  • AOPは、セキュリティロジックを専用のアスペクトにカプセル化することで、コードの散在性と絡みつきを顕著に低減し、コードの明確性と保守性を向上させる。
  • 従来のOOPや基本的なAOPアプローチと比較して、Spring AOPは実行時におけるセキュリティポリシーの強制がより強い。
  • AOPにおける関心の分離により、アクセス制御および分類ポリシーの実装が一貫性があり再利用可能になる。
  • 既存のビジネスロジックを変更せずに、セキュリティアスペクトをアプリケーションに統合できるため、拡張性とモジュラリティが向上する。
  • AspectJとSpring AOPの統合により、異なるデプロイメント環境で互いに補完する包括的ソリューションが得られる。
  • 比較研究により、AOPベースのセキュリティ強制は、モノリシックなOOP実装と比較してより堅牢でエラーの少ないものであると確認された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。