mandiant/stringsifter

A machine learning tool that ranks strings based on their relevance for malware analysis.

해결하는 문제

StringSifter는 바이너리에서 추출한 문자열을 자동으로 순위 매김함으로써 멀웨어 분석 속도를 높이기 위해 설계되었습니다. strings 또는 FLOSS와 같은 도구에서 나오는 수천 줄에 달하는 출력을 수동으로 검토하는 대신, 악성코드의 기능을 식별하는 데 가장 관련성이 높은 문자열에 집중할 수 있습니다.

작동 방식

이 도구는 Gradient Boosted Decision Trees(특히 LightGBM) 기반의 머신러닝 모델을 사용하며, 랭킹 학습(learning-to-rank) 목적 함수를 채택했습니다. EMBER 데이터셋의 멀웨어 바이너리에서 추출한 문자열을 약한 감독(weak supervision)을 통해 레이블을 생성하고 학습했습니다. rank_strings 명령줄 도구를 통해 flarestrings 또는 FLOSS와 같은 문자열 추출 도구의 파이프 입력을 받아 처리할 수 있습니다.

대상 사용자

바이너리, 메모리 덤프, 또는 샌드박스 실행 환경에서 고가치 문자열을 신속하게 식별해야 하는 멀웨어 분석가 및 리버스 엔지니어를 위한 것입니다.

주요 특징

  • 기존 도구와의 통합: flarestrings 및 FLOSS와 원활하게 연동되어 추출된 문자열을 처리할 수 있습니다.
  • 배치 처리: --batch 옵션을 통해 폴더 내 여러 파일을 한 번에 처리할 수 있습니다.
  • 유연한 필터링: 상위 랭크 문자열 또는 최소 점수 기준을 충족하는 문자열만 출력할 수 있습니다.
  • Docker 지원: 설치가 간편하고 플랫폼 간 일관된 실행이 가능한 컨테이너로 제공됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트