CyberFlow Logo CyberFlow BLOG
Soc L1 Izleme Gorunurluk Dashboard

Zaman Serisi Analizi ile Siber Güvenliğinizi Güçlendirin

✍️ Ahmet BİRKAN 📂 Soc L1 Izleme Gorunurluk Dashboard

Zaman serisi analizi ile güvenlik açıklarınızı zamanında tespit edin. Grafikleri okuyarak anormallikleri belirleyin.

Zaman Serisi Analizi ile Siber Güvenliğinizi Güçlendirin

Zaman serisi analizi, siber güvenlikte olayların ne zaman gerçekleştiğini anlamanızı sağlar. Bu yazıda, zaman serisi grafikleriyle anormallikleri nasıl tespit edeceğinizi öğrenin.

Giriş ve Konumlandırma

Zaman Serisi Analizi, veri setlerinin zamana bağlı olarak izlenmesi ve bu verilerin analiz edilmesi için kritik bir yöntemdir. Bu tür bir analiz, genellikle X ekseninde zaman dilimlerini (saat, gün, ay gibi) ve Y ekseninde olay sayısını göstermektedir. Özellikle siber güvenlik alanında, bu analiz türü, olayların nasıl yayıldığını ve zamanlamasını anlamak için hayati bir öneme sahiptir. Siber saldırılar genelde zamanla ilişkili tehlikeler içerirken, zaman serisi analizi bu tehlikeleri tespit etmek ve anlamak için güçlü bir araçtır.

Zaman Serisi Analizinin Önemi

Siber güvenlik bağlamında, zaman serisi analizi sadece olayların sayılarını görmekten çok daha fazlasını sunar. Örneğin, "bugün 500 başarısız giriş var" demek, olayların zamanlaması hakkında yetersiz bir bilgi sağlar. Bu 500 giriş, belirli bir süre içinde mi gerçekleşti (örneğin, bir saat içinde) yoksa 24 saat boyunca mı yayıldı? İşte burada zaman serisi grafikleri devreye giriyor. Bu grafikler, olayların zaman içindeki dağılımını net bir şekilde görmemize olanak tanır, böylece tezahür eden bir siber saldırının ya da iç tehditin hücresel yapısını daha iyi anlayabiliriz.

Aşağıdaki basit zaman serisi grafiği, verilerin nasıl anlamlı hale getirilebileceğini gösterir:

import matplotlib.pyplot as plt
import pandas as pd

# Örnek veri
data = {
    'Zaman': ['2023-10-01 00:00', '2023-10-01 01:00', '2023-10-01 02:00', '2023-10-01 03:00'],
    'Başarısız Giriş': [5, 20, 15, 50]
}
df = pd.DataFrame(data)
df['Zaman'] = pd.to_datetime(df['Zaman'])

plt.plot(df['Zaman'], df['Başarısız Giriş'])
plt.title('Zaman Serisi Grafiği: Başarısız Girişler')
plt.xlabel('Zaman')
plt.ylabel('Başarısız Giriş Sayısı')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

Siber Güvenlikteki Yeri

Zaman serisi analizi, yalnızca olayların sayısını takip etmekle kalmaz, aynı zamanda belirli desenleri ve anomalileri de ortaya çıkarır. Örneğin, bir "spike" (sıçrama) durumu, aniden yüksek bir trafik hacmi oluştuğunda meydana gelir (örneğin, bir DDoS saldırısı sırasında). Diğer taraftan, bir "flatline" (düz çizgi), veri akışının aniden sıfıra düşmesi ve süreklilik göstermesi durumunu ifade eder, bu da sunucu veya ağ kesintisi gibi olayların işareti olabilir.

Bu tür grafikler, siber güvenlik uzmanlarına yalnızca ne olduğunu değil, aynı zamanda ne zaman kontrolden çıktığını da söyleyerek, olayların önceden tahmin edilmesine yardımcı olur. Gerçek zamanlı izleme araçları, zaman serisi analizi sayesinde olağan dışı davranışları otomatik olarak tespit edebilir ve güvenlik tehditlerine hızlı bir müdahale sağlanabilir.

Teknik Hazırlık

Zaman serisi analizini başarılı bir şekilde uygulamak için birkaç teknik prensibi göz önünde bulundurmamız gerekiyor:

  • Zaman Dilimi / Kova: SIEM sistemlerinde, her veri noktasının temsil ettiği süre dilimi, zaman eksenindeki analizin özü olarak kabul edilir. Bu dilim ayarları, doğru veri analizi için kritik öneme sahiptir.

  • Normal Kabul Edilen Çizgiler (Baseline): Sistemin geçmişteki rutin hareketlerine bakılarak çizilen temel çizgi, anormalliklerin tespit edilmesine yarar. Bu temel bilgilerin sürekli olarak güncellenmesi gerekiyor.

  • Gizli Tehditler: Geniş zaman aralıklarının kullanılması durumunda, kısa süreli saldırılar grafikte gizlenebilir ve görünmez hale gelebilir. Bu, yeterince hızlı müdahale etme fırsatını kaybetmemize neden olur.

Siber güvenlikte, zaman serisi analizi, yalnızca verileri gözlemlemek için değil, güvenlik tehditlerini tahmin etmek, belirlemek ve etkin bir şekilde yanıt vermek için de kritik bir araçtır. Siber güvenlik profesyonellerinin, zaman serisi analizi kavramını derinlemesine anlaması, saldırıların hızla tespit edilmesi ve etkili yanıt süreçlerinin oluşturulması açısından oldukça önemlidir.

Teknik Analiz ve Uygulama

Kronolojinin Gücü

Zaman serisi analizi, olayların zaman içerisindeki dağılımını ve trendlerini değerlendirmek için kritik bir tekniktir. Bu tür analizlerde X ekseninde zaman dilimleri (saat, gün, ay vb.) ve Y ekseninde olay sayıları, eylemler veya ölçümler yer alır. Bu grafikleri incelemek, sadece belirli bir zaman dilimindeki veri toplamlarını görmekle kalmaz; aynı zamanda olayların zaman içindeki davranışlarını da anlamamıza yardımcı olur.

import pandas as pd
import matplotlib.pyplot as plt

# Örnek veri
data = {
    'Tarih': ['2023-10-01', '2023-10-02', '2023-10-03', '2023-10-04', '2023-10-05'],
    'Olay': [200, 450, 300, 500, 600]
}

df = pd.DataFrame(data)
df['Tarih'] = pd.to_datetime(df['Tarih'])
df.set_index('Tarih', inplace=True)

# Zaman serisi grafiği
df.plot(figsize=(10, 5))
plt.title("Zaman Serisi Grafiği")
plt.xlabel("Tarih")
plt.ylabel("Olay Sayısı")
plt.grid()
plt.show()

Burada görülen grafik, günler açısından olay sayısındaki değişimleri oldukça net bir şekilde göstermektedir. Ancak, sadece toplam sayılar üzerinden hareket etmek yanıltıcı olabilir. Örneğin, 500 olay bir günde yayılmışsa normal bir gürültü olarak değerlendirilebilirken, bu olaylar bir saat içinde gerçekleşmişse bir kırılma veya saldırı emareleri barındırabilir.

Dağılımın Önemi

Bir zaman serisi grafiği, olayların zamanına göre akışını ve zaman içinde nasıl dağıldığını anlamaya yardımcı olur. Bu nedenle, noktaların zaman dilimlerine göre ne kadar değiştiği önemli bir analiz girdisi olarak karşımıza çıkar. Grafiklerde ortaya çıkan bazı istatistiksel desenler, siber güvenlik tehditlerini anlamada kritik rol oynar. Örneğin, grafikte belirgin bir "Spike" (sıçrama) noktası, ani bir artış göstererek potansiyel bir DDoS saldırısının habercisi olabilir.

Gizlenen Tehditler

Zaman çözünürlüğü ("bucket" süresi) belirlemek, zaman serisi analizi sırasında büyük bir öneme sahiptir. Eğer grafik oluşturulurken geniş bir zaman dilimi (örneğin: 24 saat) ayarlanırsa, kısa süreli yüksek yoğunluktaki olaylar gözden kaybolabilir. Örneğin, bir gün boyunca gerçekleşen bir saldırı, toplamda sıradan bir veri artışı gibi görünebilir.

import numpy as np

# Örnek: Sistemdeki olay sayılarının 1 gün boyunca yukarıdaki gibi olduğu varsayılsın
hours = np.arange(0, 24)
events = [0, 5, 10, 25, 40, 0, 0, 0, 0, 0, 30, 45, 60, 10, 5, 0, 0, 0, 0, 0, 0, 15, 20, 30]

plt.bar(hours, events, width=0.8)
plt.title("24 Saatlik Olay Dağılımı")
plt.xlabel("Saat")
plt.ylabel("Olay Sayısı")
plt.xticks(hours)
plt.grid()
plt.show()

Yukarıdaki gibi bir grafik, önemli bir güvenlik olayı zamanında meydana gelmiş olmasına rağmen, genel toplam içinde gizli kalacaktır. Bu tür durumların tespit edilmesi, zaman serisi analizindeki doğru ayarlarla mümkündür.

Normal Nedir?

Zaman serisi analizi yürütürken, "normal kabul edilen" değerleri belirlemek de son derece önemlidir. Temel çizgi olarak adlandırılan bu değer, sistemin geçmişteki davranışlarını yansıtır. Örneğin, bir şirketin belirli saatler arasında yüksek trafik üretmesi olağan bir durumdur; bu saatler dışında meydana gelen anormal bir artış ise dikkat gerektirir.

# Grafiklerde temel çizgi
baseline = np.mean(events)  # Ortalama değer

plt.plot(hours, events)
plt.axhline(y=baseline, color='r', linestyle='--', label='Temel Çizgi')
plt.title("Zaman Serisi ve Temel Çizgi")
plt.xlabel("Saat")
plt.ylabel("Olay Sayısı")
plt.legend()
plt.grid()
plt.show()

Bu örnek, ortalama bir olay sayısına dayalı olarak kullanıcıların ne zaman şüpheli aktiviteleri gözlemlemesi gerektiğini net bir şekilde gösterir.

Özet

Zaman serisi analizi, analistlere olayların zaman içindeki dinamiklerini anlamak için güçlü bir araç sağlar. Verilerin zaman dilimlerine göre düzenlenmesi, şüpheli aktiviteleri daha net bir şekilde ortaya koyar. Daha doğru kararlar verme ve güvenlik önlemlerini etkin hale getirme açısından bu bilgiler hayati öneme sahiptir. İleri düzey analitik uygulamalar ile bu grafiklerden elde edilen verileri derinlemesine değerlendirmek, zaman içinde siber güvenliğinizi önemli ölçüde artırabilir.

Risk, Yorumlama ve Savunma

Siber güvenlik alanında zaman serisi analizi, olayların zamanla nasıl geliştiğini anlamaya yönelik kritik bir adımdır. Bu bölümde, elde edilen bulguların güvenlik anlamını yorumlayarak, mümkün olan zafiyetleri ve savunma mekanizmalarını ele alacağız.

Elde Edilen Bulguların Güvenlik Anlamı

Zaman serisi analizi, sadece olayların sayısını değil, aynı zamanda bu olayların zaman içindeki dağılımını da gözler önüne serer. Örneğin, bir gün içinde 500 başarısız giriş denemesi olduğu belirtildiğinde, bu sayının zaman aralığı içine yayılması kritik bir bileşendir. Eğer bu 500 giriş, yalnızca 5 dakikalık bir zaman diliminde gerçekleşmişse, bu durum kaba kuvvet saldırısının habercisi olabilir.

Bu tür durumları analiz etmek için aşağıdaki basit zaman serisi grafiği örneği ele alalım:

import matplotlib.pyplot as plt
import numpy as np

# Örnek veri
zaman = np.arange(0, 24, 1)  # Saat 0'dan 23'e
başarısız_giriş = [0, 1, 5, 10, 2, 1, 0, 0, 1, 3, 8, 50, 1, 0, 1, 1, 2, 1, 0, 0, 0, 0, 15, 0]  # Saat bazında girişler

plt.plot(zaman, başarısız_giriş)
plt.title('Başarısız Giriş Denemeleri Zaman Serisi')
plt.xlabel('Saat')
plt.ylabel('Başarısız Giriş Sayısı')
plt.grid()
plt.show()

Bu grafik, belirli bir zaman diliminde meydana gelen olayları etkili bir şekilde göstererek, zaman içindeki dalgalanmaları hızlıca değerlendirmenizi sağlar. Anormallikler, anlık sıçramalar (spike) veya aniden sıfıra yaklaşan düz çizgiler (flatline) dikkatlice incelenmelidir.

Yanlış Yapılandırmalar ve Zafiyetlerin Etkisi

Yanlış yapılandırmalar, siber güvenlikte önemli bir zafiyet kaynağıdır. Örneğin, eğer zaman çözünürlüğü çok geniş bir dilim olarak ayarlanırsa, kısa süreli saldırılar grafik içindeki genel düşüşü gizleyebilir. Aşağıdaki gibi bir tanım, bu durumu daha açık hale getirir:

Çok geniş zaman aralıkları kısa süreli saldırıları grafikte gizleyebilir.

Bu tür bir yapılandırma, güvenlik ekiplerinin gerçek tehditleri zamanında tespit etmelerini zorlaştırır. Dolayısıyla, zaman çözünürlüğünü doğru ayarlamak, kritik bir önlemdir.

Sızan Veri, Topoloji ve Hizmet Tespiti

Sızan verilerin analizi, bir ağın en zayıf noktalarını ortaya çıkarabilir. Eğer bir veri sızıntısı meydana gelirse, bu sızıntının hangi saatlerde ve hangi IP adreslerinden kaynaklandığını tespit etmek, önleyici tedbirler almak için oldukça önemlidir. Örneğin, bir zaman serisi analizi bu durumun tespit edileceği alanı daraltarak, ilgili hizmetlerin taranması ve güvenlik açıklarının belirlenmesine olanak tanır.

Profesyonel Önlemler ve Hardening Önerileri

Zaman serisi analizi kullanımı, güvenlik açıklarının tespiti için en etkili yöntemlerden biridir. Ancak sorunun çözüm süreci, yalnızca analizle sınırlı değildir. Aşağıda belirtilen profesyonel önlemler, sistem hardening’i için kritik öneme sahiptir:

  1. Zaman Çözünürlüğünü Doğru Ayarlayın: Olaylarının doğru bir zaman dilimi içinde gösterilmesi, anormalliklerin tespitini kolaylaştırır.
  2. Günlük Olay Analizlerini Düzenli Yapın: Periyodik analizler, geçmiş veriler üzerinden normal davranış çizgilerini (baseline) oluşturmanıza yardımcı olur.
  3. Güvenlik Duvarlarını ve IPS/IDS Sistemlerini Güçlendirin: Şüpheli trafik ve saldırılara karşı aktif koruma sağlar.
  4. Eğitim ve Farkındalık Programları Geliştirin: Kullanıcıların siber tehditlere karşı bilgi sahibi olmalarını sağlamak, insan faktöründen kaynaklanan zafiyetleri azaltır.

Sonuç Özeti

Zaman serisi analizi, bir güvenlik olayının zaman içindeki seyrini anlamada güçlü bir araçtır. Olayların sayısı ve zaman içindeki dağılımı analiz edilerek, güvenlik açıkları tespit edilebilir. Yanlış yapılandırmaların sonuçları, sızan verilerin ve anormalliklerin analiziyle birleştirilerek, sistemlerin güvenliği artırılabilir. Profesyonel önlemlerle desteklenmediği sürece, zaman serisi analizi yalnızca bir veri toplama aracı olarak kalır. Dolayısıyla, bu tür analizlerin etkin kullanılabilmesi için sürekli bir öğrenme ve iyileştirme sürecinde yer alınmalıdır.