Modbus Neden Hâlâ Kimliksiz Konuşuyor: OT Protokollerinde “Güvenlik Sonradan Eklendi” Problemi
1979'da doğmuş bir protokol, 2020'lerin fabrikalarını, enerji santrallerini ve su tesislerini hâlâ yönetiyor. Ve varsayılan hâliyle karşısındakinin kim olduğunu hiç sormuyor.

İçindekiler
Bilişim güvenliğiyle uğraşan biri Modbus’a ilk baktığında genelde aynı tepkiyi verir: “Kimlik doğrulama nerede?” Cevap kısa: yok. Ve bu bir hata değil, bir dönemin tasarım tercihi. Modbus 1979’da, kapalı bir fabrika ağında iki cihazın konuşması için tasarlandı. O ağda “düşman” kavramı yoktu; fiziksel güvenlik yeterliydi. Sorun, o protokolün 40 yıl sonra internete bağlı OT ağlarında hâlâ birebir aynı mantıkla çalışıyor olması.
Bu yazı, OT güvenliğinin en temel gerçeğini tek bir protokol üzerinden anlatıyor: güvenlik sonradan eklenemeyecek kadar derine gömüldüğünde ne oluyor.
Modbus nasıl çalışır (ve neyi hiç yapmaz)
Modbus basit bir master–slave (istemci–sunucu) protokolüdür. Master bir istek gönderir, slave cevap verir. İstekte üç temel bilgi vardır: hedef cihazın Unit ID’si, ne yapılacağını söyleyen fonksiyon kodu ve adres/veri. Örneğin Read Holding Registers (FC 03) veri okur, Write Single Register (FC 06) tek bir register’a yazar.
Protokolün yapmadıkları ise şunlar:
- Kimlik doğrulama yok: master’ın gerçekten yetkili olup olmadığını kimse doğrulamaz.
- Şifreleme yok: tüm trafik açık; dinleyen herkes okur.
- Bütünlük kontrolü yok: mesajın yolda değiştirilip değiştirilmediği anlaşılmaz (RTU’daki CRC yalnızca hat gürültüsüne karşıdır, saldırıya karşı değil).
- Oturum yönetimi yok: her istek bağımsızdır; “kim, ne zaman, kaç kez” bilgisi tutulmaz.
Sonuç net: ağa erişebilen herkes, yetkili bir master gibi davranıp bir PLC’ye komut yazabilir. Bir vanayı açtırabilir, bir motorun devrini değiştirebilir, bir alarmı susturabilir.
“Ama ağ kapalı” savunmasının çöküşü
OT tarafında en sık duyduğum cümle: “Bizim ağ zaten internete kapalı.” Pratikte bu neredeyse hiç tam doğru değildir. Bakım için uzaktan erişim, mühendislik istasyonundan gelen köprüler, yanlış yapılandırılmış bir güvenlik duvarı, USB ile taşınan bir dosya — hava boşluğu (air gap) çoğu zaman efsanedir. Ve Modbus’ta tek bir ayağın ağa girmesi yeter, çünkü protokolün kendisi hiçbir ikinci savunma hattı sunmuyor.
İnternete açık Modbus cihazlarını tarayan servislerde binlerce açık 502 portu görünür. Bunların çoğu su, enerji ve bina otomasyonu sistemleridir.
Neden düzeltmek bu kadar zor?
IT tarafında bir protokolü güncellemek görece kolaydır; OT tarafında değil. Sebepler:
- Ömür: bir PLC 15–20 yıl sahada kalır. 2008’de kurulan sistem hâlâ çalışıyor.
- Kesinti maliyeti: üretim hattını durdurup firmware güncellemek milyonluk kayıp demek olabilir.
- Belirlenmişlik (determinism): OT’de milisaniyelik zamanlama kritik. Şifreleme eklemek gecikme yaratır, bu da süreci bozabilir.
- Sertifikasyon: emniyet kritik sistemlerde her değişiklik yeniden sertifikasyon gerektirebilir.
İşte bu yüzden güvenlik “sonradan eklenemiyor” — çünkü değişimin maliyeti, riskin kendisinden yüksek görünüyor.
Savunma tarafı: gerçekçi katmanlar
Protokolü değiştiremiyorsak, etrafını sarıyoruz:
- Ağ segmentasyonu: OT ağını IT’den ayır, Purdue modeline göre katmanla (serinin ayrı bir yazısında).
- Modbus/TCP Security: TLS destekli sürüm mümkünse devreye alınmalı — ama eski cihazlarda çoğu zaman mümkün değil.
- Tek yönlü diyot (data diode): kritik segmentten yalnızca dışarı veri akışına izin ver.
- Derin paket denetimi: OT-farkında güvenlik duvarları ile hangi fonksiyon kodunun kime izinli olduğunu filtrele.
- Pasif izleme: OT ağını dinleyip beklenmedik
Writekomutlarını yakala.
Adli bilişim açısı
Bir OT olayında “hangi komut, hangi kaynaktan, ne zaman geldi” sorusu delil demektir. Modbus’ta kimlik doğrulama olmadığı için, kaynağı belirlemenin tek yolu genelde ağ trafiğinin pcap kaydıdır. Bu yüzden OT ağlarında pasif kayıt (network tap + pcap) adli açıdan altın değerindedir — cihazın kendisi size kim olduğunu söylemeyecektir. CAN bus tarafında benzer bir “trafikten timeline çıkarma” konusunu serinin ayrı bir yazısında işliyorum.
Kapanış
Modbus’ın hikâyesi tek bir protokolün değil, tüm OT dünyasının hikâyesi: kapalı bir dünya için tasarlanmış sistemlerin açık bir dünyaya taşınması. Çözüm protokolü suçlamak değil, onu hangi varsayımlarla tasarlandığını bilerek doğru katmanlarla sarmak. Ve bir olay olduğunda, bu protokollerin bize kanıt bırakmadığını baştan kabul edip izlemeyi ağ katmanına taşımak.
Bu içerik eğitim ve savunma amaçlıdır.