NEWS

ニュース | 最新のニュースをお届けします

オペレーションWindigo:大量のLinuxサーバーの認証情報を盗むマルウェア活動を解き明かす

この記事をシェア

この記事は、ESETがマルウェアやセキュリティに関する情報を掲載するサイト
We Live Security」から翻訳、日本向けの解説を加えたものです。


2014年3月、ESETはOpenSSHにバックドアを仕掛けてサーバーの認証情報を窃取するLinux/Eburyに関するレポートを公開した。攻撃者は盗んだ認証情報で何を行っているのか、その真の目的を探るため、昨年来よりLinux/Eburyについて調査を続けていた。その結果、このマルウェアの活動に利用されていたあるインフラにたどり着いた。それは数種のマルウェアに汚染されたサーバー群であり、マルウェアはそのインフラ上で活動していたのだ。活動していたのは、Linux/Cdorked(攻撃サイトへのリダイレクト)、Perl/Calfbot(大量スパム送信)、Win32/Glupteba.Mといったマルウェアコンポーネントであり、それらは相互にリンクしており、しかも、すべて同じグループによって操作されていたことも突き止めた。

ESETは、この調査結果を「Operation Windigo - The vivisection of a large Linux server-side credential stealing malware campaign」という約70ページに及ぶレポートにまとめて公開。そのレポートでは、汚染されたサーバーやPCを利用した一連の攻撃を「Windigo」と名付けて、詳細を分析した結果や対策などを解説している。なお、Windigoという名称は、北米先住民アルゴンキアン族に伝わる半獣の邪悪な精霊の名前に由来する。

Windigoの背後に潜む攻撃者は、SSHの脆弱性を突いてサーバーの認証情報を盗み、その汚染サーバーを利用して被害者を悪意のあるサイトに誘導したり、大量のスパムを送信したりしていた。調査によれば、過去2年間で25,000台以上のサーバーがこの被害にあっている。しかも、このうち10,000台以上は、いまだにLinux/EburyによるOpenSSHのバックドアが仕掛けられたままだという。汚染されたサーバーのそれぞれが提供するサービスやリソース(ストレージ、CPU、メモリー)を考えると、この数字は憂慮すべきものだ。また、現在汚染はなくなったとはいえ、メジャーなサーバー管理ソフト(cPanel)やLinux Foundation傘下のサイト(kernel.org)もWindigoの被害に遭っていたと聞けば問題の深刻さを理解できるだろう。

例えば、汚染サーバーが悪意のあるサイトへ誘導したユーザーは50万人/日にものぼり、1日35,000,000通ものスパム送信を成功させた攻撃者も確認されている。被害プラットフォームも多岐にわたる。スパム送信に利用されたOSはLinuxの他、FreeBSD、OpenBSD、OS X、そしてWindowsなども含まれる。Windowsの場合はCygwinというUNIXエミュレーター上でPerlを実行していて被害にあったものだ。

調査の課程で、我々研究チームは、CERT-Bund、SNIC(Swedish National Infrastructure for Computing)、CERN(欧州原子核研究機構)など世界中の国際機関とともにワーキンググループ(WG)を組織し、お互いに協力することができた。おかげで、数千もの被害者にサーバーが汚染されていることを通知でき、また可能な限り除染活動も行った。今回公開したレポートは、このWindigoに対する注意喚起と汚染サーバーのクリーンナップに役立てもらうことを目的としている。

なお、今回のレポートは公表までに多大な時間を要してしまったが、その理由は第一に、脅威の分析が複雑でありかつ秘密裏に行われていたからだ。第二に、誘導先のURLやマルウェアのバイナリファイルを取得するために、トラフィックの監視・分析を続け、膨大なデータの収集が必要だったこと。最後に、なによりシステム管理者、ネットワーク管理者などに、サーバーが汚染されたときの対処方法までを広く伝えたかったからである。

解説

前例のない大規模なLinuxサーバー汚染インシデント

さて、「Operation Windigo」といわれても日本の読者にはピンとこないかもしれないが、実は、「25,000台のLinuxサーバーがマルウェアに感染していた」という点で注目を集め、日本でもニュースになっている。Linux Foundationのサーバーなどメジャーなサイトも被害に遭っており、システム管理者やセキュリティ担当者の間では比較的大きな事件として扱われている。

この攻撃の特徴は、特定のグループがOpenSSHの脆弱性を利用し、侵入した汚染サーバー群による攻撃インフラを構築していたという点だろう。クライアントパソコンを大量に汚染させ広域かつ大規模なボットネットを構築したという事例は過去にもあったが、この規模のサーバー群で攻撃インフラを構築した例はあまりない。

図:OpenSSHの脆弱性を利用して、Linuxサーバーによる大規模なボットネットを構築

リモート接続の脆弱性からサーバーに侵入

Windigoで攻撃の要といえるのがLinux/Ebury。その後の侵入やマルウェア感染の起点となる攻撃だ。また、解析する側にとっても背後の攻撃インフラの存在をあぶりだしたきっかけともなっている。

ここで、Linux/Eburyが利用したOpenSSHの脆弱性について簡単に解説しておこう。まず、SSH(Secure Shell)は、サーバーに端末をリモート接続(Telnetなど)する場合、通信路を暗号化するプロトコルのことである。OpenSSHはそのオープンソース版だ。Linux/Eburyは、カーネルやアプリケーションパッケージのソフトウェアアップデート(セキュリティパッチやバージョンアップ)の機能を利用し、SSHデーモンのランタイムライブラリをマルウェアに置き換える。このマルウェアがSSHの暗号化通信の鍵を入手し、以降の不正なサーバー接続を可能にする。攻撃者はリモート接続できるようになったサーバーにさまざまなマルウェアを仕込むことができる。

図:Linux/Eburyによる攻撃手口

Windigoの検出及び対処方法

Windigoの対処方法や予防措置はどうすればいいのだろうか。公開されたレポートには、その解説もある。詳細はレポート本文を参照してもらうとして、まず、サーバーがWindigoの攻撃を受けたかどうかの判別方法から簡単に紹介していこう。

レポートには、Linux/Ebury、Linux/Cdorked、Linux/Onimiki、Perl/Calfbotなど関係するマルウェアの検出方法が記載されている。ターミナルから簡単なシェルコマンドを実行して、その挙動、出力結果を確認する方法だ。結果がこのようになれば正常、これが出力されたら感染といった形で説明されている。たとえば「Linux/Ebury」の場合、シェルから「ssh -G」というコマンドを打ってみる。「Linux/Ebury」は、本来「G」というオプションは存在しないため、感染していなければ、「ssh: illegal option -- G」とエラーが返される。「Linux/Ebury」が、「-Gオプション」を追加する特徴を逆手にとったチェック方法だ。もし感染が確認されたら、マルウェアを駆除しなければならない。この方法は、残念ながらほとんどの場合、サーバーのクリーンインストールとなる。

その後の対策だが、ESETのサイトでは、汚染や感染をチェックするためsnort(IDS)およびyara(マルウェア検知ツール)のルールファイルを公開している(malware-ioc)。snortやyaraを利用しているなら、これらのルールファイルを適用すれば予防になるだろう。

個別予防策もレポートに以下のような記載があるので、参考にしてほしい。

レポートに記載されている個別の予防対策

  • OpenSSHデーモンのroot権限でのログインを禁止する( /etc/ssh/sshd_config下のPermitRootLoginをnoに設定)
  • パスワードログインを無効にし鍵交換方式でSSHを使う
  • SSHの秘密鍵コピーではなく、SSHのAgent Forwardingを利用する
  • サーバーに二要素認証などを導入する(出口対策)
  • アンチウイルス等のセキュリティアップデートを怠らない

マルウェア感染は、Windowsに注目が集まりがちだが、Linuxサーバーを狙った悪質なマルウェアも存在する。マルウェアの感染を未然に防止できるよう「ESET File Security for Linux」など、サーバー向けのウイルス対策製品を導入し、最新の状態にしておきたい。

この記事をシェア

業務PCのセキュリティ対策に

マルウェア情報局の
最新情報をチェック!