Bir enerji şirketinde BT/OT sınırı, ağ diyagramında düz bir çizgi değildir. Bu, verilerin her iki yönde de aktığı geçirgen bir zardır; PLC'ler tarafından kullanılan ayar noktası yapılandırma dosyalarını üreten COBOL toplu iş programları, faturalama ve düzenleyici raporlama için SCADA geçmiş verilerini okuyan RPG programları, ana bilgisayar çıktılarını dağıtılmış kontrol sistemlerinin anlayabileceği formatlara çeviren eski C köprüleri, operasyonel süreçlerin bağlı olduğu zamanlamaya göre sınır boyunca veri alışverişini planlayan ve sıralayan JCL iş akışları. Bu akışı yöneten yazılım ne tamamen BT ne de tamamen OT'dir. Enerji şirketlerinin işleyişini sağlayan bağlantı dokusudur ve bir dönüşüm programı başladığında modernizasyon ekiplerinin analiz etmeye en az hazır olduğu kod kategorisidir.
Enerji sektörü, tarihinin en önemli dijital dönüşümlerinden birini yaşıyor. Enerji şirketleri altyapılarını akıllı şebekeler, bağlantılı trafo merkezleri, endüstriyel kontrol sistemleri (ICS) ve gelişmiş otomasyonla modernize ederken, operasyonel teknoloji (OT) ağları her zamankinden daha fazla birbirine bağlı hale geldi. Bu bağlantı, eski kod katmanını ortadan kaldırmıyor, aksine daha da kritik hale getiriyor; çünkü her yeni akıllı şebeke uç noktası ve bulut analitik platformu, on yıllar önce yazılmış uygulamalardan kaynaklanan veri akışlarına bağlıdır. Operasyonel veri zincirindeki rollerini anlamadan bu uygulamaları modernize etmek, bir modernizasyon değil, veri merkezinin ötesine, fiziksel altyapıya kadar uzanan sonuçları olan bir bozulmadır.
Tüm sabit kodlanmış operasyonel parametreleri bulun.
SMART TS XL Eski kod portföyünüzde yer alan her AB sabitini, alarm limitini ve protokol adresini bulur.
DAHA FAZLASINI ÖĞRENİN…"SCADA'ya Yakın" Olmanın Gerçek Anlamı Nedir?
"SCADA'ya yakın" terimi, SCADA yazılımının kendisini, PLC donanım yazılımını veya RTU gömülü kodunu değil, operasyonel teknoloji sistemleriyle arayüz oluşturan BT tarafı yazılımlarını tanımlar; bu, söz konusu sistemlere veri gönderen ve bu sistemlerden veri alan iş uygulaması katmanıdır. Bu kategori geniş, yeterince analiz edilmemiş ve kurumsal uygulama portföyünün geri kalanından gerçekten farklıdır.
Tipik bir enerji üretim ortamında, SCADA ile ilgili kodlar şunları içerir:
Oran ve ayar noktası hesaplama programları. SCADA sistemlerine yapılandırma dosyaları veya doğrudan veri akışları olarak iletilen yük ayar noktalarını, voltaj hedeflerini, basınç eşiklerini ve çalışma limitlerini hesaplayan COBOL ve PL/I programları. Bu programlar, düzenleyici uyumluluk gereksinimlerini, mühendislik özelliklerini ve fiziksel güvenlik limitlerini kodlar. Yanlış bir hesaplama, raporda yanlış bir sayı üretmez, kontrol sisteminin üzerinde işlem yaptığı yanlış bir çalışma ayar noktası üretir.
Veri geçmişi veritabanı tüketicileri. Faturalama, düzenleyici raporlama ve performans analizi için SCADA veri geçmişi veritabanından operasyonel verileri okuyan RPG ve COBOL programları. Bu programlar, veri geçmişi veritabanının ürettiği belirli veri formatlarına, zaman damgası kurallarına ve mühendislik birimi tanımlarına bağlıdır. Veri geçmişi veritabanı çıktısındaki bir format değişikliği veya BT tarafındaki tüketici programındaki bir değişiklik, faturalama hesaplamalarını veya düzenleyici başvuruları sessizce bozabilir.
Protokol köprü programları. Ana bilgisayar çıktı formatları ile DCS (Dağıtılmış Kontrol Sistemi) ve SCADA sistemlerinin kullandığı dosya tabanlı veya ağ tabanlı arayüzler arasında çeviri yapan özel C programlarıdır. Bu köprüler, Modbus, DNP3, IEC 61850, özel satıcı formatları gibi belirli protokolleri uygular ve mesaj yapısı, bayt sıralaması ve zamanlama hakkında belgelerde hiçbir yerde bulunmayan, önceden kodlanmış varsayımlara sahiptir.
Toplu işlemden gerçek zamanlı işleme veri yolları. Belirli zaman aralıklarında BT/OT sınırı boyunca veri alışverişini planlayan ve sıralayan JCL iş akışları. Bir işletmenin gece boyunca çalıştırdığı toplu işlem, sabah operasyonları başlamadan önce SCADA sistemine sunulması gereken yapılandırma verileri üretebilir. Zamanlama bağımlılığı, zamanlayıcı yapılandırmasında ve kontrol odasının operasyonel beklentilerinde örtük olarak mevcuttur ve uygulama kodunda hiçbir yerde belgelenmemiştir.
Alarm ve olay işleme programları. SCADA sistemlerinden alarm kayıtlarını alan, sınıflandırma ve yönlendirme mantığını uygulayan, iş emirleri oluşturan ve mevzuata uygunluk kayıtları üreten programlar. Hangi olayların hangi zaman dilimlerinde hangi mevzuat raporlarını gerektirdiğini belirten alarm sınıflandırma mantığı, genellikle on yıllarca süren mevzuat değişikliklerini biriktirmiş program koduna gömülüdür.
Bu, mühendislerin ve BT geliştiricilerinin kısmen sahip olduğu ve hiçbirinin tam olarak anlamadığı kontrol kodudur. Bir modernizasyon programı "neyi değiştirebiliriz?" diye sorduğunda, SCADA ile ilgili kod için cevap neredeyse her zaman "düşündüğünüzden daha az ve planladığınızdan daha fazla analizden sonra" olur.
Standart Modernizasyon Analizi Burada Neden Başarısız Oluyor?
Çoğu kurumsal modernizasyon analiz çerçevesi, analiz edilen kodun yalnızca veri ve iş mantığını kontrol ettiğini, bir programdaki değişikliğin fiziksel dünyada hiçbir sonuç doğurmadan farklı bir veri çıktısı ürettiğini varsayar. SCADA ile ilişkili kod, bu varsayımı dört özel şekilde bozar.
Veri Hatalarının Fiziksel Sonuçları
Standart bir faturalama uygulamasında, hatalı bir hesaplama yanlış bir faturaya yol açar. Hata tespit edilebilir, geri alınabilir ve kapsamı sınırlıdır. SCADA ile ilgili kodlarda ise, hatalı bir hesaplama, kontrol sisteminin fiziksel parametreleri (basınç, voltaj, akış hızı, sıcaklık) ayarlayarak etki ettiği hedef değer olan yanlış bir ayar noktasına yol açabilir. Sonuç, veritabanında yanlış bir sayı değildir. Bu, amaçlanan parametrelerinin dışında çalışan fiziksel bir süreçtir ve verimsizlikten ekipman hasarına ve güvenlik olaylarına kadar çeşitli sonuçlara yol açabilir.
Veri hatası ile fiziksel sonuç arasındaki bu asimetri, SCADA ile ilgili kodun standart iş koduna kıyasla aynı risk toleransıyla analiz edilememesinin temel nedenidir. Geçerli çıktı üretme açısından "doğru çalışan" bir değişiklik, veri türünün yasal aralığı içinde, sözdizimsel olarak geçerli ancak temsil ettiği operasyonel bağlam için fiziksel olarak yanlış olan, operasyonel olarak hatalı bir çıktı üretebilir.
Statik Analizin Modelleyemediği Zamanlama Bağımlılıkları
SCADA sistemlerine bitişik BT tarafındaki programlar, operasyonel açıdan önemli ancak statik analiz araçları tarafından görülemeyen zamanlama kısıtlamalarına sıklıkla sahiptir. Yapılandırma verisi üreten bir program, SCADA sisteminin yoklama döngüsü veriyi okumadan önce tamamlanmalıdır. Geçmiş verilerini bir araya getiren bir toplu işlem, düzenleyici raporlamanın gerektirdiği aralık sonu zaman damgasından önce bitmelidir. Alarmları ileten bir köprü programı, kontrol odasının operasyonel prosedürlerinde belirtilen yanıt süresi içinde olayları işlemelidir.
Bu zamanlama kısıtlamaları, kaynak kodda değil, yardımcı programın operasyonel prosedürlerinde, zamanlayıcı yapılandırmasında ve programları yazan geliştiricilerin örtük anlayışında mevcuttur. Kod yapısına ve veri akışına odaklanan statik analiz araçları, kodun kendisinin dışında var olan zamanlama gereksinimlerine dair hiçbir bilgiye sahip değildir.
Pratik sonuç: SCADA ile ilgili kodlar için modernizasyon analizi, kapsamdaki her program için zamanlama bağlamını açıkça belgelemelidir. Bu, yalnızca kod analizi değil, operasyonel bilgi, kontrol odası operatörleriyle görüşmeler, düzenleyici uyumluluk programlarının incelenmesi ve zamanlayıcı iş bağımlılıklarının analizini gerektirir.
Güvenlik Fonksiyonu Tanımlaması
IEC 61511 (proses endüstrisi sektörleri için fonksiyonel güvenlik) ve IEC 61508 (elektrik/elektronik/programlanabilir elektronik güvenlik ile ilgili sistemler için fonksiyonel güvenlik), güvenlik fonksiyonlarını yerine getiren yazılımlar için sertifikasyon gereksinimlerini tanımlar. Bu standartlar kapsamında sertifikalandırılmış kod, sadece bakım kolaylığı için yeniden düzenlenebilen eski bir kod değildir. Sertifikasyon, sertifikasyon kuruluşunun değerlendirdiği belirli ikili dosyanın belirli sürümüne, yani belirli kod bileşenlerine yöneliktir. Kodun değiştirilmesi, bir iş uygulamasında önemsiz sayılabilecek bir kalite sorununu düzeltmek için bile olsa, sertifikayı geçersiz kılar ve değiştirilen kodun bir güvenlik fonksiyonunda kullanılabilmesi için yeniden sertifikasyon gerektirir.
Birçok enerji şirketi, güvenlik ile ilgili hesaplamalar, aşırı basınç tespiti, transformatör koruma ayar noktası hesaplaması, acil durum kapatma mantığı gibi işlemleri gerçekleştiren SCADA'ya bağlı programlara sahiptir ve bu programlar, BT modernizasyon ekibinin haberi olmadan güvenlik sertifikasyon gereklilikleri kapsamında olabilir. SCADA'ya bağlı kod için ilk analitik soru şudur: Bu kodun herhangi bir bölümü güvenlik işlevi görüyor mu? Eğer evet ise, hangi işlevleri, hangi sertifikasyon kapsamında ve değiştirilmesi ne gerektiriyor?
Donanım ve Protokol Bağlantısı
Protokol köprüsü programları ve gömülü arayüz kodları, uyguladıkları donanım ve protokol sürümlerine doğrudan bağımlıdır. Belirli bir üreticiden belirli bir RTU modeli için özel fonksiyon kodları, kayıt haritaları ve zaman aşımı değerleriyle Modbus RTU'yu uygulayan bir program, genel olarak Modbus'u uygulamaz; bunun yerine, diğer herhangi bir konfigürasyon için geçerli olmayabilecek varsayımlarla, o belirli kombinasyonu uygular.
Bu kod modernizasyon için analiz edildiğinde, bağımlılık yalnızca COBOL veya C kaynak koduna değil, RTU cihaz modeline, bellenim sürümüne, fiziksel kablolama topolojisine ve ağ yapılandırmasına da bağlıdır. Bunlardan herhangi birinde yapılan değişiklikler, program kaynak kodunda değişiklik olmasa bile arayüzü bozabilir. Ayrıca, program kaynak kodunda yapılan değişiklikler, görünüşte ilgisiz olan arayüzleri de bozabilir, çünkü köprü, hiçbir yerde belgelenmemiş satıcıya özgü protokol özelliklerini telafi etmek için yazılmıştır.
BT/OT Sınırı: Kodun Yaşadığı Yer
Purdue Modeli (ISA-99 / IEC 62443), endüstriyel kontrol sistemi ağlarının kavramsal mimarisini, Seviye 0'daki fiziksel süreçlerden Seviye 4'teki kurumsal iş sistemlerine kadar beş seviyede tanımlar. Kamu hizmeti ortamlarındaki SCADA ile ilişkili eski kodlar genellikle Seviye 3 ve 4'te, yani üretim operasyonları ve kurumsal ağ bölgelerinde yer alır, ancak veri akışları her iki yönde de Seviye 2'ye (SCADA denetim katmanı) geçer.
Seviye 3 ve 2 arasındaki BT/OT sınırı, güvenlik ve operasyonel riskin en yüksek olduğu yerdir. Ulus devlet aktörleri, aktivasyondan aylar önce OT ağlarının içine yerleşirken, fidye yazılımı grupları artık HMI'ları kilitlemek ve üretimi durdurmak için tasarlanmış ICS uyumlu zararlı yazılımlar dağıtıyor. En sık görülen giriş noktası, gömülü SCADA yazılımı değil, BT tarafındaki kod ve OT tarafındaki sistemlerin, düşmanca güvenlikten ziyade operasyonel güvenilirlik için tasarlanmış arayüzler aracılığıyla veri alışverişinde bulunduğu BT/OT sınır katmanıdır.
Bu sınırı aşan programların tam kümesini ve orada ne yaptıklarını anlamak, hem modernizasyon planlaması hem de güvenlik duruşunun iyileştirilmesi için ön koşuldur. SCADA veri tabanından veri okuyan ve sonuçları faturalama veritabanına yazan bir program, sınırı bir yönde aşar. Ayar noktalarını hesaplayan ve bunları bir PLC'nin okuduğu bir yapılandırma dizinine yazan bir program ise sınırı diğer yönde aşar. Her ikisi de SCADA ile ilişkilidir. Hiçbiri SCADA ağ taramasında veya BT uygulama envanterinde görünmez, bu nedenle sistematik olarak yeterince analiz edilmezler.
SCADA ile İlişkili Programlara Özgü Kod Kalıpları
Mühendislik Birimi Hesaplama Kodu
Mühendislik birimi (EU) hesaplamaları, genellikle analog-dijital dönüştürücülerden gelen tam sayı değerleri olan ham sensör değerlerini, belirli birimler, aralıklar ve hassasiyetle fiziksel ölçümlere dönüştürür. Bir basınç transmitterinden gelen 4-20mA'lik bir akım döngüsü ham bir sayım üretir; EU hesaplaması bunu doğru sıfır ve aralık kalibrasyonuyla PSI veya bar'a dönüştürür.
Bu hesaplama kodu, standart iş mantığından ayıran özelliklere sahiptir:
COBOL
CALCULATE-PRESSURE-EU.
* RAW-COUNT ranges 0-4095 (12-bit ADC)
* SENSOR-ZERO-OFFSET = 819 (4mA = 20% of 4095)
* SENSOR-SPAN = 3276 (16mA span = 80% of 4095)
* RANGE-LOW-PSI = 0
* RANGE-HIGH-PSI = 500
COMPUTE EU-PRESSURE-PSI =
(RAW-COUNT - SENSOR-ZERO-OFFSET) /
SENSOR-SPAN *
(RANGE-HIGH-PSI - RANGE-LOW-PSI)
+ RANGE-LOW-PSI
IF EU-PRESSURE-PSI < RANGE-LOW-PSI OR
EU-PRESSURE-PSI > RANGE-HIGH-PSI
MOVE 'RANGE-VIOLATION' TO ALARM-STATUS
PERFORM GENERATE-ALARM
END-IF.
Bu hesaplamadaki sabitler, SENSOR-ZERO-OFFSET, SENSOR-SPAN, RANGE-LOW-PSI, RANGE-HIGH-PSIBunlar, fiziksel cihaz özelliklerine karşılık gelir. Eğer bunlar sabit kodlanmışsa (eski kodlarda sıklıkla olduğu gibi), fiziksel cihazda yapılan bir değişiklik kodda da değişiklik gerektirir. Eğer yanlışsa (cihazın yeniden kalibrasyonu, değiştirilmesi veya orijinal yanlış yapılandırması nedeniyle), programın şimdiye kadar ürettiği her kayıt için EU değeri sistematik olarak yanlış olur. Statik analiz, bu sabitlerin nerede tanımlandığını bulabilir; ancak operasyonel doğrulama, bunların mevcut cihaz yapılandırması için doğru olup olmadığını teyit edebilir.
Alarm Oluşturma ve Sınıflandırma Mantığı
Alarm oluşturma kodu, enerji santrali ortamlarında SCADA ile ilgili en hassas düzenlemelerden biridir. Elektrik şirketleri için NERC CIP (Kritik Altyapı Koruma) standartları, nükleer tesisler için NRC gereksinimleri ve su ve atıksu şirketleri için EPA raporlama gereksinimleri, hangi olayların alarm oluşturması gerektiğini, bu alarmların hangi bilgileri içermesi gerektiğini ve hangi zaman dilimlerinde raporlanması gerektiğini belirtir.
COBOL
CLASSIFY-ALARM.
EVALUATE TRUE
WHEN EU-PRESSURE-PSI > HIGH-HIGH-LIMIT
MOVE 'HH' TO ALARM-PRIORITY
MOVE 'NERC' TO REPORTING-FLAG
PERFORM GENERATE-NERC-EVENT
WHEN EU-PRESSURE-PSI > HIGH-LIMIT
MOVE 'HI' TO ALARM-PRIORITY
MOVE 'LOG' TO REPORTING-FLAG
WHEN EU-PRESSURE-PSI < LOW-LIMIT
MOVE 'LO' TO ALARM-PRIORITY
MOVE 'LOG' TO REPORTING-FLAG
WHEN EU-PRESSURE-PSI < LOW-LOW-LIMIT
MOVE 'LL' TO ALARM-PRIORITY
MOVE 'NERC' TO REPORTING-FLAG
PERFORM GENERATE-NERC-EVENT
END-EVALUATE.
Bu kodda yer alan alarm limitleri, HIGH-HIGH-LIMIT, HIGH-LIMIT, LOW-LIMIT, LOW-LOW-LIMITBunlar, düzenleyici öneme sahip operasyonel parametrelerdir. Bu limitlerdeki değişiklikler, hem kontrol sisteminin operasyonel davranışını hem de işletmenin düzenleyici raporlama yükümlülüklerini etkiler. Alarm sınıflandırma kodunu etkileyen herhangi bir modernizasyon programı, değişiklik kontrol sürecinde yalnızca mühendislik onayı değil, düzenleyici işler incelemesini de içermelidir.
Protokol Köprüsü Uygulamaları
Eski protokol köprüleme programları, bağımlılıklarını belirlemek en zor olduğu için SCADA ile ilgili kodlar arasında modernleştirilmesi en zor olanlardandır. Program, belirli bir cihaz için belirli bir protokol sürümünü uygular ve kodda belgelenmemiş satıcıya özgü davranışlar telafi edilir.
c
/* Legacy Modbus RTU bridge -- written for Modicon 984 PLCs, circa 1998 */
/* NOTE: 984 series uses 1-based register addressing, not 0-based */
/* Function code 03 only -- 984 does not support FC 04 */
/* Max 60 registers per request -- 984 firmware limitation */
#define MODBUS_FC03_READ_HOLDING 0x03
#define MAX_REGS_PER_REQUEST 60 /* 984 firmware limit, not Modbus spec */
#define REGISTER_OFFSET 1 /* 984 uses 1-based addressing */
int read_holding_registers(int start_reg, int count, uint16_t *buffer) {
/* Compensate for 984 1-based addressing */
uint16_t adjusted_start = (uint16_t)(start_reg + REGISTER_OFFSET);
if (count > MAX_REGS_PER_REQUEST) {
/* 984 will return error if count exceeds 60 */
/* Split into multiple requests silently */
return read_registers_chunked(adjusted_start, count, buffer);
}
/* ... */
}
Bu kod, Modbus spesifikasyonunun bir parçası olmayan, belirli bir PLC modeliyle ilgili dört varsayımı içerir: 1 tabanlı kayıt adreslemesi, yalnızca 03 fonksiyon kodu, maksimum 60 kayıt ve daha büyük istekler için öbekleme davranışı. Bunların hiçbiri Modbus dokümantasyonunda yer almaz. Bunlar, artık mevcut olmayabilecek 1998 tarihli bir donanım kılavuzunda belgelenmiş, Modicon 984'e özgü satıcı davranışlarıdır. Bu köprü, bu varsayımlar anlaşılmadan modernize edilirse veya PLC, standart 0 tabanlı adresleme kullanan daha yeni bir modelle değiştirilirse, okunan her kayıt tam olarak bir kayıt adresi ofseti kadar yanlış değer döndürür.
Modernleşme Öncesi Analiz: Neler Üretilmelidir?
SCADA ile ilgili herhangi bir kodda değişiklik, yeniden yapılandırma veya değiştirme yapılmadan önce, analiz, standart kurumsal modernizasyon analizinin sağladığının ötesine geçen bir dizi çıktı üretmelidir.
Operasyonel fonksiyon envanteri. SCADA ile ilgili her program, operasyonel fonksiyonuna göre sınıflandırılmalıdır: AB hesaplaması, ayar noktası teslimi, geçmiş veri tüketicisi, alarm üretimi, protokol köprüsü, toplu işlemden gerçek zamanlı işleme geçiş yolu. Bu sınıflandırma, değişim sürecine kimlerin dahil olması gerektiğini belirler: yalnızca BT mühendisleri mi, yoksa kontrol mühendisleri, operasyon personeli ve mevzuat uyumluluğunu içeren çok fonksiyonlu bir ekip mi?
BT/OT sınır geçiş haritası. BT/OT sınırını geçen her veri akışı belgelenmelidir: hangi program veriyi üretiyor, hangi formatta, hangi zaman çizelgesinde; hangi OT sistemi veriyi tüketiyor; ve verinin yanlış, gecikmiş veya eksik olması durumunda sonuç ne olur. Bu harita, SCADA'ya bitişik katman için operasyonel risk profilidir.
Güvenlik fonksiyonu tanımlaması. Her program, IEC 61511, IEC 61508, NERC CIP veya diğer ilgili standartlar kapsamında bir güvenlik fonksiyonu gerçekleştirip gerçekleştirmediği açısından değerlendirilmelidir. Güvenlik fonksiyonu kodu olarak tanımlanan programlar, ayrı değişiklik kontrolü, düzenleyici bildirim ve potansiyel olarak yeniden sertifikasyon gerektirir; bu programların modernizasyon zaman çizelgesi, standart iş kodundan temel olarak farklıdır.
Sabit kodlanmış operasyonel parametre kaydı. Operasyonel bir parametreyi, sensör kalibrasyon değerlerini, alarm limitlerini, protokol kısıtlamalarını, zamanlama eşiklerini temsil eden her sabit kodlanmış değer tanımlanmalı, operasyonel anlamıyla belgelenmeli ve mevcut cihaz özelliklerine göre doğrulanmalıdır. Bu kayıt, sabit kodlanmış değerleri harici olarak yönetilen yapılandırmayla değiştiren yapılandırma yönetim sürecinin girdisi haline gelir.
Zamanlama bağımlılığı dokümantasyonu. Her programın zamanlama bağlamı, tamamlanması gereken operasyonel zaman aralıkları, bu zaman aralıklarını zorunlu kılan zamanlayıcı bağımlılıkları ve tamamlanmasına bağlı operasyonel prosedürler açıkça belgelenmelidir. Bu dokümantasyon, modernize edilmiş uygulamanın doğrulanması gereken şartnamedir.
Protokol ve arayüz spesifikasyonu. Her protokol köprü programı, satıcıya özgü davranışlar, protokol sürümü varsayımları ve cihaza özgü telafiler açısından analiz edilmelidir. Çıktı, bir yedek uygulamanın doğrulanmasında kullanılabilen ve orijinal spesifikasyonda yer almayanlar da dahil olmak üzere her telafi edici davranışın korunduğunu doğrulayan bir spesifikasyon belgesidir.
Başarılı ve Başarısız Modernizasyon Yaklaşımları
Dikkatlice uygulanan Strangler Fig modeli. Yeni işlevselliği eskiyle birlikte oluşturma, kademeli olarak yönlendirme ve aşamalı olarak devre dışı bırakma prensibine dayanan Strangler Fig modeli, BT tarafında veri işleme (geçmiş veri tüketicileri, faturalama hesaplamaları) gerçekleştiren SCADA'ya yakın kodlar için uygundur. Geçiş sırasında eski program çalışmaya devam eder; yeni uygulama, eski program devre dışı bırakılmadan önce eşdeğerlik açısından doğrulanan paralel çıktılar üretir.
Strangler Fig, gerçek zamanlı veri yolları için geçerli değildir. Eski ve yeni programların paralel olarak çalıştırılmasının güvenli olmadığı, çünkü çakışan operasyonel etkilere yol açacakları gerçek zamanlı veri yolunda bulunan programlar için, geçiş anlık olmalı ve üretime geçmeden önce çevrimdışı olarak doğrulanmalıdır. Mevcut programdan farklı değerler üreten paralel bir referans noktası hesaplama programı çalıştırmak, kontrol sistemine çakışan referans noktaları gönderecektir.
Kod değişikliklerinden önce yapılandırmanın dışsallaştırılması. Sabit kodlanmış operasyonel parametrelere sahip programlar için en güvenli ilk modernizasyon adımı, hesaplama mantığını değiştirmeden bu parametreleri bir yapılandırma dosyasına veya veritabanına dışsallaştırmaktır. Bu, operasyonel öneme sahip hesaplama koduna dokunmadan parametreleri görünür, yönetilebilir ve denetlenebilir hale getirir. Parametreleri dışsallaştırmanın riski, hesaplama mantığını yeniden düzenlemekten önemli ölçüde daha düşüktür.
Güvenlik fonksiyonu kodu: yeniden düzenleme değil, analiz ve dokümantasyon. Güvenlik sertifikalı kod, modernizasyon planlama aşamasında analiz edilmeli ve dokümante edilmelidir, ancak değişiklikler genel bir modernizasyon girişiminin parçası olarak ele alınmamalı, düzenleyici koordinasyonla birlikte planlı bir yeniden sertifikasyon programına ertelenmelidir. Geniş kapsamlı bir modernizasyon sürecinde güvenlik sertifikasının geçersiz kılınması riski, tipik bir modernizasyon faydasıyla haklı gösterilemez.
Ne kadar SMART TS XL SCADA ile İlişkili Eski Kod Analizini Destekler
SMART TS XL'S statik kod analizi Bu durum, SCADA'ya bitişik sınırın BT tarafını, yani ana bilgisayarlarda ve orta seviye sistemlerde çalışan ve OT ortamlarına geçen verileri üreten, dönüştüren veya tüketen COBOL, JCL, RPG, PL/I ve C programlarını kapsar. Bu kod için yapısal analiz, modernizasyon öncesi analizin gerektirdiği operasyonel fonksiyon envanterini ve sabit kodlanmış parametre kaydını üretir.
Uygulama bağımlılık haritalaması, BT/OT sınır geçiş haritasını oluşturur: SCADA sistemi tarafından kullanılan bir dosya arayüzüne yazan her program, operasyonel zamanlama açısından önem taşıyan veriler üreten her JCL iş adımı, OT kaynağından BT tüketicisine giden veri kayıt yolundaki her program. Bir kamu hizmeti şirketinin faturalama COBOL programı, ara bir C köprüsü aracılığıyla veri kayıt verilerini okuduğunda, bağımlılık haritası hem COBOL-C bağımlılığını hem de C-veri kayıt bağımlılığını bağlantılı bir zincir olarak temsil eder ve böylece BT/OT geçişinin tamamının operasyonel bir olay yoluyla keşfedilebilir olmaktan ziyade görünür olmasını sağlar.
Etki analizi yeteneği, özellikle SCADA ile ilgili kodlar için kritik öneme sahiptir çünkü herhangi bir değişiklik yapılmadan önce önerilen değişikliğin etki alanını belirler. Alarm oluşturma kodu, ayar noktası teslim kodu ve geçmiş veri yazma koduyla (copybook aracılığıyla) paylaşılan bir AB hesaplama programında yapılacak bir değişiklik, hesaplamaya dokunmadan önce üç ikincil etkinin de anlaşılmasını gerektirir. Standart iş kodunda, yanlış bir değişiklik yanlış veri üretir. SCADA ile ilgili kodda ise yanlış operasyonel parametreler üretir.
JCL genişletme özelliği, toplu işlem katmanının zamanlama ve sıralama yapısını ortaya koyar: hangi işlerin hangi sırayla çalıştığı, hangi veri kümesi çıktılarının hangi sonraki adımları beslediği ve hangi iş akışlarının operasyonel gereksinimlerle zaman sınırlı olduğu. Bu, SCADA ile ilgili modernizasyonun gerektirdiği zamanlama bağımlılığı dokümantasyonu için yapısal kanıt temelidir.
Kurumsal arama özelliği, sabit kodlanmış parametre kayıt defterinin büyük ölçekte erişilebilir olmasını sağlar: Ortamdaki her COBOL, C, RPG ve JCL yapıtında, belirli bir mühendislik birimi sabitinin her örneğini, her alarm limit değerini, her sabit kodlanmış protokol adresini saniyeler içinde, milyonlarca satır kod arasında bulun. Yüz binlerce satır SCADA ile ilgili eski kodu yöneten kuruluşlar için bu arama özelliği, aylar süren manuel bir denetim ile saatler süren otomatik bir envanter arasındaki farkı yaratır.
Ekipler için planlama miras modernizasyonu kamu hizmeti sistemlerinin, SMART TS XL Bu, modernizasyon ekibinin operasyonel bağlamı anlayan OT tarafındaki kontrol mühendisleriyle etkili bir şekilde çalışmasını sağlayacak BT tarafındaki yapısal analizi sunar. BT/OT sınırı, yalnızca BT ekipleri veya yalnızca OT ekipleri tarafından güvenli bir şekilde geçilemez; bu sınır, her iki taraf da sistemlerinin ne içerdiğine dair doğru yapısal bilgiye sahip olduğunda güvenli bir şekilde geçilebilir.
Bu kod neden farklı bir ilgi gerektiriyor?
SCADA sistemleriyle bağlantılı eski kodlarını modernize eden enerji şirketleri, sadece eski yazılımı güncellemekle kalmıyor. İş sistemleri ile fiziksel altyapı arasında aracı görevi gören yazılım katmanını değiştiriyorlar. Bu konuda hata yapmanın sonuçları sadece veri hataları, hizmet kesintileri veya mali kayıplarla sınırlı değil; enerji hizmetlerine bağımlı olan insanların yaşamlarını sürdüren fiziksel sistemleri de etkiliyor.
Bu kodu özel kılan özellikler, veri hatalarının fiziksel sonuçları, statik analizde görünmeyen zamanlama bağımlılıkları, güvenlik sertifikasyon kısıtlamaları, donanım ve protokol bağlantısı, onu modernize etmeye karşı argümanlar değildir. Bunlar, herhangi bir şeyi değiştirmeden önce onu tamamen anlamak için argümanlardır. Bu kılavuzdaki analiz çerçevesi bu anlayışı üretir. Bunun ardından gelen modernizasyon programı daha güvenlidir çünkü değişiklik kapsamı varsayımdan ziyade kanıtlarla tanımlanır, zamanlama bağımlılıkları örtük değil belgelenir, güvenlik fonksiyonu kodu yanlışlıkla değiştirilmek yerine tanımlanır ve BT/OT sınır geçişleri, dağıtımdan sonra operasyonel olaylar yoluyla keşfedilmek yerine haritalanır.