티스토리 뷰

20년 4월 29일 yara 4.0.0이 업데이트가 됐습니다[1][2]. 크게 새로운 modifier은 base64, base64wide, private가 생겼으며, "pe" 모듈에 pdb_path, export_details, exports_index가 추가되었다. 나머지 항목들은 기존 기능을 개선하거나 버그를 FIX한 형태이므로 언급은 하지 않겠습니다. 

(Figure 1) 업데이트된 4.0.0-4.0.1 

Base64 strings
- base64 modifier는 base64 인코딩된 문자열을 검색할 때 사용된다. 
- base64wide modifier는 base64 modifier와 동일하게 동작하지만, base64 동작 후 wide 형태로 변환된다.
- base64 및 ba64wide modifier는 text string에서만 지원된다.
- (주의) 16진수 문자 또는 정규식, modifier(xor, fullword, nocase)와 함께 사용하면 컴파일러 오류가 발생한다.
- YARA가 base64 인코딩 후 선행 및 후행 문자를 제거하는 방식 때문에 "Dhis program cannow" 및 "This program cannot"의 base64 인코딩 중 하나가 동일하다.
- 실행은 (Figure 2)의 2번과 같다.

- 아래 룰과 같이 custom alphabet을 지원한다.
rule Base64Example2
{
    strings:
        $a = "This program cannot" base64("!@#$%^&*(){}  [].,|ABCDEFGHIJ\x09LMNOPQRSTUVWXYZabcdefghijklmnopqrstu")

    condition:
        $a
}

Private strings
- YARA의 모든 문자열은 private로 표시될 수 있으며, 이는 YARA의 출력에 포함되지 않는다. 커맨드라인으로 -s 옵션을 사용하면 탐지된 스트링이 출력된다. 하지만, private을 사용하면 스트링은 출력이 안되지만 룰에 탐지되었다는 표시는 출력된다. (Figure 2)는 yara 4.0.1 버전에서 아래 룰(Base64Example2)을 테스트한 것으로, 1번은 private 키워드를 추가했을 때 나오는 출력화면, 2번은 private을 지웠을 때 나오는 화면이며, 3번은 base64, private modifier를 모두 지웠을 때 나오는 화면이다. 위에서 설명한 것과 같이 private을 적용하면 1번에서 탐지된 룰 이름은 나오지만, 탐지된 오프셋과 내용은 출력되지 않는다.

rule Base64Example3
{
    strings:
        $a = "This pdrogram cannott" base64 private 

    condition:
        $a
}

(Figure 2) yara 4.0.1 테스트

위에서는 새롭게 추가된 modifier에 대해 알아보았다. 아래는 PE 모듈에 새롭게 추가된 condition에서 사용할 수 있는 함수이다. exports_index, exports_index, exports_index, pdb_path, export_details가 추가되었다. (해당 함수에 대한 실습은 추후 업로드할 예정)

(Figure 3) PE 모듈에 새롭게 추가된 condition 함수(1)

 

(Figure 4) PE 모듈에 새롭게 추가된 condition 함수(2)

 

(Figure 5) PE 모듈에 새롭게 추가된 condition 함수(3)


커맨드라인에서 사용할 수 있는 옵션인 --scan-list가 추가되었다. 

(Figure 6) PE 모듈에 새롭게 추가된 condition 함수(4)


참고 :
[1] github.com/VirusTotal/yara

 

VirusTotal/yara

The pattern matching swiss knife. Contribute to VirusTotal/yara development by creating an account on GitHub.

github.com

[2] yara.readthedocs.io/en/latest/

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함