WEBセキュリティ自己評価ツール
このページでは、お客様ご自身でサイトのセキュリティを評価するための手助けを行います。
サイトは非常に流行っており、連日沢山の訪問者が訪れる
* はい
* いいえ
* わからない(回答しない)
サイトは非常に流行っており、連日沢山の訪問者が訪れる
* はい
* いいえ
* わからない(回答しない)
沢山のユーザーが訪れるサイトでは、セキュリティホールを利用しようと考える者の割合も増えると考えられます。訪れるユーザー数によってセキュリティホー ルが存在する確率は変化しませんが、問題が表面化する確率は高くなります。また極めて沢山のユーザーが訪れるサイトは問題発生が社会問題化し、メディアで 取り上げられるリスクもあります。
WEBを通してユーザーから料金を受け取っている
* はい
* いいえ
* わからない(回答しない)
物品の販売や有料コンテンツの配信等を行い、ユーザーから料金を受け取っている場合、悪意ある人物がユーザーの財産を不当な手段で入手しようと考えるかも 知れません。サイトで料金を受け取っている事がセキュリティホールの存在する確率を増加させる事はありませんが、問題発生時のリスクを大きくします。
住所や氏名等、ユーザーの個人情報を受け取っている
* はい
* いいえ
* わからない(回答しない)
ユーザーから個人情報を受け取っている場合、悪意ある人物がユーザーの個人情報を不当な手段で入手しようと考えるかも知れません。サイトで個人情報を受け 取っている事がセキュリティホールの存在する確率を増加させる事はありませんが、問題発生時のリスクを大きくします。
開発時に納期が押しており、開発会社に急いでリリースしてもらった。
* はい
* いいえ
* わからない(回答しない)
納期に間に合わせるために急いで開発した場合、開発者は機能の実装に追われ、テストがおろそかになる場合があります。十分なテストが行われなかった開発で は、セキュリティホールの存在する確率は高くなります。
1人のプログラマがすべてを開発した
* はい
* いいえ
* わからない(回答しない)
たった1人の開発者がすべてを担っている場合、ケアレスミスを防げないかも知れません。また、テストも開発者自身がすべてを行っている場合、見過ごしてい るミスが存在する確率を高めます。
検収を行った
* はい
* いいえ
* わからない(回答しない)
検収とは納品されたシステムをお客様自身、または開発会社とは別に委託した検収業者がチェックする事です。検収の過程でセキュリティホールのチェックが行 われていれば、リリース後にセキュリティホールが存在する確率を大きく下げる事ができます。
バグ(瑕疵)がある
* 連日、新しいバグが見つかる
* たまに新しいバグが見つかる
* 最近は新しいバグが見つからなくなった
* わからない(回答しない)
バグがあるという事は、まだ発見されていないバグもあるかも知れません。未知のバグがどのぐらいあるかは、ソフトウェア信頼度成長曲線、またはバグ曲線と 呼ばれるグラフで表現する事で、ある程度統計的に予測が付きます。ソフトウェア信頼度成長曲線の詳細は割愛しますが、連日新しいバグが見つかるような状況 ではまだまだ沢山のバグがあると考えるべきでしょう。まだ見えてない未知のバグの中には、セキュリティホールに結びつくバグも存在しているかも知れませ ん。
ログイン機能がある
* はい
* いいえ
* わからない(回答しない)
サイトにログイン機能がある場合、ユーザーは認証のためのパスワードをサイトに送信する事になります。よってセキュリティホールが存在している場合、パス ワードを盗まれる可能性があります。またログインしなければ利用できない機能が、非ログイン状態で利用される事のないように注意しなくてはなりません。ロ グイン機能が存在している事自体はセキュリティホールではありませんが、ログイン機能の無いサイトと比較した場合、チェックしなくてはならない項目は多く なります。
共有サーバーを利用している
* サーバー業者から割り当てられたドメインで利用している
* 独自ドメインで利用している
* 共有サーバーは利用していない
* わからない(回答しない)
共有サーバーは沢山の契約者が利用するため、悪意ある人物がお客様と同一のサーバーを利用している事も考慮してサイトを設計しなければなりません。特に悪 意ある人物とドメインを共有しなければならない場合、さまざまな問題が発生する可能性があります。可能な限り共有サーバーは利用するべきではありません が、利用しなければならない場合はなるべく独自ドメインで運用して下さい。なお、"http://共有ドメイン名/[割り当てられたID等]/" という形式でWEB機能を提供する共有サーバーは、大きなセキュリティ上の問題を抱えています。独自ドメインを利用できない場合でも、最低限、サブドメイ ンを割り振ってくれる共有サーバーをご利用する事を、強くお勧め致します。
データベースを利用している
* はい
* いいえ
* わからない(回答しない)
データベースを利用している場合、SQLインジェクションというセキュリティホールが発生しないように注意する必要があります。データベースを利用してい る事自体は、セキュリティホールではありません。
ユーザーの利便性を図るために、パスワードの入力無しにログインできる仕組み(自動ログイン)を用意している
* はい
* いいえ
* わからない(回答しない)
自動ログインでは、ユーザーを識別する情報をユーザーのPCにCookieとして保存する実装が一般的です。この情報を盗まれてしまうと、大きな被害をも たらします。特に共有サーバーで独自ドメインを利用していない場合は注意が必要ですし、共有サーバーでサブドメインさえも利用していない場合は極めて危険 です。また、自動ログイン機能はクロスサイトリクエストフォージェリというセキュリティホールを招く事があります。クロスサイトリクエストフォージェリを 利用されると、本来ログインしたユーザーだけが設定可能な機能を、悪意ある第三者に利用されてしまう事があります。自動ログイン機能自体はセキュリティ ホールではありませんが、注意しなくてはならない点が多々あります。
パスワードを忘れたユーザーのために、メールアドレスにパスワードを送付する機能(パスワードリマインダ)がある。
* はい
* いいえ
* わからない(回答しない)
パスワードリマインダは、主に2つのセキュリティホールに注意する必要があります。ひとつ目はメールヘッダインジェクションというセキュリティホールで す。このセキュリティホールが悪用されると、お客様のサーバーがスパムの発信元にされてしまう可能性があります。2つ目は、特定のエンドユーザーがお客様 のサイトに会員登録しているかどうかを、第三者に告知してしまう可能性です。エンドユーザーがパスワードリマインダを利用する時、登録されていないメール アドレスが入力されたとしても「入力されたメールアドレスは登録されていません」等と表示するべきではありません。この場合、エラーメッセージが表示され るかどうかで、入力したメールアドレスが登録されているかどうかを判別できてしまいます。病気や自己破産、生活保護等に関連するサイトや、アダルトサイ ト、出会い系サイト等でこのようなシステムを採用している場合、エンドユーザーが他人に知られたくないと思っている情報を、第三者に知らせてしまう可能性 があります。パスワードリマインダが存在している事自体は、セキュリティホールではありません。
ログイン後に移動するページは特定の1ページでは無く、ログイン前の操作内容によって異なる。
* はい
* いいえ
* わからない(回答しない)
エンドユーザーがログインしていない状態である処理を行おうとした時、ログインページに移動するサイトがあります。この時、ユーザーの利便性を考慮してロ グインID、パスワードの入力後に元のページに戻って処理を継続できるようにしている場合があります。このような機能を提供しているサイトは、クロスサイ トリクエストフォージェリというセキュリティホールに注意する必要があります。このセキュリティホールを悪用されると、本来ならログインしたユーザーだけ が書き換えられる情報を、悪意ある第三者に書き換えられてしまう可能性があります。特に自動ログインが可能なサイトの場合、注意が必要です。この機能が存 在している事自体はセキュリティホールではありません。
エンドユーザーがHTMLを入力できる掲示板やプロフィール等を用意している
* はい
* いいえ
* わからない(回答しない)
HTML入力可能なシステムでは、悪意あるタグが入力できないように細心の注意を払う必要があります。特にJavaScriptが利用可能になっている場 合、クロスサイトスクリプティング脆弱性を招く確率が極めて高いと考えられます。JavaScriptの利用を許可したままクロスサイトスクリプティング 脆弱性だけを取り除くのは難しいため、通常は HTML入力可能な掲示板ではJavaScriptを入力できないようにすべきです。しかしJavaScriptを禁止する事 は、<script>タグを禁止するだけでは不完全です。onclick、onload等のスクリプトを起動する属性も禁止する必要がありま すし、それ以外にもチェックすべき項目が色々あります。HTML入力可能なシステムでは、そうでないシステムと比較してクロスサイトスクリプティング脆弱 性が存在する可能性が高くなります。
エンドユーザーがJavaScriptを編集できる
* はい
* いいえ
* わからない(回答しない)
ページのデザイン等をエンドユーザーがカスタマイズ可能にしているサイトで、かつJavaScriptも利用可能な場合、クロスサイトスクリプティング脆 弱性に十分注意する必要があります。この場合、善良なJavaScriptのみを許可し、悪意あるJavaScriptを禁止する機能が要求されますの で、対策は極めて難しいと思われます。可能な限り、エンドユーザーにJavaScriptを利用させないようにするべきです。どうしても JavaScriptを利用させたい場合、エンドユーザーひとりひとりにサブドメインを与えるのが比較的安全です。
エンドユーザーがスタイルシートを編集できる
* はい
* いいえ
* わからない(回答しない)
スタイルシート編集機能をエンドユーザーに提供する場合、ビヘイビアという機能を利用させないように注意する必要があります。ビヘイビアが入力可能なスタ イルシート編集機能では、そうでないシステムと比較してクロスサイトスクリプティング脆弱性が存在する可能性が高くなります。
入力画面で半角の '(シングルクォーテーション) や "(ダブルクォーテーション) を入力すると、正常にデータが保存されない。
* はい
* いいえ
* わからない(回答しない)
一般的な文字を入力している時は問題無いのに、シングルクォーテーションやダブルクォーテーションを入力した時に正常に処理ができないシステムでは、 SQLインジェクション脆弱性が存在する確率が高いと考えられます。このような現象がサイトに存在している場合、早急に開発会社、もしくは弊社にご連絡下 さい。
入力画面で<b>あ</b>と入力すると、確認画面で太字の「あ」が表示される。
* はい
* いいえ
* わからない(回答しない)
もし太字で表示される事が予期せぬ出来事だとしたら、クロスサイトスクリプティング脆弱性が存在している可能性が極めて高いと言えます。早急に開発会社、 もしくは弊社にご連絡下さい。
入力画面で<script>alert('A')</script>と入力すると、確認画面でポップアップウィンドウが開 き、"A" と表示される。
* はい
* いいえ
* わからない(回答しない)
トラックバック(0)
このブログ記事を参照しているブログ一覧: WEBセキュリティ自己評価ツール
このブログ記事に対するトラックバックURL: http://blog.amhp.jp/cms/mt-tb.cgi/311
コメントする