ブログ

最強のDevSecOpsエンジニアになる方法

February 28, 2020
マティアス・マドゥ博士
暗い木壁に掲げられた青いネオンサインには、「Wake up. Kick ass. Repeat.(目覚めよ。やり遂げろ。繰り返せ。)」と書かれています。

テクノロジーそのものと同様に、コード開発のためのツールや手法、最適なプロセスも急速に進化しています。私たち人間には、より多くのソフトウェア、より多くの機能、より高度な性能を求める飽くなき欲求があります。しかも、これまで以上に高速で、高品質で、さらに安全であることが求められています。ほんの数年前まで、アジャイル開発は、大きな作業を細分化し、顧客からのフィードバックサイクルに迅速に適応するための次世代の主流手法でした。それ以前は、ウォーターフォール手法が王道でした。

多くの人や組織がウォーターフォールからアジャイルへと移行しつつありますが、正直なところ、まだ全員が移行できているわけではありません。そんな中で、彼らは新たな問題に直面しています。開発チームと運用チームが依然としてサイロ化しているという問題です。このような環境下で、アジャイルに取り組む小規模なチームが、より迅速なデプロイとデリバリーという約束をどのように果たせるのでしょうか?

DevOpsは、開発(Development)と運用(Operations)を組み合わせた造語であり、新しいソフトウェアを作成する際に両者の機能を融合させるために生まれました。本質的には、開発者が運用チームに責任を丸投げするのではなく、自分たちで本番環境へのリリースに責任を持てるようにするためのものです。

確かに、1日に数回リリースできるほど高速化が可能であり、これはアジャイルの考え方に合致しているように見えます。しかし、DevOpsは依然としてエンジニアと運用担当者を混ぜ合わせた大きなチームを作るため、現実にはアジャイルの理念と必ずしも一致しない場合があります。結局のところ、DevOpsはアジャイルの進化形と考えるのが最適です。両者の手法は多くの点で似ており、違いを補完し合っているからです。DevOpsは自動化された継続的インテグレーションおよびデプロイメントパイプラインを推進しますが、これは頻繁なリリースには不可欠であるものの、チームレベルでは十分とは言えません。そこでアジャイルの出番となります。アジャイルは、特に小規模なチームが、タスクに集中し協力し合いながら、こうした迅速なリリースや変化する要件に対応することを可能にします。理想的に思えますし、最終目標に向けてチームを軌道に乗せることもできますが、独自の課題がないわけではありません。

DevOpsのベストプラクティスを用いて作成されたソフトウェアであっても、最初の難関である「セキュリティチーム」でつまずく可能性があります。従来のウォーターフォール型のAppSecスペシャリストが、ツールや複雑な手動レビューを用いてコードを検証すると、受け入れがたいリスクや脆弱性が発見されることが多く、それらは事後的に修正しなければなりません。完成したアプリにセキュリティ修正を後付けするプロセスは、迅速でも容易でもなく、組織にとって非常にコストがかさむものとなります。

では、世界がウォーターフォール、アジャイル、そしてDevOpsの先へと進んでいる今、解決策は何なのでしょうか?また、開発者として、こうしたアプローチの変化にどう対応していくべきでしょうか?

開発手法は常に進化していますが、幸いなことに、今回はそれほど大きな変化ではありません。組織は単に「DevOps」に「Sec」を組み込むだけでよいのです。こうしてDevSecOpsが誕生しました。DevSecOpsの主な目的は、障壁を取り払い、開発、運用、そして何よりも重要なセキュリティチーム間のコラボレーションを促進することです。DevSecOpsは、ソフトウェア開発ライフサイクル全体を通じてセキュリティの自動化と監視を推奨する、ソフトウェアエンジニアリングの戦術であり、文化でもあります。

これは、構築すべき機能リストを抱える開発者にとっては、「船頭多くして船山に上る」ような、組織レベルの新たなプロセスに思えるかもしれません。しかし、DevSecOpsの手法は、セキュリティを意識した開発者が真に輝く機会をもたらします。

DevSecOpsの明るい未来

では、なぜプログラマーはDevSecOpsエンジニアを目指すべきなのでしょうか?おそらく、DevOps(あるいはアジャイル)の経験があり、DevSecOpsの習得に向けて次のステップに進みたいと考えている方もいるでしょう。まず知っておくべきは、これは非常に賢明な選択だということです。単にコストのかかるサイバー攻撃から世界を守るためだけではありません。専門家によれば、サイバーセキュリティ人材への需要はとどまるところを知らず急増しています。DevSecOpsを習得した人は、長く実りあるキャリアを期待できるでしょう。

DevSecOpsエンジニアの雇用の安定性はさらに確実なものとなっています。なぜなら、ソフトウェアベースのツールを用いた脆弱性スキャンといった従来のサイバーセキュリティ戦術とは異なり、DevSecOpsにはコーディングと同時にセキュリティを実装できる人材が必要だからです。Booz, Allen and Hamiltonのアナリストがブログ記事「DevSecOps導入の5つの神話」で指摘したように、組織はDevSecOpsを望み、必要としていますが、単に購入することはできません。DevSecOpsは、部門横断的なチームがソフトウェア開発ライフサイクル全体を通じて技術を統合し協力するための手法であり、それには熟練した人材、チェンジマネジメント、そして複数のステークホルダーによる継続的なコミットメントが必要なのです。

Booz, Allen and Hamiltonによると、企業はリリース管理ソフトウェアなど、DevSecOpsの特定の側面を支援するアプリやツールを購入することはできますが、「それを実現するのは、現場のデリバリーチームです」。DevSecOpsがもたらす継続的な改善と、その文化的・パラダイムシフトを推進しているのは彼らなのです。

組織は実行可能なDevSecOpsプログラムを「購入」することはできません。それは、さまざまなツール、社内の知識、そしてセキュリティ文化を向上させつつビジネス上の妥当性も確保するガイダンスを用いて、構築し維持していくものです。簡単なことではありませんが、決して不可能ではありません。

DevSecOpsのムーブメントで成果を上げる方法

DevSecOpsエンジニアになるための第一歩は、それが一連の技術であると同時に、文化でもあると理解することです。作成するすべてのコードにセキュリティを実装する意志を持ち、コーディング中にセキュリティ上の欠陥や脆弱性を積極的に探し出し、本番環境にリリースされるずっと前に修正することで、組織を能動的に守る意欲が必要です。ほとんどのDevSecOpsエンジニアは、自分の職業とスキルセットを非常に真剣に捉えています。DevSecOpsの専門家組織には、マニフェスト(宣言)さえ存在します。

マニフェストは、読みやすいものではないため、少し堅苦しく感じるかもしれません。しかし、その核心には、すべての優れたDevSecOpsエンジニアが受け入れるべきいくつかの真実があります。例えば:

  • アプリケーションセキュリティチームは味方であると認識しましょう。多くの組織において、AppSecの専門家と開発者は対立しがちです。完成したコードに修正を求めるAppSecチームと、セキュリティ上の不備で本番環境へのリリースを遅らされる開発者との間には、しばしば溝が生じます。しかし、優秀なDevSecOpsエンジニアは、セキュリティチームと開発者の最終的な目標が同じであることを理解しています。親友になる必要はありませんが、冷静で協力的な関係を築くことが成功への鍵となります。
  • セキュアコーディング技術を実践し、磨き上げましょう。 開発段階で脆弱性を見つけ出し、その抜け穴を塞ぐことができれば、将来的な攻撃を未然に防ぐことができます。もちろん、これには脆弱性への理解と、それを修正するためのツールが必要です。Secure Code Warriorのブログでは、遭遇しやすい危険な脆弱性に関する洞察や、知識を試すための実践的なアドバイスや課題を提供しています。最も重要なのは、常にセキュリティを意識し、既存の知識を積み上げるための短いトレーニングの時間を確保することです。セキュリティとの関わりは、往々にして平凡、あるいはネガティブなものになりがちですが、セキュリティスキルを磨くことはキャリアにとって大きなプラスであり、決して苦痛な作業ではありません。
  • 覚えておいてください。DevSecOpsのスターは、組織内にポジティブなセキュリティ文化を醸成します。本質的な問題を抱えたままアプリを迅速にリリースするといった過去の目標に固執するのではなく、開発中のコードにおける脆弱性の発見と修正を最優先事項にすることが重要です。セキュリティは全員の仕事であると認識し、安全で堅牢なアプリケーションをリリースするたびに、その成果を全員で分かち合うべきです。

セキュアコーディングとセキュリティのベストプラクティスを基礎から推進し、トレーニングソリューションを提案し、DevSecOpsという目まぐるしい環境の中で誰も取り残されないようにすることで、組織内に素晴らしいセキュリティ文化を育むことができます。セキュアなコードこそが唯一の「良いコード」であり、セキュリティ意識の高い熟練した開発者は、パズルを完成させるために不可欠なピースです。その努力は個人的にも職業的にも大きな見返りをもたらします。毎年数十億件もの個人データが流出し続けている今、あなたの力が必要です。最前線に立ち、デジタル世界を脅かす悪意ある攻撃者から身を守りましょう。

Matias Madou博士は、Secure Code WarriorのCTO兼共同創設者です。セキュリティの専門家であり、長年の開発者経験を持ち、Fortniteに夢中なゲーマーでもあります。

タグライン

AI主導の開発をリリース前にガバナンスする

AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。

デモを予約する
リソースライブラリ

他のブログ記事を見る

セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。

すべて表示
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

セキュリティ文化の統一:Sageはいかにしてチャンピオンプログラムを構築したか

Sageがどのようにして柔軟かつ関係性を重視したアプローチでセキュリティを強化し、200名以上のセキュリティチャンピオンを育成して、目に見えるリスク低減を実現したのかをご紹介します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

2026年サイバーセキュリティ意識向上月間:企業防衛に不可欠なAIセキュリティの理解

主要なAI企業の多くが、安全対策が追いつくまでの間、AI開発を世界的に減速させるよう公に呼びかける事態となっています。しかし現実には、深刻なセキュリティ問題はすでに顕在化しています。AI導入に伴う金銭的コストやリスクが増大し続ける中、多くのセキュリティリーダーや経営陣は差し迫った状況に追い込まれています。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

イネーブラー8:プログラムのブランディング

セキュアコーディングプログラムを成功させるには、優れたコンテンツ以上のものが必要です。イネーブラー8では、ブランディングによって参加を「憧れのステータスを得る体験」へと変える方法を解説します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

すべての従業員が今、AIサイバーセキュリティの最前線に立っている

エンタープライズテクノロジーの状況は、手遅れになるまで誰も予測できなかったほどの速さで変化しています。私たちは今、人間が書いたコードと基本的なコパイロット支援の時代から、エージェント型開発ライフサイクル(ADLC)の時代へと正式に足を踏み入れました。自律型AIエージェントは、複数の機能にわたってかつてない効率性をもたらす一方で、全く新しい種類のセキュリティリスクや規制リスクも引き起こしています。

詳細はこちら

AIを活用した開発をリリース前にセキュアに

開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。

デモを予約する
該当する項目が見つかりません。