PLC’ler veya programlanabilir mantık denetleyicileri, çoğu endüstriyel kontrol sisteminin (ICS) temel bir parçasıdır. Programlama, bu birimlerin ICS altyapılarında belirli işlevler gerçekleştirecek şekilde uyarlanabileceğini düşündüren atanın ayrılmaz bir parçasıdır.
Programlanabildikleri için, kötü niyetli amaçlar için yeniden programlanma olasılığını da ima eder. Örneğin, 2010 yılında, İran nükleer programındaki programlanabilir mantık denetleyicileri (PLC’ler), programda kullanılan santrifüjlere zarar vermek için değiştirildi.
PLC’ler belirli bir yöntem kullanılarak programlanır ve güvenlik sorunları tartışılmadan önce bu programlama yöntemi açıklanacaktır.
Merdiven mantığı (veya merdiven şeması), programlanabilir mantık denetleyicilerini (PLC’ler) programlamak için kullanılan grafiksel bir programlama dilidir. Fiziksel kontrol panellerinden dijital otomasyona geçiş yapan elektrikçiler ve teknisyenler için sezgisel hale getiren elektrik röle mantık diyagramlarına benzemek için tasarlanmıştır.
Merdiven mantığının temel yapısı
Merdiven mantığı oluşur Bir merdivende “basamaklar”Neresi:
- Dikey raylar Her iki tarafta güç (sol = sıcak, sağ = nötr).
- Her basamak Bir kontrol mantığı işlemini temsil eder (IF uyarısı gibi).
- Talimatlar (Kontaklar, bobinler, zamanlayıcılar, sayaçlar, vb.) Her basamaktaki raylar arasına yatay olarak yerleştirilir.
Merdiven mantığının avantajları
- Elektrikli geçmişe sahip teknisyenler için anlaşılması kolay.
- Görsel ve sezgisel.
- PLC platformlarında yaygın olarak desteklenmektedir (örn. Allen-Bradley, Siemens, Mitsubishi,…)
Çeşitli satıcılar arasında farklılıklar olduğunu ve burada açıklanan merdiven mantığının daha genel ve satıcı nötr olduğunu unutmayın!
Endüstriyel otomasyonda programlanabilir mantık denetleyicileri (PLC’ler) için kullanılan merdiven programlama genellikle proses kontrolü için güvenilir kabul edilir. Bununla birlikte, özellikle endüstri 4.0 ve artan bağlantı bağlamında merdiven mantığı ve PLC sistemlerine özgü birkaç güvenlik riski vardır. Ana risklerden bazıları:
- Kimlik doğrulama ve yetkilendirme eksikliği
- Güvensiz ağ iletişimi
- Merdiven kodunda mantık bombaları ve arka kapılar
- Yetersiz kod doğrulaması ve doğrulama
- Ürün yazılımı ve yazılım istismarları
Tabii ki birisinin PLC’ye fiziksel erişim sağlama riski de var, ancak PLC’lerin güvenliği ve otomasyon programlamaya odaklanıyorum.
Yukarıdaki mantık bombaları ve arka kapı noktası sansasyonel gelebilir, ancak bu tür saldırılar aşağıdaki tabloda gösterildiği gibi gerçek dünyada gerçekleşmiştir.
Nükleer santrifüjlerde fiziksel hasar | |||
Patlamaya neden olabilirdi | |||
Çevresel kontaminasyon | |||
Güvenlik aracı güncellemeleri, satıcı yanıtı |
Yukarıdaki tablo sadece en çok dikkat çekenleri gösterir, gün ışığını asla görmeyen çok daha fazlası vardır.
Kod doğrulama ve doğrulama ile ilgili nokta da ciddi bir nokta. PLC olmayan platformlarda normal programlama yaparken, şu dilleri kullanarak güvenli bir şekilde programlamamıza yardımcı olabilecek çok olgun bir araç kümemiz var:
- Python
- JavaScript/TypeScript
- C#
- C/C ++
- …
IDE’nin içindeki araçları veya kaynak kodundaki statik testler ve çalışma kodunda dinamik testler gibi harici araçlar kullanma. Aynı şey merdiven mantığı için de geçerli değildir. Bunun önümüzdeki yıllarda hızla değişeceğini tahmin ediyorum, şimdilik PLC programcısının beceri setine güvenmeliyiz.
PLC’lerin merdiven programlamasıyla ilgili güvenlik risklerinin azaltılması, teknik kontroller, en iyi uygulamalar ve organizasyon politikalarının bir kombinasyonunu gerektirir. Operasyonel teknoloji için bir güvenlik standardı olan IEC 62443’teki belgeler, kontrollerin ve politikaların geliştirilmesine yardımcı olabilir. Özellikle IEX 62443-3 serisindeki belgeler ve IEC 62443-4 serisindeki belgeler. 3 ve 4 serisinin altında birden fazla belge vardır. Şimdilik, bazı öneriler:
- Erişim Denetimi ve Kimlik Doğrulaması
- Yetkisiz personelin merdiven mantığına erişmesini veya değiştirmesini önler.
- Kod Yönetimi ve Sürüm Kontrolü
- Yetkisiz değişiklikleri tespit etmeye ve kod güncellemeleri için hesap verebilirliği korumaya yardımcı olur.
- Güvenli İletişim
- Saldırganların ağ üzerinde kötü niyetli mantığı ele geçirmesini veya enjekte etmesini önler.
- Yama Yönetimi ve Ürün Yazılımı Güncellemeleri
- Saldırganların sömürebileceği bilinen güvenlik açıklarını ele alır.
Bu son noktayı, özellikle 10 yaşından büyük OT altyapısında uygulamak zor olacaktır. Sadece son yıllarda çeşitli OT satıcıları, PLC’lerin dayandığı ürün yazılımı kodunu korumaya başladı. AB’den Siber Dayanıklılık Yasası yürürlüğe girdiğinde bu daha iyi olacaktır. Bu mevzuatın temel yükümlülükleri 2027’den itibaren geçerli olacaktır.
IEC 62443’e yapılan referanslar sizin için bilinmiyorsa, bu standartta bir dizi makalenin ve yaz aylarında bu sitede çeşitli bölümlerin görüneceğini ortaya çıkarabilirim, bu yüzden bizi izlemeye devam edin!