Skip to content

Same Feedback

OWASPのペネトレーションテストを知ったのはけっこう最近だ。

セキュリティの世界には標準化された検証手法がある、ということすら長いこと意識していなかった。脆弱性診断のレポートは何度も受け取ってきたが、それがどういうフレームワークに基づいているかまで気にしたことがなかった。あるとき医療系の案件に関わって、初めてOWASP ASVSの存在を知った。レベルが3段階あり、扱うデータの機密性によって求められる検証の深さが変わる。医療データは当然、高いレベルが要求される。

それはいい。問題はレポートの中身だ。

セキュリティ検証のレポートを受け取るたびに、見覚えのある指摘が並んでいる。CookieのSecure属性が設定されていない。HTTPSでしか送信されるべきでないCookieが、HTTP経由でも飛ぶ状態になっている。さすがにこの10年で3回、いや4回はくらっている。毎回「ああ、またか」と思う。毎回直す。そして次のプロジェクトでまた同じことをやる。

理由はわかっている。ローカルの開発環境はHTTPだからだ。いいわけをするなら、プロジェクトごとに開発環境も言語もフレームワークも変わる。Secure属性をつけるとlocalhostでCookieが飛ばなくなる。開発中に不便だから外す。そのまま本番に持っていく。見事なパターンだ。

さすがに学習した。最近はCookieの実装時に環境変数で分岐を入れている。開発環境ではfalse、本番ではtrue。たったそれだけのことに10年かかった。

セキュリティの知見が足りないのではなく、同じ失敗を仕組みで防ぐのに時間がかかっただけだ。いや、やはり知見が足りなかったのだろう。