개념 사전 · 프로그램

YARA

야라

는 문자열·바이트 패턴·메타데이터 조건을 조합하여 파일이나 메모리 자료에서 특징을 찾는 규칙 엔진이다. 일치 결과는 규칙의 조건이 맞았다는 뜻이며 그것만으로 감염이나 실행을 확정하지 않는다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

로고: VirusTotal / YARA 공식 자료. 제품 식별을 위해 표시하며 각 상표의 권리는 권리자에게 있습니다.

01무엇이고, 어떤 일을 하나

  • 분석한 특징을 반복 검색 가능한 규칙으로 표현한다.
  • 여러 사본·메모리 자료에서 같은 계열의 표식을 찾는다.
  • 정상 표본과 함께 오탐·성능을 평가한다.

02어떤 순서로 동작하나

  1. 특징 선정

    한 파일의 우연한 문자열보다 분석 목적에 맞는 식별력 있는 특징을 고른다. 파일 형식·위치·크기 같은 문맥을 함께 고려한다.

  2. 규칙 정의

    문자열과 바이트 패턴을 선언하고 조건식에서 결합한다. 메타데이터를 적는 것과 실제 탐지 조건에 넣는 것은 다르다.

  3. 표본 평가

    알려진 대상 사본과 정상 자료에 규칙을 적용한 결과를 비교한다. 일치 개수만 줄이는 것이 미탐까지 개선했다는 뜻은 아니다.

  4. 증거 연결

    어느 규칙이 어느 위치의 특징과 일치했는지 기록하고 파일··실행 자료와 대조한다. 규칙 버전도 보존해야 재현할 수 있다.

03먼저 알아둘 용어와 구성요소

찾을 문자열·16진수 패턴 등을 선언하는 영역.
어떤 패턴과 수치 조건을 결합해 일치로 판단할지 정하는 식.
규칙 설명·작성 정보 같은 메타데이터 영역.
입력 자료가 규칙 조건을 만족한 결과.

04예제로 따라가기

  • 무해한 학습 문자열을 포함한 파일과 포함하지 않은 파일을 비교하면 규칙 로딩·일치·비일치 경로를 확인할 수 있다.
  • 공통 라이브러리 문자열 하나만 잡는 규칙은 정상 프로그램에도 일치할 수 있다.
  • 동일한 파일 해시를 찾는 검색과 변형된 파일의 공통 특징을 찾는 규칙은 서로 다른 질문에 답한다.

05혼동하기 쉬운 점과 확인 기준

  • 파일에 의심 문자열이 존재하는 것과 그 문자열이 실제 실행 경로에서 사용되는 것은 다르다.
  • 짧고 흔한 패턴·광범위한 은 오탐과 검사 비용을 키울 수 있으므로 실제 표본에서 평가해야 한다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.