1. Overview
1.1 Origin of name
VirusTotal Software Engineer인 Victor M. Alvarez의 트윗에 따르면 YARA의 Full name은 다음과 같다.
"YARA is an ancronym for: YARA: Another Recursive Ancronym, or Yet Another Ridiculous Acronym. Pick your choice." |
Yet Another Recursive Acronym 또는 Yet Another Ridiculous Acronym 이다[1][2].
2. About YARA
2.1 Features of yara
yara의 특징은 다음과 같다[3].
º 텍스트 기반 또는 바이너리 패턴을 기반으로 Malware 변종(malware families)에 대한 탐지를 제공
º 16진수 문자열, 텍스트 문자열, 정규 표현식 (Regular Expression) 을 지원
º PE, ELF 분석을 처리하는 모듈과 함께 오픈 소스 Cuckoo 샌드박스를 지원
Rules을 작성하는 기준에 대한 가이드는 다음과 같다[4].
º Rules에 Hit 되는 기준은 악성코드의 동작에 필요한 부분이여아 함
º 작성한 Rules는 기준 악성코드와 변종 악성코드 패밀리를 구별할 수 있을정도로 충분해야함
º 작성한 Rules는 다른 악성코드들 사이에서 일반적으로 통해야 한다(common across).
2.2 Get rules from external sources
YaraRules Github에서는 다양한 Rule set을 제공한다. rules는 Anti-Debug 및 Anti-Visualization techniques, 악성 문서, 패커 등을 탐지하기위한 규칙이 있다[5].
또한
VirusTotal, ThreatConnect 등과 같은 위협 정보 공유 플랫폼(Threat Intelligence
sharing platforms)들이 YARA를 지원한다. 이를 통해 수집한 위협 정보를 기반으로 Rules를 작성할 수
있다[6][7].
VirusTotal의 경우 개인 API로 자신의 Rules를 입력하고 Hit 되는 샘플이 업로드 될 때 notice 해준다.
[그림 1]은 위협 정보 공유 플랫폼에서 지원하는 YARA 화면이다.
N. Conclusions
N. Related Reports
(1) https://github.com/VirusTotal/yara
(2) https://yara.readthedocs.io/en/v3.8.1/
(3) https://yararules.com/
(4) https://github.com/Yara-Rules/rules
(5) https://twitter.com/yararules
N. References
[1] https://twitter.com/plusvic/status/778983467627479040
[2] https://github.com/VirusTotal/yara/issues/58
[3] https://yara.readthedocs.io/en/v3.5.0/index.html
[4] https://securityintelligence.com/signature-based-detection-with-yara/
[5] https://github.com/Yara-Rules/rules
[6] https://www.virustotal.com/
[7] https://threatconnect.com/
[8] https://www.joesecurity.org/blog/8938263704094453988
[9] https://github.com/hy00un/Hyara