
このツールの目的は、人工知能を使ってマルウェア(PE32のみ)サンプルを変異させ、AIを搭載した分類器を回避しつつ、その機能を維持することです。過去には、研究者が強化学習または敵対的生成ネットワーク(GAN)を武器に選び、マルウェア実行ファイルの状態を変更してアンチウイルスエージェントを欺くという注目すべき研究が行われてきました。私たちのソリューションは、深層強化学習とGANを組み合わせて、以下に示すようにこれらのアプローチを単独で使用した場合の限界の一部を克服しています。
.png)
ツールの完全なドキュメントはこちらにあります。
⚠️ このツールはマルウェアファイルを扱うため、仮想マシンを使用することを強くお勧めします。ツールのインストール後は、ネットワークから切断してください。
以下の手順で、環境をセットアップするために必要なすべてのインストールをガイドします。
リポジトリをクローンします。
git clone https://github.com/CyberForce/Pesidious
プロジェクトディレクトリに移動します。
cd Pesidious
Python 3.6で仮想環境をセットアップして有効にします。
異なるアプリケーションで使用されるパッケージ間の競合を避けるために、仮想環境を使用することをお勧めします。
pip 8.1.1がインストールされ、セットアップされていることを確認してください。
これは、pipの新しいバージョンがPyTorchライブラリと互換性がないためです。
pip install pip==8.1.1
requirements.txtファイルをインストールして、必要なライブラリをすべてインストールします。
pip install -r pip_requirements/requirements.txt
GANからの出力はすでに(RL_Features/adverarial_imports_set.pk および RL_Features/adverarial_sections_set.pk として)保存されており、これらは変異のためにマルウェアにインポートやセクションを追加する際に使用されます。
サンプル分類器をテストして、マルウェアファイルをスコアリングできます。
python classifier.py -d /path/to/directory/with/malware/files
mutate.py Pythonスクリプトを実行して、マルウェアサンプルを変異させます。
python mutate.py -d /path/to/directory/with/malware/files
変異したマルウェアファイルは、Mutated_malware というディレクトリに次の形式で保存されます。
Mutated_malware/mutated_<ファイル名>
マルウェアファイルが変異したら、分類器を再度実行して、変異したマルウェアをスコアリングできます。
python classifier.py -d Mutated_malware/
⚠️ 警告: このセクションは現在工事中です。ご不便をおかけして申し訳ありません。次のセクションに進んでください。こちらをクリック
pip install -r requirements.txt でエラーが発生する。
解決策:
pip install tqdm
pip install sklearn
pip install lief
python main_malgan.py スクリプト実行時に ModuleNotFoundError: No module named 'tensorboardX' エラーが発生する。
解決策:
pip install tensorboardX
import-append, section-append の実行エラー (見つかりません)
解決策 ターミナルで以下のコマンドを使用して、これらの実行ファイルに実行権限を付与します。
cd portable-executable/
chmod 777 project-add-sections/bin/Debug/project-append-section
chmod 777 project-add-imports/bin/Debug/project-append-imports
Anderson, H., Kharkar, A., Filar, B., Evans, D. and Roth, P. (2018). Learning to Evade Static PE Machine Learning Malware Models via Reinforcement Learning. [online] arXiv.org. Available at: https://arxiv.org/abs/1801.08917.
Docs.microsoft.com. (n.d.). PE Format - Windows applications. [online] Available at: https://docs.microsoft.com/en-us/windows/win32/debug/pe-format#general-concepts.
Fang, Z., Wang, J., Li, B., Wu, S., Zhou, Y. and Huang, H. (2019). Evading Anti-Malware Engines With Deep Reinforcement Learning. [online] Ieeexplore.ieee.org. Available at: https://ieeexplore.ieee.org/abstract/document/8676031 [Accessed 25 Aug. 2019]. https://resources.infosecinstitute.com. (2019).
Malware Researcher’s Handbook (Demystifying PE File). [online] Available at: https://resources.infosecinstitute.com/2-malware-researchers-handbook-demystifying-pe-file/#gref.
Hu, W. and Tan, Y. (2018). Generating Adversarial Malware Examples for Black-Box Attacks Based on GAN. [online] arXiv.org. Available at: https://arxiv.org/abs/1702.05983.