【活用ガイド】

JVNDB-2019-007167

Cylance のアンチウイルス製品にマルウエア検知を回避される問題

概要

2019年7月21日より前の状態の Cylance の AI ベースのアンチウイルス製品には、悪性コンテンツを良性なものであると誤認識してしまう問題が存在します。

Cylance PROTECT には、実行ファイルが悪性か良性かを判断するための、機械学習アルゴリズム (ニューラルネットワーク) を使用したアンチウイルス機能が搭載されています。
この機械学習アルゴリズムの調査を行った研究グループから、マルウエアファイルに改変を加えることで、良性であると Cylance 製品が判断するようなファイルを作成することが可能であることが報告されました。Dridex、Gh0stRAT、Zeus など複数のよく知られたマルウエアファイルに手を加えて検知を回避することが可能であったとのことです。
調査に使用されたマルウエアのおよそ 85% ほどが検知回避に成功したと報告されています。一方、Cylance が内部で行った調査では 50% 程度の成功率であったとのことです。どちらの数字にしても、検知を回避できるようにする改変がそれほど難しくはないことを示していると考えられます。実際の改変作業は、文字列を末尾に追加するだけであるとのことです。
CVSS による深刻度 (CVSS とは?)

影響を受けるシステム


Cylance
  • Cylance の AI ベースのアンチウイルス製品 2019年7月21日より前の状態

想定される影響

本件の手法を使って細工されたマルウエアは検知されない可能性があります。
対策

[パッチを適用する]
2019年7月21日以降に Cylance のサービスに接続した対象製品には自動的にパッチが適用されているとのことです。
ただし、このパッチで全ての問題に対応できているかは不明であるため、下記のワークアラウンドも検討してください。

[ワークアラウンド(システム運用者向け)]
多層防御の考え方を取り入れてシステムを構成してください。例えば、ホストがファイルをダウンロードする際には、network IDS, web proxy, email サーバそれぞれがファイルを検証するような構成にするべきです。

[ワークアラウンド(セキュリティ製品開発者向け)]
セキュリティ製品開発においても、多層防御の考え方が重要です。機械学習によるマルウエア検知機能は基本的にファイルの改変にたいして脆弱であると考えられます。機械学習機能に加え、シグネチャベースやルールベースなど既存の手法も組み合わせてください。また、機械学習機能を実装したツールに対しては、CleverHansFoolboxAdversarial Robustness Toolbox など広く知られているツールを使って生成したデータ("adversarial example")を使ったテストを行ってください。
ベンダ情報

Cylance
CWEによる脆弱性タイプ一覧  CWEとは?

共通脆弱性識別子(CVE)  CVEとは?

参考情報

  1. JVN : JVNVU#98738756
  2. US-CERT Vulnerability Note : VU#489481
  3. 関連文書 : Cylance, I Kill You!
  4. 関連文書 : SoK: Security and Privacy in Machine Learning
  5. 関連文書 : Accessorize to a Crime: Real and Stealthy Attacks onState-of-the-Art Face Recognition
  6. 関連文書 : Robust Physical-World Attacks on Deep Learning Models
  7. 関連文書 : Experimental Security Research of Tesla Autopilot
  8. 関連文書 : Adversarial Examples in Constrained Domains
  9. 関連文書 : GitHub - tensorflow/cleverhans
  10. 関連文書 : GitHub - bethgelab/foolbox
  11. 関連文書 : GitHub - IBM/adversarial-robustness-toolbox
更新履歴

  • [2019年08月05日]
      掲載