
YARA 악성코드 쿼리 가속기 (웹 프론트엔드)
맬웨어 샘플을 검색하는 데 어려움을 겪은 적이 있나요? Mquery는 디지털 창고를 살펴볼 수 있는 분석가 친화적인 웹 GUI입니다.
테라바이트 단위의 맬웨어를 순식간에 검색하는 데 사용할 수 있습니다:

내부적으로는 UrsaDB를 사용하여 ngram으로 yara 쿼리를 가속화합니다.
공개 인스턴스가 곧 생성될 예정입니다. 계속 지켜봐 주세요...
가장 쉬운 방법은 docker compose를 사용하는 것입니다:
git clone https://github.com/CERT-Polska/mquery.git
cd mquery
vim .env # 선택 사항 - 샘플 및 인덱스 디렉터리 위치 변경
docker compose up --scale daemon=3 # 이미지 빌드에 시간이 걸립니다
웹 인터페이스는 http://localhost에서 사용할 수 있습니다.

(자세한 설치 옵션은 설치 매뉴얼을 참조하세요.)
SAMPLES_DIR에 파일을 넣습니다. (기본값은 리포지토리의 ./samples이며, .env 파일의 변수로 설정 가능).
docker에서 ursacli를 실행합니다:
docker compose exec ursadb ursacli
[2023-06-14 17:20:24.940] [info] Connecting to tcp://localhost:9281
[2023-06-14 17:20:24.942] [info] Connected to UrsaDB v1.5.1+98421d7 (connection id: 006B8B46B6)
ursadb>
원하는 n-gram으로 샘플을 인덱싱합니다. (시간이 걸릴 수 있습니다!)
ursadb> index "/mnt/samples" with [gram3, text4, wide8, hash4];
[2023-06-14 17:29:27.672] [info] Working... 1% (109 / 8218)
[2023-06-14 17:29:28.674] [info] Working... 1% (125 / 8218)
...
[2023-06-14 17:37:40.265] [info] Working... 99% (8217 / 8218)
[2023-06-14 17:37:41.266] [info] Working... 99% (8217 / 8218)
{
"result": {
"status": "ok"
},
"type": "ok"
}
이렇게 하면 샘플 디렉터리에서 모든 새 파일을 스캔하여 인덱싱합니다. 왼쪽의 tasks 창에서 진행 상황을 모니터링할 수 있습니다:

새 파일을 추가할 때마다 이 과정을 반복해야 합니다!
인덱싱이 끝나면 새 데이터셋을 볼 수 있습니다:

이는 시작하기에 좋고 쉬운 방법이지만, 큰 컬렉션이 있다면 매뉴얼의 인덱싱 페이지를 읽어보시기를 강력히 권장합니다.
이제 파일을 검색할 수 있습니다. 검색 창에 Yara 규칙을 입력하고 Query를 클릭하세요. 데모를 위해 이 애플리케이션의 소스 코드를 인덱싱하고 다음 Yara 규칙으로 테스트했습니다:
rule mquery_exceptions {
strings: $a = "Exception"
condition: all of them
}

자세한 내용은 문서를 참조하세요. 더 큰 배포를 계획 중이라면 좋은 아이디어입니다.
호스팅된 버전은 여기에서 읽을 수 있습니다: cert-polska.github.io/mquery/docs.
설치 지침을 참조하세요.
기여하려면 기여자 전용 문서를 참조하세요.
프로젝트가 어떻게 변경되었는지 확인하려면 릴리스 로그를 읽어보세요.
mquery와 관련된 문제, 버그 또는 기능 요청이 있으면 GitHub 이슈를 생성해 주세요.
이 프로젝트에 대해 Discord에서 대화할 수 있습니다:
GitHub나 Discord에 적합하지 않은 질문이 있으면 CERT.PL([email protected])로 직접 이메일을 보내실 수 있습니다.