Sunteți pe pagina 1din 11

Sisteme de conducere a proceselor industriale şi protecţie

cibernetică (SCADA, PLC, DPC)

OPC Unified Architecture

Masterand: Zubere Sorin

1
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)

CUPRINS

1 INTRODUCERE.....................................................................................................................................3

2 FUNCȚIONARE.....................................................................................................................................4

3 RISCURI DE SECURITATE......................................................................................................................6

4 METODE DE PROTECȚIE.......................................................................................................................9

2
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)
1 Introducere
OPC Unified Architecture este un protocol de comunicație de la mașină la mașină pentru
automatizarea proceselor industriale, a fost dezvoltat de Fundația OPC. Caracteristicile
distinctive sunt: o comunicare server client, concetrat pe comunicarea cu echipamente și sisteme
industriale pentru colectarea și controlul datelor.
Bazându-se pe succesul predecesorului, OPC Classic, OPC UA a fost conceput pentru a
spori și a depăși capacitățile specificațiilor lui OPC Classic. OPC UA este echivalent din punct
de vedere funcțional cu OPC Classic, dar capabil de mult mai mult, ele fiind:

 Este posibilă disponibilitatea serverelor OPC pe computerele și / sau rețelele locale;

 Toate datele sunt reprezentate ierarhic (de exemplu, fișiere și foldere) permițând

afișarea și utilizarea structurilor simple și complexe de către clienții OPC;

 Citiți și scrieți date / informații pe baza permisiunilor de acces;

 Monitorizează datele / informațiile și raportează cu excepție atunci când valorile se

modifică pe baza criteriilor clientului;

 Obțineți informații importante pe baza criteriilor clientului;

 Clienții pot executa programe pe baza metodelor definite pe server;

Integrarea între produsele OPC UA și produsele OPC Classic se poate realizea cu

ușurință utilizând împachetările COM / Proxy care sunt disponibile în secțiunea de descărcare.

Având în vedere gama largă de platforme hardware și sisteme de operare disponibile,

independența platformei este esențială. OPC UA funcționează pe oricare dintre următoarele:

 Platforme hardware: hardware tradițional pentru PC, servere bazate pe cloud, PLC-uri,

microcontrolere (ARM etc.);

 Sisteme de operare: Microsoft Windows, Apple OSX, Android sau orice distribuție de

Linux etc.

OPC UA oferă infrastructura necesară pentru interoperabilitate în întreaga

întreprindere, de la mașină la mașină, mașină la întreprindere și tot ceea ce este între ele.

3
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)
2 Funcționare
Tehnologia OPC se bazează pe arhitectura Client/Server și este o soluție care oferă o
comunicare prin standarde industriale ce permit utilizatorilor să faciliteze crearea arhitecturii și
implementarea proiectelor lor.

OPC a fost conceput pentru a conecta sisteme, rețele, hardware cu diferite sisteme de
operare (ex. Windows, Linux). De asemenea rolul este și procesarea și monitorizarea datelor
primite de la hardware sau software. Este un open standard care oferă metode sigure de accesare
și descriere al datelor (field data) care sunt trimise direct sau interogate de la dispozitivele plant-
floor. Aceste metode rămân aceleași indiferent de sursă și tipul de date.
Serverul OPC oferă multe tipuri de pachete de software cu metoda de accesare a datelor
de la dispozitive process control cum sunt PLC (Programable Logic Controller) sau DCS
(Distributed Control System). În mod tradițional, de fiecare dată când un pachet de software vrea
să acceseze date de la un dispozitiv este necesară scrierea unei interfețe sau driver personalizat.
Scopul OPC este definirea unei interfețe comune care după ce a fost odată conceput poate
fi reutilizat în orice alt proiect, SCADA, HMI sau alte pachete de software. Chiar dacă un server
OPC se implementează pentru un dispozitiv anume, el va putea fi reutilizat de către orice altă
aplicație ce poate acționa ca un client OPC.
Arhitectura sistemului OPC UA este bazată pe cele două elemente principale: client /
server.
Serverul conține Address Space-ul pus la dispoziția clienților, care poate reprezenta un
dispozitiv tehnic. Modelul informațional conține tipul exact al dispozitivelor și al relațiilor dintre
ele, de ex. valoarea senzorului al dispozitivului tehnic este stocată într-un câmp de tip double,
float ori într-unul mai complex.
Clientul interoghează Address Space-ul, de exemplu toate componentele unui dispozitiv
și le prezintă utilizatorului ca pe o interfață grafică. Clientul are posibilitatea de a vedea toate
datele provenite de la componente și primește alarme și evenimente cu privire la starea acestora.
De exemplu, în cazul în care acțiunea unui element a fost finalizată cu succes, clientul va primi
un eveniment și între timp toate datele componentelor participante la acțiune se vor actualiza la
client. În cazul în care manevra a eșuat, clientul va primi o alarmă conținând datele care indică
problema.

4
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)
În cele mai multe cazuri, conexiunea dintre client și server utilizează layerul network, de
exemplu Internet sau LAN, care în funcție de configurare poate fi o conexiune securizată. SDK-
urile oferă posibilitatea ca serverul și clientul să fie implementate prin diferite limbaje de
programare, iar prin aceasta ele capătă independență față de platformă.

Pentru ca sistemul să fie interoperabil, mecanismul de transfer al datelor trebuie asociat


unui model consistent de reprezentare al informațiilor. OPC UA folosește obiectul ca un concept
fundamental pentru reprezentarea datelor și a activității unui subsistem. Obiectele sunt
substituenți pentru variabile, evenimente și metode fiind interconectate prin referințe. Acest
concept este similar cu binecunoscuta programare orientată pe obiecte (OOP). Modelul de
informații OPC UA furnizează caracteristici cum sunt abstractizarea datelor, încapsularea,
polimorfismul și moștenirea.
Metamodelul OPC UA permite definirea unui model informațional prin definirea
obiectului, variabilei și a tipului de date, precum și a tipului de referințe. Specificația definește
modelul informațional de bază care la rândul său conține deja o serie de tipuri de bază.
Unul dintre principalele scopuri ale OPC UA este expunerea informației care poate fi
utilizată de clienți pentru a administrara procesul de bază în timp real. De asemenea, se
urmărește integrarea procesul de control și sistemul de management într-un mediu omogen. De
obicei, clienții au nevoie numai de o parte anume a informațiilor ce le stau la dispoziție la un
moment dat. Pentru a putea face față acestei solicitări informația publicată trebuie să fie bine
organizată și accesibilă în mod selectiv ca o entitate (node) cu adresă concretă . Colecția acestor
noduri puse la dispoziție de către OPC UA server este denumită Address Space și descrierea
acestuia se numește Information Model.

5
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)

Model implementat reprezentat grafic

Câteva dintre funcționalitățile OPC UA sunt oferite ca servicii De exemplu, următoarele


servicii sunt implementate de către server și folosite de către clienți: CreateSessionService -
pentru a stabili conexiunea între server și client, BrowseService - pentru a explora Address
Space-ul, ReadService - pentru a citi date de pe server, WriteService - pentru a actualiza date pe
server, etc.
Specificațiile existente al OPC COM se concentrează pe date sau evenimente, dar multe
aplicații necesită operatiuni mai complexe care nu pot fi reduse la o singură dată sau un singur
eveniment. Prin metodele OPC UA serverele permit clienților de a invoca funcții complexe cu un
set de parametri. Funcțiile pot fi utilizate pentru a controla un proces background care
declanșează evenimente de raportare a progresului acestuia.

3 Riscuri de securitate
Faptul că Fundația OPC oferă codul open-source al proiectelor sale indică cu siguranță că
este deschisă și angajată să își facă produsele mai sigure.
În același timp, analiza realizată de mai mulți experți specifică faptul că implementarea
actuală a ”OPC UA Stack” nu este doar vulnerabilă, ci are și o serie de probleme fundamentale
semnificative.
Cercetătorii de la ”Kaspersky Lab” au identificat un număr semnificativ de vulnerabilități
în protocolul OPC UA, inclusiv defecte care, teoretic, ar putea fi exploatate pentru a provoca
daune fizice în mediile industriale.
Există mai multe implementări ale OPC UA, dar cercetătorii s-au concentrat pe
implementarea realizată de ”Fundația OPC” - pentru care codul sursă este disponibil public - și
aplicațiile de la terți care utilizează ”OPC UA Stack”.
Un total de 17 vulnerabilități au fost identificate în produsele ”Fundației OPC” și mai
multe defecte în aplicațiile comerciale care utilizează aceste produse. Majoritatea problemelor au
fost descoperite prin fuzzing. Fuzzing-ul sau testarea fuzz-ului este o tehnică automată de testare
software care implică furnizarea de date invalide, neașteptate sau aleatorii ca intrări într-un
program de computer.

6
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)
Exploatarea vulnerabilităților depinde de modul în care este configurată rețeaua vizată,
dar, în cele mai multe cazuri, va necesita acces la rețeaua locală, au declarat pentru
”SecurityWeek” cercetătorii ”Kaspersky Pavel Cheremushkin” și ”Sergey Temnikov” într-un
interviu la ”Summitul analistului de securitate al companiei”. Experții au spus că nu au văzut
niciodată o configurație care să permită atacuri direct de pe Internet.
Un atacator trebuie mai întâi să identifice un serviciu care utilizează ”OPC UA” și apoi
să-i trimită o sarcină utilă care declanșează o condiție DoS sau execuția codului de la distanță.
Vulnerabilitățile la executarea codului la distanță pot fi valorificate de atacatori pentru a se
deplasa lateral în rețea, pentru a controla procesele industriale și pentru a-și ascunde prezența. Cu
toate acestea, atacurile DoS pot avea un impact și mai semnificativ în cazul sistemelor
industriale.
În sistemele industriale, vulnerabilitățile la refuzul de serviciu reprezintă o amenințare
mai serioasă decât în orice alt software. Condițiile de refuz al serviciului în sistemele de
telemetrie și telecontrol pot determina întreprinderile să sufere pierderi financiare și, în unele
cazuri, pot duce chiar la întreruperea și oprirea procesului industrial. În teorie, acest lucru ar
putea afecta echipamentele scumpe și alte daune fizice.
Un altul punct de risc fiind, dezvoltatorii ”OPC UA” subestimează în mod clar încrederea
pe care o au furnizorii de software pentru toate codurile furnizate de consorțiul ”OPC
Foundation”. În opinia celor de la ”Kaspersky”, lăsarea vulnerabilităților în codul exemplelor de
utilizare API este complet greșită, chiar dacă exemplele de utilizare API nu sunt incluse în lista
produselor certificate de ”Fundația OPC”.
Existp o premisă prin care, este posibil să existe probleme de asigurare a calității chiar și
cu produsele certificate de ”Fundația OPC”.
Codul open-source nu include codul pentru testele unitare sau orice alte teste automate,
ceea ce face mai dificilă testarea produselor care utilizează ”OPC UA Stack” în cazurile în care
dezvoltatorii acestor produse își modifică codul.
Toate lacunele de securitate au fost raportate către ”Fundația OPC” și dezvoltatorii și
pachete respective au fost eliberate. Aplicarea pachetelor nu este dificilă, având în vedere că
”OPC Stack” este un fișier DLL, iar actualizările sunt efectuate pur și simplu prin înlocuirea
fișierului vechi cu cel nou.
Pe baza acestor observații, implementarea actuală ”OPC UA Stack” nu numai că nu
protejează dezvoltatorii de erori banale, dar tinde și să provoace erori – a fost văzut acest lucru în
exemple din lumea reală. Având în vedere peisajul amenințărilor actuale, acest lucru este
inacceptabil pentru produsele la fel de utilizate ca ”OPC UA”. Și acest lucru este chiar mai puțin
acceptabil pentru produsele proiectate pentru sisteme de automatizare industrială.

Următoare schemă reprezintă fluxul dintre client și server:

7
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)

8
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)
4 Metode de protecție
Securitatea ”OPC UA” este un concept multistrat. Conține metode de autentificare și
autorizare, precum și criptare și integritate a datelor prin semnare. Se face distincția între stratul
de aplicație și securitatea stratului de transport.
Există diferite obiective diferite care sunt luate în considerare în general în ceea ce
privește securitatea sistemului. ”OPC UA” este destinat să livreze date în siguranță de la o
aplicație la alta. În acest context, trebuie avute în vedere următoarele obiective:
 Autentificare: capacitatea de a recunoaște aplicațiile și utilizatorii care se
conectează între ei și efectuează operațiuni;
 Autorizare: capacitatea de a controla cine poate citi și scrie date și de a executa
diferite sarcini într-un sistem operațional;
 Confidențialitate: capacitatea de a proteja datele de aplicații și utilizatori
neautorizați;
 Integritate: capacitatea de a se asigura că datele nu sunt modificate în timpul
transferului;
 Audit: capacitatea de a valida că măsurile de securitate selectate sunt aplicate și,
de asemenea, urmărite, modificări ale configurației sistemului operațional;
 Disponibilitate: capacitatea de a se asigura că sistemul operațional este utilizabil
și accesibil în toate situații.
Straturile aplicației:
Există mai multe mecanisme de securitate pe stratul de aplicație. Utilizatorul sau
operatorul unei aplicații poate fi identificat printr-o combinație utilizator / parolă sau un certificat
de autentificare. Drepturile de acces la date pot fi ajustate pentru fiecare nod unic: este posibil ca
unui utilizator să i se permită doar citirea valorilor, în timp ce un administrator poate avea și
acces la scriere, dar un guest nu poate chiar să poată vizualiza un nod. În plus, mecanismele de
audit sunt definite și un server poate înregistra care persoană a schimbat valoarea la care moment
(eveniment de audit, jurnal de audit).
Securitatea nu este opțională, caracteristicile fac parte integrantă din specificații și din
stiva UA.
Straturile de transport al informației:
”OPC UA” definește securitatea mesajelor binare, precum și pentru protocolul serviciului
web. Varianta hibridă folosește TLS (securitatea stratului de transport) și asigură ruta de
transport. ”Fundația OPC” nu a reinventat complet mecanismul de securitate, dar respectă
specificațiile de securitate ale serviciului web. Pentru serviciile web, se utilizează conversația
securizată WS, care asigură compatibilitatea cu .NET și alte implementări SOAP. Pentru varianta
binară, algoritmii ”WS Secure Conversation” au fost adoptați și convertiți într-un echivalent
binar, care este acum cunoscut sub numele de ”UA Secure Conversation”.
Protocoalele ”OPC UA” au și o versiune hibridă care utilizează codificare binară și
HTTPS pentru transport, fiind un compromis între codificare binară eficientă și transmisie
prietenoasă cu firewall-ul. Autentificarea utilizează exclusiv certificate x509. De exemplu, este
posibil să se utilizeze infrastructura cu cheie publică (PKI) a unui Active Directory.

9
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)

Securitatea arhitecturii:
Aplicațiile ”OPC UA” pot rula în diferite rețele, care pot fi vizate de vulnerabilități
diferite. ISA / IEC 62443 (anterior ISA99) definește strategiile de gestionare a amenințărilor prin
împărțirea rețelei operaționale pe segmente, numite zone din ISA62443, care sunt conectate între
ele prin anumite puncte de conexiune, conducte (ISA62443). Conductele pot fi echipate cu
sisteme de detectare a intruziunilor (IDS) sau sisteme de prevenire a intruziunilor (IPS sau IDPS)
pentru a detecta sau preveni diferite malware care intră în părțile vulnerabile ale rețelei
instalației, respectiv (Scarfone 2010). Deoarece rețeaua este conectată în cele din urmă la
Internet, acesta este un concept important și este, de asemenea, adoptat pe scară largă în fabricile
industriale. Cu toate acestea, există încă mai multe stații la scară mică, care sunt deschise către
internet fără nicio măsură de securitate.

”OPC UA” oferă un


protocol modern de comunicații
sigure, care permite gestionarea majorității amenințărilor de securitate care vizează facilitățile

10
Sisteme de conducere a proceselor industriale şi protecţie
cibernetică (SCADA, PLC, DPC)
moderne de producție. Poate oferi doar securitate canalului de comunicații, astfel încât măsurile
tradiționale de securitate trebuie încă utilizate pentru a asigura securitatea computerelor gazdă și
accesul la acestea în site-uri. Gestionarea certificatelor va juca un rol vital în asigurarea
securității generale a sistemului.
Analiza de performanță arată că criptarea adaugă unele cheltuieli generale comunicării,
dar în majoritatea cazurilor nu foarte mari. În loc de performanță, o problemă mai mare poate fi
gestionarea certificatelor, care necesită o infrastructură bună pentru a se asigura că securitatea nu
este compromisă în practică.
În viitor, pe măsură ce vor fi disponibile tot mai multe dispozitive în rețelele deschise,
securitatea va fi un factor important pentru a asigura confidențialitatea și confidențialitatea
datelor. În special în mediile de producție, securitatea va fi o preocupare principală, atunci când
se asigură funcționarea intermitentă a instalațiilor de producție.

11

S-ar putea să vă placă și