Bu hafta çıkan ortak uyarıyı okuyunca içimden 'işte bu' dedim ya, hiç şaşırmadım da değildim aslında 😅 NSA, CISA, FBI, DOE ve EPA'nın birlikte imzaladığı bir advisory bu, üstelik Siemens S7 serisi PLC'lerin AI ile üretilmiş exploit scriptleriyle hedef alındığını söylüyor. PLC dediğimiz şey fabrikalardaki, su arıtma tesislerindeki, enerji santrallerindeki fiziksel süreçleri yöneten endüstriyel bilgisayar; yani burada laptop çalınmıyor, valf açılıyor kapanıyor.
Neden bu haber farklı
AI destekli saldırı lafını duyunca insanın aklına phishing mailleri falan geliyor ama burada durum biraz daha somut. Saldırganlar snap7.dll ve python-snap7 kütüphanelerini kullanarak S7comm protokolü üzerinden PLC belleğine, konfigürasyonuna, ladder logic programlarına okuma yazma erişimi sağlayan araçlar üretmiş — ve bunları meşru OT (operational technology, yani endüstriyel kontrol sistemleri) izleme yazılımı gibi göstermişler. AI'nın burada rolü, bu scriptlerin geliştirilme hızını ve erişilebilirliğini artırmış olması.
Threat model neden bozuluyor
Geleneksel OT threat modeling'de varsayım şuydu: saldırgan tarafı yavaş, air-gap (fiziksel ağ izolasyonu) var, exploit geliştirmek zaman alır. AI ajanı bu varsayımların ikisini de deliyor. Censys ve ZoomEye gibi tarama servisleriyle internete açık PLC bulmak zaten kolaydı, şimdi zayıf noktayı bulup ona özel script yazmak da otomatikleşti. Sandbox kırma dediğimiz şey burada literal bir kum havuzu değil, AI ajanının 'sadece kod önerisi ver' sınırından çıkıp fiilen çalışan, disguise edilmiş bir araç üretmesi.
Kendi lab ortamımda gördüğüm şey
S7comm trafiğini kendi test kümemde Wireshark ile izlerken, kimlik doğrulama neredeyse yok denecek kadar zayıf çıktı — bu yeni bir keşif değil, protokolün eski tasarımından kaynaklanıyor. Basit bir bağlantı denemesinde bile şuna benzer bir hata çıktısı alabiliyorsunuz:
snap7.snap7exceptions.Snap7Exception: b'CLI : Cannot connect to 192.168[.]1[.]100:102 : No route to host'
File "snap7/client.py", line 142, in connect
self.set_connection_params(address, ...)
snap7.snap7exceptions.Snap7Exception: TCP : SYS : Connection refused
Bu çıktı basit bir bağlantı hatası gibi görünüyor ama gösterdiği şey şu: cihaz internete açıksa bu hata hiç oluşmuyor, direkt konuşmaya başlıyorsunuz.
Patch window sorunu
Bu sistemlerde downtime maliyeti yüksek olduğu için patch cycle genelde aylarla, bazen yıllarla ölçülüyor. S7-200'den S7-1500'e kadar geniş bir yelpaze hedefte, yani eski cihazlar zaten update almıyor bile.
Somut adımlar
Envanter çıkar, internet erişimini kes, access control'ü sıkılaştır, anormal S7comm trafiğini izle. Basit bir tarama komutu bile ortamı anlamaya yardımcı olur:
nmap -p 102 --script s7-info 192.168[.]1[.]0/24
Bu port 102 taraması, ağınızda kaç tane S7 cihazının dışarıdan görünür durumda olduğunu gösteriyor — sürpriz genelde hoş olmuyor.
Son söz yerine bir gözlem
AI'nın burada yaptığı şey saldırıyı icat etmek değil, var olan zayıflığı erişilebilir kılmak. Patch olmayan bir dünyada bu fark, savunma tarafında hâlâ aynı temel işleri — segmentasyon, izleme, envanter — çok daha aciliyetle yapmamız gerektiği anlamına geliyor.
