今回はインターネットを巡回していると、セキュリティウォッチャーならずとも一度は聞いたことあると思うVirusTotalというサービスについて紹介します。
VirusTotalとは
VirusTotalは2004年にHispasec設立したオンラインのマルウェアスキャンサービス。2012年にGoogleが買収し現在はGoogleが運営しています。
主な特徴は
圧倒的複数のAntiVirusスキャンエンジンを用いてファイルを無償で悪性判定できる
圧倒的複数のAntiVirusスキャンエンジンを用いてURLを無償で悪性判定できる
有償のサービスのVirusTotal Intelligence 使用すると不特定多数のユーザがVirusTotalでスキャンしたファイルを入手することができる
というものです。 すごいのは、なんといっても圧倒的複数のAntiVirusスキャンエンジンを無償で利用できるという点。大小50以上のセキュリティベンダが提供しているスキャンエンジンを使用し、分析を行うことができます。
ただし、利用には十分注意してください!
VirusTotalはとても便利なサービスですが、利用には充分注意しましょう。 VirusTotalでファイルを悪性判定しようとし、うっかり業務ファイルをスキャン対象にしてしまったとしましょう。
VirusTotalでファイルをスキャンするためにはファイルを実際にアップロードしなければならないため、VirusTotal側に提供することになります。
VirusTotalを利用したファイルは前述の有償サービスを利用することで取得することができるため、業務ファイルを安易にスキャンのためにアップロードしてしまうと、途端に情報漏洩になってしまうので、絶対に業務ファイルをアップロードしないように注意してください。
メールに添付されたファイルが本当に悪性かどうかを調べたくてVirusTotalにかけてしまい、重要なファイルを情報漏洩しまった、という事例を聞いたことがあるため、本当に注意してください!
前述の通りファイルを直接スキャンするのはお勧めできませんが、VirusTotalに蓄積されたデータベース上で過去にスキャンした結果をHASHで問い合わせることができます。
例えば悪性判定したいファイルのHASHをVirusTotalに投げて、過去に悪性判定されたものなのかどうかを調べるなどすれば、安全に悪性判定することができるかと思います。
スキャンで使用したパラメータはVirusTotal側で収集されていますので、外に出したくないURLなどはVirusTotalに投げないようにしましょう。
PublicAPI
前述の無償のAntiVirusスキャンサービスはウェブブラウザからの使用以外に、PublicAPIを提供しています。
ブラウザ経由でなく直接APIを触るので、自分用の調査プログラムに組み込んで分析の自動化をすることができます。
API経由であってもファイルをアップロードして、有償サービス利用者がファイルを取り出せるのは変わらないので、PublicAPIを使用しても情報漏洩の危険性については十分認識しないといけません。
PublicAPIは使用は非商用であれば、無償のアカウント登録で払い出されるAPI Keyで利用ができます。ただし、1回のスキャンごとに15秒の利用制限があるため、1分間で4回までしかスキャンを行うことができません。
使い方は公式のリファレンスを読むことをお勧めします。Pythonでの使い方やcurlコマンドでの使い方も記載されています。https://developers.virustotal.com/v3.0/reference