Webアプリの入力検証不備──4つの実例とその対策
http://techtarget.itmedia.co.jp/tt/news/0911/16/news01.html
以下、抜粋引用。
心がけたいものである。つーか、最初からそう設計しろよ。ベンダーは。マジで。
- ユーザーセッションを追跡し、ユーザーの再認証を経なければ、変数を変更するだけの入力操作を許さないこと。もっと良いのは、システム変数をURLに一切入れないことだ。
- URLパラメータを含めて入力が適切に検証、フィルタリングされ、アプリケーションが想定内の入力のみを受け付けるようにすること。
- 提出されるフォームをフィルタリングするか、あるいは絞り込むこと。セッション管理やWAFなどによりそうする方法はいろいろある。シンプルさを優先するのであれば、この課題は、CAPTCHAを利用して解決するのが一番簡単だ。
- 想定されている入力だけを受け付け、それ以外は一切受け付けないようにアプリケーションをコーディングしなければならない。
<追記>
ブクマでコメントをいただいた。どうやら元記事はかなり間違った事が書かれているっぽい。
それを確認できなかったってことは、自分の知識量がダメダメになった、ということか(´・ω・`)カナシス。
でも、「Webアプリのセキュリティ」の基礎くらいは、特に指示を出さなくても実装しとけよ、というのが、ベンダーにオーダーを出す人間の本音ですよ。
言い換えれば、オーダーするアプリの「サービス概要説明」の段階で、「Webセキュリティ」に関する情報なんて時間的にも量的にも割けませんから。
機能実装確認の仕様書レビューの段階で、「Webセキュリティ」に関して「これ実装無理です」なんて言われたら、涙モノです(;´Д⊂)。