CyberFlow Logo CyberFlow BLOG
Soc L3 Data Hunting

RNN ve LSTM ile Ardışık Log Verilerinde Tehdit Analizi

✍️ Ahmet BİRKAN 📂 Soc L3 Data Hunting

RNN ve LSTM teknikleri ile ardışık log verilerinin analizi, siber güvenlikte tehdit tespiti için kritik bir yöntemdir.

RNN ve LSTM ile Ardışık Log Verilerinde Tehdit Analizi

Siber güvenlikte ardışık log verilerinin analizi, RNN ve LSTM teknolojileriyle tehditleri belirlemekte önemli bir rol oynamaktadır. Bu yazıda, bu tekniklerin nasıl çalıştığını keşfedeceğiz.

Giriş ve Konumlandırma

Giriş

Siber güvenlik alanında, güvenlik analistleri ve uzmanları için tehditleri tespit etme ve analiz etme potansiyeli, giderek daha karmaşık hale gelen siber tehditler göz önüne alındığında hayati bir öneme sahiptir. Bu bağlamda, ardışık verilerin analizi, özellikle log verileri üzerinde gerçekleştirilen incelemeler, tehdit avcılığı için kritik bir strateji olarak öne çıkmaktadır. Bu noktada Yinelemeli Sinir Ağları (RNN) ve Uzun Kısa Süreli Hafıza (LSTM) mimarileri, ardışık veri dizilerini analiz etme yetenekleri sayesinde siber güvenlik uygulamalarında önemli bir araç haline gelmiştir.

Ardışık Veri ve RNN

Ardışık veriler, zaman içinde belirli bir sıraya göre dizilmiş verilerdir. Log dosyaları, sistem üzerindeki etkinliklerin kaydedildiği yapılar olarak bu verilere en iyi örneği teşkil eder. Siber güvenlik bağlamında, saldırganların eylemleri ardışık olarak gerçekleştiği için, bu eylemlerin analizi, saldırganların stratejilerini ve yöntemlerini anlamak için oldukça önemlidir. RNN, geçmişteki bilgilere dayalı kararlar almak için tasarlanmış bir sinir ağı mimarisidir. Bu yapı, önceki adımlardaki bilgiyi "hafıza" ile tutarak sonraki adımlara aktarabilme yeteneğine sahiptir.

import numpy as np
import tensorflow as tf
from tensorflow import keras

# Basit bir RNN modeli tanımlama
model = keras.Sequential([
    keras.layers.SimpleRNN(128, input_shape=(None, num_features)),
    keras.layers.Dense(num_classes, activation='softmax')
])

Yinelemeli Sinir Ağları, verilerin arasındaki zamansal bağımlılıkları öğrenmede oldukça başarılıdır. Ancak, uzun vadeli bağımlılıklar söz konusu olduğunda, temel RNN mimarisinin bazı sınırlamaları vardır. İşte burada LSTM devreye girmektedir.

LSTM ve Kısa Süreli Hafıza Problemi

Standart RNN'lerle karşılaştırıldığında, LSTM'ler uzun dönem bağımlılıklarını öğrenme yeteneği ile ön plana çıkar. LSTM'ler, yeniden yapılandırılmış yapısı sayesinde bilgi akışını kontrol eden "kapılar" (gate) mekanizmaları kullanır. Bu mekanizmalar, öğrenme sürecinde hangi bilgilerin tutulacağına ve unutulacağına yönelik önemli kararlar alır.

LSTM'nin bu yapısı, genellikle "kısa süreli hafıza problemi" olarak adlandırılan, uzun dizilerde önceki bilgilere erişim zorluklarını etkili bir şekilde aşmasını sağlar. Geleneksel RNN mimarilerinde bu sorun, arka planda gradyan kaybolması (vanishing gradient) gibi zorluklarla ortaya çıkar. Ancak LSTM'lerin kapı mekanizmaları sayesinde bu sorun minimize edilir.

# LSTM modeli örneği
model = keras.Sequential([
    keras.layers.LSTM(128, input_shape=(None, num_features)),
    keras.layers.Dense(num_classes, activation='softmax')
])

Tehdit Avcılığı ve Zaman Penceresi

Siber güvenlik uygulamalarında ardışık verilerin analizinde zaman pencerelerinin etkisi büyüktür. Analizler, belirli zaman dilimleri içinde yoğunlaşan veya alışılmadık bir şekilde dağılan etkinlikler üzerinde yoğunlaşarak, potansiyel tehditleri daha hızlı tespit etmeye yardımcı olur. Örneğin, zararlı yazılımlar belirli zaman aralıklarında dış sunucuya veri gönderme eyleminde bulunuyorlarsa, bu durum açık bir tehdit göstergesi olabilir.

Sonuç olarak, RNN ve LSTM mimarileri, log verileri üzerinde gerçekleştirilen tehdit analizlerinde zaman serisi verilerinin incelenmesine olanak tanır. Bu, siber güvenlik uzmanlarının hem saldırıları daha iyi anlamalarına hem de bu tehditleri proaktif bir şekilde önlemelerine katkı sağlar. Böylelikle, sahadaki ve kurumsal düzeydeki siber güvenlik uygulamaları daha etkili bir hale gelir. Bu blog yazısının ilerleyen bölümlerinde, RNN ve LSTM yaklaşımlarının detayları, çalışma prensipleri ve uygulanabilirliği üzerinde durulacaktır.

Teknik Analiz ve Uygulama

Ardışık Veri ve RNN Nedir?

Yinelemeli Sinir Ağlarının Temelleri

Yinelemeli Sinir Ağları (RNN), verilerin belirli bir zaman dizisi içine yerleştirildiği durumlarda kullanılan bir ağ türüdür. RNN'ler, geçmiş bilgilerin mevcut kararı etkilemesine olanak tanıyacak şekilde tasarlanmıştır. Özellikle ardışık log verileri, siber güvenlik ortamlarında tehdit analizi için önemli bir yapı sunar. RNN, zaman içinde veriyi işlerken bir hafıza (hidden state) mekanizması kullanarak önceki adımlardan gelen bilgileri depolar.

RNN ve Standart Sinir Ağları Arasındaki Fark

Standart Sinir Ağları (ANN), her girişi bağımsız olarak ele alır ve verileri ileriye doğru işlerken, RNN'ler öncekilerden gelen bilgileri hafızasında tutarak sonraki adımlara geçirir. Bu, ardışık veri setlerinin analiz edilmelerinde önemli bir avantaj sağlar. Ancak RNN'lerin uzun süreli bağımlılıkları öğrenmekteki zorlukları, onları bazı durumlarda yetersiz kılabilir.

Kısa Süreli Hafıza Problemi

RNN’lerin en büyük dezavantajlarından biri, uzun dizilerde uzak bilgileri hatırlamakta zorlanmasıdır. Yerleşik hafıza problemi nedeniyle, RNN'ler genellikle uzun süreli bilgileri hatırlamakta sıkıntı çekerler. Bu durum, suçluların siber saldırılarını uzun zaman dilimlerine yayarken RNN'lerin bu saldırıları tespit etme yeteneğini zayıflatır.

LSTM (Uzun Kısa Süreli Hafıza)

LSTM, RNN'lerin bu kısa süreli hafıza problemini aşmak için geliştirilmiş bir mimaridir. Uzun vadeli bağımlılıkları daha etkili bir şekilde öğrenebilen LSTM, özel kapı mekanizmaları kullanarak bilgi akışını düzenler. LSTM hücrelerinde bulunan üç temel kapı; Giriş Kapısı (Input Gate), Unutma Kapısı (Forget Gate) ve Çıkış Kapısı (Output Gate) olarak adlandırılır.

import numpy as np
import keras
from keras.models import Sequential
from keras.layers import LSTM, Dense

# Örnek veri oluşturulması
data = np.random.rand(1000, 10, 1)  # 1000 örnek, her birinin 10 adımı var
labels = np.random.randint(0, 2, 1000)  # İki sınıflı etiketler

# LSTM modeli tanımlama
model = Sequential()
model.add(LSTM(50, input_shape=(10, 1), return_sequences=True))
model.add(LSTM(50))
model.add(Dense(1, activation='sigmoid'))

# Modeli derleme
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

LSTM Kapı (Gate) Mekanizmaları

Giriş Kapısı (Input Gate)

Giriş kapısı, yeni verinin ne kadarının hücre hafızasına kaydedileceğini belirler. Bu kapı, mevcut durumu güncelleyerek hücredeki bilgiyi tazeler.

Unutma Kapısı (Forget Gate)

Unutma kapısı, hücre hafızasında hangi eski bilgilerin silineceğine veya tutulacağına karar verir. Bu mekanizma, altta yatan kararların güncellenmesini ve zaman içerisinde gereksiz bilgilerin silinmesini sağlar.

Çıkış Kapısı (Output Gate)

Çıkış kapısı ise, o anki hafızadan dışarıya ne kadar bilgi aktarılacağını kontrol eder. Bu, LSTM’nin en önemli özelliklerinden biridir, çünkü belirli bir durumun belirli bir zaman diliminde ne kadar bilgi taşıyacağını düzenler.

Tehdit Avcılığında Zaman Penceresi

LSTM modellerinin en önemli kullanım alanlarından biri, logların zaman pencere içerinde analiz edilmesidir. Siber güvenlikte, belirli bir zaman aralığındaki başarısız giriş denemeleri veya anormal davranışlar, olayların ardışıklığının incelenmesiyle tespit edilebilir. Örneğin, belirli bir zaman dilimindeki kullanıcı hareketleri, LSTM modeli tarafından gözlemlendiğinde, şüpheli bir durumu tespit etmede kullanılabilir.

Beaconing Tespiti

Zararlı yazılımların dış sunuculara düzenli aralıklarla bilgi çıkışları (beaconing) yaptığı bilinmektedir. LSTM, bu tür düzenli ve döngüsel verileri analiz ederek normal kalıplardan sapmaları tespit edebilir. Matematiksel ritimler arasındaki farklılıklar, siber güvenlik takımları için bir tehditin tespiti anlamına gelir.

# Örnek log verisi analizi yapılması
logs = np.random.rand(50, 10, 1)  # 50 günlük log verisi
result = model.predict(logs)

Sıralı Saldırı Senaryoları

Siber güvenlik olaylarında sıralı saldırı senaryoları oldukça yaygındır. Örneğin, bir hacker’ın 'whoami', 'ipconfig' gibi komutları belirli bir sırayla çalıştırması, log verileri içinde belirgin bir desen oluşturur. LSTM, bu tür ardışık eylemleri saptamak için etkili bir yöntem sunmaktadır.

Gradyan Kaybolması (Vanishing Gradient)

RNN eğitimindeki teknik zorluklardan biri, gradyan kaybolması (vanishing gradient) problemidir. LSTM mimarisi, bu durumu aşmak için özel kapılar kullanarak, genel öğrenme sürecinin etkili bir şekilde sürdürülmesini sağlar. Bu, uzun log zincirlerini analiz etmenin önünü açar.

Gerçek Zamanlı Analiz

Eğitilmiş bir LSTM modeli, SOC (Security Operations Center) ortamında akış halindeki logları izlerken ‘normal’ dizinin dışına çıkan sapmaları gerçek zamanlı olarak tespit edebilir. Bu, siber güvenlik ekiplerine hızlı bir şekilde müdahale etme olanağı sağlar ve tehdit analizi süreçlerini önemli ölçüde hızlandırır.

LSTM ve RNN teknolojisi, ardışık verilerin analizinde oldukça etkili bir araç sunarken, siber güvenlik alanında uygulamalarıyla büyük bir fark yaratmaktadır. Geçmişteki saldırıları analiz ederek gelecekteki tehditlere karşı savunma mekanizmaları oluşturmak, siber güvenlik stratejilerinin vazgeçilmez bir parçası haline gelmektedir.

Risk, Yorumlama ve Savunma

Siber güvenlikte, ardışık log verilerinin analizi, organizasyonların sistemlerine yönelik tehditleri belirlemek ve önlemek için kritik öneme sahiptir. RNN (Yinelemeli Sinir Ağları) ve LSTM (Uzun Kısa Süreli Hafıza) gibi modern makinelerin öğrenme teknikleri, bu tür verilerin analizinde kullanılmaktadır. Bu bölümde, elde edilen bulguların güvenlik boyutunu ele alacak, bir tehdit durumunda yorumlama yapacak ve uygun savunma stratejileri sunacağız.

Tehditlerin Güvenlik Anlamı

Ardışık log verileri, kullanıcı davranışlarını ve sistem aktivitelerini ortaya koyar. Örneğin, bir saldırganın gerçekleştirdiği eylemler sırasıyla log dizini oluşturur. Bu tür verilerin analizi, anomali tespiti açısından önemlidir. Şüpheli bir aktivite, örneğin belirli bir IP adresinden gelen olağan dışı giriş denemeleri, organizasyon için ciddi bir tehdit teşkil edebilir. LSTM biyo-eğimli bir yapı olduğundan, zaman serisi analizi yaparak log verilerini değerlendirir ve potansiyel tehditleri etkili bir şekilde tespit edebilir.

Bir örnekle açıklamak gerekirse, bir LSTM modeli, sürekli bir şekilde veriler üzerinde işlem yaparak bir "hücre hafızası" oluşturur. Saldırganın belirli bir süre boyunca log dizininde yarattığı düzenli desenler, bu model tarafından tespit edilebilir. Bu tür bir analiz, saldırganın izlediği yolları ve hangi sistemlerin hedef alındığını belirlemeye yardımcı olur.

Zafiyetler ve Yanlış Yapılandırmalar

Yanlış yapılandırmalar veya sistemlerdeki zafiyetler, siber güvenlik tehditlerini etkileyebilir. Örneğin, bazı sistemlerde varsayılan parolaların değiştirilmemesi, bir bruteforce saldırısı için kapı açar. Sistem, çok sayıda başarısız girişim kaydettikten sonra, bu durumu doğru şekilde yorumlamayabilir. Bu tür bir durumda LSTM'nin devreye girmesi gerekiyor; geçmişteki girişlerin analiz edilmesi, saldırı düzenlerini ve zamanlamalarını anlamak açısından önemlidir.

import numpy as np

# LSTM'yi eğitmek için bir örnek veri seti
X_train = np.array([[0, 1], [1, 0], [1, 1], [0, 0]])
y_train = np.array([[1], [0], [1], [0]])

Yukarıdaki gibi basit bir veri seti, LSTM modelinin nasıl eğitileceğine dair bir başlangıç noktası sunmaktadır. Bu model, zaman serisi verilerle oldukça iyi performans gösterdiğinden, siber güvenlik bağlamında potansiyel tehdit analizi için etkili bir araçtır.

Sızan Veriler ve Hizmet Tespiti

LSTM'nin diğer bir avantajı, veri akışı içindeki sapmaları belirlemekteki başarısıdır. Örneğin, bir kullanıcının normal davranış kalıplarının dışına çıkması, bu model tarafından tespit edilebilir. Bu örnekte, bir sunucudan beklenmedik bir veri sızıntısı tespit edildiğinde, bu durum organizasyonu tehdit eden bir durum olarak yorumlanmalıdır.

Birçok saldırı senaryosunda, hizmetlerin tespiti ve izlenmesi de kritik öneme sahiptir. Hangi servislere hangi IP adreslerinden erişim yapıldığı, hangi kullanıcıların aktif olduğu gibi veriler, şüpheli davranışların belirlenmesinde yardımcı olur. LSTM, belirli zaman diliminde gerçekleştirilen işlemlerin analiz edilmesini sağlarken, düzenli aralıklarla veri akışı sağlayabilir.

Profesyonel Önlemler ve Hardening Önerileri

Siber güvenlik stratejileri oluştururken, bazı temel hardening yöntemlerine dikkat edilmelidir:

  1. Güçlü Parola Politikaları: Varsayılan parolalar değiştirilmelidir. Kullanıcılar için karmaşık ve zor tahmin edilebilir parolalar belirlenmelidir.
  2. İzleme ve Analiz: Log verileri sürekli izlenmeli, anomali tespiti için LSTM veya benzeri teknolojiler kullanılmalıdır.
  3. Güncellemeler ve Yamanın Uygulanması: Sistemler düzenli olarak güncellenmeli, bilinen güvenlik açıklarına karşı yamalar uygulanmalıdır.
  4. Erişim Kontrolü: Kullanıcıların yalnızca iş ihtiyaçlarına göre erişim hakları belirlenmeli, gereksiz yetkilerden kaçınılmalıdır.

Sonuç

Ardışık log verilerinin analizi, siber güvenlik açısından önemli bir savunma stratejisidir. RNN ve LSTM gibi modeller, bu tür verilerin zaman serisi içerisindeki ilişkilerini anlamak ve anomali tespiti yapmak için etkili araçlar sunar. Yanlış yapılandırmalar ve zafiyetler, sistemleri tehlikeye sokabilirken, profesyonel önlemler ve sürekli izleme ile bu tehditlerin önüne geçilebilir. Elde edilen bulguların güvenlik anlamı, organizasyonların siber güvenlik durumunun iyileştirilmesi için kritik öneme sahiptir.