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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
MADLIRA — 학습과 정보 검색을 활용한 안드로이드 악성코드 탐지 | Kitploit
도구/GitHubGitHub/dkhuuthe/madlira
Android SecurityStatic AnalysisMalware AnalysisMachine Learning
GitHubdkhuuthe/madlira

MADLIRA

학습과 정보 검색을 활용한 안드로이드 악성코드 탐지

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

MADLIRA

Android를 위한 학습 및 정보 검색을 이용한 악성코드 탐지

개요

MADLIRA는 Android 악성코드 탐지 도구입니다. 이 도구는 두 가지 구성 요소로 이루어져 있습니다: TFIDF 구성 요소와 SVM 학습 구성 요소입니다. 일반적으로 입력으로 악성코드와 정상 코드 집합을 받아 악성 행위를 추출하거나(TFIDF 구성 요소) 학습 모델을 계산합니다(SVM 분류기). 그런 다음 이 지식을 사용하여 Android 애플리케이션에서 악성 행위를 탐지합니다.

설치

파일 MADLIRA.7z를 다운로드하고 압축을 풉니다.

설치된 데이터:

  • MADLIRA.jar는 메인 애플리케이션입니다.
  • noAPI.txt는 API의 접두사를 선언합니다.
  • family.txt는 악성코드를 패밀리별로 나열합니다.
  • TrainData 폴더에는 학습 구성과 학습 모델이 포함되어 있습니다.
  • Samples 폴더에는 샘플 데이터가 포함되어 있습니다.
  • TempData 폴더에는 커널 계산을 위한 데이터가 포함되어 있습니다.

기능

이 도구에는 두 가지 주요 구성 요소가 있습니다: TFIDF 구성 요소와 SVM 구성 요소입니다.

TFIDF 구성 요소

root@kitploit:~
명령어: java -jar MADLIRA TFIDF

이 구성 요소에는 두 가지 기능이 있습니다: 학습 기능(악성 행위 추출)과 테스트 기능(악성 행위 탐지)입니다.

악성 행위 추출

  • 정상 애플리케이션과 악성 애플리케이션을 수집하여 각각 benignAPKFolder와 maliciousApkFolder라는 폴더에 넣습니다.
  • 다음 명령어를 사용하여 학습 데이터를 준비하고 benignPack 및 maliciousPack이라는 두 개의 파일로 패킹합니다:
root@kitploit:~
MADLIRA TFIDF packAPK -PB benignApkFolder -B benignPack -PM maliciousApkFolder -M maliciousPack
  • 다음 명령어를 사용하여 두 패킹 파일(benignPack 및 maliciousPack)에서 악성 행위를 추출합니다:
root@kitploit:~
java -jar MADLIRA TFIDF train -B benignPack -M maliciousPack

악성 행위 탐지

  • 새로운 애플리케이션을 수집하여 checkApk라는 폴더에 넣습니다.
  • 다음 명령어를 사용하여 checkApk 폴더에 있는 애플리케이션들의 악성 행위를 탐지합니다:
root@kitploit:~
java -jar MADLIRA TFIDF check -S checkApk

명령어:

root@kitploit:~
java -jar MADLIRA TFIDF train <옵션>
        주어진 학습 데이터에 대한 악성 명세를 계산합니다.
                -B <파일명>: 학습용 정상 코드의 모든 그래프를 포함한 아카이브 파일.
                -M <파일명>: 학습용 악성코드의 모든 카테고리를 포함한 아카이브 파일.

java -jar MADLIRA TFIDF check <옵션>
        폴더 내의 주어진 애플리케이션에서 악성 행위를 확인합니다.
                -S <폴더>: 모든 애플리케이션(apk 파일)을 포함한 폴더.

java -jar MADLIRA TFIDF test <옵션>
        주어진 테스트 데이터에 대한 분류기를 테스트합니다.
                -S <폴더>: 테스트할 모든 그래프를 포함한 폴더.

java -jar MADLIRA TFIDF clear
        모든 학습 데이터를 정리합니다.

java -jar MADLIRA TFIDF install
        기존 학습 데이터를 정리하고 새로운 학습 데이터를 설치합니다.
                -B <파일명>: 학습용 정상 코드의 모든 그래프를 포함한 아카이브 파일.
                -M <파일명>: 학습용 악성코드의 모든 카테고리를 포함한 아카이브 파일.

예시:

새로운 데이터 학습:

  • 먼저 학습용 애플리케이션(APK 파일)을 수집하여 MalApkFolder 및 BenApkFolder라는 폴더에 저장합니다.
  • 다음 명령어를 사용하여 학습용 애플리케이션을 MalPack 및 BenPack이라는 아카이브 파일로 패킹합니다:
root@kitploit:~
java -jar MADLIRA TFIDF packAPK -PB BenApkFolder -B BenPack -PM MalApkFolder -M MalPack
  • 기존 학습 데이터를 정리합니다:
root@kitploit:~
java -jar MADLIRA TFIDF clear
  • 학습 팩(BenPack 및 MalPack)에서 악성 그래프를 계산합니다:
root@kitploit:~
java -jar MADLIRA TFIDF train -B BenPack -M MalPack

새로운 애플리케이션 확인:

  • 이 애플리케이션들을 checkApk라는 폴더에 넣고 다음 명령어를 사용합니다:
root@kitploit:~
java -jar MADLIRA TFIDF check -S checkApk

출력: output

SVM 구성 요소

root@kitploit:~
명령어: java -jar MADLIRA SVM

이 구성 요소에는 두 가지 기능이 있습니다: 학습 기능과 테스트 기능입니다.

학습 단계

  • 정상 애플리케이션을 benignApkFolder 폴더에, 악성 애플리케이션을 maliciousApkFolder 폴더에 수집합니다.
  • 다음 명령어를 사용하여 학습 데이터를 준비합니다:
root@kitploit:~
java -jar MADLIRA SVM packAPK -PB benignApkFolder -B benignPack -PM maliciousApkFolder -M maliciousPack
  • 다음 명령어로 학습 모델을 계산합니다:
root@kitploit:~
java -jar MADLIRA SVM train -B benignPack -M maliciousPack

악성 행위 탐지

  • 새로운 애플리케이션을 수집하여 checkApk라는 폴더에 넣습니다.
  • 다음 명령어를 사용하여 checkApk 폴더에 있는 애플리케이션들의 악성 행위를 탐지합니다:
root@kitploit:~
java -jar MADLIRA SVM check -S checkApk

명령어:

root@kitploit:~
java -jar MADLIRA SVM train <옵션>
        주어진 학습 데이터에 대한 분류기를 계산합니다.
                -T <T>: 공통 워크의 최대 길이 (기본값 = 3).
                -l <람다>: 워크 길이의 중요도를 제어하는 람다 값 (기본값 = 0.4).
                -B <파일명>: 학습용 정상 코드의 모든 그래프를 포함한 아카이브 파일.
                -M <파일명>: 학습용 악성코드의 모든 그래프를 포함한 아카이브 파일.

java -jar MADLIRA SVM check <옵션>
        폴더 내의 애플리케이션에서 악성 행위를 확인합니다.
                -S <폴더명>: 모든 apk 파일을 포함한 폴더.

java -jar MADLIRA SVM test <옵션>
        주어진 그래프 데이터에 대한 분류기를 테스트합니다.
                -S <폴더명>: 테스트 데이터의 모든 그래프를 포함한 폴더.
                -n <n>: 테스트 샘플의 개수.

java -jar MADLIRA SVM clear
        모든 학습 데이터를 정리합니다.

패키지:

이 도구는 다음 패키지를 사용합니다:

  • apktool-2.2.1 (https://ibotpeaches.github.io/Apktool/)
  • ojalgo-41.0.0 (https://github.com/optimatika/ojAlgo)
  • libsvm (http://www.csie.ntu.edu.tw/~cjlin/libsvm/)
  • antlr (https://www.antlr3.org/)

참고 문헌

  • Khanh Huu The Dam and Tayssir Touili. Extracting Android Malicious Behaviors. In Proceedings of ForSE 2017
  • Khanh Huu The Dam and Tayssir Touili. Learn Android malware. In Proceedings of IWSMA@ARES 2017
도구 다운로드