2日ほど前、イランから電子メールを受けとった。イランのComputer Emergency Response Teamのアナリストからのもので、彼らのチームが、さまざまなイランのコンピュータに感染させていることを発見したマルウェアについて、私に知らせてきた。これはFlameであることが判明した。世界中でトップニュースになっているマルウェアだ。
マルウェアに関連するサンプルを、我々のアーカイブで探したところ、2010年、2011年に遡って、すでにFlameのサンプルを保有していたことを発見して驚いた。持っていることに気づいていなかったのだ。これらは自動の報告メカニズムを通じてもたらされたものだが、詳細に検討すべきものとして、システムから警告が出たことは一度も無かった。他のアンチウイルス企業の研究者は、それよりさらに以前に同マルウェアのサンプルを受けとった証拠を発見した。同マルウェアが、2010年以前のものであることを示す証拠だ。
これが意味するのは、我々全員がこのマルウェアを2年かそれ以上、検出できずにいたということだ。これは我々の会社の、そしてアンチウイルス業界全体のミスだ。
このようなことが起きたのは、今回が初めてではない。Stuxnetは、イン・ザ・ワイルドになって1年以上、検出されず、ベラルーシのアンチウイルス企業が問題の起きたイランのマシンをチェックするために呼ばれ、ようやく発見された。研究者がStuxnetに似たものをアーカイブで探し求めたところ、Stuxnetで使用されたゼロデイエクスプロイトが、他のマルウェアと共に、以前使用されていたことを発見したが、当時はそれに気づいていなかった。DuQuという関連するマルウェアも、1年以上、アンチウイルス企業の検出を免れていた。
Stuxnet、DuquそしてFlameはもちろん、通常の良くあるマルウェアではない。3つはすべて、発見されないことを意図した秘密オペレーションの一部として、西側諜報機関によって開発された可能性が高い。同マルウェアが検出を回避したという事実が、攻撃者がいかに良い仕事をしたかを証明している。StuxnetとDuQuの場合、これらのマルウェアを信頼できるアプリケーションに見せかけるため、彼らはデジタル的に署名されたコンポーネントを使用した。そしてコードをカスタムパッカや難読化エンジンで保護しようとする代わりに(そうすることで、疑いを向けられる可能性がある)、ありふれた外観の中にひそませた。Flameの場合、攻撃者はSQLite、SSH、SSLおよびLUAライブラリを使用して、コードがマルウェアの一部というよりは、ビジネスデータベースシステムのように見せかけた。
我々がこれらコードの一部を発見できなかったのは幸いだと言う人もいるかもしれない。大部分の感染はイラン、シリア、スーダンといった、政治的に混乱した地域で発生している。Flameが何のために使用されたか、正確なところは分かっていないが、我々がもっと早く検出し、ブロックしていたら、外国の諜報機関が監視しようとする努力を、これらの国々の圧政が妨害するのを間接的に援助することになっていたかもしれないからだ。
しかし、それはポイントではない。その出所や目的とは関係無く、我々はマルウェアを検出したいと考えている。政治は関係無いし、そうあるべきでもない。あらゆるマルウェア(標的型のものも)手に負えなくなることがあるし、意図された被害者ではないマシンに「副次的被害」を引き起こす可能性がある。たとえばStuxnetは、USBワーム機能を介して世界中に広まり、イランのNatanzウラン濃縮施設を管理しているコンピュータという、真の標的を探しながら、10万台以上のマシンを感染させた。つまり、マルウェアに対してコンピュータを守ることは、業界としての仕事である、ということなのだ。
実際のところ、消費者向けレベルのアンチウイルス製品は、莫大な予算を与えられた、十分な資金力のある国家が作成した標的型マルウェアに対して、十分な保護を与えることはできない。こうした製品は、バンキング型トロイの木馬、キーストロークロガー、電子メールワームなど、普通のマルウェアからユーザを保護するものだからだ。しかし今回の様な標的型攻撃は、故意にアンチウイルス製品を回避するために、どんなことでもする。そしてこれらの攻撃で使用されるゼロデイエクスプロイトは当然、アンチウイルス企業には未知のものだ。我々の知る限りでは、被害者を攻撃するこれらの悪意あるコードをリリースする前に、攻撃者はマルウェアが検出されないことを確実にするべく、市場に流通している関連アンチウイルス製品をすべてのテストを行った。彼らには、攻撃を改良する時間が無制限にあるのだ。攻撃者がこちら側の兵器を入手できる場合、攻撃者と防御者の間の戦いは公平とは言えない。
アンチウイルスシステムは、誤警報を出すことなく、あらゆる攻撃の可能性を検出できるよう、バランスをとる必要がある。そして我々は常に改善を試みているが、100パーセント完璧なソリューションは存在し得ないだろう。深刻な標的型攻撃に対する、入手可能な最高の保護には、ネットワーク侵入検出システム、信頼のおけるアプリのホワイトリスト、組織のネットワークに対する上下トラフィックのアクティブなモニタリングなどによる、重構造の防御が必要とされる。
この話はFlameで終わりではない。我々がまだ検出していない、似たような他の攻撃が、既に進行中である可能性は非常に高い。つまり、このような攻撃は上手くいくのだ。
Flameはアンチウイルス業界にとって失敗だった。我々はほんとうに、もっと上手く対処できるべきだったのだが、そうはできなかった。我々自身のゲームでありながら、上手く守備することができなかったのだ。
ミッコ・ヒッポネン
このコラムは当初、Wired.comに掲載された。
追記:
ミッコのコラムには、我々が共有したいと考える、いくつかのフィードバックがあった。
反論:一部は正しい;失敗したという部分は by @attritionorg
反論の修正 by @imaguid
マルウェアに関連するサンプルを、我々のアーカイブで探したところ、2010年、2011年に遡って、すでにFlameのサンプルを保有していたことを発見して驚いた。持っていることに気づいていなかったのだ。これらは自動の報告メカニズムを通じてもたらされたものだが、詳細に検討すべきものとして、システムから警告が出たことは一度も無かった。他のアンチウイルス企業の研究者は、それよりさらに以前に同マルウェアのサンプルを受けとった証拠を発見した。同マルウェアが、2010年以前のものであることを示す証拠だ。
これが意味するのは、我々全員がこのマルウェアを2年かそれ以上、検出できずにいたということだ。これは我々の会社の、そしてアンチウイルス業界全体のミスだ。
このようなことが起きたのは、今回が初めてではない。Stuxnetは、イン・ザ・ワイルドになって1年以上、検出されず、ベラルーシのアンチウイルス企業が問題の起きたイランのマシンをチェックするために呼ばれ、ようやく発見された。研究者がStuxnetに似たものをアーカイブで探し求めたところ、Stuxnetで使用されたゼロデイエクスプロイトが、他のマルウェアと共に、以前使用されていたことを発見したが、当時はそれに気づいていなかった。DuQuという関連するマルウェアも、1年以上、アンチウイルス企業の検出を免れていた。
Stuxnet、DuquそしてFlameはもちろん、通常の良くあるマルウェアではない。3つはすべて、発見されないことを意図した秘密オペレーションの一部として、西側諜報機関によって開発された可能性が高い。同マルウェアが検出を回避したという事実が、攻撃者がいかに良い仕事をしたかを証明している。StuxnetとDuQuの場合、これらのマルウェアを信頼できるアプリケーションに見せかけるため、彼らはデジタル的に署名されたコンポーネントを使用した。そしてコードをカスタムパッカや難読化エンジンで保護しようとする代わりに(そうすることで、疑いを向けられる可能性がある)、ありふれた外観の中にひそませた。Flameの場合、攻撃者はSQLite、SSH、SSLおよびLUAライブラリを使用して、コードがマルウェアの一部というよりは、ビジネスデータベースシステムのように見せかけた。
我々がこれらコードの一部を発見できなかったのは幸いだと言う人もいるかもしれない。大部分の感染はイラン、シリア、スーダンといった、政治的に混乱した地域で発生している。Flameが何のために使用されたか、正確なところは分かっていないが、我々がもっと早く検出し、ブロックしていたら、外国の諜報機関が監視しようとする努力を、これらの国々の圧政が妨害するのを間接的に援助することになっていたかもしれないからだ。
しかし、それはポイントではない。その出所や目的とは関係無く、我々はマルウェアを検出したいと考えている。政治は関係無いし、そうあるべきでもない。あらゆるマルウェア(標的型のものも)手に負えなくなることがあるし、意図された被害者ではないマシンに「副次的被害」を引き起こす可能性がある。たとえばStuxnetは、USBワーム機能を介して世界中に広まり、イランのNatanzウラン濃縮施設を管理しているコンピュータという、真の標的を探しながら、10万台以上のマシンを感染させた。つまり、マルウェアに対してコンピュータを守ることは、業界としての仕事である、ということなのだ。
実際のところ、消費者向けレベルのアンチウイルス製品は、莫大な予算を与えられた、十分な資金力のある国家が作成した標的型マルウェアに対して、十分な保護を与えることはできない。こうした製品は、バンキング型トロイの木馬、キーストロークロガー、電子メールワームなど、普通のマルウェアからユーザを保護するものだからだ。しかし今回の様な標的型攻撃は、故意にアンチウイルス製品を回避するために、どんなことでもする。そしてこれらの攻撃で使用されるゼロデイエクスプロイトは当然、アンチウイルス企業には未知のものだ。我々の知る限りでは、被害者を攻撃するこれらの悪意あるコードをリリースする前に、攻撃者はマルウェアが検出されないことを確実にするべく、市場に流通している関連アンチウイルス製品をすべてのテストを行った。彼らには、攻撃を改良する時間が無制限にあるのだ。攻撃者がこちら側の兵器を入手できる場合、攻撃者と防御者の間の戦いは公平とは言えない。
アンチウイルスシステムは、誤警報を出すことなく、あらゆる攻撃の可能性を検出できるよう、バランスをとる必要がある。そして我々は常に改善を試みているが、100パーセント完璧なソリューションは存在し得ないだろう。深刻な標的型攻撃に対する、入手可能な最高の保護には、ネットワーク侵入検出システム、信頼のおけるアプリのホワイトリスト、組織のネットワークに対する上下トラフィックのアクティブなモニタリングなどによる、重構造の防御が必要とされる。
この話はFlameで終わりではない。我々がまだ検出していない、似たような他の攻撃が、既に進行中である可能性は非常に高い。つまり、このような攻撃は上手くいくのだ。
Flameはアンチウイルス業界にとって失敗だった。我々はほんとうに、もっと上手く対処できるべきだったのだが、そうはできなかった。我々自身のゲームでありながら、上手く守備することができなかったのだ。
ミッコ・ヒッポネン
このコラムは当初、Wired.comに掲載された。
追記:
ミッコのコラムには、我々が共有したいと考える、いくつかのフィードバックがあった。
反論:一部は正しい;失敗したという部分は by @attritionorg
反論の修正 by @imaguid