セキュリティパッチを、いつ出すべきか

横軸に公開の時期(Release timing)、縦軸に損失(Loss)をとった図。遅らせるほど増える攻撃を受ける損失(Loss from attacks)と、早すぎるほど増える検証が足りない損失(Loss from too little testing)を細い線で描き、その和である総損失(Total loss)が U 字を描く。最下点に丸印を打ち、縦の破線を横軸へ落として最適な時期(Best timing)を示している。

脆弱性が見つかったとき、パッチをいつ公開するかは難しい判断です。急げば検証が不十分なまま出すことになり、遅らせれば攻撃にさらされる期間が延びます。

この研究では、脆弱性が発見される過程を非同次ポアソン過程で表しました。発見のペースは一定ではなく、公開直後に集中するなど時間とともに変わるためです。

そのうえで、攻撃を受ける損失と、パッチ開発・検証にかかる費用を合わせた総コストを定義し、それを最小にする公開時期を導いています。

「早ければ早いほど良い」わけではないことを、数理的に示した研究です。セキュリティ対応を経験や勘ではなく計算で判断するための土台になります。

元になった論文

Optimal security patch release timing under non-homogeneous vulnerability-discovery processes

ISSRE (International Symposium on Software Reliability Engineering) (2009)