CyberFlow Logo CyberFlow BLOG
Soc L2 Threat Hunting Anomali

Özellik Çıkarma: Siber Güvenlik İçin Kritik Bir Adım

✍️ Ahmet BİRKAN 📂 Soc L2 Threat Hunting Anomali

Özellik çıkarma (feature engineering), siber güvenlik alanında veri analizi için hayati bir süreçtir. İşte bu sürecin avantajları ve zorlukları.

Özellik Çıkarma: Siber Güvenlik İçin Kritik Bir Adım

Siber güvenlikte anomali tespiti için kritik öneme sahip olan özellik çıkarma, verileri analiz edilebilir hale getirir. Bu blogda, özellik çıkarma sürecini ve uygulama alanlarını keşfedin.

Giriş ve Konumlandırma

Siber güvenlik alanında, veri analizi ve anomali tespiti gibi önemli süreçler için özelliğin (feature) tanımlanması ve çıkarılması kritik bir rol oynar. Özellik çıkarma, ham veriye dayalı olarak anlamlı ve faydalı bilgi birimlerinin elde edilmesi sürecidir. Bu süreç, siber güvenlik sistemlerinin karar verme yeteneklerini artırarak potansiyel tehditlerin daha etkin bir şekilde tespit edilmesine olanak tanır.

Özellik Nedir?

Bir özellik, ham veriden elde edilen ve analizde kullanılan anlamlı bir birimdir. Kullanıcı davranışları, sistem günlükleri veya ağ trafiği gibi veri kaynaklarından toplanan bu özellikler, makine öğrenimi modellerinin eğitiminde kritik öneme sahiptir. Örneğin, bir kullanıcının sisteme giriş sayısı veya oturum süresi gibi veriler, kullanıcı davranışlarına dair önemli ipuçları sunar.

Özellik Çıkarma (Feature Engineering)

Özellik çıkarma, ham veriyi analiz edilebilir hale getirmek için belirli bir süreçten geçirilmesini kapsar. Bu süreç, veri toplama, temizleme, dönüştürme ve nitelikli özelliklerin seçilmesi gibi adımları içerir. Özellikle, siber güvenlikteki anomali tespiti uygulamalarında, bu aşama, modelin doğruluğunu artırmak ve etkili tahminler yapmak için elzemdir.

Aşağıdaki kod bloğunda, basit bir özellik çıkarımı sürecinin temel aşamalarını görebiliriz:

import pandas as pd

# Veriyi yükleme
data = pd.read_csv('user_sessions.csv')

# Veriyi temizleme
data.dropna(inplace=True)

# Özellik çıkarımı: Giriş sayısını ve oturum süresini hesaplama
data['login_count'] = data.groupby('user_id')['session_id'].transform('count')
data['session_duration'] = data['logout_time'] - data['login_time']

# Özelliklerin seçilmesi
features = data[['user_id', 'login_count', 'session_duration']]

Yukarıdaki örnekte, kullanıcı oturumlarından giriş sayısı ve oturum süreleri gibi anlamlı özellikler çıkarılmıştır. Bu özelliklerin analizi, siber güvenlik uzmanlarının kullanıcı davranışlarına dair önemli bilgiler edinmesine olanak tanır.

Neden Önemli?

Günümüzün karmaşık siber tehditleriyle başa çıkabilmek için etkili bir özellik çıkarma sürecinin uygulanması esastır. Siber güvenlikteki denetim ve alan tarama süreçleri, yüksek doğrulukta anomali tespiti gerektirir. Kullanıcıların alışılmış davranışlarından sapmalar, potansiyel bir ihlal veya tehditin göstergesi olabilir. Özellik çıkarma, bu davranışları tanımlamak ve izlemek için kullanılan mekanizmaların kalitesini arttırır.

Özelliklerin doğru bir şekilde tanımlanması, modellerin genel performansını artırarak gerçek zamanlı anomali tespit yeteneklerini güçlendirir. Özellikle makine öğrenimi tabanlı sistemlerde, iyi bir özellik çıkarma uygulaması, sonuçların hassasiyetini artırırken, yanlış pozitif oranlarını azaltabilir.

Saldırı Senaryolarına Karşı Bağlam

Penetrasyon testleri (pentest), bir sistemin güvenlik açıklarını değerlendirmek için gerçekleştirilir. Özellik çıkarma, bu testler sırasında toplanan verilerin daha anlamlı hale gelmesi için de kritik bir rol oynar. Özellikle saldırganların çeşitli kullanıcı davranışlarını analiz etmek, güvenlik açıklarını daha hızlı tespit edilmesine yardımcı olur.

Gelişmiş saldırganlar, hedef sistem kullanıcılarının davranış örüntülerini çaldıkları bilgileri kullanarak yeniden oluşturabilir ve bu süreçte anomali tespiti yapılmadığı takdirde ciddi tehditler oluşturabilirler. Dolayısıyla, güvenlik analistlerinin bu tür verileri etkili bir şekilde analiz edebilmeleri için özellik çıkarma yeteneklerine sahip olmaları gerekmektedir.

Siber güvenlik, sürekli gelişen bir alan olup, veri özelliklerinin anlamlı bir şekilde çıkarılması ve kullanılması, tehdidin etkin bir şekilde yönetilmesi açısından kritik bir adımdır. Özellikle, siber savunma stratejilerinin derinlemesine analizi, özellik çıkarma süreçlerine dayandırıldığında, güvenlik mühendisliği uygulamalarında büyük bir fark yaratabilir. Bu blog yazısının devamında, özel teknikler ve süreçler hakkında daha fazla bilgi sunulacaktır.

Teknik Analiz ve Uygulama

Feature Tanımı

Özellikler (Features), analitik süreçlerde kullanılan, ham veriden türetilen anlamlı birimlerdir. Siber güvenlik bağlamında, bu özellikler, kullanıcı hareketleri, sistem olayları ve ağ trafiği gibi veri kümesine dair farklı unsurları temsil eder. Örneğin, bir kullanıcının sisteme giriş sayısı, oturum süresi veya veri transfer miktarı gibi özellikler, anomali tespitinde önemli bilgiler sunar.

Feature Engineering Tanımı

Feature engineering, ham verilerin anlamlı ve analiz edilebilir hale dönüştürülmesi sürecidir. Bu süreç, modelin daha iyi performans göstermesi adına kritik öneme sahiptir. Özellik çıkarımı, veri analitik işlemlerinin merkezinde yer alır ve doğru özelliklerin belirlenmesi, makine öğrenimi algoritmalarının etkinliğini artırır.

Amaç

Feature engineering'in temel amacı, model performansını optimize etmektir. Analiz süreçlerinde kullanılacak özelliklerin doğru bir biçimde tanımlanması ve seçilmesi, hem doğruluk oranını artırır hem de daha anlamlı sonuçlar elde edilmesini sağlar. Özelliklerin etkin bir şekilde çıkarılması, anomali tespitinin yanı sıra gerçek zamanlı tehdit izleme süreçlerinde de başarıyı artırır.

Feature Türleri

Siber güvenlikte kullanılan özellikler, genel olarak aşağıdaki türlere ayrılabilir:

  1. Sayısal Özellikler (Numerical): Giriş sayısı veya veri aktarım miktarı gibi sürekli değişebilen değerler.
  2. Kategorik Özellikler (Categorical): Kullanıcı adı, oturum durumu gibi sınıflandırılabilen veriler.
  3. İkili Özellikler (Binary): Durum belirten, örneğin bir kullanıcının çevrimiçi olup olmadığı gibi veriler.
  4. Zamansal Özellikler (Time-based): Olayların belirli zaman dilimlerinde kaydedilmesi ile elde edilen özellikler.

Feature Oluşturma

Feature oluşturma süreci belirli adımlarla yerine getirilir. İlk olarak, veri toplanmalı, temizlenmeli ve dönüştürülmelidir. Bu aşama, verinin analiz için hazırlanmasında kritik bir adımdır.

Örnek bir Feature oluşturma süreci aşağıdaki gibi gerçekleştirilebilir:

import pandas as pd

# Veri setinin yüklenmesi
data = pd.read_csv('logs.csv')

# Giriş sayısının hesaplanması
data['Login Count'] = data.groupby('user_id')['timestamp'].transform('count')

# Oturum süresinin hesaplanması
data['Session Duration'] = data.groupby('user_id')['timestamp'].transform(lambda x: x.max() - x.min())

# Veri Transfer Miktarının hesaplanması
data['Data Transfer'] = data['data_sent'] + data['data_received']

Yukarıdaki örnekte, kullanıcının giriş sayısı, oturum süresi ve veri transfer miktarı özellikleri oluşturulmuştur. Bu özellikler, anomali tespiti modellerinde kullanılmak üzere model verilerine entegre edilebilir.

Örnek Feature

"Login Count" (Giriş Sayısı), kullanıcıların sisteme kaç kez girdiğini ifade eden bir özelliktir. Bu özellik, kullanıcı davranışlarını analiz etmek ve alışılmadık örüntüleri tespit etmek için güçlü bir araçtır. Aşırı veya alışılmadık giriş sayısı, potansiyel bir güvenlik tehdidi gösterebilir.

Avantaj

İyi bir feature engineering süreci, modelin daha doğru ve hızlı tahminlerde bulunmasını sağlar. Doğru özelliklerin seçilmesi, model öğreniminin kalitesini artırır ve anomali tespitini daha güvenilir hale getirir. Özelliklerin uygun bir biçimde çıkarılması, siber güvenlik sistemlerinin tepkisini güçlendirir ve daha aktivite bazlı müdahale stratejileri geliştirilmesine olanak tanır.

Zorluklar

Feature engineering, belirli zorluklarla birlikte gelir. Veri kalitesi, eksik veriler ve aşırı öğrenme (overfitting) gibi sorunlar, özellik çıkarım sürecini olumsuz etkileyebilir. Özellikle karmaşık veri setlerinde, anlamlı özelliklerin belirlenmesi zaman alıcı ve zorlayıcı olabilir.

Kullanım Alanı

Feature engineering, siber güvenlik alanında birçok farklı bağlamda kullanılabilir. Özellikle güvenlik operasyon merkezlerinde (SOC), L2 analistleri anomali tespiti için bu teknikleri kullanarak, saldırı tespit sistemlerini (IDS) daha etkin hale getirir. Analistlerin doğru ve anlamlı özellikleri belirlemesi, tehdit analizi süreçlerinde başarının anahtarını oluşturur.

SOC L2 Final Süreci

SON aşamada, tüm bu özelliklerin bir araya getirilmesi ve nihai modelin eğitilmesi gerekmektedir. Alınan verilerin etkili bir biçimde işlenmesi ve özelliklerin doğru bir şekilde seçilmesi, güvenlik sistemlerinin analitik süreçlerini güçlendirir. Böylelikle, anomali tespit süreçleri daha etkin bir şekilde yürütülebilir ve potansiyel tehditler hızlı bir şekilde analiz edilerek, önlem alınabilir.

Risk, Yorumlama ve Savunma

Siber güvenlikte risk, sistemlerin karşılaştığı tehditlerin potansiyel etkisi olarak tanımlanabilir. Özellik çıkarma (feature engineering) ise bu riskin değerlendirilmesi, yorumlanması ve gerekli savunma stratejilerinin geliştirilmesi için kritik bir süreçtir. Elde edilen bulguların güvenlik anlamı üzerine derinlemesine bir analiz yapmak, potansiyel zafiyetler ve yanlış yapılandırmalar konusunda daha hassas bir anlayış geliştirilmesine yardımcı olur.

Elde Edilen Bulguların Güvenlik Anlamı

Siber güvenlik açısından elde edilen bulgular, sistemin güvenliğini tehdit eden unsurları anlamada önemli bir rol oynar. Örneğin, bir sistemde kullanıcı giriş sayısının (login count) anormal şekilde artış göstermesi, potansiyel bir saldırı girişimini işaret edebilir. Bu durumda, doğru bir yorumlama yaparak, ilgili oturum süreleri (session duration) ve veri transferi (data transfer) gibi başka özelliklerle birleştirerek daha kapsamlı bir analiz gerçekleştirmek gereklidir. Bu tür belirtiler, güvenlik ekiplerinin hızlı ve etkili bir tepki vermesine yardımcı olur.

Aşağıda, bir siber saldırı senaryosunda elde edilebilecek özelliklerin birkaç örneği verilmiştir:

- Kullanıcı Girişi: 1000
- Başarısız Giriş Girişi: 200
- Veri Miktarı: 15 GB
- Oturum Süresi: 5 saat

Bu veriler ışığında, elde edilen bulgularda dikkat edilmesi gereken temel noktalar şunlardır:

  • Anomalilerin Tespiti: Giriş sayısı ve başarısız giriş denemeleri incelenerek anormal durumlar tespit edilebilir.
  • Veri Akışının Analizi: Veri transferinin miktar ve süresi analize tabi tutulmalı, anormal bir artış varsa bu durum ciddiyetle ele alınmalıdır.

Yanlış Yapılandırma ve Zafiyetlerin Etkisi

Yanlış yapılandırmalar, siber güvenlik ortamında önemli zafiyetler yaratabilir. Örneğin, güvenlik duvarı (firewall) kurallarının yanlış uygulanması, belirli trafiğin yanlış bir şekilde geçişine olanak tanıyabilir. Bunun etkisi, sistemin zararlı yazılımlar tarafından istismar edilmesi ve veri sızıntısına uğraması şeklinde kendini gösterebilir.

Ayrıca, zafiyetlerin etkisi, kullanıcı verilerinin sızması veya kritik sistemlerin geçici olarak devre dışı kalması gibi tehditler doğurabilir. Özellikle bir saldırganın bir güvenlik açığını kullanarak, iç ağda ilerleyip kritik verilere ulaşması oldukça yüksek bir risk faktörüdür.

Bir örnek vermek gerekirse, veri kalitesi (data quality) sorunları olan bir sistemde elde edilen veriler, karar alma süreçlerini olumsuz etkileyebilir. Bu tür zafiyetlerin tespiti için sistemin sürekli izlenmesi ve analiz edilmesi gerekir.

Profesyonel Önlemler ve Hardening Önerileri

Siber güvenlikte riskleri azaltmak için alınabilecek profesyonel önlemler arasında aşağıdakiler yer almaktadır:

  1. Güçlü Parola Politikaları: Kullanıcıların zayıf parolalar kullanmasını önlemek için karmaşık parola gereksinimleri belirlenmeli.
  2. Düzenli Yazılım Güncellemeleri: Yazılım güncellemeleri yapılmayan sistemler, bilinen güvenlik açıklarına karşı savunmasız kalır.
  3. Ağ Segmentasyonu: Ağ üzerinde veri akışının izlenmesi ve kontrol edilmesi için segmentasyon uygulanmalıdır.
  4. Eğitim ve Farkındalık Programları: Çalışanların güvenlik farkındalığını artırmak için eğitim programları düzenlenmelidir.

Bu önlemler, sistemin genel güvenliğini artıracak ve potansiyel zafiyetlerin azaltılmasına katkı sağlayacaktır.

Sonuç

Siber güvenlik alanında risklerin etkin bir şekilde değerlendirilmesi, yorumlanması ve savunma stratejilerinin oluşturulması kritik bir öneme sahiptir. Özellik çıkarma, bu süreçte büyük bir rol üstlenirken, güvenlik ekiplerinin doğru verilere dayanarak hızlı ve etkili kararlar almasına olanak tanır. Yanlış yapılandırmalar ve zafiyetler göz önünde bulundurulduğunda, profesyonel önlemler ve sistem hardening yöntemleri kullanılarak riskler asgariye indirilmelidir. Doğru bir yaklaşım, siber güvenlik ortamının daha sağlam ve güvenli bir yapıya kavuşturulmasına yardımcı olacaktır.