コンテナ、マイクロサービス、サーバレス、そしてアジャイル/DevOpsといった、デジタルトランスフォーメーション(DX)時代に求められる技術や手法を駆使した現在の開発では、どのようなセキュリティバイデザインが求められるのか。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
日本でもクラウドの普及率は高まってきたが、米国をはじめとする海外はさらに先を行く状況だ。多くの企業が当たり前のようにクラウドサービスを利用し、自社ビジネスのデジタル化に取り組んでいる。
だが、利用者が増え、動く価値が増えれば必ず付いてくるのがサイバー攻撃だ。例えば、2019年7月に発生したCapital Oneの情報漏えい事件では、同社がAmazon Web Services(AWS)上に構築していたWeb Application Firewall(WAF)の設定ミスが原因となって認証情報が盗まれ、Amazon S3上に保存されていた1億件を超える個人情報が漏えいする結果となった。
こうした背景を踏まえてか、Gartnerが2019年9月にまとめた「今後企業が取り組むべきセキュリティプロジェクトのトップ10」では、「特権アクセス管理(PAM)」「クラウドアクセスセキュリティブローカー(CASB)」「クラウドセキュリティの状態管理(CSPM:Cloud Security Posture Management)」、そして「コンテナセキュリティ」といった具合に、半分近くがクラウドやサーバレス環境のセキュリティに関するアジェンダとなっている。
Check Point Software Technologies(以下、Check Point)が2020年1月にタイのバンコクで開催したイベント「CPX360 2020」では、「クラウド環境、さらにはコンテナやサーバレスといった新しいワークロードをどのように保護するか」がテーマの一つとなった。
Check Pointが買収したDome9 Securityの共同創業者で、今はCheck PointのクラウドプロダクトラインのHeadを務めるZohar Alon氏によると、今や企業の95%が何らかのクラウドサービスを利用しているが、その多くが簡単に侵害を受ける状況だという。Alon氏は、Gartnerによる「2025年までに起きるクラウド関連のセキュリティ事故の99%は、設定ミスに起因するだろう」という予測を引き合いに出し、「こうしたミスを減らすべく手助けすることが、セキュリティベンダーの役割になる」とした。
まず、マルチクラウド対応を前提に取り組む必要があるという。「2019年にはマルチクラウドが当たり前となり、企業の62%がマルチクラウドを利用している。これが現実であり、この傾向は今後も続くだろう」(Alon氏)
もう一つ注目すべきは、コンテナやサーバレスといった、さらに新しい環境への対応だ。「2019年には企業の57%がコンテナを利用しており、36%はFaaS(Function as a Service)を活用している。この結果、複雑さは増している」とAlon氏は述べた。Check Pointでは、CSPMやコンテナランタイム保護といった機能を提供することで、こうしたニーズに応えていくという。
このときに大切なのは「開発者に優しいセキュリティ」だ。例えば、開発者自身がセルフサービスの形で組み入れるなど、CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインやDevOpsのサイクルの中にセキュリティを組み入れて回し、自動的にセキュリティ機能を実装し、ルールに沿った設定を施し、必要に応じて自動的に修復できる――そんな「開発者にとって痛みの少ないセキュリティが求められる」とAlon氏は強調した。
やはりCheck Pointが2019年12月に買収を表明したPretegoのCEOで、Check PointのHead of Cloud Go To Marketを務めるTsion Gonen氏も、最近の開発トレンドを踏まえて、これから求められるセキュリティの在り方について述べた。
「DevOpsとはすなわち、自動化し、より素早く開発してリリースするための方法だ。CI/CDもマイクロサービスもアプリケーションデリバリーの自動化も、物事を素早く進め、迅速にスケールアウトさせるためのものだ。それが開発者のマインドだ」(Gonen氏)
一方、セキュリティ担当者のマインドセットはどうだろうか。開発者が「明日にはあれをローンチして、その翌日には別の新バージョンをロールアウトさせたい。もっと効率良く開発するために、あのAPIやこのオープンソースソフトウェアを使いたい」とさまざまな要望を出してきても、「それ、ちょっと待って」と押しとどめる側に立ちがちだ。
もちろん、リスクに目をつぶって何でもかんでも許可することはあり得ない。やりたいようにやらせて大きなリスクを見逃しては、情報漏えいなどにつながる恐れがある。かといって「あれもダメ、これもダメ」ではビジネスのスピードが鈍ってしまう。
「こうしたやり方を続けていてもうまくいかない。開発者に『イエス』というための方法を見つける必要がある」(Gonen氏)
具体的な方法としてGonen氏は、まず「開発者の視点、開発者のやり方をセキュリティ担当者の視点から理解し、『開発者の皆さんを手伝いたい』ということを伝えて信頼関係を築くこと」を挙げた。そして、開発者がスピードを出しながらも安全に開発できるような「舗装路」や「ガードレール」を用意することが必要だとした。
「シフトレフトでできる限り早く試し、できる限り早く失敗する(Fail Fast)。そのために、セキュリティ設定が自動的に行われ、開発者がより早く進んでいける『道路』を用意し、どうぞ好きなように使ってほしいと提供することがセキュリティ担当者の役割になる」(Gonen氏)
ただ、信頼関係を築くこと、イコール、性善説に任せて何でもやらせることではない。ここで求められるのが「ゼロトラスト」の考え方だ。
「CSPMや修復、マイクロセグメンテーションといったセキュリティ機能が開発プロセスの中で自動的に付加され、そのままオーケストレーションされるような仕組みを通して、自動的にゼロトラストを適用していくことが必要だ」とGonen氏。例えば、開発/ビルド環境はトラストゾーンとして扱いつつ、本番環境はゼロトラストで運用するアプローチもあり得るという。
Check Pointといえばファイアウォール製品の老舗であり、オンプレミス環境での境界ネットワーク保護のイメージが強かった。だが最近は、クラウドセキュリティソリューション「CloudGuard」の強化を進めている。CPX360 2020では幾つか具体的な製品が紹介されていた。
Alon氏はインタビューの中で、「オンプレミス環境向けの伝統的なセキュリティを保証しつつ、設定から状態管理、ワークロードセキュリティ、そしてWebアプリケーションセキュリティに至るまで、クラウドに関連する全てのセキュリティを提供していくし、コンテナや『Kubernetes』『OpenStack』やサーバレスといったあらゆるワークロードを保護していく。それも『開発者ファースト』でだ。セキュリティ技術は開発者に優しくなければいけない」と強調した。
そして、クラウド環境を守る製品を提供すると同時に、オープンなAPIを提供し、「Terraform」「Ansible」といったオーケストレーションツールからCheck Point製品の導入/設定をプレイブックに沿って行えるようにするなど、クラウドネイティブ的にセキュリティ製品をデプロイできる仕組みを整えていくとした。
ECサイトに対する不正アクセスが相次ぐ中、WAFを導入する企業も増えている。ただWAFには、「アプリケーションの特性に応じたチューニングが不可欠」という課題があった。ただでさえWebサービスは複雑化しており、「例外」が多過ぎてチューニングの手間が増大している。そして、DevOpsやCI/CDの導入によって日に何度もデプロイが行われるような環境では、アプリケーション側の変更にWAFの設定を追随させ、アップデートしていくのはさらに難しく、過検知の多発につながりかねない。
Check Pointによると、「セキュリティ担当者が疲弊するか、あるいはWAFを止めてアプリケーションを危険にさらすかの二者一択の状況を変えていかないといけない」という。そこで同社では、幾つかの解決策を提供していく。まずはAI(人工知能)/機械学習の活用だ。幾つかの指標やユーザーの振る舞いを学習し、スコアリングすることで、人手によるチューニングを行わなくても悪意ある攻撃を正確に検出する仕組みを実現する。既存の検知方式に機械学習を活用したスコアリングを組み合わせることで、労力を減らしながら、疑わしいアクセスをより正確に絞り込んでいくという。
また、最近ではAPI経由で連携するサービスが増えてきており、そこが侵害を受けるリスクも指摘されている。そこで「Web Application and API Protection」(WAAP)という新しいソリューションを提供していく。WAFとしての機能に加え、「リクエストやレスポンスがAPIのスキーマに沿っているか」「不正なAPIではないか」を検証する「APIプロテクション」と、botによる自動アクセスを判別して遮断する機能をまとめて提供するもので、このAPIやファンクションの保護にも、やはり機械学習を活用していく方針だ。「次世代WAF」と表現できるかもしれない。
もう一つのフォーカスは新しいワークロードへの対応だ。
CPX360 2020の「コンテナ&サーバレスセキュリティワークショップ」の中で、Check Pointのクラウドプロダクトラインのチーフテクノロジスト、Roy Feintuch氏は次のように述べた。「今、コンテナやサーバレスといった新しいコンピューティング環境が広がりつつある。ポータビリティに優れ、手間が少ないことが開発者に評価されているからだ。ただ、コンテナイメージはパッケージアプリケーションに似たところもある。リポジトリにはさまざまなDockerイメージがあるが、中には脆弱(ぜいじゃく)性が存在するもの、悪意のあるもの、あるいは古いバージョンをベースにしていて脆弱性が残されたままのものなどが含まれている」
その上サーバレス環境では、何十、何百もの機能が連携して動作することになる。「それ故に生じる新しい課題もある。常に固定のIPアドレスが割り振られるわけでもなく、DevOpsスタイルで毎日多くのデプロイが発生する。セキュリティエージェントを導入するような伝統的なセキュリティ対策は、こうした環境にそぐわない」(Feintuch氏)
簡単にイメージやファンクションを手に入れてデプロイし、メンテナンスが容易なのはコンテナやサーバレスの良いところだ。だが、新しい環境ならではのリスクもあり、「点ではなく包括的な、クラウドネイティブな形でのセキュリティが必要だ」とFeintuch氏は述べる。
そこで指針になりそうなのが、Gartnerの示す「次世代クラウド保護モデル」だ。脆弱性管理/CSPM、ネットワーク保護、ランタイム保護、脅威の検知、そしてマルウェアスキャンという5層のモデルでワークロードを保護するアプローチで、Check Pointでは買収したDome9やPretegoの技術を生かしてこの分野を補っていくという。
まずCSPMについては、設定のチェックやコードスキャニングを行って、「セキュリティポリシーに沿っているか」「コンプライアンスを満たしているか」をチェックすることが重要だ。特権ユーザーの確認に加え、静的コード解析を行ってルール違反を検出したり、「クレデンシャルがハードコードされていないか」「与えられているパーミッションが多過ぎないか」「依存しているファンクションに脆弱なものがないか」といった事柄をチェックしたりすることで、環境を堅牢(けんろう)化する。継続的インテグレーション、継続的モニタリングと同時に「継続的ガバナンス」を達成するイメージだ。
「GitHubからプルしてきたコードに何が含まれているか、ダウンロードしてきたコンテナの中身がどうなっているかは『神のみぞ知る』」(Feintuch氏)。「多分、大丈夫だろう」と過信したり、お祈りしたりして済ませるのではなく、チェックすることが重要だという。
Check Pointがβ版として開発を進める「CloudGuard Workload」では、問題点をただ指摘するだけではなく、例えば「AWS Lambdaのファンクションのパーミッションに問題があるので、このように修正すべきだ」と具体的に修正内容を提案することも可能で、そのためのチャットbotも用意する。このプロセスをCI/CDの中に組み入れ、例えばナイトリービルドの際に問題を自動的に検出、修正することで、セキュリティを維持しながらリリースまでの時間を短縮できるとした。
2つ目のネットワーク保護については、ゼロトラストやマイクロセグメンテーションという考え方が有効だ。各ファンクションやサービス間がどのようにつながっているか、例えば「Amazon VPC」(Virtual Private Cloud)や、その上で動作する「Amazon RDS」(Relational Database Service)やLambdaの相互接続状態を可視化し、把握した上で、クラウドネイティブなマイクロセグメンテーション技術によって必要以上のアクセスを行わないよう制御していく。
最近しばしば、企業システムの内側と外側を分けてきた「境界」があいまいになってきたといわれるが、ワークロードやファンクションの間に、形を変え、小型化した多数の境界が生まれていると表現できるかもしれない。
3つ目のランタイム保護もまた、クラウドネイティブなアプローチで実現していく必要があり、Terraformや「AWS CloudFormation」のテンプレートなどを活用して、CI/CDのサイクルを回していくのと同時に、セキュリティ実装を自動化していくことがポイントになるという。
また前述のWAAPやWAFもそうだが、もし開発段階でのセキュリティチェックが漏れて脆弱性が残っても、過去の振る舞いをベースに「このファンクションはどのように動作すべきか」というベースラインを学習して最適なルールを適用し、保護する仕組みを導入することで、手作業では追い付きにくい頻繁な変更に対応する。
4つ目の「脅威の検知」は、オンプレミスの環境ではEDR(Endpoint Detection and Response)などを通じて実装が広がりつつある。クラウド上のワークロードについても、「VPC Flow Logs」「AWS CloudTrail」、あるいは「Microsoft Azure」の監査ログなどあらゆるログや変更を集約して、継続的にモニタリングを行い、脅威情報と付き合わせていくことで、「不審な通信を検知、ブロックする仕組みが求められる」とし、Check Pointではそのための製品「CloudGuard Log.ic」を提供していくという。
そして最後のマルウェアスキャンも、「Jenkins」「CircleCI」といったCI/CDフレームワークの中に統合することで、本番環境にリリースする前にスキャンを実施し、脆弱性や悪意あるソフトウェアを見つけていくことができる。
クラウドやコンテナ、サーバレスといった新しい環境は多くのメリットをもたらしてくれるが、それも適切な設定や保護あってこそだ。だからといってセキュリティを優先するあまりに、迅速性や柔軟性といったメリットを損なっては意味がない。
「シフトレフトで素早く試し、素早く失敗していくことが非常に重要だ。それを妨げないセキュリティが求められている」(Gonen氏)
デジタルテクノロジーをあらゆる業務に活用して生産性や創造性を向上させ、自社の価値を高めていくDX(デジタルトランスフォーメーション)の流れが確実に広がっている。一方で、デジタルディスラプションの焦りから短絡的なサービス開発に走った結果が、昨今の報道を賑わし始めている。せっかく開発したデジタルサービスが、脆弱性を残していて情報漏えいを起こしたり、ユーザーのプライバシーを侵したりするようなものでは、自社の価値を下げ、大きな損害を生む結果になっているのは周知の通りだ。近年の複雑化、多様化するサイバー攻撃を迎え撃つセキュリティ対策は、迅速なサイクルを回す開発が求められるDXの阻害要因になるのではという意見もある。その中、DXとセキュリティの両立に有効なのが「セキュリティバイデザイン」だ。では、企業がセキュリティバイデザインに取り組む上で、どのような課題があるのか。コンテナ、マイクロサービス、サーバレス、そしてアジャイル/DevOpsといった、DX時代に求められる技術や手法を駆使した現在の開発では、どのようなセキュリティバイデザインが求められるのか――技術面を中心に、継続的にもうけるための「セキュリティバイデザイン」の入り口を紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.