CyberFlow Logo CyberFlow BLOG
Soc L3 Data Hunting

Özellik Mühendisliği ve Siber Güvenlikte Boyutlandırma: Temel Bilgiler

✍️ Ahmet BİRKAN 📂 Soc L3 Data Hunting

Özellik mühendisliği ile siber güvenlikte verilerin nasıl boyutlandırılacağını öğrenin. Aşamalar ve kritik noktaları keşfedin.

Özellik Mühendisliği ve Siber Güvenlikte Boyutlandırma: Temel Bilgiler

Siber güvenlik alanında etkili veriler yaratmak için özellik mühendisliğini keşfedin. Bu yazıda, verilerin boyutlandırılması ve anlamlı nitelikler oluşturma süreçlerini öğreneceksiniz.

Giriş ve Konumlandırma

Giriş

Siber güvenlik alanında yaygın olarak karşılaşılan veri yığınları, güvenlik tehditlerinin tespit edilmesi ve önlenmesi açısından kritik bir rol oynamaktadır. Ancak, bu verilerin ham hali, makine öğrenmesi algoritmaları gibi ileri düzey analiz yöntemleri için yeterli değildir. Bu noktada, özellik mühendisliği (feature engineering) devreye girer. Özellik mühendisliği, ham verilerden anlamlı bilgiler (özellikler) çıkartarak, makine öğrenmesi algoritmalarının öğrenme sürecini optimize etme sürecidir. Bu süreç, etkili bir siber güvenlik çözümünün temel taşlarından biridir.

Özellik mühendisliği, siber güvenlikte veri analizi ve tehdit tespiti açısından hayati bir önem taşır. Çünkü, veriler doğru bir şekilde işlenmediğinde, siber tehditleri tespit etmek veya bunlara karşı önlem almak neredeyse imkansız hale gelebilir. Özellikle çeşitli güvenlik olaylarını incelemek için kullanılan kayıt (log) verileri, belirli özellikler ile zenginleştirildiğinde, analistlerin tehditleri daha iyi anlamalarına yardımcı olur.

Bu süreçte, verilerin özelliklerini ve gerekli dönüşümleri belirlemek, yapay zekâ ve makine öğrenmesi uygulamalarını etkili bir şekilde kullanabilmek için elzemdir. Siber güvenlik uzmanları, analiz ettikleri verilerden elde ettikleri özellikleri, potansiyel bir saldırıyı tanımlamak ve yanıtlamak amacıyla kullanmalıdır. Örneğin, bir log kaydındaki tarih ve saat bilgisi ile yalnızca "gece yarısı mı?" gibi bir özellik ortaya çıkarmak, seansların zamanlaması hakkında bilgi edinmemizi sağlar ve potansiyel kötü niyetli hareketleri daha kolay tespit etmemize olanak tanır.

Siber Güvenlik Bağlamı

Siber güvenlikte özellik mühendisliğinin önemi, sadece bir veri analizi tekniği olmasının ötesindedir. Özellikle pentest (sızma testleri) süreçlerinde, güvenlik uzmanlarının karşılaştığı zorluklarla başa çıkmak için verilerin etkili bir şekilde filtrelenmesi ve dönüştürülmesi gerekir. Bir sızma testi sırasında toplanan veriler, daha sonra saldırılara yönelik tehditleri tanımlamak için kıymetli bilgiler sunabilir. Bu noktada, verilerin doğru özelliklere dönüştürülmesi, makine öğrenimi modellerinin eğitiminde belirleyici bir rol oynar.

Özellik mühendisliği, makine öğrenimi modellerinin performansını artırmaya yönelik çok sayıda yöntemi içerir. Özellik çıkarımı, boyutlandırma ve kodlama gibi yöntemler, verilerin analitik süreçlerin daha etkili bir şekilde işlenmesine yardımcı olur. Ancak, özelliklerin seçimi kadar yanlış özelliklerin kullanılmasının sonuçları da dikkate alınmalıdır. Çünkü gereksiz veya birbiriyle yüksek korelasyonlu özellikler, modelin performansını düşürerek yanlış alarmların artmasına yol açar.

Okuyucuya Hazırlık

Bu blog içeriğinde, özellik mühendisliği ile siber güvenlikte boyutlandırma kavramlarının derinlemesine incelenmesi amaçlanmaktadır. Bu çerçevede, çeşitli özellik tipleri, özellik çıkarımı, dönüşüm stratejileri gibi konular ele alınacak ve örneklerle desteklenerek bilgi verilecektir. Ayrıca, boyutluluk laneti gibi modelleme süreçlerinde dikkat edilmesi gereken kavramlar üzerinde durulacaktır. Böylece, okuyucuların siber güvenlik alanında daha bilinçli kararlar alabilmeleri için gerekli teknik bilgi ve becerilere sahip olmaları sağlanacaktır.

Özellikle güvenlik verilerini analiz eden profesyoneller ve siber güvenlik alanında eğitim görenler için, bu bilgilerin uygulanması, yalnızca daha iyi bir algı ve tespit sağlamakla kalmayacak, aynı zamanda daha etkili bir tehdit savunma stratejisi geliştirmelerine ortam tanıyacaktır. Bu nedenle, makine öğrenmesi ile desteklenen siber güvenlik uygulamalarında uzmanlaşmak isteyen herkesin mutlaka özellik mühendisliği konusunda bilgi sahibi olması gerekmektedir.

Teknik Analiz ve Uygulama

Özellik Mühendisliği ve Siber Güvenlikte Boyutlandırma: Temel Bilgiler

Siber güvenlik alanında, özellik mühendisliği (feature engineering) ve verilerin boyutlandırılması, makine öğrenmesi algoritmalarının performansını artırmak için kritik adımlardır. Özellikle, güvenlik verilerinin analizi sırasında, doğru niteliklerin seçimi ve boyutlandırılması, saldırı tespit sistemlerinin etkinliği üzerinde doğrudan etkiye sahiptir. Bu bölümde, özellik mühendisliği, boyut kavramları ve bu süreçlerin uygulamadaki önemi incelenecektir.

Özellik Mühendisliği

Özellik mühendisliği, ham verilerden anlamlı nitelikler oluşturma sürecidir. Güvenlik alanında, ham log kayıtlarından (örneğin, ağ trafiği, sistem günlükleri) anlamlı bilgiler çıkarılmakta ve bu bilgiler üzerinde model eğitimi yapılmaktadır. Makine öğrenmesi algoritmaları, ham metinleri anlayamadığı için, verilerin matematiksel özelliklere dönüştürülmesi gerekmektedir. Örneğin, bir log kaydındaki standart zaman bilgisi 2026-05-06 02:15:00, yalnızca "gece yarısı mı?" bilgisini temsil eden bir niteliğe dönüştürülebilir. Bu tür dönüşümler, özellik çıkarımı olarak tanımlanır.

import pandas as pd

# Tarih bilgisini içeren örnek DataFrame
data = {'timestamp': ['2026-05-06 02:15:00', '2026-05-06 23:45:00']}
df = pd.DataFrame(data)

# Gece yarısı kontrolü için fonksiyon
def is_midnight(row):
    return int(pd.to_datetime(row['timestamp']).hour == 0)

# Yeni sütunun eklenmesi
df['is_midnight'] = df.apply(is_midnight, axis=1)

print(df)

Bu örnekte, is_midnight sütunu, zaman bilgisinin gece yarısını temsil edip etmediğini belirten bir Boolean değer içermektedir.

Güvenlik Verilerinde Özellik Tipleri

Siber güvenlik verilerinde farklı türde özellikler bulunmaktadır. Kategorik özellikler, sayısal özellikler ve mantıksal (Boolean) özellikler olmak üzere üç ana gruba ayrılabilir. Kategorik özellikler, log seviyeleri (Info, Error) veya protokol tipleri (TCP, UDP) gibi belirli sınıf bilgilerini içerir. Sayısal özellikler ise, örneğin transfer edilen bayt boyutu veya bir oturumun süresi gibi ölçülebilir verileri temsil eder. Mantıksal özellikler, yalnızca doğru/yanlış (1/0) değeri alır, örneğin "Kullanıcı Admin mi?".

Boyut Kavramları

Veri setinin boyutlandırılması, makine öğrenmesi uygulamalarında büyük bir öneme sahiptir. Boyut, veri setindeki her bir benzersiz özellik veya sütunu temsil eder. Ancak, çok fazla ve kalitesiz özellik kullanımı, modelin performansını düşürür ve yanlış alarmların artmasına neden olur. Bu duruma “boyutluluk laneti” (curse of dimensionality) denir ve modelin eğitilmesini imkansız hale getirebilir.

Özellik Seçim Yöntemleri

Boyutluluğu azaltmak için kullanılan çeşitli özellik seçim yöntemleri vardır. Bu yöntemler filtreleme, sarmalayıcı ve gömülü yaklaşımlar olarak üç ana gruba ayrılır:

  1. Filtreleme (Filter Methods): Özelliklerin istatistiksel önem skorlarına bakarak seçim yapan bir yöntemdir. Örneğin, varyans analizi kullanarak düşük varyansa sahip özellikler elenebilir.

  2. Sarmalayıcı (Wrapper Methods): Farklı özellik kombinasyonlarını deneyerek en iyi performansı veren alt kümeyi bulmayı amaçlar. Çeşitli algoritmalar ile test edilip en iyi performansa sahip alt küme belirlenir.

  3. Gömülü (Embedded Methods): Algoritmanın, kendi eğitimi sırasında hangi özelliklerin önemli olduğuna otomatik olarak karar verdiği yöntemdir. Örneğin, Random Forest gibi algoritmalar, eğitildiği anda hangi özelliklerin önemli olduğuna karar verebilir.

Veri Ölçeklendirme

Veriler arasında farklı ölçeklerin bulunması, makine öğrenmesi modelinin performansını olumsuz etkileyebilir. Bu nedenle, sayısal verilerin aynı aralığa (örneğin 0 ile 1 arasına) çekilmesi gerekmektedir. Bu tür bir ölçeklendirme, algoritmanın eğitim sürecini etkili hale getirecektir.

from sklearn.preprocessing import MinMaxScaler

# Örnek veriler
data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
scaler = MinMaxScaler()

# Özelliklerin ölçeklendirilmesi
scaled_data = scaler.fit_transform(data)
print(scaled_data)

Bu örnekte, MinMaxScaler, verileri 0 ile 1 arasına çekmektedir.

Alan Uzmanlığı ve Özellikler

Son olarak, siber güvenlik analistlerinin alan bilgisi, doğru özelliklerin çıkarılmasını ve seçiminde kritik bir rol oynar. Örneğin, bir siber saldırıyı tespit etmek için hangi log alanlarının önemli olduğunu bilmek, analistin güçlü bir alan bilgisine sahip olmasını gerektirir. Bu sayede, farklı güvenlik tehditleri için anlamlı nitelikler oluşturmak mümkün olacaktır.

Sonuç olarak, özellik mühendisliği ve boyutlandırma, makine öğrenmesi tabanlı siber güvenlik uygulamalarının başarısında belirleyici bir rol oynamaktadır. Doğru özelliklerin seçilmesi ve uygun boyutlandırma yöntemlerinin uygulanması, saldırı tespit sistemlerinin etkinliğini artırabilir.

Risk, Yorumlama ve Savunma

Siber güvenlik alanında, veri güvenliği ve sistem bütünlüğü sağlamak için yapılan risk değerlendirmeleri, elde edilen bulguların yorumlanmasının karmaşık fakat kritik bir parçasıdır. Bu bölümde, bir sistemde potansiyel risklerin nasıl yorumlanacağı, yanlış yapılandırma veya zafiyetlerin etkileri ve sızan verilerin analizi ele alınacaktır. Ayrıca, profesyonel önlemler ve güvenlik hardening önerileri üzerinde durulacaktır.

Riskin Yorumlanması

Bir güvenlik analizinde elde edilen bulgular, her zaman kritik anlamlar taşır. Örneğin, bir log kaydında anormal bir giriş tespit edildiğinde, bu durum bir siber saldırının veya yanlış yapılandırmanın işareti olabilir. Bu nedenle, elde edilen bulguların güvenlik anlamının doğru bir şekilde yorumlanması gerekmektedir.

Bir güvenlik kaydı, şunları içerebilir:

  • Zaman Damgaları: Saldırının zamanlaması saldırganın amaçlarını ve yöntemlerini anlamak için önemlidir.
  • Kaynak ve Hedef IP Adresleri: Saldırının nereden geldiğini ve hangi sisteme yöneldiğini ortaya koyar.
  • Protokol Türleri: Kullanılan ağ protokolleri (TCP, UDP gibi) güvenlik açığı risklerini artırabilir.

Bu bilgilerin bir araya getirilmesi, bir saldırının olası etkilerini ve sonuçlarını değerlendirme konusunda kritik bir rol oynar.

Örnek Log Kaydı:
2023-10-01 14:32:50 - Login Attempt: Failed | Source IP: 192.168.1.5 | Protocol: TCP

Yukarıdaki log kaydı, belirli bir IP adresinden yapılan başarısız bir oturum açma girişimini göstermektedir. Bu girişim, güvenlik açısından dikkatlice incelenmelidir.

Yanlış Yapılandırma ve Zafiyet Etkisi

Yanlış yapılandırmalar, çoğunlukla sistem zafiyetlerine yol açar. Örneğin, gereksiz açık portlar, zayıf parolalar veya güncel olmayan yazılımlar, sistemin güvenliğini tehdit eden faktörlerdir. Zayıf bir yapılandırma, bir saldırganın hedef sisteme kolayca sızmasına neden olabilir. Bu durum, yalnızca sistemin güvenliğini değil, aynı zamanda veri bütünlüğünü de tehlikeye atar.

Örneğin, bir ağda açık bırakılan bir yönetim portu (örneğin, 22 numaralı SSH portu), saldırganlar tarafından kullanılabilir:

Uygulama: OpenSSH | Port: 22
Statü: Açık
Uygulama Versiyonu: 7.4

Yukarıdaki bilgilere dayanarak, portun güvenli biçimde kapatılması veya güvenlik duvarında gerekli yapılandırmaların yapılması gerekmektedir.

Sızan Veri ve Topoloji

Veri sızıntıları, ciddi güvenlik sorunlarındandır. Saldırganlar, kritik bilgileri ele geçirerek bu bilgileri kötüye kullanabilir. Örneğin, bir veri tabanından sızan kullanıcı kimlik bilgileri veya kişisel bilgiler, hedef sistemin güvenliğini büyük ölçüde zayıflatabilir.

Topolojinin etkisi de burada önemlidir. Ağ topolojisi, bir saldırının nasıl gerçekleştirileceğini etkileyebilir. Örneğin, segmentasyon uygulamaları, bir saldırının belirli bir bölgeden diğerine geçişini zorlaştırarak sistemin genel güvenliğini artırabilir.

Profesyonel Önlemler ve Hardening Önerileri

Güvenlik önlemleri almak, sistemlerin güvenliğini artırmak için kritik bir adımdır. Aşağıdaki önlemler, sistemin güvenliğini artırabilir:

  1. Güvenlik Duvarları ve IDS/IPS Kurulumu: Ağ trafiği üzerinde kontrol sağlamak için etkili güvenlik duvarları ve saldırı tespit/preventif sistemleri kullanılmalıdır.

  2. Güncellemelerin Takibi: Yazılımların güncel tutulması, bilinen zafiyetleri minimize eder.

  3. Sıkı Erişim Kontrolleri: Sistemlere erişim kontrol politikaları uygulanmalı, yetkilendirilmemiş erişim minimize edilmelidir.

  4. Kötü Amaçlı Yazılım Taraması: Düzenli olarak kötü amaçlı yazılım taramaları yapmak, sistemin güvenliğini artırır.

  5. Güvenlik Eğitimleri: Personelin düzenli olarak güvenlik konularında eğitilmesi, insan hatalarından kaynaklanan riskleri azaltır.

Sonuç

Siber güvenlikte risk alma ihtiyacı, sistemlerin güvenliğini artırmak için yapılan analizlerle doğrudan ilişkilidir. Riskin doğru bir şekilde yorumlanması, yanlış yapılandırmaların etkileri ve sızan verilerin analizi, güvenlik stratejilerinin oluşturulmasında hayati öneme sahiptir. Yukarıda belirtilen önlemler ve hardening yöntemleri, sistemleri kabullere karşı koruma ve siber tehditleri minimize etme potansiyeli taşımaktadır. Her bir güvenlik önlemi, siber ortamdaki risklerin azaltılmasına katkıda bulunur ve güvenli bir siber ortam oluşturulmasına yardımcı olur.