「不正な入力に対して脆弱性を発生させないようセキュリティ対策としてバリデーションを行う」。アホか。プログラマならセキュリティ対策とか気にするな。いや、気にするなというのは言い過ぎだけれど、ほとんどの場合においてあなたの書くコードはセキュリティ対策の必要性はない。
攻撃者の細工した入力によってSQL/HTML/JavaScriptが壊れるとかバッファオーバーフローが発生するとか、そういった脆弱性と呼ばれるほとんどのものはただのバグだ。セキュリティ対策っていうのはコードとは切り離された領域で行うDEPだったりASLRだったりX-Frame-OptionsだったりCSPだったりiframe sandboxだったり、そういうものがセキュリティ対策だ。コード上で書くのは「アプリケーションとして正しく動作するための処理」だけだ。
もちろん例外もあるかもしれないけど、それはあくまでも例外だ。日常的に書くコード - 長さやフォーマット、範囲のチェックだったり、次の処理系に適したエスケープを施したり - は全てセキュリティ対策のためのコードではない。アプリケーションが正しく動くための処理だ。それができていないのはただのバグだ。
にも関わらず「セキュリティ対策」のようにさも特別なものであるかのような言葉でポジショントークを繰り返すような姿勢は好ましくない。
もし、「セキュリティ対策という視点で入力バリデーションをしていない」ということに対して不安を覚える開発者がいるのであれば、セキュリティ対策など考えなくていいので今すぐテストを書け。
個人情報漏えいとか、被害でかいじゃん。他のバグと影響度が段違いじゃん。会社潰れるじゃん。 特別扱いするのは自然だと思うけど。
脆弱性につながるバグというものがあって、それは入力チェック(バリデーション)で防げることもあるということだろ。 逆に言えば入力チェック(バリデーション)してないことで作...
どうでもいいけど、「セキュリティ対策」という日本語の用法がおかしい。 セキュリティに対策するのは、ハッカー、クラッカー側だと思うんですけどね。
英語の「security measures」と全く同じ意味・用法のような気がするんですが
セキュリティへの対策と考えるからおかしい セキュリティに関する対策と考えれば矛盾は生じない
「安全対策」がいいんだからいいだろ。
この手の話をググるとNHKにあたるなあ 「節電対策」は,間違いか? http://www.nhk.or.jp/bunken/summary/kotoba/kotobax3/pdf/079.pdf
違う。 通常の操作で発生しうる、正常な入力に対して異常な動作を行うのがバグだ。 通常の操作では発生しえない、異常な入力に対しておこる異常な動作のうち、悪用が可能なものが...