第7回 必要最低限の権利の利用 重要性とその方法 NECラーニング 山崎 明子 必要最低限の権利の利用の重要性についてご紹介いたします。

Slides:



Advertisements
Similar presentations
Outlook メール文字化けの原因と対策 Exchange Server 環境編. 目次はじめに文字化けのよくある原因と回避策 1. A:半角英数字、ヨーロッパ言語などが混在した 文字化け B : 送信済みメールの宛先や CC の文字化け 2. 返信、転送時の、ユーザー名や件名の文字化け 3. 日本語が半角英数字に文字化け.
Advertisements

コンピュータウイル ス ~ウイルスの感染を防ぐには~. ( 1 )コンピュータウイルスとはどんなもの なのか、 どんな被害を及ぼすのかを知る。 ( 2 )コンピュータウイルスに感染しないた めの 方法を知る。 1 課 題 ウイルスの感染を防ぐに は.
Internet Explorer 障害解析 最初の一歩 - IE のトラブルを理解する -. 概要 Internet Explorer を使用中に発生するトラブルの 種類と、調査のための切り分け方法を紹介します! (以降は IE と略称で表記します) よくあるお問い合わせ Web ページの表示が白画面のまま完了しない.
ネットワーク社会の 情報倫理 第4章 コンピュータウィルス [近代科学社刊]. 4. 1 有害なプログラム コンピュータウィルス ワーム トロイの木馬 スパイウェア・アド ウェア デマウィルス マルウェア (mal-ware) → 有害なプログラムの総称 ( mal :悪意を持っ た) マルウェアの種類.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
コンピュータウィルス.
IIS 4.0で開発をするコツ Webアプリケーション構築.
Global Ring Technologies
メール暗号化:秘密鍵・公開鍵の作成  作業手順 Windows メール(Vista).
安全なログオン手順 2004/08/26 Port139 伊原 秀明.
「電子レセプトビューア - RECEVIEW - 」
コンピュータウィルスと脆弱性 メディアコミュニケーション論Ⅲ 7/18/08.
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
受動的攻撃について Eiji James Yoshida penetration technique research site
Xenを用いたクラウドコンピュー ティングにおける情報漏洩の防止
学校におけるネットワークの運用と技術 兵庫県立伊丹北高等学校 佐藤 勝彦.
電子社会設計論 第11回 Electronic social design theory
Microsoft Office Project 2007
ネット時代のセキュリティ2(脅威の例) 2SK 情報機器工学.
コンピュータウイルス ~ウイルスの感染を防ぐには~
情報セキュリティ読本 三訂版 - IT時代の危機管理入門 -
第5回 DoS攻撃 その攻撃と対処 NECラーニング 山崎 明子 DoS攻撃とその対処についてご紹介します。
市販のソフトウェアが これほど脆弱な理由 (それをどのように解決するか).
中学校「総合的な学習の時間」 基礎講座 本庄市立本庄南中学校 第一学年.
Webサイト運営 09fi118 橋倉伶奈 09fi131 本間昂 09fi137 三上早紀.
Windowsを理解しよう! ーメンテナンスの薦めー.
Vulnerability of Cross-Site Scripting
第6章 トランザクション管理 6.1 トランザクションの概念 6.2 同時実行制御 6.3 障害回復.
[オンライン学習に登録] [情報ネットワークを安全に利用しよう]
仮想計算機を用いたファイルアクセス制御の二重化
第2章 第1節 情報通信の仕組み 4 暗号技術と情報の保護 5 コンピュータとネットワークの管理
インターネット社会の脅威 (インターネット社会のセキュリティ) 開始 再生時間:5分20秒.
セキュリティ・チェックリスト解説 【5~10分】
インターネット活用法 ~ブラウザ編~ 09016 上野喬.
第13回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
利用者が守るセキュリティー (パスワードについて)
EBSCOhost 詳細検索 チュートリアル support.ebsco.com.
ネストした仮想化を用いた VMの安全な帯域外リモート管理
情報セキュリティ読本 四訂版 - IT時代の危機管理入門 -
メールの利用1 Webメールの利用方法.
セキュリティリスク 思わぬところに潜む 教職員の基礎知識シリーズ
第2回 SQL インジェクション その攻撃と対処 NECラーニング 山崎 明子.
情報セキュリティ - IT時代の危機管理入門 -
DNSトラフィックに着目したボット検出手法の検討
ウイルスについて I98N044 久野耕介 I98N114 藤田和久
Microsoft MVP for Development Tools – Visual C++
ウイルス対策 ウイルスから他人と自分を守る 玉川医師会 (医)小倉病院 縄 嘉津記
サイバーセキュリティ バッファオーバフロー
Microsoft MVP for Development Tools – Visual C++
セキュリティ 05A2013 大川内 斉.
RD セッション ホストにおける RDC クライアントの シングル サインオン (SSO) について
セキュリティ(2) 05A2013 大川内 斉.
VIRUS.
Microsoft MVP for Development Tools – Visual C++
個人情報の流出の危険性とその対策について
Intel SGXを用いた仮想マシンの 安全な監視機構
セキュリティリスク 思わぬところに潜む 教職員の基礎知識シリーズ
Microsoft® Lync Online™ 2010 Web App
情報コミュニケーション入門b 第11回 Web入門(2)
コンピュータにログイン 第1章 コンピュータにログイン 啓林館 情報A最新版 (p.6-13)
コンピュータ リテラシー 担当教官  河中.
後藤滋樹研究室の紹介 現在のインターネットの課題 敵を知り、己を知れば、百戦危うからず(孫子) 1
コミュニケーションと ネットワークを探索する
第一回 情報セキュリティ 05A1027 後藤航太.
Cell/B.E.のSPE Isolationモードを用いた監視システム
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
本当は消去できていない!? ~データを完全消去する方法~
本当は消去できていない!? ~データを完全消去する方法~
Microsoft® Office® 2010 トレーニング
情報モラル06 情報 セキュリティ.
Presentation transcript:

第7回 必要最低限の権利の利用 重要性とその方法 NECラーニング 山崎 明子 必要最低限の権利の利用の重要性についてご紹介いたします。 セキュリティに配慮したアプリケーションでは、必要最低限の権利で実行することが強く推奨されます。 この回では、なぜ、必要最低限の権利での実行が必要なのか、それをどのように実現するのか?についてご紹介します。

必要なパワーはどちら? たとえば、貯金箱を壊すことを想像してみてください。その場合、トンカチがあれば十分、壊して中身を取り出すことができます。もちろん、ブルドーザーやパワーショベルを利用すれば、貯金箱を壊すことが出来るかもしれませんが、それでは、中身のお金が敗れてしまったたり、貯金箱がおいてあった机まで破壊してしまう可能性があります。 少なくとも、貯金箱を壊して中身を取り出すということが目的であれば、明らかに、トンカチだけでそのパワーは十分です。逆にそれ以上のパワーを持っていると、他の関係ないものまでも壊してしまう可能性があるからです。 これと同様で、システム開発の世界でも、本来そのシステムが行うために必要な権限のみをもって実行すればよいところを、余計な、より大きな権限を持って実行してしまった結果、本来行いたくない、あるいは行ってはいけない処理が実行できてしまうという問題が発生することになります。 具体的な攻撃例を考えてみましょう。

セキュリティの問題を 未然に防ぐことができる!? バッファ オーバーフロー クロスサイト スクリプティング DoS攻撃 SQLインジェクション システムダウン すでに前々回までに紹介した ・クロスサイトスクリプティング ・バッファオーバーフロー ・SQL インジェクション ・DoS攻撃 といった、攻撃。また、このような攻撃の結果、個人情報の漏洩、システムダウン、Webページの改ざんなど、発生する可能性のあるセキュリティの問題は、実は、そもそも、データを参照したり、変更したり、実行したりする権利がなければ、攻撃が失敗するため、発生しなかったのです。 では、具体的に見ていきましょう。 個人情報の漏洩 その他 さまざまな問題 Webページの改ざん

インターネット上の代表的な攻撃 ウイルス、ワーム、トロイの木馬 Webページの改ざん これらの攻撃に対し、実行するユーザーが大きな権限をもっていなければ、その攻撃は軽減することができます。それぞれ具体例を見てみたいと思います。

セキュリティでよく耳にする用語の確認 ウイルス ワーム トロイの木馬 マルウェア プログラムやファイルを経由して伝染するプログラム ネットワーク経由で自動的に伝染するプログラム トロイの木馬 通常のプログラムを装う悪意を持つプログラム マルウェア 上記のような悪意のあるプログラムの総称 それに先立ち、ここで、セキュリティ問題でよく耳にする4つの用語について確認しておきましょう。 すでに、ウイルス、ワーム、トロイの木馬をご存知の場合は、このスライドは飛ばして次のスライドからご覧ください。 まず、「ウイルス」とは、プログラムやファイルなどを経由して伝染するプログラムのことです。WordやExcelのマクロを悪用したマクロウイルスもウイルスの一種となります。差出人不明の電子メールの添付ファイルを開いたり、信頼できない提供元からダウンロードしたプログラムを実行したりすると、感染することがあります。 「ワーム」とは、ネットワーク経由で、自動的に感染するプログラムのことです。ファイル転送機能を悪用し、自己増殖をおこないます。主にソフトウェアの不具合を悪用して、ファイルを転送するため、適切な更新プログラムが適用されていないコンピュータをネットワークに直接接続すると感染する恐れがあります。 「トロイの木馬」とは、通常のプログラムを装った悪意を持つ独立したプログラムのことです。このトロイの木馬には、予想外の機能や隠された機能が含まれていて、この、隠された機能が損害をもたらします。そのため、信頼できない提供元からのプログラムは実行してはいけないのです。 なお、これらの悪意のあるプログラムは、総称して「マルウェア」と呼ばれています。

具体的な攻撃と権限 ウイルス、ワーム、トロイの木馬 Webページの改ざん ex. ILOVEYOU ex.IIS5の未チェックのバッファ システムディレクトリやレジストリへの書き込み Webページの改ざん ex.IIS5の未チェックのバッファ バッファオーバーフローを利用した攻撃 さまざまなプログラムの実行 では、具体的な攻撃と権限の関係についてみてみます。 数年前にOutlookを介して猛威を振るったトロイの木馬型のウイルスとして、あの有名なILOVEYOUワームがありました。このワームはシステムディクトリやレジストリに書き込みを行います。これは、ユーザーが管理者になっていなければ、あるいはシステムディレクトリやレジストリに書き込みに権限がなければ、その実行は失敗します。 Webページの改ざんの例としては、IIS 5.0の未チェックのバッファを狙った攻撃がありました。いわゆるバッファオーバーフローを利用した攻撃で、結果としてはさまざまなプログラムを実行させることができます。ここで問題になるのは、そこで実行されるプログラムがLocal Systemアカウントで実行される場合です。Local Systemアカウントには、コンピュータに対するフルコントロールが割り当てられていて、その中には当然Webページに書き込む権限も含まれています。 いずれにしても、プログラムを実行している権限がもっと低ければ、攻撃を受けたとしても、それは失敗するかあるいは被害を最小限にとどめることができます。

効果的な対策 必要な最低限の権限の特定 局所的な場所でだけ必要な権限の特定 不要な権限は持たない そこでだけ特権を取得し昇格 終了時に降格 対策の第一歩としては、まずその作業を行うための最低限の権限を特定します。そして、必要以上の権限を持たずに処理を実行します。 また、特権が必要な処理がある場合も、その特権が必要なのはどのタイミングかを見極めます。もし、ある特定の作業を行うときだけその特権が必要であるという場合には、そのタイミングだけ一時的に権限レベルを昇格し、その処理が終わったらすぐに降格するようにします。

部分信頼という考え方 .NET Framework 1.1 が登場するまで .NET Framework 1.1以降 すべての Web アプリケーションは完全信頼モードで実行 .NET Framework 1.1以降 部分信頼レベルを提供 完全・高・中・低・最小 必要な場面での権限の昇格 AllowPartiallyTrustedCallers 属性の利用 たとえば、.NET Framework1.1が登場するまでは、すべてのアプリケーションは完全信頼モードで実行されていました。しかし、.NET Framework 1.1以降は、完全以外に、高・中・低・最小などの部分信頼レベルを提供するようになりました。これにより、アプリケーションごとに必要最低限の権限で実行することが出来るようになりました。 また、局所的に権限レベルを昇格するための方法として、.NET Frameworkはそのための属性を提供しています。

部分的な昇格のためのしくみ アクセス許可の要求とアサート AllowPartiallyTrustedCallers 属性の追加 グローバル アセンブリ キャッシュへのアセンブリの追加 リソースに アクセスする プログラム リソースへの アクセス 部分信頼の Web アプリケーション セキュリティで 保護されたリソース この例では、アプリケーション全体としては、中程度の信頼レベルで実行が可能で、ある特定の瞬間だけ、特権を利用する必要があります。この時、最初から最後まで、その特権を利用できる必要はありません。アプリケーション全体としては、中程度つまり、Mediumレベルの信頼に設定しておき、必要な場面で権限レベルを昇格できるような仕組みが利用できればよいわけです。 .NET Frameworkでは、 アクセス許可の要求とアサート AllowPartiallyTrustedCallers 属性の追加 グローバル アセンブリ キャッシュへのアセンブリの追加 という設定を行うことによって、その時に必要な権限を取得し、特権による実行を一時的に行うことが出来るようになっています。 <trust level_"Medium" originUri_--/> アクセスには 特権が必要

システムアカウントの利用 Winowsサービスの実行 Windows XPとWindows Server 2003の新しいアカウント 従来は、Local Systemアカウントで実行 Windows XPとWindows Server 2003の新しいアカウント Local Serviceアカウント ネットワークリソースに対しては匿名ユーザ Network Serviceアカウント ネットワークリソースに対してはコンピュータアカウント また、システムアカウントにも、この必要最低限の権利の利用をサポートする機能があります。 Windowsサービスは、今までLocal Systemアカウントで実行してきました。ご存知の通り、Local Systemには非常に多くの権限が与えられています。そのため各種作業を十分行うことが出来ますが、その代わりに、本来実行する必要のない権限までも与えられています。ですから、Local Systemアカウントで実行されているサービスが悪用されると被害を大きくする可能性があります。 Windows XPと2003では、サービスの実行のための新しいアカウントが導入されています。 Local Serviceアカウントは、カレントコンピュータに対するいくつかのアクセス権をもち、ネットワーク上のリソースに対しては匿名ユーザアカウントとして動作します。 また、Network Serviceアカウントはカレントコンピュータに対しては、Local Serviceと同様のアクセス権を持ちますが、ネットワークリソースにアクセスする場合、そのコンピュータのアカウントでアクセスします。そのため、匿名ユーザを拒否しているシステムにもアクセスできる可能性があります。 このように、必要以上の権限を持たないことでセキュリティの問題を軽減することを心がけます。

まとめ 最もセキュリティで重要なこと 設計段階で考慮 とにかく、必要最低限の権限で実行するようにする 必要なときだけ特権を取得する それ以外は特権を持たない 設計段階で考慮 後付けで権限を削除することは難しい 最初から必要・不要な権限を切り分け 設計に組み込む まとめです。 セキュリティのさまざまな問題に対する対処として、必要最低限の権限で実行することは最も効果的な方法です。 とにかく、その作業に必用最低限の権限で実行するように設計します。また、そのシステムにおいて、ある特定の部分で特権が必要な場合は、その瞬間だけ、その部分でだけ特権を取得して、実行し、実行が終わったら特権を破棄します。 このようにすることで、攻撃の機会を少なくし、攻撃されたときの問題を最小限にとどめることが出来ます。 また、新しいOSや.NET Frameworkが提供する機能を活用することも検討してください。 また、これらを後付けで行うと、本来実行したい処理が権限不足で実行できない・・・という問題が発生する可能性があります。 ですから、最初からその作業に必要な権限として必要なものと必要でないものを見極めておきます。そして、設計の段階から権限の問題を組み込むようにしてください。

リファレンス 開発者のためのセキュリティサイト MSDNデベロッパーセキュリティセンター 開発者向け セキュリティ オンライン セミナー http://www.microsoft.com/japan/msdn/security/ 開発者向け セキュリティ オンライン セミナー http://www.microsoft.com/japan/msdn/security/seminars/ アプリケーションセキュリティの基礎 実践! セキュアなコード記述 Part 1 実践! セキュアなコード記述 Part 2 実践! .NET Framework を利用したアプリケーション セキュリティの実装 最後に開発者のためのセキュリティサイトをご紹介したいと思います。 こちらでは、開発者のためのオンラインセミナーが公開されています。ぜひ、こちらもご覧ください。