Sunteți pe pagina 1din 19

Telemedicină şi e-Sănătate

CURS 7 - Prof. dr. ing. Hariton Costin

Soluţii pentru asigurarea accesibilităţii


utilizatorilor la un sistem de telemedicină.
Asigurarea securităţii şi confidenţialităţii datelor
medicale şi personale în sistem

1
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

Un sistem de telemedicină/telemonitorizare/e-sănătate este folosit de


utilizatorii: pacienţi, personal medical, administrator.
• Utilizatorii, indiferent de profilul lor, au nevoie de metode sigure prin care
să îşi extindă accesul la sistem fără să compromită siguranţa.
• Implementarea unor arhitecturi de securitate în care rolul fiecărui
utilizator să fie bine înţeles şi asumat pe întreaga perioadă a accesului la
resursele reţelei, indiferent de locul, timpul şi modalitatea accesului.
• Modulul “front-end” (interfaţa GUI a BD regionale), care asigura
accesibilitatea şi autentificarea utilizatorilor, este strâns legat de modulul
de management al securităţii datelor.
• Controlul accesului în sistem este bazat pe rolul individual al fiecărui
utilizator din sistem. Acest mecanism bazat pe roluri determină utilizarea
politicilor de securitate bazate pe identitate în orice punct sau indiferent
de metoda de acces (bazată pe fir sau wireless) şi indiferent de tipul
echipamentului de acces (desktop, laptop, PDA etc.).
• Modulul de gestiune a identităţilor din arhitectura tip SOA asigură
autentificarea şi autorizarea utilizatorilor.

2
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

• Standardul CCR (Continuity of Care Record) este o specificaţie


dezvoltată de ASTM International, Massachusetts Medical Society
(MMS), Health Information Management and Systems Society
(HIMSS) şi American Academy of Family Physicians (AAFP).
• Scopul acestui standard este de a crea o fişă a pacientului cât mai
extensivă, care să reducă şansa de erori medicale din lipsă de
informaţii sau din lipsa compatibilităţii cu alte sisteme existente.
• Interoperabilitatea cu alte sisteme existente: fişierele pot fi transmise în
toate sensurile între aplicaţii care folosesc acest standard.
• (Re)Utilizarea unor servicii existente (e.g. Google Health) [Google
Health] - https://www.google.com/health/p/
• Extensibilitatea modelului
• CCR este bazat pe XML (Extensible Markup Language)

3
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

• Produsele software şi în special cele distribuite


necesită o implementare cu un nivel de securizare
ridicat.
• La fel şi sistemele informatice medicale.
• Cele mai uşoare forme de alterare a funcţionalităţii
vizează indisponibilizarea temporară a serviciilor
oferite de produsul software respectiv.
• În cazuri severe se poate ajunge la distrugerea în
totalitate a aplicaţiei sau la pierderea tuturor
datelor acumulate pe parcursul funcţionării.

4
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

1. Caracteristicile unui sistem informatic securizat


• Aplicaţiile distribuite destinate sa funcţioneze în reţele deschise de
calculatoare (gen Internet) au un grad sporit de risc pentru ca utilizatorii
care le accesează nu pot fi selectaţi pe baza unor criterii bine definite.
• Aplicaţia să poată face faţă unor cazuri singulare de folosire
necorespunzătoare (diverse tipuri de atacuri) şi unor categorii întregi de
scenarii care pot să aibă ca rezultat modificarea de orice natură a
parametrilor normali de funcţionare ai mediului software respectiv.
• O strategie de securitate a unei aplicaţii software, fie ea distribuită sau de
tip desktop, are în vedere următoarele aspecte:
- menţinerea confidenţialităţii datelor. Orice entitate (operator uman sau
proces software) care nu este indreptăţită sa acceseze datele legate de
funcţionarea aplicaţiei trebuie să nu fie capabilă sa facă acest lucru. Prin
sintagma “datele legate de funcţionarea aplicaţiei” se înţelege totalitatea
surselor de intrare de date ale produsului software, modulele de prelucrare
de date (fişierele care stochează şi implementează logica de funcţionare)
precum şi tot ceea ce înseamnă datele de ieşire (rezultatele obţinute după 5
funcţionarea programului) şi modalitatea lor de prezentare.
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

- menţinerea capacităţii de autentificare. Aplicaţia trebuie să fie capabilă în orice moment să


identifice în mod unic entităţile (aplicaţii software sau operatori umani) care încearcă sa
acceseze serviciile sau datele pe care le gestionează. Util: implementarea unei extinderi
temporale a acestei proprietăţi (pentru determinarea acţiunilor trecute a entităţilor accesoare).
Se ajunge în această ultimă instanţă la crearea unor fişiere de înregistrări de tip log.
- păstrarea integrităţii datelor. Atât datele propriu-zise ale aplicaţiei (de intrare sau de ieşire)
cât şi fişierele care stochează funcţionalităţile aplicaţiei (fişierele executabile, bytecodes etc.)
trebuie sa nu poată fi alterate într-un mod nepermis pentru aplicaţie. Dacă totuşi acest lucru se
întâmplă, aplicaţia trebuie să fie capabilă să detecteze acest lucru şi sa-şi întrerupă imediat
funcţionarea. În anumite cazuri, este preferabil ca aplicaţia sa se autoprotejeze prin generarea
voită a stării de denial of service decât ca ea să continue să funcţioneze într-un regim care
practic este scăpat de sub control.
- nerepudirea. Aplicaţia trebuie să fie capabilă sa poată face dovada sursei şi destinaţiei
oricăror date care au fost primite sau transmise pe parcursul funcţionării.
- confirmarea. Are în vedere recunoaşterea faptului că anumite servicii au fost efectuate sau
că anumite date au fost primite. De regulă, aplicaţia generează pe parcursul funcţionării o serie
de fişiere (asa-zisele log-uri) care înregistrează evenimentele petrecute pe parcursul
funcţionării. În plus, utilizatorul trebuie să primească din partea sistemului, în fiecare moment,
un ecou al acţiunilor sale. Minimal, această facilitate se referă la informarea succintă a
utilizatorului despre succesul sau insuccesul ultimei sale acţiuni.
6
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

- autorizarea. Se referă la procesul de acordare sau retragere


ale drepturilor de acces ale entităţilor (procese software sau
operatori umani) la servicii. În general, controlul autorizarii
aparţine administratorului aplicaţiei (entitatea umană sau
procesul software care a instalat şi pornit aplicaţia şi care
este responsabil de menţinerea ei în funcţiune).
- controlul accesului. Mediul software permite sau refuză
accesul anumitor entităţi (procese software sau utilizatori) în
funcţie de anumiţi parametri de proiectare.
- certificarea. Se referă la acordarea unei informaţii de
încredere unui arbitru. De regulă, arbitrul este administratorul
aplicaţiei.
- disponibilitatea. Termenul se referă la faptul că aplicaţia
şi/sau serviciul software în discuţie trebuie să poată fi
accesate în orice interval temporal pentru care au fost
proiectate să funcţioneze.
7
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

2. Tipuri de atacuri şi modalităţi de realizare

- Atacul la confidenţialitate: accesul de către o persoană


neautorizată la date care nu îi aparţin sau care nu sunt publice. Efectul
imediat constă în discreditarea mediului software respectiv. În funcţie
de natura informaţiei în posesia căreia a intrat şi de impactul pe care îl
poate avea conţinutul acesteia, intrusul poate să decidă fie distribuirea
datelor într-un sistem deschis (de exemplu publicarea pe un site
Internet) sau utilizarea în folos propriu (de ex. cumpărarea de produse
cu cărţi de credit furate etc.).
- Atacul la autentificare: inducerea în eroare a mediului software cu
privire la persoana care trimite/primeşte date din partea sistemului. De
exemplu, un intrus poate să afle o parolă a unei persoane autorizate şi
cu ajutorul acesteia să se autentifice către sistem ca fiind persoana
respectivă. Dacă trucul reuşeşte, intrusul are acces la toate datele şi
serviciile oferite de drept persoanei a cărei identitate a furat-o.

8
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin
- Atacul la integritate: trimiterea către aplicaţie a unor date eronate sau cu
conţinut voit alterat. Acest tip de atac se foloseşte de obicei de
implementarea neglijentă a unor anumite module software. De exemplu,
dacă un anumit formular electronic preia date de la utilizatori iar formatul
acestora nu este bine verificat, pot apărea erori de funcţionare, de bază
de date sau poate surveni chiar oprirea serverului care gestionează
conexiunea cu calculatoarele tip client.
- Atacul de nerepudiere constă în “ştergerea urmelor” unei anumite acţiuni
efectuate de o anumită persoană. Pot fi discutate aici trei posibile
scenarii:
(a) un utilizator de drept al mediului software efectuează o anumită acţiune
(de exemplu o plată electronică) şi un intrus şterge datele doveditoare
ale acţiunii respective. Utilizatorul nu poate astfel să îşi demonstreze
acţiunea;
(b) un intrus îşi crează fictiv rezultatul anumitor acţiuni (de exemplu
introduce datele care în mod normal ar rezulta din parcurgrea anumitor
paşi rezervaţi utilizatorilor de drept ai programului) iar mediul software nu
poate să demonstreze contrariul;
(c) un intrus îşi crează nişte date fictive, le foloseşte avantajele şi apoi le
şterge. Este un tip de atac deosebit de periculos, deoarece este greu
sau chiar deloc depistabil.
9
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

- Atacul la autorizare are în vedere două aspecte:


• acordarea de drepturi suplimentare unor intruşi (persoane care în mod
normal n-ar fi trebuit să aibă drepturile respective);
• restricţionarea drepturilor unor persoane al căror acces ar trebui să fie
garantat.
- Atacul la disponibilitate: scoaterea temporară din uz a aplicaţiei
(indisponibilizarea ei). Modulele software care compun aplicaţia pot fi
afectate parţial sau total (denial of service). Se realizează de obicei prin
ocuparea de către un proces extern a resurselor hardware ale maşinii de
lucru pe care rezidă aplicaţia sau prin distrugerea modulelor aplicaţiei
(caz deosebit de sever).

Proiectarea aplicaţiilor software, de tip desktop sau de reţea, trebuie să


aibă în vedere minimizarea sau, ar fi de dorit, eliminarea tuturor
scenariilor (puse în practică intenţionat sau nu) care ar putea duce la
situaţii de indisponibilizare totală sau părţială sau la modificări ale
parametrilor de funcţionare.

10
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

3. Atacuri pentru aplicaţiile de reţea distribuite


3.1. Atacuri prin parolă
• Atacurile prin parolă sunt printre cele mai preferate de hackeri
pentru abordarea reţelelor on-line sau pentru accesul neautorizat la
aplicaţiile de sine stătătoare care au mecanisme de autentificare a
utilizatorilor.
• În general, sunt vizate sistemele informatice care autentifică
utilizatorii pe baza unui nume de utilizator şi a unei parole. Acest mod de
protejare a produselor software este deosebit de des folosit şi deci
atenţia care trebuie acordată securizării acestei metode de protejare a
aplicaţiilor este esenţială pentru menţinerea lor într-o stare
corespunzătoare de funcţionare.
• Modul de atac este de a încerca combinaţii succesive de nume de
utilizatori şi de parole, până în momentul în care, eventual, este permis
accesul. Abordarea grosieră pune probleme mari din punct de vedere al
timpului de execuţie. Dacă însă se cunoaşte un nume de utilizator,
rămâne de gasit doar parola potrivită.
11
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

Pentru găsirea parolei se folosesc două tehnici principale:


- atacul bazat pe dicţionar. Se încearcă succesiv toate cuvintele
uzuale din dicţionar. Practica arată că de multe ori parolele pe care
utilizatorii le pun la porţile de acces sunt într-adevăr cuvinte din
dicţionar. Dacă atacatorul mai deţine informaţii suplimentare despre
posesorul parolei (nume, numele copiilor, adresa, data de naştere
etc.) poate să le folosească pentru a intra în sistem. Raţionamentul
pentru care utilizatorii preferă alegerea unei parole din acesta
categorie este acela că este mai uşor de reţinut.
- atacul prin forţa brută. Se foloseşte în cazul în care atacul bazat
pe dicţionar nu are succes. Algoritmul după care este conceput
acest tip de atac are în vedere încercarea tuturor combinaţiilor
posibile între caractere (litere mari şi mici, cifre şi semne de
punctuaţie). Dezavantajul principal al acestei metode, care de multe
ori este factorul care îl determină pe un hacker sa renunţe este că
timpul de aflare a parolei poate fi deosebit de mare.
12
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

3.2. Interceptarea pachetelor


Este un procedeu dificil de implementat din punct de vedere tehnic dar în
acelaşi timp efectele pe care le are pot fi dezastruoase.
Fluxul de date care este transportat între două calculatoare este împărţit
în pachete, fiecare pachet parcurgând o anumită rută de la sursă până la
destinaţie. Dacă un hacker foloseşte un interceptor de pachete (packet
sniffer), prin folosirea unor instrumente software de reconstrucţie a
fluxului de date, poate intra in posesia datelor emise de sursă. Poate
intra astfel în posesia perechilor nume_de_utilizator – parola, a
numerelor de cărţi de credit sau a oricăror alte informaţii confidenţiale
care, inevitabil, sunt transmise prin reţea.
Termenii care definesc acest tip de atac sunt supraveghere ilegală
(promiscuous monitoring) sau spionaj de reţea (network snooping).
Strategia de protejare este legată exclusiv de codarea datelor trimise
între două entităţi software sau hardware care comunică prin intermediul
unui canal de transmisie de date. Este aproape imposibilă controlarea
traseului pe care îl urmează datele, dar este viabilă codarea datelor
trimise pentru a le face indisponibile pentru eventualii atacatori.
13
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

3.3. Atacuri de acces liber


Atacurile de acces liber sunt bazate pe exploatarea slăbiciunilor
unor sisteme de operare care încorporează mecanisme de acces
liber. Există fişiere în cadrul acestor sisteme care indică o serie de
adrese de încredere (trusted hosts) ce indică maşinile de lucru care
pot accesa sistemul gazdă fară parolă (prin remote login). Măsurile
pe care trebuie să le ia un hacker pentru a-şi facilita accesul sunt
legate de editarea fişierului/fişierelor care gestionează mecanismul
de conectare de la distanţă.

3.4. Atacuri de IP
Atacurile de IP (IP spoofing) au în vedere pachetele în care sunt
“ambalate” datele în cazul transmiterii lor prin reţea. În componenţa
acestor pachete sunt cuprinse şi informaţiile referitoare la maşinile
sursă şi cea destinaţie. Un hacker poate sa-şi decline identitatea şi
sa îşi atribuie adresa calculatorului receptor. În acest mod, toate
pachetele care pleacă spre destinaţia lor de drept ajung şi în
calculatorul intrusului, confidenţialitatea lor fiind astfel compromisă.

14
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

3.5. Atacuri prin inginerie socială


• Atacurile prin inginerie socială se bazează în primul rând pe încrederea
care li se acordă unor persoane care îşi declină identitatea şi funcţia şi
joacă un anumit rol impus de circumstanţe. De exemplu, un intrus poate
să treacă drept administrator de sistem sau drept persoana trimisă în
control într-o anumită instituţie. Odată intrat în reţeaua de calculatoare
vizată, intrusul poate să-şi creeze anumite porţi de acces (back-doors)
pe care să le folosească ulterior pentru accesul din exterior (de pe orice
calculator legat la Internet). Şansele ca acţiunea sa îi reuşească sunt cu
atât mai mari cu cât instituţia pe care o vizează este mai mare (cu un
număr mare de angajaţi) şi cu cât posibilităţile de verificare sunt mai
limitate (sau uzuale) (de ex. legitimaţie de serviciu, cartelă de liberă
trecere etc.).
• Un alt tip de atac prin inginerie socială: o persoană trimite un e-mail
către angajaţii unei instituţii prin care îi informează că reţeaua de
calculatoare necesită întreţinere şi că este nevoie de parolele lor de
acces pentru a putea efectua acest lucru. Odată deschise porţile de
intrare în sistem, atacul poate surveni în orice moment.
• Atacurile prin inginerie socială se bazează pe ignoranţa în materie de
informatică a anumitor categorii de angajaţi ai instituţiei vizate şi pe
încrederea acordată unor persoane care îşi conferă atribuţii sau funcţii
pe care de fapt nu le au. 15
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

3.6. Predicţia numărului de secvenţă


Predicţia numărului de secvenţă este o metodă comună folosită pentru
spionarea reţelelor Unix. La începutul oricărei comunicari TCP/IP este
necesar ca sistemele care se interconectează să schimbe anumite
informaţii referitoare la parametrii de transfer de date (handshake).
Printre alte informaţii transmise, se trimit şi numerele de secvenţă (valori
determinate pe baza ceasului intern al fiecărui calculator, folosind un
anumit algoritm de calcul). Prin înregistrarea mai multor numere de
secvenţă, un intrus poate sa intuiască algoritmul de calcul al acestora. În
continuare, poate să observe şi intervalele temporare în care sunt active
anumite maşini din reţea şi să se folosească de informaţiile obţinute
pentru a efectua un protocol de început de transfer de date neautorizat.

16
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

3.7. Deturnarea sesiunii


Acest tip de atac este mai popular decât IP-spoofing-ul. Prin
deturnarea sesiunii nu se pot doar obţine datele care circulă într-o
anumită reţea, ci pot fi introduse şi date proprii.
Pentru a putea fi realizat un astfel de atac, trebuie cunoscute în
prealabil numerele de secvenţă. Odată intrat în posesia parametrilor
unei anumite conexiuni, intrusul poate să îşi asume identitatea uneia
din părţile implicate în procesul de comunicare fără ca partea
cealaltă sa sesizeze acest lucru. Simultan, calculatorul “şuntat” este
deconectat. Se poate intra astfel în posesia datelor transmise în
reţea sau se poate face uz de facilităţile atribuite de drept staţiei de
lucru a cărei identitate a fost furată.
Acest tip de atac exploatează erorile de configurare ale reţelelor de
calculatoare (porturi nerestricţionate, firewall-uri setate neglijent,
parole uşor de spart etc.).
Responsabilitatea în cazul protejării împotriva acestui tip de atac revine
în primul rând aplicaţiilor software.

17
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

3.8. Atacuri care exploatează slăbiciunile tehnologice


• Slăbiciunile tehnologice definesc porţile de acces într-un sistem care
sunt deschise sau uşor de deschis din cauza implementării neglijente a
codului sursă al modulului software care se ocupă cu gestionarea
respectivelor porţi.
• Prin “poartă” se înţelege orice modalitate prin care un intrus poate
efectua o serie de operaţiuni care în mod normal nu i-ar fi permise
(acces la anumite fişiere sau procese, drepturi de copiere sau de
modificare etc.).
• O altă eroare de programare care poate degenera în slăbiciune
tehnologică este insuficienta testare a codului sursă înainte de lansarea
în rulare. Situaţiile care pot fi incluse în acesta categorie sunt datorate în
general monitorizării necorespunzătoare a variabilelor folosite în codul
sursă. De exemplu, introducerea într-un câmp de adresă a unei valori
care depăşeşte zona de memorie alocată pentru stocarea variabilei
respective poate duce la blocarea sistemului în cazul în care datele de
intrare nu sunt tratate în mod corespunzător înainte de a fi prelucrate
efectiv de către program.
18
Telemedicină şi e-Sănătate
CURS 7 - Prof. dr. ing. Hariton Costin

3.9. Atacuri la biblioteci partajate


• Atacurile la bibliotecile partajate afectează în principal
aplicaţiile distribuite. De multe ori, aceste aplicaţii încarcă la
pornire datele din anumite fişiere de configurare care pot,
printre altele, să gestioneze facilităţile sau restricţiile
acordate sau impuse utilizatorilor.
• Insuficienta lor protecţie poate permite modificarea
neautorizată a acestor fişiere, efectele putându-se repercuta
asupra funcţionării aplicaţiei sau, în cazuri severe, asupra
datelor aplicaţiei.
• Este absolut imperios ca modulele software centrale ale
aplicaţiei (cele care folosesc bibliotecile partajate) să poate
verifica fară echivoc sursa bibliotecilor partajate pe care le
folosesc.
19