CyberFlow Logo CyberFlow BLOG
Soc L1 Izleme Gorunurluk Normalizasyon

Veri Temizleme: Siber Güvenlikte Kirlilikle Mücadele Yöntemleri

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

Veri temizleme süreci, siber güvenlikte hatalı verilerin ayıklanması için kritik bir adımdır. Log verilerinin temizliği, sistemlerin performansını artırır.

Veri Temizleme: Siber Güvenlikte Kirlilikle Mücadele Yöntemleri

Veri temizleme, siber güvenlik sistemlerinde logların kalitesini artırmak için kritik bir süreçtir. Gereksiz boşluk ve hatalı verileri temizleyerek sistemlerin güvenliğini güçlendirir.

Giriş ve Konumlandırma

Veri Temizleme: Siber Güvenlikte Kirlilikle Mücadele Yöntemleri

Bilgi çağında, veriler en değerli varlıklarımızdandır. Ancak, sürekli artan veri hacmi ve karmaşık veri yapıları nedeniyle, bu verilerin kalitesi zaman zaman sorgulanabilir hale gelir. Veri temizleme, yani "data scrubbing", siber güvenlik alanında kritik bir öneme sahiptir. Özellikle güvenlik bilgi ve olay yönetimi (SIEM) sistemlerinde, temizlenmemiş verilerin analiz sonuçlarını olumsuz etkilemesi kaçınılmazdır. Bu nedenle, veri temizleme süreci, siber güvenlik stratejimizin vazgeçilmez bir parçası haline gelmiştir.

Neden Veri Temizleme Önemlidir?

Veri temizleme işlemi, sistemlerimize gelen veri akışında bulunan gereksiz öğelerin ve hatalı bilgilerin ayıklanmasını hedefler. İçinde boşluk, özel karakterler veya anlamsız içerikler barındıran loglar, arama ve analiz performansını ciddi şekilde etkileyebilir. Örneğin, log kaydında gereksiz bir boşluk karakteri, kullanıcı adları gibi kritik bilgilerin doğru şekilde eşleştirilmesini engelleyebilir. Bu tür sorunlar, siber güvenlik saldırılarına karşı savunma mekanizmalarının kayda değer şekilde zayıflamasına neden olabilir.

Kötü Veri Örneği:
log: " user= admin "

Doğru Kullanım:
log: "user=admin"

Bu türden basit fakat etkili ayrıntılar, potansiyel tehditleri gözden kaçırmamıza ve hata yapan sistemlerin tespit edilmesine engel olabilir. Dolayısıyla, veri temizleme, hatalı ve gereksiz bilgilerin arındırılmasıyla sadece sistem maliyetlerini değil, aynı zamanda güvenlik risklerini de azaltır.

Siber Güvenlik ve Pentest İşlemleri ile İlişkilendirme

Siber güvenlik ve penetration testing (pentest) süreçleri, güvenlik testleri ve analizleri üzerine kuruludur. Temiz verilere sahip olmak, bu süreçlerin başarıyla gerçekleştirilmesinde temel bir gerekliliktir. Yetersiz veya yanlış verilerle gerçekleştirilen bir pentest, yanıltıcı sonuçlara yol açabilir. Potansiyel zafiyetleri belirlemek için doğru ve güncel verilere ihtiyaç vardır. Aksi halde, sistem yöneticileri tehditleri göz ardı edebilir ve güvenlik açıklarını kapatmak için harekete geçmezler.

Veri Temizleme Yöntemleri

Veri temizleme sürecinde kullanılan pek çok teknik bulunmaktadır. Bu tekniklerden bazıları şunlardır:

  • Kırpma (Trimming): Veri içindeki gereksiz boşlukların başından ve sonundan silinmesini sağlar.
  • Karakter Temizleme (Character Stripping): Satır sonu veya sekme gibi logu bozan kontrol karakterlerini temizler.
  • Sekilleştirme (Deduplication): Aynı logun birden fazla kez kaydedilmesini engeller. Örneğin, bir cihazın aynı log kaydını tekrar tekrar göndermesi durumunda, bu kayıtların birleştirilerek sayısının belirtilmesi bu yöntemi tanımlar.

Sonuç

Veri temizleme, siber güvenlik analitiği için temel bir süreçtir. Temiz olmayan verilerle güvenlik ürünlerinin verimliliği düşer ve olası tehditlerin tespitinde zafiyetler yaşanır. Temizlenmiş veri ile istatistiksel analizler, ihlal tespiti ve olay müdahale süreci daha etkili hale gelir. Bu süreç yalnızca sistem yöneticilerinin iş yükünü hafifletmekle kalmaz, aynı zamanda güvenlik bütçelerinin etkin yönetilmesine de olanak tanır. Siber güvenlik alanında daha sağlam bir savunma mekanizması oluşturmak için veri temizleme süreçlerinin göz ardı edilmemesi gerekmektedir.

Teknik Analiz ve Uygulama

Kirlilikten Kurtulmak

Siber güvenlikte veri temizleme, işlemlerin etkinliği açısından kritik bir öneme sahiptir. SIEM (Security Information and Event Management) sistemlerine gelen loglar genellikle fazla kirlidir. Bu kirli veriler, analiz ve raporlama süreçlerini zorlaştırır; hatta yanlış kararlar alınmasına yol açabilir. Veri temizleme işlemi, loglara çeşitli teknikler uygulanarak gereksiz kısımların ayıklanması sürecidir. Aşağıda yer alan yöntemler, bu teknik işlemleri içermektedir.

Görünmez Düşman: Boşluklar

Loglardaki görünmez boşluk karakterleri, arama performansını önemli ölçüde etkileyebilir. Örneğin, eğer bir logda kullanıcı adı admin yerine admin (başında boşluk var) şeklinde kaydedilmişse, user=admin araması bu kayda ulaşamaz. Bu nedenle, boşluk karakterlerinin temizlenmesi için Trimming (kırpma) işlemi uygulanmalıdır.

# Python ile logdan boşlukları kırpma örneği
logs = [" admin ", "root", " user "]
cleaned_logs = [log.strip() for log in logs]
print(cleaned_logs)
# Çıktı: ['admin', 'root', 'user']

Bu örnek, log verilerinin başındaki ve sonundaki boşluk karakterlerini silen bir Python kodunu göstermektedir. Temizlenmiş veriler, daha doğru arama sonuçları sağlar.

Temizleme Teknikleri

Veri temizleme aşamasında farklı teknikler kullanılır. Bunlar arasında Character Stripping ve Null Removal kritik önemdedir.

  • Character Stripping: Satır sonu (\n) veya sekme (\t) gibi logu bozan özel karakterleri temizler.
  • Null Removal: İçinde hiçbir değer taşımayan (empty) gereksiz sütunları veritabanından atar.

Aşağıda Character Stripping işlemi için örnek bir Python kodu görebilirsiniz:

import re

log_entry = "Event occurred at 23:59:59\n"
cleaned_entry = re.sub(r'\s+', ' ', log_entry).strip()  # Boşlukları temizler
print(cleaned_entry)
# Çıktı: 'Event occurred at 23:59:59'

Bu kod, loglardaki gereksiz boşlukları ve kontrol karakterlerini temizler, bu sayede daha okunabilir ve analiz edilebilir bir formata ulaşırız.

Mükerrer Logları Önlemek: Deduplication

Mükerrer loglar, özellikle bozuk cihazların çözüm sağlanmadan binlerce kez aynı veriyi göndermesi durumunda ortaya çıkar. Bu, hem verinin kalitesini düşürür hem de sistem kaynaklarını israf eder. Deduplication (tekilleştirme) işlemi, bu tür tekrarları önler.

log_entries = ["Failed login attempt", "Failed login attempt", "Successful login"]
deduped_logs = list(set(log_entries))  # Mükerrer kayıtları temizler
print(deduped_logs)
# Çıktı: ['Successful login', 'Failed login attempt']

Üstteki örnek, aynı log kaydını bir kez tutarak eşsiz logların oluşturulmasını sağlarken, analiz sürecindeki gereksizlikleri de ortadan kaldırır.

Maliyet Yönetimi

Veri temizleme işlemleri, sadece veri kalitesini artırmakla kalmaz, aynı zamanda maliyetleri yönetmenize de yardımcı olur. SIEM sistemleri genellikle GB/gün bazında lisanslandığı için, fazladan veri saklamak ciddi maliyetlere neden olabilir. Temiz apareyen verilerle sisteminizin ekonomik verimliliğini artırabilirsiniz.

Eğer gereksiz verileri, mükerrer logları ve boş alanları temizlemezseniz, bünyenizde gereksiz depolama maliyetleri oluşur. Bu durum, siber güvenlik yatırımlarınızın etkinliğini azaltabilir.

Veriyi Düşürmek (Data Dropping)

Bazen, logun içeriği tamamen önemsiz olabilir. Örneğin, Firewall'dan gelen rutin "Broadcast" trafiği logları çoğu zaman analiz için değerli değildir. Data Dropping (veri düşürme) işlemi, bu tür logların sisteme girmeden atılması anlamına gelir.

# Rutin trafiği filtreleme örneği
routine_logs = ["Broadcast from X", "User login", "Broadcast from Y"]
filtered_logs = [log for log in routine_logs if "Broadcast" not in log]  # Broadcastleri filtreler
print(filtered_logs)
# Çıktı: ['User login']

Bu tür filtrelemeler, analiz sürecinde anlamlı verilerin daha net bir şekilde ortaya çıkmasını sağlar.

Özet

Veri temizleme, ayrıştırma (parsing) işleminin gizli kahramanıdır. Kirli verilerle doğru alarm sistemleri oluşturmak imkansızdır. Boşlukların temizlenmesi, mükerrer logların tekilleştirilmesi ve önemsiz verilerin atılması gibi yöntemler, analiz süreçlerinin etkinliğini artırır. Verinin kalitesini artırmanın yanı sıra maliyetleri düşürebilmek için veri temizleme, siber güvenliğin temel taşlarından biri olarak kabul edilmelidir.

Risk, Yorumlama ve Savunma

Siber güvenlik süreçlerinin en kritik aşamalarından biri risk değerlendirmesidir. Bu süreç, kuruluşların maruz kaldığı tehditleri, zafiyetleri ve potansiyel riskleri anlamalarına yardımcı olur. Ancak, bu değerlendirmelerin etkili olabilmesi için doğru ve temiz verilere ihtiyaç vardır. Veri temizleme, analistlerin tehditleri değerlendirme ve gerekli önlemleri alma konusunda aktif bir rol oynamaktadır.

Elde Edilen Bulguların Güvenlik Anlamı

Siber güvenlikte elde edilen log verilerinin güvenliği sağlamak adına doğru bir şekilde yorumlanması gerekir. Örneğin, bir SIEM (Security Information and Event Management) sistemine gelen loglarda kullanıcı adı gibi kritik bilgilerin yanlış yapılandırmalara sahip olması, analizlerde hatalara yol açabilir. Örneğin, kullanıcı adı admin yerine admin (başında boşluk var) olarak gelirse, yapılan aramalarda bu log bulunamayacaktır. Bu tür boşluklar, kritik güvenlik olaylarının gözden kaçmasına veya hatalı yorumlanmasına neden olabilir.

Örnek Senaryo:
Log: ' user= admin '
Arama Sonucu: 'user=admin' bulunamıyor.

Bu yüzden, boşluk karakterlerinin doğru bir şekilde temizlenmesi ve logların analiz edilmeden önce düzgün bir biçimde yapılandırılması gerekir.

Yanlış Yapılandırma veya Zafiyetlerin Etkisi

Yanlış yapılandırmalar ve zafiyetler, hem güvenlik risklerini artırır hem de düzensiz veri yapılarının ortaya çıkmasına neden olur. Özellikle mükerrer loglar (duplicate logs) söz konusu olduğunda, bir olayın birden çok kez loglanması durumunda SIEM sisteminin yönetimini zorlaştırır. Örneğin, bir cihaz hatalı çalıştığında, aynı log mesajı her saniye binlerce kez gönderilebilir. Bu tür durumlar, sistemin gereksiz yere yüklenmesine ve dolayısıyla lisans maliyetlerinin artmasına sebep olur.

Yüksek Mükerrer Log Örneği:
Log: 'Login attempt from IP: 192.168.1.1'
Sayısı: 1000

Bu noktada "deduplication" (tekilleştirme) işlemi devreye girerek, bu mükerrer logları tek bir log haline indirger ve yanına tekrar sayısını ekler. Bu, hem verimliliği artırır hem de gereksiz verinin depolanmasını önler.

Sızan Veri, Topoloji ve Servis Tespiti

Veri temizleme süreçleri sırasında, sızan verilerin ve sistem topolojisinin net bir şekilde tespit edilmesi büyük önem taşır. Temiz olmayan veriler, güvenlik analizlerinde yanlış yorumlamalara yol açabilir. Örneğin, bir ağ üzerindeki kritik bir cihazdan gelen temizlenmemiş loglar, sızma girişimlerini veya anormal davranışları belirleme sürecini olumsuz etkileyebilir. Dikkat edilmesi gereken nokta, logların içeriğinin temizlenmesinin yalnızca analitik süreçle sınırlı kalmayıp, aynı zamanda güvenlik stratejilerinin oluşturulmasında da önemli bir rol oynamasıdır.

Profesyonel Önlemler ve Hardening Önerileri

Veri temizleme sürecinde alınabilecek profesyonel önlemler, sistem güvenliğini artırmada önemli bir rol oynar. Aşağıdaki adımlar veri temizleme süreçlerinizi güçlendirebilir:

  1. Trimming (Kırpma) Kullanımı: Logların başındaki ve sonundaki görünmez boşlukları silmek için kullanılan bir yöntemdir.

    cleaned_log = original_log.strip()
    
  2. Character Stripping: Log içindeki kontrol karakterlerini temizleyerek veri bütünlüğünü sağlamak.

    import re
    cleaned_log = re.sub(r'[\n\t]', '', original_log)
    
  3. Null Removal: Hiçbir değer taşımayan sütunları veritabanından atarak verimliliği artırmak.

  4. Deduplication: Mükerrer logların tekilleştirilmesi; bu hem lisans maliyetlerini düşürür hem de performansı artırır.

  5. Veri Düşürme (Drop): Tamamen gereksiz olan veya güvenlik değeri taşımayan logları SIEM sistemine sokmadan silme kararını almak. Örneğin; içeriği önemli olmayan rutin "Broadcast" trafiği logları.

Sonuç

Özetle, veri temizleme süreci, siber güvenlikte kritik öneme sahiptir. Hem güvenlik açıklarını tespit etmek hem de potansiyel tehditleri önlemek açısından elde edilen verilerin temiz, düzenli ve yapılandırılmış olması gerekmektedir. Yanlış yapılandırmalar ve zafiyetler, tehlikeleri artırırken, etkili veri temizleme teknikleri ise sistemlerin güvenliğini önemli ölçüde artırma potansiyeline sahiptir. Bu yüzden, organizasyonlar için veri temizleme süreçlerini optimize etmek hayati önem taşımaktadır.