本文の内容は、2022年2月9日にMike Luedkeが投稿したブログ(https://sysdig.com/blog/4-ways-combat-security-workforce-shortage/)を元に日本語に翻訳・再構成した内容となっております。
近年、セキュリティ侵害が増加していることは、ほとんどの人が痛感していると思いますが、同時に、その手法もはるかに巧妙になっています。さらに、拡大し続けるアプリケーション環境と継続的に進化するワークロードは、攻撃者にとってかつてないほど多くのチャンスを生み出しています。テクノロジーバブルの外にいる人たちには、それほど明らかではないことがあります。それは、これらの脅威の大きさに対処するには、世界は危険なほど不十分な状態にあるということです。
企業は、安全なオペレーションを維持するために、熟練した技術者の軍隊をもってこの課題に対処しようとするかもしれません。しかし実際には、有能なDevOpsの専門家、特にサイバーセキュリティのスキルを持つ専門家が大幅に不足しています。これは、最新のクラウドやコンテナ環境で運用するすべての組織にとって大きな問題です。
サイバーセキュリティの提唱団体である(ISC)2によると、このスキルギャップは、DevOpsとセキュリティチームにとって顕著で意味のある結果をもたらします。世界中の4,500人以上のサイバーセキュリティの専門家から集められた回答は、この問題がいかに深刻であるかを示しています。回答者の30%以上が、アプリケーションの設定ミスを定期的に経験していると答え、29%が重要なシステムへのパッチ適用に時間がかかりすぎると感じ、27%がITインフラストラクチャーに対して活動するすべての脅威について必要な認識を維持できないと答えています。
このように、サイバーセキュリティチームは、現在および将来的に予想される需要に対応するための人員が不足しており、プロセスが管理されておらず、評価が行われておらず、モニタリングが不完全であることは明らかです。しかし、これは単にこれらのタスクを実行するために人を雇うだけの問題ではありません。DevOps環境を安全に保つために必要な人材は、労働力よりも役割の方が早く変化しているため、単に存在しないのです。
セキュリティにとって時間は非常に重要な要素であり、解決策が現れるのを待っていることはできません。DevOpsのリーダーとCISOは、早急に何かをしなければなりません。幸いなことに、以下のステップを踏むことで、このスキル不足による負担を軽減し、クラウド、コンテナ、Kubernetesへの移行を継続して進めることができます。
1. 自動化の導入
セキュリティチームとDevOpsチームは、セキュリティ管理が実際に意図したとおりに機能しているかどうか、さらには開発作業の妨げになっていないかどうかを検証する必要があります。多くの企業はこの検証を手動で行っていますが、これでは拡張性がありません。これを効果的に行うには、自動化が唯一の方法です。企業は、大規模なデプロイメントであっても、期待通りに動作しているかどうかを理解するために、手動プロセスなしでクラウドのアクティビティを分析できるツールを必要としています。スピード、アジリティ、セキュリティを両立させるための要素は、自動化にあります。自動化されたアプローチでは、クラウドのアクティビティを分析して解釈し、クラウドやコンテナ環境内の異常な動作について、DevOpsチームやセキュリティチームに警告することができます。これにより、脆弱性や問題が悪用される前に対処し、開発プロセスの摩擦を減らし、安全なデプロイメントを実現することができます。
まず、DevOpsチームはセキュリティツールを活用して、ポリシーの自動構築とカスタマイズを行う必要があります。適切なツールは、Falcoのようなオープンソースのフレームワークに見られるものもありますが、コンテナのライフサイクルや統合に適応できるように作られています。DevOpsチームは、これらのツールを頼りに、ポリシーを実施し、脅威を示す可能性のある異常な動作に起因する問題に警告を発することができます。
自動化のアプローチには、責任の共有という概念が内在しています。クラウドとコンテナの活動のセキュリティは、クラウドの顧客の領域に完全に組み込まれています。クラウドやコンテナのセキュリティは、クラウドを利用するお客様の責任となります。このため、DevOpsチームは、セキュリティ監視のニーズを認識し、それに適応する必要があります。一方、セキュリティチームは、開発と提供のプロセスを遅らせないようにしながら、自分たちの権限に基づいて行動しなければなりません。
2. タスクに適した人材を育成する
適切な人材が存在しなければ、セキュリティチームとDevOpsチームがそれを作り出すことになります。適切なスキルを持つ人材を増やすには、組織的なトレーニングが重要であり、すべての組織は、適切な候補者を資格のあるDevOpsおよびセキュリティの専門家に育てることを目指すべきです。このような人材の多くは、すでにアプリケーション開発者として、またはセキュリティ機能の中で働いています。また、キャリアの浅い人でも、自分のスキルを高めたいと考え、OJTに参加したいと考えている人もいるでしょう。すべての組織は、経験豊富なスタッフによるメンタリングを奨励するだけでなく、DevOpsセキュリティのユニークなニーズに対応できるよう、正式なトレーニングプログラムを用意する必要があります。
大学の中には、サイバーセキュリティに特化した学位や資格を提供しているところもあります。例えば、インディアナポリスにあるEleven Fifty Academyのようなコーディングスクールでは、最新のサイバーセキュリティの手法を学ぶことができ、優れた人材を確保することができます。また、米軍は最も洗練された技術トレーニングを提供しており、高度なスキルを持つセキュリティやDevOpsのプレーヤーを採用するのに適した場所でもあります。
3. グローバルに考える
クラウドやコンテナ環境を攻撃したりハッキングしたりする方法は、単一で規定されたものではありません。アプローチは多様であり、だからこそ、セキュリティを担当する人材も多様性を支持すべきなのです。そのためには、国境を越えて人材を探すのも一つの方法です。COVID-19が大流行した過去2年間に世界中でリモートワークが受け入れられたように、セキュリティやDevOpsの問題を解決するために世界中の労働者を採用する体制を整えている組織がこれまで以上に増えています。どこで人材を確保できるかをより広く考え、テストやワークサンプルで能力を証明できる人材を採用する。このようにして、潜在的な労働者のプールを深めるだけでなく、異なる視点やアプローチを持つ新しい人材を迎え入れることで、すでに行っている仕事を強化することができるのです。
私が勤める会社では、従業員の半数近くがアメリカ国外に席を置いています。これにより、人材のプールが劇的に増えました。ちょっとした工夫で、グローバルに採用する際の大きな障壁である「時差」は問題になりませんし、むしろ効率が上がるかもしれません。
4. 実績のあるソリューションを利用する
最後に、DevOpsのセキュリティニーズをサポートするために、市販の製品を利用しましょう。自社で構築するという選択肢は常にありますが、セキュリティに関しては、そのようなアプローチでは時間がかかり、余裕がないかもしれません。その点、SaaS製品は、チームのニーズの変化に合わせて拡張・適応できるため、最も信頼性が高く、効果的です。これらのツールは共有責任モデルに特化して作られているため、気が散ることが少なく、お客様とお客様のチームは、目標達成のために重要なセキュリティとスピードに関する必要なタスクに集中することができます。また、レビューサイトや試用できる機能、開発者コミュニティの視点も、組織にとって最適な判断を下す上で非常に役立ちます。
セキュリティとDevOpsの管理は決して容易ではありません。積極的なスケジュールと納期の中では、セキュリティに必要な規律を忘れてしまいがちです。さらに難しいのは、これらのニーズに対応できるだけの人を雇えないことです。しかし、革新的なトレーニング、採用に関する新たな視点、テクノロジーの効果的な活用を組み合わせれば、どんな企業でもこれらの限界を克服することができます。
原文はDevOpsに掲載されています。