WebLogic Platform 8.1を使用した脅威防御入門
本日の発見。
Som Sengupta氏が書かれたアーティクルの日本語訳。
目次は下記のようになっており、結構充実した内容になっている。
脅威防御プロセス WebLogic Platformアプリケーション資産の識別 アプリケーションアーキテクチャの分析:サンプルのデプロイメントシナリオ セキュリティプロファイルの定義 脅威の識別 脅威情報に基づくセキュリティ強化 まとめ 付録:定義 謝辞
具体的には
入力検証
バッファオーバーラン脆弱性を突く攻撃には、「サービス妨害(Denial Of Service)」攻撃やコードインジェクション(code injection)があります。「サービス妨害」攻撃はプロセスをクラッシュさせる可能性があります。コードインジェクションはプログラムの実行アドレスを書き換えて、攻撃者が挿入したコードを実行させます。
バッファオーバーラン脆弱性の予防手段には、以下のものがあります。
バッファを保持するすべてのメッセージの中で長さチェックを実行する(JNIコードに対してのみ有効)
バッファオーバーラン対策が施された、最新のJVMパッチを適用する
SQLインジェクション(SQL injection)攻撃を利用すると、データベース内で任意のコマンドを実行できます。この攻撃のほとんどは、アプリケーションが入力文字列を使用して、データベースにアクセスするための動的SQL文を構築するときに発生します。予防手段には以下のものがあります。
JDBC仕様にはSQLインジェクションの扱いについて明確な規定がないため、データベースドライバをテストして、そのドライバに「PreparedStatement」が実装済みでありSQLインジェクションの危険性が低いことを確認する
SQLインジェクションを回避するために常に入力を検証する
入力を検証せずにJDBCパッケージをバッチ実行することは、SQLインジェクションを呼び込む脆弱性となる
データベーステーブルへのアクセス制御を設計する際に「最小限の特権(Least Privilege)」の原則を適用する。プリンシパルマッピングはコネクタアーキテクチャを使用して実装されることが想定されます。これは、アクセス権限が異なるWLSアイデンティティのそれぞれに対応する、一連のデータベースアイデンティティを確立するために役立ちます。
という様に実装についても書かれている。
ってことで、紹介まで。
#実はちゃんと読み切れてない(^_^;