작은 메모장
Yara Rule 본문
Yara Rule 작성 방법
무엇을 분류할지 정함
IOC 정보를 수집
=> 이를 바탕으로 Rule 파일을 작성
참고하면 좋은 예시
Yara전반:https://yara.readthedocs.io/ YaraRule작성 실 사례:https://github.com/Yara-Rules/rules |
Yara Rule 구조
기본적으로 .yar의 확장자를 가진 파일로 되어있음
파일은 크게 두 영역으로 나뉘는데, 모듈 및 다른 Yara Rule 호출 영역, Rule 선언 영역
모듈 및 Yara Rule 호출 영역은 해당 룰 파일 안에서 함께 쓸 모듈 혹은 Rule 파일이 어떻게 실행되는지를 선언
Include "./rules/thisIsTestRules.yar"
Import "pe"
Rule 선언 영역에서는 어떤 IOC 정보로 분류를 진행할지에 대한 정보
rule testRule_2 {
meta:
description = " for Test"
author = "ruler"
strings:
$string1 = /\#(S)trings/
$string2 = /\#(G)UID/
$string3 = /\#(B)lob/
$string4 = /(S)hadowTech Rat\.exe/
condition:
all of them
}
이 Rule은 여러 개 정의 가능하다.
- Meta 영역
Rule에 대한 추가적인 정보를 입력하는 항목
해당 Rule에 대한 설명과 비슷
종류는 딱히 없으나, 항목명 = 값의 형태로 작성해야 함
- String 영역
선별 대상에 대한 IOC 값을 정의하는 영역
아래와 같이 정의함
$항목명 = "값" 문자열 값을 정의 $항목명 = {16진수 값} 16진수 값을 정의 $항목명 = /정규표현식/ 정규표현식을 정의 |
값이 정해져 있으면 그냥 값이나 16진수를 넣으면 됨
근데 특정 패턴을 가지고 파일마다 조금씩 다른 악성코드가 있다면 정규 표현식으로 잡아내야 함
- Condition 영역
선별 조건을 작성하는 영역
String 영역에 대한 조건을 가지고 선별여부를 판단하는 영역
순수하게 논리의 영역
'KISA 사이버 보안 훈련 > YARA 정규표현식 활용' 카테고리의 다른 글
Yara Rule 작성 응용 실습 (0) | 2023.06.25 |
---|---|
Yara Rule 작성 기본 실습 (0) | 2023.06.25 |
Yara 개념 (0) | 2023.06.25 |
정규표현식 - 정규표현식 응용 실습 (0) | 2023.06.25 |
정규표현식 - 정규표현식 기본 실습 (0) | 2023.06.24 |