WITOWITO Summit’teydim

Also in English
can.sys
/articles/Arıza mı, siber saldırı mı? Bir reaktördeki anomalileri anlayabildiğimiz bir yapay zekâyla tespit etmek
ARTICLEtarih : süre : 5 dk okumaI&Csiber güvenlikyapay zekânükleer

Arıza mı, siber saldırı mı? Bir reaktördeki anomalileri anlayabildiğimiz bir yapay zekâyla tespit etmek

I&C okuyan bir mühendislik öğrencisi olarak, bir reaktörü izleyen yapay zekânın yalnızca tespit etmekle kalmayıp açıklaması da gerektiğine neden inanıyorum?

Bir santralin kontrol odasını hayal edin. Bir gösterge sapıyor: bir buhar üretecindeki su seviyesi tam olarak beklenen değerde değil. Operatörün, hiç de önemsiz olmayan bir soruya karar vermek için yalnızca birkaç saniyesi var: bir sensör mü bozulmak üzere, yoksa bir saldırgan mı ölçüm cihazlarına yalan söylüyor?

İki belirti birbirine benziyor. İki yanıt ise tam tersi. Arızaysa bileşen onarılır ve hayat devam eder. Siber saldırıysa belki de reaktörü durdurmak gerekir: ağır, maliyetli ama bazen hayati bir manevra. Bir yönde yanılmak, boşu boşuna milyonlar kaybetmek demektir. Öbür yönde yanılmak ise bir kazayı gözden kaçırmak.

Geçenlerde tam da bu soruna eğilen bir araştırma makalesine rastladım. Makale, I&C derslerimden beri taşıdığım bir sezgiyi kelimelere döktü: böyle bir ortamda tespit eden bir yapay zekâ yeterli değil. Açıklayan bir yapay zekâ gerekiyor.

Anlatmak istediğim de tam olarak bu.

I. Bir santral artık kod demek#

Nükleeri hâlâ borulardan, buhardan ve büyük mekanik düğmelerden oluşan bir dünya olarak hayal ediyoruz. Gerçek daha sıradan: modern bir santral her şeyden önce bir enstrümantasyon ve kontrol (I&C) sistemidir, yani sürekli olarak ölçen, karar veren ve komut gönderen devasa bir sensör, kontrolör ve dijital hesaplayıcı ağıdır.

Bu dijitalleşmenin bir de öbür yüzü var: bağlı olan her şey saldırıya açıktır. Ve I&C'deki bir anomalinin kökten farklı iki kaynağı olabilir.

Rastgele bir arıza. Bir bileşen bozulur. Tipik olarak sistem artık yanıt vermez ya da bir geri bildirim kesilir. Bu bir güvenilirlik sorunudur.

Kasıtlı bir siber saldırı. Burada iş daha sinsidir: sistem görünüşte normal davranmaya devam edebilirken ölçümler ya da komutlar sessizce tahrif edilir. Bu bir güvenlik sorunudur.

Tuzak şurada: ikisi de yüzeyde aynı belirtiyi üretebilir. Oysa yanıt hiç de aynı değil: kötü niyet onarılmaz, bir sensör yandı diye de reaktör durdurulmaz. Anomalinin doğasını hızlı ve doğru biçimde belirlemek bir konfor meselesi değil: doğru kararı felaketten ayıran şey budur.

II. Yapay zekâ tespit etmeyi biliyor ama kendini gerekçelendirmeyi bilmiyor#

Bu, yapay zekânın tam olarak parladığı türden bir görev. Dağlar kadar veriden normal çalışmanın neye benzediğini öğrenmek, sonra ters giden sapmayı yakalamak: anomali tespit modelleri için biçilmiş kaftan. Kâğıt üzerinde operatör, ikilemden çıkmak için hayal edebileceği müttefiki bulmuş durumda.

Ne var ki bir “ama” var ve sorunun özü de bu. Bu modellerin çoğu (özellikle büyük sinir ağları) kara kutudur. Bir karar üretirler: “anomali” ya da “olağan dışı bir şey yok”. Ama nedenini söyleyemezler. Ve bir kontrol odasında gerekçesiz bir yanıtın pek bir değeri yoktur.

Çünkü operatörün asıl sorusu yalnızca “bir anomali var mı?” değil. Asıl soru şu: “bir reaktörü durdurmadan önce sana güvenebilir miyim?” Milyonlarca euroluk bir kararı ya da bir tesisin güvenliğini üstlenmek zorunda olan bir insanın, bir kâhinden hüküm almaya değil, akıl yürütmeyi doğrulamaya ihtiyacı vardır. Burada açıklanabilirlik kozmetik bir lüks değil. Güvenmeyi kabul etmemizin ön koşulu.

Ve burada, yapay zekâ üzerine yazdığım her şeyden geçen bir saplantıma yeniden dönüyorum: anlaşılmayan bir yanıt aslında yanıt sayılmaz. Kesinlik kılığına girmiş bir bahistir.

III. Püf noktası: problemi katmanlara ayırmak#

Makalenin fikri zarif ve özünde tam bir “mühendis” fikri: her şeyi yutup opak bir karar tükürüp çıkaran tek bir dev yapay zekâ yerine, problem I&C'nin gerçek yapısı izlenerek parçalara ayrılıyor.

Bir I&C sistemi katmanlar hâlinde düzenlenir. En altta, fiziksel süreçle doğrudan temas eden sensörler ve aktüatörler. Onların üstünde kontrolörler: otomasyon birimleri, yani PLC'ler. Daha da üstünde izleme ve yönetim istasyonları. Ve kritik bir ayrıntı: bir saldırganın yetkinlikleri de giriş noktaları da hedeflediği katmana göre değişir.

Bu yüzden çerçeve (framework), her katman için bir tane olmak üzere, her biri kendi veri türüyle beslenen üç uzmanlaşmış dedektör kuruyor:

  • ağ trafiğini izleyen bir IT modülü: saldırıların çoğunun geldiği üst katman;
  • kontrolör verilerini izleyen bir ICS modülü: döngü süresi, PLC'nin durumu;
  • reaktörün fiziksel değişkenlerini izleyen bir Process modülü: seviye, debi, basınç.

Mekanizma da işte burada zekice bir hâl alıyor. Her modül yalnızca 0 ya da 1 ile yanıt veriyor: normal ya da anormal. Ama açıklamayı oluşturan, üç yanıtın birleşimi.

ITICSProcessTeşhis
000Nominal çalışma
001Süreç bozulması ya da ekipman arızası
010Bir PLC'nin arızalanması
110Kumanda birimlerine ulaşmış siber saldırı
111Sürece kadar yayılmış saldırı

Başka bir deyişle sistem yalnızca “saldırı” ya da “arıza” demiyor. Olayın nerede gerçekleştiğini ve nereye kadar uzandığını söylüyor. Açıklama, operatörü rahatlatmak için sonradan eklenmiyor: mimarinin kendisine yerleşik.

Gelecekteki bir mühendis olarak tatmin edici bulduğum son nokta: her katmanın kendi algoritması var. Tablo biçimindeki ağ ve PLC verileri bunlara uygun yöntemlerle işleniyor: karar ağacı ormanları, gradient boosting. Zaman serisi niteliğindeki süreç değişkenleri ise zamana özelleşmiş bir ağa (bir LSTM) emanet ediliyor; bu ağ normal davranışı öngörmek ve gerçek bundan saptığı anda alarm vermek üzere eğitilmiş. En büyük çekiç değil, veriye en uygun alet seçiliyor. Test düzeneklerindeki sonuç: yaklaşık %99 doğru tanımlama.

Sonuç: bir tasarım kısıtı olarak açıklanabilirlik#

Bu makale beni rakamlarından çok, satır aralarında söyledikleriyle etkiledi. Bir yapay zekâyı performansıyla değerlendirme eğilimindeyiz: tespit oranıyla, kesinliğiyle. Ama kritik bir sistemde bu ölçüt eksik kalır. Haklı olup bunu gerekçelendiremeyen bir yapay zekâ kullanılamaz durumda kalır, çünkü aklı başında hiç kimse dilsiz bir kâhinin sözüne dayanarak bir reaktörü durdurmaz.

Açıklanabilirlik, en sonda göze hoş görünsün diye eklenen bir katman olmamalı. Kesinlik ya da gecikme gibi bir tasarım kısıtı olmalı ve buradaki gibi daha mimari aşamasında düşünülmeli. Bu, enerji ya da bu araçlara olan kendi bağımlılığımız konusundaki refleksin aynısı: ayrıntı diye geçiştirdiğimiz şey eninde sonunda karşımıza çıkar.

Ve dürüst olalım: bu bir sihir değil. Yazarların kendi testlerinde, fark edilmesi çok zor birkaç saldırı radara yakalanmadan geçti; süreci alarm eşiğini aşamayacak kadar hafif ve kısa süre etkiledikleri için yanlış sınıflandırıldılar. İnsanı döngüde tutmamızın ve makinenin ona gösterdiğini anlamasını istememizin nedeni de tam olarak bu: makinenin kaçırdığını yakalayabilmesi.

Yapay zekâya bir mühendis gibi bakmak, ondan haklı olmasını istemek değildir. Bunu kanıtlayabilmesini istemektir.

Açıklaması olmayan bir yanıt şüpheyi ortadan kaldırmaz. Yalnızca yerini değiştirir.