어플리케이션
YARA(Yet Another Recursive Acronym)에 대해 알아보겠습니다.
forward error correction Circle
2025. 6. 3. 08:47
반응형
Ⅰ. YARA(Yet Another Recursive Acronym) 란?
2013년 VirusTotal의 Victor Alvarez가 개발한 오픈소스 기반의 정교한 패턴 매칭 엔진입니다. 파일 안의 바이너리/텍스트 패턴, 문자열, 정규식 등을 기반으로 조건을 정의하여 악성코드를 탐지하는 오픈소스 도구이며, 2025년 기준 최신 버전 4.4는 PE/ELF 파일 분석, Cuckoo 샌드박스 통합, 머신러닝 기반 패턴 최적화 기능을 지원하며, 전 세계 보안 기관의 97%가 악성코드 분석 표준 도구입니다.
Ⅱ. YARA(Yet Another Recursive Acronym) 규칙구조
ⅰ. 규칙 구성 체계
rule Advanced_Malware_Detection_2025 { meta: author = "보안연구소" threat_level = "Critical" reference = "APT41 TTPs v3.2" strings: $text_pattern = "C:\\Windows\\Temp\\malicious.dll" wide ascii $hex_pattern = { 6A 40 68 00 30 00 00 6A 14 8D 91 ?? ?? ?? ?? } $regex = /https?:\/\/[a-z0-9]+\.onion\/[a-zA-Z0-9_\-]+/ condition: uint16(0) == 0x5A4D and filesize < 2MB and 3 of ($text_pattern, $hex_pattern, $regex) } 설명 ⅰ. meta : 설명용 메타데이터, 관리용 ⅱ. Strings : 탐지할 문자열, 바이너리 패턴 등 정의 텍스트 스트링, HEX 스트링, 정규 표현식 형태 작성 1) 텍스트 스트링 : "" 사이 작성, 대소문자 구분 2) HEX 스트링 : {} 사이 작성하며 와일드 카드 사용 가능 3) 정규표현식 : // 사이 작성, 정규표현식은 perl 에 따름 ⅲ. Condition : 조건 (논리 연산자 사용 가능) |
ⅱ. 문자열 검색 기술
패턴 유형 | 최적화 기법 | 성능 영향도 |
텍스트 문자열 | 4바이트 이상 고유 시퀀스 추출 | Low |
HEX 와일드카드 | 연속 3바이트 이상 고정값 유지 | Medium |
정규표현식 | 앵커(^$)와 구체적 프리픽스 가능 | High |
Ⅲ. YARA(Yet Another Recursive Acronym) 활용 영역
활용 분야 | 설명 |
악성코드 분석 | 특정 악성코드 시그니처를 패턴화하여 탐지 |
위협 인텔리전스 | APT 그룹/악성 툴의 행돌 기반 탐지 가능 |
엔드포인트 탐지 | EDR, XDR 시스템 내 YARA 를 내장 |
파일/프로세스 검사 | 바이너리, 스크립트, 문서 파일 내부 분석 |
Ⅳ. YARA(Yet Another Recursive Acronym) 한계 및 보완점
한계 | 설명 | 보완 방법 |
패턴 기반 → 우회 가능 | 단순 치환, 인코딩, 난독화로 회피 가능 | Sandbox 분석, 동적 행위 분석, 머신러닝 기반 탐지 시스템과 함께 사용 |
False Postive 가능성 | 너무 일반적인 문자열 탐지 시 문제 발생 | |
동적 행위 분석 불가 | 정적 분석 중심(동작 감지는 별도 도구 필요) |
반응형