あらゆる企業がDXに取り組む現在、データを活用して新たな価値をユーザーに提供していくケースが増えています。その手法は主にアプリケーションやWebサービスですが、リリースを急ぐあまりセキュリティがおろそかになってしまい、大きなインシデントが発生してしまうこともあります。この連載では、開発にセキュリティを組み込むための考え方や手法について、GitLabのブログを再構成してお届けします。初回は、経営層向けのモダナイゼーションとコラボレーションについて紹介します。
アプリケーションやWebサービスのセキュリティの不備は企業の事業継続性にも影響を与える
アプリケーションやWebサービスは、DXを背景として企業に新たな価値を生み出すツールとなっています。それはデータを収集するためであったり、それ自体をマネタイズの手段としたりしています。結果としてアプリケーションやWebサービスが増加し、競争状態になり、より早くリリースするために開発を優先し、セキュリティを後回しにしてしまうケースもあります。そして、最終的にセキュリティが検討されないままリリースするケースも少なくありません。
実際に、セキュリティに不備があるままリリースしてしまい、そこを悪用されて大きなインシデントにつながってしまったケースもあります。インシデントが発生してしまうと、謝罪会見を開くことになったり、ブランドが失墜しユーザーの信頼をなくしてしまったり、損害賠償に発展する可能性もあります。セキュリティの不備は、企業の事業継続にも影響を与えるため、経営層はそれをしっかりと認識する必要があります。
アプリケーションやWebサービスにセキュリティを担保するために経営層ができることは、環境の刷新や組織変更などがあります。具体的に言えば、モダナイゼーションとコラボレーションです。これにより開発者の負担を減らし、初期段階からセキュリティを作り込んだスピーディな開発が可能になります。
“デジタルのガムテープで固定されたような”レガシーシステムをモダナイズする
開発者は、製品の新機能を提供し、可用性を維持し、バグ修正を優先させるという、大きなプレッシャーにさらされています。しかし、多くの企業では今もレガシーなシステム、インフラ、プロセス、ポリシーなどを使用しています。そのため開発チームは、ミッションをサポートし、ビジネスの成果を促進するプログラムやアプリケーションを提供することができない状況にあります。
こうしたレガシーな環境を最新の環境にモダナイズすることで、こうした課題解決できる可能性があります。しかし、リプレースには時間やコストといったリソースがかかるため、積極的に行われていません。また、レガシーシステムのセキュリティを維持するために必要なリソースは、セキュリティチームの大きな負担によって担保されているのが現状です。そのため、モダナイゼーションは重要なステップとなります。
ただし、モダナイゼーションを実現することは容易ではありません。レガシーシステムからの移行を成功させるには、技術的、文化的、およびプロセス指向の数多くの課題を克服する必要があります。こうした課題には、変化に対する文化的な抵抗もあり得ますし、新しいプロセスや技術を採用したり開拓したりする際の時間やリソースの制約、古いツールを使用している場合にはプロジェクトの納期短縮へのプレッシャーの増大などがあります。
こうした苦痛をやわらげるためには、経営層が率先して戦略的なアプローチを取ることが重要です。組織のリーダーは、セキュリティ、拡張性、効率性を第一に考え、更新されたシステムが特定のミッションにどのように役立つかを描き出す必要があります。また、ツールだけでなく、従業員の教育と成長を継続する文化も醸成する必要があり、経営層はこうしたスキルを向上する機会のために定期的な投資を行うべきでしょう。
また、この機会に自社開発ツールの使用も終わりにしたいところです。開発者が好きなツールを選んで使えることは、一見柔軟な選択肢のように見えます。しかし実際には、ソフトウェア開発のライフサイクルを試行錯誤のプロセスではなく、ヒットするかしないかのプロセスに変えてしまいます。こうしたツールは拡張性に乏しく、メンテナンスが困難で、簡素化された再現性の高いプロセスを実現できません。
デジタルのガムテープで固定されたようなレガシーシステムからの移行は、簡単なことではありません。しかし、成熟し合理化された開発プラットフォームを採用することで、大きな報酬を得ることができます。組織は、迅速かつ協力的に作業を継続し、顧客や投資家、パートナーの要求に応えられるようになるのです。
開発チームとセキュリティチームのコラボレーションで安全を確保
ここでいうコラボレーションは、他社や他業界とのコラボレーションではなく、自社の開発チームとセキュリティチームのコラボレーションを指します。そもそもアプリケーションには脆弱性が組み込まれやすく、最近ではLog4jの脆弱性や、SolarWindsのソフトウェア・
効率性を損なわずに開発プロセスをより安全にするためには、開発チームはツールや安全なコーディング手法を使用してワークフローにセキュリティプロトコルを組み込むと同時に、プロセス全体を通じてセキュリティチームと協力する必要があります。両チームは、クラウド・
特に、クラウドでの開発・
また、徹底した継続的テスト、モニタリング、フィードバックプロセスを構築することで、アプリケーションのリスクを低減できます。さらに、開発プロセスに正確なスケジュールを組み込んで、部門を横断してチームの連携を図ることも重要です。慎重なスケジュール管理を行うことで、セキュリティチームが脆弱性を修正するために必要な時間を確保できるでしょう。
こうしたコラボレーションが、製品パイプラインを効率的に進めながら、セキュリティをおろそかにしない開発を実現します。開発者とセキュリティチームは、コードと製品の安全性を維持する責任を共有する必要があります。コード設計からユニットテスト、デプロイメントまで、チームとツールが協力して、安全なクラウドアプリケーションの展開を保証するのです。
開発チームは、ソフトウェアの開発プロセスを通じて、セキュリティチームから継続的にフィードバックを受けるようにする必要があります。これにより、あらゆる脆弱性がリアルタイムで検出・
このように、経営層がモダナイゼーションとコラボレーションに取り組むことで、開発チームやセキュリティチームの負担を軽減し、安全なアプリケーションやWebサービスを提供できるようになります。それはユーザーからの高評価につながり、安定した事業継続にも寄与します。こうした取り組みが、DX時代に躍進する企業になるための原動力になるといっても過言ではないでしょう。