InfoQ ホームページ ニュース ソフトウェアの生産性を犠牲にせずにセキュリティを確保する方法
ソフトウェアの生産性を犠牲にせずにセキュリティを確保する方法
2025年9月16日 読了時間 5 分
作者:
翻訳者
セキュリティは開発効率と衝突することがある。侵害の影響を最小限に抑えることに焦点を当てる方が、予防よりも効果的である。Dorota Parad氏は、コンプライアンスの柔軟性とセキュリティチームとの協力によって実用的な保護策を定義することを主張している。影響範囲を制限し、自動化を利用することで、生産性の損失を最小限に抑えながらセキュリティを向上させることができる。
QCon San Franciscoにおいて、Dorota Parad氏は生産性を犠牲にせずにセキュリティを確保する方法を発表した。
セキュリティは迅速かつ効率的な開発プロセスと対立することがある。侵害の影響を最小限に抑えることに焦点を当てる方が、侵害を防ぐことよりも効果的である。ソフトウェア開発の生産性を損なわずにセキュリティを確保する ための基盤を作ることについて、Dorota Parad氏は探求した。
Parad氏は、セキュリティの義務・規則に反対することを提案している。これらの規則は生産性を妨げる可能性があるからだ。まず、その規則がどこから来ているのかを理解することから始める:
CISO(最高情報セキュリティ責任者)やセキュリティチームの仕事は、セキュリティに関することはほとんどありません。彼らはコンプライアンスを確保するために存在しています。一般的な意見とは異なり、コンプライアンスは単にチェックボックスを無思慮にチェックすることではなく、チェックボックスは目的を達成するための手段の一つに過ぎません。
すべては、第三者の利害関係者(監査人、規制当局、保険会社)に対して、あなたの会社がセキュリティリスクを十分に最小化していることを納得させる物語を作ることに帰結する、とParad氏は述べた。
セキュリティ認証や規制のいずれも具体的な指示を含んでいない。範囲、手段、実施方法を定義するのはあなたの会社次第である、とParad氏は述べた。これは困難な作業であり、監査の容易さを最適化し、エンジニアの生産性に影響を与えることなく侵入的なMDM(モバイルデバイス管理)ソフトウェアを強制するようなことをする誘惑に駆られるかもしれない、と彼女は付け加えた。
より厄介な規則を取り除きたい場合は、セキュリティチームと対話を始め、彼らが求めている説得力のある物語を作る手助けをする必要がある、とParad氏は提案した。これは、あなたの領域でリスクをどのように考えているか、侵害の影響範囲を減らすために何をしているか、どのような保護レベルを持っているか、そしてインシデントの影響を最小限に抑えるために何をしているかを文書化することを意味する。
Parad氏は、セキュリティ侵害の影響を最小限に抑えるために何ができるかを探求した。彼女は、一般的な脅威の例として、悪意のある人物がエンジニアのクラウドアカウントの資格情報を手に入れることを挙げた:
ここで最悪の事態は何でしょう?バルクヘッドの原則を適用すれば、その資格情報は単一のクラウドアカウントに限定されており、それが本番環境をホストしているかどうかは不明です。
Parad氏は、現代のソフトウェア開発の実践を利用すれば、アクセスは読み取り専用および無害な構成変更に限定されると述べた。リソースの作成と削除は自動化され、CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインの一部としてのみ許可される。
そのアカウントがユーザーデータを含むデータベースへのアクセスを含んでいる場合、適切な暗号化を適用すれば、データは攻撃者にとって事実上無価値である、とParad氏は付け加えた。
インシデントを防ぐことは、すべての異なる攻撃ベクトルを考慮した複数の修正を含む非常に高価な取り組みである、とParad氏は述べた。影響を制限することは、あまり努力や費用をかけずに済む包括的な解決策であり、しばしば追加の利益として堅牢性の向上をもたらす、と彼女は結論付けた。
InfoQは、セキュリティとエンジニアリングの生産性が共存できる方法についてDorota Parad氏にインタビューした。
InfoQ: 生産性を妨げるセキュリティ規制に反対するアプローチは何ですか?
Dorota Parad氏: セキュリティリスクを最小化する代替手段がある場合にのみ、規制に反対することができます。ここでBLISSフレームワーク(バルクヘッド、レベル、影響、シンプルさ、成功のピット)が役立ちます。エンジニアの邪魔をせずにセキュリティ戦略をほぼ見えないものにしながら、同時に文化に深く埋め込むことができます。
InfoQ: CI/CDパイプラインはセキュリティの実践と見なされますか?
Parad氏: セキュリティ関係者の間で眉をひそめることがありますが、はい、私はCI/CDパイプラインをセキュリティツールと見なしています。適切に実装されれば、悪意のあるコードが本番環境に入るリスクを大幅に減少させます。
典型的なビルド/デプロイメントパイプラインは、コードが本番環境に近づくにつれてますます厳しい保護レベルを含みます。コミットを行うためのgitアクセス制御から始まり、プルリクエストを作成するための開発者資格情報、いくつかの問題をキャッチする可能性のある自動テスト、そして最後にマージするための第二の資格情報と人間によるレビューがあります。これはセキュリティリスクを最小限に抑える非常に強力な方法です。
InfoQ: CI/CDパイプラインでセキュリティを向上させる方法は?
Parad氏: すべてのコードは例外なくそのパイプラインを通過して本番環境に到達する必要があります。ビルドを押し通すための手動のいじり、ステップのバイパス、ファイルをコピーしたりスクリプトを実行したりするためのサーバーへのログインはありません。
それを実際に達成する唯一の方法は、CI/CDパイプラインを健全で堅牢に保つことです。そうすれば、何かが本当に間違っているときだけ失敗します。フレークの多いパイプラインは、セキュリティと生産性の両方の敵です。
このコンテンツのトピックは カルチャー&手法 です。
関連記事:
-
関連記事
-
関連スポンサーコンテンツ
特集コンテンツ一覧
InfoQ ニュースレター
毎週火曜日に前週のまとめコンテンツをお送りいたします。(日本語版は不定期リリース)25万人のシニアな開発者コミュニティーにぜひご参加ください。 サンプルを見る