第7回 必要最低限の権利の利用 重要性とその方法 NECラーニング 山崎 明子 必要なパワーはどちら? セキュリティの問題を 未然に防ぐことができる!? クロスサイト スクリプティング バッファ オーバーフロー DoS攻撃 SQLインジェクション システムダウン 個人情報の漏洩 Webページの改ざん その他 さまざまな問題 インターネット上の代表的な攻撃 ウイルス、ワーム、トロイの木馬 Webページの改ざん セキュリティでよく耳にする用語の 確認 ウイルス ワーム ネットワーク経由で自動的に伝染するプログラム トロイの木馬 プログラムやファイルを経由して伝染するプログラム 通常のプログラムを装う悪意を持つプログラム マルウェア 上記のような悪意のあるプログラムの総称 具体的な攻撃と権限 ウイルス、ワーム、トロイの木馬 ex. ILOVEYOU システムディレクトリやレジストリへの書き込み Webページの改ざん ex.IIS5の未チェックのバッファ バッファオーバーフローを利用した攻撃 さまざまなプログラムの実行 効果的な対策 必要な最低限の権限の特定 不要な権限は持たない 局所的な場所でだけ必要な権限の特定 そこでだけ特権を取得し昇格 終了時に降格 部分信頼という考え方 .NET Framework 1.1 が登場するまで すべての Web アプリケーションは完全信頼モードで 実行 .NET Framework 1.1以降 部分信頼レベルを提供 完全・高・中・低・最小 必要な場面での権限の昇格 AllowPartiallyTrustedCallers 属性の利用 部分的な昇格のためのしくみ アクセス許可の要求とアサート AllowPartiallyTrustedCallers 属性の追加 グローバル アセンブリ キャッシュへのアセンブリの追加 部分信頼の Web アプリケーション <trust level_"Medium" originUri_--/> リソースに アクセスする プログラム リソースへの アクセス セキュリティで 保護されたリソース アクセスには 特権が必要 システムアカウントの利用 Winowsサービスの実行 従来は、Local Systemアカウントで実行 Windows XPとWindows Server 2003の新しい アカウント Local Serviceアカウント ネットワークリソースに対しては匿名ユーザ Network Serviceアカウント ネットワークリソースに対してはコンピュータアカウント まとめ 最もセキュリティで重要なこと とにかく、必要最低限の権限で実行するようにする 必要なときだけ特権を取得する それ以外は特権を持たない 設計段階で考慮 後付けで権限を削除することは難しい 最初から必要・不要な権限を切り分け 設計に組み込む リファレンス 開発者のためのセキュリティサイト MSDNデベロッパーセキュリティセンター http://www.microsoft.com/japan/msdn/security/ 開発者向け セキュリティ オンライン セミナー http://www.microsoft.com/japan/msdn/security/seminars/ アプリケーションセキュリティの基礎 実践! セキュアなコード記述 Part 1 実践! セキュアなコード記述 Part 2 実践! .NET Framework を利用したアプリケーション セキュリ ティの実装
© Copyright 2024 ExpyDoc