メディア

トレンドマイクロがAWSを「攻撃」? サーバレスセキュリティの考え方とは

トレンドマイクロがAWS Lambda を「攻撃」してみた――。既存のものと異なるIT環境をどう守るべきか、セキュリティベンダーが攻撃者の視点から解説した。

» 2021年05月31日 12時45分 公開
[高橋睦美キーマンズネット]

 オンプレミス環境におけるサイバーセキュリティのノウハウは、30年近くの歴史の中で、時に「痛い目」を見ながら蓄積されてきた。これに対してクラウドの歴史は短く、現状のベストプラクティスに「本当にこれで大丈夫か」という不安を抱くユーザーは少なくない。

 近年注目されるサーバレスコンピューティングのセキュリティはさらに事例やノウハウが出揃っておらず、まだ「手探り状態」という組織も珍しくないだろう。

 そのようなユーザーに対してトレンドマイクロは、2021年5月11日に開催した「AWS Summit Online 2021」の中で「AWS Lambda を攻撃してみた ~サーバレスのセキュリティの考え方~」と題し、サーバレスセキュリティの考え方について講演した。

「攻撃ゼロ」の代わりに「被害ゼロ」を目指す

 トレンドマイクロといえば、オンプレミス向けセキュリティ製品の印象が強い。しかし実は、AWSをはじめ各種クラウドのワークロードを保護する製品群を「Cloud One」という名称で提供している。同社のセキュリティエバンジェリスト 石原陽平氏はまず、クラウドセキュリティの大原則である「責任共有モデル」について解説した。

 「AWSにおけるセキュリティとコンプライアンスはAWSとユーザーの共有責任であり、Lambdaも例外ではない」(石原氏)。ユーザーから見えない部分はAWSが責任を持つが、「アプリケーションの管理」「データの保護」「IDとアクセスの認証・認可」「ログ管理」などはユーザーの責任でセキュリティを確保しなければならない。

サーバレス環境で守るべきもの(出典:AWS Summit 投影資料)

 その上で石原氏は、サーバレス環境のセキュリティを考える上で重要な特徴を説明した。

 1つ目の特徴は「イベントソースの種類が格段に多いこと」だ。サーバレスアーキテクチャでは、何らかのイベントをトリガーとして、あらかじめ規定されたファンクションがキックされる。ただその引き金になるイベントの種類は幅広く、HTTP API、メッセージキュー、クラウドストレージ、IoTデバイス通信など多様なイベントソースからデータがインプットされる。

 この結果「データソースの全てが攻撃対象になり、攻撃対象が劇的に増加する」(石原氏)

 2つ目の特徴は「システム設計の複雑化に比例して可視化と検知の複雑性も増すこと」だ。サーバレス環境はオンプレミスサーバのメンテナンスから開放されるメリットがあるが、その反面インシデント時の対応が困難になるというデメリットがある。

 「サーバレスアーキテクチャはモジュールの複雑な依存関係の上に成り立っているため、ツール上での構成管理は容易だ。しかしファンクションとログの揮発性が高いためインシデントが発生した際、可視化と検知が難しくなる」(石原氏)。

 3つ目の特徴は「セキュリティテストだけでは不十分」という懸念だ。 既存環境のアプリケーションは、主に「スタティックテスト(静的テスト)」と「ダイナミックテスト(動的テスト)」という2つのアプローチでテストする。これに対しサーバレス環境の場合、適切なスタティックテストツールがまだ確立しているとは言えない。また、実稼働システムに対する攻撃をシミュレーションするダイナミックテストを実行しようにも、多くのコンポーネントから構成されるサーバレス環境では、そもそも運用環境を忠実に複製するのが難しいケースもある。

 石原氏はこうした3つの特徴を踏まえて「サーバレスは、セキュリティ観点から見てもまだ新しい分野だ。われわれにはまだサーバレスアプリケーションの保護に必要なリスクアセスメントと、防御戦略についての十分な経験がない」と述べた。というのも、リスクアセスメントをしようにも、Lambdaという変数を経由した場合、どのような影響が生じるかをあらかじめ予測するのは非常に難しいためだ。

 そして「サーバレスアーキテクチャは、モジュール同士が非常に複雑に絡み合うシステムだ。『攻撃をゼロにする』のではなく『被害をゼロにする』ほうが費用対効果が高いだろう」と述べ、リスクの発生を前提とした方法を実装していくべきだと呼びかけた。

サーバレス環境における防御の考え方(出典:AWS Summit 投影資料)

昔も今も狙われる、アプリケーションの脆弱性

 前述した通り、サーバレス環境において「アプリケーションの管理」と「データの保護」「IDとアクセスの認証・認可」「ログ管理」はユーザーの責任範囲だ。この中で、最優先で守るべきなのはアプリケーションだ。石原氏は「アプリケーションセキュリティにおいてインジェクションは永遠の課題だ。それはサーバレス環境においても変わらない」と強調する。

 従来から攻撃者は、インジェクションをはじめとするアプリケーションの脆弱(ぜいじゃく)性を積極的に悪用してきた。またトレンドマイクロの調査によると、公表されている日本のサイバーインシデントのうち、少なくとも4分の1が脆弱性を悪用した攻撃であることが確認されている。

 石原氏は「サーバレス環境においてもこの脅威は変わらない」と敬称を鳴らす。むしろ、サーバレスの特徴であるイベントソースの多さによって、インジェクションベースの攻撃が思いも寄らない場所に仕掛けられる可能性もあるという。

 このリスクに対して、石原氏は「多層防御」の考え方を紹介した。多層防御は、攻撃者が「執拗(しつよう)に境界突破を狙ってくる」という特徴を持ち、情報処理推進機構(IPA)が毎年発表する「情報セキュリティ10大脅威」でもたびたび上位にランクインする標的型攻撃への防御戦略だ。同氏はサーバレス環境においても同様の戦略が生かせるとした。

 「この考え方をサーバレス環境に当てはめれば、WAF(Web Application Firewall)、ゲートウェイ、RASP(Runtime Application Self Protection)などの組み合わせになるだろう。これにアイデンティティーやアクセス管理を組み合わせれば、ゼロトラストアーキテクチャにも近づける」(石原氏)

 最後に同氏は「ゼロトラストアーキテクチャは、高度化した現代の脅威に対して最も有効なコンセプトだ。モジュール同士のリクエストによって構成されるサーバレスアーキテクチャと非常に親和性が高い」と述べた。リクエストごとの認証・認可とリアルタイムなポリシー変更といったゼロトラスト実装を通じて内部を守れば、仮に攻撃を受けたとしても、被害をゼロにすることを目指せるとした。

大きな変更なく実装できるRASPも含めて多層で保護を

 続いてトレンドマイクロの姜 貴日氏(AWSテクニカルアライアンススペシャリスト)が、具体的にどのようなソリューションを通じてユーザーを支援できるかを紹介した。

 AWSの責任共有モデルにおいて、ユーザーは「コードのセキュリティ」と「機密データの保管とアクセス」「Lambdaサービスに対するアイデンティティー」「アクセスの管理」「関数内のアイデンティティーとアクセスの管理」の責任を負う。

 それを支援するためトレンドマイクロではCloud Oneを提供してきた。これには6種類の製品が含まれており、例えば「Workload Security」では主にEC2インスタンスに多層防御を提供し、「Network Security」ではAWSのネットワーク上に実装できるIDS/IPS機能を提供している。他に、コンテナイメージのスキャンを行う「Container Security」、「Amazon S3(Amazon Simple Storage Service)」のバケット内に不正プログラムがないかをスキャンする「File Storage Security」、クラウドの設定不備を可視化してコンプライアンス対応を支援する「Conformity」といった製品が含まれる。

 そして、サーバレス環境向けのセキュリティ製品が「Cloud One Application Security」だ。「アプリケーション自身にセキュリティを実装し、悪意あるペイロードやSQLインジェクション、リモートコマンド実行といった攻撃を検出、防御する。さまざまな環境や言語をサポートしていること、コードを数行書き込むだけで実装できるため大きな変更が発生しないことが特徴だ」(姜氏)。

 Cloud One Application Securityは、アプリケーションにセキュリティ機能を実装する「RASP」でアプリケーションを保護する。具体的にはライブラリをインポートするか、AWS Lambda Layerを使って実装すると、アプリケーションのフッキングポイントでApplication Securityが動作して通信内容をスキャンして攻撃かどうかを判別し、ログを管理コンソールに送信する。

 例えば「Amazon API Gateway」と「AWS Lambda」を組み合わせたり、「AWS Fargate」を用いて構築したりしたECサイトに対して、インジェクションやクロスサイトスクリプティング、脆弱性を突いた攻撃などが実行されると、Cloud One Application Securityがそれを検出してブロックする。

 姜氏は「攻撃者がアプリケーションの不備を悪用してクレデンシャルを取得し、その情報を悪用して権限昇格を行ってS3上の機密情報を盗み出す」という攻撃デモを紹介し、Cloud One Application Securityによってこれらを検出、ブロックできることを示した。

 前述した他にも、AWS環境に対する攻撃には「AWS Fargateの脆弱性を突いてクレデンシャルを盗み取り、それを悪用して不正なプログラムをS3上に保存する」や「脆弱なコンテナイメージを『Amazon ECR(Amazon Elastic Container Registry)』に配置する」といった攻撃シナリオが考えられる。トレンドマイクロではCloud One Application Securityの他、ConformityやContainer SecurityといったCloud Oneの製品群を組み合わせ、Webアプリケーションを起点とした多角的な保護を提供していくという。

Cloud OneでWebアプリケーション起点の攻撃からシステムを守る(出典:AWS Summit 投影資料)

 姜氏は、講演の最後に「サーバレスの特徴に合わせた防御戦略」を強く呼びかけた。

 サーバレスでは、既存の環境よりもファンクションの稼働は短い。またOSの脆弱性管理も不要になるため、攻撃者の自由度も限定的で、攻撃者がサーバレスシステムに生存できる期間も限られてくる。これ自体はセキュリティ面で利点となるだろう。

 ただ「アプリケーションを狙う脅威には注意を払わなければならない。FaaS(Function as a Service)上でもIaaSと同じように多層防御の考え方が非常に重要になる。脆弱性の検査やロギング、可視化、データへのアクセス制御、RASPの導入など、さまざまな対策を検討してほしい」とした。

Copyright © ITmedia, Inc. All Rights Reserved.

会員登録(無料)

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。