脆弱性...

高木浩光氏のBLOG『開発者のプライドか、それとも「脆弱性」のネガティブイメージの影響か』はとても興味深く読ませてもらいました。


私もセキュリティ関連ソフトウェアの開発を仕事でしているため、“脆弱性”という言葉には非常に敏感です。やっぱり開発者はバグを認めたくないという思いが少なからずあります。どうにかして“本ソフトウェアの仕様です”と言いたいために言い訳を一生懸命に探しますね。
ただ、それがお客様に小さな影響しか与えない程度のものだったり、代替手段がある程度のものであればいいかもしれませんが(よくはありませんが...)、セキュリティに関する脆弱性バグは程度の問題ではないと考えています。


例えば、今回の『鶴亀メールにおけるS/MIMEの署名検証に脆弱性』の場合には、鶴亀メールS/MIME機能を信頼して、お金のやりとりや契約などにS/MIMEメールを使用していた企業があったらこのバグによって多大な被害を被っている可能性があるわけです。
また、サーバのように使用されるソフトウェアでは、おかしなデータを受信したときにデータ解析時に落ちてしまうようなバグでも、DoS攻撃に対する脆弱性があることになってしまうわけです。例え、その「おかしなデータ」というものが、プロトコルに違反するものであってもです。(サーバソフトウェアの開発者の立場では、クライアントプログラムの送信データにバグがあると考えてしまうわけです。)


このような開発者の脆弱性に対する考え方は、開発者に対するセキュリティ教育と開発したソフトウェアが負うべき責任をどれくらい理解しているかによるものでしょう。
機能性ばかり追うのではなく、いかにセキュアなソフトウェアを開発できるかというのも、開発者にとって非常に重要なスキルですね。
参考書は、『セキュアプログラミング ― 失敗から学ぶ設計・実装・運用・管理』