Çocukken “Elektrikler kesikti çalışamadım hocam.” derdik, bugün yaşanan geniş çaplı kesinti sırasında ise “Siber saldırı var hocam.” sözünü çokça duyduk.
PLC, ICS ve SCADA nedir ve neden önemlidir?
Özünde aynı şey, üretim hattı veya makineleri yönetmek için kullanılan sistemlerdir. Protokol ve/veya üretici farkı olsa da temelde programlanabilir bir mikroişlemci sayesinde fabrika veya üretim otomasyonu yapmamızı sağlarlar.
Terimlere kısaca bakacak olursak:
PLC: İngilizce “Programmable Logic Controller” yani programlanabilir mantıksal denetleyici kelimelerinin baş harflerinden oluşmaktadır.
ICS: İngilizce “Industrial Control Systems” yani endüstriyel kontrol sistemleri kelimelerinin baş harflerinden oluşmaktadır.
SCADA: İngilizce “Supervisory Control and Data Acquisition” yani Kapsamlı ve entegre bir Veri Tabanlı Kontrol ve Gözetleme Sistemi kelimelerinin baş harflerinden oluşmaktadır.
Hedefe özel yazılmış zararlı yazılımların megastarı olarak adlandırabileceğimiz STUXNET’in ortaya çıkmasıyla bu sistemlerin siber saldırıların hedefi olabileceği gerçeği geniş kitlelerin dikkatini çekti.
Otomasyon sistemlerinin hedef alındığı saldırılar aslında yeni değildir ve ilk örnekleri soğuk savaş yıllarında görülmüştür. Soğuk savaşın en yaygın olarak anlatılan siber saldırı hikâyelerinden birisi (CIA tarafından resmi olarak teyit edilen bir olay olmadığı için bu aşamada “hikâye” demek zorundayız) de 1982 yılında Sibirya Boru Hattında yaşanan patlamaydı. Rusya’nın en önemli boru hattı projelerinden birinin sonuna yaklaşan dönemin Sovyet yönetimi bu boru hattını yönetecek bir yazılıma sahip olmadıklarını farkedince bu eksikliklerini ABD’nin elindeki yazılımlardan birini çalarak gidermeye karar verir. Fransız istihbarat örgütünün uyarısı üzerine CIA Rusların çalmaya çalıştığı koda bir hata ekleyecek 1982 yılının Temmuz ayında boru hattında bir patlamaya neden olurlar.
SSCB tarafından patlamaya konu Sibirya Boru Hattı anısına basılmış bir pul.
“Gerçek dünya” olarak adlandırabileceğimiz fiziksel boyutta herhangi bir şeyi kontrol eden herhangi bir yazılımı ele geçirebilmek, şüphesiz hepimizin hayal gücünü devreye sokar. Trafik ışıklarını kendi geçişimize göre yönetebilmek, asansörün her zaman bizi katta beklemesi, köprüden ücretsiz geçmek, emniyet şeridini kontrol eden kameraların bize ceza yazmaması, mağaza alarmını devre dışı bırakmak, gibi yüzlerce senaryo aklımıza gelir. Bunların bir uzantısı olarak da, belki de filmlerde görmeye alışkın olduğumuz ve dünyayı yok etmeye çalışan “deli profesörler” gibi bir nükleer tesisi patlatmak veya bir ülkenin elektriklerini tamamen kesmek gibi daha “fantastik” senaryolar aklımıza gelebilir.
Bütün ülkenin elektriğini kesmek
Bugün yaşanan geniş çaplı elektrik kesintileri siber odaklı geniş çaplı komplo teorilerine neden oldu. Bu konulara bulaşmış birisi olarak gerçek durumumuz hakkında biraz araştırma yapma ihtiyacı duydum.
PLC’ler nasıl bulunur?
İnternete bağlı PLC sistemleri bulmak için kullanılabilecek onlarca farklı yöntem vardır, bunlardan bazıları:
ERIPP veya scan.io projelerinin sonuçlarından faydalanmak
Port taraması yapmak
Port taraması yapmak kaynak ve saldırgan IP’lerin hedef sistemler tarafından tespit edilmesi gibi belli ölçüde risk almayı gerektirdiği için ilk tercih edilen yöntem olmayacaktır. Bunun yerine arama motorları her ne kadar daha sınırlı sonuçlar verse de ilk aşamada daha hızlı bir yaklaşım olacaktır.
Aşağıdaki bir kaç örnekte Google aramaları ile bulduğum internete açık bazı PLC sistemlerini görüyorsunuz.
Yukarıda: SIMATIC PLC’leri tespit etmek için kullanılabilecek bir Google arama sorgusu
Yukarıda: Bulunan SIEMENS SIMATIC PLC’lerden birinin arayüzü
Yukarıda: Başka bir PLC arayüzü
Yukarıda: Rüzgar enerjisinden elektrik üreten bir istasyonun günlük enerji üretim değerleri tablosu. Google araması ile bulundu.
Yukarıda: Yaygın olarak kullanılan ROCKWELL marka bir PLC’nin internete açık arayüzü
Yukarıda: Başka bir PLC’nin ağ bağlantıları tablosu
Google aramaları dışında ShodanHQ gibi internete bağlı belli cihazları endeksleyen arama motorlarının da saldırganlar tarafından hedef bulmak için kullanıldığını biliyoruz.
Gerçek durum nedir? 2008 yıllarının ortasında başlayan ve internete bağlı PLC sistemleri endeksleyen SHINE (SHodan INtelligence Extraction) projesi 2013 yılının sonuda 1,000,000’dan fazla PLC’nin internete bağlı olduğunu ve her gün yüzlerce yenisinin eklendiğini açıklamıştı 2014 yılının sonlarında yayınladığı rakam ise 2,100,000’i geçmişti.
Amerika Birleşik Devletleri, Almanya ve Çin gibi sanayisi gelişmiş ülkelerden oluşan ülkeler dünya genelinde internete bağlı PLC sistemlerinin 1,800,000’den fazlasını barındırıyor. A.B.D. ile Almanya’nın toplamı dünya genelinde internete bağlı PLC sistemlerin %49’unu barındırıyor.
2014 yılının son aylarında Türkiye’de internete bağlı 16,348 PLC sistem tespit edilmiş. PLC’lerin internete bağlı olmasının oluşturduğu en önemli problemlerden biri şüphesiz yüksek güvenlik riskleridir. PLC’lerin temellerinin atıldığı yıllarda siber güvenlik konusu ne yazık ki çok gündemde değildi. Hatta bugün de internetin temelinde yatan pek çok “güvenilmez” uygulama o yılların naif mimari yaklaşımlarından kaynaklanmaktadır.
Günümüzde kullanılan pek çok PLC yalıtılmış iç ağlarda çalışacakları varsayılarak tasarlandığı için güvenlik özellikleri genelde ikinci plana itilmiştir.
PLC Güvenliği için neler yapılabilir?
İnternete bağlı otomasyon sistemlerinin güvenliğinin sağlanabilmesi için atılabilecek en önemli adım üreticilerin bu konuda harekete geçmesi olacaktır. O gün gelene kadar ise, her konuda olduğu gibi, güvenliği sağlama sorumluluğu biz kullanıcılar üzerindedir.
Sistemlerin mevcut durumunu anlayın
PLC sistemleriniz üzerinde yaptıracağınız güvenlik testleri size sistemlerinizin mevcut güvenlik seviyesi hakkında somut bilgiler verecektir. PLC sistemlerinin güvenliğini sağlamak için bütçe ayırmak ilk bakışta mantıklı gelse de kapsamlı güvenlik testleri ve risk analizlerinin sonucunda belki de bu sistemlere para harcamaya gerek olmadığı ortaya çıkacaktır. Durumu anladıktan sonra harekete geçmek daha doğru olacaktır.
Evet, sıkıcı konular. Herşeye prosedür yaz, prosedürleri uygula, güncelle, vs. Ama neyin nasıl yapılması gerektiğini ortaya koymadan ve buna uymadan PLC gibi kritik sistemler üzerinde yapılacak her işlem (en basit güncellemeden sistem mimarisi değişikliklerine kadar) yeni zafiyetlerin ortaya çıkmasına neden olabilir.
Sistemleri idare eden personelin PLC konusunda eğitim alması sistemlerin daha güvenli ve verimli çalışmasını sağlar. Eğitimler sırasında PLC güvenliği konularına da değinmek önemlidir.
Bilgisayar ağlarında yaptığımız gibi PLC ağlarını da birbirinden bağımsız altağlara ayırmak güvenlik açısından fayda sağlar.
PLC’lere kimin hangi şartlarda ve hangi işlemleri yapmak için erişebildiğinin belli olması şarttır. Bu erişimlerin ve yapılan işlemlerin kayıt altına alınması hem operatör hatalarını azaltabilecek bir çalışmanın temelini oluşturur hem de yetkisiz müdahalelerin kısa zamanda tespit edilmesini sağlar.
Kimsenin sistemleri dışarıdan yönetmesi gerekmiyorsa PLC’nin internetle bağlantısı olmadığından emin olun. Bu bağlantının bir şekilde (yanlış kablolama, altağ değişikliği, vb.) yanlışlıkla sağlanmadığından emin olmak için düzenli olarak kontrol edin.
PLC üzerindeki işlemleri takip edip yetkisiz veya olmaması gereken işlemlerin tespit edilmesini sağlayacak bir yapının mutlaka kurulması gerekmektedir.
PLC güvenliği konusunda da, tıpkı ağ güvenliğinde olduğu gibi, 5 yıl öncesinin “saldırganın içeri girmesini engelleyelim” yerine “saldırganlar eninde sonunda sızacak bunu mümkün olduğunca hızlı tespit edip etkisiz hale getirelim” yaklaşımı günümüz tehditlerine karşı daha uygun bir yaklaşımdır. Güvenliği “sağlanan” bir şey olmadığını ve sürekli izlenmesi gerektiğini hatırlamakta ve bunun özellikle, PLC’ler gibi fiziksel etkileri olabilecek sistemler için, daha da önemli olduğunu bilmekte fayda var.