寓話
十種のよくある亀裂の城防図
新しい城に話すことのできる役所が建った。それは文書を読み、商人を接待し、倉庫を呼び出し、人のために書類を記入できる。城主は、門に衛兵がいれば城は安全だと思った。
開門して間もなく、厄介事がさまざまな方向から現れた。ある者は悪意ある命令を来信に隠し、ある者は事務所を騙して見てはならない帳簿を渡させ、ある者は誤ったツールを呼び出させ、またある者は大量のリクエストで窓口を圧倒した。事故は毎回違って見えた。
城主はまず門を厚くし、守衛に来訪者を尋問させた。しかし攻撃の一部は合法な材料に隠れ、一部は内部権限で起こり、一部は供給者から来て、一部は出力が誤って信じられることに由来する。門を守るだけでは、城の中の亀裂は防げない。
老城防官は事故を10種類のよくある亀裂として描いた:指示の汚染、機密情報の漏洩、サプライチェーンの不安定、過剰な権限、未検証の出力、過度な依存、権限外の呼び出し、不十分な評価、監視の欠如、リソースの悪用。
この図はすべての脅威ではありませんが、職人と役人に共通のチェックリストをもたらしました。新しい窓を作るたびに、十種類の亀裂に沿って一つずつ問います。入口はどう隔離するか、権力はどう制限するか、失敗はどう発見するか、証拠はどう残すか。
事務所はその後も新しい詐欺に遭遇したが、その場の慌てに頼ることはなくなった。城主は、複雑なアプリケーションの安全はよくあるリスク一覧から始め、繰り返し現れる亀裂をリリース前、運用中、事故後の定期的なチェックに変えるべきだと理解した。
城防官はさらに強調した。十類の亀裂は護符ではない。もし図を壁に掛けるだけで、それを検収、権限、記録、演練に変えなければ、次の事故は同じ場所から再び入り込む。チェックリストは日常プロセスに入らなければならない。
その後、新しい窓口を増やすたびに、工匠は城防図を持って一通り確認するようになった。最悪の入力は何か、何を呼び出せるか、出力を誰が信じるか、異常を誰が見られるか。十種類のリスクによって、安全の議論は漠然とした心配から具体的なエンジニアリング検査に変わった。後に城主は、この図が異なる工匠の言葉を揃えるのにも役立つと気づいた。門を直す者、鍵を管理する者、出力を検証する者が、ついに互いがどの種類の亀裂を防いでいるのかを知った。安全はもはや特定の達人だけに頼らなくなった。チェックリストは判断を代替できないが、チームが同種の危険を見落とし続けるのを防げる。後に事故の振り返りもこの十種類で分類し、次のリリース前に事前に食い止めやすくした。