Ransomware Koruması: Fidye Yazılıma Karşı Savunma
Ransomware Nedir ve Nasıl Çalışır?
Ransomware (fidye yazılımı), bilgisayar sistemlerindeki dosyaları şifreleyerek veya sisteme erişimi engelleyerek kullanıcılardan fidye talep eden kötü amaçlı yazılım türüdür. Saldırganlar genellikle kripto para birimi (Bitcoin, Monero vb.) ile ödeme talep eder ve ödeme yapılmazsa verilerin kalıcı olarak silineceğini veya kamuya açıklanacağını tehdit eder. Modern ransomware saldırıları, çift gasp (double extortion) tekniğini kullanarak verileri hem şifreler hem de sızdırır.
Ransomware'in temel çalışma prensibi şu adımlardan oluşur:
- İlk Erişim: Phishing e-postası, güvenlik açığı istismarı veya RDP brute-force saldırısı ile sisteme sızma
- Keşif ve Yayılma: Ağ içinde lateral movement ile diğer sistemlere erişim sağlama
- Ayrıcalık Yükseltme: Domain admin veya root yetkisi elde etme
- Veri Sızdırma: Hassas verilerin dışarıya kopyalanması
- Şifreleme: AES-256 veya RSA gibi güçlü algoritmalarla dosyaların şifrelenmesi
- Fidye Notu: Kullanıcıya ödeme talimatlarının gösterilmesi
Yaygın Ransomware Saldırı Vektörleri
1. Phishing ve Sosyal Mühendislik
Saldırıların yaklaşık %70-80'i phishing e-postaları ile başlar. Kötü amaçlı makro içeren Office dosyaları, sahte fatura PDF'leri veya zararlı bağlantılar en yaygın yöntemlerdir. Kullanıcıları eğitmek kritik öneme sahiptir ancak tek başına yeterli değildir.
2. RDP ve Uzak Erişim Açıkları
İnternete açık RDP (Remote Desktop Protocol) portları, brute-force saldırıları için birincil hedeftir. Zayıf parolalar veya MFA eksikliği bu saldırıları kolaylaştırır. RDP portunu (3389/tcp) doğrudan internete açmak büyük bir güvenlik riskidir.
3. Yazılım Güvenlik Açıkları
Yamalanmamış sistemler, bilinen güvenlik açıkları (CVE'ler) üzerinden istismar edilir. Özellikle VPN cihazları, e-posta sunucuları ve web uygulamalarındaki açıklar hedef alınır.
Proaktif Savunma Stratejileri
Ağ Segmentasyonu
Ağınızı mantıksal bölümlere ayırarak ransomware'in yayılmasını sınırlandırabilirsiniz. VLAN'lar ve firewall kuralları ile kritik sistemleri izole edin:
# iptables ile kritik sunucu segmentine erişimi kısıtlama
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.50.0/24 -j DROP
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.50.0/24 -p tcp --dport 443 -j ACCEPT
# Yalnızca belirli portlara ve kaynaklardan erişime izin verme
iptables -A INPUT -s 10.0.1.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
Yedekleme Stratejisi: 3-2-1-1 Kuralı
Geleneksel 3-2-1 kuralına bir adım daha ekleyerek ransomware'e karşı daha dayanıklı bir yedekleme stratejisi oluşturun:
- 3 kopya veri tutun
- 2 farklı ortamda saklayın (disk + tape/bulut)
- 1 kopya offsite (uzak lokasyon) olsun
- 1 kopya immutable (değiştirilemez) olsun
Linux sistemlerde otomatik yedekleme için bir örnek bash script:
#!/bin/bash
# Ransomware-resistant backup script
BACKUP_DATE=$(date +%Y-%m-%d_%H%M)
SOURCE_DIR="/var/data/critical"
BACKUP_DIR="/mnt/backup/immutable"
REMOTE_DEST="s3://company-backup-vault/daily"
# Yerel immutable yedek oluştur
tar -czf "${BACKUP_DIR}/backup_${BACKUP_DATE}.tar.gz" "$SOURCE_DIR"
# Dosyayı immutable yap (chattr ile değiştirilemez bayrak)
chattr +i "${BACKUP_DIR}/backup_${BACKUP_DATE}.tar.gz"
# AWS S3 Object Lock ile buluta yükle (WORM - Write Once Read Many)
aws s3 cp "${BACKUP_DIR}/backup_${BACKUP_DATE}.tar.gz" \
"${REMOTE_DEST}/backup_${BACKUP_DATE}.tar.gz" \
--object-lock-mode COMPLIANCE \
--object-lock-retain-until-date "$(date -d '+90 days' --iso-8601=seconds)"
# SHA-256 hash ile bütünlük doğrulaması
sha256sum "${BACKUP_DIR}/backup_${BACKUP_DATE}.tar.gz" >> "${BACKUP_DIR}/checksums.txt"
echo "[$(date)] Yedekleme tamamlandı: backup_${BACKUP_DATE}.tar.gz"
Endpoint Detection and Response (EDR) Yapılandırması
Modern EDR çözümleri ransomware davranışlarını tespit edebilir. Özellikle şu davranış kalıplarını izleyin:
- Kısa sürede çok sayıda dosya uzantısı değişikliği
- Shadow copy (VSS) silme girişimleri
- Toplu dosya şifreleme aktivitesi
- Bilinen ransomware fidye notu dosya adları (README.txt, DECRYPT_FILES.html vb.)
- PowerShell veya WMI üzerinden şüpheli komut çalıştırma
Windows Sistemlerde Saldırı Yüzeyini Azaltma
Windows ortamlarında Group Policy ile kritik ayarları yapılandırın:
# PowerShell ile ASR (Attack Surface Reduction) kurallarını etkinleştirme
# Ransomware koruması için önerilen ASR kuralları
# Fidye yazılım koruması
Set-MpPreference -AttackSurfaceReductionRules_Ids "c1db55ab-c21a-4637-bb3f-a12568109d35" `
-AttackSurfaceReductionRules_Actions Enabled
# Office uygulamalarının child process oluşturmasını engelleme
Set-MpPreference -AttackSurfaceReductionRules_Ids "d4f940ab-401b-4efc-aadc-ad5f3c50688a" `
-AttackSurfaceReductionRules_Actions Enabled
# Kontrollü Klasör Erişimini etkinleştirme
Set-MpPreference -EnableControlledFolderAccess Enabled
Add-MpPreference -ControlledFolderAccessProtectedFolders "C:\CriticalData"
Ağ İzleme ve Erken Uyarı Sistemleri
Ransomware saldırılarını erken aşamada tespit etmek için ağ trafiğini sürekli izlemek gerekir. SIEM (Security Information and Event Management) sistemleri bu konuda kritik rol oynar.
Aşağıda, dosya sistemi aktivitelerini izleyen basit bir Python izleme aracı örneği verilmiştir:
import os
import time
import hashlib
from pathlib import Path
from collections import defaultdict
class RansomwareDetector:
def __init__(self, watch_dirs, threshold=50, interval=10):
self.watch_dirs = watch_dirs
self.threshold = threshold # Süre aralığında max değişiklik sayısı
self.interval = interval # İzleme aralığı (saniye)
self.file_hashes = {}
self.initialize_hashes()
def initialize_hashes(self):
for watch_dir in self.watch_dirs:
for filepath in Path(watch_dir).rglob('*'):
if filepath.is_file():
self.file_hashes[str(filepath)] = self._get_hash(filepath)
def _get_hash(self, filepath):
try:
return hashlib.md5(filepath.read_bytes()).hexdigest()
except (PermissionError, FileNotFoundError):
return None
def check_changes(self):
changes = defaultdict(int)
suspicious_extensions = set()
for watch_dir in self.watch_dirs:
for filepath in Path(watch_dir).rglob('*'):
if not filepath.is_file():
continue
str_path = str(filepath)
current_hash = self._get_hash(filepath)
if str_path in self.file_hashes:
if self.file_hashes[str_path] != current_hash:
changes['modified'] += 1
if filepath.suffix in ('.encrypted', '.locked', '.crypto'):
suspicious_extensions.add(filepath.suffix)
else:
changes['created'] += 1
self.file_hashes[str_path] = current_hash
total = changes['modified'] + changes['created']
if total > self.threshold or suspicious_extensions:
self._trigger_alert(total, suspicious_extensions)
def _trigger_alert(self, count, extensions):
alert = f"[UYARI] {count} dosya değişikliği tespit edildi!"
if extensions:
alert += f" Şüpheli uzantılar: {extensions}"
print(alert)
# Burada SIEM'e log gönderme, e-posta veya SMS uyarısı eklenebilir
detector = RansomwareDetector(
watch_dirs=['/var/data', '/home'],
threshold=30,
interval=5
)
Olay Müdahale Planı (Incident Response)
Ransomware saldırısı gerçekleştiğinde hızlı ve organize bir müdahale kritiktir. Aşağıdaki adımları önceden planlayın:
- Tespit ve İzolasyon (0-1 saat): Etkilenen sistemleri ağdan hemen izole edin. Ağ kablosunu çıkarın veya switch portunu devre dışı bırakın. Wi-Fi bağlantılarını kapatın.
- Kapsam Değerlendirmesi (1-4 saat): Hangi sistemlerin etkilendiğini, hangi ransomware ailesinin kullanıldığını ve saldırının giriş noktasını belirleyin.
- Kanıt Toplama (Paralel): Adli analiz için bellek dökümü, disk imajı ve ağ loglarını koruma altına alın.
- Kurtarma: Temiz yedeklerden geri yükleme yapın. Yedeklerin enfekte olmadığını doğrulayın.
- Güçlendirme: Saldırı vektörünü kapatın, tüm parolaları sıfırlayın ve yamaları uygulayın.
Kritik Güvenlik Kontrol Listesi
Aşağıdaki kontrol listesi, organizasyonunuzun ransomware'e karşı hazırlık seviyesini değerlendirmenize yardımcı olacaktır:
- Kimlik ve Erişim: Tüm uzak erişim noktalarında MFA (Çok Faktörlü Kimlik Doğrulama) aktif mi?
- Yama Yönetimi: Kritik güvenlik yamaları 72 saat içinde uygulanıyor mu?
- Yedekleme: Yedekler düzenli olarak test ediliyor mu? Immutable yedek mevcut mu?
- Ağ: Ağ segmentasyonu uygulanıyor mu? Gereksiz portlar kapalı mı?
- Ayrıcalık Yönetimi: En az yetki prensibi (Least Privilege) uygulanıyor mu?
- E-posta Güvenliği: SPF, DKIM ve DMARC yapılandırılmış mı? Makro çalıştırma kısıtlı mı?
- İzleme: 7/24 güvenlik izleme ve uyarı mekanizması var mı?
- Eğitim: Çalışanlara düzenli olarak phishing simülasyonu ve güvenlik eğitimi veriliyor mu?
- Olay Müdahale: Güncel ve test edilmiş bir olay müdahale planı mevcut mu?
Sonuç ve Öneriler
Ransomware saldırıları giderek daha sofistike hale gelmektedir. Fidye ödemek asla tavsiye edilmez — ödeme yapmanız verilerinizin geri alınacağını garanti etmez ve saldırganları teşvik eder. Bunun yerine, proaktif savunma katmanları oluşturmaya, düzenli yedekleme yapmaya ve olay müdahale planınızı güncel tutmaya odaklanın. Güvenlik bir ürün değil, sürekli bir süreçtir. Düzenli güvenlik denetimleri, penetrasyon testleri ve tehdit istihbaratı takibi ile savunmanızı sürekli güçlendirin.