研究者によると、被害者は脆弱なSSHパスワード認証を使用しているシステムだという。
新たに発見されたボットネットが、脆弱なSSHパスワードログイン認証をブルートフォース攻撃することで、保護が不十分なLinuxサーバーを侵害している。
このボットネットを発見したカナダのFlare Systemsの研究者たちは、そのステージングサーバーに侵入し、1月末までに少なくとも7,000台のサーバーが侵害されており、そのうち半数が米国内にあると考えている。
このボットネットの武器には、2009年まで遡るパッチ未適用のLinux脆弱性のエクスプロイトが含まれている。
研究者たちは、SSHStalkerと名付けられたこのボットネットを説明し、「2009年代のインターネットリレーチャット(IRC)ボットネット戦術と現代の大規模侵害自動化を融合した高度な作戦」としている。
「継ぎ接ぎされたボットネットキット」を持ち、ファイルレスマルウェア、ルートキット、ログクリーナー、そして幅広いカーネルエクスプロイトを実行する。とりわけ、AWSの認証情報を収集する。
研究者たちはSSHStalkerを「ステルス性よりも信頼性を優先する、スケールファーストの作戦」と呼んでいる。
しかし、これまでのところこのボットネットは、感染したマシン上で永続性を維持すること以外、あまり活動していない。DDoS(分散型サービス拒否)攻撃を開始したり、クリプトマイニングを実施したりする能力はあるが、そのアクセスを収益化するための活動はまだ何も行っていない。これは、Flareによると、オペレーターがまだボットネットのインフラストラクチャを構築中であるか、テスト段階にあるか、または将来の使用のためにアクセスを維持しているかのいずれかを示唆している。
Flareのサイバーセキュリティ研究者Assaf Moragによると、CSOにとっての良いニュースは、現時点でこの特定のボットネットを完全に阻止する一つの方法があるということだ:LinuxマシンへのSSHパスワード認証を無効にし、SSHキーベース認証に置き換えるか、VPNの背後にパスワードログインを隠すことである。
この変更には、SSHブルートフォースのレート制限の実装、インターネットに接続されたLinuxサーバーにアクセスしようとしている者の監視、および特定のIP範囲へのサーバーへのリモートアクセスの制限を伴うべきである。
しかし、Moragは警告する。現在、SSHStalkerは脆弱なSSH保護を持つLinuxサーバーを探しているが、いつでもオペレーターはパッチ未適用のサーバー脆弱性や設定ミスなど、別の攻撃ベクトルを追加する可能性がある。
セキュリティの基本が鍵
SANS InstituteのフィールドCISOでありAIセキュリティ担当VPのChris Cochranは、SSHStalkerはセキュリティの基本がまだ戦いを決定することを思い出させるものだと述べた。
「確かに、AIは脅威の状況を変えています。確かに、自動化は攻撃を加速させています。しかし、このキャンペーンは、よりシンプルで不快な何かを証明しています:古い手口がまだ機能するということです」と彼は言った。「もし今日、別のCISOと話しているなら、私のアドバイスは『もっとAIを買え』ではありません。」
CSOやインフォセックリーダーは、このレポートを口実として、常に実装したかったセキュリティの基本のいくつかを最終的に確立すべきだと彼は述べた。これには、ログインのためのパスワードの使用を廃止することが含まれる。「2026年にまだパスワードベースのSSHアクセスを許可しているなら、基本的にボットネットをコーヒーに招待しているようなものです」とCochranは述べた。
インフォセックリーダーは、キーベース認証、または短命の認証情報やIDアウェアプロキシを使用したソリューションに移行すべきである。
第二に、彼らはIT資産を積極的に棚卸しする必要がある。「存在を知らないものは保護できない」という古いルールを踏まえて。
SSHStalkerに攻撃された数千のシステムのほとんどは、忘れられたサーバーだったと彼は述べた。
第三に、インフォセックリーダーは、環境における本当の問題がセキュリティ負債であることを認識しなければならない:パッチ未適用システムのバックログ、残存する既知の脆弱性、そして「来四半期にやる」バックログである。
「それらが悪用されるのです」と彼は言った。「99%の退屈な脅威を解決するまで、1%のクールな脅威を追いかけるのをやめる必要があります。」
1PasswordのグローバルアドバイザリーCISODave Lewisは、本番サーバーにコンパイラがないこと、ビルドツールが指定されたビルドホストのみにあることを確認すべきだと付け加えた。IRC類似のトラフィックに対するアラートを設定し、Linuxサーバー上では、特に「毎分実行される」パターンについて、cron/systemdの整合性監視を行うべきである。
最後に、SSHStalkerは古いLinuxマシンを探すため、管理者はLinuxカーネル2.6のすべてのバージョンを持つマシンの切り離しを優先する、レガシーLinux撲滅計画を持つべきである。なぜなら、これらのサーバーがターゲットにされているからだ。
発見の経緯
SSHStalkerの発見は、Flareが今年の初めに意図的に弱い認証情報を持つSSHハニーポットを作成し、何が起こるかを観察したことから始まった。攻撃の大部分は既知の脅威アクターからのものだったが、類似の実行フローや以前の侵害の兆候がない、一つのソースからの明確なクラスターがあった。
Linuxマシンに侵入した後、マルウェアはアクセスを維持するために自身のSSHキーでバックドアを作成する。また、保護されていないSSHを持つサーバーのポート22をスキャンし、他の新しい脆弱なサーバーを見つけようとするバイナリもインストールする。ペイロードには、マルウェアのコンパイルと実行のためのLinux gcc(GNU Compiler Collection)を含むいくつかのCスクリプトも含まれている。
この段階は「騒々しい」とMoragは述べ、防御者は異常なサーバー動作を探すアプリケーションで検出できることに注意すべきだと述べた。
zipファイル内のセカンダリペイロードには、コマンド&コントロールサーバーとの通信のためのIRC(インターネットリレーチャット)ボットが含まれている。他の段階では、メモリ内で実行されるマルウェアがインストールされる。
「この実行チェーン全体は非常に騒々しいです」とMoragは述べた。「彼らはこれをすべて行う必要はありません。彼らがやろうとしているのは、モノのインターネット[デバイス]だけでなく、商用サーバーでも実行することだと思います。」
これはまた、オペレーターがまだボットネット構築の初期段階にあることを示唆していると彼は述べた。
しかし、レポートはまた、IRCコンポーネントがランダムなチャットフレーズなどを通じて活動を隠すために使用される可能性があると述べている。「これは、ボットが制御だけでなく、行動カモフラージュのために設定されていたことを強く示唆しています」とレポートは述べ、IRCチャンネルで人間のようなノイズを生成することで、実際のオペレーターの活動を隠したり、自動化された存在を有機的に見せたりする。「この戦術は、パブリックチャンネルに溶け込むことで疑いを減らしながら、オペレーターがプライベートメッセージ、DCC(ダイレクトクライアント間)セッション、またはリンクされたボットネットワークを介してコマンドを発行できるようにする、レガシーボットネットの運用技術と一致しています」とレポートは述べている。
マルウェアは、バージョン2.6.18、2.6.18-164、2.6.31、2.6.37を含む古いLinuxカーネルを探す。これは、インターネットに面したLinuxサーバーのおよそ3%までを含むとFlareは推定している。
しかし、Flareがロングテール環境と呼ぶもの、例えばレガシーホスティングプロバイダー、放棄されたVPSイメージ、古いアプライアンス、産業/OT機器、またはニッチな組み込み展開では、10%にもなる可能性がある。
カーネルエクスプロイトのインベントリには16の異なるCVEが含まれており、5つは2009年、3つは2010年にさかのぼる。マルウェアのコンポーネントから判断すると、オペレーターは新規エクスプロイトを開発していなくても、カーネルバージョンのフィンガープリンティング、特権昇格チェーン、大規模エクスプロイトワークフローを理解している可能性が高いとレポートは述べている。
インフォセックリーダーへのアドバイス
SSHパスワード認証を無効にすることに加えて、レポートはインフォセックリーダーに以下を推奨している:
- 非システムプロセスがログインアカウンティングレコードを変更しようとしたときにトリガーされるアラートを設定する。
- 可能であれば本番イメージからコンパイラを削除する;
- 制御されたビルド環境でのみツールチェーンの実行を許可する;
- ビジネスニーズに基づいてエグレスフィルタリングを実施する;
- SSHStalkerによってドロップされたバイナリを検出するためにアンチウイルススキャナーを使用する;
- gccの不正実行を監視する;
- コンパイラがユーザーディレクトリ、/tmpまたは/dev/shmから実行されたときにアラートを設定する;
- 新しくコンパイルされたバイナリが作成後数秒または数分以内に実行されたときにアラートを設定する;
- 未知の外部チャットまたはリレーインフラストラクチャとの通信を検出するためにサーバー上でアラートを設定する。