Sysmon ile Log Toplama ve Analizi

Her geçen gün gelişen ve karmaşıklaşan siber tehditler, tehditleri önleyici güvenlik ürünlerine yakalanmamaktadır. Bilişim sistemlerinin güvenliğini sağlayabilmenin en önemli noktalarından biri de log kaydı tutmaktır. Log kaydı, sistemde oluşan olayların veya hareketlerin kayıt altına alındığı dosyalardır.

Sysmon Nedir?

System Monitor (Sysmon), aktif olarak kullanılan bir sistemde oluşan hareketleri ve olayları kayıt altına alabilen araçtır. Sysmon, bu kayıtları Windows işletim sistemleri için Olay Görüntüleyicisi (Event Log) aracılığıyla yapan sistem servisi ve aygıt sürücüsüdür. İşlemler, ağ bağlantıları ve bir dosyanın oluşturulma detayıyla ilgili bilgileri sunar.

Sysmon aracı sistemde log analizi yapmaz ya da siber saldırılara karşı koruma sağlamaz.

Sysmon Aracı Özellikleri Nelerdir?
  • Geçerli ve ana işlemler (parent) süreçlerini komut satırında loglara kaydeder.
  • SHA1, MD5, SHA256 veya IMPHASH yöntemleriyle imaj dosyalarını hashleyerek kaydeder.
  • Birden fazla hash fonksiyonu aynı anda kullanılabilir.
  • Sürücü ve DLL dosyalarının yüklenmesini imzalarla ve hash fonksiyonlarıyla birlikte loglara kaydeder.
  • Disklerde ve volümlerde okuma izni için loglama yapar.
  • İsteğe bağlı olarak, ağ bağlantılarını, IP adreslerini, portları, hostname bilgilerini loglara kaydeder.
  • Dosya oluşturma zamanlarının değiştirilmesi, zararlı yazılımların izlerini örtmek için kullandığı yöntemlerdendir. Bu yüzden dosyanın gerçekten ne zaman oluşturulduğunu anlamak için değişiklikleri algılayarak loglara kaydeder.
  • Kayıt Defteri Düzenleyicisinde (The Registry) herhangi bir yapılandırma meydana gelirse otomatik olarak yeniden yükleme yapar.
  • Belirli olayları dinamik olarak dahil etmek ya da hariç tutmak için kural filtrelemesi yapar.
  • Önyükleme işleminden itibaren olayları loglar, böylece kernel-mode zararlı yazılımları etkinliklerinini tespit edebilir.

Sysmon View Aracı

Sysmon loglarını mantıksal olarak gruplandırarak ve ilişkilendirerek çalıştırılabilir dosyalar, oturum GUID (Globally Unique IDentifier) değerleri, etkinliklerin oluşturulma zamanı gibi mevcut verilerden anlamlı analizler yapılmasını sağlayan araçtır.

Analize başlayabilmek ve aracın fonksiyonlarını kullanabilmek için öncelikle WEVTutil (Olay logları ve yayıncı bilgisi almak, sorgular çalıştırarak logları export etmek, logları temizlemek, logları arşivlemek gibi işlemleridir) komutu sayesinde sysmon loglarını XML dosyasına aktarmak gerekir. Oluşturulan XML dosyası Sysmon View aracıyla açılarak, analiz edilir.

Logları içeren XML dosyasını Sysmon View aracına aktarmak için uygulama başlatıldığında “File – Import Sysmon Event Logs” sekmesi kullanılmaktadır. Dosya bir kez içe aktarıldığında sonradan “File – Load Existing Data” sekmesinden tekrar tekrar analiz edilebilir.

Yeni bir olay logu analiz edilmek için Sysmon View aracına aktarıldığında mevcut işlemler kaybolmaktadır. Bunun için Sysmon View üzerinde yapılan tüm işlemler SysmonViewDB adlı bir SQLite veritabanı dosyasına aktarılmaktadır. Bu dosya saklanılabilir, kopyalanabilir ya da paylaşılabilir.

Sysmon ile Log Toplama ve Analizi

Sysmon View aracı kullanılarak analiz edilen loglar VirusTotal, IPStack, WireShark gibi önemli uygulamalar tarafından da incelenebilir. Bu işlemler için bahsedilen uygulamaların API Key’leri gereklidir. Mevcut API Key’ler “File – Preferences” sekmesinden Sysmon View aracına eklenebilir.

Sysmon ile Log Toplama ve Analizi

Sysmon View aracına import edilen XML formatındaki log dosyaları, Process View sekmesinde görüntülenmektedir. Bu sekmede sol bölümde yer alan filtreleme çubuğunda, mevcut logların ilişki bilgileri yer alır. Detaylı analizin yapılabilmesi için tüm ilişkilerin görüntülenmesi daha doğrudur.

Process View sekmesinde basit bir arayüz aracılığıyla çalıştırma oturumlarının (run sessions) analizi veya olay türü (Ağ Olayı gibi) filtrelemeleriyle detaylı izleme yapılabilir. Örneğin aynı oturumda çalışan ancak farklı konumlarda çalışıyor olarak görünen oturumlar tespit edilebilir.

Çalıştırma oturumlarını filtrelemek için GUID değerlerinden yararlanılır. Log dosyasına kaydedilen çalışan bir oturum seçilerek tüm ilişkili olaylar zamana göre sıralanır ve veri akış diyagramına benzer yapıda incelenebilir.

Sysmon ile Log Toplama ve Analizi

Olay ayrıntılarına çift tıklayarak detaylı bilgiler görüntülenmektedir. Sürecin oluşturulma detaylarında;

  • Çalıştırılma tarihi ve zamanı
  • Süreç ID ve GUID bilgileri
  • Imaj yolu
  • Sistemde çalıştırılan komutlar
  • Çalışan sürecin sistemde bulunduğu dizin
  • Oturum ID ve GUID bilgileri
  • Terminal oturumu
  • Bütünlük seviyesi
  • HASH fonksiyonu bilgileri
  • Parent süreç bilgileri yer almaktadır.

Map View sekmesinde, loglar import edildiğinde kullanıcıya sorulan coğrafi konum bulma seçeneği işaretlendiyse bu bölümde IP adreslerine ait coğrafi konum bulma özelliği vardır. Sysmon View aracı ipstack hizmetinden yararlanarak ağ hedeflerini coğrafi olarak haritalandırmaya çalışmaktadır. GUID oturumuna ait bilgiler sürecin analizi için kullanılmaktadır. Map View sekmesinden analiz yapabilmek için ipstack hizmetinden API KEY alınmalıdır.

All Events View (Tüm Olayları Görüntüleme) sekmesinde, loglanan tüm olay verilerini hash değerlerine, IP adreslerine, domainlere, kayıt defteri verilerine göre filtreleyerek inceleme sağlanır. Tarih, saat, olay ID, olay tipi, süreç GUID ve bilgisayar değerlerine göre ayrı ayrı inceleme fırsatı sunar. Process View sekmesindeki incelemenin satırlara bölünerek tüm logların incelenmesini sağlar. Loglanan tüm veriler üzerinde arama yapmak için filtreleme yapılabilir.

Yaygın olarak karşılaşılan Olay Tipleri (Event Type) sütunu aşağıdaki gibidir:

  • Process Create: Oluşturulan süreç.
  • Process Terminated: Sonlanan süreç.
  • File Creation Time Changed: Oluşturulan dosya zamanının değiştirilmesi.
Sysmon ile Log Toplama ve Analizi

Hierarchy (Hiyerarşi) sekmesinde, log dosyasına ait hiyerarşik yapıda analiz gösterimi sunulmaktadır. Tetiklenen süreç sonrasında sistemde sona eren süreçler (Mavi Renk), üst seviyede çalışan süreçler (Pembe Renk) ve sonlanmamış süreçler (Turuncu Renk) görüntülenebilir.

Sysmon ile Log Toplama ve Analizi

Sysmon View aracı sayesinde VirusTotal hizmeti üzerinden API KEY kullanarak, hash fonksiyonlarına ait kayıtları sorgulamak mümkündür. VirusTotal analizi için süreç üzerine çift tıklanmalı ve istenilen hash fonksiyonuna ait sorgu için MD5, SHA1, SHA256 değelerine tıklanmalıdır. Tarama sonrasında sunulan link aracılığıyla VirusTotal sonuçları web tarayıcısından görüntülenmektedir.

Sysmon ile Log Toplama ve Analizi

WireShark + TShark ağ protokolü analizi uygulaması tarafından kaydedilen dosyalar, Sysmon View aracına PCAP/NG dosyası olarak import (yükleme) edilebilir. WireShark uygulamasıyla eşzamanlı olarak ya da önceden yakalanan ağ paketleri çıktı olarak sisteme kaydedilebilir. Sysmon View kullanarak kaydedilen bu dosyalar detaylı olarak incelenip, analizi yapılabilir. Process View sekmesinde yer alan “Packet Capture” bölümünden analiz yapılabilir.

Sysmon ile Log Toplama ve Analizi

Sysmon Shell Aracı

Sysmon Shell aracı sayesinde, XML formatındaki yapılandırma dosyaları kullanımı basit bir GUI (Grafik Kullanıcı Arayüzü) aracılığıyla yazılabilir ve ayarlanabilir.

Sysmon için mevcut yapılandırma seçeneklerini araştırmak, XML yapılandırılmasıyla log dosyalarını dışa aktarmak ve Sysmon Shell sayesinde log dosyalarını kolayca uygulamak ya da güncellemek için kullanılır. Sysmon Shell, doğrudan registry ayarlarını yüklemez. Yalnızca XML dosyaları aracılığıyla ayarları bu araca yükler.

Sysmon Shell aracı çalıştırıldığında arka planda sistemde Administrator yetkisiyle “Sysmon.exe -c” komutunu çalıştırılır. Sysmon araçlarının yüklü olduğu klasörde geçici bir XML dosyası oluşturulur. XML yapılandırılması kaydedilmeden önce önizleme ile görüntülenebilir.

Sysmon Shell aracında File sekmesinde XML formatlı yapılandırma ayarları import/export edilebilir. Uygulanan yapılandırmalar Reset bölümüyle sıfırlanabilir.

  • Process Create: Yeni oluşturulan süreçlerle ilgili genişletilmiş bilgiler bulunur.
  • FileCreateTime: Bir dosya oluşturma işleminde, belirli bir süreç açıkça dosya oluşturma zamanını değiştirdiğinde bilgiler tutulur. Bu olay oluşturulan bir dosyanın gerçek zamanını takip etmek için kullanılır.
  • NetworkConnect: Makine üzerindeki TCP/UDP bağlantısı gerçekleşen olayların loglanmasıdır. Araç üzerinde varsayılan olarak devre dışı bırakılmıştır. Her bir bağlantı ProcessID ve GUID değerleriyle ilişkilidir.
  • ProcessTerminate: Bir süreç sonlandırıldığında oluşan logların bulunduğu bölümdür. Süreçlerin UTC Saat, ProcessGUID ve ProcessID bilgilerini barındırır.
  • DriverLoad: Sistem üzerinde yüklenen sürücülerle ilgili detaylı bilgilerin bulunduğu olay bölümüdür.
  • ImageLoad: Belirli bir süreç üzerinde yüklenen bir imaj olduğunda olay loglarına kaydedilen bölümdür.
  • CreateRemoteThread: Bir süreç başka bir süreç için tehdit oluşturduğunda tespit edilen ve loglara kaydedilen bölümdür. Bu yöntem, zararlı bir yazılımın kod tetiklemesinde ya da başka bir süreç içerisinde gizlenmeye çalışmasında kullanılmaktadır.
  • RawAccessRead: Raw Access (Ham Erişim) aracılığıyla, bir süreç sürücü içerisinde “..\..\” komutu çalıştırdığında olayların loglanmasını gerçekleştiren bölümdür.
  • ProcessAccess: Bir süreç başka bir süreci tetiklediğinde ve tetiklenen süreç okuma, yazma gibi dosya işlemleri kapsadığında olayların loglanmasının gerçekleştiği bölümdür. Bellek okuma saldırıları gerçekleştiren araçların tespit edilmesinde (Lsass.exe) ve saldırı sonucunda sistemdeki kritik verilerin okunmasını önlemek amacıyla kullanılmaktadır.
  • FileCreate: Bir dosya oluşturulduğunda ya da mevcut bir dosyanın üzerinde değişiklik yapıldığında olay loglarının oluşturulduğu bölümdür.
  • RegistryEvent: Nesnelerin oluşturulması , silinmesi (Registry Üzerinden) gibi olayların loglanmasını sağlayan bölümdür. Kayıt defteri (Registry) üzerinde oluşan her türlü değişiklik olay loglarına kaydedilerek detaylı analizler yapılır.
  • FileCreateStreamHash: Adlandırılmış bir dosya üzerinde akış gerçekleştiğinde ve hash değerleri oluşturulduğunda olay loglarını oluşturan bölümdür.
  • PipeEvent: Zararlı yazılımların süreçler arası iletişimlerini gözlemlemek için kullanışlıdır. Adlandırılan ve bağlantı sağlanan şeklinde iki adet alt olay olarak incelenir ve olay logları oluşturulur.
  • WMIEvent: Windows Yönetim Araçlarında (WMI) meydana gelen değişikliklerin loglanarak incelenmesini sağlayan bölümdür.

En alt bölümde loglanan XML dosyalarının Hash yöntemleri tercih edilerek uygulanabilir ya da öncesinde önizlemeyle incelenebilir.

En soldaki sekmede “Logs Export” bölümünde, kolayca ve hızlı bir şekilde Sysmon olay logları XML formatında sisteme kaydedilebilir. Kaydedilen bu log dosyası Sysmon View aracı sayesinde detaylı olarak analiz edilebilir. Sisteme kaydetme seçeneği 3 farklı şekildedir:

  • Export Only: Yalnızca dışa aktarıp, kaydet.
  • Export and Clear Sysmon Event Log: Dışa aktarıp kaydet ve Sysmon olay loglarını temizle.
  • Export, Backup EVTX File and Clear The Event Log: Dışa aktarıp kaydet, EVTX dosyasıyla yedekleme al ve Sysmon olay loglarını temizle.
Sysmon ile Log Toplama ve Analizi

EVTX dosyası, Windows 7 işletim sistemiyle birlikte kullanılan Event Log (Olay Görüntüleyicisi) dosya tipidir. Binary formatındadır.

Sysmon Shell aracında, farklı güvenlik uzmanları tarafından oluşturulan birçok Sysmon yapılandırma taslağı kullanılmaktadır. Templates sekmesi altında ilgili taslaklara ulaşılabilir.

Sysmon ile Log Toplama ve Analizi

Sysmon Shell aracı kullanarak oluşturulan kurallar XML formatında kaydedilmektedir. Açıklanan sekmeler üzerinden “Condition” bölümünde gerekli olan loglama kuralları ve şartları oluşturulmaktadır. Oluşturulan şartlara isim verilir, kural ismi verilir. Belirtilen şartlar:

  • UTC Time: Evrensel zaman göre kurallar oluşturulabilir.
  • ProcessGUID: Süreç GUID değerine göre kurallar oluşturulabilir.
  • ProcessID: Sürecin ID değerine göre kurallar oluşturulabilir.
  • Image: Imajlar için yani örneğin çalıştırılabilir programlar için kurallar oluşturulabilir.
  • File Version: Dosya versiyonuna yönelik kurallar oluşturulabilir.
  • Description: Belirtilen açıklamaya yönelik kurallar oluşturulabilir.
  • Product: Belirtilen ürüne göre kurallar oluşturulabilir.
  • Company: Belirtilen firmaya göre kurallar oluşturulabilir.
  • Command Line: Komut satırında çalıştırılan komutlara yönelik kurallar oluşturulabilir.
  • Current Directory: Belirtilen dizin içerisindeki olaylara yönelik kurallar oluşturulabilir.
  • User: Belirtilen kullanıcıya yönelik kurallar oluşturulabilir.
  • Logon GUID: Oturum açma GUID değerine göre kurallar oluşturulabilir.
  • Logon ID: Oturum ama ID değerine göre kurallar oluşturulabilir.
  • Terminal Session ID: Terminalde açılan oturumun ID değerine göre kurallar oluşturulabilir.
  • Integrity Level: Bütünlük seviyesine uygun olacak şekilde kurallar oluşturulabilir.
  • Hashes: Hash değerlerine yönelik kurallar oluşturulabilir.
  • Parent Process GUID, ID: Ana sürece yönelik GUID veya ID değerlerine göre kurallar oluşturulabilir.
  • Parent Image: Ana süreç ismine (imajına) yönelik kurallar oluşturulabilir.
  • Parent Command Line: Ana süreçte gerçekleşen komut satırına yönelik kurallar oluşturulabilir.

Belirtilen koşullara kullanıcı tarafından açıklama da yazılabilir (Rule Name). Oluşturulan loglama koşulları include / exclude (dahil etme / dahil etmeme) olarak ayarlanabilir. Oluşturulan log koşullarına ait XML dosya içerikleri oluşturulur. Ara yüzün en altında XML formatındaki içerikler görüntülenir ve uygulanır. Oluşturulan loglama tercihleri sisteme kaydedilir ve Sysmon View aracı ile detaylı olarak analiz yapılır.

Sysmon ile Log Toplama ve Analizi

Sonuç

Sysmon verilerini detaylı olarak inceleyerek analiz edilmesini sağlayan araçlar sayesinde sistemde oluşabilecek zararlı faaliyetler, zafiyetler görsel ortamda sınıflandırılmış halde kolayca incelenebilir. Kullanıcılar sistemde loglanacak kuralları oluşturabilir. Geniş ağlarda bu kurallar sayesinde sistem ve ağ güvenliği bütünü Sysmon View, Sysmon Shell gibi araçlarla sağlanır.

 

Sysmon ile Log Toplama ve Analizi

Blog postu ile ilgili bir sorunuz varsa bizimle iletişime geçebilirsiniz.

Berk BAYKAN

Size nasıl yardımcı olalım?

İhtiyacınız olan her an Prisma danışmanları yanı başınızda. Bizimle 7/24 iletişime geçebilirsiniz.


Sızma testi hizmetlerimizi incelediniz mi?