Splunk Machine Learning Toolkit (MLTK) ile Akıllı Log Analizi
30 May 2025
Hazırlayan: Gökay Aydın – Bilgi Güvenliği Takım Lideri – Sekom
Günümüzde siber güvenlik, BT operasyonları ve sistem gözlemi gibi alanlarda üretilen veri miktarı çok hızlı bir şekilde artıyor. Bu büyük veri yığınlarını yalnızca izlemek ve kaydetmek artık yeterli değil. Büyük veriyi işlemek, anlamlı hale getirmek ve bu sayede proaktif, akıllı ve öngörülü yaklaşım sergilemeye ihtiyaç duyuluyor. Tam da bu noktada devreye makine öğrenmesi giriyor.
Splunk, makine öğrenmesini doğrudan veriyle buluşturan güçlü çözümler sunuyor. Bu çözümlerin başında gelen Machine Learning Toolkit (MLTK), teknik uzmanlığa sahip olmayan kullanıcıların bile makine öğrenmesi modelleri oluşturmasına ve analiz süreçlerini zenginleştirmesine olanak tanıyor.
Bu yazıda MLTK’nin temel özelliklerini inceleyecek, ardından Splunk üzerinde hayata geçirilebilecek iki gerçek dünya senaryosunu adım adım ele alacağız.
MLTK Nedir? Ne İşe Yarar?
Splunk Machine Learning Toolkit (MLTK), Splunk platformu üzerinde çalışan bir uygulamadır. Enterprise Security lisansına sahip olduğunuz durumda ücretsiz bir şekilde kullanabilirsiniz. İçerisinde hazır asistanlar, algoritmalar ve örnek veri kümeleri barındırır. Kullanıcılar bu araç sayesinde:
- Kod yazmadan model oluşturabilir,
- SPL (Search Processing Language) komutlarıyla modelleri entegre edebilir,
- Gelişmiş tahminleme ve sınıflandırma işlemleri gerçekleştirebilir.
MLTK, hem görsel hem de SPL tabanlı modelleme seçenekleri sunduğu için geniş bir kullanıcı kitlesine hitap eder. Sadece veri bilimciler değil, güvenlik analistleri, sistem yöneticileri ve BT uzmanları da bu aracı kolaylıkla kullanabilir.
Ayrıca üzerinde bulundurduğu K-means, X-means, Birch gibi 30’dan fazla algoritma sayesinde farklı kullanım alanlarını destekler. Bunun yanı sıra kendi algoritmalarınızı da entegre etmek mümkündür.
MLTK ile Neler Yapabilirsiniz?
MLTK, geniş bir kullanım alanına sahiptir. Öne çıkan bazı yetenekler şunlardır:
1. Anomali Tespiti (Anomaly Detection)
Herhangi bir sistemden alınan verileri işleyerek bir öğrenme sürecinden geçiren modelin, bu sürecin ardından oluşan anomalileri tespit etmesi işlemidir. Bu çok farklı alanlarda kullanılabilir. Kullanıcı erişim anomalilerinin, komut satırı anomalilerin, Fraud aktivitilerinin tespitinde kullanılabilir. Basit örnekler verecek olursak:
- Örneğin, bir IP adresinin olağan dışı sıklıkta bağlantı denemesi yapmaya başlaması.
- Şirket kaynaklarına erişen VPN kullanıcısının normalde sadece gündüz bağlantı yapıyorken, bir anda gece bağlantılar yapmaya başlaması.
- Banka müşterisinin para transferlerini genelde belirli günlerde gerçekleştirirken aniden bu davranışın olağan dışı saatlerde gerçekleştirilmesi.
Burada sizin verinize ve tespit etmek istediğiniz anomaliye göre çok farklı alanlarda kullanılabilmektedir.
2. Tahmine Dayalı Analiz (Predictive Analytics)
Eğitilen model ile birlikte sistem geçmiş verilere bakarak geleceğe yönelik tahminler yapabilmekte. Splunk MLTK, bu süreci kolaylaştırmak için regrasyon, sınıflandırma ve zaman serisi analizlerine yönelik hazır algoritmalar sunar. Örneğin bir sunucunuzdaki disk kullanımının takibini sabit threshold’larla takip edersiniz, %80 üzerine çıkınca alarm oluşturur. Ancak Predictive Analytics sayesinde bu seviyeye gelmeden bu seviyenin üzerine ne zaman çıkacağını önceden haber verebiliyor ve bu sayede proaktif bir yaklaşım sergileyerek önceden önlem almak için zamanınız oluyor. Bu durumun tespiti önemli servislerin olduğu ortamlarda çok kritik oluyor.
3. Kümeleme (Clustering)
Benzer davranıştaki kullanıcıları ya da sistemleri gruplandırmaya yarıyor. Cluster Numeric Events Assistantı ve Smart Clustering Assistantı kullanılarak bu işlemler gerçekleştiriliyor. Denetimsiz öğrenmeye örnek K-means algoritması kullanılır ve bu sayede etiketlenmemiş verilerden ama benzer özellikleri taşıyanlar gruplanabiliyor.
Özellikle veri sınıflarının önceden tanımlanmadığı durumlarda öne çıkar. Örneğin bir web uygulamasında kullanıcı davranışlarını analiz ederken benzer gezinme alışkanlıkları olan kullanıcıları kümelemek mümkündür. Bu kümeler daha sonra denetimli modeller için kullanılabilir ve uygulamanın geliştirilmesi, kullanıcı deneyiminin iyileştirilmesi noktasında kullanılabilir.
4. Grafik Analitiği (Graph Analytics)
Grafik analitiği kullanılarak değerli içgörüler elde edilmesi amaçlanır. Büyük veri içerisindeki etkileşimler (bunlar para transferleri, ürün alışverişi veya herhangi bir transaction olabilir) grafiksel olarak haritalanır. Bu grafiklerde hem etkileşimler hem de bunların büyüklüğü görsel olarak sunulur. Bu sayede etkileşimde kimler önemli rol alıyor, köprü görevi görüyor sorularına kolay bir şekilde cevap alınabilir.
Aşağıda verilen örnekte Bitcoin alım-satım işlemleri üzerinden yapılan grafik analitiği ile aşağıdaki sorulara yanıtlar sağlanıyor.
- İşlemlerdeki en etkili aktör kimdir?
- Hangi kullanıcılar gruplar arasında köprü görevi görmektedir?
- Grafikte hangi topluluklar bulunmaktadır ve kimler bu topluluklara aittir?
Örnek Uygulama : Chasing a Hidden Gem: Graph Analytics with Splunk MLTK
Splunk Machine Learning Toolkit, sadece veri bilimcilerin değil, teknik uzmanların da pratik şekilde analiz gücünü artırmasını sağlar. Hem basit hem etkili yapısıyla güvenlik analitiğinden sistem izlemeye kadar geniş bir yelpazede kullanılabilir.
MLTK, birçok analitik ihtiyacı doğrudan karşılayabilecek güçlü bir araç seti sunar. Ancak, çok daha karmaşık grafik yapılar, özel istatistiksel modeller veya domain’e özgü algoritmalar söz konusu olduğunda, Splunk’ın Data Science and Deep Learning (DSDL) uygulaması kullanılabilir. DSDL sayesinde, Python tabanlı özelleştirilmiş analizleri Splunk ortamında çalıştırmak ve log verisiyle derinlemesine bilimsel modelleme yapmak mümkün hale geliyor.
Veriyle konuşmanın zamanı geldi ve geçiyor!