2020年4月21日
常識を疑え!ハッカー視点のセキュリティ
株式会社トライコーダ 上野宣
第24回 サイバー戦争!? 物理的な実害を与えるコンピューターウイルスも存在する
コンピューターウイルスというと、ファイルを破壊したり、情報を盗み出したりと、コンピューター上のものに影響を与えるものというイメージがあるかも知れません。
しかし、中には物理的なシステムである遠心分離機を稼動不能にすることを目的としたウイルスも存在するのです。物理的なシステムを破壊するとはどういうことなのでしょうか。
世界初のサイバー攻撃兵器
「スタックスネット(Stuxnet)」という名前を聞いたことがあるでしょうか。2010年6月に発見されたWindows上で動作するウイルスで、従来のウイルスと同じようにインターネット経由でも、USBメモリ経由でも感染します。
従来のウイルスと大きく違った点は、産業用制御システムに感染し「遠心分離機」といった物理的なシステムを稼動不能にするところでした。
ターゲットとなったのは、ドイツのシーメンス社製のSIMATIC WinCC/PCS 7というシステムで、このシステムを採用しているのがイランのエスファハーン州ナタンズにある核燃料施設のウラン濃縮用の遠心分離機でした。この遠心分離機を制御していたPLC(Programmable Logic Controller)がスタックスネットによって攻撃された結果、約8400台の遠心分離機すべてが稼動不能に陥ったと報告されています。
スタックスネットが発症するにはいくつかの条件が揃うことが必要です。まずはWindows上で上記のターゲットである特殊な周波数変換装置があり、そしてモーターの動作周波数が一致しないと何もしないウイルスでした。これが条件として揃うのは、世界中でイランの核燃料施設のウラン濃縮用遠心分離機を制御しているPC以外にはほとんど見当たらないようです。
実は、このスタックスネットはアメリカ国家安全保障局(NSA)とイスラエルの情報機関8200部隊が共同で開発したと言われています。このような国家間のサイバー戦争で使われるウイルスが明るみに出たのは世界初の出来事でした。
スタックスネットの開発工数はおよそ1万時間
スタックスネットはサイバー攻撃兵器として使われたウイルスとして非常に興味深い特徴をいくつか持っています。
盗まれた本物の証明書
Windowsにドライバなどをインストールしようとすると、正しい本物の証明書で署名されていない限り警告が表示されますが、スタックスネットは本物の証明書で署名されていました。署名はJMicron社のもので、どのように本物で署名したかというと物理的に署名用のPCを盗むことによって実現しました。
ちなみに盗まれると無効化することはできますが、JMicron社の正規のドライバにも影響を与えてしまいます。しかも、無効化してもWindowsXPなどではポップアップによる警告すらでないのです。
未知の脆弱性を4つも利用
スタックスネットが悪用するのは、「MS10-046 Windows シェルの脆弱性」というショートカットアイコン(.lnk)の読み込みの脆弱性や、「MS10-061 印刷スプーラーサービスの脆弱性」などで、いずれも現時点では修正されていますが当時はまだ世の中に知られていない脆弱性でした。
いわゆるゼロデイと呼ばれるこれらの脆弱性は、1つだけでも攻撃には十分利用価値が高いものですが、それが4つも利用されるというのは驚くべき仕組みなのです。
開発時間に1万時間
マイクロソフト・マルウェアプロテクションセンター のJeff Williams (ジェフ・ウィリアムズ)氏がスタックスネットを解析した結果、おそらく開発には5〜6人ぐらいが携わっていて、1万時間くらいは掛かっているのではないか述べています。
もちろんそのコードを書くためには、マルウェアに関する知識以外にもターゲットであるSIMATICのプログラミングに関する深い知識が要求されます。つまり、それぐらい時間やコストを掛けても攻撃の成果としては元が取れると言うことを表しています。
ほかにもターゲット装置のセンサーが出す警告信号を止める指令を出して遠心分離機の誤動作に気付かせないなどの工夫もされていたようです。
スタックスネットには遠心分離機の破壊を行うという目的を確実に達成するために、これらのさまざまな仕掛けが凝らされていました。従来、これほど工夫が凝らされたウイルスが発見されたことがありませんでした。それ故、スタックスネットは「サイバー兵器」と呼ばれることもあるのです。