0
会員になると、いいね!でマイページに保存できます。
共有する
英国のセキュリティ企業CADO Securityが4月6日に、サーバレス環境の脅威となり得るマルウェアを発見した。詳細は解析中とのことで、具体的な攻撃手法や被害は不明である。一方アマゾンは同日、AWS LambdaにHTTPSエンドポイントを簡単に追加できるアップデートを公開した。便利な機能で世界中から評価、期待する声が上がっている。偶然の一致だろうが、改めてサーバレスのセキュリティについて考えてみたい。
活用がひろがるサーバレス環境・Lambda関数
マルウェアの解説に入る前に、簡単にサーバレス環境についておさらいしておく。
サーバレスとは、一言でいえば自前でサーバを構築しなくてもプログラムを実行できる仕組みのことだ。サーバの機能をAPIや関数のように使えるようにしたもので、
AWS Lambda (ラムダ)が代表的な実装となる。AWS Lambdaでは、JSONやNode.js、Python、Ruby、Goなどさまざまな言語、スクリプトで書かれたプログラム(ジョブやタスク管理を行う)を登録すれば、任意のトリガーイベントでアプリケーションやサーバ(コンテナ含む)を起動・停止ができるようになる。
プログラムを書いてLambda関数として登録すれば、アプリケーションを簡単に利用、制御できるというわけだ。
ただし、Lambda関数ですべての処理やアプリケーションが実現できるわけではない。生成されるサーバは一時的なもので、関数の処理単位も短いものが一般的だ。イベントドリブンな用途、疎結合なシステムとの親和性が高いが、常時稼働させる必要があるサービスやアプリケーションには向かない。
なお、アマゾンが先日発表した「Lambda関数にHTTPSエンドポイントを付けられる」というアップデートは、Webブラウザやアプリケーションから、URLを指定するだけで対応するLambda関数を呼び出すことが可能になったということだ。それまでは、API Gatewayという機能を使う必要があったが、この手順が不要になり、HTTP(S)のリクエストやレスポンスでLambda関数を扱えるようになる。
AWS Lambdaを標的としたマルウェア:デノニア
話を戻すと、CADO Securityが発見したマルウェアは「デノニア(Denonia)」と名付けられた。Virus TotalではPythonプログラムとして分類されているが、マルウェアはGo言語で書かれており、マイニングツール(XMRig)をベースに作られているという。グーグルのGo言語は、使い勝手の良さから攻撃者やマルウェア開発者にも人気だ。マイニングマルウェアにはGoで書かれたものが少なくない。
依存するライブラリの解析、動的解析の結果、デノニアはAWS Lambda環境で動作する前提で作られている可能性が高い。ただし、侵入ベクターや標的への展開方法は解析中で、まだよくわかっていない。おそらく、AWSのセッションキーなどを利用して簡単なスクリプトなどで侵入・展開するのではないかとCADO Securityは予想している。
デノニア自体は、標的サーバ(Lambda環境)でLambda関数を利用していることが確認されている。しかし、外部サーバとの通信を行っていることも確認された。通信は、DNS over HTTPS(DoH)を利用し、C2サーバとの通信、名前解決が解析しにくくなっている。AWSもDoHの中身はチェックできない。したがって、マルウェアがどこと通信しているか調べられないので、ブラックリストによる攻撃サーバとの通信検知・遮断ができないことになる。
いまのところ、デノニアによる被害や具体的にどんな攻撃に利用されているのかは調査中である。しかし、C2サーバとの通信、Lambda環境やサーバレス環境の脆弱性を組み合わせれば、さまざまな攻撃に利用できそうなマルウェアであることは確かだ。
こうした状況もあり、企業はサーバレス環境のセキュリティについて改めて整理しておく必要があるだろう。
【次ページ】改めて見直したいサーバレス環境のセキュリティ
関連タグ