news-header

Kako zavarovati prenos podatkov o avtomatizaciji iz OT sistema v sistem za upravljanje vzdrževanja v oblaku

Opis problema

Knjižnica Optix-Fiix
Podjetje Rockwell Automation omogočilo dostop do knjižnice Optix-Fiix. Ta knjižnica se uporablja za integracijo aplikacij FactoryTalk Optix s cloud sistemom za upravljanje vzdrževanja Fiix CMMS.

Ob predpostavki, da ima aplikacija FT Optix neposreden dostop do podatkov o avtomatizaciji iz krmilnih sistemov, knjižnica Optix-Fiix omogoča samodejno pošiljanje teh podatkov v zbirko podatkov Fiix v oblaku. To lahko vključuje odčitke senzorjev, število ciklov, zabeležene dogodke ali druge podatke, ki odražajo stanje posameznih sredstev, ki so predmet vzdrževanja.

Na podlagi teh vrednosti sistem Fiix samodejno ustvari delovna naloge (zahteve za vzdrževalna dela). Ta se razpošljejo ustreznim članom vzdrževalne ekipe, njihov status pa se spremlja znotraj sistema Fiix.

Poleg tega samodejnega prenosa podatkov, knjižnica Optix-Fiix operaterju omogoča tudi ročno ustvarjanje delovnih nalogov v Fiixu neposredno s svojega HMI vmesnika.

Ker je Fiix CMMS sistem v oblaku, se podatki nanj prenašajo prek vmesnika API – kar pomeni komunikacijo HTTP (ali HTTPS) prek javnega interneta.

Na prvi pogled je jasno, da knjižnica Optix-Fiix strankam ponuja odlične zmogljivosti. OT-podatke neposredno integrira s sistemom CMMS brez kakršnega koli programiranja ali ročnega vnašanja podatkov. Ti samodejno preneseni podatki nato služijo kot podlaga za prediktivno vzdrževanje, kar zmanjša neplanirane izpade in izboljša operativno učinkovitost.

Implementacija knjižnice Optix-Fiix je v okolju FT Optix Studio prav tako zelo preprosta, na voljo pa je tudi podrobna, dobro strukturirana dokumentacija.

Ostajata pa vprašanji, ali je to podatkovno komuniciranje mogoče zavarovati s stališča kibernetske varnosti? Ali lahko integracijo industrijskih podatkov z oblačnim sistemom izvedemo varno? Cilj tega članka je odgovoriti prav na to vprašanje.

Izhodiščna situacija
Začnimo z isto situacijo kot v prejšnjem članku o beleženju podatkov. Proizvodno linijo nadzorujeta dva krmilna sistema ControlLogix podjetja Rockwell Automation. Operaterji imajo na voljo tri HMI-plošče (na primer grafične plošče Optix). Kot v prejšnjem primeru mora imeti HMI aplikacija dvosmerni dostop do podatkov PLC – podatke prikazuje v vizualizaciji in operaterjem omogoča nadzor proizvodne linije prek HMI.

Za razliko od prejšnjega članka se tukaj ne osredotočamo na beleženje podatkov – te teme ne bomo obravnavali. Ko pa bomo na koncu predstavili končno priporočeno arhitekturo, bo jasno, da bi se obe zahtevi lahko naravno združili v en sam projekt.

Naša zahteva je tokrat, da izbrane tage iz krmilnih sistemov (ali spremenljivke iz HMI aplikacije) varno zapišemo v CMMS sistem Fiix v oblaku.

Strojna oprema:

  • Dva PLC-ja ControlLogix kot vira podatkov
  • Ena naprava Optix Edge kot platformo za izvajanje FT Optix aplikacije
  • Trije Optix paneli kot HMI vmesniki ali pa spletni odjemalci

Nepravilna (naivna) rešitev: neposredna povezava iz HMI panela v oblak

Najpreprostejša rešitev – tista, ki se na prvi pogled zdi očitna – je namestitev knjižnice Optix-Fiix neposredno v aplikacijo FT Optix, ki teče na napravi Optix Edge v OT omrežju, tj. znotraj aplikacije za vizualizacijo. Rezultat je ena sama aplikacija, ki hkrati upravlja HMI in prenos podatkov v CMMS sistem Fiix v oblaku.

Ker je Fiix internetna storitev, je pogoj za to rešitev, da ima naprava Optix Edge neposreden izhodni dostop do javnega interneta.

Vse naprave so povezane v enotno „flat“ omrežje: tako PLC-ji kot Optix Edge in trije HMI paneli si delijo isti omrežni segment. Optix Edge komunicira tako s PLC-ji kot z internetom. Ni zaščitnega sloja ali kontrolne točke.

Neposredna izpostavljenost OT omrežja internetu
Naprava Optix Edge z aktivno izhodno internetno povezavo predstavlja potencialno vstopno točko za napadalca iz javnega omrežja. Vsaka ranljivost v knjižnici Optix-Fiix, izvajalnem okolju FT Optix ali operacijskem sistemu naprave bi se lahko izkoristila za oddaljeni dostop. Napadalec, ki ogrozi Optix Edge, se takoj znajde v istem omrežnem segmentu kot oba PLC-ja.

Ena sama aplikacija FT Optix, ki opravlja več vlog
Ena sama aplikacija FT Optix tukaj hkrati obravnava vizualizacijo in komunikacijo v oblaku. Kot v prejšnjem članku je seveda mogoče te funkcije razdeliti na dve ločeni aplikaciji FT Optix, ki tečeta na dveh različnih napravah Optix Edge – ali na eni sami napravi z uporabo kontejnerjev.
Ta ločitev bi bila vsekakor pravilna z vidika ločevanja posameznih konceptov glede na prihodnje vodenje projektov in vzdrževanje, vendar ne bi odpravila temeljnega varnostnega problema: neposredne izpostavljenosti OT omrežja javnemu internetu.

Pomanjkanje segmentacije in težavnost spremljanja
Prav tako je vredno omeniti, da v „flat“ oz nesegmentiranem omrežju ni mogoče učinkovito nadzorovati ali pregledovati tokov podatkov med OT napravami in zunanjim svetom. Ni pregledne točke, ki bi omogočala odkrivanje anomalij, blokiranje neželenih povezav ali beleženje tega, kaj se dejansko pošilja in kam.

Kompromisna rešitev: integracijski gostitelj brez vmesnega shranjevanja (staging)

Kompromisna rešitev uvaja eno ključno izboljšavo: funkcija integracije v oblak se iz OT omrežja prenese na namenskega gostitelja, ki se nahaja v IDMZ (Industrial Demilitarized Zone). Ta integracijski gostitelj izvaja aplikacijo FT Optix z nameščeno knjižnico Fiix-Optix, ki je odgovorna izključno za pošiljanje podatkov v CMMS sistem Fiix v oblaku.

Aplikacija za vizualizacijo FT Optix ostane v OT omrežju. Ta aplikacija ne uporablja knjižnice Optix-Fiix in na noben način ne komunicira z oblakom Fiix.

Med omrežjem OT in integracijskim gostiteljem je nameščen industrijski požarni zid. Integracijski gostitelj bere podatke neposredno iz omrežja OT, za konfiguracijo te komunikacije pa je na voljo več možnosti, med drugim:

  • Neposredno branje podatkov iz krmilnih sistemov v FT Optix
  • OPC komunikacija med dvema aplikacijama FT Optix
  • MQTT komunikacija med dvema aplikacijama FT Optix

Pravila požarnega zidu bi bila nato nastavljena tako, da bi ustrezala izbrani metodi komunikacije

Kaj smo izboljšali

  • Optix Edge v OT omrežju ne potrebuje več neposrednega dostopa do interneta. HMI paneli in krmilni sistemi zato niso več neposredno izpostavljeni javnemu omrežju.
  • Aplikacija za vizualizacijo in integracija v oblak se ločeno izvajata na različnih napravah, vsaka v drugem omrežju in z ožjim obsegom komunikacijskih dovoljenj.
  • Požarni zid omogoča omejitev odhodnega prometa na določen naslov destinacije. HTTPS se tako lahko dovoli izključno strežniku Fiix API, vsa druga odhodna komunikacija pa se lahko blokira. To znatno zmanjša tveganje, da bi se aplikacija za integracijo izkoristila za neželeno komunikacijo z drugimi strežniki.
  • Uporaba industrijskega požarnega zidu ponuja tudi možnosti za spremljanje in revidiranje omrežnega prometa.

Kje ostaja tveganje
Integracijski gostitelj ima neposreden dostop do OT omrežja za branje podatkov in hkrati neposreden dostop do interneta za pošiljanje podatkov v Fiix-ov oblak. Zato deluje kot nekakšen most med dvema svetovoma, ki bi morala biti strogo ločena. V primerjavi s prejšnjo rešitvijo je povezava z zunanjim svetom nekoliko bolj oddaljena od krmilnih sistemov – vendar most še vedno obstaja. Če napadalec prevzame nadzor nad integracijskim gostiteljem, ostane neposredna pot v OT omrežje odprta.

Varnost te rešitve je neposredno odvisna od tega, kako temeljito je integracijski gostitelj konfiguriran, posodobljen in nadzorovan. Za manj kritične projekte je ta možnost morda zadostna, vendar je ni mogoče priporočiti kot dolgoročno rešitev za industrijska okolja z visokimi varnostnimi zahtevami.

Varna rešitev: arhitektura s Staging SQL

Popolnoma varna arhitektura temelji, tako kot v prejšnjem članku, na modelu Purdue in načelu večplastne zaščite.

Omrežje je razdeljeno na tri cone, ločene z industrijskimi požarnimi zidovi: OT omrežje (Purdue L1–L2), IDMZ (Purdue L3.5) in IT omrežje (Purdue L4).

OT omrežje
Konfiguracija naprav v omrežju OT je v bistvu enaka tisti, ki je bila uporabljena v prejšnjem članku za beleženje podatkov. Funkcionalnost je razdeljena med dve aplikaciji FT Optix, ki tečeta na dveh ločenih napravah Optix Edge ali na eni napravi z uporabo Docker kontejnerja. Ena aplikacija poganja terminale HMI, ki so izolirani v namenskem omrežju. Druga aplikacija FT Optix skrbi za zbiranje podatkov, pomembnih za vzdrževanje – to so podatki, namenjeni za morebitni prenos v Fiix API.

IDMZ in vmesni SQL strežnik
Aplikacija FT Optix, ki teče na Optix Edge v OT omrežju, neprekinjeno zapisuje izbrane tage na vmesni SQL strežnik, ki se nahaja v IDMZ. Ta operacija pisanja prehaja skozi prvi požarni zid (na diagramu označen kot Požarni zid 1) in je strogo enosmerna – dovoljena je le smer iz OT v IDMZ. Komunikacija v nasprotni smeri je blokirana.

IT omrežje
Integracijska aplikacija FT Optix se nahaja tukaj, v IT omrežju – torej za drugim požarnim zidom. Njena vloga je, da redno bere podatke iz vmesnega strežnika SQL. Tudi ta komunikacija sledi načelu „pull“ – komunikacijo vedno sproži aplikacija za branje, tj. IT omrežje. Pridobljeni podatki se shranijo v notranje spremenljivke aplikacije FT Optix.
Ta integracijska aplikacija v celoti izkorišča knjižnico Optix-Fiix. S pomočjo njenih objektov prenaša podatke prek HTTPS na Fiix API.
Na tej točki se lahko vprašamo, ali je FT Optix nujno potreben kot integracijska aplikacija. Seveda ni. Podobno aplikacijo, ki redno bere podatke iz SQL-baze podatkov in jih pošilja prek HTTPS zahtevkov na določeno končno točko API, je mogoče napisati v številnih programskih jezikih. Vendar pa FT Optix skupaj s knjižnico Optix-Fiix omogoča enostavno ustvarjanje integracijske aplikacije v Optix Studiu z uporabo vnaprej pripravljenih objektov – brez oz. z minimalnim programiranjem.

Pravila požarnega zidu

  • Požarni zid 1 (ločuje OT od IDMZ): omogoča enosmerni pretok podatkov – pisanje tagov iz Optix Edge na vmesni SQL strežnik (TCP 1433). Vsa komunikacija v nasprotni smeri je blokirana.
  • Požarni zid 2 (ločuje IDMZ od IT): dovoljuje le komunikacijo iz IT omrežja v IDMZ za branje podatkov iz vmesne baze podatkov. Ves drugi promet je blokiran.
  • Omejitev omrežja IT omogoča izhodno HTTPS komunikacijo iz integracijske aplikacije do Fiix API (TCP 443).

Rezultat
Predlagana arhitektura strogo ločuje OT in IT plasti z uporabo IDMZ cone. PLC-ji in HMI paneli v OT omrežju zapisujejo podatke v vmesno bazo podatkov, ki se nahaja v IDMZ. Integracijska aplikacija, ki teče v IT omrežju, dostopa do te baze podatkov v načinu samo za branje (načelo pull) in nato pošlje obdelane podatke v Fiixov sistem API v oblaku prek zavarovane HTTPS-komunikacije (TCP 443).
Ta pristop zagotavlja, da:

  • naprave OT niso nikoli neposredno izpostavljene omrežju IT ali internetu,
  • IDMZ služi kot varen posrednik za izmenjavo podatkov,
  • integracijska aplikacija v IT omrežju ne komunicira neposredno z napravami PLC,
  • vsa komunikacija z oblakom poteka izključno iz IT cone.

Zaključek

Knjižnica Optix-Fiix je tehnično elegantna rešitev, ki bistveno poenostavi integracijo OT podatkov s CMMS sistemom Fiix v oblaku. Ker vključuje prenos podatkov iz industrijske avtomatizacije v javni oblak, je treba pri izvajanju upoštevati varnostna tveganja.

Naivna rešitev – neposredna komunikacija z javnim internetom iz Optix Edge v OT omrežju – je funkcionalna, vendar z varnostnega vidika nesprejemljiva.

Kompromisna različica z integracijskim gostiteljem tveganje prenese izven OT omrežja, vendar ga ne odpravi.

Le arhitektura s prehodno bazo podatkov v IDMZ in dvema industrijskima požarnima zidovoma zagotavlja zadostno raven varnosti.

Dodatni stroški – vmesni strežnik, industrijski požarni zidovi in s tem povezana infrastruktura – so tudi v tem primeru zanemarljivi v primerjavi s potencialnimi posledicami varnostnega incidenta v OT-okolju.

Pravilno zasnovana arhitektura na noben način ne omejuje funkcionalnosti: Fiix CMMS prejema enake podatke, kot bi jih prejel z neposrednim dostopom, operaterji pa imajo enak HMI vmesnik.

Če je potrebno integracijo v oblak kombinirati z beleženjem podatkov na IT SQL strežniku, se lahko obe funkciji izvajata hkrati znotraj predlagane arhitekture.

Opomba: Ta članek obravnava zasnovo aplikacij in zasnovo omrežne infrastrukture. Celovita kibernetska varnost za določen projekt zahteva tudi pozornost do drugih vidikov, kot so: analiza tveganj, varnost na ravni naprav in aplikacij, upravljanje identitet in dostopa, spremljanje anomalij ter varnost same API-povezave (upravljanje in rotacija API-ključev itd.).