コンプライアンス
外部露出した分散処理フレームワーク「Apache Hadoop YARN」を侵害する攻撃手口を確認
本ブログ記事では、同様の設定ミスの事例として、インターネット上に露出したApache Hadoop YARNが侵害される事例について解説します。
クラウドサービスの設定ミスにより自組織の情報が外部に露出してしまうセキュリティインシデントは、Linux環境における主要なリスクの1つと言えるでしょう。トレンドマイクロでもこれまでに、クラウド環境におけるインシデントを調査する中で、インターネット上に露出したDocker APIやRedisインスタンスが攻撃者に悪用されたり、積極的に検索されたりする事例を確認してきました。
本ブログ記事では、同様の設定ミスの事例として、インターネット上に露出したApache Hadoop YARNが侵害される事例について解説します。オープンソースの分散処理フレームワーク「Apache Hadoop YARN」は、Hadoopフレームワークの一部であり、クラスタ上でタスクを実行する役割を担っています。
なお、これらのクラウドサービスが外部に露出していたのは、サービス自体の安全性の問題ではなく、あくまでも設定ミスが原因であることに注意が必要です。とはいえ、クラウドサービスの設定ミスによりクラスタ上でリモートコード実行(RCE)が可能になるため、これは憂慮すべきセキュリティリスクです。残念なことに、攻撃者は何年も前からこれらのサービスを積極的に悪用しています。
図1:インターネット上に露出したYARNサービス上で確認された不正リクエストの例
トレンドマイクロは、このリスクを検証するために、おとり捜査の手法としてハニーポット(サービスを意図的にインターネット上に露出させた環境)を構築し、調査を行いました。すると、攻撃者がハニーポットのシステムを見つけ出し、さまざまな悪意のあるペイロードを展開するのにそれほど時間がかからないことがわかりました。次の節では、インターネット上に露出したYARNサービスを標的とするマルウェアファミリについて解説します。
■ 今回の攻撃活動で確認されたペイロード:「Kinsing」および別のコインマイナー
暗号通貨採掘ツール(コインマイナー)はLinux環境における一般的なペイロードの1つであることが知られているため、YARNサービス内に展開されていても不思議ではありません。今回の事例で確認されたペイロードは、有名なボット型マルウェアファミリである「Kinsing」(トレンドマイクロでは、「Trojan.Linux.KINSING.AB」および「Trojan.SH.KINSING.G」として検出)に属しています。
攻撃者は活動開始時に、HTTP POSTリクエストを介して、インターネット上に露出したYARNサービスにコマンドを送信します。その後YARNは意図しないレスポンスとして、攻撃者のコマンドを組み込んだ起動スクリプトを作成します。
図2:YARNが作成したスクリプトの実行例
このスクリプトが実行されると、Kinsingマルウェアを展開するリモートスクリプトがダウンロードされます。
図3:Kinsingファミリの識別子の例
さらにこのスクリプトは、拡散機能を備えたGo言語でコンパイルされたバイナリを展開します。このバイナリは、遠隔操作(C&C)サーバと通信を行い、感染システムにバックドア型マルウェアを配信すると共に、「kdevtmpfsi」と呼ばれるKinsingが実行する暗号資産採掘プロセスを展開します。
注目すべき点は、Kinsingが今回の事例で発見された唯一のコインマイナーではないことです。不正マイニングの領域は、依然としてリソースを奪い合うための戦場と化しています。トレンドマイクロは、今回調査を行ったHadoop YARN内においても、Kinsingと競合する別のコインマイナーを発見しました。このコインマイナーはその後、Kinsingを感染システムから削除しようと試みることが確認されています。
図4:Hadoop YARN内で確認された、別のコインマイナーが展開したペイロードの例
■ 今回の攻撃活動で用いられた戦術
設定ミスのあるクラウドサービスを悪用しようと試みる攻撃者は通常、いくつかの戦術を採用しています。
まず攻撃者は、感染システムの保護機能を無効化します。クラウドサービス向けのセキュリティソリューションが企業に普及するにつれ、攻撃者はセキュリティソフトウェアを探索して感染システム内からアンインストールしようと試みます。この機能は、コインマイナー内でよく見られます。
図5:クラウド向けのセキュリティツールおよびサービスを削除するための不正コードの例
さらに攻撃者は、認証情報も収集します。アクセス時に認証情報の入力を必要とするプラットフォームの種類が増えたことで、「アクセストークン」や、システムにアクセスするための認証情報などの機密情報、いわゆる「シークレット」の必要性も高まっています。これらの認証情報を管理するのが億劫と感じるユーザは、自身の使用する端末上にこれらの情報を保存することも珍しくありません。残念なことに、これらの情報は追加の保護対策が行われずに保存されます。攻撃者はこのことを認識しており、感染システムへのアクセスに成功した攻撃者は、これらの保護されていない認証情報を積極的に探索して収集します。
当然のことながら、攻撃者はこれらの収集活動を止めることはなく、その後詐取した認証情報を悪用して、別のシステム(クラウド以外のシステムも含む)に侵入し、新たにマルウェアに感染させることもあります。似たような事例として本ブログでは、サイバー犯罪者集団「TeamTNT」がクラウド上のコンテナを標的として、クラウドの認証情報を窃取する機能を拡張する、あるいは別のクラウド環境を探索し侵入活動を行っていることを報告しました。このことから攻撃者は、自身の利益を最大化するためにできるだけ多くのシステムに侵入しようと試みていることが推測できます。
図6:感染システム上で確認された、SSHの利用状況の調査に基き活動拡大を試みる例
ここで強調すべき点は、攻撃者が他のシステムにアクセスするために悪用した秘密鍵が少なくとも所有者のパスフレーズによって暗号化・保護されていた場合、標的システムへの感染活動の試みは成功しないことです。このことからも、このようなセキュリティ対策を採用することの重要性がわかります。
最後に、本ブログでLinuxの脅威概況に関する調査結果を解説したように、感染デバイスから別のデバイスへと脅威が拡大していく事例が数多く確認されています。攻撃者はこれらの脅威を拡大するために「masscan」などのポートスキャンツールを利用して、インターネット上に露出したサービスや脆弱なサービスを特定します。攻撃者はこれらのサービスを特定すると、悪意のあるペイロードを展開しようと試みます。
図7:外部に露出したRedisインスタンスへの感染活動の試みの例
■ その他のペイロード:Hadoop YARNのコンテナにも感染する「Mirai」
ペイロードを語る上で、ボット型マルウェア「Mirai」を欠かすことはできません。Miraiは、IoT環境をボット化することで悪名高い脅威です。後に高度化したことで、IoT機器のみならず、別のプラットフォームであるHadoop YARN内のコンテナに感染した事例が「Infosecurity group」により報告されています。
図8:さまざまなアーキテクチャ用にビルドされたMiraiのオープンディレクトリの例
Hadoop YARNサービスはWindows上でも動作するため、このプラットフォーム向けに作成された脅威がクラスタ内でも発見されることがあります。
図9:悪意のあるPowerShellスクリプトの例
■ 被害に遭わないためには
オンラインシステムへの依存度が高まるにつれて、クラウドサービスは企業にとって重要な役割を果たすようになっています。このため、クラウド環境に配慮したセキュリティ対策にも目を向ける必要があります。ここではいくつかの推奨事項をご紹介します。
- クラウドサービスを適切に設定すること。クラウドサービスに組み込まれたセキュリティ設定を最大限に活用し、設定ミスによるインターネット上への露出を阻止する必要があります
- 最小特権の原則を徹底し、責任共有モデルに従うこと。組織やセキュリティチームは、特定のシステムへのアクセスを許可された人員を可視化し、制限しなければなりません。また、機微なデータや機密情報の保管方法、および個別のシステムや環境に対する保護対策についても把握しておく必要があります
- 認証情報を平文形式で保存せず、機密情報管理ツールなどの利用を検討すること。これらのツールを利用することで、シークレットを暗号化させた形で保存・管理することができます。さらにある場所からシークレットを変更した際に、コードを変更することなく、変更した内容を複数のアプリケーションに反映させることができます
- 既定の認証情報を強力で安全なパスワードに置き換え、異なるシステム環境のセキュリティ設定を組織の必要に応じてカスタマイズすること
- システムを定期的に更新して最新のパッチを適用すること。特にインターネット上に露出したシステムの脆弱性対策、認証情報の複雑化には注意を払うこと
■ トレンドマイクロの対策
「Trend Micro Hybrid Cloud Security」として提供されるセキュリティソリューションは、クラウドネイティブシステムとその多様なレイヤーを保護するのに役立ちます。ソリューションとして提供される製品群は継続的インテグレーションおよび継続的デリバリー(CI / CD)パイプラインとアプリケーションの自動保護を提供するクラウドビルダー向けのセキュリティサービスプラットフォーム「Trend Micro Cloud One™」を利用しています。また、セキュリティの問題をいち早く特定して解決し、DevOpsチームの問題解決速度を改善するのにも役立ちます。Trend Micro Cloud One™には、以下が含まれています。
- 「Trend Micro Cloud One™ Workload Security」:データセンター、クラウド、 コンテナを保護する多層防御・脆弱性対策を提供するクラウド型セキュリティ
- 「Trend Micro Cloud One™ Container Security」:コンテナイメージのスキャン、アドミッションコントロール、コンテナの実行時保護をまとめて実現
- 「Trend Micro Cloud One™ File Storage Security」:クラウドファイル/オブジェクトストレージのためのセキュリティ
- 「Trend Micro Cloud One™ Network Security」:マルチクラウド環境のための強力なネットワークレイヤのセキュリティ
- 「Trend Micro Cloud One™ Application Security」:コンテナ、サーバレスなどに構築された最新のアプリケーションおよびAPI向けセキュリティ
- 「Trend Micro Cloud One™ Conformity」:クラウドインフラストラクチャの継続的なセキュリティ、コンプライアンス対応状況の確認および可視化
参考記事:
- 「Threat Actors Exploit Misconfigured Apache Hadoop YARN」
by Alfredo Oliveira, David Fiser
翻訳:益見 和宏(Core Technology Marketing, Trend Micro™ Research)