top of page
  • Writer's pictureYusuf Yılmaz Akdemir

Secure PLC Coding | Leave operational logic in the PLC wherever feasible

Human Machine Interface(HMI)’lar endüstriyel prosesin büyüklüğüne bağlı olarak nadir kullanılan tek bir dokunmatik ekrandan 7/24 prensibine göre çalışan büyük ölçekli masa üstü iş istasyonlarına kadar değişebilen bunun yanı sıra kullanıcılara fiziksel operasyon süreçlerini izleyip kontrol edebildikleri bir ara yüz sunan endüstriyel kontrol sistemlerinin önemli bir parçasıdır.

Bazı üreticilerde HMI konfigürasyon programları kodlama yeteneği sağlar. Bu kodlama yeteneği operatör ve mühendislerin PLC de kalması gereken kodları HMI tarafında oluşturmasına olanak sağlamaktadır. HMI’larda yer alan kodlama yeteneğinin daha iyi anlaşılabilmesi için Siemens WinCC üzerinden örnek verilebilir. Bu HMI konfigürasyon programı kullanılarak fare ve klavye aksiyonlarına endüstriyel proses ile ilgili aktifleştirme, devre dışı bırakma, kilitleme gibi fonksiyonlar kolayca entegre edilebilir


Şekil 1 Fare ve Klavye Aksiyonları



Bunun yanı sıra programın sağladığı geniş kütüphaneler kullanılarak VB veya C komutları ile kodlar eklenebilir.

Şekil 2 C Dili Aksiyonları İçin Hazır Kütüphaneler



HMI’lar kontrol ve izleme için kritik bileşenlerdir. PLC ile çift yönlü bir haberleşme kurarlar ve sahadan alınan değerler genellikle önce PLC ye daha sonra PLC üzerinden endüstriyel protokoller ile HMI’lara gelir. Değerlerin mümkün olduğunca sahaya yakın hesaplanması bu hesaplamaları daha doğru hale getirecektir. Örneğin yük atma sistemlerinde en basit hali ile atılacak yük miktarı toplam tüketim miktarından toplam üretim miktarının çıkarılması ile hesaplanmaktadır. Bu hesap basit matematik işlemleri ile HMI üzerinden gösterilebilir ancak bu hesaplamaların PLC tarafında yapılıp HMI üzerinden sadece izlenmesi sağlanmalıdır. Ayrıca PLC ve HMI arasındaki zaman gecikmesi düşünüldüğünde ve kodlar sadece PLC tarafındayken HMI yeniden başladığında bütün değerler her zaman PLC üzerinden alınabilecektir. Hesaplama işlemlerinin yanı sıra özellikle HMI tarafında izinler, kitlemeler, bekletmeler gibi güvenlik ile alakalı işlevlercde HMI’da lojik yazmaktan kaçınılmalıdır. Bu tarz fonksiyonların PLC kontrolü dışında direk HMI üzerinden sahaya gönderilmesi bir saldırganın kolayca I/O manipülasyonu yapmasına sebep olacaktır.


Hesaplama ve komutların yanı sıra HMI’lar kullanıcılara farklı aksiyonlar için de olanak sağlar. Proses için belirlenmiş kritik alarmların eşik değerleri HMI üzerinden girilebilir. Örneğin, türbin trip değeri için belirlenen yüksek sıcaklık veya yüksek basınç eşik değerleri HMI da görüntülenebilir ancak kesinlikle PLC kodunun bir parçası olmalıdır. Bunun yanı sıra ardışık çalışacak motorlar için gecikme zamanlayıcısı, vananın açık/kapalı veya motorun durduğunu sayacak zamanlayıcı ayarlarıda HMI katmanında değil vana ve motorların kontrolünü yapan PLC katmanında yapılmalıdır.


HMI tarafında lojik işlemlere yer verilmemesi bu işlemlerin sadece PLC tarafında kalması sadece güvenlik açısından fayda sağlamayacaktır aynı zamanda bakım ve proses güvenilirliği açısından da faydalı olacaktır. Bakım çalışanları için PLC’den PLC’ye bir kodu anlayıp transfer etmek HMI’dan HMI’a göre daha kolay olacaktır. Bunun yanı sıra kontrol merkezinde veya sahada yer alan kontrol panellerinde farklı HMI teknolojileri kullanılabilir. Bu durumda yapılan değişikliğin genele uygulanması zorlaşacak bu durum da görselleştirmede ve operasyonda olası arızalara yol açacaktır.


Saldırganlar özellikle hedefli saldırılarda fiziksel kontrol süreçlerini manipüle etmeye, devre dışı bırakmaya veya bunlara zarar vermeye çalışacaktır. OLDSMAR su arıtma tesisi saldırısı Florida’da yaşanan bir siber güvenlik olayıdır. Bu olay sırasında kimliği belirsiz saldırı aktörleri arıtma prosesinde kullanılan bazı kimyasalların set değerlerine erişmeye ve bu değerleri manipüle etmeye çalışmışlardır. Bu saldırıda saldırganlar proses kontrol set değerini normal işletim seviyesinin çok üzerinde manipüle etmek için operatör HMI’nı kullanmışlardır. Ancak saldırı anında fark edilmiş ve halka herhangi bir zarara yol açmadan önlenmiştir. Yukarıda bahsedildiği gibi prosesi etkileyecek kritik set değerlerinin PLC tarafında kalması yaşanacak bu tarz saldırıların engellenmesinde önemli bir rol oynayacaktır.

Saldırganlar tarafından HMI’lar PLC’lere göre daha kolay manipüle edilecektir. Üretici HMI programlarının genellikle windows işletim sistemleri üzerinde koştuklarını düşündüğümüzde bu sistemlerin sıkılaştırmalarının boşluk bırakmayacak şekilde yapılması önem arz etmektedir. PLC üzerinde ikincil kontrol yapılarak HMI’ların direk sahaya etki edecek şekilde devreye alınmaması gerekmektedir. Sonuç olarak; fiziksel dünyaya çok fazla etkisi olan sistemlerin devreye alınmasında kodlama alışkanlıklarının değişmesi ve kodlama yapılırken siber güvenlik bakış açısının kazanılması bir zorunluluk haline gelmiştir.






53 views

Recent Posts

See All
bottom of page