背景
10月初旬、Kaspersky LabのソフトウェアがNSA職員の自宅コンピューターから機密情報を吸い上げるのに使われたとする記事が、Wall Street Journalにて公開されました。サイバースパイ行為およびサイバー犯罪活動の最前線で20年にわたり戦ってきたKaspersky Labでは、これらの申し立てを非常に深刻なものと受け止めています。個別に本件を調査する方々、そしてこれら申し立てが真実なのかと問うてきた方々のために、当該報道に関連する以下の10の質問に答えるべく内部調査を実行し、ここに調査結果を報告します。※中間報告についてはこちらをご参照ください
- Kaspersky Labのソフトウェアは、ユーザーのコンピューターから機密情報を引き出すのに使われたのか?
- Wall Street Journalの報道で触れられているインシデントが発生したのはいつのことか?
- 機密情報を盗まれたと報道されている人物は何者か?
- この人物のコンピューター上で、機密情報が実際に意図せず見つかったのか?
- 機密情報をKaspersky Labが取得したのであれば、そのデータはその後どうなったのか?適切に取り扱われたのか?
- その情報はなぜ取得されたのか?取得されたのであれば、「ロシアのハッカー」または「ロシアの諜報機関」に渡されたのではないか?
- 当該人物のコンピューターから収集されたのは、どのような種類のファイルか?
- 当該人物がその後ロシアの何者かに「ハッキング」されてデータが抜き出されたことを示す兆候はあるのか?
- Kaspersky Labの製品は、ユーザーのコンピューターからマルウェアとは関係ないデータを意図的に密かに取得可能か?
- サイバースパイが当社アナリストの画面を見ることができたと仮定した場合、スパイたちはそこに何を見ただろうか?また、見たものをどのように解釈しただろうか?
Wall Street Journalの報道
10月に公開された記事で述べられている事項のいくつかは、実証と事実確認が必要です。当該記事の要点は以下のとおりです。
- 「盗まれた」とされる情報は、米国が外国のコンピューターネットワークに侵入し、サイバー攻撃からの防衛を行う方法を詳細に示したものである。
- あるNational Security Agencyの契約社員が極秘ファイルを持ち出し、自宅のコンピューターに移した。
- 当該ファイルはKaspersky Labのソフトウェアを使って検知され、最終的に、報じられるところの「ロシアのハッカー」の手に渡った。
- 本インシデントは2015年に発生したが、発覚したのは昨年(2016年)の春だった。
- Kaspersky Labに結びつけられたこのインシデントは、別のNSA職員、ハロルド・マーティン(Harold Martin)が2016年に逮捕された一件よりも前の出来事だった。
- 当該コンピューターにアクセスした「ハッカーたち」は、Kaspersky Labのデータを利用してどのようなファイルが検知されたかを確認した後、大量のデータを盗んだ。
調査の開始
以上の諸情報を踏まえ、冒頭に提示した質問への回答を準備するにあたり、まずは報じられたインシデントを特定するところから開始しました。先のセクションで概観したようなインシデントが発生するのはまれであること、また、当社ではあらゆる操作の履歴を保持していることから、正しい検索パラメーターがあればテレメトリーアーカイブ内から当該インシデントに関連する情報を探し出すことが可能です。
最初に立てた仮説は、取り出されたとされるデータはいわゆる「Equation Group」に関連したものである可能性が高い、というものでした。報じられたインシデントがあった期間に活発に実施されていた調査の主な対象はEquation Groupであり、また、Equation GroupとNSAの間に存在する数々のつながりがメディアやセキュリティリサーチャーによって明らかになっています。当社のEquation関連のシグネチャはマルウェアファミリー名に基づいているため特定が容易であり、「Equestre」「Equation」「Grayfish」「Fanny」「DoubleFantasy」などEquation Groupの侵入セットに含まれる各種ツールに対応しています。これを踏まえ、2014年6月(報じられたインシデントが発生したとされる2015年より前)に遡り、ワイルドカードを含むアラート(例:HEUR:Trojan.Win32.Equestre.*)が発生していなかったかどうか当社データベースで検索を実施しました。結果、いくつかのテスト用(サイレント)シグネチャが、大量の誤検知を発生させていたことが判明しました。滅多にないタイプのマルウェアに対応する質の高いシグネチャを作成する過程では、こういった状況は珍しくありません。検索結果をヒット回数(ユニーク数)で並べ替えたところ、2014年9月に活発な動きがあったことが浮かび上がってきました。報じられたイベントが発生したとされる年ではない点には留意が必要ですが、ジャーナリストや情報提供元があらゆる詳細を把握しているわけではない以上、徹底した調査を行いたいと当社は考えました。
例として以下に示すのは、「Equestre」シグネチャに合致する、同年9月に見られた検知名と回数の一覧です。回数の少ないものから多いものの順に並んでいます。前述した検知数の多いシグネチャがどれであるかは一目瞭然です。
検知名(サイレント) | 回数 |
HEUR:Trojan.Win32.Equestre.u | 1 |
HEUR:Trojan.Win32.Equestre.gen.422674 | 3 |
HEUR:Trojan.Win32.Equestre.gen.422683 | 3 |
HEUR:Trojan.Win32.Equestre.gen.427692 | 3 |
HEUR:Trojan.Win32.Equestre.gen.427696 | 4 |
HEUR:Trojan.Win32.Equestre.gen.446160 | 6 |
HEUR:Trojan.Win32.Equestre.gen.446979 | 7 |
HEUR:Trojan.Win32.Equestre.g | 8 |
HEUR:Trojan.Win32.Equestre.ab | 9 |
HEUR:Trojan.Win32.Equestre.y | 9 |
HEUR:Trojan.Win32.Equestre.l | 9 |
HEUR:Trojan.Win32.Equestre.ad | 9 |
HEUR:Trojan.Win32.Equestre.t | 9 |
HEUR:Trojan.Win32.Equestre.e | 10 |
HEUR:Trojan.Win32.Equestre.v | 14 |
HEUR:Trojan.Win32.Equestre.gen.427697 | 18 |
HEUR:Trojan.Win32.Equestre.gen.424814 | 18 |
HEUR:Trojan.Win32.Equestre.s | 19 |
HEUR:Trojan.Win32.Equestre.x | 20 |
HEUR:Trojan.Win32.Equestre.i | 24 |
HEUR:Trojan.Win32.Equestre.p | 24 |
HEUR:Trojan.Win32.Equestre.q | 24 |
HEUR:Trojan.Win32.Equestre.gen.446142 | 34 |
HEUR:Trojan.Win32.Equestre.d | 39 |
HEUR:Trojan.Win32.Equestre.j | 40 |
HEUR:Trojan.Win32.Equestre.gen.427734 | 53 |
HEUR:Trojan.Win32.Equestre.gen.446149 | 66 |
HEUR:Trojan.Win32.Equestre.ag | 142 |
HEUR:Trojan.Win32.Equestre.b | 145 |
HEUR:Trojan.Win32.Equestre.h | 310 |
HEUR:Trojan.Win32.Equestre.gen.422682 | 737 |
HEUR:Trojan.Win32.Equestre.z | 1389 |
HEUR:Trojan.Win32.Equestre.af | 2733 |
HEUR:Trojan.Win32.Equestre.c | 3792 |
HEUR:Trojan.Win32.Equestre.m | 4061 |
HEUR:Trojan.Win32.Equestre.k | 6720 |
HEUR:Trojan.Win32.Equestre.exvf.1 | 6726 |
HEUR:Trojan.Win32.Equestre.w | 6742 |
HEUR:Trojan.Win32.Equestre.f | 9494 |
HEUR:Trojan.Win32.Equestre.gen.446131 | 26329 |
HEUR:Trojan.Win32.Equestre.aa | 87527 |
HEUR:Trojan.Win32.Equestre.gen.447002 | 547349 |
HEUR:Trojan.Win32.Equestre.gen.447013 | 1472919 |
この一覧の上から順に、ヒットした検知名のアラートを一つ一つ調査し、報じられたインシデントとの関連を示す兆候が見られるかどうか確認を行いました。ほとんどはEquationに感染した人々を示すもの、あるいは誤検知でしたが、最終的に、1台のコンピューター上で短期間に大量のアラートを発したシグネチャ「HEUR:Trojan.Win32.Equestre.m」および7-zipアーカイブ(以下で「[undisclosed].7z」とするもの)に行き当たりました。当時はEquationに関する知識が限られていたことから、当社アナリストは大量のアラートを受け、シグネチャを発動させたアーカイブファイルの異常さに気付いたと考えられます。そこで今回は、このコンピューター上で発生したアラートをさらに深く調査することにしました。調査の結果、当該コンピューターには当該アーカイブのほかに、このコンピューターのユーザーである人物がマルウェア開発に関与する可能性を示す一般的なファイルおよび未知のファイルが数多く含まれていたことがただちに判明しました。約3か月間に当該コンピューター上で発動したEquation関連シグネチャは、以下のとおりです。
HEUR:Trojan.Win32.Equestre.e
HEUR:Trojan.Win32.Equestre.exvf.1
HEUR:Trojan.Win32.Equestre.g
HEUR:Trojan.Win32.Equestre.gen.424814
HEUR:Trojan.Win32.Equestre.gen.427693
HEUR:Trojan.Win32.Equestre.gen.427696
HEUR:Trojan.Win32.Equestre.gen.427697
HEUR:Trojan.Win32.Equestre.gen.427734
HEUR:Trojan.Win32.Equestre.gen.446142
HEUR:Trojan.Win32.Equestre.gen.446993
HEUR:Trojan.Win32.Equestre.gen.465795
HEUR:Trojan.Win32.Equestre.i
HEUR:Trojan.Win32.Equestre.j
HEUR:Trojan.Win32.Equestre.m
HEUR:Trojan.Win32.Equestre.p
HEUR:Trojan.Win32.Equestre.q
HEUR:Trojan.Win32.Equestre.x
HEUR:Trojan.Win32.GrayFish.e
HEUR:Trojan.Win32.GrayFish.f
当社が検知していたのは、合計で37個(ユニーク数)のファイルと218個の検知オブジェクトでしたが、この中にはEquation Groupと関連するマルウェアを含む実行ファイルとアーカイブが含まれます。今回の調査においてこのメタデータを確認する中で、検知したファイルおよびファイルパスの全一覧を本レポートに含めた方がよいのではないかとの考えもありましたが、当社の倫理基準および社内ポリシー上、含めない判断を下しました。難しい決断ではありましたが、当社を風評から守るためとはいえ、一度でも例外として公表してしまうと、当社製品を信頼するすべての人々のプライバシーと自由を手放す道へと踏み出すこととなります。当該コンピューターの所有者あるいは高位の法的権威による合法的な要請がないかぎり、このような情報を公開するわけにはいきません。
上記検知結果に観測されるファイルパスは、Equationの開発者が1つあるいは複数のリムーバブルデバイスを抜き差ししたこと、一部実行ファイルおよびこれらを含むアーカイブにアンチウイルスシグネチャが反応したこと、検知されたファイル(こうしたファイルを含むアーカイブも含め)が自動的に当社へ送信されたことを示しています。この時点で、Wall Street Journalほかメディアに伝えられたストーリーのおおもとを発見したとの確信がありました。こうしたタイプのインシデントは度々発生するようなものではないことから、情報提供元がメディアにリークしたとき日付の混乱があった、または日付が曖昧であったと考えます。
次なるタスクは、取得されたデータがどうなったかという質問に対する回答です。アーカイブファイルにはアラートを発したファイル以外のデータも確かに含まれており、Equation Groupの侵入セットに関するデータが含まれていた可能性は大いにあります。当該アーカイブファイル自体は当社の検体ストレージから削除されたこと、アラートを発動させた個別のファイルはストレージに残されていることが、すぐに明らかになりました。
調査を進める中で、当該アーカイブファイル([undisclosed].7z)はCEOの指示を受けてストレージから削除されたことが判明しました。当該アーカイブを担当したアナリストの説明では、アーカイブに含まれていたのは、さまざまな実行可能モジュール、機密マークの付いた文書が4つ、同一プロジェクト関連のその他ファイルです。これらファイルを当社が削除したこと、今後そういったファイルが発見された場合は削除することには、2つの理由があります。まず、当社のお客様の保護を向上させるために必要なのはマルウェアバイナリだけであること。次に、機密扱いの可能性がある資料を扱う際の懸念です。マークが本物であるとするならば、検知用シグネチャを作成するという目的であっても、こうした情報を使用することはできず、将来的に使用されることもありません。
この懸念は後に、全マルウェアアナリストを対象にポリシー化されました。アンチマルウェア調査の中で、または第三者からの提供によって、機密扱いの可能性のあるものを意図せず手にした場合は、削除することを求めています。繰り返しになりますが、当社が知るかぎり当該アーカイブファイルおよび文書は当社ストレージから削除され、当社シグネチャによって検知された個別の実行ファイル(マルウェア)だけがストレージに残されています。また、この過程において、いかなる文書も積極的に「検知され」ていなかったことは明白です。つまり、特定のEquationシグネチャが反応したファイルはアーカイブの内外にあったバイナリのみであり、意図せず文書が取得されたのは、Equationシグネチャの反応を大量に引き起こしたアーカイブファイルの内部に含まれていたためです。セキュリティソフトウェア業界の標準では、マルウェアが含まれるアーカイブのコピーをリクエストするのは合理的な方法であり、マルウェアドロッパー(自己解凍型アーカイブまたは感染したISOファイルの形式を取ることがある)が利用するデータコンテナーを見つけるのにしばしば役立ちます。
興味深い展開
本調査の中で、報じられるインシデントに関する、知るかぎり公には語られていない興味深い展開も発見しました。徹底した調査を試みる中で、問題のコンピューターに関して発生したアラートを一つ一つ分析した結果、非常に興味深い結論に至りました。当該コンピューターは、2014年10月4日現地時間23:38の時点で、悪意ある何かによる侵害を受けていたと見られます。具体的には、悪意あるMS Office ISOの内部に潜むマルウェア、「setup.exe」ファイルです(md5は「a82c0575f214bdc7c8ef5a06116cd2a4」。検知状況についてはVirusTotalをご覧ください)。
当該コンピューターにおける一連のイベントと検知状況を調査した結果、問題のユーザーが上記ファイルを「Office-2013-PPVL-x64-en-USOct2013.iso」という名称のフォルダー内で実行したことが判明しました。興味深いのは、このISOファイルが悪意あるファイルであり、「kms.exe」(よく使われる海賊版ソフトウェアアクティベーション用ツールの名称)、「kms.activator.for.microsoft.windows.8.server.2012.and.office.2013.all.editions」などのファイルをマウントしてインストールしていたことです。Kaspersky Labの製品は、このマルウェアを「Backdoor.Win32.Mokes.hvl」の検知名で検知しました。
MS Office 2013と想定されるものがインストールされた後、「http://xvidmovies[.]in/dir/index.php」というURLに対する定期的な外部接続を、当社のアンチウイルス機能がブロックし始めました。このドメインを調査したところ、同じURLに信号を送る、別の悪意あるファイルが発見されました。注意すべきは、当該コンピューターがこのURLに信号を送っていたことを当社が把握しているのは、これが既知の悪意あるサイトであり当社で積極的に遮断していたためである、という点です。この状況は、Equation関連ファイルを当社が検知していた頃と同時期に、当該コンピューター上にマルウェアが盛んにダウンロード、インストールされていたことを示唆しています。
このマルウェアをインストールして実行するため、当該ユーザーが自分のコンピューター上のカスペルスキー製品を無効化したのは間違いありません。当社のテレメトリーでは製品が無効化された時期を特定することはできませんが、後にこのマルウェアが同システム内で実行しているのが検知されている事実から、このマルウェアが実行された時点で当社製品は無効化されていたか、実行していなかったと考えられます。当社製品が有効になった状態では、このマルウェアは実行できなかったことでしょう。
これに加え、当社がこの当時気付かなかった別のマルウェアがダウンロードされていた可能性もあります。以下は、2か月の間に当該コンピューター上で見られたEquation以外のアラート121件です。
Backdoor.OSX.Getshell.k
Backdoor.Win32.Mokes.hvl
Backdoor.Win32.Shiz.gpmv
Backdoor.Win32.Swrort.dbq
DangerousObject.Multi.Chupitio.a
Exploit.Java.Agent.f
Exploit.Java.CVE-2009-3869.a
Exploit.Java.CVE-2010-0094.bb
Exploit.Java.CVE-2010-0094.e
Exploit.Java.CVE-2010-0094.q
Exploit.Java.CVE-2010-0840.gm
Exploit.Java.CVE-2010-0842.d
Exploit.Java.CVE-2010-3563.a
Exploit.Java.CVE-2011-3544.ac
Exploit.Java.CVE-2012-0507.al
Exploit.Java.CVE-2012-0507.je
Exploit.Java.CVE-2012-1723.ad
Exploit.Java.CVE-2012-4681.l
Exploit.JS.Aurora.a
Exploit.MSVisio.CVE-2011-3400.a
Exploit.Multi.CVE-2012-0754.a
Exploit.OSX.Smid.b
Exploit.SWF.CVE-2010-1297.c
Exploit.SWF.CVE-2011-0609.c
Exploit.SWF.CVE-2011-0611.ae
Exploit.SWF.CVE-2011-0611.cd
Exploit.Win32.CVE-2010-0188.a
Exploit.Win32.CVE-2010-0480.a
Exploit.Win32.CVE-2010-3653.a
Exploit.Win32.CVE-2010-3654.a
HackTool.Win32.Agent.vhs
HackTool.Win32.PWDump.a
HackTool.Win32.WinCred.e
HackTool.Win32.WinCred.i
HackTool.Win64.Agent.b
HackTool.Win64.WinCred.a
HackTool.Win64.WinCred.c
HEUR:Exploit.FreeBSD.CVE-2013-2171.a
HEUR:Exploit.Java.CVE-2012-1723.gen
HEUR:Exploit.Java.CVE-2013-0422.gen
HEUR:Exploit.Java.CVE-2013-0431.gen
HEUR:Exploit.Java.CVE-2013-2423.gen
HEUR:Exploit.Java.Generic
HEUR:Exploit.Script.Generic
HEUR:HackTool.AndroidOS.Revtcp.a
HEUR:Trojan-Downloader.Script.Generic
HEUR:Trojan-FakeAV.Win32.Onescan.gen
HEUR:Trojan.Java.Generic
HEUR:Trojan.Script.Generic
HEUR:Trojan.Win32.Generic
Hoax.Win32.ArchSMS.cbzph
KHSE:Exploit.PDF.Generic.a
not-a-virus:AdWare.JS.MultiPlug.z
not-a-virus:AdWare.NSIS.Agent.bx
not-a-virus:AdWare.Win32.Agent.allm
not-a-virus:AdWare.Win32.AirAdInstaller.cdgd
not-a-virus:AdWare.Win32.AirAdInstaller.emlr
not-a-virus:AdWare.Win32.Amonetize.fay
not-a-virus:AdWare.Win32.DomaIQ.cjw
not-a-virus:AdWare.Win32.Fiseria.t
not-a-virus:AdWare.Win32.iBryte.jda
not-a-virus:AdWare.Win32.Inffinity.yas
not-a-virus:AdWare.Win32.MultiPlug.nbjr
not-a-virus:AdWare.Win32.Shopper.adw
not-a-virus:Downloader.NSIS.Agent.am
not-a-virus:Downloader.NSIS.Agent.an
not-a-virus:Downloader.NSIS.Agent.as
not-a-virus:Downloader.NSIS.Agent.go
not-a-virus:Downloader.NSIS.Agent.lf
not-a-virus:Downloader.NSIS.OutBrowse.a
not-a-virus:Downloader.Win32.Agent.bxib
not-a-virus:Monitor.Win32.Hooker.br
not-a-virus:Monitor.Win32.KeyLogger.xh
not-a-virus:PSWTool.Win32.Cain.bp
not-a-virus:PSWTool.Win32.Cain.bq
not-a-virus:PSWTool.Win32.CredDump.a
not-a-virus:PSWTool.Win32.FirePass.ia
not-a-virus:PSWTool.Win32.NetPass.amv
not-a-virus:PSWTool.Win32.PWDump.3
not-a-virus:PSWTool.Win32.PWDump.4
not-a-virus:PSWTool.Win32.PWDump.5
not-a-virus:PSWTool.Win32.PWDump.ar
not-a-virus:PSWTool.Win32.PWDump.at
not-a-virus:PSWTool.Win32.PWDump.bey
not-a-virus:PSWTool.Win32.PWDump.bkr
not-a-virus:PSWTool.Win32.PWDump.bve
not-a-virus:PSWTool.Win32.PWDump.f
not-a-virus:PSWTool.Win32.PWDump.sa
not-a-virus:PSWTool.Win32.PWDump.yx
not-a-virus:RiskTool.Win32.WinCred.gen
not-a-virus:RiskTool.Win64.WinCred.a
not-a-virus:WebToolbar.JS.Condonit.a
not-a-virus:WebToolbar.Win32.Agent.avl
not-a-virus:WebToolbar.Win32.Cossder.updv
not-a-virus:WebToolbar.Win32.Cossder.uubg
not-a-virus:WebToolbar.Win32.MyWebSearch.sv
PDM:Trojan.Win32.Badur.a
Trojan-Banker.Win32.Agent.kan
Trojan-Downloader.Win32.Genome.jlcv
Trojan-Dropper.Win32.Injector.jqmj
Trojan-Dropper.Win32.Injector.ktep
Trojan-FakeAV.Win64.Agent.j
Trojan-Ransom.Win32.ZedoPoo.phd
Trojan.Java.Agent.at
Trojan.Win32.Adond.lbgp
Trojan.Win32.Buzus.umzt
Trojan.Win32.Buzus.uuzf
Trojan.Win32.Diple.fygv
Trojan.Win32.Genome.amqoa
Trojan.Win32.Genome.amtor
Trojan.Win32.Genome.kpzv
Trojan.Win32.Genome.ngd
Trojan.Win32.Inject.euxi
Trojan.Win32.Starter.ceg
Trojan.Win32.Swisyn.aaig
UDS:DangerousObject.Multi.Generic
UFO:(blocked)
VirTool.Win32.Rootkit
VirTool.Win32.Topo.12
Virus.Win32.Suspic.gen
WMUF:(blocked)
結論
ここまでで、冒頭に掲げた質問に対する回答が揃いました。以下にまとめます。
Q1 – Kaspersky Labのソフトウェアは、ユーザーのコンピューターから機密情報を引き出すのに使われたのか?
A1 – 当社ソフトウェアは意図されたとおりに動作し、積極的な調査の対象であったEquation Groupのマルウェアを検知する意図で作成されたシグネチャによるアラートを、当社アナリストに通知していました。こうした範囲を離れ、マルウェアのシグネチャをトリガーしなかった別のファイル、またはこれらシグネチャをトリガーしたアーカイブの一部ではないものを取得することには、全く使用されていません。
Q2 – Wall Street Journalの報道で触れられているインシデントが発生したのはいつのことか?
A2 – 当社の専門的見解では、当該インシデントが発生したのは2014年9月11日から2014年11月17日の間です。
Q3 – 機密情報を盗まれたと報道されている人物は何者か?
A3 – 当社ソフトウェアはユーザー情報の一部を匿名化するため、当該ユーザーが誰であったかを特定することはできません。仮に特定できたとしても、このような情報の公開は当社のポリシーおよび倫理基準に反します。当社が判断できるのは、当該ユーザーのIPアドレスが米国メリーランド州ボルチモアおよびその周辺エリアのVerizon FiOSのアドレスプールに割り当てられたものと推定される点です。
Q4 – この人物のコンピューター上で、機密情報が実際に意図せず見つかったのか?
A4 – 機密扱いであった可能性が疑われる情報が取得されたのは、Equation検知用のマルウェアシグネチャが発動したアーカイブの内部に含まれていたためです。アーカイブ内には、マルウェアだけでなく、Equationマルウェアのソースコードと見受けられたものと、機密マークの付いたWord文書が4つ、含まれていました。
Q5 – 機密情報をKaspersky Labが取得したのであれば、そのデータはその後どうなったのか?適切に取り扱われたのか?
A5 – Equationマルウェアのソースコードと疑われるものと機密文書を発見したアナリストは、発見後、本件をCEOへ報告しました。CEOの要請を受け、当該アーカイブは当社の全システムから削除されました。当該機密文書を含む当該アーカイブは当社ストレージからも削除され、システムに残存するのは、当該検知の痕跡(統計データおよび一部メタデータ)のみです。これらのデータが(米国政府基準に従って)「適切に取り扱われたか」については、当該ファイルの削除が米国の基準を満たしているのか判断できません。
Q6 – その情報はなぜ取得されたのか?取得されたのであれば、「ロシアのハッカー」または「ロシアの諜報機関」に渡されたのではないか?
A6 – 当該データが取得されたのは、当該アーカイブがEquationマルウェアのシグネチャに検知されたためです。当該データが当社の企業ネットワークを離れた兆候は発見されませんでした。当社セキュリティソフトウェアとアナリストとの間でのマルウェアファイルの転送は、条件を満たす長さの鍵によるRSAおよびAESベースの適切な暗号化レベルにて行われ、ネットワーク上の任意の場所からの傍受を許さなかったはずです。
Q7 – 当該人物のコンピューターから収集されたのは、どのような種類のファイルか?
A7 – 統計データによれば、Kaspersky Labへ送信されたファイルはほとんどがマルウェア検体および悪意があると疑われるものであり、スタンドアローンのファイルまたは7-zipファイルの内部にあったファイルです。本インシデントにおいて収集され現在も保管されているのは、悪意あるバイナリファイルのみです。
Q8 – 当該人物がその後ロシアの何者かに「ハッキング」されてデータが抜き出されたことを示す兆候はあるのか?
A8 – 本調査において判明した検知や警告から、当該コンピューターは当該期間中、未知の何者かによって不正アクセスされていた可能性が高いと見られます。バックドアが仕込まれた違法なMS Office 2013アクティベーションツール(当社製品が「Backdoor.Win32.Mokes.hvl」として検知したもの)を当該ユーザーがインストールしていた事実から、この判断に至りました。アンチウイルス機能が有効になった状態では当該マルウェアを実行不可能であったはずであり、当該ユーザーがアンチウイルス機能を無効化していたのは間違いありません。当該マルウェアはロシアのハッカーが2011年に作成したとされるトロイの木馬であり(後に「Smoke Bot」または「Smoke Loader」と特定された)、ロシアの闇フォーラム(リンク先はロシア語)で売買されていました。2014年9月から2014年11月の間、このマルウェアの指令サーバーは、「Zhou Lou」という名称の、中国湖南省に位置する何者かによって登録されていました。登録メールアドレスは「zhoulu823@gmail.com」でした。本件については現在も調査中であり、当該のマルウェアに関する詳細は別途調査レポートとしてご提供することになるかと思います。本調査におけるMokes(別名Smoke Bot、Smoke Loader)の詳しい解析結果については、こちらの英文レポートをご参照ください。
当然ながら、調査当時、当該コンピューターにて当社製品が検知しなかったマルウェアが存在した可能性はあります。当該ユーザーに付与されていたと見込まれる機密情報取扱レベルを鑑みると、当該ユーザーは国家レベルの主要な標的であった可能性があります。当該ユーザーが海賊版のWindowsおよびOfficeを明確に必要としていたこと、セキュリティ対策が不十分であったこと、機密資料と見られるものの取り扱いが不適切であることを考え合わせると、当該ユーザーから複数他者に情報が漏れていた可能性もあります。確かなのは、当該ユーザーの受動的同意に基づき収集されたマルウェアではないデータは、当社ストレージからすべて削除済みであるということです。
Q9 – Kaspersky Labの製品は、ユーザーのコンピューターからマルウェアとは関係ないデータを意図的に密かに取得可能か?
A9 – Kaspersky Labのセキュリティソフトウェアは、競合他社の類似のソリューションと同様に、コンピューターシステムへの特権的アクセス権を有しています。深刻なマルウェア感染に対抗し、感染してしまったシステムのコントロールをユーザーの元へ戻すためです。このレベルのアクセス権により、当社ソフトウェアは、技術的には保護対象システム上のいかなるファイルも見ることができます。アクセス可能な範囲が大きいということは大きな責任を伴うことであり、ユーザーのコンピューターからファイルを要求するシグネチャを作成する手順は慎重に扱われねばなりません。Kaspersky Labのマルウェアアナリストは、シグネチャを作成する権限を持っています。作成されたシグネチャは、抑制と均衡を適切に保つために、Kaspersky Lab内部の別グループによるレビューおよび関与を受けます。外部によるシグネチャ作成が試みられた場合は、内部データベースおよび履歴にて可視化されるだけでなく、リリース済みデータベースの第三者による外部モニタリングによっても明るみに出ます。当社シグネチャが社外リサーチャーや競合他社、対抗的な調査会社によって定期的にリバースエンジニアリングされていることを踏まえると、倫理的に問題のあるシグネチャが存在するようなことがあれば、すでに発見されていたはずですし、当社の内部分析および調査でも、そのようなシグネチャは発見されませんでした。
Equationの調査関連に話を絞ると、2014年から2016年の間でEquationの調査に取り組んでいたリサーチャーのうち、経験を積んだシグネチャ開発者の検証を受けずに直接シグネチャの開発に関わる権限を持つ者はいませんでした。Equation検体を探す中で疑わしい意図を持つシグネチャが存在したならば、シグネチャ開発リーダーによって問題視され、報告されていたはずです。
Q10 – サイバースパイが当社アナリストの画面を見ることができたと仮定した場合、スパイたちはそこに何を見ただろうか?また、見たものをどのように解釈しただろうか?
A10 – 当社では、当社のシグネチャデータベース内にキーワードや機密マークがないかどうか徹底的に調査しました。結果は陰性です。知られているような機密マークに関するシグネチャを当社が作成したことはありません。しかしながら、この徹底した調査の中で、以前に発表したTeamSpyの調査に関する興味深い発見がありました(TeamSpyの詳細についてはこちらをご覧ください:https://securelist.com/the-teamspy-crew-attacks-abusingteamviewer-for-cyberespionage-8/35520/)。TeamSpyマルウェアは、攻撃者が興味を持つ特定のファイルを自動的に収集するように設計されています。TeamSpyが定義していたファイル拡張子の中には、Office文書のもの(*.doc, *.rtf, *.xls, *.mdb)や、PDFファイルのもの(*.pdf)などがありました。加えて、ファイル名のキーワードに基づくワイルドカードを使った文字列パターンも使用されていました。例としては「*pass*」「*secret*」「*saidumlo*」(ジョージア語で「秘密」の意)などがあります。これらのパターンは当社が以前に発見したマルウェアにハードコードされていたため、類似のマルウェア検体を検知するために同パターンが使用されていた可能性があります。当社では、あるマルウェアアナリストが2015年に作成した、以下パターンを検索するシグネチャを発見しました。
- *saidumlo*
- *secret*.*
- *.xls
- *.pgp
- *pass*.*
これらの文字列は、サンドボックスで処理された検体のマルウェアダンプの中に位置していなければなりませんでした。それだけでなく、当該マルウェアアナリストは、誤検知を避けるために別のインジケーターも含めていました。インジケーターとして使われていたのは、マルウェアドロッパーがドロップしたファイルを保管するパス「ProgramData\Adobe\AdobeARM」です。
マルウェアアナリストがシグネチャを作成する際にこうした文字列を含める様子を情報機関の人間が目にした、と理論づけることが可能かもしれません。確かなことは言えないものの、当社のマイナス面を晒す材料を探す者からすると、こうした状況は先入観を引き起こしかねません。マルウェアアナリストの意図とは裏腹に、誤った解釈がなされ、当社に対する誤った申し立てに繋がり、上記のような(または類似の)文字列が映ったモニターはその論拠とされたかもしれません。
セキュリティリサーチャー、各国政府、さらには当社の直接的な民間競合他社など、多くの人々が当社に支援を表明してくださっています。当社に対する非難が今なお証明されることなく、事実に基づいた情報も提示されないという状況は、残念でなりません。噂、匿名の情報源、確固たる証拠の欠如は、怖れや不安や疑惑を広げるだけです。本レポートが長年の懸案を解き明かし、ここで提示した事実に基づいて人々が自分なりの結論を引き出すことができることを願います。適正な要請があれば、当社はさらなる調査を実施する準備もあります。
※2017年11月20日更新:中間報告のリンク先を日本語記事に変更しました