YARA Nedir? Yara İle Zararlı Yazılım Analizi Nasıl Yapılır?

'Eşref

Özel Üye
17 Ara 2021
1,147
1,709
Merhaba arkadaşlar,
Bugün sizlere Yara kuralı hakkında bilgi verip malware analizinin nasıl yapıldığını anlatmaya çalışacağım.



YARA Nedir?

YARA, zararlı yazılımların hızlı bir şekilde tespit edilmesine, tanımlanmasına ve sınıflandırılmasına yönelik en hızlı yardım aracını amaçlayan bir çözümdür. Bu araç, açık kaynak bir kaynak olarak VirüsTotal tarafından geliştirilmiştir.



YARA Kuralı Nedir?

YARA kuralları, zararlı yazılımların tespit edilmesi, eşleştirilmesi ve sınıflandırılmasında YARA aracılığıyla oluşturulan kuralların kullanılmasını sağlar. Bu kurallar sayesinde tespit edilen zararlı yazılımların hangi türde olduğunu, kimler tarafından oluşturulduğunu, ne amaçla kullanıldığını ve hangi zararlara yol açtığını öğrenebiliriz. Ayrıca, bu zararlı yazılımların hangi programlama dilleriyle kodlandığını da belirleyebilme yeteneğine sahibiz.

Oluşturduğumuz YARA kurallarını saldırı tespit sistemlerimize aktararak sistem üzerinde gerçekleştirilebilecek saldırıları kolaylıkla tespit edebiliriz. Hatta bu kuralları kullanarak kendi cihazlarımız ve sistemlerimizde herhangi bir zararlı yazılımın olup olmadığını tarayarak öğrenebiliriz.


Threat Hunting (Tehdit Avcılığı)

Tehdit Avcılığı yaklaşımı, sistemlerde önceden fark edilemeyen zararlı durumların tespit edilmesini amaçlamaktadır. Geleneksel yöntemler olan SIEM, IDS ve güvenlik duvarlarıyla her saldırıyı durdurmak veya yakalamak her zaman mümkün olmayabilir. Bu nedenle, Tehdit Avcılığı, sistemlerde tespit edilemeyen veya güvenlik sistemlerini aşabilen tehditlerin belirlenmesini sağlamaktadır.


Yara Kurallarının Yazılması

Yara kuralları oluşturulurken, doğru bir şekilde belirli parametreleri kullanmak önemlidir.Her bir yara kuralı, "rule" ifadesiyle başlar ve kurala verilmek istenen isimle devam eder. Meta bölümünde, kuralın içerdiği ifadelerle ilgili bilgiler yer alır.
Başlangıç bölümlerinden sonra strings ve condition bölümleri gelir. Bu bölümler, yara kuralının temel unsurlarını oluşturur. Herhangi bir zararlı yazılım için oluşturduğumuz kuralda, zararlı yazılımı tanımlayacak ve tespit edeceğimiz özgün özellikleri doğru bir şekilde kurala eklemeliyiz. Bu aşamada, zararlı yazılımın kodlarını, hex değerlerini ve benzersiz özelliklerini doğru bir şekilde belirlemek ve kurala dahil etmek önemlidir. Ardından, kuralı çalıştırdığımızda, bu kural ve özelliklerle eşleşen bir durumda bir uyarı almayı bekleriz.


  • String bölümünde, değişkenler $ işaretiyle başlar.
  • İlgili string değişkenimize atamak istediğimiz değer hex formatında ise, {} içerisine yazılır. Eğer değişkenimiz metin formatında ise, "" içerisine yazılır.
  • /* = Bu parametrelerle yorum satırı yapılabilir ve açıklamalar yazılabilir.
  • // = Bu parametrelerle tek satırlık yorumlar yazılabilir.


Yara Kuralı Parametreleri

Yara kuralları oluşturulurken veya sonrasında, bu kurallar hakkında bilgi almak için belirli parametreler kullanılır. İşte örnekler:

  • - -h --help: Yardım menüsünü görüntülemek için kullanılır.
  • - -v --version: Kullanılan Yara sürümü hakkında bilgi verir.
  • - -i <identifier>: Kuralların isimlerini yazdırmak için kullanılır.
  • - -g --print-tags: Etiketlenenleri yazdırmak için kullanılır.
  • - -n: Boşa çıkan kuralları yazdırmak için kullanılır.
  • - -m --print-meta: Metadata bilgilerini yazdırmak için kullanılır.
  • - -d <identifier>: Dışarıdan değişken tanımlamaya izin verir.
  • - -w --disable-warnings: Hataları görmezden gelmeyi sağlar.


Yara Kuralı Örneği


Kod:
{


            meta:


            authour= “Esref TurkHackTeam”


            decription=”tht_yara_rule”


            strings:


            $a =”malware”


            $b=”yara kuralı”


             $c ={65 76 6F 2D 7A 65 75 73 2D 6D 61 73 74 65 72 2F 55 54}


            condition:


            $a or $b or $c


}


Yara kuralı oluşturulurken ilk adım olarak "rule" ifadesiyle başlayıp kural adını belirtiyoruz. Daha sonra, süslü parantezler {} içine kuralımızı yazıyoruz. "Author" bölümünde kuralı yazan kişinin adını belirtiyoruz. "Description" bölümünde ise yara kuralı hakkında açıklamalar yaparak, hangi zararlı yazılım için yazıldığına dair bilgiler verebiliriz.

Sonrasında, zararlı yazılımı analiz ettiğimizde bulduğumuz hex ve text değerlerini string bir değişkene atayarak tanımlıyoruz. Ardından "condition" bölümünde, string değişkene atadığımız değerler arasındaki ilişkiyi ve kuralın hangi durumlarda eşleşeceğini belirtiyoruz. Bu kısımda "ve" veya "veya" ifadelerini kullanarak kuralımızı yazıyoruz.



Yara İle Zararlı Yazılım Analizi Nasıl Yapılır?

Yara kuralları, kullanıcıların kendi sistemlerinde tehdit avcılığı yapma imkanı sağladığı gibi, yazılan yara kurallarına uyan zararlı yazılım örneklerini çevrimiçi sandbox sistemlerinde de elde etmek mümkündür. Bu örneklerin davranış analizi ile uç nokta güvenlik ürünlerini güçlendirmek mümkündür. Örneğin, Hybrid-Analysis üzerinde yara kurallarını zararlı yazılım avcılığında nasıl kullanabileceğimizi size göstereceğim.


(Görseller temsilidir.)
Yara arama modülünü kullanmak için Hybrid Analysis'in ana sayfasındaki arama özelliğini kullanıyoruz.



(Görseller temsilidir.)
"Hybrid Analiz'in arama modülünde bulunan "Advanced Search" seçeneği sayesinde, yara kuralımızı özelleştirme imkanına sahip oluyoruz. Örneğin, CVE-2018–4878 güvenlik açığından etkilenen zararlı yazılım örneklerini araştırabiliriz."



(Görseller temsilidir.)
Sonuca hızlı bir şekilde ulaşmak için, milyonlarca zararlı örneğin arasında istediğimiz sonucu saniyeler içinde bulabiliyoruz.
 

green.php

Katılımcı Üye
27 Haz 2021
732
873
Malware Analizi sektörü gelişti.
Bunu iyi ve kötü tarafları var.
İyi tarafı sektörde yeni olan juniorların artışı ve hızlı, otonom analiz.
Kötü tarafı ise ileri seviye manüel analiz yapan yeni nesil yetişmemesi ve yeni tehditlere karşı çaresizlik.

Assembler seviyesinde manüel analiz yapan birisini 5-10 sene sonra bulamayacaksınız, bu alanda saldırılar ve zaafiyyetler artıcak.
 

rootibo

Kıdemli Üye
13 Mar 2023
2,168
1,459
Merhaba arkadaşlar,
Bugün sizlere Yara kuralı hakkında bilgi verip malware analizinin nasıl yapıldığını anlatmaya çalışacağım.



YARA Nedir?

YARA, zararlı yazılımların hızlı bir şekilde tespit edilmesine, tanımlanmasına ve sınıflandırılmasına yönelik en hızlı yardım aracını amaçlayan bir çözümdür. Bu araç, açık kaynak bir kaynak olarak VirüsTotal tarafından geliştirilmiştir.



YARA Kuralı Nedir?

YARA kuralları, zararlı yazılımların tespit edilmesi, eşleştirilmesi ve sınıflandırılmasında YARA aracılığıyla oluşturulan kuralların kullanılmasını sağlar. Bu kurallar sayesinde tespit edilen zararlı yazılımların hangi türde olduğunu, kimler tarafından oluşturulduğunu, ne amaçla kullanıldığını ve hangi zararlara yol açtığını öğrenebiliriz. Ayrıca, bu zararlı yazılımların hangi programlama dilleriyle kodlandığını da belirleyebilme yeteneğine sahibiz.

Oluşturduğumuz YARA kurallarını saldırı tespit sistemlerimize aktararak sistem üzerinde gerçekleştirilebilecek saldırıları kolaylıkla tespit edebiliriz. Hatta bu kuralları kullanarak kendi cihazlarımız ve sistemlerimizde herhangi bir zararlı yazılımın olup olmadığını tarayarak öğrenebiliriz.


Threat Hunting (Tehdit Avcılığı)

Tehdit Avcılığı yaklaşımı, sistemlerde önceden fark edilemeyen zararlı durumların tespit edilmesini amaçlamaktadır. Geleneksel yöntemler olan SIEM, IDS ve güvenlik duvarlarıyla her saldırıyı durdurmak veya yakalamak her zaman mümkün olmayabilir. Bu nedenle, Tehdit Avcılığı, sistemlerde tespit edilemeyen veya güvenlik sistemlerini aşabilen tehditlerin belirlenmesini sağlamaktadır.


Yara Kurallarının Yazılması

Yara kuralları oluşturulurken, doğru bir şekilde belirli parametreleri kullanmak önemlidir.Her bir yara kuralı, "rule" ifadesiyle başlar ve kurala verilmek istenen isimle devam eder. Meta bölümünde, kuralın içerdiği ifadelerle ilgili bilgiler yer alır.
Başlangıç bölümlerinden sonra strings ve condition bölümleri gelir. Bu bölümler, yara kuralının temel unsurlarını oluşturur. Herhangi bir zararlı yazılım için oluşturduğumuz kuralda, zararlı yazılımı tanımlayacak ve tespit edeceğimiz özgün özellikleri doğru bir şekilde kurala eklemeliyiz. Bu aşamada, zararlı yazılımın kodlarını, hex değerlerini ve benzersiz özelliklerini doğru bir şekilde belirlemek ve kurala dahil etmek önemlidir. Ardından, kuralı çalıştırdığımızda, bu kural ve özelliklerle eşleşen bir durumda bir uyarı almayı bekleriz.


  • String bölümünde, değişkenler $ işaretiyle başlar.
  • İlgili string değişkenimize atamak istediğimiz değer hex formatında ise, {} içerisine yazılır. Eğer değişkenimiz metin formatında ise, "" içerisine yazılır.
  • /* = Bu parametrelerle yorum satırı yapılabilir ve açıklamalar yazılabilir.
  • // = Bu parametrelerle tek satırlık yorumlar yazılabilir.


Yara Kuralı Parametreleri

Yara kuralları oluşturulurken veya sonrasında, bu kurallar hakkında bilgi almak için belirli parametreler kullanılır. İşte örnekler:

  • - -h --help: Yardım menüsünü görüntülemek için kullanılır.
  • - -v --version: Kullanılan Yara sürümü hakkında bilgi verir.
  • - -i <identifier>: Kuralların isimlerini yazdırmak için kullanılır.
  • - -g --print-tags: Etiketlenenleri yazdırmak için kullanılır.
  • - -n: Boşa çıkan kuralları yazdırmak için kullanılır.
  • - -m --print-meta: Metadata bilgilerini yazdırmak için kullanılır.
  • - -d <identifier>: Dışarıdan değişken tanımlamaya izin verir.
  • - -w --disable-warnings: Hataları görmezden gelmeyi sağlar.


Yara Kuralı Örneği


Kod:
{


            meta:


            authour= “Esref TurkHackTeam”


            decription=”tht_yara_rule”


            strings:


            $a =”malware”


            $b=”yara kuralı”


             $c ={65 76 6F 2D 7A 65 75 73 2D 6D 61 73 74 65 72 2F 55 54}


            condition:


            $a or $b or $c


}


Yara kuralı oluşturulurken ilk adım olarak "rule" ifadesiyle başlayıp kural adını belirtiyoruz. Daha sonra, süslü parantezler {} içine kuralımızı yazıyoruz. "Author" bölümünde kuralı yazan kişinin adını belirtiyoruz. "Description" bölümünde ise yara kuralı hakkında açıklamalar yaparak, hangi zararlı yazılım için yazıldığına dair bilgiler verebiliriz.

Sonrasında, zararlı yazılımı analiz ettiğimizde bulduğumuz hex ve text değerlerini string bir değişkene atayarak tanımlıyoruz. Ardından "condition" bölümünde, string değişkene atadığımız değerler arasındaki ilişkiyi ve kuralın hangi durumlarda eşleşeceğini belirtiyoruz. Bu kısımda "ve" veya "veya" ifadelerini kullanarak kuralımızı yazıyoruz.



Yara İle Zararlı Yazılım Analizi Nasıl Yapılır?

Yara kuralları, kullanıcıların kendi sistemlerinde tehdit avcılığı yapma imkanı sağladığı gibi, yazılan yara kurallarına uyan zararlı yazılım örneklerini çevrimiçi sandbox sistemlerinde de elde etmek mümkündür. Bu örneklerin davranış analizi ile uç nokta güvenlik ürünlerini güçlendirmek mümkündür. Örneğin, Hybrid-Analysis üzerinde yara kurallarını zararlı yazılım avcılığında nasıl kullanabileceğimizi size göstereceğim.


(Görseller temsilidir.)
Yara arama modülünü kullanmak için Hybrid Analysis'in ana sayfasındaki arama özelliğini kullanıyoruz.



(Görseller temsilidir.)
"Hybrid Analiz'in arama modülünde bulunan "Advanced Search" seçeneği sayesinde, yara kuralımızı özelleştirme imkanına sahip oluyoruz. Örneğin, CVE-2018–4878 güvenlik açığından etkilenen zararlı yazılım örneklerini araştırabiliriz."



(Görseller temsilidir.)

Sonuca hızlı bir şekilde ulaşmak için, milyonlarca zararlı örneğin arasında istediğimiz sonucu saniyeler içinde bulabiliyoruz.
Eline saglik
 
27 May 2023
188
44
Merhaba arkadaşlar,
Bugün sizlere Yara kuralı hakkında bilgi verip malware analizinin nasıl yapıldığını anlatmaya çalışacağım.



YARA Nedir?

YARA, zararlı yazılımların hızlı bir şekilde tespit edilmesine, tanımlanmasına ve sınıflandırılmasına yönelik en hızlı yardım aracını amaçlayan bir çözümdür. Bu araç, açık kaynak bir kaynak olarak VirüsTotal tarafından geliştirilmiştir.



YARA Kuralı Nedir?

YARA kuralları, zararlı yazılımların tespit edilmesi, eşleştirilmesi ve sınıflandırılmasında YARA aracılığıyla oluşturulan kuralların kullanılmasını sağlar. Bu kurallar sayesinde tespit edilen zararlı yazılımların hangi türde olduğunu, kimler tarafından oluşturulduğunu, ne amaçla kullanıldığını ve hangi zararlara yol açtığını öğrenebiliriz. Ayrıca, bu zararlı yazılımların hangi programlama dilleriyle kodlandığını da belirleyebilme yeteneğine sahibiz.

Oluşturduğumuz YARA kurallarını saldırı tespit sistemlerimize aktararak sistem üzerinde gerçekleştirilebilecek saldırıları kolaylıkla tespit edebiliriz. Hatta bu kuralları kullanarak kendi cihazlarımız ve sistemlerimizde herhangi bir zararlı yazılımın olup olmadığını tarayarak öğrenebiliriz.


Threat Hunting (Tehdit Avcılığı)

Tehdit Avcılığı yaklaşımı, sistemlerde önceden fark edilemeyen zararlı durumların tespit edilmesini amaçlamaktadır. Geleneksel yöntemler olan SIEM, IDS ve güvenlik duvarlarıyla her saldırıyı durdurmak veya yakalamak her zaman mümkün olmayabilir. Bu nedenle, Tehdit Avcılığı, sistemlerde tespit edilemeyen veya güvenlik sistemlerini aşabilen tehditlerin belirlenmesini sağlamaktadır.


Yara Kurallarının Yazılması

Yara kuralları oluşturulurken, doğru bir şekilde belirli parametreleri kullanmak önemlidir.Her bir yara kuralı, "rule" ifadesiyle başlar ve kurala verilmek istenen isimle devam eder. Meta bölümünde, kuralın içerdiği ifadelerle ilgili bilgiler yer alır.
Başlangıç bölümlerinden sonra strings ve condition bölümleri gelir. Bu bölümler, yara kuralının temel unsurlarını oluşturur. Herhangi bir zararlı yazılım için oluşturduğumuz kuralda, zararlı yazılımı tanımlayacak ve tespit edeceğimiz özgün özellikleri doğru bir şekilde kurala eklemeliyiz. Bu aşamada, zararlı yazılımın kodlarını, hex değerlerini ve benzersiz özelliklerini doğru bir şekilde belirlemek ve kurala dahil etmek önemlidir. Ardından, kuralı çalıştırdığımızda, bu kural ve özelliklerle eşleşen bir durumda bir uyarı almayı bekleriz.


  • String bölümünde, değişkenler $ işaretiyle başlar.
  • İlgili string değişkenimize atamak istediğimiz değer hex formatında ise, {} içerisine yazılır. Eğer değişkenimiz metin formatında ise, "" içerisine yazılır.
  • /* = Bu parametrelerle yorum satırı yapılabilir ve açıklamalar yazılabilir.
  • // = Bu parametrelerle tek satırlık yorumlar yazılabilir.


Yara Kuralı Parametreleri

Yara kuralları oluşturulurken veya sonrasında, bu kurallar hakkında bilgi almak için belirli parametreler kullanılır. İşte örnekler:

  • - -h --help: Yardım menüsünü görüntülemek için kullanılır.
  • - -v --version: Kullanılan Yara sürümü hakkında bilgi verir.
  • - -i <identifier>: Kuralların isimlerini yazdırmak için kullanılır.
  • - -g --print-tags: Etiketlenenleri yazdırmak için kullanılır.
  • - -n: Boşa çıkan kuralları yazdırmak için kullanılır.
  • - -m --print-meta: Metadata bilgilerini yazdırmak için kullanılır.
  • - -d <identifier>: Dışarıdan değişken tanımlamaya izin verir.
  • - -w --disable-warnings: Hataları görmezden gelmeyi sağlar.


Yara Kuralı Örneği


Kod:
{


            meta:


            authour= “Esref TurkHackTeam”


            decription=”tht_yara_rule”


            strings:


            $a =”malware”


            $b=”yara kuralı”


             $c ={65 76 6F 2D 7A 65 75 73 2D 6D 61 73 74 65 72 2F 55 54}


            condition:


            $a or $b or $c


}


Yara kuralı oluşturulurken ilk adım olarak "rule" ifadesiyle başlayıp kural adını belirtiyoruz. Daha sonra, süslü parantezler {} içine kuralımızı yazıyoruz. "Author" bölümünde kuralı yazan kişinin adını belirtiyoruz. "Description" bölümünde ise yara kuralı hakkında açıklamalar yaparak, hangi zararlı yazılım için yazıldığına dair bilgiler verebiliriz.

Sonrasında, zararlı yazılımı analiz ettiğimizde bulduğumuz hex ve text değerlerini string bir değişkene atayarak tanımlıyoruz. Ardından "condition" bölümünde, string değişkene atadığımız değerler arasındaki ilişkiyi ve kuralın hangi durumlarda eşleşeceğini belirtiyoruz. Bu kısımda "ve" veya "veya" ifadelerini kullanarak kuralımızı yazıyoruz.



Yara İle Zararlı Yazılım Analizi Nasıl Yapılır?

Yara kuralları, kullanıcıların kendi sistemlerinde tehdit avcılığı yapma imkanı sağladığı gibi, yazılan yara kurallarına uyan zararlı yazılım örneklerini çevrimiçi sandbox sistemlerinde de elde etmek mümkündür. Bu örneklerin davranış analizi ile uç nokta güvenlik ürünlerini güçlendirmek mümkündür. Örneğin, Hybrid-Analysis üzerinde yara kurallarını zararlı yazılım avcılığında nasıl kullanabileceğimizi size göstereceğim.


(Görseller temsilidir.)
Yara arama modülünü kullanmak için Hybrid Analysis'in ana sayfasındaki arama özelliğini kullanıyoruz.



(Görseller temsilidir.)
"Hybrid Analiz'in arama modülünde bulunan "Advanced Search" seçeneği sayesinde, yara kuralımızı özelleştirme imkanına sahip oluyoruz. Örneğin, CVE-2018–4878 güvenlik açığından etkilenen zararlı yazılım örneklerini araştırabiliriz."



(Görseller temsilidir.)

Sonuca hızlı bir şekilde ulaşmak için, milyonlarca zararlı örneğin arasında istediğimiz sonucu saniyeler içinde bulabiliyoruz.
Eline Sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.