yara rule 예제

August 2, 2019  |  No Comments  |  by admin  |  Uncategorized

위의 논리는 이전 규칙과 마찬가지로 대상에 대해 덜 신경 쓸 수 있습니다. 이 규칙은 표현된 논리와 일치하는 항목을 찾는 데만 신경을 쓰며, 이 경우 육신 문자열에 대한 첫 번째 일치항목부터 시작하여 마지막으로 끝나는 반복적인 방식으로 진행됩니다. 따라서 샌드박스에 업로드된 단일 샘플과 전체 파일 시스템에 거짓 긍정을 최소화하는 데 사용할 수 있는 최적의 Yara 규칙을 작성하는 방법에 대한 기사를 작성하기로 결정했습니다. 이러한 규칙은 포함된 문자열을 기반으로 하며 이해하기 쉽습니다. 당신은 실행 의 역 설계를 이해할 필요가 없습니다 나는 여전히 실제로 사용할 때 메모리 누수 또는 기타 오류로 이어질 수있는 “테스트”기능으로 고려 “pe”와 같은 새로운 Yara 모듈을 피하기로 결정했다. 규칙은 일반적으로 문자열 정의 및 조건의 두 섹션으로 구성됩니다. 문자열 정의 섹션은 규칙이 문자열에 의존하지 않지만 조건 섹션이 항상 필요한 경우 생략할 수 있습니다. 문자열 정의 섹션은 규칙의 일부가 될 문자열이 정의된 위치입니다. 각 문자열에는 $ 문자로 구성된 식별자가 있고 그 뒤에 는 범숫자 문자와 밑줄의 시퀀스가 있으며, 이러한 식별자는 조건 섹션에서 해당 문자열을 참조하는 데 사용할 수 있습니다.

문자열은 다음 예제와 같이 텍스트 또는 육각형 형식으로 정의할 수 있습니다. 이는 기본적으로 패턴 기반 악성 코드 패밀리에 대한 설명입니다. 우리는 다음과 같은 간단한 규칙을 찾을 수 있습니다, 예를 들어: 규칙 LIGHTDART_APT1 { 메타: 저자 = “AlienVault 연구소” 정보 = “CommentCrew-threat-apt1″ 문자열: $s1 = “ret.log” 넓은 ascii $s2 = “마이크로소프트 인터넷 익스플로러 6.0″ 넓은 아시i $s3 = “szURL 실패” 넓은 asi$s4 = “szURL 성공적으로” 넓은 ascii $s5 = “%s&s&s&s&04ld%%02ld%02ld%”넓은 ascii 조건: 그들 모두 } 반면에, 와일드 카드, 정규식, 특수 연산자 또는 Yara에서 사용할 수 있는 다른 기능을 사용하는 더 복잡한 규칙도 있습니다. 문서에서 상담할 수 있습니다. 개인 규칙은 매우 간단한 개념입니다. 이는 지정된 파일과 일치할 때 YARA에서 보고하지 않는 규칙일 뿐입니다. 전혀 보고되지 않은 규칙은 언뜻 보기에 멸균된 것처럼 보일 수 있지만, YARA가 다른 규칙에서 한 규칙을 참조할 때(다른 규칙 참조 참조) 제공된 가능성과 혼합하면 유용해집니다. 개인 규칙은 다른 규칙의 구성 요소역할을 할 수 있으며 동시에 관련없는 정보로 YARA의 출력을 어지럽히는 것을 방지할 수 있습니다.

규칙을 비공개로 선언하기 위해 규칙 선언 앞에 private 키워드를 추가하면 됩니다. yarGen은 Enfal 트로이 목마 샘플에 대한 다음과 같은 규칙을 생성합니다 : 나는 거짓 긍정을 생성하는 소개 규칙에서 말했듯이 꽤 성가신. 그러나 실제 비극은 대부분의 규칙이 둘 이상의 샘플에 일치하기에는 너무 구체적이어서 파일 해시만큼 유용하다는 것입니다. 매우 구체적인 문자열 중 하나의 단일 발생이 해당 규칙을 트리거하기로 결정한 것을 볼 수 있습니다. ($s 중 1개*) 규칙을 테스트하는 것은 매우 중요합니다. 대부분의 저자는 주어진 샘플과 일치하는 경우 규칙이 충분하다고 결정하는 것 같습니다. include 지시문에서 파일을 검색할 때기본 경로는 현재 파일이 있는 디렉터리입니다. 이러한 이유로 이전 예제의 file other.yar는 현재 파일의 동일한 디렉터리에 있어야 합니다.

그러나 이러한 경로와 같은 상대 경로를 지정할 수도 있습니다: yarGen을 사용하거나 다운로드하지 않으려면 joe Security에서 제공하는 온라인 도구 Yara Rule Generator를 사용할 수도 있습니다.

Posted in Uncategorized. Bookmark the permalink.

Comments are closed.