--- title: YARA — 보안 분석 및 진단 date: 2026-10-18 time: 12:00 model: admin category: programs author_type: human summary: 규칙 기반 패턴 매칭 엔진. 악성코드 샘플 탐지·파일 분류에 쓰입니다. tags: 프로그램, 보안 분석 및 진단, yara --- 텍스트·바이너리에서 규칙으로 정의한 패턴을 찾아 내는 악성코드 탐지·분류 도구입니다. ## 기본 정보 | 프로그램 이름 | YARA (야라) | | --- | --- | | 한 줄 소개 | 텍스트·바이너리에서 규칙으로 정의한 패턴을 찾아 내는 악성코드 탐지·분류 도구입니다. | | 개발·유지 | VirusTotal (Plusvic) | | 공식 홈페이지 | https://virustotal.com/yara/ | | 공식 문서 | https://yara.readthedocs.io/ | | 공식 다운로드 | https://github.com/VirusTotal/yara/releases | | 지원 운영체제 | Linux, macOS, Windows | | 라이선스 | GPL-2.0-or-later | | 안정 버전 | 4.5.8 (2026-07-28 출시) — 확인일 2026-10-18 | | GitHub 저장소 | https://github.com/VirusTotal/yara | | 분류 | 보안 분석 및 진단 (태그: 악성코드, 탐지, 규칙, 포렌식, 보안) | ## 이 프로그램은 무엇인가? YARA는 '패키지처럼' 파일·메모리에서 특정 문자열·바이트 시퀀스·조건 조합을 찾는 규칙 엔진입니다. 보안 연구원이 악성코드 특징을 rules 파일로 정의하면, 스캔 대상에서 그 규칙에 걸리는 파일을 모아 줍니다. 명령줄 도구(yarac·yara)로 쓰이지만 본질은 규칙 언어입니다. 문자열 일치뿐 아니라 PE 헤더 값, XOR 난독화 조건, 와일드카드 같은 논리 조건을 조합할 수 있어 커뮤니티·상용 탐지 엔진에서도 표준으로 쓰입니다. ## 어떤 문제를 해결하는가? - ('보안 점검에서', '의심 파일이 악성코드 기능과 관련 있는지 빠르게 판단해야 할 때', '기존 공개 규칙으로 스캔해 유사 특징을 확인할 수 있습니다.') - ('포렌식에서', '대량 로그·파일 중 공격 관련 파일만 골라내야 할 때', '규칙으로 필터링해 분석 대상을 좁힐 수 있습니다.') - ('탐지 파이프라인에서', '파일 수집·스토리지에 자동 분류가 필요할 때', 'CI·감시 시스템에 규칙 스캔을 결합할 수 있습니다.') ## 주요 기능 ### 규칙 기반 스캔 strings·condition 블록으로 탐지 규칙을 정의해 파일 스캔 - **활용 상황**: 공개 악성코드 규칙 적용 - **얻는 결과**: 조건에 맞는 파일 목록·오프셋 출력 - **제한 사항**: 규칙 품질에 따라 오탐·미탐이 크게 달라집니다. ### 여러 입력 형식 파일·디렉터리·메모리 덤프를 대상으로 스캔 - **활용 상황**: 포렌식·실시간 감시 - **얻는 결과**: 다양한 증거 소스를 한 엔진으로 처리 - **제한 사항**: 대용량 트래픽은 스캔 비용 관리 필요. ### 컴파일·재사용 yarac으로 규칙을 컴파일해 배포 - **활용 상황**: 엔진 업데이트 시 규칙 재빌드 - **얻는 결과**: 런타임 규칙 로딩 비용 절감 - **제한 사항**: 플랫폼별 바이너리 컴파일 주의. ### 모듈 지원 PE·ELF·dotnet 등 파일 구조 모듈로 조건 확장 - **활용 상황**: 실행 파일 상세 조건 - **얻는 결과**: 헤더·섹션·가져오기 테이블로 정밀 규칙 - **제한 사항**: 모듈 문서 학습이 필요합니다. ## 설치 및 실행 ### Linux (소스 빌드) 빌드 의존성(automake·libtool·openssl-dev)을 설치한 뒤 소스에서 빌드합니다. ``` sudo apt install automake libtool libssl-dev gcc make git clone https://github.com/VirusTotal/yara.git cd yara && ./bootstrap.sh && ./configure && make && sudo make install ``` ### Linux (배포판 패키지) 일부 배포판 저장소에서 제공합니다. 버전이 오래될 수 있습니다. ``` sudo apt install yara ``` ### macOS / Windows brew 또는 소스 빌드로 설치합니다. ``` brew install yara # macOS # Windows: cygwin/WSL 환경 또는 소스 빌드 ``` ## 실제 사용 예제 ### 규칙 파일 작성 rule 키워드로 규칙을 정의하고 strings에 패턴, condition에 매칭 조건을 씁니다. ``` $ cat susp_http.yar rule suspicious_http { strings: $a = "User-Agent: sqlmap" $b = "UNION SELECT" condition: any of them } ``` ### 디렉터리 스캔 yara에 규칙 파일과 스캔 대상 디렉터리를 지정해 매칭 결과를 확인합니다. ``` $ yara susp_http.yar /var/log/apache2/ suspicious_http /var/log/apache2/access.log suspicious_http /var/log/apache2/error.log ``` ### 컴파일·배포 yarac으로 규칙을 컴파일하면 스캔 시 빠르게 로드할 수 있습니다. ``` $ yarac susp_http.yar susp_http.compiled $ yara -C susp_http.compiled /srv/www/uploads/ ``` ## 장점과 한계 ### 장점 - 무료·오픈소스(GPL) — 커뮤니티 공개 규칙을 그대로 활용 가능 - 규칙 언어가 유연해 문자열·헤더·논리 조건을 조합한 정밀 탐지 가능 - 경량·저자원 — 서버 상주 감시에도 부담이 적음 - 포렌식·탐지·CI 파이프라인 등 활용 범위가 넓음 ### 사용 전에 고려할 점 - 규칙 작성 능력에 따라 탐지 품질이 크게 좌우됩니다. - 단순 문자열 규칙은 난독화에 취약할 수 있습니다. - 공개 규칙만으로는 특정 타깃 공격을 커버하지 못할 수 있습니다. ## 비슷한 프로그램과 비교 | 프로그램 | 특징 | 이런 경우에 적합 | | --- | --- | --- | | Sigma | SIEM용 탐지 규칙 표준(여러 엔진으로 변환) | 로그 기반 탐지 룰 관리 | | ClamAV | 바이러스 스캐너 + 자체 서명 | 파일 상주·전송 시점 검사 | | YARA-X | VirusTotal의 Rust 재작성 신규 엔진 | 차세대 성능·정확도 기대 | ## 공식 자료 및 추가 학습 - [공식 홈페이지](https://virustotal.com/yara/) — https://virustotal.com/yara/ - [공식 문서 / 지식베이스](https://yara.readthedocs.io/) — https://yara.readthedocs.io/ - [공식 다운로드](https://github.com/VirusTotal/yara/releases) — https://github.com/VirusTotal/yara/releases - [릴리스 노트](https://github.com/VirusTotal/yara/releases) — https://github.com/VirusTotal/yara/releases - [소스 / 개발 자료](https://github.com/VirusTotal/yara) — https://github.com/VirusTotal/yara 버전·지원 환경 정보는 2026-10-18 기준으로 공식 사이트에서 확인한 값입니다. 설치 명령은 사용하는 배포판과 버전에 따라 달라질 수 있으므로 공식 설치 문서를 함께 확인하세요. ## 실제 실행 화면 아래는 사용 흐름을 이해하기 위해 만든 합성 예시 화면입니다(실제 실행 결과 아님). 화면은 합성 예시이며 실제 실행 결과가 아닙니다. ![YARA 예시: 규칙 파일 작성 후 디렉터리 스캔, yarac 컴파일](https://games.cursorai.co.kr/assets/yara-demo.png) 실제 운영 중인 서버 --- 원문(HTML): https://games.cursorai.co.kr/programs/apps/security/yara.html