サイト脆弱性をチェックしよう!--第1回:ウェブアプリケーションに潜む危険 - (page 2)

池田雅一(テクマトリックス)

2007-07-26 20:36

画面遷移に関係する脆弱性

 ウェブアプリケーションは、複数の画面を遷移し、さまざまな処理を行う。このとき利用しているHTTPは、1回のアクセスごとに通信が完結するステートレスなプロトコルであり、各処理が正常に行えるかどうかを無視すれば、各画面にアクセスすること自体はユーザーが自由に行うことができる。

 このため、ユーザーの状況(セッション)をアプリケーションが把握し、制御する必要がある。しかし、制御が不適切であればログインしていないユーザーが機密情報を表示する画面にアクセスしたり、ユーザーが意図しない情報の更新を行わせることなどが可能になる。

 このような画面遷移の設計において作りこまれてしまう脆弱性には、「強制ブラウズ」「クロスサイトリクエストフォージェリ」などがある。

 まず「強制ブラウズ」は、許可されていないはずのページにアクセスできてしまうという脆弱性だ。これは設計の段階で、どういった状況(たとえば、ログインした状態)や、どういうものしかアクセスできないのか(たとえば、ブラウザからはアクセスできないが、アプリケーションからは読み込める)と言うことを明確にしていないために発生してしまう。

 対策としては、アクセスできる条件(ファイルへのアクセス権を含む)を明確にし、その条件に基づいて設定および構築を行う必要がある。

 また「クロスサイトリクエストフォージェリ」は、ログインした状態で処理を行うURLに直接アクセスすることで、意図しない処理が行われてしまう脆弱性だ。たとえば、電子商取引サイトにこの脆弱性があり、ログインした状態で悪意のあるサイトにアクセスした場合、意図せず商品購入を行われる可能性がある。

 これは、ログインした状態であれば、どんな状態であっても処理が行われることが原因だが、設計の段階で処理が行われる条件を明確にし、その条件に基づいて構築する必要がある。

 これらの脆弱性の対策では、どういった状況でこの画面が呼び出されるのか、その状況を把握するにはどうすればよいかを十分に検討する必要がある。

不十分な機能設計による機能の悪用

 アプリケーションには、商品を購入したりメールを送信したりするさまざまな機能がある。これらの機能を実現するためにアプリケーションでは、データをデータベースに追加、更新、検索したり、外部プログラムの呼び出しなどをおこなっている。また、状態を把握するために、CookieやHiddenフィールドを使用している。

 このような実装する機能や、CookieやHiddenパラメータに格納する情報をセキュリティの観点から十分に考慮していないと、機能を悪用されることがある。

 実装した機能によっては、いろいろなことに悪用できるものがある。たとえば、機能の悪用には、「メール送信機能」「パスワードエラー通知機能」「バックドアとデバッグオプション」などがある。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]