サイト脆弱性をチェックしよう!--第4回:開発工程におけるレビューやテストのコツ(その2) - (page 5)

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

2007-09-13 20:22

 テスト項目は、ごく普通の異常系のテストだ。しかし、対象となるパラメータが、CookieやHiddenフィールド、ラジオボタン、チェックボックス、セレクトリストが含まれるのが普通の異常系のテストと異なるかもしれない。

 残念ながら、多くの開発者はHTTPヘッダ、CookieやHiddenフィールドなどが変更可能であるという認識が少ないように思う。実際、幾つかの検査で、Textフィールドには問題が無くても、Hiddenフィールドやラジオボタンなどのパラメータには脆弱性があるということが多々あった。ブラウザから渡されるものは、HTTPヘッダも含めてすべて変更可能であるという認識でテスト項目を作成し、テストを実施してほしい。

まとめ

 今回説明したようなレビューとテストを行うことで、より安全なウェブアプリケーションを構築することができる。今回のまとめは、以下のとおり。

設計レビュー
・各機能、データのリスク分析が適切に評価されているか?
・リスクに対する対策が適切に行われ、明確になっているか?
コードレビュー
・データフローを確認し、入力時の検証と出力時のエスケープ処理がなされているか?
・エラー処理が適切に実装されているか?
・境界条件が正しいか?
テスト
・異常系のテストを十分にする。
・TextフィールドやTextAreaフィールドだけでなく、Hiddenフィールドなどでも意図しないデータを入力データとしたテストを実施する。

 これらは、アプリケーション開発で当たり前にやるべきことだ。しかし、実際の現場ではこれらが行われていないことが多い。実際にこれらすべてのチェックを実施しようとすると、現在の短納期での開発では工数がかかりすぎてしまうため、現実的ではない。

 そのような場合でも、少なくとも、異常系のテストを十分に行うことで、存在する脆弱性をリリース前に発見し、修正することで安全なアプリケーションを提供することが可能になる。

 今回は、チェックの一般論について説明した。次回以降は、実際の脆弱性のチェックをどのようにするのか具体的に説明していこうと思う。

■著者プロフィール
池田雅一
テクマトリックス シニア・エンジニア

テクマトリックス シニア・エンジニア。2000年よりウェブアプリケーションやネットワークに関する脆弱性検査に従事。Watchfireのウェブアプリケーション脆弱性評価ツール「AppScan」を活用し、大手企業に対してウェブアプリケーションのセキュリティコンサルを実施した経験を持つ。
■関連ホワイトペーパー
・WEBアプリケーションのセキュリティ:自動スキャンと手動による侵入テストの比較
・WEB アプリケーションにおける権限拡張の自動テスト

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

ZDNET Japan クイックポール

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

NEWSLETTERS

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

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

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