CyberFlow Logo CyberFlow BLOG
Soc L3 Data Hunting

Taban Çizgisi Oluşturma ve Profil Çıkarma: Siber Güvenlikte Temel Bir Kavram

✍️ Ahmet BİRKAN 📂 Soc L3 Data Hunting

Siber güvenlikte taban çizgisi oluşturma ve profil çıkarma süreçlerini keşfedin. Güvenliğinizi artırmanın yollarını öğrenin.

Taban Çizgisi Oluşturma ve Profil Çıkarma: Siber Güvenlikte Temel Bir Kavram

Taban çizgisi oluşturma ve profil çıkarma, siber güvenlikte kritik öneme sahip kavramlardır. Bu süreçlerin nasıl işlediğini ve güvenlik açığını nasıl kapatabileceğinizi keşfedin.

Giriş ve Konumlandırma

Siber güvenlik alanında, özellikle tehdit avcılığı ve anomali tespit süreçlerinde kullanılan iki kritik kavram, taban çizgisi oluşturma (baseline) ve profil çıkarma (profiling) yöntemleridir. Bu teknikler, bir sistem, ağ veya kullanıcı davranışının "normal" durumlarını belirlemek için uygulanan sistematik süreçlerdir. Bu yazıda, taban çizgisi oluşturma ve profil çıkarma kavramlarının ne olduğunu, neden önemli olduğunu ve siber güvenlikte nasıl kullanıldığını detaylı bir şekilde ele alacağız.

Taban Çizgisi Nedir?

Taban çizgisi, bir sistemin, kullanıcının veya ağın zaman içindeki normal çalışma durumunu ve davranışsal sınırlarını matematiksel olarak ifade eden bir referans modelidir. Taban çizgisi oluşturma süreci, sistemin ne zaman ve nasıl çalıştığını anlamayı sağlar. Bu anlayış, potansiyel tehditlerin tanımlanması ve anomali tespitinde önemli bir rol oynar. Ancak, bir taban çizgisi tanımlamak için önce sistemin belirli bir süre boyunca izlenmesi ve bu süre zarfında normal davranışların belirlenmesi gereklidir.

Neden Taban Çizgisi Gerekli?

Taban çizgisinin oluşturulması, siber güvenlik stratejilerine derin bir katkıda bulunmaktadır. Normalin ne olduğunu bilmeden, sistemdeki anormal ve şüpheli hareketleri tespit etmek imkansızdır. Etkili bir taban çizgisi, saldırganların davranışlarını tanımlamak ve anomali yaratan etkenleri açığa çıkarmak açısından kritik öneme sahiptir. Kullanıcılar, sistemler veya ağlar üzerinde gerçekleşen anormal aktivitelerin ve davranışların izlenmesi, güvenlik uzmanlarının olası tehditleri önceden tespit etmelerine olanak tanır.

Eğitim Süresi ve Dinamik-Statik Taban Çizgileri

Makine öğrenmesi algoritmalarının etkin bir şekilde çalışabilmesi için sistemde yeterli bir süre veri toplamasına ihtiyaç duyulur; bu süreç "eğitim süresi" olarak adlandırılır. Eğitim süresi boyunca, sistemin normal davranışları hakkında veri toplanır ve bu veriler daha sonra modelin oluşturulmasında kullanılır.

Taban çizgileri, statik ve dinamik olmak üzere iki ana kategoriye ayrılır. Statik (sabit) taban çizgileri, yöneticiler tarafından belirlenen ve değişmeyen kurallara dayanırken; dinamik taban çizgileri, zamanla değişen koşullara göre kendilerini güncelleyerek daha esnek bir yapı sunarlar. Dinamik taban çizgileri, yeni projeler veya sistem güncellemeleri gibi değişkenlere adapte olabilmesi açısından büyük avantaj sağlamaktadır.

# Örnek bir basit dinamik taban çizgisi modeli
import numpy as np
from sklearn.neighbors import LocalOutlierFactor

def detect_anomalies(data):
    model = LocalOutlierFactor(n_neighbors=20)
    outliers = model.fit_predict(data)
    return outliers

# Veri kümesi oluşturma
data = np.random.normal(loc=0, scale=1, size=(100, 1))
data_with_anomalies = np.append(data, [[10], [-10]], axis=0)

anomalies = detect_anomalies(data_with_anomalies)
print("Anomalilerin tespiti:", anomalies)

Yukarıdaki Python kodu, yerel dışlayıcı faktör (Local Outlier Factor) kullanarak olası anomali noktalarını tespit etmeye çalışan basit bir örnek sunmaktadır. Bu tür yöntemler, dinamik taban çizgileri ile entegre edildiğinde, sürekli veri akışı sağlayarak daha etkili bir güvenlik süreci oluşturabilir.

Profil Çıkarma ve Anomali Tespiti

Profil çıkarma ise, belirli bir sistem veya kullanıcı hakkında edinilen verilerin analiz edilmesiyle elde edilen bir dizi davranışsal modeldir. Kullanıcı profili, her bir kullanıcının çalışma saatleri, kullandığı cihazlar ve eriştiği sunucular gibi özellikleri içerirken; sistem profili, açık olan portlar ve düzenli çalışan servisler gibi teknik detayları kapsamaktadır.

Profil çıkarma sürecinin önemli bir avantajı, anormal davranışları tespit etme yeteneğidir. Örneğin, bir kullanıcının bir günde yüzlerce gigabayt veri indirmesi, tipik bir davranış olmadığından anormallik olarak sınıflandırılabilir. Bu tür davranışların belirlenmesi, güvenlik uzmanlarının hızlı bir şekilde müdahale etmesine ve olası tehditleri bertaraf etmesine yardımcı olur.

Gerek taban çizgisi oluşturma, gerekse profil çıkarma işlemleri, siber güvenlik alanında içsel tehditlerin ve dışsal saldırıların tespit edilmesinde çok önemli bir rol oynamaktadır. İleri düzeyde analiz ve sürekli gelişim, siber güvenlik stratejilerinin etkinliğini arttırmaktadır. Bu yüzden, bu kavramları derinlemesine anlamak ve etkin bir şekilde uygulamak, siber güvenlik uzmanlarının tamamlaması gereken bir görevdir.

Teknik Analiz ve Uygulama

Taban Çizgisi Nedir?

Taban çizgisi (baseline), bir sistemin veya ağın normal çalışma durumunu ve davranış sınırlarını matematiksel olarak ifade eden referans modelidir. Bu model, bir sistemin zaman içindeki temel davranışlarını tanımlamak için kullanılır ve anomali tespitinde kritik bir rol oynar. Örneğin, belirli bir kullanıcının, sistemin veya ağın tipik davranışlarını anlamak için bir referans noktası oluşturur.

Profil Çıkarma Nesneleri

Profil çıkarma, belirli nesnelerin veya kullanıcıların davranışlarını modellemek için kullanılır. Bu nesneler, kullanım şekilleri ve davranışlarını belirlemek amacıyla çeşitli özellikler üzerinden değerlendirilir. Aşağıda bazı yaygın profil çıkarma nesneleri ve bunların özellikleri listelenmiştir:

  1. Kullanıcı Profili: Çalışma saatleri, kullanılan cihazlar, erişilen sunucular ve yetkilendirme paternleri gibi bilgileri içerir.

  2. Sistem/Sunucu Profili: Açık olan portlar, düzenli çalışan servisler, CPU/RAM kullanımı gibi sistemle ilgili verileri kapsar.

  3. Ağ Profili: Günlük toplam DNS sorgu sayısı, dışarıya çıkan SMTP trafiği ve kullanılan protokol oranları gibi ağla ilgili verileri içerir.

Neden Taban Çizgisi Gerekli?

Taban çizgisi oluşturmanın en önemli nedeni, sistemdeki anormal ve şüpheli hareketleri tespit etmektir. Normalin ne olduğunu bilmeden bu tür hareketleri ayırt etmek imkânsızdır. Doğru bir taban çizgisi, zaman içindeki kullanıcı ve sistem davranışlarını belirleyerek, potansiyel tehditleri erken aşamalarda tespit etmeyi sağlar.

Eğitim Süresi (Training Period)

Makine öğrenmesi modelinin doğru bir profil oluşturabilmesi için sistemde yeterli bir süre veri toplaması gerekir. Bu veri toplama süreci "eğitim" olarak adlandırılır. Eğitim süresince, sistemdeki davranışlar analiz edilerek, normal faaliyetler belirlenir.

Örneğin, aşağıdaki Python kodu, bir sistemdeki kullanıcı aktivitelerinin izlenmesi amacıyla basit bir eğitim süreci yapısını gösterebilir:

import pandas as pd

# Örnek veri seti
data = pd.read_csv('user_activity_log.csv')

# Eğitim süresi: 30 gün
training_period = data[data['date'] >= '2023-10-01']

# Normal davranışları belirleme
normal_behavior = training_period.groupby('user_id').mean()
print(normal_behavior)

Dinamik vs. Statik Baseline

Taban çizgileri statik ve dinamik olmak üzere iki ana türde tasarlanabilir.

  • Statik Baseline: Yöneticiler tarafından belirlenen ve zamanla değişmeyen kurallar içerir. Örneğin, 'Günde maksimum 100 MB veri indirilebilir' gibi belirli limitler koyar.
  • Dinamik Baseline: Makine öğrenmesi ile zamanla değişen koşullara göre kendi sınırlarını güncelleyen modellerdir. Örneğin, yeni bir projeye başlanması durumunda, sistem profili güncellenir.

Zehirli Veri ve Sapma

Bir sistemde taban çizgisi oluşturulurken, kataloglanan verilerin doğruluğu oldukça önemli. Eğitim süresinde sistemde hâlâ bir saldırgan varsa, model bu zararlı hareketleri normal olarak öğrenebilir. Bu nedenle, eğitim süresi boyunca düzgün bir veri temizliği ve anomali tespiti gerçekleştirilmelidir.

Mevsimsellik (Seasonality)

Başarılı bir profil çıkarma işlemi, belirli mevsimsel değişiklikleri de göz önünde bulundurmalıdır. Örneğin, haftasonları veya resmi tatiller gibi belirli dönemlerde trafik hacminin doğal olarak düştüğü zaman dilimleri, profil çıkarma sürecinde dikkate alınmalıdır.

Taban Çizgisinden Sapan Tehditler

Taban çizgisinden sapma, potansiyel tehditleri işaret eden bir durumdur. Aşağıda bazı örnekler verilmiştir:

  • Ağ Profilinden Sapma (Hacim Artışı): Dışarıya veri sızdırma veya içeriden başlatılan bir DDoS saldırısı.

  • Kullanıcı Profilinden Sapma (Zaman/Konum): Hesap ele geçirme veya şifrelerin sızdırılmasına bağlı yetkisiz erişim.

Profil Çıkarmanın Operasyonel Faydası

Doğru bir taban çizgisi belirleme, siber güvenlik uzmanlarına belirli tehditleri daha iyi anlamalarına ve karşılaşabilecekleri risklere daha iyi hazırlanmalarına olanak sağlar. Profil çıkarma süreci, anomali tespitinde kullanılırken, genellikle geçmiş veriye dayanarak yapıldığında daha doğru sonuçlar verir.

Akran (Peer) Karşılaştırması

Yeni işe başlayan bir çalışanın geçmiş verisi (profil) henüz yoksa, davranışları, aynı unvana sahip diğer çalışanların ortalamasından oluşan akran grubunun taban çizgisi ile karşılaştırılır. Bu yöntem, yeni çalışanların sistemde beklenmeyen davranışlarının daha hızlı bir şekilde tespit edilmesine yardımcı olur.

Her iki yöntemin kullanımı, siber güvenlik tehditlerinin azaltılmasına ve güvenlik politikalarının güçlendirilmesine yardımcı olur. Taban çizgisi oluşturma ve profil çıkarma süreci, güvenlik farkındalığını arttırarak, proaktif bir yaklaşım sağlar.

Risk, Yorumlama ve Savunma

Siber güvenlikte, taban çizgisi oluşturma ve profil çıkarma, güvenlik durumunu anlamak ve tehditlere karşı savunma stratejileri geliştirmek için kritik öneme sahiptir. Bu süreç, elde edilen bulguların güvenlik anlamının yorumlanmasını, yanlış yapılandırmalar veya zafiyetlerin etkisini ortaya koymayı ve sızan veri, topoloji, servis tespiti gibi sonuçları ele almayı içerir.

Elde Edilen Bulguların Güvenlik Anlamı

Elde edilen veriler, bir organizasyonun siber güvenlik durumu hakkında önemli ipuçları sunar. Kullanıcı, sistem ve ağ profillerinin oluşturulması, normal davranışların tanımlanmasına ve anormalliklerin tespit edilmesine yardımcı olur. Örneğin, bir sistemin anormal bir işlem yapması durumunda, bu işlem aşağıdaki gibi davranışsal sapmalarla ilişkilendirilebilir:

  • Kullanıcı Profilinden Sapma: Bir kullanıcının alışılmış çalışma saatleri dışında sistemlerine giriş yapması, hesap ele geçirme olasılığını gösterebilir.
  • Sistem Profilinden Sapma: Yeni hizmetlerin eklenmesi veya portların açılması, kalıcılık sağlamak için bir zararlı yazılımın işgal girişimini işaret edebilir.

Yanlış Yapılandırma ve Zafiyetler

Yanlış yapılandırmalar, bir ağın ve sistemlerin içindeki güvenlik açıklarını artırır. Örneğin, dinamik taban çizgisi uygulamaları, zaman içinde değişen sebeplerle (örneğin yeni projeler veya kullanıcı değişiklikleri) kendi sınırlarını güncelleyebilir. Ancak bu süreçte mevcut bir saldırganın varlığı, sistemin anormal davranışlarını normal olarak öğrenmesine ve sonraki aşamaların kritik zafiyetler taşımasına sebep olabilir. Bunun sonuçları arasında, veri ihlalleri veya dışarıya veri sızdırma eylemleri yer alabilir.

Aşağıdaki kod, basit bir zafiyet tarayıcısı için örnek teşkil edebilir:

import requests

def check_vulnerability(url):
    response = requests.get(url)
    if response.status_code == 200:
        if "vulnerable_keyword" in response.text:
            return "Zafiyet Bulundu"
    return "Zafiyet Yok"

# Kullanım
url = "http://hedefsite.com"
print(check_vulnerability(url))

Sızan Veri, Topoloji ve Servis Tespiti

Veri sızıntıları, genellikle iç tehditlerden veya dış saldırılardan kaynaklanmaktadır. Ağın davranışsal profili oluşturulduğunda, anormal bir veri trafiği veya kaynak kullanımı, potansiyel sızıntıların işaretçisi olabilir. Örneğin, SMTP trafiğinde ani bir artış, bir DDoS saldırısının habercisi olabilir.

Bu tür durumların doğru bir şekilde analiz edilmesi, organizasyonların savunma stratejilerini geliştirmelerine yardımcı olur. Aşağıdaki kriterler, tehdit analizi sırasında göz önünde bulundurulmalıdır:

  • Topoloji Analizi: Ağdaki cihazların ve akışların yapılandırması, tehditlerin belirlenmesine yardımcı olur.
  • Servis Tespiti: Açık portlar ve çalışan hizmetler, yüksek riskli alanları işaretleyebilir.

Profesyonel Önlemler ve Hardening Önerileri

Siber güvenliğin güçlendirilmesi için alınabilecek birçok profesyonel önlem mevcuttur:

  1. Eğitim Süresi Uzunluğunun Belirlenmesi: Profil çıkarma sürecinin etkinliği için, sistemde yeterince veri toplanması hedeflenmelidir.
  2. Mevsimsellik Dikkate Alınmalı: Kullanımın yoğun olduğu dönemlerdeki dalgalanmalar, taban çizgisi analizi sırasında hesaba katılmalıdır.
  3. Akran Karşılaştırmaları: Yeni çalışanların davranışları, aynı departmandaki diğer çalışanların ortalaması ile karşılaştırılarak değerlendirilebilir.

Hardening önerileri arasında, sistem güncellemelerinin düzenli yapılması, zayıf şifrelerin değiştirilmesi ve ağ segmentasyonu gibi önlemler yer alır.

Sonuç

Kapsamlı bir risk değerlendirmesi ve doğru yorumlama, siber güvenlikte etkili bir savunma oluşturmanın temelidir. Elde edilen bulguların anlamlandırılması, yanlış yapılandırmaların etkilerinin anlaşılması ve proaktif önlemler alınması, bu süreçte kritik bir rol oynamaktadır. Özetle, taban çizgisi oluşturma ve profil çıkarma işlemleri, bir organizasyonun güvenlik durumunun iyileştirilmesine ve potansiyel tehditlere karşı daha dayanıklı hale gelmesine olanak tanır.