Endüstriyel haberleşme protokolleri: Modbus TCP ve Profinet açık metin zafiyetleri, şifreleme yöntemleri ve derin paket inceleme (DPI) kuralları burada.
Hızlı Özet (TL;DR)
Üretim sahasının (OT) belkemiğini oluşturan Modbus TCP ve Profinet gibi endüstriyel haberleşme protokolleri, siber tehditlerin ve kurumsal ağ entegrasyonlarının henüz var olmadığı 1970’li ve 1990’lı yılların “güvenilir kapalı devre (Air-Gapped)” tasarım felsefesine dayanır. Bu protokollerin standart sürümlerinde kimlik doğrulama (Authentication), oturum şifrelemesi (Encryption) veya kriptografik veri bütünlüğü (Integrity) denetimi bulunmaz; ağ üzerindeki tüm sensör okumaları ve aktüatör/vana komutları tamamen açık metin (Cleartext) olarak akar. Fabrika ağına sızan bir saldırgan veya zararlı yazılım, tek bir parola bile kırmadan sahte paketler enjekte ederek (Command Injection / Spoofing) PLC’yi durdurabilir, fırın sıcaklıklarını değiştirebilir veya robotik hattı kilitleyebilir. Çözüm; OT ağlarını izole VLAN ve güvenlik bölgelerine ayırmak, destekleyen cihazlarda Modbus Security (TLS 802) veya OPC UA standardına geçmek ve PLC’lerin önüne endüstriyel Derin Paket İnceleme (DPI) güvenlik duvarları yerleştirmektir.
Endüstriyel Protokoller Neden Tasarım Gereği Güvensizdir (Insecure by Design)?
Modicon tarafından 1979 yılında seri hatlar (RS-232/RS-485) için geliştirilen Modbus protokolü ve Siemens öncülüğünde endüstriyel Ethernet standardı haline gelen Profinet, tek bir mühendislik hedefine odaklanmıştır: Deterministik hız, düşük gecikme (Low Latency) ve kesintisiz kararlılık.
Bir PLC’nin 1 milisaniye içinde acil durdurma valfine sinyal göndermesi veya servo sürücüye pozisyon bildirmesi gerektiğinde, o dönemin 8-bit/16-bit mikrodenetleyicileri üzerinde RSA/AES şifreleme yapmak veya kullanıcı adı/parola doğrulamak işlemciyi kilitleyeceği için güvenlik katmanı bilinçli olarak sıfırlanmıştır. Ancak bugün Endüstri 4.0, CNC Makine Veri Toplama ve ERP/MES entegrasyonu kapsamında bu PLC’ler fabrika yerel ağına (LAN) bağlandığında, “gelen her komuta koşulsuz itaat eden” bu mimari devasa bir siber güvenlik riskine dönüşmektedir.
Modbus TCP ve Profinet Güvenlik Analiz Tablosu
Sahada en yaygın kullanılan klasik ve modern endüstriyel otomasyon protokollerinin siber güvenlik mimarisi açısından karşılaştırması aşağıdadır:
| Protokol | Varsayılan Port / Katman | Şifreleme (Encryption) | Kimlik Doğrulama (Auth) | En Büyük Siber Güvenlik Zafiyeti | Önerilen Saha Koruma Yöntemi |
|---|---|---|---|---|---|
| Modbus TCP | TCP 502 (Katman 7) | Yok (Tamamen açık metin) | Yok (IP’ye ulaşan herkes komut yazar) | Araya girme (MitM) ile sahte bobin/register (FC 05/06/16) yazma | Endüstriyel Firewall DPI ile fonksiyon kodu filtreleme |
| Profinet RT / IRT | Katman 2 (Ethernet EtherType 0x8892) | Yok (Açık Ethernet çerçevesi) | Yok (MAC ve Cihaz Adı tabanlı) | DCP paketleriyle PLC IP/isim sıfırlama, ARP zehirleme ve DoS | Yönetilebilir Switch’te Port Security, DAI ve Profinet Security Sınıf 1/2/3 |
| Modbus TCP Security | TCP 802 (TLS Üzerinden) | TLS 1.2 / 1.3 (Kriptografik) | X.509 Dijital Sertifikaları + Rol Tabanlı (RBAC) | Eski PLC ve sensörlerin TLS işlem gücünü desteklememesi | Destekleyen yeni nesil kontrolcülerde mTLS zorunluluğu |
| OPC UA (Güvenli Mod) | TCP 4840 | AES-128 / AES-256 İmzalı ve Şifreli | Kullanıcı/Parola + X.509 Uygulama Sertifikası | Yanlışlıkla SecurityMode: None seçilerek devreye alınması | SignAndEncrypt modunun zorunlu kılınması ve sertifika otoritesi |
Modbus TCP Mimarisi ve Kritik Fonksiyon Kodu (Function Code) Zafiyetleri
Modbus TCP paketi, standart bir TCP/IP paketinin içine yerleştirilmiş MBAP (Modbus Application Protocol) Başlığı ve PDU (Protocol Data Unit) yapısından oluşur. PDU’nun içindeki en kritik alan 1 baytlık Fonksiyon Kodu (Function Code - FC) alanıdır.
PLC, TCP 502 portundan gelen paketin kimden geldiğini sorgulamaz; paketin içindeki Fonksiyon Koduna bakar ve emri derhal yerine getirir:
- Okuma Komutları (FC 01, 02, 03, 04): Bobin (Coil) durumlarını ve tutucu kayıtları (Holding Registers) okumak için kullanılır. Saldırgan bu komutlarla reçete gizli parametrelerini ve üretim sayılarını çalabilir (Keşif / Reconnaissance).
- Yazma Komutları (FC 05, 06, 15, 16):
FC 05 (Write Single Coil)bir çıkışı (örneğin soğutma pompasını veya emniyet kilidini) anında açıp kapatır.FC 06 (Write Single Register)veFC 16 (Write Multiple Registers)ise PLC’nin hafızasındaki sıcaklık, basınç veya hız set değerlerini doğrudan değiştirir. - Tanılama ve Sıfırlama Komutları (FC 08, 17, 43):
FC 08 (Diagnostics)içindeki alt fonksiyonlarla PLC’nin haberleşme sayacı sıfırlanabilir veya cihaz “Sadece Dinleme Moduna (Force Listen Only Mode)” sokularak SCADA ile bağlantısı tamamen koparılabilir.
Profinet RT/IRT Protokolünde Katman 2 ve DCP Saldırıları
Siemens S7-1200, S7-1500 ve ET200 serisi dağıtık G/Ç ünitelerinde kullanılan Profinet, yüksek hız gereksinimi nedeniyle TCP/IP yığınını bile atlayarak doğrudan OSI Katman 2 (Data Link Layer) üzerinde çalışır. Bu durum klasik IP güvenlik duvarlarının Profinet paketlerini görememesine yol açar.
Profinet ağlarındaki en tehlikeli zafiyet DCP (Discovery and Basic Configuration Protocol) mekanizmasıdır. Mühendislik yazılımları (TIA Portal vb.), ağdaki PLC’leri bulmak, onlara IP adresi atamak veya “Fabrika Ayarlarına Sıfırla (Reset to Factory)” komutu göndermek için çoklu yayın (Multicast) DCP çerçeveleri kullanır. Aynı switch (VLAN) içerisine sızan bir saldırgan, tek bir sahte DCP paketi yayınlayarak çalışan bir üretim hattındaki PLC’nin Cihaz Adını (Device Name) veya IP adresini değiştirebilir; bu anda PLC ile uzak I/O istasyonları arasındaki döngüsel haberleşme kopar ve hat acil duruşa geçer.
Araya Girme (Man-in-the-Middle) Saldırısı Sahada Nasıl Gerçekleşir ve Nasıl Önlenir?
Standart bir Modbus TCP veya Profinet ağında HMI operatör paneli ve SCADA sunucusunun PLC’den kazan sıcaklığını ve basıncını okuduğu gerçek bir endüstriyel senaryoyu inceleyelim:
- ARP Zehirlemesi (ARP Spoofing): Aynı düz ağa (Flat Network) bağlanan saldırgan veya virüslü bir bilgisayar, switch üzerindeki ARP tablolarını zehirleyerek PLC’ye “Ben SCADA sunucusuyum”, SCADA sunucusuna ise “Ben PLC’yim” der.
- Sahte Telemetri Gösterimi (Replay / Manipulation): PLC’den gelen gerçek kazan sıcaklığı 240°C (tehlikeli sınır) iken, saldırgan paketi havada değiştirerek SCADA ekranına “110°C (normal değer)” olarak iletir.
- Fiziksel Hasar: Operatör her şeyin normal olduğunu düşünürken veya otomatik kontrol döngüsü kazanın soğuduğunu zannederek brülörleri %100 kapasiteyle çalıştırmaya devam ederken fiziksel patlama veya yangın riski doğar.
Switch ve Ağ Katmanında Zorunlu Koruma Önlemleri
Bu felaketi önlemek için üretim sahasında ucuz, yönetilemez (Unmanaged) masaüstü switch’ler kesinlikle kullanılmamalı; yerine endüstriyel yönetilebilir (Managed) switch’ler konularak şu üç özellik aktif edilmelidir:
- DHCP Snooping: Ağda yalnızca yetkili güvenlik duvarının IP dağıtmasına izin verir, sahte DHCP sunucularını engeller.
- Dynamic ARP Inspection (DAI): Switch portlarından gelen ARP paketlerini doğrular; IP-MAC eşleşmesi uyuşmayan sahte ARP zehirleme paketlerini donanım seviyesinde düşürür.
- 802.1X ve MAC/Port Security: Saha switch’inin boş bir portuna yabancı bir dizüstü bilgisayar takıldığında port otomatik olarak kendini kapatır (Err-Disable).
Derin Paket İnceleme (DPI) ile Fonksiyon Kodu Sınırlama
Üretim veri toplama sunucuları (MES / OEE) veya enerji izleme yazılımları PLC’lerden yalnızca veri okumalıdır; PLC’ye asla değer yazmamalıdır. Standart bir güvenlik duvarı sadece “TCP 502 portuna izin ver” dediğinde hem okumaya hem yazmaya kapı açar.
Oysa OT destekli Derin Paket İnceleme (Deep Packet Inspection - DPI) güvenlik duvarı kurulduğunda, güvenlik duvarı TCP 502 paketinin başlığını açar ve içindeki Modbus fonksiyon kodunu denetler:
- İzin Verilen Kural:
Kaynak: MES_Sunucusu -> Hedef: PLC_Grubu -> Protokol: Modbus -> Function Code: 03, 04 (Sadece Okuma) -> İZİN VER (Allow) - Engellenen Kural:
Kaynak: MES_Sunucusu -> Hedef: PLC_Grubu -> Protokol: Modbus -> Function Code: 05, 06, 08, 15, 16 (Yazma ve Sıfırlama) -> ENGELLE VE ALARM ÜRET (Drop & Alert)
Böylece MES sunucusu siber saldırıya uğrasa ve ele geçirilse dahi, saldırgan o sunucu üzerinden PLC’lere tek bir yazma komutu bile gönderemez.
Endüstriyel ağlarınızdaki Modbus, Profinet ve OPC UA protokol açıklarını kapatmak, OT VLAN segmentasyonu ve DPI filtreleme kurmak için Güvenlik Duvarı Firewall ve Savunma Sanayii ve İmalat Ağ Güvenliği sayfalarımızı inceleyebilir, üretim sahası zafiyet analizi için Sızma Testi ve Pentest hizmetlerimizden faydalanabilirsiniz.
Sıkça Sorulan Sorular
Mevcut çalışan PLC’lerimizi değiştirmeden Modbus TCP trafiğini şifreleyebilir miyiz?
Evet. Sahadaki eski nesil PLC’ler yerleşik olarak TLS (Modbus Security TCP 802) desteklemese bile, PLC’nin bulunduğu pano içine endüstriyel bir güvenlik yönlendiricisi veya kriptografik ağ geçidi (Industrial Security Appliance) yerleştirilerek trafik pano çıkışından itibaren TLS veya IPSec tüneli içine alınabilir. Böylece PLC kendi içinde standart TCP 502 konuşmaya devam ederken, fabrika omurgasında akan trafik tamamen şifrelenmiş olur.
Profinet ağında güvenlik duvarı kullanmak milisaniyelik çevrim sürelerini (RT/IRT) bozar mı?
Profinet RT (Real-Time) ve IRT (Isochronous Real-Time) trafiği, bir PLC ile ona bağlı servo sürücüler ve uzak I/O modülleri arasında gerçekleşir. Doğru OT ağ mimarisinde güvenlik duvarı PLC ile onun kendi sensör/servo modülleri arasına konulmaz; bu cihazlar aynı Hücre Bölgesi (Cell Zone) switch’inde kalır. Güvenlik duvarı, bu hücrenin üst katmandaki SCADA, MES ve fabrika ağıyla birleştiği sınır noktasına (Conduit) yerleştirilir; dolayısıyla makine içi gerçek zamanlı kontrol hızı hiç etkilenmez.
OPC UA protokolü kullanıyorsak ağımız otomatik olarak güvenli sayılır mı?
Hayır. OPC UA standardı çok güçlü AES şifreleme ve X.509 sertifika doğrulama yeteneklerine sahiptir ancak sahada devreye alma yapan otomasyon mühendisleri bağlantı kolaylığı olsun diye çoğu zaman güvenlik modunu None (Şifresiz) ve kimlik doğrulamayı Anonymous (Anonim) olarak bırakmaktadır. OPC UA’nın gerçekten güvenli olabilmesi için güvenlik politikasının Basic256Sha256 - SignAndEncrypt olarak zorunlu kılınması ve her istemcinin sertifikayla yetkilendirilmesi şarttır.