極楽せきゅあブログ

ときどきセキュリティ

セキュア開発環境

某所で話に出たんですが、プログラマにセキュリティ対策手法を覚えてもらう、というのはやっぱ無理じゃねえのかなあ?ということを最近とみに思います。言っても言っても無くならないバッファオーバーフローのネタとかを見ていると、そもそも開発環境の段階でそういうものを防げるようにしとかないとだめだめじゃないすかねえ?
というか、セキュリティ機能はすでにライブラリとして組み込まれていて、例えばユーザー入力を受け取るところでは受け取り関数をコールするだけなんだけど、その関数の中ではサニタイジング処理などなどが行われているようになってないと、余計な(といってはイカンけど)工数はかかるし、開発予算を増やしてもらわないとならんし、ってことはつまり、対策できない、ということなので(苦笑)。新しい攻撃手法が開発されたら、セキュリティライブラリを再度リンクするとかすると対策が組み込まれるとか、そういう仕組みになっとると開発ラクチンだと思うんだけどなあ。
まそこまで行かなくとも、単にラッパー関数をかましてロードできるだけで、それだけでも防げるプログラマブルエラーってたくさんあると思うんだけどー。
そういえばコンパイラの段階でそういう対策を組み込もう、というのはIBM製なのがありましたよねー。あと、ライブラリ系も。そういうの、もっとメジャーになってもいいかなーとか思うんだけどなあ*1

*1:でも前にphrackにライブラリ系対策をバイパスする方法、なんて記事あったっけなあ(苦笑)