2017年9月22日金曜日

セキュリティーに精神論はやめよう

たまに精神論でセキュリティーを語る人や、精神論者vs現実主義者の言い争いを見かけます。
簡単な例ですが、※あくまで例

精神論でいくと、1カ所対策を徹底するだけで良い。だから1カ所の対策のみでよい。

現実は、そこをミスって脆弱の発生。

なので現実主義者は、2か所以上で対策を行い、万が一片方がミスっても突破されないようにするべきと唱える。
一カ所のみというのは、ミスに対して脆弱である。

長く大量のコードを扱ったり見ていたりすれば明白です。
人間は必ず間違う物。可能性がある物はいずれ現実になります。

徹底すればよいという、非現実的な精神論はやめるべきです。

ちなみに二重にする以外には、ミスしにくい構造を作る事ですね。
フレームワーク側で強制させることです。※ある意味これも二重対策
たとえば、$_POSTをバリデーション後に別変数へ格納unsetし、外部からのデータを直接使えなくする仕組み等。
使っちゃだめと決めても、使えるってことは使っちゃう人が出るということです。なので使えなくします。

こういう考えは、プログラミングに限らず、仕事の仕組みとして非常に重要です。