Cado Securityは、AWS Lambdaのサーバーレス環境で実行され暗号通貨を採掘するように特別に設計されたマルウェアの系統を発見したと発表した。
チームは、Denonia と呼ばれるこの悪質なソフトウェアがどのように展開されるのかよくわかっていないと認めているが、推測するのは構わない。
「AWS のアクセスと秘密鍵を侵害し、侵害された Lambda 環境に手動でデプロイするだけの問題なのかもしれない」と、Cado の Matt Muir 氏は水曜日の技術記事で示唆した。
セキュリティ企業はAWS Lambdaでマルウェアが動作しているのを確認しただけだが、他のLinuxベースの環境でも実行できると、Cado SecurityのCTO兼共同創設者であるクリス・ドーマン氏が今週The Registerに語った。
また、私たちの知る限り、デノニアは違法なマイニング活動よりも悪質な目的には使用されていないものの、「これは、攻撃者が高度なクラウド固有の知識を使用して複雑なクラウド インフラストラクチャを悪用する方法を示しており、将来的にさらに悪質な攻撃が行われる可能性を示唆している」とミュア氏は述べ、コードの調査に協力してくれたドーマン氏、アル・カークリー氏、ポール・スコット氏に感謝の意を表した。
Denonia について尋ねられたとき、AWS の広報担当者は、クラウド環境で何を実行するかはほぼ顧客次第だと述べました。
Amazonやその他のクラウドプロバイダーの共有責任セキュリティモデルでは、AWSが基盤となる環境(この場合はLambda)のセキュリティを確保し、顧客は自身のデータとLambda関数自体のセキュリティ確保に責任を負います。つまり、Lamba環境にDenoniaを導入した場合、その環境を完全に保護することはおそらく不可能です。
ミュア氏はLambdaのセキュリティ上の利点を強調した。「マネージドランタイム環境は、従来のサーバー環境と比較して攻撃対象領域を縮小します」と彼は記した。
しかし、実行時間の短さ、実行量の多さ、そしてLambda関数の動的かつ一時的な性質により、潜在的な侵害の検出、調査、対応が困難になる可能性があります。
コードの内部
Cado 社は、調査したマルウェア サンプルの SHA256 ハッシュは A31a...cbbca であったと述べています。
このコードはGoogleのGoプログラミング言語で記述されており、ミュア氏によると、クロスプラットフォームで自己完結型の静的リンク実行ファイルを簡単に作成できるため、マルウェア開発者にとって魅力的だという。生成されたコードはモノリシックな塊になりやすく、リバースエンジニアリングが困難になる。また、文字列はC言語のようなヌル終端文字で保存されていないため、バイナリの解析が少々面倒になる。
Cadoの分析によると、DenoniaにはMoneroマイニングツールXMRigのカスタマイズされた亜種と「その他の未知の関数」が含まれていたようです。動的解析中にDenoniaは実行を停止し、Lambda AWS環境変数が定義されていないというエラーをログに記録しました。これにより、Cadoチームはこの悪意のあるソフトウェアがどのように展開されるのかについての手がかりを得ました。
ミュア氏は次のように指摘した。
必要な環境変数を手動で設定した後、CadoのサンドボックスでDenoniaをさらに分析したところ、ソフトウェアはLambdaの外部、つまりLinux環境でも「問題なく」実行されることが示されました。Muir氏は、これはLambdaがLinuxベースであるため、「マルウェアはLambdaで実行されていると認識した」ためだと示唆しました。
- 仮想通貨マイニンググループがクラウドリソースをめぐって激しく争う
- 不正な暗号通貨マイニングにおける Verblecon マルウェアの変異…これまでのところ
- VMware Horizon プラットフォームが Log4j を悪用した攻撃に見舞われる
- デジタルコインの二つの側面:暗号通貨の不正な利益が倍増、合法的な利用を上回る ― 報告書
情報セキュリティチームはまた、このマルウェアには、Lambda 関数を作成するためのツール、Lambda 呼び出しリクエストからコンテキスト情報を取得するためのヘルパー、Go 用の一般的な AWS ソフトウェア開発キット、Go の DNS-over-HTTPS など、サードパーティの Go ライブラリがいくつか含まれていることにも注目しました。
ミュア氏は、DNS over HTTPS(DoH)のこの利用法は興味深いと指摘した。DoHはDNSクエリを暗号化し、ドメイン名リクエストを通常のHTTPSトラフィックとして送信する。これはマルウェア作成者にとって「かなり珍しい選択」だとミュア氏は述べている。しかし、このアプローチにはいくつかの利点がある。
まず、AWSがDNSルックアップを検知できないようにすることで、マルウェアがドメイン名クエリを検知・阻止される可能性を低減します。また、VPCの設定によっては、一部のLambda環境ではDNSルックアップが実行できない場合があります。
このケースでは、マルウェアはGoogleのDNSサービスにgw[.]denonia[.]xyzへのDoHリクエストを送信し、ドメインのIPアドレスを返しました。この情報は設定ファイルに保存されます。その後、DenoniaはメモリからXMRigを実行し、マイニングプールと通信します。これにより、マルウェア作成者は被害者のクラウドリソースを利用して暗号通貨をマイニングできるようになります。
それは誰の責任ですか?
サードパーティのセキュリティアナリストは、Lambda マルウェアの研究に対してさまざまな反応を示しました。
「報告書にはAWSのインフラが脆弱であると示唆するものは何もない」とコードセキュリティ企業BluBracketの製品・開発者関係責任者、ケイシー・ビッソン氏はThe Registerへの電子メールで述べた。
むしろ、企業のセキュリティ自動化の導入が遅れていることを示唆していると同氏は述べ、デノニアに感染したLamba環境は漏洩したトークンやキーによって侵害された可能性が高いため、監視の改善と秘密管理の自動化が役立つだろうと付け加えた。
「Lambdaインスタンスは数多く存在し、監視が不十分な場合が多いため、攻撃を受けやすく、セキュリティ確保が困難になる可能性があります」とビソン氏は述べた。「これは、監視もセキュリティ対策も不十分なIoTデバイスが多数存在し、それがMiraiボットネットを生み出した状況と似ています。」
Orca SecurityのCEO、アヴィ・シュア氏も、開発者が悪用される可能性のあるシークレットを削除できるよう、コードの自動スキャンを求めるビソン氏の訴えに同調した。シュア氏は、クラウドセキュリティ企業であるOrca SecurityがLambdaとそこで使用されるシークレットについて行った調査に言及し、「Lambda関数の約30%が環境変数にシークレットを含んでいます」と電子メールで述べた。
「これらの秘密情報には、鍵、認証トークン、パスワードなど、秘密にしておくべきあらゆるものが含まれます」と彼は付け加えた。「マルウェアによって盗まれた場合、これらの秘密情報はS3バケットなどの接続された他の領域にアクセスするために使用され、個人情報やその他の重要なデータにアクセスできる可能性があります。」
GitHubはプッシュされたコード内の秘密をスキャンすることで漏洩に対処している
続きを読む
他のセキュリティアナリストは、Denonia は共有責任セキュリティ モデル、特にサーバーレス関数などの新しいコンピューティング モデルに関して、引き続き混乱を示していると指摘しました。
AIセキュリティ企業VectraのCTO、オリバー・タバコリ氏はメールで、「共有責任は抽象的な概念としては素晴らしいように聞こえる」と述べた。しかし、Lambdaを使用している多くの組織は、それがセキュリティに及ぼす影響を理解していないと付け加えた。
「クラウドサービスプロバイダーには、これらの影響について顧客を教育し、導入の際の摩擦を減らしながら顧客をあまり理解していないリスクにさらしてしまうようなデフォルト設定よりも、安全な導入の可能性を高めるデフォルト設定を選択する責任がある」と同氏は述べた。
セキュリティ運用会社Netenrichの主席脅威ハンター、ジョン・バンベネック氏は、仮想通貨マイニングは犯罪者にとって「簡単に手に入る獲物」だが、Lambda環境を特に狙っているのを見たのは今回が初めてだと述べた。
「今回のインシデントは、共有責任モデルの曖昧なDMZを露呈させた」とバンベネック氏はメールで述べた。「AmazonはLambda環境を保護し、顧客はコードとアカウント認証情報を保護するが、問題はアカウントの乗っ取りにどう対処するかだ。Amazonはそれが顧客の責任だと考えている。そして多くの組織は、Amazonが何らかのチェック体制を整備すべきだと考えている。」
「いずれにせよ、アマゾンが自社の環境内で仮想通貨マイニングを検知し、防止するのは(そのために特別に設計されたインスタンスを除く)おそらく当然のことだろう」と彼は付け加えた。®