Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Pesidious — 강화 학습과 생성적 적대 신경망을 이용한 악성코드 변이 | Kitploit
도구/GitHubGitHub/cyberforce/pesidious
Payload GenerationExploitationMalware AnalysisMachine LearningAI SecurityAdversarial Attack
GitHubcyberforce/pesidious

Pesidious

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

저장소 보기
175365년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Logo

딥 강화 학습과 GAN을 이용한 악성코드 변이

이 도구의 목적은 인공지능을 사용하여 악성코드(PE32 전용) 샘플을 변이시켜 AI 기반 분류기를 우회하면서도 기능을 그대로 유지하는 것입니다. 과거에 연구자들은 악성코드 실행 파일의 상태를 수정하여 안티바이러스 에이전트를 속이기 위해 보통 강화 학습이나 생성적 적대 신경망(GAN)을 선택 수단으로 사용하여 이 분야에서 주목할 만한 연구가 이루어졌습니다. 당사 솔루션은 아래와 같이 이러한 접근 방식을 개별적으로 사용할 때 직면하는 몇 가지 한계를 극복하기 위해 딥 강화 학습과 GAN의 조합을 사용합니다.

Diagram

도구에 대한 전체 문서는 여기에서 확인할 수 있습니다.

설치 안내

⚠️ 이 도구는 악성코드 파일을 다루므로, 가상 머신에서 사용하는 것을 강력히 권장합니다. 도구를 설치한 후에는 네트워크 연결을 해제하십시오.

다음 단계를 따라 환경 설정을 위한 모든 설치를 진행하십시오.

  1. Python 3.6을 설치하고 설정합니다.

  2. 저장소를 클론합니다.

    root@kitploit:~
    git clone https://github.com/CyberForce/Pesidious
    
  3. 프로젝트 디렉터리로 이동합니다.

    root@kitploit:~
    cd Pesidious
    
  4. Python 3.6으로 가상 환경을 설정하고 활성화합니다.

    서로 다른 애플리케이션에서 사용하는 패키지 간의 충돌을 피하기 위해 가상 환경을 사용하는 것이 좋습니다.

  5. pip 8.1.1이 설치되고 설정되어 있는지 확인합니다.

    이후 버전의 pip가 PyTorch 라이브러리와 잘 호환되지 않기 때문입니다.

    root@kitploit:~
    pip install pip==8.1.1
    
  6. requirements.txt 파일을 설치하여 필요한 모든 라이브러리를 설치합니다.

    root@kitploit:~
    pip install -r pip_requirements/requirements.txt
    

악성코드 변이

GAN의 출력은 이미 (RL_Features/adverarial_imports_set.pk 및 RL_Features/adverarial_sections_set.pk)에 저장되어 있으며, 악성코드 변이를 위해 임포트와 섹션을 추가할 때 사용됩니다.

  1. 샘플 분류기를 테스트하여 악성코드 파일의 점수를 매길 수 있습니다.

    root@kitploit:~
    python classifier.py -d /path/to/directory/with/malware/files
    
  2. mutate.py 파이썬 스크립트를 실행하여 악성코드 샘플을 변이시킵니다.

    root@kitploit:~
    python mutate.py -d /path/to/directory/with/malware/files
    
  3. 변이된 악성코드 파일은 다음 형식으로 Mutated_malware 디렉터리에 저장됩니다.

    root@kitploit:~
    Mutated_malware/mutated_<파일-이름>
    
  4. 악성코드 파일이 변이되면 분류기를 다시 실행하여 변이된 악성코드의 점수를 확인할 수 있습니다.

    root@kitploit:~
    python classifier.py -d Mutated_malware/
    

알려진 문제 및 해결 방법

⚠️ 경고: 이 부분은 현재 작업 중입니다. 불편을 드려 죄송합니다. 다음 섹션으로 진행해 주세요. 여기를 클릭

  1. pip install -r requirements.txt 명령어에서 오류가 발생합니다.

    해결 방법:

    root@kitploit:~
    pip install tqdm
    pip install sklearn
    pip install lief
    
  2. python main_malgan.py 스크립트 실행 중 ModuleNotFoundError: No module named 'tensorboardX' 오류 발생.

    해결 방법:

    root@kitploit:~
    pip install tensorboardX
    
  3. import-append, section-append(찾을 수 없음) 실행 오류

    해결 방법 터미널에서 다음 명령어를 사용하여 이 실행 파일들에 실행 권한을 부여하십시오.

    root@kitploit:~
    cd portable-executable/
    chmod 777 project-add-sections/bin/Debug/project-append-section
    chmod 777 project-add-imports/bin/Debug/project-append-imports
    

사용된 기술

  • PyTorch - Torch 라이브러리를 기반으로 한 오픈 소스 기계 학습 라이브러리.
  • Lief - ELF, PE, MachO 형식을 파싱, 수정 및 추상화할 수 있는 크로스 플랫폼 라이브러리.
  • PE Bliss - C++로 작성된 PE 파일 재구축용 PE 라이브러리.
  • Gym-Malware - OpenAI의 gym을 위한 악성코드 조작 환경.
  • MalwareGAN - GAN을 사용한 적대적 악성코드 생성.

저자

  • Chandni Vaya - X-Force Incident Response, IBM Security - Github
  • Bedang Sen - X-Force Incident Response, IBM Security - Github

감사의 말

  • Gym-Malware 환경: https://github.com/endgameinc/gym-malware. 이 환경은 GAN을 추가하기 위해 수정되었으며, 악성코드의 회피 능력을 향상시키고 기능을 유지하기 위해 변이가 추가/변경/제거되었습니다.
  • Yanming Lai(https://github.com/yanminglai/Malware-GAN)와
  • Zayd Hammoudeh(https://github.com/ZaydH/MalwareGAN)의 Han과 Tan의 MalGAN 구현에 대한 연구는 해당 아키텍처를 이해하는 데 중요한 역할을 했습니다. 이 프로젝트에 사용된 MalGAN 구현의 대부분은 Hammoudeh의 작업에서 포크되었습니다.

참고 문헌

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.

도구 다운로드