ほとんどのチームは、流行だからという理由でセキュアな開発手法を採用しない。セキュアな開発手法を採用するのは、何か問題が発生してからである。情報漏えい、監査の失敗、取引の損失など、何かがきっかけとなって、ようやく痛みが現実のものとなる。しかし、動機が強くても、採用は難しい。セキュリティは依然として邪魔者扱いされ、ツールは無視され、チームは圧倒されたり、燃え尽きたりしてしまう。このセクションでは、チームがなぜ安全な SDLC にコミットするのか、そして、その過程で通常何がつまずくのかについて正直に述べます。
なぜチームは実際に安全なプラクティスを採用するのか
侵害とダウンタイムの回避
誰も次のLog4jやCircleCIの事件になりたくない。流出した秘密情報や認証チェックの欠落は、prodをダウンさせ、Hacker Newsに掲載される可能性があります。SSDLCは、これらの問題が週末を殺すようなインシデントになる前に、早期に発見し、修正するのに役立ちます。
顧客の要求とコンプライアンスの義務に応える
企業の購買担当者は、より深いセキュリティに関する質問をするようになっている。監査員は、セキュアなコーディング、レビュー、テストの証拠を見たがる。チームが SSDLC を採用するのは、SSDLC を採用することで、反復可能で証明可能なプロセスが得られるからである。
より速く、より確実に出荷
逆説的に聞こえるかもしれないが、パイプラインにセキュリティを組み込むことで、実際に物事がスピードアップする。開発中に脆弱性を発見することは、緊急パッチの数を減らし、開発部門における指弾を減らし、全体としてスムーズなリリースを意味する。
開発者の正気とプライド
ほとんどの開発者は、単に速いコードではなく、良いコードを書きたいと思っている。セキュアな開発は彼らに自信を与える。バグ報告で自分の名前を見たり、誤ってコミットした秘密でpingを受けたりするのは、誰だって嫌なものです。SSDLCはそのような地雷を減らします。
よくある障害(そしてプロらしくそれをかわす方法)
"安全保障のための時間はない"
これが一番の言い訳だ。しかし、セキュリティをスキップすることは時間の節約にはならない。賢いチームは、バックグラウンドで動作するツールで左遷する。PRレベルのスキャン。コミット前のチェック。小さなことが大きな混乱を防ぐ。
ツールの過負荷と注意力疲労Aikido 、実際に重要なことを選別し、優先順位をつけることでこれを解決する)
ツールが多すぎる。アラートが多すぎる。そのほとんどは重要ではない。そのため、開発者たちはそれらを無視してしまうのだ。Aikido 、SAST、SCA、シークレット、IaCスキャンの結果を組み合わせることで、この問題を解決し、悪用可能で、到達可能で、修正する価値のあるものだけを表示する。
"安全保障は他人事"
開発者が、セキュリティはセキュリティチームの仕事だと考え、セキュリティチームが、開発者を訓練するのは忙しすぎると考えているなら、何も修正されない。SSDLC は、責任の共有と明確な定義がワークフローに組み込まれているときに機能する。
複雑さへの圧倒:何から始めればいいのか?ヒント:小さく始める
すべてのフレームワーク、頭字語、ツールに麻痺してしまうのは簡単だ。しかし、SSDLCは最初から完璧である必要はありません。小さく始めるのだ。あなたのCIに真価を発揮するツールを1つ選びなさい。プレコミットフックをセットアップする。1つの脆弱性クラスをうまくトリアージする。そこから勢いをつける。
安全な開発への道は、大規模な監査や12項目のフレームワークによって切り開かれるものではない。それは、リスクを減らし、時間を節約し、チームがソフトウェアを構築する方法に実際に適合する、小さな、一貫した勝利によって築かれる。
フローを壊すことなく開発プロセスにセキュリティを組み込む方法から始めよう。