HMI → Cloud komunikacija iz perspektive kibernetičke sigurnosti
Kako osigurati prijenos podataka iz automatizacijskih sustava (OT) prema cloud sustavu za upravljanje održavanjem
Kako osigurati prijenos podataka iz automatizacijskih sustava (OT) prema cloud sustavu za upravljanje održavanjem
Logging Industrial Data from a Cybersecurity Perspective.
Opis problema
Optix-Fiix Library
Rockwell Automation omogućio je korištenje Optix-Fiix biblioteke. Ova biblioteka služi za integraciju FactoryTalk Optix aplikacija s Fiix CMMS cloud sustavom za upravljanje održavanjem.
Pod pretpostavkom da FT Optix aplikacija ima izravan pristup automatizacijskim podacima iz upravljačkih sustava, Optix-Fiix biblioteka omogućuje automatsko slanje tih podataka u Fiix cloud bazu. To može uključivati očitanja senzora, broj ciklusa, zabilježene događaje ili druge podatke koji odražavaju stanje pojedinih sredstava (asset-a) koja podliježu održavanju.
Na temelju tih vrijednosti, Fiix sustav automatski generira radne naloge (zahtjeve za održavanje). Oni se distribuiraju odgovarajućim članovima tima za održavanje, a njihov status prati se unutar Fiix sustava.
Uz automatski prijenos podataka, Optix-Fiix biblioteka omogućuje i operateru ručno kreiranje radnog naloga u Fiix sustavu izravno s HMI panela.
Budući da je Fiix cloud sustav, podaci se prema njemu šalju putem API sučelja — odnosno putem HTTP (ili HTTPS) komunikacije preko javnog interneta.
Na prvi pogled jasno je da Optix-Fiix biblioteka korisnicima pruža značajne mogućnosti. Omogućuje integraciju OT podataka izravno s CMMS sustavom bez potrebe za programiranjem ili ručnim unosom podataka. Tako prikupljeni podaci služe kao temelj za prediktivno održavanje, čime se smanjuju neplanirani zastoji i povećava operativna učinkovitost.
Implementacija Optix-Fiix biblioteke također je vrlo jednostavna unutar FT Optix Studio okruženja, a dostupna je i detaljna, jasno strukturirana dokumentacija.
Međutim, ostaje pitanje može li se ova komunikacija podataka adekvatno osigurati s aspekta kibernetičke sigurnosti — odnosno može li se integracija industrijskih podataka s cloud sustavom provesti na siguran način. Cilj ovog članka je upravo odgovoriti na to pitanje.
Početna situacija
Krenimo od iste početne situacije kao u prethodnom članku o data logging. Proizvodna linija upravljana je s dva ControlLogix upravljačka sustava tvrtke Rockwell Automation. Operaterima su na raspolaganju tri HMI panela (primjer, Optix grafički panel). Kao i u prethodnom slučaju, HMI aplikacija mora imati dvosmjerni pristup PLC podacima — istovremeno prikazuje podatke u vizualizaciji i omogućuje operaterima upravljanje proizvodnom linijom putem HMI-ja.
Za razliku od prethodnog članka, fokus ovdje nije na data logging-u — tom temom se nećemo baviti. Međutim, kada predstavimo konačnu preporučenu
arhitekturu na kraju, bit će jasno da se oba zahtjeva mogu prirodno objediniti u jednom projektu.
Naš zahtjev u ovom slučaju je sigurno zapisivati odabrane tagove iz upravljačkih sustava (ili varijable iz HMI aplikacije) u cloud sustav Fiix CMMS.
Hardver:
- Dva ControlLogix PLC-a kao izvori podataka
- Jedan Optix Edge uređaj kao runtime za FT Optix aplikaciju
- Tri Optix panela kao HMI terminali / web klijenti
Pogrešno rješenje: izravna povezanost HMI-ja s cloudom
Najjednostavnije rješenje — koje se na prvi pogled može činiti logičnim — jest implementirati Optix-Fiix biblioteku izravno unutar FT Optix aplikacije koja se izvršava na Optix Edge uređaju u OT mreži, odnosno unutar same vizualizacijske aplikacije. Time se dobiva jedinstvena aplikacija koja istovremeno obavlja funkciju HMI-ja i prijenosa podataka prema Fiix CMMS cloud sustavu.
Budući da je Fiix internetska usluga, preduvjet za ovakvo rješenje je da Optix Edge uređaj ima izravan izlazni pristup javnom internetu.
Svi uređaji povezani su u jednu ravnu (flat) mrežu: oba PLC-a, Optix Edge i tri HMI panela nalaze se u istom mrežnom segmentu. Optix Edge komunicira i s PLC-ovima i s internetom. Ne postoji zaštitni sloj niti kontrolna točka za inspekciju prometa.
Izravna izloženost OT mreže internetu
Optix Edge uređaj s aktivnom izlaznom internetskom povezivošću predstavlja potencijalnu ulaznu točku za napadača iz javne mreže. Svaka ranjivost u Optix-Fiix biblioteci, FT Optix runtime okruženju ili operacijskom sustavu uređaja može biti iskorištena za neovlašteni udaljeni pristup. Napadač koji kompromitira Optix Edge uređaj odmah se nalazi u istom mrežnom segmentu kao i oba PLC-a.
Jedna FT Optix aplikacija s više uloga
U ovom slučaju jedna FT Optix aplikacija istovremeno obavlja funkciju vizualizacije i komunikacije s cloudom. Kao i u prethodnom članku, moguće je razdvojiti te funkcije u dvije odvojene FT Optix aplikacije koje se izvršavaju na dva različita Optix Edge uređaja — ili na jednom uređaju korištenjem kontejnerizacije.
Takvo razdvajanje svakako je ispravno iz perspektive separation of concerns te budućeg upravljanja i održavanja sustava, ali ne uklanja temeljni sigurnosni problem: izravnu izloženost OT mreže javnom internetu.
Nedostatak segmentacije i otežano praćenje
Također je važno naglasiti da u ravnoj (flat), nesegmentiranoj mreži nije moguće učinkovito kontrolirati niti nadzirati tokove podataka između OT uređaja i vanjskog svijeta. Ne postoji točka inspekcije koja bi omogućila detekciju anomalija, blokiranje neželjenih konekcija evidenciju o tome što se zapravo šalje i kamo.
Kompromisno rješenje: integracijski host bez staging sloja
Kompromisno rješenje uvodi jedno ključno poboljšanje: funkcija integracije s cloudom izmješta se iz OT mreže na namjenski host smješten u IDMZ (Industrial Demilitarized Zone). Na tom integracijskom hostu izvršava se FT Optix aplikacija s implementiranom Optix–Fiix bibliotekom, koja je isključivo zadužena za slanje podataka u Fiix CMMS. FT Optix HMI aplikacija za vizualizaciju ostaje unutar OT mreže. Između OT mreže i integracijskog hosta postavlja se industrijski firewall. Integracijski host izravno čita podatke iz OT mreže, a postoji više opcija za konfiguraciju te komunikacije, uključujući:
- izravno čitanje podataka iz upravljačkih sustava u FT Optix
- OPC komunikaciju između dviju FT Optix aplikacija
- MQTT komunikaciju između dviju FT Optix aplikacija
Firewall pravila zatim se konfiguriraju u skladu s odabranim načinom komunikacije.
Što je poboljšano
- Optix Edge uređaj u OT mreži više ne zahtijeva izravan pristup internetu. HMI paneli i upravljački sustavi time više nisu izravno izloženi javnoj mreži.
- Vizualizacijska aplikacija i cloud integracija razdvojene su na različite uređaje, svaki u zasebnoj mreži i s ograničenijim opsegom komunikacijskih ovlasti.
- Firewall omogućuje ograničavanje izlaznog prometa na točno određenu odredišnu adresu. Tako se može dopustiti isključivo HTTPS komunikacija prema Fiix API poslužitelju, dok se sav ostali izlazni promet može blokirati. Time se značajno smanjuje rizik zlouporabe integracijske aplikacije za neželjenu komunikaciju s drugim poslužiteljima.
- Korištenje industrijskog firewalla također omogućuje nadzor i audit mrežnog prometa.
Gdje rizik i dalje postoji
Integracijski host ima izravan pristup OT mreži radi čitanja podataka, a istovremeno i izravan pristup internetu radi slanja podataka u Fiix cloud. Time zapravo djeluje kao svojevrsni most između dva svijeta koja bi trebala biti strogo odvojena. U usporedbi s prethodnim rješenjem, veza prema vanjskom svijetu sada je donekle udaljenija od upravljačkih sustava — ali most i dalje postoji. Ako napadač kompromitira integracijski host, izravan put prema OT mreži i dalje ostaje otvoren.
Sigurnost ovog rješenja izravno ovisi o tome koliko je integracijski host kvalitetno konfiguriran, redovito ažuriran i nadziran. Za manje kritične projekte ovakav pristup može biti dovoljan, ali se ne može preporučiti kao dugoročno rješenje za industrijska okruženja s visokim sigurnosnim zahtjevima.
Sigurno rješenje: arhitektura sa staging SQL slojemPotpuno sigurna arhitektura temelji se, kao i u prethodnom članku, na Purdue Modelu i principu „Defense-in-depth“ (višeslojne zaštite).
Mreža je podijeljena u tri zone odvojene industrijskim firewallima: OT mrežu (Purdue L1–L2), IDMZ (Purdue L3.5) i IT mrežu (Purdue L4).
OT mreža
Konfiguracija uređaja u OT mreži u osnovi je identična onoj iz prethodnog članka o data logging-u. Funkcionalnost je podijeljena između dvije FT Optix aplikacije koje se izvršavaju na dva odvojena Optix Edge uređaja — ili na jednom uređaju korištenjem Docker kontejnera. Jedna aplikacija upravlja HMI terminalima, koji su izolirani u zasebnoj mreži. Druga FT Optix aplikacija zadužena je za prikupljanje podataka relevantnih za održavanje — odnosno podataka koji su namijenjeni za kasniji prijenos prema Fiix API-ju.
IDMZ i staging SQL server
FT Optix aplikacija koja se izvršava na Optix Edge uređaju u OT mreži kontinuirano zapisuje odabrane tagove u staging SQL server smješten u IDMZ-u. Ova operacija zapisivanja prolazi kroz prvi firewall (označen kao Firewall 1 u dijagramu) i strogo je jednosmjerna — dopušten je samo smjer iz OT mreže prema IDMZ-u. Komunikacija u suprotnom smjeru je blokirana.
IT mreža
FT Optix integracijska aplikacija nalazi se u IT mreži — odnosno iza drugog firewalla. Njezina uloga je periodički čitati podatke iz staging SQL servera. Ova komunikacija također slijedi pull princip — komunikaciju uvijek inicira aplikacija koja čita podatke, tj. komponenta u IT mreži. Dohvaćeni podaci pohranjuju se u interne varijable FT Optix aplikacije.
Ova integracijska aplikacija u potpunosti koristi Optix–Fiix biblioteku. Putem njezinih objekata podaci se šalju putem HTTPS-a prema Fiix API-ju.
U ovom trenutku može se postaviti pitanje je li FT Optix nužan kao integracijska aplikacija. Naravno da nije. Slična aplikacija — koja periodički čita podatke iz SQL baze i šalje ih putem HTTPS zahtjeva prema definiranom API endpointu — može se razviti u različitim programskim jezicima. Međutim, FT Optix u kombinaciji s Optix–Fiix bibliotekom omogućuje jednostavnu izradu integracijske aplikacije unutar Optix Studio okruženja, korištenjem gotovih objekata — bez potrebe za programiranjem.
Firewall pravila
- Firewall 1 (između OT i IDMZ): dopušta isključivo jedan tok podataka — zapisivanje tagova s Optix Edge uređaja u staging SQL server (TCP 1433). Sva komunikacija u suprotnom smjeru je blokirana.
- Firewall 2 (između IDMZ i IT): dopušta samo komunikaciju iz IT mreže prema IDMZ-u radi čitanja podataka iz staging baze. Sav ostali promet je blokiran.
- Perimetar IT mreže: dopušta izlaznu HTTPS komunikaciju iz integracijske aplikacije prema Fiix API-ju (TCP 443)
Rezultat
Integracijska aplikacija koja se izvršava u IT mreži pristupa toj bazi isključivo u read-only načinu (prema pull principu), nakon čega obrađene podatke šalje prema Fiix cloud API sustavu putem zaštićene HTTPS komunikacije (TCP 443).
Ovakav pristup osigurava sljedeće:
- OT uređaji nikada nisu izravno izloženi IT mreži niti internetu,
- IDMZ služi kao siguran posrednički sloj za razmjenu podataka,
- integracijska aplikacija u IT mreži ne komunicira izravno s PLC uređajima,
- sva komunikacija prema cloudu odvija se isključivo iz IT zone.
Zaključak
Optix–Fiix biblioteka predstavlja tehnički elegantno rješenje koje značajno pojednostavljuje integraciju OT podataka s Fiix CMMS cloud sustavom. Budući da se radi o prijenosu podataka iz industrijske automatizacije prema javnom cloudu, sigurnosne rizike potrebno je uzeti u obzir već tijekom implementacije.
Pogrešno rješenje — izravna komunikacija s javnim internetom s Optix Edge uređaja u OT mreži — funkcionalno jest izvedivo, ali je sa sigurnosnog aspekta neprihvatljivo..
Kompromisna varijanta s integracijskim hostom premješta rizik izvan OT mreže, ali ga ne uklanja.
Tek arhitektura sa staging bazom u IDMZ-u i dva industrijska firewalla pruža zadovoljavajuću razinu sigurnosti.
Dodatni troškovi — staging server, industrijski firewalli i pripadajuća infrastruktura — i u ovom su slučaju zanemarivi u usporedbi s potencijalnim posljedicama sigurnosnog incidenta u OT okruženju.
Ispravno dizajnirana arhitektura ni na koji način ne ograničava funkcionalnost: Fiix CMMS prima iste podatke kao i u slučaju izravnog pristupa, a operateri koriste identično HMI sučelje.
Ako je potrebno kombinirati cloud integraciju s data logging-om prema IT SQL serveru, obje funkcionalnosti mogu se paralelno implementirati unutar predložene arhitekture.
Napomena: Ovaj članak obrađuje dizajn aplikacije i mrežne infrastrukture. Sveobuhvatna kibernetička sigurnost određenog projekta zahtijeva i razmatranje drugih aspekata, kao što su: analiza rizika, sigurnost na razini uređaja i aplikacija, upravljanje identitetima i pristupom, nadzor anomalija te sigurnost same API komunikacije (upravljanje i rotacija API ključeva itd.).