top of page
  • Yusuf Yılmaz Akdemir

Secure PLC Coding | Track operating modes



Yazar: Yusuf Yılmaz Akdemir


Kritik altyapılar; Türkiye Ulusal Güvenlik Strateji belgelerinde işlevini kısmen veya tamamen yerine getiremediğinde çevrenin, toplumsal düzenin ve kamu hizmetlerinin yürütülmesinin olumsuz etkilenmesi neticesinde, vatandaşların sağlık, güvenlik ve ekonomisi üzerinde ciddi etkiler oluşturacak ağ, varlık, sistem ve yapıların bütünü olarak tanımlanmaktadır. PLC (Programmable Logic Controller)’ler bu kritik altyapı tesislerinin vazgeçilmez birer parçasıdır. Basit bir mimariye sahip olan PLC’lerde CPU (Central Process Unit)’lar kullanıcı tarafından oluşturulan lojiğin koşulmasından I/O ara yüzleri ile haberleşmeye kadar birçok farklı görevi yerine getirmektedir. PLC çalışma modlarının takip edilmesi CPU’ya ait olan bu görevlerin gerçekleştirilip gerçekleştirilmediği ile alakalı mutlak bir bilgi sağlamaktadır.

PLC çalışma modları üreticilere göre değişkenlik gösterebilir. “Run, Stop, Remote, Program, Test, Monitör” gibi birçok mod kullanılmaktadır. Bu modlar yine üreticilere göre farklı anlamlar ve görevler taşımaktadır. “Run” modunda kullanıcı tarafından oluşturulan lojik çalışırken “Stop” modunda ise durmaktadır. Bazı PLC’lere “Run” modunda yükleme yapıldığında ise “Stop” moduna geçerken bazı PLC’lere yükleme yapabilmek için “Remote” veya “Program” modunda olması gereklidir. Çalışma modları bazen CPU üzerinde yer alan bir anahtar ile değiştirilirken bazen PLC’nin sadece hangi modda olduğunu gösteren LED göstergeler yer alır. Bu noktada önemli olan konu sahamızda yer alan PLC’lerin modlarını ve bu modların nasıl çalıştığını ve nasıl değişeceğini üreticiden talep etmek olacaktır.

Temel prensip olarak PLC’ler “Run” modunda değilse altyapı operatör için bir alarm üretmelidir. Eğer operatör PLC üzerinde bir çalışma olduğunu biliyorsa bu alarmı kabul edip çalışmalarına devam edebilir. Buna ek olarak tesis bünyesinde yapılacak test ve devreye alma çalışmalarında bu alarm devre dışı bırakılabilir ancak bu çalışmaların yapıldığı ağlar yüksek seviyelerde izole edilmelidir. Bunun yanı sıra çalışma modunu değiştirmek için PLC üzerinde bir donanım yer almıyorsa(bir anahtar veya switch), PLC lojik değişikliklerinde şifreleme yapılması veya PLC kodunun değiştirilmesini kısıtlayacak koruma mekanizmalarının kullanılması önerilmektedir.

Saldırganlar kendi oluşturdukları yazılımı yüklemek için çalışma modunu değiştirmek durumunda kalacaklardır. Bu değişim PLC üzerinde yer alan anahtar ve switch ile yapılabildiği gibi kontrolör API’na yapılacak bağlantı ile de değiştirilebilir. Buna örnek verecek olursak “INCONTROLLER” zararlısı, Schneider Elektrik PLC ve Omron PLC’ler gibi endüstriyel ekipmanlarla OPC UA, MODBUS ve CODESYS gibi endüstriyel protokollere göre uyarlanmış çok sayıda modül içeren zararlı bir yazılımdır. Ağdaki belirli cihazları keşfetme, cihazlara lojik yükleme ve kullanılan cihazlara özgü güvenlik açıklıklarından yararlanma yeteneklerine sahiptir. Bu zararlı yazılım OMRON PLC’ler ile kurduğu HTTP bağlantı sayesinde bu cihazların çalışma modunu değiştirebilmektedir. Çalışma modunun takip edilmesi bu tarz saldırıların fark edilmesinde önemli bir rol oynayacaktır.

Siber güvenlik bakış açısının kodlama yeteneklerine entegre olmasının yanı sıra arıza analizi veya teşhis konulmasında da bir seçenek olarak bu bakış açısıyla olayların değerlendirilmesi gerekmektedir. Örneğin: PLC’ler stop moduna donanım veya yazılım hatasından, CPU üzerinde yer alan switch kullanılarak ya da ağ üzerinden gelecek komut ile veya program yüklenmesi ile geçebilir. Bu analizler yapılırken bir siber güvenlik olayının yaşanmış olma ihtimali en son değerlendirilecek etkendir. Bazen alt yükleniciler sorumluluktan kaçmak (yanlış lojik, yanlış konfigürasyon) için siber güvenlik olaylarına sığınsa da günümüz dünyasında bu ihtimal kesinlikle kontrol edilmesi gereken bir etkendir.

Gartner’a göre 2025 yılına kadar, güvenli olmayan endüstriyel tesislere yönelik saldırılar insanı ve çevresel felaketlere neden olacaktır. Bu kestrim üreticilere, yüklenicilere ve işletmelere büyük bir sorumluluk yüklemektedir. 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.


Kaynaklar:

https://attack.mitre.org/software/S1045/

https://plc-security.com/


48 views

Recent Posts

See All
bottom of page