Endüstriyel Kontrol Sistemleri (ICS) ve Operasyonel Teknoloji (OT), üretim, enerji, ulaşım, su ve sağlık gibi çeşitli sektörlerde fiziksel süreçleri kontrol eden donanım ve yazılımı ifade eden terimlerdir. Bu sistemler genellikle ağlara bağlıdır ve işlevselliklerini ve güvenliklerini tehlikeye atabilecek siber saldırılara karşı savunmasız olabilirler.
ICS/OT sistemlerini izlemek ve korumak için kullanılan yöntemlerden biri de paket analizi yapmaktır. Paket analizi, bir ağ üzerindeki cihazlar arasında değiş tokuş edilen veri paketlerini yakalama, inceleme ve yorumlama işlemidir. Paket analizi, ICS/OT ağlarında anomalileri, kötü amaçlı faaliyetleri, yanlış yapılandırmaları ve performans sorunlarını tespit etmeye yardımcı olabilir.
Ancak, ICS/OT sistemleri için paket analizi, BT sistemlerindeki gibi değildir. ICS/OT sistemleri, BT sistemlerinden farklı protokoller, standartlar ve mimariler kullanır ve paketlerini analiz etmek için özelleştirilmiş araçlar ve beceriler gerektirir. Bu blog yazısında, ICS/OT paket analizi için en yaygın ve yararlı araçlardan bazılarını tanıtacağım ve size ICS/OT ağınıza nasıl görünürlük ve anlayış kazandırabileceklerini açıklayacağım.
1. Wireshark
Wireshark, ağ analizi ve sorun giderme için popüler ve güçlü bir araçtır. Çeşitli protokol ve uygulamalardan gelen paketleri yakalayabilir ve görüntüleyebilir, farklı kriterlere göre filtreleyebilir. Wireshark ayrıca paketlerin içindeki verileri de kodlayabilir ve yorumlayabilir, böylece ağda neler olduğunu anlamak kolaylaşır.
Ama Wireshark’ın endüstriyel kontrol sistemleri (ICS) ve denetleyici kontrol ve veri toplama (SCADA) ağlarını analiz etmek ve sorun gidermek için de kullanılabilir.
Wireshark’ı Modbus TCP, DNP3 ve OPC UA gibi bazı yaygın ICS/SCADA protokollerinden gelen paketleri yakalamak, filtrelemek ve analiz etmek için nasıl kullanacağınızı göstereceğim. Ayrıca, bu ağlarda sık karşılaşılan sorunları ve anomalileri tanımlamak ve teşhis etmek için size bazı ipuçları ve püf noktaları vereceğim. Bunlar arasında yanlış yapılandırmalar, iletişim hataları, yetkisiz erişimler ve siber saldırılar bulunmaktadır.
Adresinden “modbus_test_data_part1.pcap” dosyasını indirin ve wireshark ile açın:

mbtcp ile filtrelediğinizde sadece modbus paketlerini göreceksiniz :

TCP başlığını genişleterek, hedef bağlantı noktasını ve protokolünü görebiliriz (Port:502 ve Protokol: mbap).
Modbus/TCP alanına geldiğimizde ise değerleri oradan okuyacağız.
Daha fazla modbus filtresi için okla gösterilen simgeyi sağ tıklayarak “Display Filter Expression”a gidin. Modbus’ın TCP/IP uygulaması yerine Modbus protokolünde belirli alanlar arıyorsak, bu filtreleri kullanacağız.

Örnek vermek gerekirse:
modbus.diagnostic_code filtresi ile Tanılama Kodu = 4 veya “Yalnızca Dinlemeye Zorla Modu” olduğunu görebilirsiniz:

Modbus tanılama kodu 4, Slave cihazın (ana cihazın isteklerine yanıt veren cihaz) geri dönüşü olmayan bir hata ile karşılaştığını ve istenen işlevi yerine getiremediğini gösterir. Bu, bir donanım arızası, bir yazılım hatası, bir yapılandırma sorunu veya bir ağ sorunu nedeniyle olabilir. Bazı olası nedenler ve çözümler şunlardır:
- Slave cihazın güç kaynağını ve kablolamasını kontrol edin. Doğru şekilde bağlandığından ve yeterli voltaj aldığından emin olun.
- Slave cihazın iletişim ayarlarını kontrol edin. Ana cihazın ve ağın ayarlarıyla eşleştiğinden emin olun. Örneğin, baud hızı, parite, durdurma biti, adres ve zaman aşımı parametrelerini kontrol edin.
- Slave cihazın yazılım sürümünü kontrol edin. Modbus protokolü ve ana cihazla uyumlu olduğundan emin olun. Mümkünse, yazılımı en son sürüme güncelleyin veya kararlı bir sürüme geri dönün.
- Ana cihaz tarafından gönderilen isteğin işlev kodunu ve veri formatını kontrol edin. Slave cihaz tarafından desteklendiğinden ve modbus özelliklerine uyduğundan emin olun. Örneğin, kayıt adresini, miktarını ve değerini kontrol edin.
- Ağ topolojisini ve kablolarını kontrol edin. Fiziksel hasarlar, gevşek bağlantılar veya girişim kaynakları olmadığından emin olun. Mümkünse, gürültüyü ve yansımaları azaltmak için ekranlı kablolar ve sonlandırıcılar kullanın.
- Ağ yükünü ve trafiğini kontrol edin. Çarpışma, gecikme veya zaman aşımı olmadığından emin olun. Mümkünse, iletişimi izlemek ve tanılamak için bir ağ analizörü veya modbus simülatörü kullanın.
- Bu tanılama koduna sahip bu modbus çerçevesi, PLC’ye “Yalnızca Dinlemeye Zorla” için bir sinyal gönderdiği ve iletişim kurduğu aktüatörlere, alarmlara veya diğer PLC’lere veri göndermediği için çok sayıda SCADA DoS saldırısında kullanılmıştır. Sonuçlar felaket olabilir!
modbus.diagnostic_restart_communication_option(slave_address)
Burada slave_address, sıfırlanacak slave cihazın adresidir. Bu komutun cevabı yoktur, yani slave cihaz bu komuta cevap vermez. Sadece haberleşme ayarlarını sıfırlar ve yeni komutları bekler.
Bu komutun avantajı, haberleşme sorunlarını kolayca çözebilmesidir. Dezavantajı ise, slave cihazın haberleşme ayarlarını sıfırladığı için önceki verileri kaybedebilmesidir. Bu nedenle, bu komutu kullanmadan önce slave cihazın verilerini yedeklemek veya kaydetmek önemlidir.
Ayrıca DoS saldırısında da kullanılmaktadır. Dikkatli olmak gerekir!

Daha Fazlası için:

2. GrassMarlin:
Network trafiğini görselleştirip source ve destination bağlantılarını daha efektif görebileceğiniz bir uygulama. Wiresharkla birlikte kullabileceğiniz uygulama için geniş bir doküman da var ayrıca:
https://github.com/nsacyber/GRASSMARLIN/blob/master/GRASSMARLIN%20User%20Guide.pdf

Leave a Reply