
강화 학습과 생성적 적대 신경망을 이용한 악성코드 변이

이 도구의 목적은 인공지능을 사용하여 악성코드(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 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.