CyberFlow Logo CyberFlow BLOG
Soc L3 Data Hunting

Siber Güvenlikte CRISP-DM: Veri Madenciliği Süreçlerinin Derinlemesine İncelemesi

✍️ Ahmet BİRKAN 📂 Soc L3 Data Hunting

CRISP-DM çerçevesi ile siber güvenlikte veri madenciliği süreçlerini öğrenin. Etkili tehdit avı için gerekli adımları keşfedin.

Siber Güvenlikte CRISP-DM: Veri Madenciliği Süreçlerinin Derinlemesine İncelemesi

Siber güvenlik uygulamalarında veri madenciliği, CRISP-DM metodolojisi ile güçleniyor. Bu yazıda, veri madenciliğinin temel adımlarını ve siber güvenlikte nasıl uygulandığını inceleyeceğiz.

Giriş ve Konumlandırma

Siber güvenlik, günümüz dijital dünyasında hızla gelişen ve evrilen bir disiplin haline gelmiştir. Bu alandaki tehditler artık daha karmaşıklaşmış ve daha geniş bir yelpazeye yayılmış durumdadır. Bu bağlamda, güvenlik analistlerinin etkili bir şekilde tehditleri tanımlayıp önleyebilmeleri için yenilikçi metodolojilere ihtiyacı vardır. CRISP-DM, yani "Kritik Araçlarla İlişkili Proje Modeli" (Cross-Industry Standard Process for Data Mining), bu ihtiyaçları karşılamak için geliştirilmiş bir çerçevedir.

CRISP-DM'in Temelleri

CRISP-DM, veri madenciliğine dair standart bir metodoloji olarak kabul edilir, ancak aynı zamanda siber güvenlik alanında da son derece büyük bir öneme sahiptir. Bu çerçeve, altı ana aşamadan oluşur:

  1. İş Anlayışı (Business Understanding)
  2. Veri Anlayışı (Data Understanding)
  3. Veri Hazırlama (Data Preparation)
  4. Modelleme (Modeling)
  5. Değerlendirme (Evaluation)
  6. Dağıtım (Deployment)

Bu aşamaların her biri, siber güvenlikteki veri analizi ve tehdit avcılığı süreçlerini daha etkili hale getirmek için kritik bir rol oynamaktadır.

Neden Önemlidir?

Siber güvenlikte verilerin doğru bir şekilde analiz edilmesi, potansiyel tehditlerin önceden tespit edilmesi ve etkili bir şekilde yanıt verilmesi açısından hayati bir öneme sahiptir. CRISP-DM metodolojisi, analistlerin veriyi sistematik bir şekilde işleyerek, daha doğru ve güvenilir sonuçlar elde etmelerine imkan tanır. Örneğin, veri hazırlama aşamasında, analistler eksik logları temizler ve verinin kalitesini artırarak daha iyi sonuçlar elde ederler.

# Örnek: Veri Hazırlama Süreci
import pandas as pd

# Log verilerini yükleyin
log_data = pd.read_csv("security_logs.csv")

# Eksik verileri temizle
cleaned_data = log_data.dropna()

# Veriyi normalleştir
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
normalized_data = scaler.fit_transform(cleaned_data)

# Yeni özellikler çıkar
normalized_data_df = pd.DataFrame(normalized_data, columns=cleaned_data.columns)

Siber Güvenlik ve CRISP-DM İlişkisi

Siber güvenliğin temel dinamiklerinden biri tehdit avcılığıdır. Tehdit avcıları, CRISP-DM çerçevesini uygulayarak iş anlayışını sağlamış olurlar; bu sayede tespit edilmesi hedeflenen tehditleri belirlerler. Örneğin, bir organizasyonda yanal hareket tespiti amacıyla oluşturulan bir model, bu çerçeve içinde net bir hedef ve başarı ölçütleri ile desteklenmelidir.

Veri hazırlama aşamasında, organizasyonların ne tür loglara sahip olduğu ve bu logların kalitesi üzerinde durulur. EDR, firewall ya da Active Directory gibi kaynaklardan elde edilen veriler, modelleme aşamasında kullanılmak üzere analiz edilir. Bu veri seti üzerinde yapılan modelleme işlemleri, uygun makine öğrenmesi algoritmaları ile birlikte derinlemesine incelenir.

Okuyucuya Bilgi Hazırlama

Bu yazının ilerleyen bölümlerinde, CRISP-DM’in alt aşamalarına daha ayrıntılı bir bakış sağlayacağız. Her aşamanın işlevi, siber güvenlikte nasıl uygulandığı ve gerçek hayatta nasıl faydalar sağladığı üzerine detaylar sunulacak. Bu bilgiler, güvenlik profesyonellerinin suçlulara karşı daha etkili bir şekilde hazırlanmalarına yardımcı olacaktır.

Sonuç olarak, CRISP-DM, siber güvenliğin dinamik yapısına uygun bir veri madenciliği çerçevesi sunarak, analistlerin tehditleri daha etkili bir şekilde yönetmesine olanak tanımaktadır. Bu metodoloji sayesinde güvenlik süreçleri daha sistematik ve tekrarlanabilir hale gelmektedir, dolayısıyla okuyucuların bu süreci derinlemesine anlamaları, modern tehditlere karşı koymak adına büyük bir katkı sağlayacaktır.

Teknik Analiz ve Uygulama

Standart Veri Madenciliği Metodolojisi

Siber güvenlik alanında veri madenciliği, potansiyel tehditleri tespit etmede ve güvenlik ihlallerini önlemede önemli bir rol oynamaktadır. CRISP-DM (Cross-Industry Standard Process for Data Mining) metodolojisi, veri madenciliği projelerinin yönetimi için global standart olarak kabul edilmiştir. Bu metodoloji, toplamda altı aşamadan oluşur ve her aşama, proje sürecinde taşınması gereken önemli faktörleri belirler. Siber güvenlikte özellikle İş Anlayışı, Veri Anlayışı, Veri Hazırlama, Modelleme, Değerlendirme ve Dağıtım aşamaları üzerinde yoğunlaşılır.

İş (Problem) Anlayışı Aşaması

İlk aşama, siber güvenlik probleminin net bir şekilde tanımlanmasına dayanır. Analistler, hangi tür tehditlerin avlanacağını belirlemeli ve bunun yanı sıra modelin amacını tanımlamalıdır. Örneğin, "yasalara aykırı yanal hareketleri tespit etme" gibi bir hedef belirlenebilir. Bu aşama, projenin başarısını belirleyecek olan irade ve gereksinimlerin tanımlanmasını içerir.

# İş Anlayışı için bir örnek
hedefler = [
    "Yanal hareketleri tespit etmek",
    "Malware aktivitelerini belirlemek",
    "Yetkisiz erişim denemelerini izlemek"
]
for hedef in hedefler:
    print(f"Tespit hedefi: {hedef}")

Veri Anlayışı Aşaması

Veri Anlayışı aşamasında, kullanıcının mevcut verileri analiz etmesi ve bu verilerin kalitesini değerlendirmesi gerekmektedir. Bu aşama, bilgi logları (EDR, Firewall, AD vb.) ve bu logların güvenlik hedeflerine ulaşmadaki rolü hakkında önemli bilgiler sağlar. Verilerin kalitesini kontrol etmek ve temizlemek, doğru modelleme için kritik bir adımdır.

# Veri Anlayışı sırasında verinin kalitesini kontrol etme örneği
# Varsayılan olarak bazı log verileri içeren bir liste
log_verileri = ["Firewall_log_1", "EDR_log_2", "", "AD_log_3"]

# Boş logları filtreleyelim
temiz_loglar = [log for log in log_verileri if log]
print("Temiz loglar:", temiz_loglar)

Veri Hazırlamanın Ağırlığı

Siber güvenlik projelerinin en zahmetli aşaması olan Veri Hazırlama, genellikle analistlerin zamanının %70-80'ini alır. Bu aşama, eksik logların temizlenmesi, normalize edilmesi ve yeni özelliklerin (features) çıkarılması gibi işlemleri içerir. Ayrıca bu aşama sırasında verinin daha etkili kullanılabilmesi için gerekli değişiklikler yapılır.

# Özellik çıkarımına bir örnek
import pandas as pd

# Örnek veri çerçevesi
veri = pd.DataFrame({
    "IP": ["192.168.0.1", "192.168.0.2"],
    "Eylem": ["Giriş", "Çıkış"]
})

# Yeni bir özellik ekleyelim
veri["Zaman"] = pd.to_datetime("now")
print(veri)

Modelleme Aşaması

Modelleme aşaması, verinin makine öğrenmesi algoritmaları ile işlenmesine odaklanır. Örneğin, Random Forest veya K-Means gibi algoritmalar kullanılarak verinin örüntüleri (patterns) üzerinde çalışılabilir. Bu aşamada oluşturulan modeller, ilgili tehditlerin tespitinde oldukça etkilidir.

# Modelleme aşamasında örnek bir Random Forest uygulaması
from sklearn.ensemble import RandomForestClassifier

# Varsayılan eğitim verisi (X) ve etiketler (y)
X = [[0, 0], [1, 1]]
y = [0, 1]

# Modeli oluştur ve eğit
model = RandomForestClassifier()
model.fit(X, y)
print("Random Forest modeli başarıyla eğitildi.")

Değerlendirme (Evaluation) Kriterleri

Değerlendirme aşamasında, oluşturulan modelin başarısını analiz etmek önemlidir. Bu aşama genellikle modelin False Positive ve False Negative oranları gibi kriterlerle değerlendirilir. Modelin teknik olarak başarılı olduğu durumlarda, güvenlik problemini çözme konusundaki uygunluğu kontrol edilmelidir.

# Örnek değerlendirme kriterleri
false_positive_rate = 0.05  # Yanlış pozitif oranı
false_negative_rate = 0.02  # Yanlış negatif oranı
print(f"False Positive Oranı: {false_positive_rate}")
print(f"False Negative Oranı: {false_negative_rate}")

Dağıtım ve Operasyon (Deployment)

Modelin tüm testleri başarıyla geçtikten sonra, şirket ağı üzerinde sürekli çalışacak ve otomatik uyarılar üretecek bir sistem kurulur. Bu aşama, güvenlik ürünleri (SIEM, SOAR, XDR vb.) ile entegrasyon gerektirir. İyi bir dağıtım süreci, modelin gerçek zamanlı veri akışıyla sürekli güncellenmesini sağlar.

CRISP-DM metodolojisi, siber güvenlik alanında veri madenciliği sürecinde yön gösterici bir çerçeve sunmaktadır. Her aşamanın önemi, veri güvenliğinin sağlanması adına kaçınılmazdır. Bu belirlenen yol haritası, siber tehditlerin algılanmasında ve önlenmesinde kritik bir rol oynarken, sürekli geri bildirimle güncellenmeye de ihtiyaç duyar. Bu döngüsel yapı, siber güvenlik analistlerinin ve veri bilimcilerinin çalışmalarını optimize etme konusunda önemli avantajlar sunmaktadır.

Risk, Yorumlama ve Savunma

Siber güvenlik alanında, risk değerlendirme, yorumlama ve savunma süreçleri, veri madenciliği yöntemleriyle güçlendirilmiştir. CRISP-DM metodolojisi çerçevesinde, güvenlik analistleri veri setlerini oluştururken, sorunları tanımlarken ve savunma mekanizmalarını geliştirirken sistematik bir yaklaşım benimser. Bu bölümde, bulguların güvenlik anlamı, zafiyetler ve savunma önlemleri üzerinde durulacaktır.

Elde Edilen Bulguların Güvenlik Anlamının Yorumlanması

Veri madenciliği sürecinde elde edilen bulgular, güvenlik analistlerine önemli bilgiler sunar. Örneğin, log dosyalarından elde edilen veriler, şüpheli etkinlikleri ve potansiyel saldırı izlerini ortaya çıkarabilir. Analist, bu verileri kullanarak, bir güvenlik olayı hakkında kapsamlı bir yorum yapabilir.

Aşağıdaki Python kodu, log dosyasındaki belirli bir IP adresinden gelen şüpheli isteklerin tespitini sağlar:

import pandas as pd

# Log verisinin yüklenmesi
logs = pd.read_csv('access_logs.csv')

# Şüpheli IP adresi
suspicious_ip = '192.168.1.100'

# Şüpheli isteklerin filtrelenmesi
suspicious_requests = logs[logs['ip_address'] == suspicious_ip]

# Sonuçların görüntülenmesi
print(suspicious_requests)

Bu tür bulguların yorumlanması, bir organizasyonun güvenlik duruşunu analiz etmesine yardımcı olur. Hem sayı hem de tür açısından gelişmiş veriler sunulması, güvenlik açıklarının önceden tespit edilmesini sağlar.

Yanlış Yapılandırma veya Zafiyetlerin Etkisi

Yanlış yapılandırmalar veya güvenlik zafiyetleri, sızan verilerin büyüklüğü ve türü itibarıyla ciddi riskler oluşturabilir. Örneğin, bir sunucunun yanlış yapılandırılması, yetkisiz kişilerin verilere erişimini kolaylaştırır. Bu gibi durumlarda, saldırganlar çeşitli teknikler kullanarak, sistem üzerinde yanal hareketler yapabilir.

Bir zafiyet taraması sonrasında elde edilen sonuçlar, hangi sistemlerin risk altında olduğunu gösterebilir. Örneğin:

- Sistem: Web Sunucusu 1
- Zafiyet: SQL Enjeksiyonu
- Kritiklik: Yüksek
- Açıklama: Dışarıdan gelen verilerin yeterince filtrelenmemesi.

Bu tür bulgular, sistem yöneticilerine acil önlemler alma konusunda bilgi sunarak, olası bir ihlali önleyebilir.

Sızan Veri, Topoloji ve Servis Tespiti

Güvenlik incelemeleri sırasında elde edilen veriler, sadece sızan verilerin belirlenmesine değil, aynı zamanda ağ yapısının ve hizmetlerin tespit edilmesine de yardımcı olur. Burada, hizmetlerin çalıştığı portlar ve protokoller analiz edilerek mevcut güvenlik açıklarının farkına varılabilir.

Bir örnek vermek gerekirse, bir ağ tarayıcısı kullanarak aşağıdaki gibi bir servis keşfi yapılabilir:

nmap -sV 192.168.1.0/24

Bu komut, belirtilen ağda yer alan tüm aktif cihazları ve bu cihazlarda çalışan hizmetlerin versiyon bilgilerini listeler. Bu bilgiler, potansiyel zayıf noktaların tespiti için değerlidir.

Profesyonel Önlemler ve Hardening Önerileri

Yanlış yapılandırmalar ve zafiyetler tespit edildiğinde, durumu düzeltmek için uygulanacak önlemler şunlardır:

  1. Güvenlik Duvarı Kuralları: Güvenlik duvarı kurallarının gözden geçirilmesi ve gereksiz açık portların kapatılması.
  2. Güncellemeler: Yazılım ve sistem güncellemelerinin zamanında yapılması, bilinen zafiyetlerin giderilmesi adına kritik öneme sahiptir.
  3. Şifreleme: Verilerin her aşamada şifrelenmesi, sızma durumlarında verilerin okunabilirliğini azaltır.
  4. Erişim Kontrolü: Hangi kullanıcıların hangi verilere erişebileceği konusunda politika belirlenmesi ve bu politikaların etkin şekilde uygulanması.

Hardening işlemleri, sistemin güvenliğini artırmak için uygulanan bir dizin oluşturur. Örneğin, bir web sunucusu için aşağıdaki komutlar kullanılabilir:

# Apache için gereksiz modüllerin devre dışı bırakılması
sudo a2dismod unused_module

# Sunucu yapılandırmasının gözden geçirilmesi
sudo nano /etc/apache2/apache2.conf

Sonuç Özeti

Veri madenciliği teknikleri kullanılarak yapılan risk değerlendirmesi, siber güvenlikte kritik öneme sahiptir. Elde edilen bulgular, sistem zafiyetleri hakkında net bilgiler sunarken, güvenlik mekanizmalarının iyileştirilmesine zemin hazırlar. Yanlış yapılandırmaların etkileri ve sızan verilerin analizi, güvenlik stratejilerinin doğru şekilde belirlenmesi için önemlidir. Doğru savunma önlemleri ve sürekli sistem iyileştirme ile, siber tehditler karşısında daha dayanıklı bir yapı oluşturulması mümkündür.