Skip to main content

O’Reillyの新刊書籍 — クラウドネイティブアプリケーションセキュリティ:クラウド時代に向けた開発者ファーストのセキュリティ

blog hero oreilly cnas

2021年6月15日

0 分で読めます

Snykの創業者兼社長、Guy PodjarnyによるO’Reillyの最新書籍が発売されました。Cloud Native Application Security: Embracing Developer-First Security for the Cloud Eraでは、デジタルトランスフォーメーションがもたらすセキュリティ環境の変化をGuyが掘り下げています。ソフトウェア企業となる会社が増えるなか、開発者ファーストのセキュリティへと近代化する重要性を強調し、その実践方法とメリットを解説します。

クラウドネイティブアプリケーションは、単に異なるプラットフォームで動作するだけではありません。アプリケーションの範囲、構築方法、そしてそれを取り巻くスキルやオーナーシップを根本から変えます。これに対応するには、セキュリティの実践も同じ規模の変革が必要です。開発者ファースト(dev-first)のクラウドネイティブアプリケーションセキュリティ(CNAS)を取り入れ、新たな組織の現実に即した実践を確立する必要があります。

「開発者ファースト」という言葉がタイトルにありますが、本書は、今まさに私たちが生きるクラウドネイティブ時代に合わせて既存の実践を見直したいすべての人に向けたものです。開発者とのより良い協業方法を学びたいセキュリティチームやAppSecチーム、組織のサイロやボトルネックを解消したい経営幹部、既存のCI/CDワークフローにセキュリティを組み込みたいDevOpsの実践者も対象です。誤解のないように言えば、開発者ファーストは開発者だけを意味するのではありません。最初からセキュアに開発するということです。

本書の内容を見ていきましょう…

デジタルトランスフォーメーション

業界を問わず、ソフトウェア企業となる会社が増えています。20年前にはテクノロジーとほとんど関わりのなかった会社でさえ、今では事業の中核を担うアプリやサービスを開発するエンジニアリング部門を抱えています。銀行、保険会社、メディア、食料品店など、さまざまな業界で成功を収めるにはソフトウェアが欠かせません。そして、デジタルトランスフォーメーションを成功させるには、セキュリティの確保が必要です。

こうした変化を進める企業が重視するのは、市場のニーズにすばやく対応できる、迅速なリリースです。この章では、クラウドへの移行、DevOpsの実践、クラウドネイティブ開発手法の採用、ボトルネックを解消するためのセキュリティ実践の見直しなど、高速なリリースを可能にする要素をいくつか取り上げます。

開発者ファーストのセキュリティ

クラウドネイティブアプリケーション開発に従来のセキュリティ実践を適用する際の問題点を明らかにしたうえで、Guyは開発者を支援し、継続的な運用を維持する方法として、開発者ファーストのセキュリティを提案します。ビルド後の工程ではなく、より迅速かつ効率的に対応できるソフトウェア開発ライフサイクル(SDLC)の早い段階から、開発プロセスにセキュリティを組み込みます。つまり、DevOpsの成功をセキュリティにも応用するのです。

ただし、これはチームのセキュリティに対する考え方を大きく変えるものです。Guyは、新しい実践を導入する前に検討すべき点も解説しています。まず、多くの開発者にはセキュアな開発を始めるためのセキュリティの専門知識が不足しているため、新たなツールが必要です。そして、導入を促すには開発者にとって使いやすいツールでなければなりません。既存のツールやワークフローに統合して、脆弱性を見つけるだけでなく修正できることが求められます。

さらにこの章では、開発者ファーストをシフトレフトやDevSecOpsの観点から考察します。シフトレフトも重要ですが、CI/CDのライフサイクルにセキュリティを組み込むことがより重要です。開発者からセキュリティを始める一方で、開発者ファーストのセキュリティにおいてもAppSecとDevOpsは欠かせません。

クラウドネイティブアプリ全体のセキュリティを確保する

デジタルトランスフォーメーションを支えるもう一つの重要な要素は、AppSecがITセキュリティからクラウドネイティブセキュリティ、そしてCNASへと進化することです。Guyが取り上げる最初の変化は、VMからコンテナへの移行です。VMは従来、セキュリティチームが管理していましたが、CI/CDワークフローの一部であるコンテナはAppSecの担当です。つまり、コンテナにもアプリケーションコードと同等のセキュリティ対策が必要です。

次の変化は、Infrastructure as Code(IaC)への移行です。コンテナと同様に、IaCもアプリケーションコードと同じリポジトリに置かれるため、同等のセキュリティ対策が必要です。包括的なセキュリティ態勢を実現するには、コード、コンテナ、IaCにおけるセキュリティ脆弱性をすべて考慮し、優先順位を付ける必要があります。

開発者ファーストのCNASへの適応

本書の最終章では、これまでの内容をまとめ、安全な開発の未来を描きます。まず、AppSecの世界でよく見られる3つのチーム体制、Core AppSec、Security Engineering、Product Securityを取り上げます。Core AppSecは従来型のモデル、Security Engineeringはセキュリティに重点を置いたDevOpsに近いモデルです。一方、CNASを全面的に取り入れ、セキュリティを売上向上につながる機能と捉えるのはProduct Securityだけです。

続いてGuyは、開発者への導入を促すために、セキュリティツールを見直すよう提案します。開発者向けツールには、セルフサービスで利用できること、ワークフローにシームレスに統合できること、APIが充実し自動化しやすいこと、オープンソースコミュニティに受け入れられることが求められます。そして、セキュリティチームのニーズにも対応する必要があります。

セキュアに開発し、成長を実現する

開発者を起点にセキュリティに取り組めば、組織はデジタルトランスフォーメーションの恩恵を得られます。市場の動きは速く、開発者はそれを上回る速さで動く必要があります。従来のAppSecにありがちなボトルネックは許容できませんが、開発者ファーストのセキュリティによって解消できます。セキュリティを開発者から始めるために必要なツール、実践、サポートを提供すればよいのです。

セキュリティは、組織の成長にも貢献できます。開発チームが速度を落とさずにセキュアなソフトウェアを構築できるよう支援すれば、リスクを低減するだけでなく、売上の拡大にもつながります。顧客のニーズにすばやく応え、より安全で信頼できる企業として差別化を図れます。これにより、セキュリティをコストセンターから真のビジネスパートナーへと変え、会社の成功を後押しできます。これは、さらに大きなセキュリティ変革と言えるでしょう。

Cloud Native Application Security: Embracing Developer-First Security for the Cloud Eraを無料でダウンロードできます。