みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

WEBサイト・Webシステム(PHP・PERL・JAVA・HTMLなど)の製作されている方へ

ホームページ製作で各種プログラムを組むかと思います。PHP・PERL・HTML・JAVAなど。
これらを利用して一つのサイトや、サイトの一部(コンテンツ)を製作する際に、製作段階に応じてセキュリティ上の問題点やバグなどを検査するテストを行うかと思います。

その段階と各段階に応じたテスト方法をご存知の方、どんな事でもかまいません、教えてください。

質問の意味が分かり難いかと思いますが、こちらでもなるべく分かりやすいようにご返答しますので、宜しくお願いします。

投稿日時 - 2006-05-12 18:06:07

QNo.2146937

困ってます

質問者が選んだベストアンサー

がるです。

> 論理的におかしな点やセキュリティホールとして、「クロスサイトスクリプティング」などを良く聞きますが、この他具体的に調べる事は何がありますか?
一意に集約されているところが案外少ないのですが。
ちと古くはありますが、
http://www.ipa.go.jp/security/awareness/vendor/programming/
こちらは割合にお勧めです。
ちなみに、XSS(クロスサイトスクリプティング)以外ですと、ディレクトリトラバーサル(または パストラバーサル …そういえば略称を知らない…)とかSQL injection(SQL インジェクション)、CSRF(クロスサイト リクエストフォージェリ 最近話題になりました)とかを、googleあたりで調べられてみるとよろしいかと思います。

> また、教えて頂いた実装段階でのチェックについては、基本的に自分がわざと攻撃を加えてみる、のような方法しかないものでしょうか?
ですねぇ。まず「想定外の入力がきちんとはじかれているかどうか」を机上でデバッグすることも大切ですが、最終的には「実際に値を入れてみる」のが、現在であれば早いと思います。

あとは、このあたりの開発手法に…直接絡むわけではないのですが。XP(エクストリーム プログラミング)で開発をすると、対応がしやすいように感じています。

何かの参考にでもなれば幸いです。

投稿日時 - 2006-05-13 22:14:04

ANo.3

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

コンピュータ・システムの開発においては、いろいろと作業があります。もちろん場合によっては省略できる(省略すべき)作業もありますし、行うべき順番も異なるのですが。

これら作業を網羅的にまとめ、標準的呼称などを定めたのが「共通フレーム」です。少し時期的には古いのですが決して内容は古びていません。JIS規格になっていますし、プロであれば知っておくべきレベルのものです。

http://www.atmarkit.co.jp/aig/04biz/slcpjcf.html
http://www.jemima.or.jp/info/galaxy/94-99/body/frame.html

この標準において「テスト」と呼べるものは5つのプロセスに現れます。すなわち、プログラミングプロセスにおいて行われるユニットレベルの品質保証、ソフトウェア組み合わせ試験プロセス、システム総合試験プロセス、立会い試験プロセス、運用テストプロセスです。
具体的にどういうテストを行うべきかは書いていませんが、どういうテストを行うべきかをどのように決めるべきかは書いてあります。ご参考まで。

投稿日時 - 2006-05-12 19:55:38

お礼

取引先(発注先)とのガイドラインですね。非常に参考になりました。
ありがとうございました。
ご説明不足で申し訳ありません。今回は特に取引先(発注先)はなく、自社のサイトで運用するにあたっての製作したプログラムについてが目的でしたが、知識として覚えておきたいと思います。

投稿日時 - 2006-05-13 13:33:28

ANo.1

がると申します。作成側の人間です。
えっと………もう一つ把握し切れていないような気がするのですが。
とりあえず
・設計段階でのデバッグ:論理的におかしい流れ出ないかどうかを考えたり、あるいはセキュリティホールがないかどうかを考える
・実装段階でのデバッグ:実装でのミスがないかをテストする
ってのが大きく二つ、まずあろうかと思います。

後は、バグについては「様々なケースを想定してのテスト」で片付けるしかないでしょうし。
セキュリティについては「既存のセキュリティ問題」をリストアップして、それぞれに対して「どのように対策しているか」を設計していくのがベストかと思います。

で。基本は「最低でも専門家の確認を通す」こと。あとは「変更が容易な作成手法を用いること」でしょうか。

…アバウトな発言が多くて恐縮ですが。

投稿日時 - 2006-05-12 18:23:04

補足

とても参考になる回答ありがとうございます。
論理的におかしな点やセキュリティホールとして、「クロスサイトスクリプティング」などを良く聞きますが、この他具体的に調べる事は何がありますか?また、教えて頂いた実装段階でのチェックについては、基本的に自分がわざと攻撃を加えてみる、のような方法しかないものでしょうか?

投稿日時 - 2006-05-13 11:51:23

あなたにオススメの質問