ダウンロードしたファイルが安全かどうかを確認する時、VirusTotalが便利です。セキュリティアプリはそれぞれ性能が異なるので、あるアプリで安全と判定されても、別のアプリでは危険となることがあります。VirusTotalは、70以上のエンジンで一括検査をするので、総合的に判断をすることができます。この記事では、VirusTotalの使い方と注意点について、わかりやすく解説しています。
VirusTotalの信頼性
VirusTotalの概要、無料版と有料版の違い、注意点について解説します。
VirusTotalとは
「VirusTotal」とは、ファイルやウェブサイトに、マルウェアやフィッシングなどの危険性があるかを調べることができるオンラインサービスです。70以上のアンチウイルスエンジンで一括スキャンして評価するところが特徴です。
2004年にスペインのセキュリティ企業であるHispasec Sistemasによって公開され、2012年にGoogleに買収されました。現在は、Googleの親会社であるAlphabetの一部となっています。
基本的には、セキュリティ専門家向けのサービスですが、一般ユーザーでも気軽に使用できるようになっています。
少数のファイルをスキャンするだけであれば無料で使用できます。
無料で使える?
VirusTotalは、以下のような基本機能が無料で使えます。アカウント登録も不要です。
- ファイル検査
- URL検査
- IPアドレス検査
- ドメイン検査
- ハッシュ値検査
アカウント登録することで、「API」「グラフ(Graph)」「コレクション(Collection)」が利用できるようになります。
APIには以下の制限があります。
- 商用利用は不可
- 4回/分
- 500回/日
- 15,500回/月
グラフは、脅威の相関関係を視覚的に表示する機能ですが、素人が見ても分かりません。
コレクションは、ファイルやURLなどを一つのセットとしてまとめ、管理する機能です。
つまり、一般ユーザーであればアカウント登録は不要でしょう。
有料版との違いは?
VirusTotalのプレミアムサービスは、セキュリティ企業や研究機関向けのサービスで、料金は規模に応じて、数百万円~/年となっています。
有料版を契約すると、以下のようなサービスを利用することができます。
- Intelligence: セキュリティ情報データベース
- Hunt: リアルタイム監視
- Graph: より高度なグラフ機能
- API: 規模に応じて制限解除
VirusTotalは信頼できる?
VirusTotalは、複数のエンジンで一括検査をするので、その結果はかなり信頼できると言えます。
結果は各エンジンにより異なるので、総合的に評価をするということになります。
世界中のセキュリティ機関によって使用されており、これより信頼性が高いサービスは、あまりないのではないかと思います。
VirusTotalが誤検知することはある?
VirusTotalは70以上のエンジンで一括検査をしますが、それぞれの結果が異なっていることの方が多いです。
検出する割合と危険性には、あまり関係がありません。
70のうち1つでも検出したら注意すべきですし、0だから安全ということでもありません。
特に、未知の脆弱性を利用した新種のマルウェアは検出できないことがあります。
情報漏洩の危険がある?
VirusTotalは、ファイルをアップロードしてスキャンしますが、そのファイルはセキュリティ企業や研究者に共有される可能性があります。
機密情報や個人情報を含むファイルをアップロードしないように注意しましょう。
アップロードする代わりに、ハッシュ値を用いることで、過去の検査に一致するものがあるか調べることができます。
削除申請の方法
誤ってファイルをアップロードしてしまった場合は、コンタクトフォームから削除申請をすることができます。
「Subject」で、「I have accidentally uploaded something private」を選択してください。
やり取りは英語に限られると思います。
日本語に対応している?
VirusTotalは日本語に対応していません。
日本語以前の問題として、表示内容はかなり専門的なので、素人ではなかなか理解が難しいところがあります。
とりあえずの確認くらいであれば、ブラウザの翻訳機能でも十分かと思います。
スマホアプリはある?
非公式ではありますが、Androidに対応したアプリがあります。iOS版はありません。
インストールされているアプリのハッシュ値を一括検査する機能のみのようです。
ダウンロードしたファイルの検査には対応していないので、PCと同じようにブラウザからファイルをアップロードするか、ハッシュ値で検索する必要があります。
VirusTotalの使い方と信頼性の注意点
VirusTotalの基本的な使い方と、Windows・Androidでハッシュ値を調べる方法について解説します。
ファイル検索
ブラウザで「https://www.virustotal.com/」にアクセスします。
「FILE」から「Choose file」をクリックし、アップロードするファイルを選択します。
今回は、パスワード付きのZipファイルをアップロードしたので、パスワードを入力します。
ちなみに今回は、Malware Bazaarのサンプルファイルを使用しています。(取り扱いにはご注意ください)
検索結果の見方
検査が完了すると、以下のような画面となります。
①今回は、72のエンジンのうち、23で悪意があると判定されました。
②ここにハッシュ値が表示されます。後から使用することも多いので、メモしておいたほうが良いです。(サンプルファイルを使ったので、最初からハッシュ値がファイル名となっています)
③各エンジンの検査結果が表示されます。PCの場合、2列で表示されていることにご注意ください。
出力の仕方は、各エンジンにより異なり、統一されていないようです。よく使われている用語をご紹介します。
- Clean: 安全
- Harmless: 安全
- Safe: 安全
- Unsafe: 危険
- Detected: 検出された
- Undetected: 検出されなかった
- Suspicious: 疑わしい
- Malicious: 悪意がある
- Phishing: フィッシングサイト
- Malware: マルウェア
- Unknown: 不明
- Type-Unsupported: 検査対象外
- Unrated: 未評価
これ以外の箇所は、かなり専門的な内容となっています。
URL検索
「URL」では、フィッシングサイトやマルウェア配布サイトなど、悪意のあるサイトかどうかを検査できます。
ちなみに当サイト(https://vpn-taizen.com/)を調べたところ、96のエンジンのうち、1つで悪意がある判定となりました。Wordpressの何かしらの機能が引っかかっていると思われます。ご迷惑をおかけします。
ハッシュ値検索
「SEARCH」では、ファイルをアップロードする代わりに、ハッシュ値で検索をすることができます。
これは過去にアップロードされたファイルと一致しているかどうかでしかないので、一度もアップロードされてことがないファイルに対しては有効ではありません。
そのため、ファイルのアップロードに比べれば検査精度は劣ります。
ファイルをアップロードすると、研究機関内で共有されるので、情報漏洩を避けるためにはハッシュ値検索を活用しましょう。
ちなみにこちらは、上記でアップロードしたファイルと同じハッシュ値なのですが、23/71から46/71へと検出精度が上昇しています。時間差で、各エンジンが対応してきたためと思われます。
ハッシュ値とは
ハッシュ値とは、あるデータを入力として、特定の関数で計算をして得られる、固有の値のことです。
入力データが同じであれば必ず同じハッシュ値となるので、データの整合性や改ざんの検出に使用されます。(異なる入力データで同じハッシュ値となることも極稀にある)
ハッシュ関数にはいろいろありますが、VirusTotalでは「SHA-256」が標準で使用されています。
その他のアルゴリズムとしては、目的と計算速度に応じて「MD5」や「CRC」がよく使われています。
ハッシュ値を調べる方法
ハッシュ値を調べる方法はいろいろありますが、比較的簡単な方法をご紹介します。
Windows
コマンドプロンプト
WIndowsでは、コマンドプロンプトの「certutil」コマンドで調べることができます。
certutil -hashfile <ファイルのパス> SHA256
PowerShell
PowerShellの場合は「Get-FileHash」を使用します。
Get-FileHash -Path <ファイルのパス> -Algorithm SHA256
7-Zip
多くの人が使用している圧縮・解凍アプリの「7-Zip」にも、ハッシュ値を調べる機能がついています。
調べたいファイルを右クリックし、「その他のオプションを確認」-「7-zip」-「CRC SHA」-「SHA-256」と選択すると、表示されます。
Android
Androidにも、ハッシュ値を調べることができるアプリはいろいろありますが、ここでは「Hash Checker」をご紹介します。
アルゴリズムで「SHA-256」を選択します。
「File」で調べたいファイルを選択し、「Action」をタップします。
「Generated hash」にハッシュ値が表示されます。
iOS
iOSではハッシュ計算をする機能が制限されており、通常は使用できないようです。
ハッシュを計算することで、例えばユーザーがどのファイルをダウンロードしたか等を特定できるので、プライバシー保護の観点から使用できなくなっているようです。
iOSでハッシュ値を調べるには、オンラインツールを使用する必要がありますが、どこかにファイルをアップするのであれば、最初からVirusTotalにアップしたほうがまだ良いでしょう。
個人情報や機密情報を含むファイルをアップしないようにご注意ください。
Androidアプリ
Androidでは、非公式ながらVIrusTotalアプリも公開されています。
利用方法は、「SCAN!」をクリックするだけです。
そうすると、インストールされているアプリを検証してくれます。
アプリのハッシュ値で検索しているだけと思われます。
Google Play プロテクトで十分?
しかしハッシュ値を調べる程度のことであれば、すでに「Google Play プロテクト」が行っているので、わざわざ利用する必要はないと思われます。
念のため、「Google Play プロテクト」が有効になっているか確認してください。
「設定」-「セキュリティ」-「Google Play プロテクト」から、右上の「歯車アイコン」をタップします。
「Play プロテクト」によるアプリのスキャンがオンになっていることを確認します。
iOSにはないの?
iOSには、VirusTotalアプリはありません。
上記のように、ハッシュ値の計算ができないためと思われます。
iOSでは、アプリはそれぞれのサンドボックス内で動作するので、他のアプリへのアクセスが制限されています。
また、OS標準で不審な挙動を監視している他、厳格な審査があるApp Store経由でしかアプリをインストールできない等、Apple全体としてデバイスを保護しています。