Sigma Kuralı Geliştirme

1. Sigma Kuralı Nedir?

Sigma kuralı, güvenlik olaylarını ve tehditleri algılama ve inceleme amacıyla kullanılan bir açık kaynaklı bir dil ve kural seti formatıdır. Sigma, güvenlik uzmanları ve siber güvenlik analistleri tarafından kullanılan bir standartlaştırma aracıdır. Bu kurallar, güvenlik olaylarını yakalamak ve değerlendirmek için kullanılan SIEM (Security Information and Event Management) sistemlerinde ve güvenlik bilgilendirme sistemlerinde (Security Information and Event Management – SIEM) kullanılır.

Sigma kuralı, güvenlik olaylarını tanımlamak için bir dil sağlar ve bu olayların izlenmesi, analiz edilmesi ve yanıtlanması için kullanılır. Sigma kuralları, belirli bir güvenlik tehdidini veya olayını ifade eder ve olayın belirli koşullar altında nasıl tetikleneceğini belirtir. Bu kurallar, güvenlik ekiplerinin potansiyel tehditleri hızla tanımlamalarına ve yanıtlamalarına yardımcı olur.

Sigma kuralları, genellikle güvenlik olaylarını belirlemek ve izlemek için kullanılan SIEM araçlarına veya güvenlik bilgilendirme sistemlerine entegre edilir. Bu şekilde, güvenlik ekibi, ağlarında veya sistemlerinde olası tehditleri hızlı bir şekilde tespit edebilir ve gerektiğinde müdahale edebilir.

Özetle, Sigma kuralı, güvenlik olaylarını tanımlamak ve izlemek için kullanılan bir standartlaştırılmış dil ve kural seti formatıdır, bu da siber güvenlik ekiplerinin tehditleri daha etkili bir şekilde yönetmelerine yardımcı olur.

2. Saldırı Tespit Kurallarının Önemi

Sigma kuralı, güvenlik olaylarını ve saldırıları tespit etmek için kullanılan bir formattır. Sigma kuralı, açık kaynaklı bir proje olan Sigma (https://github.com/Neo23x0/sigma) tarafından desteklenmektedir ve çeşitli güvenlik bilgi kaynaklarından (örneğin, IDS/IPS, güvenlik günlükleri, WAF gibi) alınan verileri tek bir formatta ifade etmek ve bu veriler üzerinde analiz yapmak için kullanılır.

Saldırı Tespit Kuralları (Intrusion Detection Rules), bilgisayar ağları ve sistemlerinde anormal aktiviteleri tespit etmin kullanılan kural setleridir. Bu kurallar, belirli bir saldırı veya güvenlik ihlali durumunda tetiklenecek olan belirli koşulları belirtir. Örneğin, bir belirli portta gelen çok sayıda bağlantı isteği veya belirli bir imza desenine sahip ağ trafiği gibi.

Sigma kuralı, saldırı tespit kurallarını daha evrensel bir formata dönüştürerek, farklı güvenlik sistemlerinin (IDS/IPS, SIEM, günlük analiz araçları vb.) aynı kural setini kullanabilmesini sağlar. Bu da güvenlik uzmanlarının ve analistlerin daha etkili bir şekilde olayları ve saldırıları tespit etmelerini ve analiz etmelerini sağlar.

Sigma kuralının önemi şu şekillerde özetlenebilir:

  1. Tek Format, Birden Fazla Aracı Desteği: Sigma, farklı güvenlik araçlarına uyumlu olacak şekilde tasarlanmış bir formattır. Bu, güvenlik analistlerinin ve uzmanlarının aynı kural setini farklı araçlarda kullanabilmesini sağlar. Böylece, aynı kuralı farklı sistemlerde tekrar tekrar oluşturmak zorunda kalmazlar.
  2. Verimli Analiz ve İnceleme: Sigma kuralı, güvenlik olaylarını ve saldırıları analiz etmek ve incelemek için daha etkili bir araç sunar. Tek bir formatta ifade edilen kurallar, analiz süreçlerini hızlandırabilir ve daha kesin sonuçlara ulaşmayı kolaylaştırabilir.
  3. Topluluk Katkısı ve Paylaşımı: Sigma, açık kaynaklı bir projedir ve güvenlik topluluğunun katkılarına açıktır. Bu, güvenlik uzmanlarının, analistlerin ve araştırmacıların kendi kurallarını oluşturmasını, paylaşmasını ve diğer topluluk üyeleriyle işbirliği yapmasını sağlar.
  4. Hızlı ve Etkili Yanıt: Sigma kuralı, anormal aktiviteleri hızla tespit etmek ve buna yanıt vermek için kullanılabilir. Bu, saldırıların veya güvenlik ihlallerinin daha hızlı tespit edilmesini ve müdahale edilmesini sağlayabilir.

Sonuç olarak, Sigma kuralı saldırı tespit kurallarının etkili bir şekilde oluşturulması, yönetilmesi ve kullanılmasına yardımcı olan bir formattır. Güvenlik uzmanları ve analistler, Sigma kuralı kullanarak daha güvenli bir çevre oluşturabilir, saldırıları önleyebilir ve güvenlik olaylarını daha hızlı çözebilirler.

3. Sigma Kuralı Yapısı ve Sözdizimi

Sigma algılama kuralları için temel sözdizimi şöyledir;

Temel bileşenleri inceleyelim:

 

title: Sigma kuralının başlığı. Bu, kuralın genel amacını veya kapsamını tanımlar.

status: Kuralın durumu. Örneğin, “deneysel”, “test ediliyor”, “kararlı” gibi durumları ifade eder.

description: Kuralın neyi algıladığı ve amacının ayrıntılı açıklaması. Bu, kuralın ne tür olayları veya durumları izlediğini ve ne tür bir tehdide karşı koruma sağladığını belirtir.

author: Kuralı oluşturan kişinin veya kullanıcının adı veya kullanıcı adı.

logsource: Günlük verilerinin kaynağı hakkında bilgi. Hangi sistem veya uygulama tarafından üretilen günlükleri izlediğini belirtir.

category: Günlüğün kategorisi. Örneğin, “güvenlik duvarı”, “kimlik doğrulama” gibi.

product: Günlüğü oluşturan ürün veya sistem. Örneğin, “Windows Güvenliği”, “Cisco ASA” gibi.

detection: Kural için ana algılama mantığı. Kuralın hangi örüntüleri veya davranışları izleyerek tehditleri tespit ettiğini belirtir.

condition: Bir sorgu dilinde yazılmış algılama koşulu. Örneğin, Sigma Sorgu Sözdizimi veya Elasticsearch Query DSL gibi.

fields: Günlük verilerinden ayıklamak veya analiz etmek istediğiniz belirli alanlar. Hangi veri noktalarını incelediğini belirtir.

Falsepositives: Kuralın yanlış pozitifler üretebileceği durumlar. Yani, kuralın istenmeyen durumları yanlışlıkla tespit etme potansiyeli.

level: Kuralın önem düzeyi. Örneğin, “düşük”, “orta”, “yüksek” gibi.

tags: Kuralla ilişkili etiketler veya kategoriler.

references: Tespit veya ele aldığı tehdit hakkında ek bilgilere yapılan referanslar.

Yukarıdaki sözdiziminin basitleştirilmiş bir genel bakış olduğunu ve Sigma kurallarında ek gelişmiş özellikler ve seçenekler olabileceğini unutmayın. Sigma kurallarını yazarken, en güncel bilgiler ve sözdizimi ayrıntıları için güncel kaynakları takip edebilirsiniz.

Örnek:

Aşağıdaki görselde örnek bir Sigma kuralı içeriği yer almaktadır. Görsel içeriği detaylı incelendiğinde Sigma Kuralı yapısı ve sözdizimi hakkında daha detaylı bilgiler yer aldığı görülmektedir.

4. Sigma Kurallarını Sysmon ile İlişkilendirme

Sistem izleme (Sysmon), bilgisayar sistemlerinin davranışlarını anlamak ve izlemek amacıyla kullanılan güçlü bir araçtır. Sysmon, çeşitli olayları ve eylemleri tanımlayan olay kimlikleri (event ID) sağlar, bu da güvenlik analitiği, sistem güvenliği ve performans analizi için önemli bir kaynaktır. Sigma kuralları, bu olay kimliklerini kullanarak güvenlik olaylarını tanımlamak için yazılır. Bu makalede, Sigma kurallarının Sysmon event ID’leri ile nasıl ilişkilendirileceğini anlamak için özellikle önemli olan “category” kısmını ele alacağız.

Sigma Kurallarında “Category” Kısmının Önemi

Sigma kuralları yazılırken, olayları kategorize etmek ve sınıflandırmak önemlidir. Bu, güvenlik analitik kurallarının daha etkili ve anlaşılır olmasına yardımcı olur. Sysmon ile ilişkilendirilmiş Sigma kurallarında, bu kategorizasyon genellikle Sysmon event ID’lerine dayanır.

Örnek Kategoriler ve İlgili Sysmon Event ID’leri

1. Process Creation (Process oluşturma):

  • Category: process_creation
  • Sysmon Event ID: 1
  • Açıklama: Yeni bir işlem oluşturulduğunda bu kural tetiklenir. Özellikle, kötü amaçlı yazılım analizi ve tehdit tespiti için önemlidir.

2. File Event (Dosya Olayı):

  • Category: file_event
  • Sysmon Event ID: 2
  • Açıklama: Dosya ile ilgili olaylar, örneğin dosya oluşturma veya silme gibi, bu kural altında yer alır.

3. Image Load (İmaj Yükleme):

  • Category: image_load
  • Sysmon Event ID: 7
  • Açıklama: Yeni bir işlem veya servis tarafından bir DLL veya exe dosyasının yüklenmesini tespit etmek için kullanılır.

4. Registry Event (Registry Olayı):

  • Category: registry_event
  • Sysmon Event ID: 13
  • Açıklama: Windows kayıt defteri ile ilgili olayları izlemek ve değerli bilgileri tespit etmek amacıyla kullanılır.

Kategorilere Göre Sigma Kuralları Yazma

Sigma kuralları yazılırken, belirli bir kategori altında hangi Sysmon event ID’sinin yer aldığını bilmek önemlidir. Örneğin, yeni bir işlem oluşturma olaylarını tespit etmek istiyorsanız, “category: process_creation” şeklinde bir Sigma kuralı oluşturabilirsiniz.

Sonuç

Sysmon ile ilişkilendirilmiş Sigma kuralları, bilgisayar sistemlerindeki önemli olayları izlemek ve güvenlik analitiği yapmak için güçlü bir araçtır. Kategorize edilmiş Sigma kuralları kullanmak, güvenlik analitik kurallarını anlamayı ve yönetmeyi kolaylaştırır. Özellikle Sysmon event ID’leri üzerinden kategorilere odaklanmak, belirli güvenlik senaryolarını daha etkili bir şekilde tanımlamak için önemli bir adımdır. Bu bilgileri kullanarak, organizasyonlar güvenliklerini artırabilir ve potansiyel tehditlere karşı daha hazırlıklı olabilirler.

5. Process Creation

Sysmon Event ID 1, işlem oluşturma olayını temsil eder. Bu olay, bir program veya hizmetin başlatıldığı zaman kaydedilir. İşlem oluşturma olayı, yeni bir işlemin başlatılmasıyla ilgili bilgileri içerir, böylece hangi programın çalıştığı, hangi kullanıcı hesabının kullandığı ve işlemin hangi parametrelerle başlatıldığı gibi ayrıntılar görülebilir. Bu bilgiler, sistemin izlenmesi, kötü niyetli yazılımların tespiti ve sistem aktivitelerinin analizi gibi amaçlar için kullanılabilir.

 

Örneğin aşağıdaki gibi “process creation” kategorisinde bir kural yazılacaksa bununla ilişkili fieldlara sysmon event ID =1 ile ulaşılabilir.

Aşağıdaki kuralda yazmış olduğum örnek bir “process_creation” kuralının detaylarını görebilirsiniz.

Eğer ki process_creation kuralı oluşturacaksanız buradaki fieldları bilmeniz gerekmektedir. Bu fieldlar aşağıdaki gibidir.

 

  • Log Name
  • Source
  • Date
  • Event ID
  • Task Category
  • Level
  • Keywords
  • User
  • Computer
  • Description
  • UtcTime
  • ProcessGuid
  • ProcessId
  • Image
  • FileVersion
  • Description
  • Product
  • Company
  • CommandLine
  • CurrentDirectory
  • User
  • LogonGuid
  • LogonId
  • TerminalSessionId
  • IntegrityLevel
  • Hashes
  • ParentProcessGuid
  • ParentProcessId
  • ParentImage
  • ParentCommandLine

 

Process creation kategorisi altındaki tüm fieldlara buradan ulaşabilirsiniz.

6. File Event

 

Bu olay, bir dosyanın yaratılması veya değiştirilmesi sonucu tetiklendiğinde sistemde oluşan bir günlük girdisidir. Dosya adı, yolu, boyutu, zaman damgaları gibi bilgiler genellikle bu olayın içinde yer alır. Bu tür olaylar, kötü amaçlı yazılımların veya yetkisiz erişim girişimlerinin tespiti ve izlenmesi gibi güvenlik amaçları için kullanılır.

 

Örneğin aşağıdaki gibi “file_event” kategorisinde bir kural yazılacaksa bununla ilişkili fieldlara sysmon event ID =11 ile ulaşılabilir.

Aşağıdaki kuralda yazmış olduğum örnek bir “file_event” kuralının detaylarını görebilirsiniz.

Eğer ki File_event kuralı oluşturacaksanız buradaki fieldları bilmeniz gerekmektedir. Bu fieldlar aşağıdaki gibidir.

  • Log Name
  • Source
  • Date
  • Event ID
  • Task Category
  • Level
  • Keywords
  • User
  • Computer
  • Description
  • UtcTime
  • ProcessGuid
  • ProcessId
  • Image
  • TargetFilename
  • CreationUtcTime

 

File_event kategorisi altındaki tüm fieldlara buradan ulaşabilirsiniz.

  • https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=90011

7. Image_Load

 

Bu tür olaylar, kayıt defteri üzerinde yapılan değişiklikleri izlemek ve potansiyel olarak kötü amaçlı yazılımların veya yetkisiz erişim girişimlerinin tespiti için kullanılır. Bir kayıt defteri etkinliği tetiklendiğinde, olay günlüğünde değişiklik yapan süreç, anahtarın adı, eski ve yeni değerler gibi bilgiler kaydedilir.

 

Örneğin aşağıdaki gibi “Image_Load” kategorisinde bir kural yazılacaksa bununla ilişkili fieldlara sysmon event ID =7 ile ulaşılabilir.

 

Genel olarak bakıldığında “image_load” kategorisi kural yapısı aşağıdaki gibidir.

Daha önceden yazmış olduğum örnek bir image_load kuralı aşağıdaki gibidir.

Eğer ki Image_Load kategorisi altında bir sigma kuralı oluşturacaksanız buradaki fieldları bilmeniz gerekmektedir. Bu fieldlar aşağıdaki gibidir.

  • Log Name
  • Source
  • Date
  • Event ID
  • Task Category
  • Level
  • Keywords
  • User
  • Computer
  • Description
  • UtcTime
  • ProcessGuid
  • ProcessId
  • Image
  • ImageLoaded
  • FileVersion
  • Description
  • Product
  • Company
  • Hashes
  • Signed
  • Signature
  • SignatureStatus

 

Image_Load kategorisi altındaki tüm fieldlara buradan ulaşabilirsiniz.

– https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?source=Sysmon&eventID=7

8. Registry_Event

 

Bu tür olaylar, kayıt defteri üzerinde yapılan değişiklikleri izlemek ve potansiyel olarak kötü amaçlı yazılımların veya yetkisiz erişim girişimlerinin tespiti için kullanılır. Bir kayıt defteri etkinliği tetiklendiğinde, olay günlüğünde değişiklik yapan süreç, anahtarın adı, eski ve yeni değerler gibi bilgiler kaydedilir.

Örneğin aşağıdaki gibi “Registry_Event” kategorisinde bir kural yazılacaksa bununla ilişkili fieldlara sysmon event ID =13 ile ulaşılabilir.

Aşağıdaki kuralda yazmış olduğum örnek bir “registry_event” kuralının detaylarını görebilirsiniz.

Eğer ki Registry_Event kuralı oluşturacaksanız buradaki fieldları bilmeniz gerekmektedir. Bu fieldlar aşağıdaki gibidir.

  • Log Name
  • Source
  • Date
  • Event ID
  • Task Category
  • Level
  • Keywords
  • User
  • Computer
  • Description
  • EventType
  • UtcTime
  • ProcessGuid
  • ProcessId
  • Image
  • TargetObject
  • Details

 

Registry_Event kategorisi altındaki tüm fieldlara buradan ulaşabilirsiniz.

– https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/event.aspx?eventid=90013

9. RDP Brute Force Atağının Sigma Kuralı ile Tespiti

 

“RDP Brute Force Attack Detection” başlıklı kural, saldırganların ağınızda bulunan RDP (Remote Desktop Protocol) portuna yapılan istekleri tespit etmeye odaklanır. Saldırganlar genellikle bu port üzerinden RDP brute force saldırıları gerçekleştirerek güvenlik duvarını aşmayı amaçlar. Bu kural, ağ güvenliğinizin korunmasına yardımcı olmak için potansiyel RDP brute force saldırılarını erken aşamada tespit etmeyi amaçlar. Ağ güvenliği ekipleri bu kuralı kullanarak ağlarını korumak için RDP’ye yönelik olası saldırıları önleyebilir ve gerektiğinde alarmlar oluşturabilirler.

Kural içeriğini detaylı olarak aşağıdaki gibidir;

Kural adımları sırasıyla aşağıdaki gibidir;

 

Kural Başlığı: Outbound RDP Brute Force Attack Detect

Açıklama: Bu kural, güvenlik duvarında bulunan RDP portuna gelen istekleri izlemek ve olası RDP brute force saldırılarını tespit etmek için tasarlanmıştır.

Adım 1: Log Kaynağını Belirleme:

Bu kural, güvenlik duvarı loglarından bilgi alır.

Güvenlik duvarı, ağ trafiğini izler ve yönetir, dolayısıyla RDP trafiğini izlemek için ideal bir kaynaktır.

Adım 2: Hedef Port Seçimi:

Kural, RDP’ye yönelik saldırıları tespit etmek için hedef (destination) portu 3389 olarak belirler.

3389 numaralı port, tipik olarak RDP trafiği için kullanılır.

Adım 3: Zaman Aralığı Belirleme:

Kural, belirlenen hedef port üzerinden gelen istekleri 1 dakikalık zaman aralıklarında izler.

Bu, saldırıların erken tespiti için önemlidir.

Adım 4: IP Adresi Filtreleme:

Kural, belirli IP aralıklarını filtrelemek için kaynak (source) IP’sine göre filtre uygular.

10.x.x.x ve 192.x.x.x gibi yerel ağ IP aralıkları filtreleme kriteri olarak kullanılır.

Adım 5: Koşul Belirleme:

Kural, belirlenen zaman aralığında hedef porta yönelik gelen isteklerin sayısını izler.

Eğer tek bir IP adresinden gelen istek sayısı 1000’in üzerinde ise, potansiyel saldırı olarak değerlendirilir.

Adım 6: Yanlış Pozitifleri Tanımlama:

Kural, alan adına yönelik yüksek DNS isteklerini yanlış pozitif olarak belirler.

Bu durumda, bu isteklerin beyaz listeye eklenebileceğini belirtir.

Adım 7: Uyarı Düzeyini Belirleme:

Bu kuralın uyarı seviyesi orta olarak belirlenmiştir.

Yani, bu tür bir saldırı tespit edilirse, olayın ciddiyetinin orta düzeyde olduğunu belirtir.

10. Windows Defender Tehdit Korumasının Devre Dışı Bırakılmasının Sigma Kuralı ile Tespiti

 

Bu kural, Windows Defender tehdit korumasının devre dışı bırakılmasını tespit eder. Bu, bilgisayarlarda meydana gelebilecek potansiyel bir güvenlik açığını belirlemede önemli bir rol oynar. Kural, belirli olay kimlikleriyle ilişkili olarak Windows Defender hizmetinin devre dışı bırakılmasını izler ve bu durumu yüksek seviyede bir tehdit olarak değerlendirir.

Kural içeriğini detaylı olarak aşağıdaki gibidir;

Kural adımları sırasıyla aşağıdaki gibidir;

 

Log Kaynağı Belirleme:

Kural, Windows işletim sistemi tarafından üretilen logları kullanarak tehditleri tespit eder.

Windows Defender hizmeti, Windows işletim sistemlerinde yerleşik olarak bulunan bir antivirüs ve tehdit koruma programıdır.

Olay Seçimi:

Kural, belirli olay kimlikleri (EventID) olan olayları izler: 5001, 5010, 5012, 5101.

Bu olay kimlikleri, Windows Defender’ın devre dışı bırakılmasıyla ilişkilendirilen belirli işlemleri temsil eder.

 

 

Koşul Belirleme:

Kural, belirli olay kimliklerinin tespit edilmesi durumunda tehdidi tetikler.

Eğer seçilen olay kimlikleri kaydedilirse, kural bu durumu tespit eder.

Yanlış Pozitifleri Tanımlama:

Kural, yanlış pozitif sonuçlarının ne olabileceğini belirtmek için “Bilinmeyen” olarak bir yanlış pozitif belirtir.

Bu durumda, belirli koşullar altında kuralın yanlış bir şekilde tetiklenebileceği durumlar önceden belirlenmemiştir.

Uyarı Düzeyini Belirleme:

Bu kuralın uyarı seviyesi yüksektir.

Windows Defender’ın devre dışı bırakılması ciddi bir güvenlik açığına işaret edebileceğinden, bu durumun önemi ve aciliyeti yüksek olarak belirlenmiştir.