İçeriğe geç
Sedat Özdemir
Yazılar

ics

Fabrika Ayarlarını Bozmak: OT Güvenliğinde 'Modern' Çözümler Neden Patlıyor?

Endüstriyel sistemleri koruyalım derken tüm fabrikayı durdurmak? IT dünyasının araçlarını düşünmeden OT'ye taşımak sadece hata değil, bir güvenlik felaketidir. Gelin, sahadaki acı gerçekleri konuşalım.

Sedat Özdemir
· 4 dk okuma

Hadi açık konuşalım; sektördeki herkesin ağzında bir 'IT/OT Convergence' (IT ve OT'nin birleşmesi) lafı sakız olmuş durumda. Güvenlik firmaları da bu rüzgarı arkasına alıp, ofis ortamındaki Windows laptopları korumak için tasarladıkları 'next-gen' EDR'ları, agresif vulnerability scanner'ları sanki birer mucizeymiş gibi fabrikaların kalbine, PLC'lerin (Programmable Logic Controller) olduğu networklere sokmaya çalışıyorlar.

Şunu net söyleyeyim: Eğer birisi size gelip 'Nessus ile fabrikayı tarayalım, tüm açıkları buluruz' diyorsa, o kişiyi nazikçe (ya da değil) server odasından dışarı çıkarın. Neden mi? Çünkü o 'modern' ve 'akıllı' dediğiniz tarayıcı, 1995 yılından kalma, nefes alsa çökecek olan bir Schneider ya da Siemens PLC'ye tek bir 'malformed' paket gönderdiğinde, sadece güvenliği test etmiş olmazsınız; tüm üretim bandını durdurup milyon dolarlık zarara yol açarsınız. OT (Operational Technology) dünyasında 'availability' her şeydir, IT'den alışık olduğunuz 'confidentiality' burada ikinci planda kalır.

Hava Boşluğu (Air-Gap) Bir Şehir Efsanesidir

Sahada en çok duyduğum yalanlardan biri: 'Sedat bey, bizim sistemler internete kapalı, hava boşluğu (air-gap) var.'

Arkadaşlar, 2024 yılındayız. O 'hava boşluğu' dediğiniz şey genellikle bir bakım mühendisinin PLC'ye program yüklemek için taktığı 'temiz' sandığı USB bellekten, ya da dışarıdan destek veren bir firmanın TeamViewer ile bağlandığı o 'arada kalan' bilgisayardan ibaret. Stuxnet bize şunu öğretti: Fiziksel izolasyon bir illüzyondur. Eğer bir sisteme veri girişi yapılabiliyorsa, o sistem hacklenebilir.

OT güvenliğinde asıl mesele, sistemin ne kadar izole olduğu değil, sistemin içine sızıldığında saldırganın ne kadar 'gürültü' yapabildiğidir. IT networklerinde yanal hareket (lateral movement) yapmak için kullanılan araçlar, OT'de genellikle sistemin tamamen kilitlenmesine yol açar.

Teknik Detay: Modbus Neden Baş Belası?

Endüstriyel protokollerin çoğu (Modbus, Profinet, EtherNet/IP) güvenlik düşünülerek tasarlanmadı. Modbus/TCP, 502 portunda çalışır ve temelde hiçbir kimlik doğrulama mekanizması içermez. Yani ağa erişen herkes, bir PLC'ye 'dur' diyebilir ya da içindeki register değerlerini değiştirebilir.

Örnek bir Modbus paket yapısını (zararsızlaştırılmış/defanged) inceleyelim:

# Pseudo-kod: Bir PLC register'ına yazma isteği
# Bu işlem OT ortamında kritik bir vanayı açıp kapatabilir.

from scapy.all import *

# Defanged IP ve port
target_plc = "127.0.0.1" 
target_port = 502

# Modbus ADU (Application Data Unit)
# Transaction ID: 0x0001, Protocol: 0x0000, Length: 0x0006, Unit ID: 0x01
# Function Code: 0x06 (Write Single Register), Reference: 0x0001, Value: 0xff00
modbus_payload = "\x00\x01\x00\x00\x00\x06\x01\x06\x00\x01\xff\x00"

# Bu paketi gönderdiğinizde PLC'ye 'şu ayarı değiştir' demiş olursunuz.
# Kimlik doğrulama? Yok. Şifreleme? Hak getire.

Bir Red Teamer olarak testCompany'de bu tür sistemleri incelerken, asla agresif tarama yapmayız. Bunun yerine, trafiği pasif olarak dinler (Sniffing), ağdaki asset'leri 'Wireshark' gibi araçlarla trafiğin akışından tespit ederiz.

Yanlış vs. Doğru Keşif Yöntemi

Yanlış olan (Tehlikeli): nmap -sV -T4 -A 127.0.0.1 Bu komut, hedefteki PLC'nin ne olduğunu anlamak için binlerce paket gönderir. PLC bu trafiği 'Denial of Service' (DoS) saldırısı olarak algılayıp kendini güvenli moda (stop state) alabilir.

Doğru olan (Güvenli/OT-Dostu): nmap -sS -p 502,102,44818 --max-rate 10 127.0.0.1 Burada hızı düşürüyoruz, sadece spesifik OT portlarını sorguluyoruz ve 'banner grabbing' gibi agresif yöntemlerden kaçınıyoruz.

Savunma Stratejisi: Ne Yapmalı?

Sadece 'tool' satın alarak OT güvenliğini sağlayamazsınız. İşte sahada gerçekten çalışan birkaç tavsiye:

  1. Purdue Modeli'ni Uygulayın: Ağınızı katmanlara bölün. Level 0 (Sensörler) ile Level 4 (Kurumsal Ağ) arasında mutlaka sağlam bir firewall ve tercihen bir DMZ olsun. Kurumsal ağdaki bir fidye yazılımı (ransomware), üretim bandındaki bir PLC'ye 'ping' atamamalı.
  2. Pasif İzleme (Passive Monitoring): Ağın ortasına bir TAP veya SPAN portu koyun. Trafiği kopyalayıp bir IDS (Intrusion Detection System) üzerinden geçirin. Paketleri durdurmayın, sadece izleyin ve anormal bir 'Write' komutu geldiğinde alarm üretin.
  3. Endpoint Güvenliği (Kritik Noktalarda): Eğer HMI (Human Machine Interface) terminalleri Windows XP/7 gibi antik çağlardan kalmaysa (ki genelde öyledir), bunlara ağır EDR'lar kurmak yerine 'application whitelisting' yapın. Sadece mühendisin kullandığı yazılım çalışsın, geri kalan her şey yasak olsun.

Örnek bir Suricata kuralı (Zararsızlaştırılmış):

# Yetkisiz bir IP'den PLC'ye gelen 'Write' isteğini yakala
alert tcp ![192.168.10.0/24] any -> 127.0.0.1 502 (msg:"UNAUTHORIZED MODBUS WRITE ATTEMPT"; content:"|06|"; offset:7; depth:1; sid:1000001; rev:1;)

Son Söz Yerine

Endüstriyel siber güvenlik, havalı dashboard'lardan veya milyon dolarlık 'box'lardan ibaret değil. Sahadaki o tozlu kontrol panolarının dilini anlamakla başlar. Bir gün fabrikada bir PLC kilitlendiğinde 'Hangi hacker sızdı?' diye paniklemek yerine, 'Az önce yanlışlıkla nmap taraması mı yaptım?' diye kendinizi sorgulamak istemiyorsanız, OT'nin kurallarını IT'den ayırmayı öğrenmelisiniz.

Unutmayın, IT'de bir hata yaparsanız e-postalar 10 dakika geç gider; OT'de bir hata yaparsanız fiziksel zarar, çevre felaketi ya da daha kötüsüyle karşılaşırsınız. Kendinize iyi bakın, güvenli (ve stabil) kalın.

İlgili yazılar