Tüm yazılar
Genel

Telefonu HMI'ye Şarj İçin Taktı, Air-Gap Delindi

Bir operatör kişisel telefonunu HMI'nin USB portuna şarj için taktı, tethering otomatik açıldı, 'hava kesintili' ağ saniyeler içinde internete bağlandı. O tek bağlantıyı nasıl bulduk ve masada 30 dakikanın sahada neden 3 hafta sürdüğünü anlatıyorum.

Telefonu HMI'ye Şarj İçin Taktı, Air-Gap Delindi

Geçen kış, Kocaeli’de bir tesiste. Tesisin ağ mimarisi klasikti: OT tarafı “hava kesintili” — yani fiziksel olarak enterprise ağdan kopuk, 10.20.0.0/24’te kendine yeten, firewallerıyla değil, “kablosu yok” mantığıyla izole edilmiş bir dünya. Beş yıldır tek bir güvenlik olayı yoktu. Taş gibi.

O günde operatör bir şikayet getirdi: “Telefonum şarj olmadı HMI’den, sonra HMI’de internet simgesi belirdi.”

Operatörün gözünde olayın sırası buydu: önce telefon, sonra simge. Ağ ekibinin gözüne ilk çarpan şey de buydu. Ama gerçekte olay çok daha basit bir yoldan açılmıştı. Bir USB portu, bir “kişisel şarj ihtiyacı” ve iki saniyelik bir tethering. Bu yazı o iki saniyeyi ve onu kapatmamızın neden üç hafta sürdüğünü anlatıyor.

Telefon Gerçekten mi Tethering Açtı?

Açtı. Ve bu bir komplo değil, telefonun kendi davranışı.

İşin teknik tarafı şu: Android bir telefonu USB’ye taktığında cihaz iki mod arasından birini seçer — ya “şarj”, ya “veri”. Operatörün telefonu, fabrika duvarındaki prizlerin zayıflığından biliyordu ki şarj akımı yetersiz gelir, otomatik olarak “kişisel hotspot / USB tethering” moduna geçmiş. Tethering kapalıyken bile, telefona veri modunda takılan USB hattı üzerinden bir yol arar; telefon, “internete başka yoldan çıkış var mı?” diye bakar.

Otobüse binip pencereyi açmak gibi düşünün. Pencereyi operatör açmadı, telefon açtı. Operatör sadece kabloyu takmıştı.

Sahanın gerçeği şu: HMI panellerinin (PanelView, Comfort Panel, Touchflex) USB portu “şarj” tanımıyla değil, “şarj + veri” tanımıyla gelir. Yani port, telefonun istediği protokolü sorar ve cevap verir. Tethering de o protokollerden biri.

10.20.0.0/24 Neden Anında Açıldı?

Bu, benim ilk gözlemimde “imkansız” olarak gördüğüm kısım.

10.20.0.0/24 OT ağı kendi DNS’i yoktu. Kendi DHCP’i vardı ama scope’u sadece 10.20.0.10–10.20.0.50 arasıydı. Telefon tethering açtığında, HMI portu üzerinden 3G/4G hattı aktif hale geldi. HMI tarafında, o an “internete çıkabilirim” diyen tek cihaz o telefondu.

Ama asıl mesele şu: tesisin PLC tarafında “internet” diye bir kavram yoktu. S7-1500 CPU 10.20.0.x’te, OT ağı dışarıya açan tek rota o telefonun tethering hattıydı. Ağda “dışarı” diyebilen bir cihaz yoktu — ta o an kadar. İşte o “dışarı” kelimesi, beş yıllık hava kesintisini bitiren kelimeydi.

Bana “beş yıldır olay yoktu” demişlerdi. Olay yoktu, ama portlar açıktı. Beş yıl “şansı”ydı. Beşinci yılın sonunda şarj kablosu geldi.

Tespit Ne Kadar Sürdü — ve Neden Masada 30 Dakika Burada 3 Hafta?

Tesbit süresi: iki gün. Kapatma süresi: üç hafta.

Bu iki sayıyı yan yana koyduğunuzda mesele ortaya çıkıyor. Masada, yani laboratuvarda, aynısını üretmek 30 dakika:

  1. Panel’in USB portuna bir telefon takın.
  2. Ağı bir aynaya (port mirror) bağlanmış bir PC’den izleyin.
  3. 30–60 saniye içinde ARP paketi görürsünüz.

Sahada bu üç adımı yapmamız üç gün sürdü. Çünkü:

Yani, kapatma süresi teknik değil, prosedür süresiydi. Masada 30 dakikanın sahada 3 hafta sürmesinin sebebi, teknik değil, prosedür ve prosedürün kimin masasından geçtiğiydi.

Neden “USB’yi Kapatayım” Tek Başına Yeterli Değil?

En yaygın ilk tepki bu: “USB’yi kapatalım.” Kapattım. Üç ayda iki tekrar oldu.

Sebebi şu: USB’yi kapatma kararı tek bir karar gibi görür. Ama sahadaki USB, tek bir karar değil:

Her biri “USB lazım” der. Tek bir “USB kapalı” kararı, altı farklı ihtiyacı kapatır. Ve her biri bir başka kapıdan gelir. Kapıyı kapatırsınız, altı kapıdan geçilen tek bir koridor kalır. Üç ay sonraki tekrar da o koridordan geçti.

Benim uyguladığım çözüm şu sırayla:

  1. USB’yi fiziksel olarak kilitli kapla (kapağı, tek anahtar).
  2. Sadece bakım vardiyasında, yalnızca teknik USB portundan izinli erişim.
  3. Her erişim, kayıt. “Kim, hangi saat aralığında, hangi porttan.”
  4. Ağ tarafında, OT ağındaki her cihazın “dışarı çıkış” deneti. Port kilitse bile, “dışarı” diyecek bir cihaz varsa, ağ onu keser.

Dördüncü madde kritik. Birinci, ikinci ve üçüncü madde “portu koru”. Dördüncü madde “port açıldıysa bile, dışarıya açılmaz” demektir. Beş yıllık hava kesintisi, birinci maddenin beş yıl çalıştığı bir tesisti. Beş yıl sonunda, birinci madde değil, dördüncü madde bizi kurtardı.

Bir Daha Olmasa Ne Yapmalıyım?

Sadece bir “kontrol listesi” değil, şu üç cümle:

Gelecek yazıda NIS2 geliyor — 56 proje bütçesi, tek güvenlik satırı yok. Orada da “prosedür” kelimesini çok kullanacağım.