reguły Yara są sposobem identyfikacji złośliwego oprogramowania (lub innych plików) poprzez tworzenie reguł, które szukają pewnych cech. YARA została pierwotnie opracowana przez Victora Alvareza Z Virustotal i jest używana głównie w badaniach i wykrywaniu złośliwego oprogramowania. Został opracowany z myślą o opisaniu wzorców identyfikujących poszczególne szczepy lub całe rodziny złośliwego oprogramowania.
składnia
każda reguła musi zaczynać się od reguły słowa, po której następuje nazwa lub identyfikator. Identyfikator może zawierać dowolny znak alfanumeryczny i znak podkreślenia, ale pierwszy znak nie może być cyfrą. Istnieje lista słów kluczowych YARA, które nie mogą być używane jako identyfikator, ponieważ mają predefiniowane znaczenie.
warunek
Regulamin składa się z kilku sekcji. Sekcja warunek jest jedynym, który jest wymagany. Ta sekcja określa, kiedy wynik reguły jest prawdziwy dla badanego obiektu (Pliku). Zawiera wyrażenie logiczne, które określa wynik. Warunki są z założenia wyrażeniami logicznymi i mogą zawierać wszystkie zwykłe operatory logiczne i relacyjne. Możesz również dołączyć inną regułę w ramach swoich warunków.
Strings
aby nadać sekcji condition znaczenie, będziesz również potrzebował sekcji strings. W sekcjach ciągi można zdefiniować ciągi, które będą wyszukiwane w pliku. Spójrzmy na prosty przykład.
rule vendor
{
strings:
$text_string1 = "Vendor name" wide
$text_string2 = "Alias name" wide
condition:
$text_string1 or $text_string2
}
reguła pokazana powyżej nazywa się vendor i szuka łańcuchów „vendor name „I”Alias name”. Jeśli któryś z tych łańcuchów zostanie znaleziony, to wynik reguły jest prawdziwy.
istnieje kilka rodzajów ciągów, których możesz szukać:
- szesnastkowy, w połączeniu z dzikimi kartami, skokami i alternatywami.
- ciągi tekstowe z modyfikatorami: nocase, fullword, wide i ascii.
- wyrażenia regularne z takimi samymi modyfikatorami jak ciągi tekstowe.
istnieje wiele bardziej zaawansowanych warunków, z których możesz korzystać, ale są one poza zakresem tego postu. Jeśli chcesz dowiedzieć się więcej, możesz je znaleźć w dokumentacji YARA.
metadane
metadane mogą być dodawane, aby pomóc zidentyfikować pliki, które zostały pobrane przez określoną regułę. Po identyfikatorach metadanych zawsze następuje znak równości i ustawiona wartość. Przypisane wartości mogą być łańcuchami, liczbami całkowitymi lub wartością logiczną. Zauważ, że pary IDENTYFIKATOR/wartość zdefiniowane w sekcji metadane nie mogą być używane w sekcji warunek, ich jedynym celem jest przechowywanie dodatkowych informacji o regule.
podsumowanie
YARA jest narzędziem, które może być używane do identyfikacji plików, które spełniają określone warunki. Jest używany głównie przez badaczy bezpieczeństwa do klasyfikacji złośliwego oprogramowania.
linki
wykrywanie oparte na podpisach z YARĄ
najnowsza dokumentacja Yary
YARA: Prosty i skuteczny sposób na usunięcie złośliwego oprogramowania
zrzuty ekranu zostały wykonane przy użyciu Edytora Yara przez Adlice Software
Pieter Arntz