第7回 必要最低限の権利の利用

第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 を利用したアプリケーション セキュリ
ティの実装