セキュリティ・トップ  ›  当社開発ソフトウェア製品  ›  セッション管理診断WebProbe™

WebProbe™ソフトウェア診断項目

 

WebProbe™ソフトウェア診断項目

 WebProbe™ の診断項目について説明します。

 WebProbe™ の販売は終了しておりますが、以下の診断項目の内容は、引き続き当社 Webアプリケーション診断サービス診断項目(#8~#31) として診断に含まれております。

項目名 内容
アクセス制御の欠如 適切にセッション管理が行われていないページがあり、ログイン手続きをスキップして誰でも他人に成りすましてアクセスすることが可能であることを検出します。
ファイルに対するアクセス制御の欠如 「ファイルに対する適切なアクセス制御が欠如しているため、プライバシー情報を含むファイルが、ログイン手続きをスキップして誰でもダウンロードできてしまう」という脆弱性を検出します。
ユーザ識別の欠如 セッション管理により識別されているユーザ以外の情報が表示されてしまう脆弱性を検出します。
ID 空間の小さすぎるセッション追跡パラメータの使用 「ID 空間の小さすぎるセッション追跡パラメータを使用しているため、ログイン手続きをスキップして、誰でも他人に成りすますことができる可能性がある」という脆弱性を検出します。
規則的なセッション追跡パラメータの使用 「規則的なセッション追跡パラメータを使用しているため、ログイン手続きをスキップして、誰でも他人に成りすますことができてしまう可能性がある」という脆弱性を検出します。
推測可能なセッション追跡パラメータの使用 「推測可能なセッション追跡パラメータを使用しているため、ログイン手続きをスキップして、誰でも他人に成りすますことができてしまう可能性がある」という脆弱性を検出します。
URL パラメータによるセッション追跡 「URL パラメータによるセッション追跡を行っているため、セッション追跡パラメータが漏えいし、セッションハイジャックされる可能性がある」という脆弱性を検出します。
外部サイトへのリンクでセッション追跡パラメータが Referer として漏えいする 「外部サイトへのリンクをたどるとセッション追跡パラメータが Referer として漏えいする状態となっていて、セッションをハイジャックされる可能性がある」という脆弱性を検出します。
cookie によるセッション追跡 「cookie によるセッション追跡を行っているため、クロスサイトスクリプティング脆弱性やブラウザのセキュリティホールに弱い伝送方式である」という脆弱性を検出します。
TRACE メソッドによる Authorization ヘッダ漏えいの可能性 「サイトやブラウザにクロスサイトスクリプティング脆弱性があると、TRACEメソッドをサポートする設定になっている場合、Authorization ヘッダの内容を盗まれる」という脆弱性を検出します。
暗号化されないアクセスに個人情報が含まれる 「個人情報が暗号化されずに送受信されている」という脆弱性を検出します。
暗号化されないアクセスにセッション追跡パラメータが含まれる 「暗号化されないアクセスにセッション追跡パラメータが含まれるため、パケット盗聴が可能な状況下では、セッションをハイジャックされる」という脆弱性を検出します。
暗号化されないページへのリンクでセッション追跡パラメータが Referer として送出される 「http ページへのリンクをたどるとセッション追跡パラメータが平文で流れる状態となっており、盗聴によりセッションハイジャックされる」という脆弱性を検出します。
セキュアでない cookie の使用 「セキュアでない cookieを使用しているため、パケット盗聴により、cookie を盗まれてセッションハイジャックされる可能性がある」という脆弱性を検出します。
暗号化されないページへのリンクでセッション追跡用 cookie が平文で送出される 「セッション追跡パラメータとして使われている cookie が、secure モードで発行されていないため、パケット盗聴により、cookie を盗まれてセッションハイジャックされる」という脆弱性を検出します。
http 上のログイン画面 「http 上にログイン画面があるため、パケットの改ざんや、DNS spoofing 攻撃が可能な状況下では、ログイン画面を差し替えられる危険性がある」という脆弱性を検出します。
ルートフレームが http にあるサブフレーム上のログイン画面 「ルートフレームが http に存在するサブフレーム上のログイン画面を用いている場合、パケットの改ざんや、DNS spoofing 攻撃が可能な状況下では、ログイン画面を差し替えられる危険性がある」という脆弱性を検出します。
異なるセッションで同一セッション追跡パラメータの使用 「異なるセッションで同一セッション追跡パラメータを使用しているため、セッション追跡パラメータを窃用される危険性が高くなる」という脆弱性を検出します。
永続的 cookie の使用 「セッション追跡パラメータとして使われている cookie の有効期限が、“セッション限り”になっていないため、セッション追跡パラメータを窃用される危険性が高くなる」という脆弱性を検出します。
ログアウト機能の欠如 「ログアウト機能が存在しないか、もしくは、ログアウト機能がユーザから分かりにくい画面設計になっているため、セッションハイジャックが成功する危険性を高くし、ユーザの自衛手段を無効にしてしまう」という脆弱性を検出します。
ログアウト後のサーバセッションの残存 「ログアウト後もサーバセッションが残存しているため、セッションハイジャックが成功する危険性を高くし、ユーザの自衛手段を無効にしてしまう」という脆弱性を検出します。
サーバセッションの長時間にわたる残存 「サーバセッションが長時間にわたって残存しているため、セッションハイジャックが成功する危険性を高くしている」という脆弱性を検出します。
クレジットカード番号の表示 「クレジットカード番号の全桁が出力されているため、不正にアクセスされた際の被害が拡大する」という脆弱性を検出します。
パスワードの出力 「パスワードが出力されている画面があるため、不正にアクセスされた際の被害が拡大する」という脆弱性を検出します。

WebProbe診断項目 詳細

 WebProbe™ の診断項目の詳細およびエラーメッセージ例を説明します。

1. アクセス制御の欠如

 適切にセッション管理が行われていないページがあり、ログイン手続きをスキップして誰でも他人に成りすましてアクセスすることが可能であることを検出します。この脆弱性により、匿名の攻撃者から以下のような影響を受ける可能性があります。

  • 個人情報の漏洩
  • 個人情報の改ざん
  • 他人への成りすまし

 「アクセス制御の欠如」のイメージ

アクセス制御の欠如

検出結果メッセージ例

ログイン済みユーザからのアクセスであるかを確認していない画面(ページ)があります。個人情報・プライバシー情報を表示する画面に、セッション追跡パラメータを省いてアクセスする検証を実施したところ、それらの情報を取得できてしまいました。ユーザIDに指定する任意のユーザの情報が盗まれると推定されます。

2. ファイルに対するアクセス制御の欠如

 「ファイルに対する適切なアクセス制御が欠如しているため、プライバシー情報を含むファイルが、ログイン手続きをスキップして誰でもダウンロードできてしまう」という脆弱性を検出します。

検出結果メッセージ例

診断でアクセスした画面からリンクされていた特定の拡張子のファイルに、ログインしていなくてもダウンロードできるものがあります。ファイル名が他人に予測可能な場合には、このファイルは誰でも取得できてしまいます。この診断は、コース2の[プライバシー情報ファイルの確認]で、「問題あり」と登録したファイルが存在した場合にだけ検出されます。

3. ユーザ識別の欠如

 セッション管理により識別されているユーザ以外の情報が表示されてしまう脆弱性を検出します。

 この脆弱性により、正規のユーザから以下のような影響を受ける可能性があります。

  • 他ユーザの個人情報の漏洩
  • 他ユーザの個人情報の改ざん

 「ユーザ識別の欠如」のイメージ

ユーザ識別の欠如

検出結果メッセージ例

ログイン済みユーザからのアクセスかどうかは診断していますが、表示する情報がログイン中のユーザの情報かどうかの診断が行われていない画面がありました。コース3のユーザでログイン中に、コース1のユーザIDを与えてアクセスする検証を実施したところ、コース1のユーザの個人情報・プライバシー情報を得ることができました。ユーザIDに指定する任意のユーザの情報が盗まれると推定されます。

4. ID 空間の小さすぎるセッション追跡パラメータの使用

 「ID 空間の小さすぎるセッション追跡パラメータを使用しているため、ログイン手続きをスキップして、誰でも他人に成りすますことができる可能性がある」という脆弱性を検出します。

検出結果メッセージ例

セッション追跡パラメータの ID 空間が小さすぎる(文字列長が短いなど)ため、攻撃者は適当な値をセッション追跡パラメータとして使用することで、有効なセッション ID に的中する場合があり、その場合、ログイン中のいずれかのユーザのセッションをハイジャックできてしまいます。

5. 規則的なセッション追跡パラメータの使用

 「規則的なセッション追跡パラメータを使用しているため、ログイン手続きをスキップして、誰でも他人に成りすますことができてしまう可能性がある」という脆弱性を検出します。

検出結果メッセージ例

異なるユーザ向けに発行されたセッション追跡パラメータの間に規則性があります。攻撃者は、自分向けに発行されたセッション追跡パラメータの値から、他人向けの値を推定することによって、他人に成りすましてアクセスできる可能性があります。規則性の詳細については、検出したセッション追跡パラメータの、「値の遷移分析情報詳細」を確認して下さい。

6. 推測可能なセッション追跡パラメータの使用

 「推測可能なセッション追跡パラメータを使用しているため、ログイン手続きをスキップして、誰でも他人に成りすますことができてしまう可能性がある」という脆弱性を検出します。

検出結果メッセージ例

セッション追跡パラメータの値にユーザ ID が含まれています。攻撃者は、特定のユーザのユーザ ID を基に、そのユーザ向けのセッション追跡パラメータ値を推測できる可能性があります。推測に成功した場合は、そのユーザに成りすましてアクセスできてしまいます。ただし、セッション追跡パラメータ値にユーザ ID 以外(パスワードなど)の内容が含まれており、その内容が推測できない場合には成りすましは困難です。安全に設計された模範的システムでは、セッション追跡パラメータ値にユーザ ID を含める必要がないので、ユーザ ID を盗まれる可能性を配慮した場合、セッション追跡パラメータ値にユーザ ID は含めない方が良いと言えます。検出したセッション追跡パラメータの「値の強度」にはユーザ ID が含まれたパラメータ値が根拠として示されています。値のユーザ ID 以外の部分が推測可能でないか確認して下さい。

7. URL パラメータによるセッション追跡

 「URL パラメータによるセッション追跡を行っているため、セッション追跡パラメータが漏えいし、セッションハイジャックされる可能性がある」という脆弱性を検出します。

検出結果メッセージ例

セッション追跡パラメータが URL に含まれている画面があります。この方式では、ブラウザの Referer 機能によってセッション追跡パラメータ付きの URL が他のサイトに漏えいする可能性があります。 Referer 情報は、本来はリンク先のサイトに対してだけ送出されるものですが、いくつかのブラウザにおいて無関係なサイトに Referer を送出する不具合が存在する(存在していた)ことが報告されており、このことが原因となり、外部サイトへ URL が漏えいする可能性があります。セッション追跡中の画面のどこかに、直接スクリプトを書き込めてしまう脆弱性(外部からのリンクにより一時的にスクリプトを埋め込む「クロスサイトスクリプティング脆弱性」とは異なります)を持つサービス(Web メールや掲示板など)が存在する場合、セッション追跡パラメータを盗まれます。サイト内に、外部サイトへのリンクを書き込める機能を持つサービス(Web メールや掲示板など)が存在する場合には、攻撃者の故意によって外部サイトへの URL の漏えいが起きる可能性があります。

8. 外部サイトへのリンクでセッション追跡パラメータが Referer として漏えいする

 「外部サイトへのリンクをたどるとセッション追跡パラメータが Referer として漏えいする状態となっていて、セッションをハイジャックされる可能性がある」という脆弱性を検出します。

検出結果メッセージ例

外部サイトへのリンクが存在するため、ユーザがそのリンクをたどると、Referer によってセッション追跡パラメータを含むURL が外部に漏れてしまいます。Referer が送られてきたサイトの管理者は、アクセスログからそのURL を抽出してそれにアクセスするだけで、セッションをハイジャックすることができてしまいます。また、Referer のアクセス統計を公開しているサーバもあるため、悪意がなくとも偶然に他人のセッションをハイジャックしてしまうことも起こり得ます。一部のブラウザは、https ページからのリンクでは Referer を送出しないように作られていますが、他のブラウザではその場合も送出されます。

9. cookie によるセッション追跡

 「cookie によるセッション追跡を行っているため、クロスサイトスクリプティング脆弱性やブラウザのセキュリティホールに弱い伝送方式である」という脆弱性を検出します。

検出結果メッセージ例

このサイト内のどこかにクロスサイトスクリプティング脆弱性がある場合、cookie を盗まれて、セッション追跡パラメータを窃用される危険があります。また、ユーザが使用するブラウザに cookie が漏えいするセキュリティホールがある場合にも同様です。実際に、多くのブラウザに cookie が漏えいするセキュリティホールが存在する(存在していた)ことが報告されています。必ず最新のブラウザ(セキュリティホールが修正されたブラウザ)を使用するようにユーザに周知徹底する必要性があります。 Internet Explorer 6 以降では、"httpOnly" 属性(Microsoft 社の独自仕様)の付加された cookie は JavaScript などからアクセスされないため、この属性を付加して cookie を発行することで危険度を軽減することが可能ですが、他のブラウザに対しては効果がありません。根本的な問題の解決には、Web サイトのクロスサイトスクリプティング脆弱性を無くすことが必要になります。

10. TRACE メソッドによる Authorization ヘッダ漏えいの可能性

 「サイトやブラウザにクロスサイトスクリプティング脆弱性があると、TRACEメソッドをサポートする設定になっている場合、Authorization ヘッダの内容を盗まれる」という脆弱性を検出します。

検出結果メッセージ例

HTTP サーバが TRACE メソッドをサポートする設定になっています。Web サイトやブラウザにクロスサイトスクリプティング脆弱性がある場合には、TRACE メソッドを利用して、Authorization ヘッダの内容を JavaScript などから取得する攻撃手法が存在します。クロスサイトスクリプティング脆弱性が存在する可能性を配慮して、TRACE メソッドを使用不能に設定しておくのが望ましいといえます。この攻撃手法の詳細については、CERT Vulnerability Note VU#867593 Multiple vendors' web servers enable HTTP TRACE method by default を参照して下さい。

11. 暗号化されないアクセスに個人情報が含まれる

 「個人情報が暗号化されずに送受信されている」という脆弱性を検出します。

検出結果メッセージ例

WebProbe の「個人情報」の設定で、「SSL による保護が必要」と設定されている個人情報が http のページにおいて送受信されています。攻撃者は、パケット盗聴するだけで直接的に個人情報を盗むことができてしまいます。

12. 暗号化されないアクセスにセッション追跡パラメータが含まれる

 「暗号化されないアクセスにセッション追跡パラメータが含まれるため、パケット盗聴が可能な状況下では、セッションをハイジャックされる」という脆弱性を検出します。

検出結果メッセージ例

セッション追跡パラメータが http でのアクセス中に含まれることが検出されました。パケット盗聴により、セッション追跡パラメータの値を盗まれて、セッションハイジャックされる危険があります。個人情報・プライバシー情報を表示する画面を SSL による暗号化で保護していても、セッションをハイジャックされて、個人情報画面に成りすましアクセスされてしまう可能性があります。

13. 暗号化されないページへのリンクでセッション追跡パラメータが Refererとして送出される

 「http ページへのリンクをたどるとセッション追跡パラメータが平文で流れる状態となっており、盗聴によりセッションハイジャックされる」という脆弱性を検出します。

検出結果メッセージ例

http ページへのリンクが存在するため、ユーザがそのリンクをたどると、Referer によって、セッション追跡パラメータを含む URL が暗号化されずに送出されます。パケット盗聴が行われる状況下では、セッションをハイジャックされる危険があります。一部のブラウザは、https ページからのリンクでは Referer を送出しないように作られていますが、他のブラウザではその場合も送出されます。

14. セキュアでない cookie の使用

 「セキュアでない cookieを使用しているため、パケット盗聴により、cookie を盗まれてセッションハイジャックされる可能性がある」という脆弱性を検出します。

検出結果メッセージ例

セッション追跡パラメータとして使われている cookie が、secure モードで発行されていません。ユーザがこのサイト上の http ページにアクセスすると、この cookie が平文で流れることになります。個人情報・プライバシー情報を表示する画面を https ページにしていても、それ以外の http ページへのアクセスが盗聴されれば、セッション追跡パラメータを盗まれて、セッションをハイジャックされることになります。 http ページへのリンクが存在しない場合であっても、攻撃者は、このサイト上の http ページ(404応答のページでもかまわない)へのリンクを用意して、ユーザにたどらせることによって、cookie を平文で送出させ、盗聴することができてしまいます。

15. 暗号化されないページへのリンクでセッション追跡用 cookie が平文で送出される

 「セッション追跡パラメータとして使われている cookie が、secure モードで発行されていないため、パケット盗聴により、cookieを盗まれてセッションハイジャックされる」という脆弱性を検出します。

検出結果メッセージ例

セッション追跡パラメータとして使われている cookie が、secure モードで発行されていません。診断対象のページ内に http ページへのリンクが存在するため、この cookie が平文で送出される状態にあります。個人情報・プライバシー情報を表示する画面を https ページにしていても、それ以外の http ページへのアクセスが盗聴されれば、セッション追跡パラメータを盗まれて、セッションをハイジャックされます。

16. http 上のログイン画面

 「http 上にログイン画面があるため、パケットの改ざんや、DNS spoofing 攻撃が可能な状況下では、ログイン画面を差し替えられる危険性がある」という脆弱性を検出します。

検出結果メッセージ例

ログイン画面が http ページに設置されているため、パケット改ざんによってログイン画面を差し替えられる可能性があります。入力したユーザ名とパスワードが他のサイトへ送信されるように差し替えられる可能性や、ログイン後の画面の URL が https から http に差し替えられて、入力したユーザ名とパスワードを盗聴される可能性があります。また、DNS spoofing 攻撃をされているとき、ユーザはログイン前にそれが偽のサーバだと気づくことができません。ログイン画面は https ページに設置すべきです。

17. ルートフレームが http にあるサブフレーム上のログイン画面

 「ルートフレームが http に存在するサブフレーム上のログイン画面を用いている場合、パケットの改ざんや、DNS spoofing 攻撃が可能な状況下では、ログイン画面を差し替えられる危険性がある」という脆弱性を検出します。

検出結果メッセージ例

ログイン画面が、フレームセットで構成されたひとつのサブフレーム上にあり、ルートフレームの URL が http になっています(ブラウザのアドレスバーの URL が http になっています)。ログイン画面のフレームが https の URL となるように作られていても、ルートフレームの HTML がパケット改ざんによって差し替えられれば、ログイン画面は偽の画面となる可能性があります。また、DNS spoofing 攻撃をされているとき、ユーザはそれが偽のサーバだと気づくことができません。フレームを使うことをやめるか、もしくは、ルートフレームが https となるようにして、本物のサーバに SSL 通信していることをユーザが目視確認できるようにすべきです。

18. 異なるセッションで同一セッション追跡パラメータの使用

 「異なるセッションで同一セッション追跡パラメータを使用しているため、セッション追跡パラメータを窃用される危険性が高くなる」という脆弱性を検出します。

検出結果メッセージ例

セッション追跡パラメータの値がログイン毎に変化していません。従って、ひとたびこのパラメータ値を盗まれると、その後もセッションハイジャックされる危険にさらされ続けることになります。また、値がログイン毎に変化しないセッション追跡パラメータは、ユーザ ID やパスワードなどを暗号化したものである可能性があります。ユーザ ID などの推測可能な情報だけを暗号化した値である場合には、その暗号が破られると「推測可能なセッション追跡パラメータの使用」の脆弱性と同じ危険性が生じます。

19. 永続的 cookie の使用

 「セッション追跡パラメータとして使われている cookie の有効期限が、“セッション限り”になっていないため、セッション追跡パラメータを窃用される危険性が高くなる」という脆弱性を検出します。

検出結果メッセージ例

セッション追跡パラメータとして使われている cookie の有効期限が、「セッション限り」になっていません。Web サイトのクロスサイトスクリプティング脆弱性や、ブラウザのセキュリティホールを突いた攻撃により cookie を盗まれる可能性がある場合、ユーザは、ブラウザを終了させた後も、その危険にさらされ続けることになります。また、他人がユーザの端末に物理的に触ることができる状況下では、この cookie が盗まれて、窃用される可能性があります。

20. ログアウト機能の欠如

 「ログアウト機能が存在しないか、もしくは、ログアウト機能がユーザから分かりにくい画面設計になっているため、セッションハイジャックが成功する危険性を高くし、ユーザの自衛手段を無効にしてしまう」という脆弱性を検出します。

検出結果メッセージ例

ログアウト機能が存在しないか、もしくは、ログアウト機能がユーザから分かりにくい画面設計になっています。通常、ユーザは、ログアウト機能によってセッションを無効化することで、それ以後はセッションハイジャックされる危険性から逃れることができます。ログアウト機能のないサイトでは、サーバセッションが時間切れにより破棄されるまでの間、セッションハイジャックされる可能性を残すことになります。セッションハイジャック攻撃の可能性がどの程度あるかについては、他の診断項目を参照して下さい。

21. ログアウト後のサーバセッションの残存

 「ログアウト後もサーバセッションが残存しているため、セッションハイジャックが成功する危険性を高くし、ユーザの自衛手段を無効にしてしまう」という脆弱性を検出します。

検出結果メッセージ例

ユーザがログアウト操作をした後であっても、ログイン中のセッション追跡パラメータによるアクセスができてしまうことが検証されました。ユーザは、ログアウト機能を使用した後であっても、セッションハイジャックの危険から逃れられません。セッションハイジャックの危険を最小限にとどめるために、ログアウト操作が行われた際には、サーバ上でセッションを無効化する処理をするべきです。セッションハイジャックの可能性がどの程度あるかについては、他の診断項目を参照して下さい。

22. サーバセッションの長時間にわたる残存

 「サーバセッションが長時間にわたって残存しているため、セッションハイジャックが成功する危険性を高くしている」という脆弱性を検出します。

検出結果メッセージ例

ユーザがログアウト操作を行わずにブラウザを終了させてしまう(もしくは他のサイトへ移動してしまう)可能性に備えて、一定時間が経過した後にサーバ上のセッション情報は破棄されるべきです。サーバセッション破棄までの時間が長いほど、攻撃者がセッションハイジャックを成功させる可能性を高くします。コース3において、指定された時間後に検証を行ったところ、まだサーバセッションが破棄されていなかったことが確認されました。セッションハイジャックの可能性がどの程度あるかについては、他の診断項目を参照して下さい。

23. クレジットカード番号の表示

 「クレジットカード番号の全桁が出力されているため、不正にアクセスされた際の被害が拡大する」という脆弱性を検出します。

検出結果メッセージ例

クレジットカード番号の全桁が出力されています。不正にアクセスされると、クレジットカード番号を盗まれることになります。カード番号を画面に表示する目的が、ユーザがどのカードを登録しているかを確認できるようにするためだけであるなら、カード番号の一部の桁だけを表示すれば十分であるので、例えば下 4 桁だけを表示するようにするといった対策を施すのが望ましいといえます。

24. パスワードの出力

 「パスワードが出力されている画面があるため、不正にアクセスされた際の被害が拡大する」という脆弱性を検出します。

検出結果メッセージ例

パスワードが出力される画面が検出されました。不正にアクセスされると、ユーザのパスワードを盗み見られる可能性があります。不正にアクセスされる可能性が一時的なものだとしても、パスワードを盗まれれば、成りすましアクセスの可能性を永続的に許すことになります。また、ユーザが同じパスワードを他のサイトでも使っている場合には、危険が他のサイトにも及ぶことになります。

 
おすすめコンテンツ ソフテック診断サービスの特長 ソフトウェア開発力 選べる診断サービス ドキュメント・報告書 初めてのセキュリティ診断 診断に対するご質問と回答 FAQ フテックの診断アフターケア ご相談・資料請求
セキュリティホール情報とリスク管理ユーティリティ SIDfm SID警告センター