2021年11月15日 08時00分 公開
特集/連載

Domino’s Pizzaが実践するセキュアなアプリ開発プロセス開発者が学ぶサイクルを提供

Domino's Pizzaは、アプリ開発の初期段階からセキュリティをプロセスに組み込んでいる。そこにはアプリ開発者を成長させる仕組みがあった。

[Cliff Saran,Computer Weekly]

 Domino's Pizzaのリー・ワットフォード氏(CISO:最高情報セキュリティ責任者)は、オンラインイベント「Infosecurity Europe」(2021年)の前に本誌のインタビューに答え、同社のDevSecOpsについて語った。

 「社内のプラットフォーム開発者とアプリケーションを開発するサードパーティーがいる」と同氏は話し、次のように付け加えた。社内で開発したコードであろうとサードパーティーが書いたコードであろうと、コードのセキュリティを確保する権限は社内開発者に与えている。

 同社が開発したのは、監視と可視性を提供するセキュリティモデルだ。このモデルはコンテナとセキュリティインフラをカバーし、ガバナンス、スキル、可視性が組み込まれている。可視性によって、開発者はセキュリティに関する知識と認識を向上させることができ、セキュリティを確保したコードを作成できるようになるとワットフォード氏は話す。

iStock.com/Iana Miroshnichenko

 ソフトウェア開発プロセスにセキュリティの意識を組み入れるという課題について、同氏は次のように語る。「ソフトウェア開発パイプラインの最も重要なステップは、開発プロセスでセキュリティを意識させることだ。開発者はビジネスに対してアジャイルであることを求められるため、決められた速度で作業しなければならない。それでも、インフラの運用方法とコードのデプロイ方法について抑制と均衡を維持する必要がある」

 このセキュリティモデルは、アジャイルなソフトウェア開発とデプロイプロセスを妨げることなくコードを安全に開発する舞台を提供する。

 自動化はソフトウェア開発フェーズで広く使われている。アプリケーションの脆弱(ぜいじゃく)性を検証し、一定のテスト基準を満たさないコードを自動的に拒否する。ワットフォード氏によれば、こうした自動拒否はセキュリティトレーニングメッセージを伝えるのに役立つという。「つまり、そのコードは開発パイプラインと運用環境を通過できないことが開発者に伝わる」

 ITインフラ側では、コードの公開が別のパイプラインを通じて自動化される。これにより、アプリケーション開発チームとインフラチームはIT運用チームとの効果的な連携が可能になる。Domino's PizzaはPCI DSS標準に従うため、セキュリティ制御に関する職務分掌を要求される。

 Domino's Pizzaはこのセキュリティモデルの成熟度を上げ、より細かいプロセスを追加している過程にあるとワットフォード氏は話す。設計段階からセキュリティを確保するアプローチを実施するため、運用面からルールを設定するのが同社の目標だ。

 「何が起きているかについての可視性があり、何が適切かを示すベースラインがあれば、異常や構成ミスを迅速に特定できる」と言い、これによってDomino's Pizzaは問題点に優先順位を付け、深刻なセキュリティリスクを迅速に解決できると補足する。

姿勢を変える

 プログラマーが手作業でコーディングすると新たな脆弱性が組み込まれる恐れが高まる。

 GitLabは開発者を調査し、コードのセキュリティを向上させる方法としてコードレビュー、静的コード解析、ライブアプリケーションの監視、オープンソースライブラリやコンテナのセキュリティスキャン、プロジェクト設計段階でのリスク分析などを挙げた。

 セキュリティを確保したコーディングは、自動テストと併用できるセキュリティモデルを使って開発者自身が安全でクリーンなコードを作成していることを確認し、コードがテストスイートによって拒否された場合はその理由を理解することから始まるとワットフォード氏は言う。これは学習プロセスだ。開発者がより安全なコードを開発するようになるにつれ、ツールがコードを拒否する確率は低くなる。

 ソフトウェア開発者がコーディングエラーを減らす努力をするという考え方でもある。CCS Insightのボラ・ロティビ氏(リサーチディレクター)は言う。「社内外を問わず、クライアントの期待に応えようとする全ての開発者にとっての最優先事項の一つは、開発するアプリケーションのリスクを減らすことだ」

DevOpsとセキュリティの可視性

 アプリケーションのセキュリティ戦略を構築するに当たっては、ITセキュリティの担当者が自動化をDevOpsツールチェーンに標準プラクティスとして統合し、可視性を高めるスキャンと適切な優先順位設定を組み合わせることをForrester Researchのアナリストは推奨する。

 自動セキュリティテストをDevOpsツールチェーンに含めるのであれば、フックが既に存在する。リリース前テストを行う主要製品は「Azure DevOps」「GitHub」「Jenkins」「JIRA」などの開発ツールとの統合を提供する。DevOpsプラクティスの成熟度が高い企業は、リリース前テストツールを利用して開発パイプラインに統合している可能性が高い。

 リリース前テストツールの結果を集約すれば、セキュリティの結果を詳しく把握でき、調査結果を検証して優先順位を付けるのに役立つ。静的アプリケーションセキュリティテスト(SAST)と動的アプリケーションセキュリティテスト(DAST)のスキャン結果を組み合わせれば、修復までの期間が平均よりも24.5日短くなる。SASTとソフトウェアコンポジション解析(SCA)の結果を組み合わせれば、修復までの期間が6日短くなる。

出典:「The state of application security, 2021」(Forrester Research)

ITmedia マーケティング新着記事

news163.jpg

半熟チーズケーキ、半熟カステラの次に来るのは? クックパッド「食トレンド予測2022」
キーワードは「新感覚」。2022年に流行の兆しが見えてきた食・料理は?

news115.jpg

レクサスが欧州で展開した「視聴者の顔色」を見てパーソナライズする広告について
トヨタ自動車の「レクサス」ブランドが欧州で展開した「Feel Your Best」キャンペーンは...

news068.jpg

Criteoが考えるサードパーティーCookie廃止後のデジタル広告
サードパーティーCookie廃止は広告プラットフォーム事業者にとって大きな転換点となる。...