ikepyonのだめ人間日記

セキュリティに関することを書いていく予定。

開発のセキュリティ

ふと思いついたけど、設計での対策として、デバッグオプションをどう実装するか?というのも考えておいた方が良いかもしれない。
良くあるのが、クエリーパラメータに「debug=on」とかあるとデバッグモードにするという奴。実際、以前検査した中で幾つかあったしw
こういうのはいらん情報を攻撃側に与えてしまうので、はっきり言ってよくない。かといって、開発中にはどうしてもデバッグするために、内部情報を出したいというのがある。最終的に、デバッグモードを全部削除してからリリースすればいいのだけれど、そうするとまた一からテストが必要になったり、削除漏れがあってよくないわけで・・・
じゃ、いっそのこと設計思想として、デバッグオプションを設定ファイルや、環境変数に記述してしまうとしてしまったほうが攻撃側がデバッグモードへの移行をコントロールできにくい(他の脆弱性があったら別なんで絶対に出来ないとは言い切れない)ので、安全だろう。
こういうのも、設計で対応できる対策のひとつだと思うんだよなぁ。
コードだけで対策しようとするのは、ぶっちゃけ、それこそTipsでしかないわけでw
セキュリティ対策をするには、部分的なものだけを見るのではなく、全体的に見て最適な対策をとる必要があるんで、設計というのが重要になると思うんだけど、そこらへん考えている開発者ってどの程度いるんだろう?
コーディングにだけ脆弱性の発生源があるんじゃない、脆弱性の発生源は開発工程の全てにあるんだw