Over 39,000 Unauthenticated Redis Instances Found Exposed on the Internet
2022/09/21 TheHackerNews — 未知の攻撃者が、インターネット上に公開されている、数万台の未認証 Redis サーバを標的とし、暗号通貨採マイナーをインストールしようとした。これらのホストに対する、すべての侵入の成功/失敗については、すぐには判明しないだろう。しかし、2018年9月に初めて文書化された、サーバを騙して任意のファイルにデータを書き込むように設計された、あまり知られていない技術が使用された不正アクセスの事例だとされる。

Censys は新しい記事で、「このエクスプロイト手法の背後にある一般的な考え方は、Redis のコンフィグレーションにより、ファイルベースのデータベースを、ユーザーを認証する方法 (.ssh/authorized_keys にキーを追加) を含むディレクトリに書き込むか、プロセスを開始する (/etc/cron.d へのスクリプトの追加) ように、構成することだ」と述べている。
同社は、「攻撃の対象となった管理プラットフォームでは、攻撃者が悪意の crontab エントリをファイル “/var/spool/cron/root” に格納しようとしたことを示す証拠 (Redis コマンドなど) が発見され、その結果として、リモートサーバでホストされているシェルスクリプトが実行された」と述べている。

このシェルスクリプトは、現在もアクセス可能であり、以下の動作を行うように設計されている。
- セキュリティ関連プロセスおよびシステム監視プロセスの終了。
- ログファイルおよびコマンド履歴の消去。
- root ユーザーの authorized_keys ファイルに新しい SSH 鍵 “backup1” を追加して、リモートアクセスを可能にする。
- iptablesファイアウォールの無効化。
- masscan のようなスキャンツールのインストール。
- 暗号通貨マイニング・アプリ XMRig のインストール/実行。
この SSH キーは、31,239台の未認証 Redis サーバのうち、15,526台に設定されたとされている。つまり、インターネット上の既知の未認証 Redis サーバの、49% 以上に対して攻撃が試みられていることが示唆される。

しかし、この攻撃が失敗する主な理由は、前述の cron ディレクトリへの書き込みを、敵対者が達成するには、Redis サービスが root 権限で実行されている必要があるためだ。Censys の研究者たちは、「ただし、docker などのコンテナ内で Redis を実行している場合には、プロセスが自分自身を root として実行しているとみなし、それらのファイルの書き込みが許可される可能性がある。しかし、この場合、コンテナのみが影響を受け、物理的なホストは影響を受けない」と付け加えている。
また、Censys のレポートは、インターネットにアクセス可能な Redis データベース・サービスが、約260,534のユニークなホストにまたがる、約350,675件であることも明らかにした。同社は、「これらのサービスの大半で認証が必要だが、11% (39,405件) は認証されていない。我々が観測した合計で 39,405 件の未認証 Redis サーバのうち、潜在的なデータ露出は 300 GB 以上となる」と述べている。
未認証 Redisサービスが公開されている Top-10 の国々は、中国 (20,011)、米国 (5,108)、ドイツ (1,724)、シンガポール (1,236)、インド (876)、フランス (807)、日本 (711)、香港 (512)、オランダ (433)、アイルランド (390) である。
国別に見たデータ量も、中国が 146 GB で1位であり、米国が 40GB で2位という具合に、大きく水をあけられている。
Censys は、「Redis サービスが誤って設定されている例も多数発見した。イスラエルでは、誤って設定された Redis サーバの数が、適切に設定されたものを上回っていた」と指摘している。
この脅威を軽減するためにユーザーに推奨されるのは、クライアント認証を有効にして、Redis が内部向けのネットワーク・インターフェイスでのみで実行されるように設定し、CONFIG コマンドを推測できないような名前に変更して乱用を防止し、信頼できるホストからの接続のみを受け入れるようにファイアウォールを設定することだ。
eWord には、「Redis は、インメモリの NoSQL型のデータベースシステムで、KVS:Key-Value Store として動作し、システムが頻繁に読み出すデータの複製を配信するキャッシュサーバとして用いられることが多い。また、データの永続化の仕組みも持っており、ある瞬間のメモリ上のデータを丸ごとストレージに写し取るスナップショット機能などを有する」と記されています。また、Memcached と Redis の違いという記事も見つかりました。いずれにせよ、Redis が動作する環境は、暗号通貨採マイナーなどを忍び込ませるには最適なのでしょう。

You must be logged in to post a comment.