VirusTotal 概要
VirusTotal(ウイルストータル)は、さまざまな脅威インテリジェンスを提供する、無償・有償で利用することのできるGoogle Cloud社のソリューションです。2004年のサービスを開始以来、多くのユーザーにアップロードされてきた膨大なファイル、及びその解析結果の情報を保持する「マルウェアのGoogle」とも言えるサービスです。
VirusTotalは、専用のWebインターフェースやAPI経由で提供されるほか、自組織におけるGmailとChrome のログイベントに関連するセキュリティレポートをも提供しており、有償サービスのVirusTotal Enterpriseを契約する組織では、Google Workspaceの管理コンソールから脅威に関する詳細レポートを確認することが可能です。
※VirusTotal Enterprise未契約組織でも、標準レポートを確認することが可能です。詳細はGoogle Workspaceのヘルプページをや公式アップデート情報ご参考ください。
また、同じくGoogle Cloud社が提供するChronicle Security Operationsの脅威インテリジェンスは、VirusTotalとMandiant Threat Intelligenceによって支えられています。
VirusTotalの主な特徴
VirusTotalは、世界最大クラウドソース脅威インテリジェンスです。
- 2004年からウイルスデータを収集・蓄積してきた実績
- グローバルで232カ国以上、月間平均で200万以上のユーザーが利用
- 30億以上のファイル(圧縮ファイルを含めると、500億以上)
- 50億以上のURL、30億以上のドメイン、50億以上のPassive DNSレコード
- 検出のためのデータソースとして、70以上の アンチウイルス / 70以上の URLデータベース / 15以上の サンドボックス / 20以上の ルール (YARA, SIGMA, IDS)
※ソースのリストはこのページで確認可能です。
バンドルライセンス一覧
VirusTotal Enterpriseのバンドルライセンスとしては、以下の4種類が提供されています。
- VirusTotal Basic Bundle
- VirusTotal Professional Bundle
- VirusTotal Professional+ Bundle*1
- VirusTotal Duet Bundle
*1 旧名称「VirusTotal Enterprise Bundle」は、2023年5月に「VirusTotal Professional+ Bundle」に名称が変更されました。
それぞれのバンドルライセンスの違いは下表の通りです。制限回数については本ページのFAQをご確認ください。
Basic Bundle | Professional Bundle | Professional+ Bundle | Duet Bundle | |
---|---|---|---|---|
VT Intelligenceによる高度な検索 | 300/月 | 1,000/月 | 5,000/月 | 20,000/月 |
VT Intelligenceによるファイルダウンロード | 300/月 | 1,000/月 | 5,000/月 | 20,000/月 |
VT Graph | Public Graphのみ | Public Graphのみ | Public Graphのみ | Public Graphと Private Graph |
RetroHuntの実行回数 | 2回/月 | 5回/月 | 25回/月 | 1,000回/月 |
LiveHuntで設定可能なYARAルール数 | 25ルール | 25ルール | 100ルール | 20,000ルール |
VTDiffの実行回数 | 5回/月 | 25回/月 | 100回/月 | 10,000回/月 |
VT API | Private API (Premium API) 1,000/日 | Private API (Premium API) 10,000/日 | Private API (Premium API) 30,000/日 | Private API (Premium API) 100,000,000/月 |
VT Insights | 利用不可 (オプションの追加も不可) | |||
Threat Hunter PRO | 別途オプション | |||
VT Feeds | 別途オプション | |||
VT Alerts | 別途オプション | |||
Private Scanning | 別途オプション | |||
メーカーサポート | 標準サポート | 標準サポート | 標準サポート | 優先サポート VIPプログラム |
*2 Intelligence Searchの回数については、APIv3によるクエリ利用時にも消費されることがあります。Premium APIの契約がある場合にはPremium APIの回数から優先的に消費され、Premium APIの契約がない場合には、Intelligence Searchの回数から消費されます。
バンドルに含まれる各種サービス
上の表の通り、VirusTotal Enterpriseのバンドルライセンスには、以下のサービスが含まれます。各サービス内容の詳細は後述します。
-
- VT Intelligence (高度な検索・ファイルのDLが可能)
- VT Graph
- VT Hunting (Retrohunt、Livehunt、VTDiffの機能が利用可能)
- VT API
- VT Insights
※VT Insightsは、「Professional+ Bundle」と「Duet Bundle」のライセンスにのみ付帯します。
VT Intelligence/VT Graph/VT APIは、機能制限があるものの、機能の一部は無料で利用できます。
-
- 【ログインせずに、ゲストとして利用する場合】VT Intelligence の一部機能が利用可能。
- 【無料会員としてログインして利用する場合】VT Intelligence、VT Graph、VT APIの一部機能が利用可能。
追加オプションサービス
Basic Bundleなどの一部バンドルライセンスに標準で含まれないサービスとして、Threat Hunter PRO、Private Graph、VT Feeds、VT Alerts、Private Scanningといったサービスがあり、これらは別途追加オプションとしての契約が可能です。また、VT Intelligence、VT APIなどの制限回数も追加オプションにより増やすことが可能です。
追加オプションのサービスの機能詳細は、各種追加オプションサービス で後述します。
※Threat Hunter PROは、「Professional+ Bundle」と「Duet Bundle」のライセンスにのみ、標準で付帯します。
※Private Graphは、「Duet Bundle」のライセンスにのみ、標準で付帯します。
参考:各種検索機能の期間的制約
VirusTotalにはさまざまな検索機能が備わっております。具体的には、Content Search (VTGREP)、Intelligence Search、Retrohunt、Livehunt、VT Feedsが挙げられます。それぞれが行う検索の方法はもとより、検索できる期間が異なります。
- VT Feeds:リアルタイムに取得、および過去7日間分を取得
- Livehunt:リアルタイムに監視・通知
- Content Search (VT GREP):過去3ヶ月間分(※)を対象に検索
- Intelligence Search:過去3ヶ月間分(※)を対象に検索
- Retrohunt:過去3ヶ月間分(※)を対象に検索
- ハッシュ値検索:過去の期間制限なし(VirusTotalのサービス開始である2004年以来、全期間を対象に検索)
※以下のいずれかに該当する場合、「Content Search (VT GREP)」「Intelligence Search」「Retrohunt」の3つは、過去12ヶ月間を対象に検索することが可能になります。これらは、ハッシュ値検索と比較すると期間の制約が強いですが、その分、高度な検索が可能です。
- 「Professional+ Bundle」と「Duet Bundle」のいずれかを契約している場合
- 「Basic Bundle」と「Professional Bundle」のいずれかに、「Threat Hunter PRO」のオプションを付加して契約している場合
【検索可能対象期間のイメージ図】
VT Intelligence
VT Intelligenceには、無料会員向けサービスに含まれる機能と、有料会員向けサービスにのみ含まれる機能があります。
有料会員向けサービスでは、無料会員向けサービスで利用可能な機能に加えて、以下の1〜4の機能があります。
- ファイルをダウンロードすることができます。
- 後述する「Intelligence Search」「Content Search (VT Grep)」の機能を利用できます。
※「Content Search (VT Grep)」は、厳密には「Intelligence Search」に含まれる機能ですが、ここでは便宜的に両者を区別します。 - 詳細確認画面において、関連情報の検索をサポートする機能があります。
- 詳細確認画面において、確認可能な情報量が増加します(例えばIoCがファイルの場合、CONTENTページとTELEMETRYページが確認可能になり、加えて、DETECTION等その他ページで確認可能な情報が増加)。
【無料会員が確認可能なページ(ファイルの場合)】
【有料会員が確認可能なページ(ファイルの場合)】
※上記画面におけるCOMMUNITYページの数字の差異(2と6)は、VT Insights(Threat Landscape)の契約有無によるものです。
CONTENTとTELEMETRY以外のページでの増加情報は以下の通りです(例示であり、これらに限定されません)。
- 【DETECTIONページ】各種メタデータの情報(ExifTool File Metadataなど)
- 【RELATIONページ】ファイルに含まれるURLなどの悪性評価情報など
- 【RELATIONページ】対象ドメインに含まれるURLと、対象ドメインからダウンロードされるファイルに関する情報
Intelligence Search
- 以下の項目の値などをもとにした高度な検索が可能です。装飾子を用いたクエリ検索を行うことで、より多くの項目をもとに検索を行うことが可能です。詳細は、VirusTotal Intelligence「高度な検索」について の記事をご参考ください。
- ファイルの種類
実行ファイル、インターネット系ファイル、文書、画像、音声、動画、圧縮ファイル、Apple系ファイルが指定可能です。装飾子を用いた検索では、より細分化した詳細な検索が可能です。
例えば実行ファイルの場合、peexe, pedll, ne, neexe, nedll, mz, msi, com, coff, elf, krnl, rpm, linux, macho, dmg, windows, win16, win32, pe, installer, dos, deb が指定可能です。 - 悪性判定ベンダー数
- ファイルの最小/最大サイズ
- アンチウイルスソフトによる検知名(例:Trojan.Isbar)
- Behavior(サンドボックス)レポートに含まれる文字列(例:pexe、dmg、apks)
- メタデータに含まれる文字列
- 署名に含まれる文字列
- 検体がダウンロードされる時のURL に含まれる文字列
- ファイル名
- tag(VirusTotalによって付与されたタグ情報)
- 初めて/最後にアップロードされた日付
- アップロード回数
- アップロード元の数(1つのアップロード元が、複数回アップロードしていてもカウントは増えない)
- 署名の有無
- P2P C&C通信を行うファイルかどうか
- 「多数のドメインを解決しようと試みるものの、NXDOMAIN応答が多く返ってくる」という性質を持つファイルかどうか
- DGA(Domain Generate Algorithm)を用いて、C&Cドメインと通信するファイルかどうか
※DGAは、C&Cサーバーのドメインを頻繁に変更することにより、マルウェアからC&Cサーバーへのコールバックを隠蔽するための仕組みのこと。
- ファイルの種類
- 検索対象となる期間は、過去遡及可能な範囲に制限があります(契約によりますが、過去3ヶ月または12ヶ月)。
詳細は「各種追加オプションサービス」の Threat Hunter PRO を参照ください。 - クエリの記載方法についてはこちらをご参照ください。また、ファイル検索修飾子 チートシート でもご確認いただけます。
Content Search (VT Grep)
- ハッシュ値やメタデータなどを対象にして検索するのではなく、含まれるバイナリデータを対象にして検索する機能です。VBAマクロなども検索対象にすることが可能です。
- バイナリから文字列データやバイナリパターンを検索します。後述するRetrohuntやLivehuntを実行する前に、まずはVTGrepで精度を確認するという使い方も有効です。
- content: { (value) } というクエリを用いて検索を行います。
※(value)には、検索したい値を指定。
※クエリの記載方法については、こちらをご参照ください。 - 検索対象となる期間は、過去遡及可能な範囲に制限があります(契約によりますが、過去3ヶ月または12ヶ月)。
詳細は「各種追加オプションサービス」の Threat Hunter PRO を参照ください。
VirusTotal Code Insight
VirusTotal Code Insightは、生成AIモデルSec-PaLMをベースにして、コードがどのように動作するかを自然言語で説明する機能です。2023年6月現在では、無料会員でも利用可能です。
また、2023年6月現在で、以下に対応しています。
- PowerShellスクリプト
- バッチファイル(BAT)
- コマンド プロンプト(CMD)
- シェルスクリプト(SH)
- VBScript(VBS)
【Code Insightによる説明例】
Code Insightは2023年4月にリリースされて間もない機能ですが、今後、以下のような機能が拡充していくことが予定されています。
- ファイルの種類とサイズのサポートを拡大。
- バイナリファイルや実行ファイルの解析のサポート。
- コードそのもの以外の文脈情報を捕捉するなどしてより深い解析を行う。
例:コードされているURLやファイルに関連するメタデータにアクセスして、追加情報を得る 等
VT Intelligence紹介動画
VT Graph
VT Graphは、VirusTotalのデータベースから情報を収集し、ファイル、URL、ドメイン、IP アドレスなど様々な関係性を示すグラフを生成します。グラフは、ノード(データ)とエッジ(関係性)で構成され、グラフの見た目やフィルタリング、検索、表示オプションの変更など、様々なカスタマイズが可能です。
VT Graphを利用することにより、大量の情報を直感的に理解できるので、関連するデータを素早く特定し、分析をより迅速に行うことができます。Maltegoと似た操作感でご利用いただけます。
VT Graphには、無料サービスに含まれる機能と、有償サービスにのみ含まれる機能があります。
有償サービスでは、無料サービスで確認可能な情報に加えて、以下情報を確認できます。
ファイルの場合
-
-
- Itw Urls
- Itw Domains
- Embedded Domains
- Compressed Parents
- Pcap Parents
- Overlay Parents
-
URL の場合
-
-
- Downloaded Files
-
さらに、Duet Bundleを契約する、またはPrivate Graphのアドオンを契約することにより、調査結果を公開せずにグラフを保存することが可能です。
VT Graph紹介動画
VT Hunting
VT Huntingは、ハッシュ値やメタデータなどを対象にして検索するのではなく、含まれるバイナリデータを対象にした検索をサポートします。
Retrohunt、Livehunt、VTDiffの3つの機能が利用可能です。
Retrohunt
Retrohuntは、Content Searchと同様に、バイナリデータを使って検索する機能です。検索にYARAルールを使用し、より精度の高い検索を行うことが可能です。
特定のマルウェアファミリーを捕捉するYARAルールの精度を確認し、修正する用途で利用することも可能です。
【参考ブログ記事】Stopping Cobalt Strike with YARA
過去3ヶ月間または12ヶ月間(※)に VirusTotalにアップロードされたファイルを、任意のYARA ルールでスキャンできます。過去3ヶ月間を対象としたRetrohuntのジョブは、2~3時間で5億ファイル以上(500TB以上)のコーパスをスキャンし、指定したYARAルールに一致したファイルに関するレポートを得ることができます。
※12ヶ月間まで対象にできるのは、Professional+ BundleまたはDuet Bundleをご契約の場合、または別途アドオンサービス「Threat Hunter PRO」をご契約の場合に限定されます。また、期間を任意の長さに限定することも可能です。詳細は「各種追加オプションサービス」の Threat Hunter PRO を参照ください。
また、グッドウェアとされる約100万ファイルからなる比較的小規模のコーパスをスキャンすることも可能で、YARAルールをテストする際に偽陽性を発見しやすくなるので便利です。これは通常1分未満で完了します。
【Retrohuntのジョブ作成画面】
Livehunt
Livehuntは、検知ルールに該当する投稿やスキャンがないかリアルタイムで監視し、該当するものがあれば通知する機能です。検知ルールとしてYARAルールを使用します。後述するVT Insightsを契約している場合、IoC Streamのソースとして設定することも可能です。
【Livehuntのジョブ作成画面】
RetrohuntとLivehuntにおけるジョブ作成画面は、2023年7月のアップデートにより、利便性が大きく向上しました。テンプレート機能と、作成したYARAルールのテスト機能が新たに実装されました。
加えてLivehuntにおいては、ファイルの他にもURL・ドメイン・IPに関するIoCを捕捉するための機能が実装されました。
【Livehuntのジョブ作成開始時、どのYARAルールを作成するかの選択肢(ファイル・URL・ドメイン・IP)】
【作成済みLivehuntのルール一覧画面】
【Livehuntによるメール通知画面例 ※中間は省略】
VTDiff
ファイルグループ(マルウェアファミリー、脅威キャンペーン、脅威アクターツールセット)を検出するための最適なパターンの特定を自動化することで、YARAルール作成を支援する機能です。
これらのパターンは、Livehunt、Retrohunt、Content Search(VT GREP)で使用することができます。
Crowdsourced YARA Hub
YARAルールの利用を支援する機能としては、VTDiffの他にも、Crowdsourced YARA Hubがあります。
これを用いることにより、他の分析者が公開しているYARAルールを利用することが可能です。
VT API
VirusTotal APIを利用することにより、さまざまなタスクをプログラムで実行し、VirusTotalデータセットを用いるワークフローを自動化することが可能です。
また、組織内で利用している、サードパーティのセキュリティソリューションと組み合わせて利用することにより、当該セキュリティソリューションを強化することもでき、幅広い種類の脅威情報(ハッシュ、ドメイン、IP、URL、SSL証明書など)を監視することが可能です。連携可能なセキュリティソリューションの例と、それらの連携設定方法などについては、こちらをご参考ください。
無料で利用可能なVirusTotal Public APIと、有償で利用可能なVirusTotal Private APIの2種類があり、Public APIには一部制限があります。両者の違いについては、VirusTotalのPublic APIとPrivate APIの違い をご覧ください。
主な機能は、以下の通りです。
- ファイルをアップロードしてスキャン:各種セキュリティツール群(70以上のアンチウイルス製品、10以上の動的解析サンドボックス、その他多くのセキュリティツール、およびデータセット)によりファイルを解析し、脅威スコアとそれを理解するための関連情報を提供します。
- ハッシュ値によるファイルレポートの取得: MD5、SHA1、SHA256いずれかのハッシュ値を指定すると、各種セキュリティツール群によって生成された、脅威の評価と関連情報を含む解析レポートを取得します。
- URLスキャン:各種セキュリティツール群でURLを分析し、脅威のスコアと関連情報を生成します。
- URL分析レポート/ドメイン分析レポート/IPアドレス分析レポートの取得:URL/ドメイン/IPアドレスを指定すると、各種セキュリティツール群によって作成された、脅威の評価と関連情報を含む解析レポートを取得します。
なお、APIのリファレンスは全て公開されています。例えば、ファイルアップロードについてはこちらをご参考ください。
VT Insights
VT Insights は、各種IoC(ファイル・IPアドレス・ドメイン)に関連する「References」「Collections」「Threat Actors」の情報の検索と確認が可能となるサービスです。
Professional+ BundleまたはDuet Bundleを契約している場合にのみ、利用可能です。
Basic BundleまたはProfessional Bundleを契約している場合、本機能は利用できません。
- References:各セキュリティベンダーや研究者が公開している情報を確認することが可能。
- Collections:攻撃キャンペーンや脅威アクターに関連する、ファイルのハッシュ値、WebページのURL・ドメイン、各種IPアドレスなどのIoCを、一定のまとまりごとに確認することが可能。
- Threat Actors:攻撃者グループに関する詳細と、それらに関連するIoCなどを確認することが可能。
VT Insights の契約がある場合、主に以下のことが可能になります。
-
- References/Threat Actorsの情報の閲覧
- References/Collections/Threat Actorsの検索
- IoC Streamの活用
それぞれ、以下にて詳説します。
References/Threat Actorsの情報の閲覧
各種IoCのCOMMUNITYページにおいて、そのIoCに関連すると判断される「References」と「Threat Actors」の情報が表示されます。関連する「References」「Threat Actors」が複数ある場合は、全て表示します。「Collections」の情報と合わせて確認することにより、攻撃者がどういった集団で、どういった特性の攻撃を受けた可能性があるかの理解が容易になります。
なお「Collections」の情報は、無料会員でも表示されます。以下画像は、VT Insights の契約がない場合の表示です。
References/Collections/Threat Actorsの検索
「Threat Landscape」のページにおいて、「Collectionsの検索」「Threat Actorsの検索」「Referencesの検索」が可能です。検索結果のいずれかを選択すると、その詳細(IoC、TTPsなど)を確認することが可能です。
Collections
(検索結果の例)日本を含む各国をターゲットにする脅威に関連するCollectionsの検索結果
(Collectionsの詳細確認画面の例)上図一覧のうち「CryptoCore Threat Actor (Lazarus Group) Targeting Cryptocurrency Exchanges」に関して説明した詳細確認画面の例
なお、それぞれのCollectionsは、STIXなどの形式でエクスポートすることも可能です。
STIXは、MITREが中心となって策定した脅威情報に関する構造化言語で、これを例えばEDR等に取り込み検知ルールに加えることで、より自組織に適した対策を講じることが可能になります。
Threat Actors
(検索結果の例)日本を含む各国をターゲットにする攻撃者グループの検索結果
(Threat Actorsの詳細確認画面の例)上図一覧のうち「Lazarus Group」に関して説明した詳細確認画面
References
(検索結果の例)2023年1月1日以降に作成、かつキーワード「emotet」での検索結果
(Referencesの詳細確認画面の例)上図一覧のうち「OneNoteで拡散中のEmotetマルウェア – ASECブログ」の詳細確認画面
「Screenshot」をクリックすることで、素早く当該ソース記事を確認することも可能です。
IoC Streamの活用
「Threat Landscape」のページにおいて、検索結果として表示されているCollectionsまたはThreat Actorsの中から、1つまたは複数を選択して、IoC Streamのソースとして追加(Subscribe)することが可能です。
あるいは、各種IoCのCOMMUNITYページで閲覧している特定のCollectionsまたはThreat Actorsを、個別にIoC Streamのソースとして追加(Subscribe)することも可能です。
IoC Streamのソースとして追加したCollections、Threat Actors、livehuntルールのいずれかに該当するIoCが、VirusTotalに新たに追加された場合、ユーザーに通知が飛ぶとともに、IoC Streamのページでそれらの詳細を確認することができます。
各種追加オプションサービス
VirusTotal Basic Bundleなどの各Bundleライセンスに標準で含まれないサービスとして、Threat Hunter PRO、VT Feeds、VT Alerts、Private Scanningといったサービスがあります。これらは、各サービス単体での契約、または追加オプションとしての契約が可能です。
※Threat Hunter PROは、Professional+ BundleとDuet Bundleのライセンスにのみ、標準で付帯します。また、その機能の性質上、単体での契約は不可で、少なくともVT Intelligenceの契約が必要です。
Threat Hunter PRO
- 前提として、VirusTotal Basic BundleとVirusTotal Professional Bundleは、通常、Intelligence Search、Content Search (VTGREP)、Retrohuntの3つを、過去3ヶ月間分を対象して実行可能です。Threat Hunter PROは、この対象期間を過去12ヶ月間分にまで拡張するためのオプションです。
- Professional+ BundleとDuet Bundleには、Threat Hunter PROのサービスが標準で付帯しております。
- このオプションを付帯することにより、例えば以下のメリットが得られます。
- マルウェアファミリーを調査する場合、その最初の亜種にまで遡って調査することが有用です。
攻撃キャンペーンの初期段階では、攻撃者の不注意により、デバッグの残骸として残された情報(デバッグメッセージ、デバッグビルド、ログファイルなど)やネットワークインフラに関する情報などの手がかりが残っていることが多く、アトリビューションにより攻撃者の詳細を知ることができます。 - APT攻撃では、幾多の亜種が存在するような汎用的なマルウェアは用いられず、短期間で十分なサンプリングを得ることが困難です。過去12ヶ月間の十分なサンプリングを得て、全体像を見ることにより、攻撃者のTTPsの理解が深まります。
- マルウェアファミリーを調査する場合、その最初の亜種にまで遡って調査することが有用です。
VT Feeds
VT Feedsは、定期的に更新される脅威情報を、API経由で提供するサービスです。巨大なユーザーコミュニティに裏打ちされた膨大な脅威情報を、リアルタイムで取得することができます。
脅威情報を自動的に取得し、自組織のセキュリティソリューションと統合して利用することにより、迅速な対応を行うことが可能です。
また、自社データをVirusTotalの環境上にアップロードすることなく分析を行うことができるため、意図しない情報開示も未然に防ぐことが可能です。
以下の各種Feedがあり、それぞれ個別に契約することが可能です。
-
- File Feed
- URL Feed
- Sandbox Feed
- Domain Feed
- IP Address Feed
VT Alerts
VT Alertsは、お客様のインフラや知的財産に一致するものをVirusTotalで新しく検出した時に、通知を提供するサービスです。自社のネットワーク関連資産や、ブランド、知的財産に関連する用語を含むウォッチリストを作成することにより、監視を開始します。
Private Scanning
Private Scanningは、自社以外の第三者の目に触れる形でファイルをアップロードすることなく、完全にプライベートな環境でファイルを分析するためのサービスです。
Private Scanning 機能概要
- 静的解析、動的解析、ネットワーク解析、類似性解析、自動化された脅威情報収集が可能です。
- 標準サービスで得られるような、複数のアンチウイルスエンジンによるスコアリング結果は得られません。
- もしスキャン結果がVirusTotalにすでに存在している場合は、対象をアップロードすることなくその結果を確認することが可能です。
これにより、アップロード制限回数を消費することを避けることが可能です。 - VT APIまたはWebインターフェイスを介して利用可能で、また、コマンドラインスクリプトによる自動化も可能です。
- 暗号化されたZipファイルをアップロードした場合は、解除パスワードの入力が求められます。
各種情報
- FAQ(開発元ウェブサイト)
- ファイル検索修飾子 チートシート