2015-02-04

セキュリティ対策

不正入力に対して脆弱性を発生させないようセキュリティ対策としてバリデーションを行う」。アホか。プログラマならセキュリティ対策とか気にするな。いや、気にするなというのは言い過ぎだけれど、ほとんどの場合においてあなたの書くコードセキュリティ対策必要性はない。

攻撃者の細工した入力によってSQL/HTML/JavaScriptが壊れるとかバッファオーバーフローが発生するとか、そういった脆弱性と呼ばれるほとんどのものはただのバグだ。セキュリティ対策っていうのはコードとは切り離された領域で行うDEPだったりASLRだったりX-Frame-OptionsだったりCSPだったりiframe sandboxだったり、そういうものセキュリティ対策だ。コード上で書くのは「アプリケーションとして正しく動作するための処理」だけだ。

もちろん例外もあるかもしれないけど、それはあくまでも例外だ。日常的に書くコード - 長さやフォーマット範囲のチェックだったり、次の処理系に適したエスケープを施したり - は全てセキュリティ対策のためのコードではない。アプリケーションが正しく動くための処理だ。それができていないのはただのバグだ。

にも関わらず「セキュリティ対策」のようにさも特別ものであるかのような言葉ポジショントークを繰り返すような姿勢は好ましくない。

もし、「セキュリティ対策という視点入力バリデーションをしていない」ということに対して不安を覚える開発者がいるのであれば、セキュリティ対策など考えなくていいので今すぐテストを書け。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん