「Stuxnet」は相変わらずホットな話題だ。以下は「Stuxnet」に関する質疑応答の改訂版だ。

Q:「Stuxnet」とは何か?
A:USBスティックを介して広がるWindowsワームだ。組織内に入ると、パスワードが弱い場合、ネットワーク共有に自身をコピーすることでも拡散し得る。

Q:他のUSBデバイスを介して広がることはあるのか?
A:もちろん、同ワームはドライブとしてマウント可能なあらゆるものが対象となる。USBハードドライブや携帯電話、ピクチャーフレーム等々。

Q:同ワームは何をするのか?
A:システムに感染し、自身をルートキットで隠し、感染したコンピュータがSiemens Simatic (Step7)ファクトリシステムに接続しているかをチェックする。

Q:Simaticで何をするのか?
A:Windows PCからPLC(プログラマブルロジックコントローラ、すなわち実際に機械を制御するボックス)に送信されるコマンドを修正する。同ワームは特定の工場環境を探し、もし見つからなければ何もしない。

Simatic

Q:どの工場を探しているのか?
A:分からない。

Q:同ワームは、探している工場を発見したのか?
A:分からない。

Q:もし発見した場合、同ワームは何をするのか?
A:PLCの修正により特定の高周波コンバータドライブ(ACドライブ)を探し、そのオペレーションを修正する。

Q:高周波コンバータドライブとは何か?
A:基本的に、モータの速度をコントロールすることができるデバイスだ。「Stuxnet」は、(フィンランドに拠点を置く)Vaconと(イランに拠点を置く)Fararo Payaが製造した特定のACドライブを探す。

Q:それで「Stuxnet」は、VaconやFararo Payaのデイバイスに感染するのか?
A:違う、これらのドライブは感染していない。感染したPLCが、これらのドライブが動作する方法を修正するのだ。この修正は、極めて高い出力周波数などを含む、非常に限定された条件がすべて同時に成立した時にのみ起きる。したがって、影響の可能性は、極めて限られたACドライブアプリケーションエリアに限定される。

Q:それらのアプリケーションエリアは何か? ACドライブは何のために使われるのか?
A:それらは様々な目的で使用される。たとえば効率的な気圧システムなどだ。

Q:他の例は?
A:そう、濃縮遠心分離機にも使用される。

Q:たとえば?
A:遠心分離機が非常な高速で回転するウラン濃縮などだ。そういう理由で、高周波ドライブは軍事的にも民生用にも利用できる高度先端技術テクノロジーとみなされており、IAEA(国際原子力機関)の輸出規制リストに含まれている。

Q:「Stuxnet」コードは遠心分離機により、およそマッハ2で飛行している発射体を崩壊させる可能性があるのか?
A:修正されたことにより、遠心分離機が粗悪なウランを生産するというケースの方が、より可能性があるだろう。その変化は、長期間気づかれない可能性がある。

Q:エフセキュアはVaconと接触しているのか?
A:している。彼らはこの問題を調査しているが、「Stuxnet」がVaconのカスタマのオペレーションに、何らかの問題を起こした例は見いだしていない。

Q:「Stuxnet」の標的は、イランのNatanz濃縮施設だったと示唆する人もいる。Vacon ACドライブは、これらの施設にあるのか?
A:Vaconによれば、Vacanのドライブがイランの核開発計画で使用されているケースは知らないし、禁輸措置に反してイランにACドライブを販売したことは無いと確認できるという。

Q:Fararo Payaとは接触しているのか。
A:していない。

Q:この会社について知っていることは?
A:何も無い。イラン国外では、あまり有名な会社では無いようだ。我々は、同社がイラン国外に、ACドライブのカスタマを持っているという情報は得ていない。

Q:そのことが、標的国がどこなのかを示しているのでは?
A:次の質問を。

Q:巻き添え被害はあり得るのか? 「Stuxnet」は当初の標的ではなかった別のプラントを攻撃することは可能か?
A:それは、当初の標的と非常に類似したプラントである必要があるだろう。

Q:イランのウラン濃縮プラントに似ているプラントを知っているか?
A:同じ設計を共有するプラントを北朝鮮が持っているらしいことが分かっている。

Q:Stuxnetは何故、これほど複雑であると考えられているのか?
A:同ワームは複数の脆弱性を利用し、自身のドライバをシステムにドロップするためだ。

Q:同ワームは、自身のドライバをどのようにインストールし得るのか? ドライバはWindowsで動作するには、署名されている必要があるのではないか?
A:Stuxnetドライバは、Realtek Semiconductor Corpから盗まれた証明書により署名されていた。

Q:証明書をどのように盗むのか?
A:おそらくマルウェアが署名ファイルを探し、キーロガーを使用して、タイプされた時にパスフレーズを集めるのだろう。あるいは、押し入り、書名の道具を盗み、パスフレーズを総当たりする。

Q:盗まれた証明書は取り消されているのか?
A:Verisignが、7月16日に取り消した。JMicron Technology Corporationから盗まれた証明書で署名された亜種が、7月17日に発見された。

Q:RealtekとJmicronにはどんな関係があるのか?
A:関係はない。しかし、両社は台湾の同じオフィスパーク内に本社がある。奇妙なことだ…

Q:Stuxnetはどのような脆弱性を利用するのか?
A:Stuxnetは全般的に、5種の脆弱性を利用する。そのうちの4種はゼロデイだ

  •  LNK (MS10-046)
  •  印刷スプーラー (MS10-061)
  •  Serverサービス (MS08-067)
  •  キーボードレイアウトファイルを介した権限昇格(MS10-073
  •  Task Schedulerを介した権限昇格

Q:Microsoftがこれらにパッチを当てているのでは?
A:権限昇格の脆弱性2種のうち1つは修正された。最後に残っている脆弱性のパブリックエクスプロイトは、11月にリリースされた。

Q:「Stuxnet」の作者は、自身のゼロデイ脆弱性を見付けたのか、あるいはブラックマーケットで購入したのか?
A:分からない。

Q:そのような脆弱性はどのくらい高価なのか?
A:様々だ。Windowsのポピュラーなバージョンで、単一のリモートコード実行を行うゼロデイは5万ドルから50万ドルの間だろう。

Q:Stuxnetの詳細な分析に時間がかかったのは何故なのか?
A:同ワームが異常に複雑で、巨大だからだ。Stuxnetは1.5MB以上のサイズがある。

Q:Stuxnetが広がり始めたのはいつ?
A:コンポーネントの一つのコンパイルデートは2009年1月だ。

Q:発見されたのはいつ?
A:1年後の2010年6月だ。

Q:どうしてそんなことに?
A:良い質問だ。

Q:「Stuxnet」を制作するのにどのくらいかかったのか?
A:我々は「Stuxnet」の開発に、10マンイヤー(1人の人間が10年間働く時間が)かかったと見積もっている。

Q:「Stuxnet」を書くことができたのは誰なのか?
A:必要とされる財政的、そして研究開発的な投資を考えても、また「Stuxnet」内に明らかな金儲けのメカニズムが無いという事実を合わせても、残るのは2つの可能性のみだ。すなわち、テロ組織あるいは一つの国家かである。そして我々は、いかなるテロ組織もこの種のリソースを持っているとは思わない。

Q:ではStuxnetは一国の政府によって書かれたものか?
A:そう、そのようには見える。

Q:政府にそれほど複雑なことが可能なのか?
A:ひねった質問だ。ナイス。次の質問。

Q:それはイスラエルなのか?
A:分からない。

Q:エジプト? サウジアラビア? アメリカ合衆国?
A:分からない。

Q:ターゲットはイランなのか?
A:分からない。

Q:Stuxnet内に聖書のリファレンスがあるというのは本当か?
A:Myrtus(ギンバイカ植物)へのリファレンスがある。しかしこれはコードで「隠されて」いない。これは、コンパイルされた際、プログラム内に残されたアーチファクトだ。基本的に、これは作者が自分のシステムのどこにソースコードを保存したかを示すものだ。Stuxnetの具体的な経路は「\myrtus\src\objfre_w2k_x86\i386\guava.pdb」だ。作者たちはおそらく、彼らが自分達のプロジェクトを「Myrtus」と読んでいることを、我々に知らせたくなかったはずだが、このアーチファクトのおかげで、我々は知ることとなった。このようなアーチファクトは、他のマルウェアでも見られる。Googleに対する「Operation Aurora」攻撃は、バイナリの1つに「\Aurora_Src\AuroraVNC\Avc\Release\AVC.pdb」というパスが発見された後で、「Aurora」と名付けられた。

Q:では、「Myrtle」はどの程度正確に聖書のリファレンスなのか?
A:うーん、本当に分からない。(しかし読者のCraig Bが、この記事の以前のバージョンコメントを残してくれた。)

Q:何か他の意味ということは無いのか?
A:そう、「Myrtus」ではなく「My RTUs」かも知れない。RTUは工場システムで使用されているリモートターミナルユニット(Remote Terminal Units)の略だ。

Q:Stuxnetはどのようにして、マシンを既に感染させたかを知るのか?
A:同ワームは、感染のマーカーとしてレジストリキーに「19790509」という数値をセットする。

Q:「19790509」の意味は何なのか?
A:日付だ。1979年5月9日を意味する。

Q:1979年5月9日に何が起こったのか?
A:おそらく、作者の誕生日ではないだろうか? しかし、これはHabib Elghanianというユダヤ系イラン人ビジネスマンが、イランで処刑された日付でもある。彼はイスラエルのためのスパイ行為を行ったとして告訴された。

Q:なるほど。
A:ええ。

Q:明らかに攻撃者は、標的のプラントに関する内部情報を豊富に持っており、内部にスパイを送り込んでいた可能性がある。いったい何故、彼らはワームを使ったのか? 何故彼らはスパイに修正を行わせることができなかったのか?
A:分からない。否認権のためだろうか? もしかしたらスパイは、キーシステムにアクセスできなかったのだろうか? あるいはモグラはプラントにはおらず、設計プランにアクセスできたのだろうか? もしかしたらスパイはいなかったのか?

Q:StuxnetとConfickerには関係があるのか?
A:そういうこともあり得る。Confickerの亜種は、2008年11月と2009年4月の間に見つかっている。Stuxnetの最初の亜種は、その直後に見つかった。どちらもMS08-067脆弱性を悪用している。どちらもUSBスティックを使用して拡散する。どちらも弱いネットワークパスワードを利用して拡散する。そしてもちろん、どちらも非常に複雑だ。

Q:他のマルウェアとの関係は?
A:Zlob亜種のいくつかが、LNK脆弱性を最初に使用した。

Q:WindowsでAutorunを使用不可にすれば、「Stuxnet」を遮断できるんですよね?
A:そうではない。「Stuxnet」はゼロデイを使用した。同ワームが登場したばかりの頃は、完全にパッチをあてていても、AutoRunを使用停止にしていても、制限された低レベルのユーザアカウントのもとに動作させていても、USBドライブからのプログラムの実行ができないようにしていても、Windowsマシンを感染させた。

Q:でも、一般的には、WindowsのAutoRunを使用停止することで、USBワームを停止することができるんですよね?
A:そうではない。USBワームが使用する拡散のメカニズムは、コンパニオン感染など、他にもある。使用停止にするのは、今でも良い考えではあるが、万能薬ではない。

Q:「Stuxnet」は永久に拡散するのか?
A:現行バージョンは2012年6月24日が「kill date」だ。同バージョンはこの日付に拡散を停止する。

Q:同ワームはどのくらいのコンピュータを感染させたのか?
A:何十万台もだ。

Q:だがSiemensは、15の工場しか感染していないと発表している。
A:彼らが言っているのは工場についてだ。感染したマシンの大部分は、副次的な感染、すなわち、SCADAシステムに接続していない、通常の家庭やオフィスのコンピュータだ。

Q:攻撃者はこのようなトロイの木馬を、どのようにしてセキュアな工場に侵入させることができたのか?
A:たとえば、職員の自宅に侵入することで、その人物のUSBスティックを探しだし、それを感染させる。次に、その職員がスティックを職場に持って行くのを街、仕事用のコンピュータを感染させる。USBスティックを介して、感染はセキュアな工場内で更に広がっていき、最終的にターゲットを攻撃する。副次的な作用として、他の場所でも拡散が続くことになる。このようにして、Stuxnetは世界中に広がったのだ。

Q:StuxnetはDeepwater Horizon石油掘削基地を水没させ、メキシコ湾の原油流出を招いたのか?
A:いや、我々はそうは考えていない。Deepwater Horizonは実際、Siemens PLCシステムを使用してはいたが。

Q:米国上院が「Stuxnet」に関する聴聞会を開いたというのは本当か?
A:そう、11月に

Q:エフセキュアは「Stuxnet」を検出しているか?
A:検出している。

注:このQ&Aに記載した内容の多くは、Microsoft、Kaspersky、Symantecおよび他のベンダのリサーチャーたちとディスカッションする中で得たものだ。


Symantecの研究者Liam O'Murchuが、エアポンプのオペレーションを変更するStuxnet的なSCADA修正POCをデモンストレーションする、「Virus Bulletin 2010」のビデオ。