114
Univerzitet u Novom Sadu Tehnički fakultet »Mihajlo Pupin« Zrenjanin Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionih sistema Security aspects of web services applications within distributed information systems MASTER RAD Mentor: Student: Prof. dr Ljubica Kazi Lidija Perišić, MIT 14/2017 ZRENJANIN, 2019.

Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Univerzitet u Novom Sadu

Tehnički fakultet »Mihajlo Pupin«

Zrenjanin

Bezbedonosni aspekti primene veb servisa u okviru

distribuiranih informacionih sistema

Security aspects of web services applications within

distributed information systems

MASTER RAD

Mentor: Student:

Prof. dr Ljubica Kazi Lidija Perišić, MIT 14/2017

ZRENJANIN, 2019.

Page 2: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

2

Univerzitet u Novom Sadu

Tehnički fakultet Mihajlo Pupin

Ključna dokumentacijska informacija

Redni br:

RBR

Identifikacioni broj:

IBR

Tip dokumentacije:

TD Monografska dokumentacija

Tip zapisa:

TZ Tekstualni štampani materijal

Vrsta rada (dipl.mag.dokt):

VR Master rad

Ime i prezime autora:

AU Lidija Perišić

Mentor (titula, ime, prezime, zvanje):

MN Doc.dr Ljubica Kazi

Naslov rada:

NS

Bezbedonosni aspekti primene veb servisa u

okviru distribuiranih informacionih sistema

Jezik publikacije:

JZ Srpski

Jezik izvoda:

JI Srpski/Engleski

Zemlja publikovanja:

ZP Republika Srbija

Uže geografsko područje:

UGP Zrenjanin, Vojvodina

Godina:

GO 2019.

Izdavač:

IZ Autorski reprint

Mesto i adresa:

MS

Tehnički fakultet „Mihajlo Pupin“ Đure

Đakovića bb, Zrenjanin

Fizički opis rada:

FO

Broj poglavlja 7/ Broj strana 114/

Broj slika 42/ Broj listinga 19/ Broj tabela 3

Naučna oblast:

OB Informacione tehnologije – master

Naučna disciplina:

ND Distribuirani informacioni sistemi

Predmetna odrednica, ključne reči:

PO

Distribuirani informacioni sistemi,

bezbednost, veb servisi, SOAP, XML,

WSDL, UDDI

Page 3: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

3

UDK

Čuva se:

ČU

Biblioteka Tehničkog fakulteta „Mihajlo

Pupin“, Zrenjanin

Važna napomena:

VN

Izvod:

IZ

U ovom radu je opisana primena veb servisa, kao

osnova savremenih veb aplikacija. Rad se

fokusira na bezbedonosne aspekte veb servisa u

distibuiranim informacionim sistemima. Kao bilo

koji softver ili veb aplikacija i veb servisi su

takođe skloni sigurnosnim pretnjama vezanim za

autentifikaciju, dostupnost i integritet, tako da će

u radu biti opisane nove tehnike i metode u

oblasti bezbednosti veb servisa kao i zaštite

podataka i postojeća implentirana rešenja. Pored

toga kreiran je i poseban veb servis u

integrisanom razvojnom okruženju Visual Studio

2017, koji pokazuje kako autentificirati i ovlastiti

pozive da izvode operacije i kako pristupiti

resursima.

Datum prihvatanja teme od strane NN veća:

DP 28.03.2019

Datum odbrane:

DO

Članovi komisije:

ČK

Doc.dr Ljubica Kazi

Prof.dr Biljana Radulović

Prof.dr Dalibor Dobrilović

Page 4: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

4

University of Novi Sad

Technical Faculty „Mihajlo Pupin“ Zrenjanin

Keyword documentation

Accession number:

ANO

Identification number:

INO

Document type:

DT Monograph documentation

Type of record:

TR Textual printed material

Contents code:

CC M.Sc.Thesis

Author:

AU Lidija Perišić

Menthor:

MN Doc.dr Ljubica Kazi

Title:

TI

Security aspects of web services applications

within distributed information systems

Language of text:

LT Serbian

Language of abstract:

LA Serbian/English

Country of publication:

CP Republic of Serbia

Locality of publication:

LP Zrenjanin, Vojvodina

Publication year:

PY 2019.

Publisher:

PU Author’s reprint

Publication place:

PP

Technical faculty “Mihajlo Pupin”

Đure Đakovića bb, Zrenjanin

Physical description:

PD

Chapter 7/ Pages 114 / Pictures 42/

Lists of code 19/ Tables 3

Scientific field:

SF

Computer science – M.Sc

Scientific discipline:

SD Distributed information systems

Subject, Keywords:

SKW

Distributed information systems,

Security, web services, SOAP, XML, WSDL,

UDDI

Page 5: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

5

UDC

Holding data:

HD

Library of Technical Faculty “Mihajlo Pupin”,

Zrenjanin

Note:

N

Abstract:

AB

This paper describes the application of web

services as the basis for modern web

applications. The work focuses on the security

aspects of web services in distributed

information systems. Like any software or

web application and web services, they are

also prone to security threats related to

authentication, availability, and integrity, so

that new techniques and methods in the field

of Web service security and data protection

and existing implanted solutions will be

described. In addition, a special web service

has been created in the integrated

development environment Visual Studio

2017, which shows how to authenticate and

authorize calls to perform operations and how

to access resources.

Accepted on Scientific Board on:

AS 28.03.2019

Defended:

DE

Thesis defend board:

DB

Doc.dr Ljubica Kazi

Prof.dr Biljana Radulović

Prof.dr Dalibor Dobrilović

Page 6: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

6

Sadržaj

1. METODOLOŠKI OKVIR ISTRAŽIVANJA ....................................................................... 11

1.1 Predmet i problem istraživanja ....................................................................................... 11

1.2 Vrsta istraživanja ............................................................................................................ 11

1.3 Cilj i zadaci istraživanja ................................................................................................. 11

1.4 Hipoteza ......................................................................................................................... 11

1.5 Očekivani rezultati ......................................................................................................... 11

1.6 Metodološki postupak .................................................................................................... 12

2. TEORIJSKO ISTRAŽIVANJE ............................................................................................. 13

2.1 Bezbednost u oblasti IT .................................................................................................. 13

2.1.1 Sigurnosni napadi i pretnje ......................................................................................... 14

2.1.2 Najčešći napadi i pretnje ............................................................................................. 17

2.1.2.1 Odbijanje usluge ..................................................................................................... 17

2.1.2.2 Spoofing .................................................................................................................. 18

2.1.2.3 Sniffing ................................................................................................................... 18

2.1.2.4 Programske pretnje ................................................................................................. 19

2.1.2.5 Sistemske pretnje .................................................................................................... 20

2.1.3 Mehanizmi bezbednosti .............................................................................................. 20

2.1.3.1 Autentifikacija......................................................................................................... 21

2.1.3.2 Autorizacija ............................................................................................................. 22

2.1.3.3 Audit trails .............................................................................................................. 22

2.1.3.4 Kriptografija ............................................................................................................ 23

2.1.3.4.1 Simetrični algoritmi ................................................................................................ 24

2.1.3.4.2 Asimetrični algoritmi .............................................................................................. 26

2.1.3.5 Firewalls .................................................................................................................. 27

2.1.4 Bezbednosna politika .................................................................................................. 28

2.1.5 Implementacija bezbednosti ....................................................................................... 29

2.2 Distribuirani sistemi ...................................................................................................... 30

2.2.1 Definicija i karakteristike distribuiranih sistema ........................................................ 30

2.2.2 Kategorizacija distribuiranih sistema ......................................................................... 32

2.2.2.1 Distribuirani računarski sistemi .............................................................................. 32

2.2.2.2 Distribuirani informacioni sistemi .......................................................................... 33

2.2.2.3 Distribuirani integrisani sistemi .............................................................................. 34

2.2.3 Klijent-server arhitektura ............................................................................................ 34

Page 7: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

7

2.2.4 Višeslojna objektno orijentisana arhitektura .............................................................. 35

2.2.5 Servisno orijentisana arhitektura ................................................................................ 37

2.3 Veb servisi ...................................................................................................................... 37

2.3.1 Veb servis arhitektura ................................................................................................. 39

2.3.2 Tehnologije veb servisa .............................................................................................. 40

2.3.2.1 XML ........................................................................................................................ 41

2.3.2.2 SOAP ...................................................................................................................... 42

2.3.2.3 WSDL ..................................................................................................................... 44

2.3.2.4 UDDI....................................................................................................................... 44

3. STRUČNO ISTRAŽIVANJE – BEZBEDNOST VEB SERVISA ....................................... 46

3.1 Bezbednost veb servisa .................................................................................................. 46

3.1.1 Sigurnosni protokoli transportnog sloja ..................................................................... 47

3.1.2 XML enkripcija i XML potpis .................................................................................... 48

3.1.3 WS-Security................................................................................................................ 51

3.1.3.1 WS-Security tokeni ................................................................................................. 54

3.1.3.1.1 UserName tokeni .................................................................................................... 56

3.1.3.1.2 X.509 Certificate ..................................................................................................... 59

3.1.3.1.3 Kerberos tokeni ....................................................................................................... 60

3.1.3.1.4 SAML tokeni .......................................................................................................... 63

3.1.4 WS-Trust .................................................................................................................... 65

3.1.5 WS-Secure Conversation ............................................................................................ 67

3.1.6 WS-Addressing ........................................................................................................... 67

3.1.7 WS-Reliability ............................................................................................................ 71

3.1.8 WS-Reliable messaging .............................................................................................. 71

3.2 Analiza postojećih rešenja u oblasti ............................................................................... 72

3.2.1 Bezbednost veb servisa u poslovnim aplikacijama .................................................... 72

3.2.2 WS-BPEL ................................................................................................................... 73

3.2.3 Bezbednost WS-BPEL ............................................................................................... 75

3.2.4 ebXML........................................................................................................................ 76

4. EMPIRIJSKO ISTRAŽIVANJE POSTOJEĆIH REŠENJA ................................................ 80

4.1 Veb servisi Narodne Banke Srbije ................................................................................. 80

4.1.1 Način korišćenja veb servisa ...................................................................................... 82

4.2 Centralni registar obaveznog zdravstvenog osiguranja (elektronski potpis i korišćenje

veb aplikacije) ........................................................................................................................... 85

5. NAUČNO-STRUČNO ISTRAŽIVANJE ............................................................................. 90

Page 8: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

8

5.1 Pregled sigurnosti poslovnih aplikacija i posledice slabih tačaka u sistemima ............. 90

5.2 Pregled studija sigurnosti veb servisa, sigurnosni rizici, pretnje i kontramere .............. 95

5.2.1 WSDL scanning .......................................................................................................... 96

5.2.2 XML injection ............................................................................................................ 96

5.2.3 XPath Injection ........................................................................................................... 97

5.2.4 SOAPAction spoofing ................................................................................................ 97

5.2.5 DoS napad................................................................................................................... 99

5.3 Primeri napada na veb servise ...................................................................................... 100

6. IMPLEMENTIRANO REŠENJE........................................................................................ 103

6.1 Opis poslovnog konteksta ............................................................................................ 103

6.2 Bezbedonosni aspekti implementacije veb servisa u veb aplikaciji ............................. 104

7. ZAKLJUČAK ...................................................................................................................... 108

Literatura: ................................................................................................................................ 109

Page 9: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

9

Apstrakt

U ovom radu je opisana primena veb servisa, kao osnova savremenih veb aplikacija. Rad se

fokusira na bezbedonosne aspekte veb servisa u distibuiranim informacionim sistemima. Kao

bilo koji softver ili veb aplikacija i veb servisi su takođe skloni sigurnosnim pretnjama vezanim

za autentifikaciju, dostupnost i integritet, tako da će u radu biti opisane nove tehnike i metode u

oblasti bezbednosti veb servisa kao i zaštite podataka i postojeća implentirana rešenja. Pored

toga kreiran je i poseban veb servis u integrisanom razvojnom okruženju Visual Studio 2017,

koji pokazuje kako autentificirati i ovlastiti pozive da izvode operacije i kako pristupiti

resursima.

Page 10: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

10

Abstract

This paper describes the application of web services as the basis for modern web applications.

The work focuses on the security aspects of web services in distributed information systems.

Like any software or web application and web services, they are also prone to security threats

related to authentication, availability, and integrity, so that new techniques and methods in the

field of Web service security and data protection and existing implanted solutions will be

described. In addition, a special web service has been created in the integrated development

environment Visual Studio 2017, which shows how to authenticate and authorize calls to

perform operations and how to access resources.

Page 11: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

11

1. METODOLOŠKI OKVIR ISTRAŽIVANJA

1.1 Predmet i problem istraživanja

Predmet istraživanja jesu bezbedonosni aspekti, tehnike i metode primene veb servisa u

okviru distribuiranih informacionih sistema. Problem istraživanja jeste bezbednost poslovnih

aplikacija, tehnike i metode koje je moguće primeniti kako bi se obezbedila sigurna

implementacija veb servisa u poslovne aplikacije i na taj način ostvarila sigurna distribucija

podataka.

1.2 Vrsta istraživanja

U ovom radu, predmetu istraživanja se pristupa sa teorijskog, naučnog i empirijskog aspekta.

U okviru teorijskog i naučnog pristupa razmatra se problem bezbednosti softvera i

bezbednost podataka, veb servisi, distribuirani informacioni sistemi, postojeća stručna

rešenja u oblasti bezbednosti veb servisa. U empirijskom delu biće izvršena analiza

postojećih tehnika i metoda za bezbednost interakcije veb servisa sa veb aplikacijama, kao i

izrada prototipa softvera.

1.3 Cilj i zadaci istraživanja

Cilj istraživanja predstavlja teorijsko istraživanje bezbednosnih aspekata, tehnologija i

metoda veb servisa, istraživanje stručnih i naučnih rešenja u implementaciji veb servisa u

poslovne aplikacije. Konkretni procesi će biti ilustrovani praktično realizovanim primerom.

1.4 Hipoteza

Osnovna hipoteza:

Savremene tehnologije razvoja veb aplikacija omogućavaju interakciju sa veb servisima i

primenu bezbedonosnih elemenata.

1.5 Očekivani rezultati

- Teorijski prikaz osnovnih koncepata.

- Stručno-istaživački rezultati prikaza različitih tehnika i metoda za bezbednost interakcije

veb servisa sa veb aplikacijama.

- Naučno-istraživački rezultati prikaza aktuelnih istraživanja i rešenja u oblasti bezbednosti

veb servisa.

- Realizovan primer softverske aplikacije u kojoj su primenjene tehnike bezbednosti veb

servisa prilikom implementacije.

Page 12: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

12

1.6 Metodološki postupak

1. Metodološko koncipiranje istraživanja

2. Teorijsko istraživnje osnovnih koncepata i metoda

3. Istraživanje postojećih naučnih i stručnih rešenja

4. Istraživanje implementiranihn rešenja

5. Izrada prototipa softvera i testiranje rada

6. Dokumentovanje i analiza rada

Page 13: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

13

2. TEORIJSKO ISTRAŽIVANJE

2.1 Bezbednost u oblasti IT

Ubrzani razvoj i sve veći značaj računarskih i komunkacionih tehnologija, neophodnih za

savremeno poslovanje, zahteva da se problemu sigurnosti posveti posebna pažnja.

Uvođenjem računara, pojavila se potreba za novim i automatizovanim alatima za zaštitu

podataka, softvera i hardvera. Ovo je posebno značajno za deljene sisteme, kao što su sistemi

za deljenje datoteka, kojima je omogućen pristup kroz javne računarske mreže. Važna

promena koja je uticala na sigurnost jeste širenje primene računarskih mreža, komunikacija i

distribuiranih sistema.

Informaciona bezbednost je deo upravljanja informacionim sistemima. Sa eksponencijalnom

rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi

utiču skoro na svakoga. Način na koji se grade i koriste informacioni sistemi utiču na

nacionalnu bezbednost, konkurentnost i na ekonomiju. Upravljanje informacionim sistemima

je osnova koja određuje da li su oni usklađeni sa ciljevima i da li služe potrebama. Prema

tome, dobre prakse upravljanja informacionim sistemima su od vitalnog značaja za svaku

organizaciju, a ove prakse ili njihovo odsustvo direktno utiču na bezbednost informacionih

sistema.

Računarska bezbednost je zaštita koja se pruža automatizovanom informacionom sistemu u

cilju postizanja primenljivih ciljeva očuvanja integriteta, dostupnosti i poverljivosti resursa

informacionog sistema uključujući hardver, softver i podatke.[1]

Ova definicija uvodi tri ključna pojma koja predstavljaju srž računarske sigurnosti:[1][4]

- Poverljivost (Confidentiality) – se odnosi na poverljivost podatka i omogućava da

privatne i poverljive informacije nisu dostupne ili otkrivene neovlašćenim osobama.

- Integritet (Integritety) – osigurava da se informacije i programi menjaju samo na

specificiran i ovlašćen način i da sistem izvršava svoju funkciju na neometan način,

bez namerne ili nenamerne neovlašćene manipulacije sistema.

- Dostupnost (Availability) – osigurava da sistemi rade brzo i da servis ne bude odbijen

ovlašćenim korisnicima. Sa operativnog stanovišta, ovaj zahtev se odnosi na

adekvatno vreme odziva i garantovani propusni opseg. Sa stanovišta bezbednosti,

predstavlja sposobnost da se zaštiti i da se oporavi od štetnog događaja.

Prema [2] Poverljivost znači očuvanje dozvoljenih ograničenja na pristup informacijama,

gubitak poverljivosti bi bilo neovlašćeno otkrivanje informacija. Integritet je čuvanje od

nepravilnog modifikovanja ili uništavanja informacija, a gubitak integriteta je neovlašćena

izmena ili uništavanje informacija. Dostupnost je obezbeđivanje pravovremenog i pouzdanog

pristupa, a gubitak dostupnosti je ometanje pristupa informacijama ili informacionom

sistemu.

Page 14: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

14

Alati za poverljivost: [5]

- Šifrovanje: transformacija informacija pomoću ključa za šifrovanje, tako da se

transformisana informacija može čitati samo pomoću ključa za dešifrovanje.

- Kontrola pristupa: pravila i politike koje ograničavaju pristup poverljivim

informacijama koja se može odrediti identitetom kao što je ime osobe ili serijski broj

računara.

- Autentifikacija: određivanje identiteta ili uloge koju neko ima. Ovo određivanje se

može izvršiti na više različitih načina, ali se obično zasniva na kombinaciji – nešto što

osoba ima (pametna kartica), nešto što osoba zna (lozinka) i nešto što osoba jeste

(otisak prsta).

- Autorizacija: određivanje da li je osobi ili sistemu dozvoljen pristup resursima, na

osnovu politike kontrole pristupa.

- Fizička bezbednost: uspostavljanje fizičkih prepreka za ograničavanje pristupa

zaštićenim računarskim resursima.

Alati za integritet: [5]

- Backup: periodično arhiviranje podataka.

- Pregledi: funkcija koja mapira sadržaj datoteke na numeričku vrednost (funkcija

kontrolnog zbira zavisi od celokupnog sadržaja datoteke i dizajnirana je tako da će

čak i mala promena ulazne datoteke rezultirati drugom izlaznom vrednošću).

- Kodovi za korekciju podataka: metode za pohranjivanje podataka na takav način da

se male promene mogu lako otkriti i automatski ispraviti.

Alati za dostupnost: [5]

- Fizička zaštita: infrastruktura namenjena održavanju dostupnih informacija čak i u

slučaju fizičkih izazova.

- Računarske redundancije: računari i uređaji za skladištenje koji služe za povratne

greške u slučaju kvarova.

2.1.1 Sigurnosni napadi i pretnje

Pretnja je mogućnost povrede bezbednosti, koja postoji kada postoji okolnost, sposobnost,

radnja ili događaj koji bi mogao da naruši bezbednost i nanese štetu tj. pretnja je moguća

opasnost koja može iskoristiti ranjivost.[2]

Ako je cilj informacione sigurnosti da dostigne i održi CIA trijadu (Confidentiality, Integrity,

Availability) informacione imovine na potrebnom nivou, pretnja je nešto što potencijalno

može da je ugrozi. To znači da se pretnja sastoji od potencijalne akcije ili pojave koja može

negativno uticiati na CIA trijadu informacija. Akcije i događaji se ne događaju sami, moraju

postojati uzroci koji leže iza, tako da bi u pojam pretnje trebalo uključiti i akcije, pojave i

osnovne uzroke. Pretnje su potencijalne neželjene radnje ili pojave, koje izvršavaju ili

uzrokuju akteri, ljudski stvoreni artefakti ili prirodni fenomeni koji bi trebalo da naruše CIA

trijadu trenutnih informacija i sredstava.[14]

Page 15: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

15

Terorizam, informacijski rat, sabotaže i upadi su primeri namernih pretnji, dok su nemarnost,

greške i neznanje nenamerne pretnje. Prirodni fenomeni mogu biti poplave, požari,

zemljotresi i oluje. Ljudi mogu konstruisati, implementirati, konfigurisati ili rukovati

artefaktima na neprikladne i destruktivne načine, na primer ljudi koji stvaraju destruktivne IT

artefakte kao što su virusi i crvi. [14]

Napad na sigurnost sistema proizilazi iz inteligentne pretnje tj. inteligentni čin koji je

adekvatan pokušaj u smislu metode ili tehnike da se izbegnu sigurnosne mere i da se ugrozi

sigurnosna politika sistema. U osnovi napadi su akcije koje su usmerene na kompromitaciju

sigurnosti informacija, računarskih sistema i mreža.

Pasivni napadi su po prirodi prisluškivanje ili nadgledanje prenosa, a cilj protivnika je da

dobije informacije koje se prenose. Pasivni napad pokušava da nauči ili da iskoristi

informacije iz sistema, ali ne utiče na sistemske resurse. Veoma teško ih je otkriti, jer ne

uključuju bilo kakvu promenu podataka. Prenos podataka se odvija normalno, a ni pošiljalac

ni primalac nisu svesni da je treća strana pročitala poruke ili posmatrala obrazac prenosa.

Međutim, moguće je sprečiti uspeh ovih napada, obično putem enkripcije. Kod pasivnih

napada naglasak je na prevenciji, a ne na otkrivanju.

Aktivni napadi uključuju određenu modifikaciju toka podataka, pokušavaju da promene

sistemske resurse ili da utiču na njihov rad.

Sigurnosni napadi se mogu klasifikovati u četiri osnovne kategorije:[3]

- Presecanje ili prekidanje (Interruption) – je napad na dostupnost, ovim napadom se

prekida tok informacija, onemogućava pružanje usluge ili funkcionisanje sistema.

- Hvatanje (Interception) – je napad na poverljivost. Hvatanje se sprovodi kao

prisluškivanje, nadziranje ili uvid u osetljive informacije.

- Izmena (Modification) – predstavlja napad na integritet. Ako se odvija na

komunikacionom putu prenosa podataka može se ispoljiti kao napad tipa “man in the

middle”, a unutar računarskih sistema se manifestuje kao izmena podataka, načina

funkcionisanja programa ili prava pristupa.

- Fabrikovanje (Fabrication) – je napad na autentičnost i sastoji se u generisanju lažnih

podataka, lažnog saobraćaja ili davanju neovlašćenih komandi.

Tabela 1. Primeri napada na računarske resurse [1]

Dostupnost Poverljivost Integritet

Hardver Oprema je ukradena ili

onemogućena, čime se

uskraćuje usluga.

Softver Programi su izbrisani i

korisnicima je

onemogućen pristup.

Napravljena je

neovlaščena kopija

softvera.

Program je modifikovan,

bilo da proizvede neuspeh

u izvršavanju ili da izvši

neplanirane funkcije.

Podaci Datoteke su izbrisane,

onemogućavajući pristup

korisnicima.

Izvršeno je neovlašćeno

čitanje podataka.

Postojeće datoteke su

modifikovane ili su

napravljene nove.

Page 16: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

16

Komunikacioni

putevi

Poruke su uništene ili

izbrisane, komunikacioni

kanali ili mreže su

nedostupne.

Poruke su pročitane i

uočen je obrazac prenosa

podataka.

Poruke su modifikovane,

odložene, reorganizovane

ili duplirane. Lažne poruke

su proizvedene.

Tabela br.1 prikazuje primere napada na računarske resurse i bezbednosne aspekte tih

napada.

Glavna pretnja hardveru računarskog sistema jeste pretnja dostupnosti, jer je hardver

najranjiviji za napad i najmanje podložan automatskim kontrolama. Pretnje uključuju

slučajno i namerno oštećenje opreme i krađu, a za zaštitu su potrebne fizičke i

administrativne sigurnosne mere.

Softver uključuje operativne sisteme, uslužne programe i aplikativne programe. Ključna

pretnja softveru je napad na dostupnost. Softver, posebno aplikativni se često lako briše,

može se izmeniti ili oštetiti kako bi bio beskoristan. Pažljivo upravljanje konfiguracijom

softvera, koja podrazumeva pravljenje rezervnih kopija može održati visok nivo dostupnosti.

Modifikacija softvera rezultira programom koji još uvek funkcioniše, ali se ponaša drugačije

i predstavlja pretnju integritetu. Primeri napada na integritet softvera jesu računarski virusi.

Sigurnost podataka uključuje datoteke i druge oblike podataka, a problem bezbednosti

podataka obuhvata dostupnost, poverljivost i integritet. U slučaju dostupnosti, problem

nastaje usled brisanja podataka, slučajnog ili zlonamernog, u pogledu poverljivosti problem

nastaje usled neovlašćenog čitanja datoteka ili baza podataka, najveći problem nastaje

narušavanjem integriteta podataka usled modifikacije postojećih podataka ili generisanja

novih.

Ranjivost (Vulnerability) – je slabost sredstva ili grupe sredstava koja se mogu iskoristiti

jednom ili više pretnji. Ranjivost je slabost, nešto što ako se iskoristi može izazvati neke

neželjene efekte. Odnosi se na manu u sistemu koja ga može ostaviti otvorenim za napad.

Može se odnositi i na bilo koji vid slabosti u samom kompjuterskom sistemu, skupu

procedura ili bilo čemu što sistem ostavlja izložen pretnjama. Smanjenje ranjivosti

obezbeđuje manje opcija za zlonamerne korisnike da dobiju pristup bezbednim

informacijama. Jedna od mogućih načina smanjivanja ranjivosti jeste ažuriranje softverskih

zakrpa koje mogu da otklone nedostatke ili sigurnosne rupe koje su pronađene u početnom

izdanju. [15]

Rizik (Risk) – je u kontekstu sigurnosti računarskih sistema i mreža, mera opasnosti, tj.

mogućnost da se desi oštećenje ili gubitak neke informacije, hardvera, intelektualne svojine,

prestiža ili ugleda. Na primer, rizik kompromitacije integriteta baze klijenata ili rizik

odbijanja servisa od strane on-line portala banke.[3]

Koncept rizika se sastoji od dva dela: verovatnoća ili očekivana frekvencija incidenta će se

dogoditi i potencijalni štetni incident može prouzrokvati štetu. Rizik se može predstaviti u

obliku jednačine:[14]

Page 17: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

17

R = L * P

R – rizik

L – potencijalni gubitak

P – verovatnoća ili očekivana učestalost gubitka

ili

Rizik = Pretnja * Ranjivost * Vrednost imovine [3]

U standardu ISO / IEC 17799 (2001, p8) rizik je definisan na sledeći način – “Rizik se sastoji

od verovatnoće incidenta kao i potencijalnih negativnih posledica”.[14]

2.1.2 Najčešći napadi i pretnje

Računarski sistemi i mreže se mogu napasti na mnoštvo načina, neki od njih će biti opisani u

narednom poglavlju.

2.1.2.1 Odbijanje usluge

Odbijanje usluge (Denial of services) – DoS napad izaziva prekid rada servisa ili programa,

čime lišava legitimne korisnike usluga ili resursa koje su očekivali, odnosno predstavlja

prekid ili degradaciju usluga prenosa podataka ili pristupa informacijama. DoS napadi obično

ne dovode do krađe ili gubitka značajnih informacija ili drugih sredstava, ali žrtvu mogu

mnogo koštati vremena i novca usled nedostupnosti servisa. [7]

DoS napadi se najlakše izvode:

Na transportnom sloju slanjem velikog broja sinhronizovanih paketa što dovodi do

usporavanja i na kraju zaustavljanja rada servisa.

Korišćenjem pogrešno konfigurisanih mrežnih uređaja, tako što se šalju lažni paketi

koji pinguju svaki računar u mreži, umesto samo jednog određenog uređaja.

Slanjem zahteva za povezivanje sa serverom sve dok svi otvoreni portovi ne budu

zasićeni zahtevima i nijedan od njih nije dostupan za legitimne korisnike sa kojima se

može povezati.[7][8]

Dodatni tip DoS napada je DDoS (Distributed Denial of services) je pokušaj da se usluga na

mreži učini nedostupnom tako što će je nadjačati sa saobraćajem iz više izvora.

Distribucija hostova koja definiše DDoS pruža napadu više koristi:

Može da iskoristi veći broj računara da izvrši ozbiljan razorni napad.

Lokaciju napada je teško detektovati zbog slučajne raspodele napadačkih sistema.[8]

Moderni DDoS napadi generišu ogromne količine saobraćaja pomoću botova (botnet) koji

predstavljaju mrežu računara koji su zaraženi malicioznim softverom tako da napadač ima

kontrolu nad njima sa udaljene lokacije, dizajnirani su da napadaju jedan server, mrežu ili

Page 18: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

18

aplikaciju sa ogromnim brojem zahteva, paketa ili poruka, čime se uskraćuje usluga

legitimnim korisnicima.[10]

DDoS se najčešće koristi da dovede sistem u nestabilno stanje, da se zatim iskoristi neka

ranjivost i upadne u sam sistem. Tokom DDoS napada svi resursi su maksimalno opterećeni i

dolaze do svojih graničnih veličina, kada su moguće greške ili se ispoljavaju ranjivosti, pa je

moguće da se lakše upadne u sam sistem ili dođe do naloga sa većim privilegijama nego što

bi inače bilo moguće.[10]

2.1.2.2 Spoofing

Kada je u pitanju računarska bezbednost, spoofing je kada se neko ili nešto pretvara da je

nešto drugo u pokušaju da stekne poverenje, dobije pristup sistemu, krade podatke ili širi

malver.

Lažiranje IP adresa je metoda za zamenu IP adresa, koja dozvoljava nekom hostu da se

maskira kao drugi host. Omogućava slanje poruka na računar pomoću IP adrese koja čini da

izgleda kao da poruka dolazi iz pouzdanog izvora i modifikovanje DNS servera kako bi se

preusmerilo određeno ime domena na drugu IP adresu.[11]

Lažno slanje e-pošte je najlakše prepoznati jer direktno cilja korisnika. Svaka čudna e-pošta

koja zhateva poverljive informacije može biti lažna, posebno ako traži imena i lozinke.

Spoofing može da se koristi za dobijanje pristupa ličnim informacijama, širenje zlonamernog

softvera preko zaraženih veza ili priloga, zaobilaženje pristupa mreži ili redistribuciju

saobraćaja da bi se izvršio napad uskraćivanja usluge.

Spoofing se može sprečiti na sledeći način:

- Ne odgovarati na bilo koju e-poruku u kojoj se traže podaci o računu ili podaci za

prijavu,

- Proverom adrese pošiljaoca o sumnjivim e-porukama,

- Voditi računa ukoliko se bilo koji od pouzdanih sajtova počne ponašati

drugačije.[113]

2.1.2.3 Sniffing

Njuškanje (Sniffing) – je jedna od najčešće korišćenih metoda krađe podataka. To je proces

praćenja i hvatanja svih paketa podataka koji prolaze kroz datu mrežu. Napadač specijalnim

programom presreće TCP/IP pakete i na taj način može da uhvati i analizira sav mrežni

saobraćaj. Program se može instalirati na bilo koji računar povezan na lokalnu mrežu bez

potrebe za instalacijom na samom uređaju, tj. može ostati neotkriven za vreme trajanja veze.

Sniffing se obično koristi za nadgledanje i analizu mrežnog saobraćaja, kako bi se otkrili

problemi i omogućilo da se stvari odvijaju efikasno. Međutim, sniffing se može koristit i za

Page 19: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

19

loše namere, jer prati sve što prolazi kroz mrežu, uključujući nešifrovane lozinke i korisnička

imena tako da napadači mogu pristupiti svim podacima koji prolaze kroz mrežu. [114]

Sniffing je napad koji se koristi za krađu podataka, špijuniranje mrežnih aktivnosti i

prikupljanje informacija o korisniku. Obično, krajnji cilj je da se dobiju lozinke i informacije

o nalogu za bankarske i trgovačke lokacije.

Sniffing se može sprečiti:

- Šifrovanjem celokupnog sadržaja koji se šalje ili prima,

- Skeniranjem mreže,

- Korišćenjem pouzdane mreže.

2.1.2.4 Programske pretnje

Posebne metode za izvođenje napada su programske pretnje. U njih se ubrajaju:

- Trojanski konj – je ilegalni segment koda podmentut u kod programa čiji je cilj da

promeni funkciju ili ponašanje originalnog programa. Specijalna varijanta trojanskog

konja je program koji oponaša proceduru prijavljivanja na sistem ili mrežu. Programi

ovakvog tipa presreću login proceduru i prikazuju odzivnik za prijavljivanje,

identitčan onom pravom, koji čeka da korisnik unese korisničko ime ili adresu.

Korisnik unosi korisničko ime i lozinku koje trojanski konj smešta u neku datoteku

dostupnu napadaču, a zatim obaveštava korisnika da je pogrešno uneo lozinku.

Trojanski konj, zatim, predaje kontrolu pravoj proceduri prijavljivanja na sistem.

Korisnik smatra da je uneo pogrešnu lozinku, unosi je ponovo i prijavljuje se na

sistem. Napadač proverava datoteku i prijavljuje se na sistem pod tuđim imenom. [3]

- Klopka (Trap Door) – je metoda zaobilaska autentičnosti, obezbeđivanja udaljenog

pristupa računaru, dobijanja pristupa kodu programa. Može se ostvariti kada autor

programa slučajno ili namerno ostavi prazna mesta u kodu, napadač može da

podmetne svoj kod u tom prostoru kako bi izvršio modifikaciju ili pristupio podacima

što je posledica lošeg dizajna programa.

- Prelivanje bafera (buffer overflow) – je najčešći napad sa mreže pri pokušaju

neautorizovanog pristupa. Po pravilu napadači koriste greške u programima, odnosno

nedovoljnu kontrolu razdvajanja steka, podataka i koda. Napadač šalje više ulaznih

podataka nego što program očekuje, preplavljuje ulazna polja, argumente komandne

linije ili ulazni bafer da bi došao do steka, prepisuje važeću adresu u steku adresom

svog koda, puni deo steka svojim kodom koji izvršava neku komandu. U slučaju

uspešnog napada, umesto nedovoljno zaštićenog programa, izvrši će se ilegalan kod

ubačen prekoračenjem bafera.[3]

Page 20: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

20

2.1.2.5 Sistemske pretnje

Mnogi operativni sistemi obezbeđuju mehanizam pomoću kojeg procesi mogu kreirati druge

procese. U takovoj okolini moguće je zlonamerno korišćenje datoteka i sistemskih resursa.

Pretnje ovog tipa nazivaju se sistemske pretnje. Dve metode kojima se to može postići su crvi

i virusi.

- Crvi (worms) – kompjuterski crv je vrsta malvera koji se širi od komjutera do

kompjutera. Crv se može replicirati bez ikakve ljudske interakcije i ne mora se

priključiti softverskom programu da bi prouzrokovao štetu. Mogu se prenositi putem

softverskih ranjivosti ili mogu doći kao prilozi u neželjenim e-porukama. Kada se

jednom otvore, ovi fajlovi mogu da obezbede vezu do zlonamernog sajta. Kada se

instalira, crv tiho prelazi u rad i inficira mašinu bez znanja korisnika. Crvi mogu da

menjaju i brišu datoteke ili da ubace dodatni zlonamerni softver. Ponekad je svrha

kompjuterskog crva samo da napravi kopiju samog sebe preko iscrpljujućih

sistemskih resursa, kao što su hard disk ili propusni opseg. Pored toga što uništavaju

sistemske resurse, crvi mogu da ukradu podatke, instaliraju backdoor i dozvole

napadačima da steknu kontrolu nad računarom i njegovim sistemskim

postavkama.[12]

- Virusi (virus) – računarski virusi su dizajnirani da se šire od domaćina do hosta i

imaju mogućnost da se repliciraju. Da bi se reprodukovao virus zahteva nosioca u

vidu izvršne datoteke. U tehničkom smislu, računarski virus je vrsta zlonamernog

koda ili programa koji je napisan tako da menja način na koji računar radi i dizajniran

je da se širi sa računara na računar. Virus funkcioniše tako što se ubacuje ili pripaja

legitimnom programu kako bi izvršio svoj kod i u tom procesu virus ima potencijal

da prouzorkuje neočekivane ili štetne efekte, kao što je oštećenje sistemskog softvera

kvarenjem ili uništavanjem podataka.[12]

2.1.3 Mehanizmi bezbednosti

Internet postaje sve važniji kanal za e-trgovinu, gde složene poslovne aplikacije uključuju

više strana. Jasno je da je sigurnost transakcija koje koriste elektronska sredstva od

kapitalnog značaja. Lista razloga zašto je sigurnost elektronskog poslovanja važna je

beskrajna, oni se kreću od održavanja pozitivnog imidža brenda do sprečavanja povreda

bezbednosti koje utiču na poverenje koji klijenti i potrošači imaju u njih. Aplikacije su

neophodan deo poslovanja u svetu gde se sve povezuje sa internetom. IOT, međusobna

hiperpovezanost i zahtevi kupaca, zahtevaju da preduzeća koriste aplikacije koje pomažu u

premošćavanju povezanosti poslovanja sa mobilnim, perifernim, mrežnim i žičanim

uređajima. One omogućavaju prikupljanje ogromne količine podataka, omogućavaju

korisnicima i zaposlenima jednostavnost korišćenja i daju prednost u konkuretnim tržištima.

Zato, poslovni ciljevi treba da budu: smanjenje rizika, zaštita imidža brenda, zaštita i

izgradnja poverenja potrošača, zaštita podataka.

Page 21: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

21

Mehanizmi bezbednosti su tehnički alati i tehnike koje se koriste za implementaciju

sigurnosnih usluga. Mehanizam može da funkcioniše sam, ili sa drugima da bi pružio

određenu uslugu.

2.1.3.1 Autentifikacija

Autentifikacija identifikuje ko zahteva mrežne usluge. Termin autentifikacija se obično

odnosi na autentifikaciju korisnika, ali se može odnositi i na uređaje ili softverske procese.

Na primer, neki protokoli za usmeravanje podržavaju autentifikaciju rute, pri čemu ruter

mora da prođe neke kriterijume, pre nego što drugi ruter prihvati ažuriranje rutiranja.

U fazi autentifikacije se dokazuje da je osoba zaista ta za koju tvrdi da jeste. Cilj

autentifikacije je da se dobije razumno uverenje da identitet koji je deklarisan u fazi

identifikacije pripada stranci u komunikaciji. Autentifikacione metode su lozinke, tajni

kodovi, lični identifikacioni brojevi (PIN-ovi), tokeni (pametna kartica ili USB token),

biometrijska autenfikacija (otisak prsta, mrežnice, prepoznavanje glasa, rukopisa).

Većina sigurnosnih politika navodi da za pristup mreži i njenim uslugama, korisnik mora

uneti ID za prijavu i lozinku koji su proverni od strane bezbednosnog softvera. Kako bi se

maksimizirala bezbednost, mogu se koristiti jednokratne (dinamičke) lozinke. Kod sistema za

jednokratnu lozinku, lozinka se uvek menja. Ovo se postiže korišćenjem sigurnosne karice,

koja se naziva smartcard. Sigurnosna kartica funkcioniše tako što korisnik unosi lični

identifikacioni broj (PIN) u karticu. PIN je početni nivo sigurnosti koji korisniku daje

dozvolu za korišćenje kartice, kartica obezbeđuje jednokratnu lozinku koja se koristi za

pristup korporativnoj mreži na ograničeno vreme. Lozinka je sinhronizovana sa centralnim

serverom za bezbednost kartice koji se nalazi na mreži.[17]

Autentifikacija je najčešće korišćena metoda zahvaljujući niskoj ceni i jednostavnoj

implementaciji u informacionim sistemima. Međutim, autentifikacija nije adekvatna za

sisteme koji zahtevaju visoku bezbednost.[7]

Neporicanje (non-repundation) se može smatrati proširenjem usluge identifikacije i

autentifikacije. Uopšteno, neporicanje se primenjuje kada se podaci prenose elektronskim

putem, na primer, nalog berzanskom posredniku za kupovinu ili prodaju akcija, ili nalog

banci za prenos sredstava sa jednog računa na drugi. Opšti cilj je da se dokaže da je određena

poruka povezana sa određenim pojedincem. Ukoliko pošiljalac poruke poriče da je poruku

poslao, usluga neporicanja sa dokazom o poreklu može dati primaocu neosprorne dokaze da

je poruku poslao taj pojedinac, ili ukoliko primalac poruke poriče da je primio poruku, usluga

neporicanja sa dokazom o isporuci može dostaviti pošiljaocu neosporne dokaze da je poruku

primio određeni pojedinac. Neporicanje je relevantan sigurnosna usluga koja može

obezbediti dokaze da je određena poruka poslata ili primljena od strane aplikacije koja je

povezana sa određenom osobom.

Page 22: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

22

2.1.3.2 Autorizacija

Autorizacija je sigurnosni mehanizam za određivanje nivoa prisutpa ili privilegija

korisnika/klijenta koji se odnose na sistemske resurse, uključujući datoteke, usluge,

računarske programe, podatke i funkcije aplikacije. Ovo je proces odobravanja ili odbijanja

pristupa mrežnom resursu koji omogućava korisniku pristup, na osnovu identiteta

korisnika.[111]

Autorizacija je određivanje da li je osobi ili sistemu dozvoljen pristup resursima, na osnovu

politike kontrole pristupa. Ovakva ovlašćenja treba da spreče napadača da prevari sistem da

mu dozvoli prisup zaštićenim resursima.

Većina veb sigurnosnih sistema je bazirana na procesu u dva koraka. Prvi korak je

autentifikaija, koja osigurava identitet korisnika, a druga faza je autorizacija, koja omogućava

korisniku pristup resursima na osnovu identiteta. Moderni operativni sistemi zavise od

efektivno dizajniranih procesa autorizacije kako bi se olakšala implementacija i upravljanje

aplikacijama. Ključni faktori sadrže tip korisnika, broj i akreditive, koji zahtevaju verifikaciju

i povezane radnje i uloge.[111]

Nakon identifikacije i dokazivanja u fazi autentifikacije, korisnicima se dodeljuje skup

autorizacija, odnosno prava, priveligija ili dozvola. Autorizacija je najčešće definisana

bezbednosnom politikom sistema i postavljena je od strane bezbednosnog i sistemskog

administratora. Cilj autorizacije je da se nametne kontrola pristupa i odgovornost.

Autorizacija je proces kojim se osigurava da korisnik ima dovoljno prava za obavljanje

tražene operacije i sprečavanje onih koji ih nemaju da urade isto.[7]

2.1.3.3 Audit trails

Kontrolni trag (Audit Trail), u kontekstu IT-a, je elektronski zapis koji hronološki evidentira

sve događaje ili procedure kako bi se osigurala dokumentacija i istorija koja se koristi za

proveru autentičnosti sigurnosnih i operativnih akcija. Ovi zapisi pružaju dokaz o

usklađenosti i operativnom integritetu. Zapisi o kontrolnim tragovima sadrže detalje koji

uključuju datum, vreme i korisničke informacije povezane sa transakcijom i na taj način

potvrđuju radnje i rezultate.

Kontrolni trag je pregled akcija, procesa, politika i procedura i predstavlja formalnu proveru

evidencije sistema kako bi se osiguralo da je aktivnost koja se očekivala i desila. Svrha

kontrolnog traga može uključivati identifikovanje nedostataka u funkciji sistema, uočavanje

trendova kako bi se pomoglo u rešavanju problema ili identifikaciji. Takođe može pomoći da

identifikuje zloupotrebu ili neadekvatnu upotrebu autorizacije i tako identifikuje neovlašćene

aktivnosti.

Usluge revizije prave i čuvaju evidenciju neophodnu za podršku odgovornosti, i obično su

blisko povezani sa autorizacijom i autentifikacijom, tako da se svaka autentifikacija snima,

kao i svaki pokušaj pristupa, bilo da je autorizovan ili ne.[4]

Page 23: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

23

Kontrolni tragovi obezbeđuju sistemski detaljan zapis o pristupu svim podacima u aplikaciji.

Oni mogu ponuditi ogromnu količinu proaktivne i reaktivne sigurnosti podataka. Sumnjive

aktivnosti, kada se otkriju, mogu se odmah adresirati, sprečavajući eksploataciju osetljivih

podataka. Značaj kontrolnog traga je u tome što je on neizbrisiv, kada se pravilno primenjuje

ne može se menjati ili brisati. Kontrolni trag dokumentuje ko, šta, kada, gde i zašto je imao

pristup aplikaciji. Zbog svoje nepromenljivosti, tragovi revizije mogu biti vrlo korisni za

forenzičko izveštavanje, pravne istrage i sl. Ovaj mehanizam se koristi kao osnovni alat za

analizu operacija i tehničkih kontrola računarskih sistema. Koristi se za validaciju i

nadgledanje aktivnosti i predstavlja alat za održavanje bezbednosti informacija i integriteta

sistema.[18][19]

Pošto potpuno sigurni sistemi još uvek nisu ostvariv cilj, potrebno je pratiti kršenje

bezbednosti do odgovorne strane. Sistemi moraju da vode evdenciju o svojim aktivnostima

kako bi omogućili kasniju analizu i pratili povrede bezbednosti ili da bi pomogli u sporovima

oko transkacija.

2.1.3.4 Kriptografija

Brzo rastući broj korisnika bežične komunikacije doveo je do povećane potražnje za

sigurnosnim merama za zaštitu podataka koji se prenose preko bežičnih kanala. U poslednjih

nekoliko godina razvijene su mnoge aplikacije zasnovane na internetu kao što su on-line

kupovina, internet bankarstvo i elektronsko plaćanje računa. Takve transakcije, preko

bežičnih javnih mreža, zahtevaju bezbednosne mehanizme kako bi se osigurala privatnost,

odgovornost, integritet i dostupnost.

Kriptografija je jedna od metoda čuvanja i prenosa podataka u određenom obliku tako da je

samo oni kojima je namenjena mogu čitati i obrađivati. Pošiljalac pretvara poruku čistog

teksta (plaintext) u šifrirani tekst (ciphertext) proces se naziva enkripcija, zatim se šifrirani

tekst prenosi do prijemnika, koji pretvara poruku šifriranog teksta u oblik čistog teksta, ovaj

deo procesa se naziva dešifrovanje. [16]

Konverzija podrazmeva niz matematičkih operacija koje menjaju izgled poruke tokom

prenosa, ali ne utiču na sadržaj. Kriptografske tehnike mogu osigurati poverljivost i zaštiti

poruke od neovlašćenog gledanja, jer šifrovana poruka nije razumljiva.

Kriptografske tehnike uključuju opšti algoritam, koji je određen upotrebom ključeva. Postoje

dve klase algoritama:

- Simetrični algoritmi – koji zahtevaju da obe strane koriste isti tajni ključ.

- Asimetrični algoritmi – koji koriste jedan ključ za šifrovanje, a drugi ključ za

dešifrovanje. Jedan od njih je tajni ključ, a drugi može biti javni.

Page 24: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

24

2.1.3.4.1 Simetrični algoritmi

Šema simetričnog šifrovanja se sastoji od:

- Plaintext – je originalna razumljiva poruka ili podaci koji se unose u algoritam kao

ulazi,

- Encryption algoritm – je algoritam šifrovanja koji izvodi različite supstitucije i

transformacije na čistom tekstu,

- Secret key – je tajni ključ koji se unosi u algoritam šifriranja, njegova vrednost je

nazavisna od čistog teksta i algoritma koji će proizvesti drugačiji izlaz u zavisnosti od

ključa koji se koristi u to vreme. Tačne zamene i transformacije koje izvodi algoritam

zavise od ključa,

- Ciphertext – je kodirana poruka proizvedena kao izlaz, koja zavisi od čistog teksta i

tajnog ključa. Za datu poruku dva različita ključa će proizvesti dva različita šifriranja.

Šifrirani tekst je naizgled nasumičan niz podataka koji je nerazumljiv.

- Decryption algoritm – je u suštini algoritam enkripcije koji se pokreće u suprotnom

smeru, on uzima šifrirani tekst i tajni ključ i proizvodi osnovni tekst.[2]

Slika br.1 prikazuje proces simetričnog šifrovanja.

Slika br.1 Šifrovanje pomoću sometričnog algoritma [13]

Najčešće korišćeni simterični algoritmi enkripcije su blok šifre. Blok šifre obrađuju unos

čistog čistog teksta u blokovima fiksne veličine i proizvode blok šifrovanog teksta jednake

veličine za svaki blok čistog teksta. Algoritam obrađuje duže tekstualne iznose kao niz

blokova fiksne veličine. Najvažniji simetirčni algoritmi su DES (Data Encryption Standard),

trostruki DES (Triple Data Encryption Standard) i AES (Advanced Encryption Standard) .

DES (Data Encryption Standard) – je simetrični blokovski šifarski algoritam, odobren od

strane Nacionalnog Instituta za standarde i Tehnologiju (NIST) kao jedan od federalnih

standarda za procesiranje informacija. Algoritam je projektovan za šifrovanje i dešifrovanje

podataka u blokovima dužine 64 bita. DES algoritam uzima blok teksta od 64 bita i ključ od

56 bita, da bi proizveo blok šifriranja od 64 bita. Postoji 16 inicijalnih iteracija, iz originalnog

Page 25: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

25

56-bitnog ključa generiše se 16 potključeva, od kojih se po jedan koristi za svaki krug.

Proces dešifrovanja je u suštini isti kao i proces šifrovanja, stim što se potključevi uzimaju u

obrnutom redosledu, što znači da se K16 koristi u prvoj iteraciji, K15 u drugoj i tako dalje

dok se K1 ne iskoristi u poslednjoj iteraciji.[1]

Prvi korak u šifrovanju podatka kod DES algoritma podrazumeva inicijalnu permutaciju (Ip).

Nad rezultatom inicijalne permutacije se zatim vrše složene računske operacije f, u kojima

kao parametar učestvuje i ključ kojim se vrši šifrovanje. Nad rezultatom ovih operacija se

izvršava process reverzan inicijalnoj permitaciji (Ip-1

). Rezultat ovih operacija je šifrat, a

reverznim operacijama vrši se njegovo dešifrovanje, odnosno dobija se originalna poruka.[2]

Slika br.2 prikazuje proces šifrovanja pomoću DES algoritma.

Slika br.2 Šifrovanje DES algoritmom [2]

Trostruki DES (Triple DES) je proširen DES algoritam, koji podrazumeva ponavljanje

osnovnog DES algoritma tri puta, korišćenjem dva ili tri jedinstvena ključa veličine 112 ili

168 bita. Prvi put je standardizovan za upotrebu u finansijskim aplikacijama u ANSI

standardu. Prednost trostrukog DES-a je veća pouzdanost, obzirom da ima veću dužinu

ključa koja elminiše mnoge napade koji se mogu koristiti za smanjenje vremena koje je

potrebno za slamanje DES-a.[1]

AES (Advanced Encryption Standard) – je napredni enkripcijski standard koji može podržati

bilo koju kombinaciju podataka i dužinu ključa od 128, 192 i 256 bita. AES algoritam za

šifrovanje definiše broj transformacija koje treba izvršiti nad podacima koji se čuvaju u nizu.

Prvi korak je stavljanje podataka u niz, nakon čega se šifrirane transformacije ponavljaju

Page 26: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

26

kroz brojne runde šifrovanja. Tokom procesa šifrovanja i dešifrovanja, AES prolazi kroz 10

rundi za 128-bitne ključeve, 12 rundi za 192-bitne ključeve i 14 rundi za 256-bitne ključeve.

Kod AES-a originalna poruka ili tekst se razdvaja u blokove koji predstavljaju nizove

bajtova i organizovani su u matrice reda 4x4. Prva tranformacija je zamena podataka

korišćenjem tabele za zamenu, druga transformacija pomera redove podataka, treća je

mešavina kolona koja podrazumeva izvršavanje posebne matematičke funkcije a, rezultat je

nova matrica koja se sastoji od 16 novih bajtova, i poslednja je XOR operacija koja se izvodi

na svakoj koloni koristeći drugačiji deo ključa za šifrovanje. [22][23]

Slika br.3 prikazuje šifrovanje pomoću AES algoritma.

Slika br.3 AES algoritam [23]

2.1.3.4.2 Asimetrični algoritmi

Kod asimetričnih algoritama tajni ključ se deli na dva dela, javni i privatni ključ. Javni ključ

se koristi za enkripciju podataka i on se distribuira javnosti i svako mu može pristupiti, dok

se privatni ključ mora čuvati u tajnosti. Kod asimetrične kriptografije neko sa javnim ključem

može da šifruje poruku, obezbeđujući poverljivost, a samo osoba koja poseduje privatni ključ

može da je dešifruje.

RSA koristi blok šifrovanja promenljive veličine i ključ promenljive veličine. To je

asimetrični kriptosistem zasnovan na teoriji brojeva, koji je sistem blok-šifre. Koristi dva

Page 27: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

27

osnovna broja za generisanje javnih i privatnih ključeva, veličine 1024 do 4096 bita. Ova dva

različita ključa se koriste za šifrovanje i dešifrovanje. Pošiljalac šifruje poruku pomoću

javnog ključa, a kada poruka stigne do prijemnika on je dešifruje koristeći privatni ključ.

RSA enkripcija se često koristi u kombinaciji sa drugim šifrovanim šemama ili za digitalne

potpise koji mogu dokazati autentičnosti u integritet poruke. Uopšteno se ne koristi za

šifrovanje celih poruka ili datoteka, jer je manje efikasna i šira od simetričnog ključa.[25][23]

Digitalni potpis je tehnika koja se koristi za potvrđivanje autentičnosti poruke, softvera ili

digitalnog dokumenta. Digitalni potpis je prilog elektronskom dokumentu koji osigurava

izvor i njegov integritet. Baziraju se na tri algoritma: generisanje javnog i privatnog ključa,

algoritam za potpisivanje i algoritam za verifikaciju potpisa. Kada je dokument potpisan

digitalnim potpisom, on je označen kao siguran, zaštićen i ne može se menjati.

Digitalni potpis je elektronska verzija tradicionalnog potpisa, koji se poziva na kriptografske

tehnike kako bi se značajno povećala sigurnost i transparentnost, od kojih su oba ključna za

uspostavljanje poverenja. Kao primena kriptografije sa javnim ključem, digitalni potpisi se

mogu primeniti u mnogim različitim okruženjima, od fizičkih lica koji podnose on-line

poreske prijave, do službenika za nabavku koji izvršava ugovor sklopljen sa kupcem,

elektronske fakture.[27]

Digitalni sertifikat je medij kojim se dokazuje identitet vlasnika za određenu elektronsku

transkaciju. Službeno odobrava odnos između vlasnika sertifikata i određenog javnog ključa.

Treba da sadrži korisničko ime vlasnika sertifikata, serijski broj, datum isteka sertifikata,

kopiju javnog ključa i digitalne sertifikate sertifikacionog tela. [26]

Digitalni potpisi koriste standardni format nazvan Infrastruktura javnih ključeva (PKI) da bi

se obezbedio najviši nivo autentičnosti.

Infrastruktura javnog ključa (PKI) je skup hardvera, softvera, pravila, procesa i procedura

potrebnih za kreiranje, upravljanje, distribuciju, upotrebu, skladištenje i opoziv digitalnih

sertifikata i javnih ključeva. PKI je osnova koja omogućava korišćenje tehnologija, kao što

su digitalni potpisi i enkripcija, pružaju elemente neophodne za sigurno i pouzdano poslovno

okurženje, za e-trgovinu i rastući IOT (Internet of Things).

PKI pomažu u uspostavljanju identiteta ljudi, uređaja i usluga – omogućavajući kontrolisani

pristup sistemima i resursima, zaštitu podataka i odgovornost u transkacijama. Poslovne

aplikacije se sve više oslanjaju na infrastrukturu javnih ključeva kako bi garantovale visoku

sigurnost, jer novi poslovni modeli postaju sve više zavisni od elektronske interakcije koja

zahteva autentifikaciju na mreži i poštovanje strožijih propisa o bezbednosti podataka.[28]

2.1.3.5 Firewalls

U mrežnoj bezbednosti zaštitni zid je sistemski ili hardverski sistem koji funkioniše kao

čuvar pouzdanih i nepouzdanih mreža ili njenih delova. To postiže filtriranjem štetnog ili

potencijalno nepoželjnog sadržaja i komunikacije.[21]

Page 28: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

28

Zaštitni zidovi prve generacije radili su kao filteri paketa, upoređujući osnovne informacije

kao što su izvor i odredište paketa, port koji se koristi ili protokol prema unapred definisanoj

listi pravila. Kod druge generacije, dodat je još jedan parametar za podešavenje filtera, stanje

konekcije. Na osnovu ovih informacija, moglo bi se utvrditi da li je paket pokrenuo vezu, bio

deo postojeće veze ili uopšte nije bio uključen.

Zaštitni zidovi treće generacije izgrađeni su za filtriranje informacija na svim slojevima OSI

modela, uključujući aplikativni sloj, omogućavajući im da prepoznaju i razumeju aplikacije,

kao i neke od najčešće korišćenih protokola, kao što je protokol za prenos datoteka (FTP) i

protokol za prenos hiperteksta (HTTP). Na osnovu ovih informacija, zaštitni zid može da

otkrije napade pokušavajući da ih zaobiđe preko dozvoljenog porta ili zloupotrebe

protokola.[21]

Savremeni zaštitini zidovi sadrže:

- Standardne mogućnosti zaštitnog zida kao što je pregled stanja,

- Integrisanu zaštitu od upada,

- Kontrolu kako bi se videle i blokirale rizične aplikacije,

- Tehnike za rešavanje rastućih sigurnosnih pretnji.

Oni uključuju sve mogućnosti tradicionalnog zaštitnog zida i takođe pružaju naprednu

detekciju opasnosti i sanaciju.[20]

Korišćenjem zaštitnog zida postavlja se bezbednosni mehanizam koji može da pomogne u

zaštiti računara ili mreže od štetnog dolaznog saobraćaja, i na taj način smanjuje mogućnost

neotkrivene eksfiltracije podataka od strane zlonamernog insajdera, smanjuje rizik da će

uređaji iza zaštitnog zida postati deo botneta (velike grupe uređaja povezanih sa internetom

koje su zarobljene od strane napadača za zlonamerne svrhe).

Zaštitni zidovi su posebno korisni za kompanije sa mrežama koje se sastoje od nekoliko

krajnjih tačaka koje su povezane sa internetom. Ako je zaštitni zid pravilno postavljen na

ivici takve mreže, on stvara jedinstvenu tačku ulaska gde se neke od dolaznih pretnji mogu

identifikovati i ublažiti.

2.1.4 Bezbednosna politika

Prvi korak u osmišljavanju bezbednosnih strategija jeste razvoj politike bezbednosti.

Bezbednosna politika je neformalan opis željenog ponašanja sistema. Bezbednosna politika

je formalno stanje pravila i praksi koje određuju ili regulišu kako sistem ili organizacija

obezbeđuje bezbednosne usluge za zaštitu osetljivih i kritičnih sistemskih resursa. Takva

formalna bezbednosna politika se može primeniti na osnovu tehničkih kontrola sistema kao i

upravljanja i operativnih kontrola. U razvoju bezbednosne politike treba uzeti u obzir sledeće

faktore:

- Vrednost imovine koja je zaštićena.

- Ranjivost sistema

Page 29: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

29

- Potencijalne pretenje i verovatnosća napada.[1]

Bezbednosna politika obezbeđuje način kako da se organizacija zaštiti od pretnji, uključujući

računarske sigurnosne pretnje i kako se nositi sa situacijama kada se dogode. Politika

bezbednosti treba da prikaže ključne stavke u organizaciji koje treba zaštititi, to može

uključivati mrežu kompanije, podatke, opremu. Takođe treba da skicira i potencijalne pretnje

tim stavkama. Zaposleni u kompaniji moraju stalno biti informisani o bezbednosnim

politikama kompanije i same politike se moraju redovno ažurirati.

Kada se identifikuju pretnje, mora se utvrditi verovatnoća da će se one zaista i dogoditi.

Kompanija takođe mora da odredi kako da spreči te pretnje. Uspostavljanje određenih

politika zaposlenih, kao i snažna fizička i mrežna sigurnost mogu biti neke od mera zaštite.

Takođe, mora postojati plan o tome šta da se radi kada se petnja materijalizuje.[112]

2.1.5 Implementacija bezbednosti

Implementacija bezbednosti uključuje četiri komplementarna pravca delovanja:

- Prevencija – je usmerena na pretnju, da utiče na agente pretnji u cilju smanjenja

opasnosti od pretnje, ili verovatnoće da će se pretnja pretvoriti u napad. Idelana

bezbednosna šema je ona u kojoj nijedan napad nije uspešan, iako to nije praktično u

svim slučajevima, postoji širok spektar pretnji u kojima je prevencija razuman cilj. Na

primer, prenos šifrovanih podataka. Ako se koristi bezbednosni algoritam za

šifrovanje, i ako postoje mere sprečavanja neovlašćenog pristupa ključevima za

šifrovanje, onda će se sprečiti napadi na poverljivost prenetih podataka.

- Detekcija – u mnogim slučajevima apsolutna zaštita nije izvodljiva, ali je praktično

detektovati sigurnosne napade. Na primer, postoje sistemi za detekciju upada koji su

dizajnirani da otkriju prisustvo neovlašćenih lica prijavljenih na sistem.

- Odgovor – ako sigurnosni mehanizmi otkriju tekući napad, kao što je napad

uskraćivanja usluge, sistem može biti u stanju da odgovori na takav način da se

zaustavi napad i spreči dalje oštećenje.

- Oporavak – je bezbednosni mehanizam koji bi trebao da obnovi oštećene resurse,

primer oporavka je upotreba rezervnih kopija, tako da ako je integritet podataka

ugrožen, prethodna, ispravna kopija podataka se može učitati ili antivirusni programi

koji poravljaju oštećene datoteke.[1][14]

Ako se ne preduzmu sigurnosne mere za zaštitu podatka i sigurnosti mrežne infrastrukture,

podaci ostaju podložni pretnjama i izloženi su riziku od kršenja politike sigurnosti i

nezakonitog pristupa.

Page 30: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

30

2.2 Distribuirani sistemi

2.2.1 Definicija i karakteristike distribuiranih sistema

Distribuirani sistem je onaj u kojem komponente koje se nalaze na umreženim računarima

komuniciraju i koordinaraju svoje akcije samo putem poruka. Ova definicija dovodi do

sledećih posebno značajnih karakteristika distribuiranih sistema: konkurentnost komponenti,

nepostojanje globalnog sata i nezavisni kvarovi komponenti.[53]

Distribuirani sistem je skup nezavisnih računara koji se korisnicima javlja kao jedan

jedinstven, koherentan sistem.[51]

Ova definicija ima nekoliko važnih pretpostavki a, to su da se distibuirani sistem sastoji od

komponenti koje su autonomne, korisnici imaju utisak da se bave jednim sistemom, to znači

da autonomne komponente međusobno sarađuju i nema pretpostavki kako su komponente

međusobno povezane. Kako uspostaviti ovu saradnju leži u srcu razvoja distribuiranih

sistema.

Jedna važna karakteristika distribuiranih sistema jeste da su razlike između različitih

računara i načina na koji oni komuniciraju uglavnom skriveni od korisnika, isto važi i za

unutrašnju organizaciju distribuiranih sistema. To je veoma bitno jer, korisnici i aplikacije

mogu da komuniciraju sa distribuiranim sistemom na konzistentan i ujednačen način, bez

obzira gde i kada se dešava interakcija. Takođe, distribuirani sistemi se mogu lako proširiti

što je direktna posledica postojanja nezavisnih računara, ali u isto vreme, skrivajući kako ovi

računari zaista učestvuju u celini. Distribuirani sistem će biti stalno dostupan, iako neki

delovi mogu biti privremeno van rada, što korisnici i aplikacije ne bi trebali primetiti i osetiti

u svom radu.[51]

Prema tome karakteristike distribuiranih sistema su:

- Distribuirani sistem je skup autonomnih računarskih elemenata – sastoji se od

komponenti koje su autonomne i sarađuju tako da je to skriveno od korisnika.

- Višeslojna arhitektura – distribuirani sistem je organizovan kroz slojeve, čime se

odvaja niži fizički nivo operativnih sistema i osnovnih komunikacionih funkcija od

višeg nivoa aplikacija i korisnika. Između ova dva sloja je srednji sloj middleware.

- Transparentnost – implementacija sistema je skrivena od korisnika, ne daje detalje o

tipovima računara kao komponenti niti o načinu kako su povezani i kako sarađuju.

- Skalabilnost – distribuirani sistemi se mogu lako proširiti novim komponentama.

- Pouzdanost – očekuje se da distribuirani sistem uvek bude raspoloživ i funkcionalan.

- Otvorenost – sistem nudi servise u skladu sa standardnim pravilima koje opisuju

sintaksu i semantiku tih servisa. Pravila se odnose na format, sadržaj i značenje

poruka koje se šalju i primaju.

- Fleksibilnost – sistem se lako konfiguriše od različitih komponenti. Da bi se postigla

fleksibilnost sistem treba da predstavlja kolekciju malih, lako zamenljivih i

adaptibilnih komponenti.

- Nepostojanje globalnog vremenskog usklađivanja događaja ili deljenje memorije.[52]

Page 31: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

31

Tabela br.2 prikazuje spektar ključnih komercijalnih ili socijalnih aplikacija, naglašavajući

neke od povezanih postojećih ili novih primena tehnologije distribuiranih sistema. Može se

videti da distribuirani sistemi obuhvataju mnoge od najznačajnijih tehnoloških dostignuća

poslednjih godina. Takođe pruža uvid u širok spektar aplikacija koje se danas koriste, od

relativno lokalizovanih sistema do globalnih sistema koji obuhvataju milione čvorova, od

sistema izgrađenih od veoma malih i relativno primitivnih senzora do onih koji uključuju

moćne računarske elemente, od ugrađenih sistema do onih koji puržaju sofisticarano

korisničko iskustvo. Dodatno ilustruje raznolikost i složenost primene distribuiranih sistema

danas.

Tabela br.2 Domeni aplikacija i povezane mrežne aplikacije [53] Finansije i trgovina E-commerce – kompanije Amazon i eBay; osnovne tehnologije plaćanja –

PayPal; povezano pojavljivanje on-line bankarstva i trgovine; složeni

sistemi za širenje informacija za finansijska tržišta.

Informaciono društvo Rast World Wide Web-a kao spremišta informacija i znanja; razvoj veb

pretraživača kao što su Google i Yahoo za pretragu ovog ogromnog

spremišta; pojava digitalnih biblioteka i digitalizacija velikih izvora kao što

su knjige (npr. Google Books); sve veći značaj sadržaja koji generišu

korisnici putem sajtova kao što su YouTube, Wikipedia, Flickr;

pojavljivanje društvenih mreža kroz usluge kao što su Facebook i MySpace.

Kreativna industrija i zabava Pojava on-line igara kao novog i interaktivnog oblika zabave; dostupnost

muzike i filma u kući putem umreženih medijskih centara i šire na Internetu

putem sadržaja koji se može preuzeti ili prenositi; uloga korisničkog

sadržaja kao novog oblika kreativnosti; stvaranje novih oblika umetnosti i

zabave uz pomoć novih tehnologija.

Zdravstvena zaštita Rast zdravstvene informatike kao discipline sa naglaskom na elektronske

evidencije pacijenta i pitanja vezana za privatnost;

uloga telemedicine u pružanju podrške daljinskoj dijagnostici i naprednim

uslugama kao što je daljinska operacija.

Obrazovanje Pojava elektronskog učenja kroz veb bazirane alate kao što su virtuelna

okruženja za učenje; povezana podrška za učenje na daljinu; podrška za

kolaborativno učenje ili učenje u zajednici.

Transport i logistika Korišćenje tehnologija lociranja kao što su GPS u sistemima za

pronalaženje rute i opštim sistemima za upravljanje saobraćajem; razvoj

veb mapiranih servisa kao što su MapQuest, Google Maps i Google Earth.

Nauka Pojava Grid-a kao osnovne tehnologije za eScience, uključujući korišćenje

složenih mreža kompjutera za podršku skladištenja, analize i obrade

naučnih podataka; povezano korišćenje Grid-a kao tehnologije koja

omogućava saradnju širom sveta između grupa naučnika.

Upravljanje zaštitom životne

sredine

Upotreba umrežene senzorske tehnologije za praćenje i upravljanje

prirodnim okruženjem, na primer za rano upozoravanje na prirodne

katastrofe kao što su zemljotresi, poplave i koordinacija raegovanja u

vanrednim situacijama; upoređivanje i analiza globalnih ekoloških

parametara kako bi se bolje razumeli složeni prirodni fenomeni kao što su

klimatske promene.

Google, tržišni lider u tehnologiji veb pretraživanja, uložio je značajne napore u dizajn

sofisticirane infrastrukture distribuiranog sistema za podršku pretraživanja, s obzirom da je

globalni broj pretraga porastao na preko 10 milijardi po kalendarskom mesecu. Zadatak veb

pretraživača je da indeksira čitav sadržaj World Wide Web-a, obuhvatajući širok spektar

stilova informacija, uključujući veb stranice, multimedijalne izvore i knjige. Ovo je veoma

Page 32: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

32

složen zadatak, jer trenutne procene govore da se veb sastoji od preko 63 milijarde stranica i

jednog triliona jedinstvenih veb adresa. Većina pretraživača analizira ceo veb sadržaj, a zatim

vrši sofisticiranu obradu ove ogromne baze podataka.

Jedna od najvećih i najsloženijih instalacija distribuiranih sistema u istoriji računarstva je

Google Earth. Najvažniji elementi ove infrastrukture su: osnovna fizička infrastruktura koja

se sastoji od veoma velikog broja umreženih računara koji se nalaze u data centrima širom

sveta, distribuirani sistem datoteka dizajniran za podršku veoma velikih datoteka, pridruženi

strukturirani distribuirani sistem za skladištenje koji nudi brz pristup veoma velikim

skupovima podataka, programski model koji podržava upravljanje veoma velikim paralelnim

i distribuiranim operacijama u fizičkoj infrastrukturi.[53]

Finansijska industrija je dugo bila na samom vrhu tehnologije distribuiranih sistema sa

svojom potrebom, posebno za pristup u realanom vremenu širokom spektru izvora

informacija. Industrija koristi automatizovane aplikacije za praćenje i trgovanje. Naglasak u

takvim sistemima je na komunikaciji i obradi predmeta od interesa, poznatih kao događaji u

distribuiranim sistemima, sa potrebom da se događaji pouzdano i pravovremeno dostave

klijentima kojima su te informacije potrebne. Karakteristično za ovakve sisteme je da su

izvori obično u različitim formatima i iz različitih tehnologija, čime se ilustruje problem

heterogenosti koji se sreće u većini distribuiranih sistema. Trgovinski sistem mora da se bavi

različitim tokovima događaja i često zahtevaju obradu u realanom vremenu da bi se otkrili

obrasci koji ukazuju na mogućnosti trgovanja. Ovo je nekada bio manuelni process, ali

konkurentski pritisci doveli su do povećanja automatizacije u smislu onoga što je poznato

kao kompleksna obrada događaja, koja nudi način sastavljanja događaja u logičke,

vremenske ili prostorne obrasce. [53]

2.2.2 Kategorizacija distribuiranih sistema

Distribuirani sistemi se mogu podeliti na:

- Distibuirane računarske sisteme,

- Distribuirane informacione sisteme,

- Distribuirane integrisane sisteme.

2.2.2.1 Distribuirani računarski sistemi

Prema [54] Distribuirani računarski sistemi se bave pristupom i razmenom informacija preko

više platformi za obradu koje se povezuju računarskim mrežama. U svom naopštijem smislu

odnosi se na višestruke računarske sisteme koji rade na jednom problemu. U distribuiranom

računarstvu jedan problem je podeljen na više delova, a svaki deo je rešen različitim

računarima. Sve dok su računari umreženi, oni mogu međusobno komunicirati kako bi rešili

problem, jer se ponašaju kao jedan entitet. Krajnji cilj distribuiranog računarstva je

maksimiziranje performansi povezivanjem korisnika i IT resursa na ekonomičan,

transparentan i pouzdan način. On takođe obezbeđuje toleranciju na greške i omogućava

pristupačnost resursa u slučaju da jedna od komponenti otkaže.

Page 33: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

33

Prema [55] Distribuirani računarski sistem se sastoji od više softverskih komponenti koje se

nalaze na više računara, oni mogu biti blizu i povezani lokalnom mrežom ili mogu biti

geografski udaljeni i povezani širokom mrežom.

Distribuirani računarski sitemi nude mnoge prednosti u odnosu na centralizovane sisteme,

uključujući sledeće:

- Prilagodljivost – sistem se lako može proširiti dodavanjem više računara po potrebi.

- Suvišnost – nekoliko računara može da pruži iste uluge, tako da ako jedan nije

dostpuan posao se ne zaustavlja.

Distribuirani računarski sistemi mogu da rade na hardveru koji obezbeđuju različiti

proizvođači i mogu da koriste različite softverske komponente, mogu se koristiti na različitm

operativnim sistemima i mogu koristiti različite komunikacione protokole.

2.2.2.2 Distribuirani informacioni sistemi

Pod pojmom distribuirani informacioni sistem podrazumeva se informacioni sistem koji

podržava distribuiranu obradu podataka nad distribuiranom bazom podataka. [52]

Namera takvih sistema je da obezbede logički integrisani informacioni sistem, istovremeno

obezbeđujući fizičku distribuciju podataka preko dva ili više računarska objekta. Prema

tome, ovlašćeni korisnik može pristupiti podacima sa bilo kog računara u mreži, na isti način

kao i iz centralizovanog sistema. Distribuirani sistem povezuje više homogenih i heterogenih

čvorova razmene podataka, deljenje resursa i izvršavanja dobro definisanih i međusobno

povezanih softverskih komponenti.

Distribucija informacija naglašava određena tehnička i menadžerska razmatranja. Tehnička

razmatranja uključuju procenu sledećeg: komunikacione sisteme za prenos podataka i

direktorijuma za identifikaciju i lociranje podataka i sistema za upravljanje podacima kako bi

se obezbedila potrebna sinhronizacija podataka, integritet, konzistentnost, privatnost,

bezbednost i plasiranje podataka. Upravljačka razmatranja uključuju: formulisanje i analizu

efekata strategija održavanja, skrivenih troškova i rizika povezanih sa projektovanjem,

implementacijom, optimizacijom, pravnim aspektima, revizijom, sistemskom

administracijom, standardima i odgovornošću.[56]

Primarne razlike između distribuiranih i centralizovanih sistema su u distribuciji kontrole

unutar mreže i vezama između softverskih komponenti. Distribucija kontrole podrazumeva

alokaciju, pronalaženje i pristup mrežnim resursima i sinhronizaciju takvih usluga kao što su

ažuriranje i održavanje. Komunikacija između komponenti zahteva sofisticiranije protokole

kako bi se osigurao prenos podataka. Ako se ispituje proces komunikacije sa potprogramom

na udaljenoj lokaciji, povećanje proteklog vremena je očigledno. Ove razlike dovode do

novih pristupa kako bi se osiguralo adekvatno vreme odziva, dostupnost, integritet podataka,

podrška, oporavak, efikasno korišćenje resursa i sigurnost. Ovi pristupi takođe mogu

zahtevati nove procedure za obradu poslovnih transakcija, varijacije redundantnih podataka

Page 34: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

34

distribuiranih kroz geografski distribuirani informacioni sistem i šeme za periodičnu

sinhronizaciju podataka. [56]

U distribuiranim informacionim sistemima, postoji nekoliko nivoa na kojima se može

ostvariti integracija. U mnogim slučajevima, umrežena aplikacija se jednostavno sastoji od

servera koji izvršava aplikaciju i čini je dostupnom za udaljene programe, nazvane

klijentima. Takvi klijenti šalju zahtev serveru za izvršenje specifične operacije, nakon čega se

šalje odgovor. Integracija na najnižem nivou omogućava klijentima da zaokruže broj zahteva,

možda za različite servere, u jedan zahtev i da se on izvrši kao distribuirana transakcija.

Ključna ideja je da se svi ili nijedna od zahteva ne izvrši. Kako su aplikacije postajale

sofisticiranije i postpeno se razdvajale u nezavisne komponente, postajalo je jasno da

integracija treba da zauzme mesto tako da aplikacije komuniciraju direktno između sebe. [57]

2.2.2.3 Distribuirani integrisani sistemi

Integrisani sistem je računarski sistem posebne namene koji je povezan sa širim mehaničkim

ili električnim sistemom, najčešće zasnovan na procesiranju podataka u realanom vremenu.

Integrisan sistem je integrisan zato što predstavlja deo komplentnog uređaja koji obično

sadrži hardverske i mehaničke komponente. Osnovne karakteristike integrisanih računara,

poredeći sa računarima opšte namene, su manji nivo potrošnje energije, manje dimenzije,

manji troškovi, grublji skup operacija zbog ograničenja procesnih resursa. Radi unapređenja

rada integrisanih sistema, uključuju se inteligentni mehanizmi uz postojeći hardver, senzore i

umrežavanje integrisanih elemenata. Integrisani sistemi se nalaze u malim portabilnim

uređajima, ali i u velikim stacionarnim instalacijama kao što su saobraćajna signalizacija,

kontroleri u fabrikama, složena hibridna vozila i slično.[52]

2.2.3 Klijent-server arhitektura

Klijent-server arhitektura je model distribuirane strukture aplikacije, gde se zadaci i

aktivnosti dele između servera koji obezbeđuje resurse ili servise i klijenata koji zhtevaju

resurse ili servise.[52]

Slika br.4 ilustruje jednostavnu strukturu u kojoj procesi pruzimaju uloge klijenata ili server.

Page 35: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

35

Slika br.4 Klijent-server arhitektura [53]

Konkretno, klijentski procesi stupaju u interakciju sa pojedinačnim procesima servera u

potencijalno odvojene host računare kako bi pristpili deljenim resursima kojima upravljaju.

Serveri mogu biti klijenti drugih servera, na primer veb server je često klijent lokalnog

servera datoteka koji upravlja datotekama u kojima se veb stranice čuvaju. Veb serveri i

internet servisi su klijenti DNS servisa, koji prevodi internet imena domena na mrežne

adrese.

Pretraživači omogućavaju korisnicima da pretražuju sažetke informacija dostupne na veb

stranicama na veb lokacijama širom interneta. Ovi sažeci su napravljeni od strane programa

koji se nazivaju veb pretraživači, koji se izvode u pozadini na veb lokaciji pretraživača

koristeći HTTP zahteve za pristup veb serverima širom interneta. Tako je pretraživač i server

i klijent, on odgovara na upite klijenata pretraživača i pokreće veb pretraživače koji deluju

kao klijenti drugih veb servera.[53]

2.2.4 Višeslojna objektno orijentisana arhitektura

Višeslojna arhitektura je klijent-server arhitekura gde su prezentacija, procesiranje aplikacije

i funkcije upravljanja podacima fizički odvojene. Najčešće korišćena višeslojna arhitektura je

troslojna gde razlikujemo prezentacioni sloj, sloj za obradu aplikacija i sloj za upravljanje

podacima. [52]

Prezentacioni sloj – sloj za prezentaciju rezultata korisnika računarskog sistema i

prikupljanje korisničkih inputa.

Sloj za obradu aplikacije – pružanje funkcionalnosti aplikacije, na primer u bankarskom

sistemu, bankarske funkcije kao što su otvaranje, zatvaranje računa i slično.

Sloj za upravljanje podacima – upravljanje sistemskim bazama podatka.

U višeslojnoj arhitekturi, kompleksan sistem je podeljen na slojeve, pri čemu određeni sloj

koristi usluge koje nudi sloj ispod. Zbog toga dati sloj nudi softversku apstrakciju, sa višim

Page 36: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

36

slojevima koji nisu svesni detalja implementacije. Distribuirana usluga može biti obezbeđena

od strane jednog ili više serverskih procesa, interakcija međusobno i sa klijentovim

procesima kako bi se održao konzistentan sistemski prikaz resursa servisa.[53]

Višeslojna arhitektura u distribuiranim sistemima je organizovan kroz slojeve, čime se odvaja

niži fizički nivo operativnih sistema i osnovnih komunikacionih funkcija od višeg nivoa

aplikacija i korisnika. Između ova dva sloja je srednji sloj middleware.

Slika br.5 ilustruje softverske i hardverske slojeve u distribuiranim sistemima.

Slika br. 5 Višeslojna arhitektura [53]

Platforma za distribuirane sisteme i aplikacije sastoji se od hardverskih i softverskih slojeva

najnižeg nivoa, koji pružaju usluge slojevima iznad njih i implementiraju se nezavisno na

svakom računaru, dovodeći programski interfejs sistema do nivoa koji olakšava

komunikaciju i koordinaciju između procesa. Svrha middleware je da prikrije heterogenost.

Predstavljen je procesima ili objektima u skupu računara koji međusobno komuniciraju radi

implementacije komunikacije i podrške za deljenje resursa za distribuirane aplikacije. Bavi se

pružanjem korisnih gradivnih blokova za konstrukciju softverskih komponenti koje mogu

raditi jedna sa drugom u distribuiranom sistemu. Konkretno, on podiže nivo komunikacionih

aktivnosti aplikativnih programa kroz podršku apstrakcije kao što je udaljeno pozivanje

metoda, komunikacija između grupe procesa, obaveštavanje o događajima, particionisanje,

postavljanje i pronalaženje zajedničkih objekata podataka, replikaciju zajedničkih objekata i

prenos multimedijalnih podataka u realanom vremenu.[53]

Page 37: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

37

2.2.5 Servisno orijentisana arhitektura

Servisno orijentisana arhitektura je stil softverskog dizajna gde su servisi obezbeđeni

softverskim komponentama kojima se pristupa putem mrežnih komunikacionih protokola.

SOA (Service-Oriented Architecture) predstavlja novi metod za kreiranje distriburanih

aplikacija u kojima se osnovne usluge mogu objaviti, otkriti i povezati kako bi izgradile

složenije softverske aplikacije. Aplikacije sarađuju sa uslugama preko krajnje tačke

interfejsa, a ne na nivou implentacije.

SOA predstavlja implementaciju usluga, koje su jedinice logike koje rade u mreži. Usluge

upravljaju poslovnim procesima, obrađuju tehničke zadatke kao što je pristup bazi podataka,

ili daju poslovne podatke i tehničke detalje za izradu grafičkog interfejsa i nezavisne su od

drugih softvera.[58]

U okviru servisno orijentsane arhitekture, aplikacija se kreira integracijom distribuiranih,

nezavisno-održavanih i postavljenih softverskih komponenti. Servis predstavlja jednostavan

interfejs koji je pozvan od strane korisnika usluge servisa i koji sakriva implementaciju

samog servisa. U okviru SOA, servisi koriste protokole kojima se opisuje kako se prosleđuju

i tumače poruke, koristeći metapodatke – opisuju funkcionalne karakteristike i karakteristike

kvaliteta usluge.[52]

SOA ima nekoliko važnih implikacija za poslovanje. Kada je svaka komponenta relativno

samostalna jedinica, može se brže i sa manje troškova odgovoriti na poslovne ili tehnološke

promene. Sposobnost kompanije da brzo i efikasno reaguje na promene poznata je kao

agilnost, tako da dobro izrađena servisno-orijentisana arhitektura povećava agilnost. Dobro

dizajnirane usluge će verovatno biti ponovo upotrebljene. Kompanije mogu imati koristi od

ponovne upotrebe na najmanje dva načina: izbegavanjem troškova razvoja novog softvera i

povećavanjem pouzdanosti softvera tokom vremena. Postojeća usluga se može

implementirati u novu aplikaciju umesto implementacije softvera koji je napisan od početka.

SOA se može koristiti kako bi poslovni procesi i podaci bili dostupniji.[53]

2.3 Veb servisi

Prema W3C, “veb servis je softverski sistem identifikovan pomoću URI (Uniform Resourse

Identifier), čiji su javni interfejsi i vezivanja definisani i opisani pomoću XML-a. Njegovu

definiciju mogu otkriti drugi softverski sistemi. Ovi sistemi tada mogu da komuniciraju sa

veb uslugom na način propisan njegovom definicijom, koristeći poruke zasnovane na XML-u

koje prenose internet protokoli”.[61]

Veb servis obuhvata sve detalje potrebne za interakciju sa uslugom, uključujući formate

poruka, transportne protokole i lokaciju. Interfejs skriva detalje implementacije usluge,

dozvoljavajući joj da se koristi nezavisno od hardverske ili softverske platforme na kojoj je

implementiran i nezavisno od programskog jezika u kojem je napisan. Ovo dozvoljava

aplikacijama zasnovanim na veb uslugama da budu labavo povezane, komponentno

Page 38: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

38

orijentisane, među-tehnološke implementacije. Veb usluge se mogu koristiti same ili sa

drugim veb uslugama za izvršavanje složene agregacije ili transakcije.[64]

Veb servis je interfejs pozicioniran između aplikacionog koda i korisnika tog koda. On služi

kao sloj apstrakcije, razdvajajući detalje specifične za programski jezik i jezik programiranja

kako se zapravo poziva kod aplikacije. Ovaj standardizovani sloj znači da svaki jezik koji

podržava veb servis može pristupiti funkcionalnisti aplikacije.[63]

Karakteristike veb servisa:

- Veb usluge komunicarju koristeći XML, platformski nezavisan i neutralan jezik.

- Mogu se razvijati na bilo kom programskom jeziku i mogu se koristiti na bilo kojoj

platformi.

- Komunikacija se vrši korišćenjem SOAP protokola preko HTTP/HTTPS i poruke se

mogu slati preko mreže u čistom i širovanom tekstu.

- Veb servisi se registruju u registrima veb servisa, koristeći UDDI standard,

platformski nezavisan okvir kao usluga kataloga gde se usluge mogu pretraživati i

pronaći.

- Veb uslugama se može pristupiti iz bilo kog tipa aplikacije ili druge usluge preko

propisanog interfejsa.[62]

Jedna od najznačajnih karakteristika veb servisa jeste interoperabilnost. Ključ međusobne

integracije preduzeća leži u interoperabilnosti, prikupljanju i zajedničkom korišćenju podatka

od strane različitih aplikacija. Naizgled neprimetno i glatko integrisanje IT aplikacija

omogućava efikasno međusobno povezivanje poslovnih preduzeća. Najveću prepreku za

interoperabilnost predstavljaju heterogene aplikacije. S obzirom na to da su ove aplikacije

projektovane od strane različitih organizacija, a često i u različitim vremenima, veoma je

teško u njima pronaći bilo kakve sličnosti sa aspekta dizajna i karakteristika koje pružaju.

Stoga se one nazivaju heterogenim aplikacijama, pri čemu se ta heterogenost može ogledati u

tome što su pisane različitim programskim jezicima, namenjene su korišćenju na različitim

operativnim sistemima ili u tome što koriste raznorodne komunikacione mreže i metode

prenosa podataka.[67]

Danas je postalo uobičajeno da preduzeća svoje poslovne sisteme povezuju sa

odgovarujućim IT aplikacijama u drugim preduzećima i da određeni deo svog poslovanja

otvaraju zajednici i čine ga dostupnim široj javnosti. Neki od primera su:

“Cisco Systems međusobno povezuje svoje dobavljače u jedan sistem”, ova moćna

kompanija, koja svoje poslovanje fokusira ka internetu, ostvarila je zavidan poslovni uspeh

integrisanjem svojih poslovnih sistema sa sistemima svojih ključnih proizvodnih

partnera.[67]

Osiguravajuće kuće ubrzavaju proces kvotacije novi polisa osiguranja, tako što za određeni

deo poslovanja koristi usluge drugih firmi, uključujući kreditni biro, kojem je kompanija

ugovorom poverila izvršavanje ovih usluga. Radi uvođenja novog procesa kvotacije,

kompanija je projektovala jedan, za veb osposobljen sistem, koji je interoperabilan sa IT

Page 39: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

39

aplikacijom u kreditnom birou. Aplikacija savršeno funkcioniše, bez obzira što se prostire

preko granica više odvojenih kompanija.[67]

2.3.1 Veb servis arhitektura

Arhitektura veb usluga se zasniva na interakciji između tri uloge: davalac usluga, registar

usluga i zahtevalac. Interakcija uključuje objavljivanje, pronalaženje i povezivanje. Davalac

usluga ima softverski modul pristupačan mreži (implementacija veb servisa), definiše opis

usluge za veb servis i objavljuje ga u registru servisa. Zahtevalac koristi operaciju

pronalaženja kako bi pronašao opis usluge lokalno ili iz registra usluge i koristi opis usluge

da se veže sa davaocem usluga i pozove ili stupi u interakciju sa implementacijom veb

servisa. [64][63]

Iz poslovne perspektive, davalac usluga je vlasnik usluge. Iz perspektive arhitekture, ovo je

platforma koja hostuje pristup servisu. Zahtevalac usluga iz poslovne perspektive je posao

koji zahteva zadovoljavanje određenih funkcija, iz perspektive arhitekture je aplikacija koja

traži i poziva ili inicira interakciju sa uslugom. Registar usluga je registar opisa usluga koji se

može pretraživati i gde davaoci usluga objavljuju opise usluga. [64]

Da bi veb servis bio dostupan, opis usluge mora biti objavljen tako da ga zahtevaoci mogu

pronaći. U operaciji pronalaženja, servisni zahtevaoc dohvata opis usluge, ili upita servisni

registar za potrebnu vrstu usluge. Na kraju, usluga se mora pozvati. U operaciji povezivanja

servisni provajder poziva ili pokreće interakciju sa uslugom tokom izvršavanja koristeći

povezivanje detalja u opisu usluge da bi pronašao, kontaktirao i pozvao servis.[64]

Slika br.6 ilustruje arhitekturu veb servisa.

Slika br.6 Arhitektura veb servisa [64]

Page 40: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

40

Najbolji primer za razumevanje arhitektre veb servisa jeste Yahoo. Yahoo je jedan od

najpopularnijih internet portala. Na početnoj stranici se može uočiti širok asortiman

ponuđenih servisa, među kojima su vremenska prognoza, finansijski servisi, turističke

informacije, kompjuterske igre i slično. Prikladnom kombinacijom korisnih servisa Yahoo je

uspeo da postane jedan od najčešće posećivanih sajtova na internetu. Mada se svi ovi servisi

pripisuju Yahoo-u, većina njih je samo dostupna preko Yahoo-a, a ne kreirana od strane ove

kompanije. Naime, nezavisni projektanti kreiraju aplikativne module (koji su analogni

vremenskim, finansijskim i turističkim servisima), koje zatim čine dostupnim drugim

projektantima preko interneta. Zahtevaoci servisa inkorporiraju izabrane modularne

aplikacije i koriste ih kao sastavne komponente svojih aplikacija. Međutim, kao i kod

Yahoo-a, softverski kod ovih modula nije fizički umetnut u datu aplikaciju. Umesto toga, oni

su međusobno povezani, pri čemu se softver fizički nalazi na veb sajtu provajdera, odnosno

ponuđača servisa.[67]

2.3.2 Tehnologije veb servisa

XML, SOAP, WSDL I UDDI su osnovni standardi i tehnologije na kojima se zasnivaju veb

servisi koji se koriste u razvoju veb servisa i u aplikacijama koje koriste veb usluge. Uloga

sepcifikacije veb servisa je da se uspostavi interakcija između zahtevaoca veb servisa i

provajdera veb servisa.

Slika br.7 prikazuje osnovne standarde veb servisa i veze između njih.

Slika br.7 Osnovni standardi veb servisa i veze između njih [62]

Page 41: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

41

2.3.2.1 XML

XML (Extensible Markup Language) je standard za rezmenu podataka na vebu. XML je

jezik za označavanje, što podrazumeva korišćenje oznaka koje „označavaju“ sadržaj

dokumenta i na taj način opisuju sadržaj dokumenta. XML oznaka identifikuje informacije u

dokumentu i identifikuje strukturu informacija. Listing br.1 identifikuje informacije o

knjigama naslov, autora i cenu.[59]

Listing br.1

<book>

<title>My life and times</title>

<author>Felix Harrison</author>

<price>39,95</price>

</book>

XML je skup pravila za kreiranje tagova u cilju opisivanja podataka, čime se ujedno

obezbeđuje fleksibilnija i prilagodljivija upotreba veb podataka. Naziva se proiširiv zbog

toga što programeri mogu dizajnirati svoje sopstvene, prilagođene markup jezike za

opisivanje podatka. Strogo tehnički govoreći, XML je metajezik koji služi za opisivanje

drugih jezika. On je po svojoj prirodi neograničen, što znači da se bilo koji od podataka u

nekom veb sistemu može bez problema opisati pomoću XML-a.[67]

Za razliku od HTML koji označava podatke ukazujući na koji način bi oni trebalo da budu

prezentovani, pomoću XML-a podaci se označavaju tako da ukazuju šta oni predstavljaju,

opisivanjem njihovog sadržaja.

Prednosti XML-a se ogledaju u tome što je XML zasnovan na veb-u i ima mogućnost

proširenja, omogućava nezavisnim kompjuterskim sistemima da stupaju u međusobnu

interakciju, da razmenjuju, interpretiraju i obrađuju podatke čak i ukoliko se izvršavaju pod

potpuno različitim operativnim sistemima, omogućava integrisanje aplikacija kreiranih od

strane različitih projektanata, takozvano end-to-end integrisanje, XML je javni format, što

znači da nije u vlasništvu bilo koje kompanije i ima široku podršku proizvođača softvera.

XML u podjednakoj meri podržavaju i Microsoft i Netscape veb čitači. Proizvođači softvera

sve više inkorporiraju karakteristike XML-a u svoje baze podataka i najrazličitije aplikativne

programe.[67]

Aplikacije mogu međusobno slati XML dokumente i obrađivati informacije u tim

dokumentima, oslanjajući se na uobičajena značenja povezana sa XML oznakama. Aplikacije

koje mogu interpretirati ove oznake mogu obraditi informacije u skladu sa značenjem

informacije i njene organizacije. [59]

Page 42: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

42

2.3.2.2 SOAP

Iako usaglašavanje značenja i strukture XML oznaka čini korišćenje XML-a efikasnim

načinom razmene podataka, to nije dovoljno za razmenu podataka preko veb-a. Potreban je

neki dogovoreni protokol za formatiranje XML dokumenta tako da primalac razume šta je

glavni deo poruke i koji deo sadrži dodatna uputstva ili dopunski sadržaj. Za to se koristi

SOAP (Simple Object Access Protokol). SOAP je protokol zasnovan na XML-u za razmenu

informacija u distribuiranom okruženju. Obezbeđuje zajednički format poruke za razmenu

podataka između klijenata i usluga. Veb servisi kao SOA komponenta koriste SOAP protokol

kao mehanizam za prenos poruka između usluga opisanih WSDL interfejsima. Ovaj koncept

je prikazan na slici br.8

Slika br.8 Mreža veb servisa [62]

SOAP je internetski zasnovan protokol koji je nezavisan od platformi, koji omogućava

komunikaciju između aplikacija. Prethodni komunikacioni protokoli aplikacija, kao što su

poziv za daljinsku proceduru RPC, pokrenuli su neka pitanja vezana za sigurnost i

kompatibilnost. Stoga, zaštitni zidovi i proxy server obično blokiraju svoj saobraćaj. SOAP

poruke, s druge strane, šalju se preko HTTP-a, što je protokol za prenos koji podržavaju svi

internet pretraživači i server. Jednostavnost i proširivost su druge karakteristike ovog

protokola zasnovanog na XML-u. [66]

Uloga SOAP-a je da kodira podatke u XML format i omogući razmenu XML poruka između

aplikacija. Koristi se model zahtev-odgovor, gde je zahtev dat od strane “SOAP klijenta”, a

odgovor daje davalac usluga, nazvan “SOAP server”. Protokol se koristi za slanje i primanje

poruka od veb servisa. Jedna od prednosti je enkapsulirati funcionalnost RPC-a (Remote

Procedure Call) koristeći proširivost i funkcionalnost XML-a.[62]

Osnovna stavka prenosa u SOAP-u je SOAP poruka, koja se sastoji od obavezne omotnice,

opcionog SOAP zaglavlja i obaveznog SOAP tela. Slika br.9 prikazuje strukturu SOAP

poruke.

Page 43: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

43

Slika br.9 SOAP [59]

SOAP omotnica određuje dve stvari: imenski prostor i stil kodiranja. Zaglavlje proširuje

SOAP poruku na modularan način. SOAP poruka putuje od klijenta do servisa, ali može

proći kroz set srednjih čvorova duž putanje poruke. Svaki čvor je aplikacija koja može

primati i prosleđivati SOAP poruke. Srednji čvor može pružiti dodatne usluge kao što su

transformacija podataka u poruci ili obavljanje operacija veznih za sigurnost. SOAP zaglavlje

se koristi za prenošenje informacija koje se odnose na sigurnost i koje se obrađuju

komponentama izvršavanja. Zaglavlje sadrži opšte informacije u vezi bezbednosti –

autentifikaciju i sesiju i informacije koje se odnose na obradu poruke preko posrednih

čvorova. Telo sadrži glavni deo SOAP poruke, informacije koje se prenose između

aplikacija, odnosno deo namenjen krajnjem primaocu SOAP poruke.[59][62]

Listing br.2 pokazuje dve SOAP poruke: poruku zahteva i poruku odgovora.[62]

Listing br.2

Request: <s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing"

xmlns:s="http://www.w3.org/2003/05/soap-envelope">

<s:Header>

<a:Action

s:mustUnderstand="1">http://tempuri.org/ICreditCard/GetCreditCardAmount</a:Action>

<a:MessageID>urn:uuid:c7e1cd17-cec4-43ba-a203-39d11ae37125</a:MessageID>

<a:ReplyTo>

<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>

</a:ReplyTo>

</s:Header>

<s:Body>

<GetCreditCardAmount xmlns="http://tempuri.org/">

<creditCardNumber>4313786046892009</creditCardNumber>

</GetCreditCardAmount>

</s:Body>

</s:Envelope>

Response: <s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"

xmlns:a="http://www.w3.org/2005/08/addressing">

Page 44: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

44

<s:Header>

<a:Action

s:mustUnderstand="1">http://tempuri.org/ICreditCard/GetCreditCardAmountResponse</a:

Action>

<a:RelatesTo>urn:uuid:e5434dfe-96c5-4398-b6c8-d2e27a50c813</a:RelatesTo>

</s:Header>

<s:Body>

<GetCreditCardAmountResponse xmlns="http://tempuri.org/">

<GetCreditCardAmountResult>550.00</GetCreditCardAmountResult> </GetCreditCardAmountResponse>

</s:Body>

</s:Envelope>

2.3.2.3 WSDL

WSDL je dokument koji se koristi za opisivanje veb usluga u smislu karakteristrika, funkcija

i mehanizama vezivanja u interakciji sa drugim softverskim komponentama.

Kada se veb usluga implementira, ona mora donositi odluke na svim nivoima o tome koji će

se protokoli mreže, transporta i pakovanja podržavati. Opis te usluge predstavlja te odluke na

takav način da korisnik usluga može kontaktirati i koristiti uslugu.[63]

WSDL se sastoji od dve komponente:

- Apstraktna komponenta koja opisuje operacije podržane od strane veb servisa i tipove

poruka koje parametriziraju ove operacije,

- Konkretna komponenta koja opisuje kako povezuje apstraktne operacije sa krajnjom

tačkom i kako mapira poruke na transportnim protokolima koje krajnja tačka

podržava.

Ove komponente koriste sledeće elemente u definisanju mrežnih usluga:

- Tip – definisanje tipova podataka koji koriste neki tipski sistem,

- Poruka – apstraktna, tipizirana definicija podataka,

- Operacija – sažetak opisa akcije koju podržava usluga,

- Port Type – apstraktni skup operacija koje podržava jedna ili više krajnjih tačaka,

- Vezivanje – specifikacija konkretnog protokola i formata podataka za određeni tip

podatka,

- Port – jedna krajnja tačka definisana kao kombinacija vezivanja i mrežne adrese,

- Usluga – zbirka povezanih krajnjih tačaka.[62]

2.3.2.4 UDDI

Specifikacije univerzalnog opisa, otkrivanja i integracije (UDDI) definišu kako se objavljuju

i otkrivaju informacije o uslugama u registru. UDDI registar pruža informacije o usluzi kao

što je ime usluge, kratak opis onoga što radi, adresu na kojoj se može pristupiti usluzi i opis

interfejsa za pristup servisu. UDDI je servis kataloga gde se preduzeća mogu registrovati i

Page 45: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

45

tražiti veb usluge. Standard je predviđen da bude otvoren za preduzeća, omogućavajući im da

objavljuju i otkrivaju usluge i da otkriju interakciju između njih putem interneta. [59][62]

Specifikacija UDDI definiše:

- SOAP API-je koje aplikacije koriste za upit i objavljivanje informacija u UDDI

registru,

- XML šeme modela podataka registra i formata SOAP poruka,

- WSDL definicije SOAP API-ja.

UDDI se zasniva na zajedničkom skupu standarda, uključujući HTTP, XML, XML šemu i

SOAP. On obezbeđuje infrasturkturu za softversko okruženje zasnovano na veb uslugama za

javno dostupne usuge i usluge koje su interno izložene unutar organizacije.

UDDI obbezbeđuje definisanje skupa usluga koje podržavaju opis i otkrivanje:

- preduzeća, organizacija i drugih provajdera veb usluga,

- veb usluge koje stavljaju na raspolaganje,

- tehnička sredstva koja se mogu koristiti za pristup tim uslugama.

Page 46: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

46

3. STRUČNO ISTRAŽIVANJE – BEZBEDNOST VEB SERVISA

3.1 Bezbednost veb servisa

Model klijent-server obrada, specifičan za prve mrežne aplikacije, transformisan je u model

zasnovan na uslugama. Uloga veb servisa je da dele podatke i pristupaju raznim uslugama,

pružajući korisnicima jedinstven javni interfejs. Oni su organizovani u servisno orijentisanoj

arhitekturi, bazirani su na XML-u i koriste SOAP kao protokol za razmenu podatka između

aplikacija kroz dinamičke i ad hoc veze.

Veb usluge pružaju okvir za razvoj, integraciju i interoperabilnost distibuiranih softverskih

aplikacija. Široka primena tehnologija veb servisa u kritičnim poslovnim aplikacijama

zavisiće od izvodljivosti izgradnje visoko pouzdanih usluga. Veb servisi obećavaju ogromne

koristi u smislu produktivnosti, efikasnosti i tačnosti. Iako nude prednosti, veb servisi

predstavljaju zastrašujuće izazove u pogledu zaštite i bezbednosti. Takođe, oni mogu izložiti

vredne podatke, aplikacije i sisteme različitim pretnjama. Glavne prednosti veb servisa

povezane su sa fleksibilnošću i svestranošću, jer podržavaju različite arhitekture i nezavisne

su od platformi i modela. Veb usluge su izgrađene na višestrukim tehnologijama koje rade

zajedno sa razvojem standarda kako bi se osigurala sigurnost i kako bi se osiguralo da se oni

mogu kombinovati da rade nezavisno.

Najveće pretnje sa kojima se suočavaju veb servisi su:

- Promena poruke – napadač može da ubacuje, briše ili menja informacije u poruci sa

ciljem da zavara primaoca,

- Gubitak poverljivosti – informacije iz poruke otkriva neovlašćeno lice,

- Falisifikovanje poruke – napadač falsifikuje originalne poruke, tako da primalac

veruje da dolaze iz pouzdanih pošiljaoca,

- Man in the middle – pojavljuje se kada se u komunikaciji između pošiljaoca i

primaoca pojavi treća strana. Dva učesnika nisu svesna da li je poruka napadnuta,

dozvoljavajući napadačima da pregledaju i/ili menjaju poruke,

- Ponavljanje poruke – slanje poruka koje su već poslate,

- Odbijanje usluge – napadač uzrokuje da sistem troši resurse neproporcionalno, tako

da se ne mogu ispuniti validni zahtevi.[62]

Sve softverske aplikacije, uključujući i veb servise, moraju zadovoljiti zahteve u pogledu

performansi, troškova, upotrebljivosti i sigurnosti. Bezbednost veb servisa pruža sledeće

bezbednosne usluge: autentifikaciju, autorizaciju, reviziju, poverljivost, integritet,

neporečivost i dostupnost. Nekoliko organizacija, uključujući W3C, OASIS, Liberty Apliance

sastavilo je bazu nekoliko standarda i tehnika za sigurnost veb servisa. Različiti sigurnosni

mehanizmi zasnovani na XML-u izgrađeni su oko mehanizama enkripcije, autentikacije i

autorizacije. Standardi su prikazani od komunikacionog do aplikativnog sloja. Nivoi su

modelirani po referentnom modelu OSI.

- SSL (Secure Socket Layer) i TLS (Transport Layer Security) su sigurnosni protokoli

koji pružaju zaštitu SOAP poruka na komunikacionom nivou.

Page 47: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

47

- XML enkripcija (XML Encription) i XML potpis (XML Signature) su osnovni

standradi koji određuju kako se šifruje i kako se potpisuju XML podaci koristeći

različite podržane algoritme šifrovanja i potpisivanja.

- WS-Security i WS-Secure Conversation definišu kako se koriste XML potpisi i XML

enkripcija i bezbednosni akreditivi SOAP poruka (bezbednost na nivou poruka),

obezbeđivanje autentičnosti, integriteta i poverljivosti poruka. WS-Security standard

podržava tokene za sigurnosne mehanizme, kao što su Kerberos i X.509 sertifikati.

- WS-Reliability i WS-Reliable Messaging, su osnovni standardi koji se odnose na

pouzdanost poruka poslatih preko javne mreže. Oni su usredsređeni na garanciju za

isporuku poruka i definišu protokole koji su neophodni da se osigura neodbacivanje

poruka.

- SAML (Security Assertion Markup Language), je standard zasnovan na XML-u za

razmenu poruka o autorizaciji i autentifikaciji između provajdera servisa i zahtevaoca

usluga ili domena bezbednosti. SAML rešava problem jednostruke prijave

koriščenjem sigurnosnih tokena.

- WS-Policy, definiše zahteve politike za osiguranje veb usluga. WS-Policy Assertion,

specificira generičke tvrdnje o sigurnosti. WS-Policy Attachmen i WS-Security Policy

nude mehanizme za predstavljanje mogućnosti i zahteva SOAP poruka.

- XACML (Extesible Access Markup Language) i XACML profil za veb servise nude

sigurnosne politike i prava pristupa informacijama za veb servise i druge resurse.

- XKMS (XML Key Menagement Standard), određuje standardnu uslugu, interfejse i

protokole za upravljanje kriptografskim ključevima.

- WS-Trust definiše proširenja koja se temelje na WS-Security za zahtevanje i izdavanje

sigurnosnih tokena.

- Security Menagement Standard, definiše kako upravljati akreditivima korišćenjem

digitalnih sertifikata i PKI.

- Identity Menagement, definiše kako upravljati identitetom korisnika, pružajući

kontrolu pristupa resursima.[62]

Mnogi autori i stručnjaci za bezbednost smatraju da je veoma verovatno da će napadi na veb

usluge biti slični napadima na veb aplikacije, ali sofosticiraniji. Problem je u tome što XML

poruke sadrže informacije u tekstualnom obliku koje ih opisuju. Napadači dobijaju više

detaljnijih informacija preko WSDL datoteka i UDDI unosa. Veb usluge zahtevaju

bezbednost koja nudi konzistentnost. Otvorenost veb servisa protivreči sigurnosti, sa druge

strane doprinosi jednostavnoj i lakoj impementaciji i drastičnom smanjenju troškova.[43]

3.1.1 Sigurnosni protokoli transportnog sloja

SSL (Secure Socket Layer) i TLS (Transport Layer Security) je najčešće korišćen protokol za

prenos podataka u transportnom sloju. To su kriptografski bezbednosni protokoli koji se

koriste za obezbeđivanje sigurne mrežne komunikacije. Njihovi glavni ciljevi su da pruže

integritet podataka i privatnost u komunikaciji. SSL protokol je bio prvi protokol dizajniran

za ovu svrhu, a TLS je njegov naslednik.

Page 48: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

48

SSL pruža sledeće:

- Autentifikaciju – komunikacija se uspostavlja između dve pouzdane strane.

- Poverljivost – razmenjeni podaci su šifrovani.

- Integritet – podaci se proveraju za korupciju.

- Sigurna razmena ključeva između klijenta i servera.[71]

SSL se može koristiti u tri režima:

- Nema autentifikacije – ni klijent ni server se ne autentifikuju. Sertifikati se na šalju

niti razmenjuju. U ovom slučaju koristi se samo enkripcija/dešifrovanje.

- Jednosmerna autentifikacija ili autentifikacija servera – samo se server autentificira

klijentu. Server šalje klijentu sertifikat koji potvrđuje da je server autentičan. Ovo je

obično pristup koji se koristi za internet transakcije kao što je on-line bankarstvo.

- Dvosmerna autentifikacija ili bilateralna autentifikacija – i klijent i server se

međusobno autentifikuju slanjem sertifikata jedan drugom. Ovaj pristup je neophodan

da bi se sprečili napadi između proxy-ja i krajnje tačke veb servisa.[71]

SSL koristi kombinaciju tajnog ključa i kriptografije javnog ključa za bezbednu

komunikaciju. SSL saobraćaj koristi tajne ključeve za enkripciju i dešifrovanje, a razmena

javnih ključeva koristi se za međusobnu autentifikaciju strana uključenih u

komunikaciju.[71]

SSL se koristi:

- da bi osigurale transakcije kreditinim karticama na mreži,

- da bi se obezbedilo logovanje sistema i prenos osetljivih informacija,

- da bi se obezbedila veb pošta i aplikacije kao što su Outlook Veb Access, Excange i

Office Comunications Server,

- da bi se obezbedili radni procesi i aplikacije za virtuelizaciju kao što su Citrix

Delivery Platforms ili Cloud bazirane računarske platforme,

- da bi se osigurala veza između klijenta e-pošte kao što je Microsoft Outlook i server

e-pošte Microsot Excange,

- da bi se osigurao prenos datoteka preko HTTPS i FTP servisa, kao što su vlasnici veb

lokacija koji ažuriraju nove stranice ili ažuriraju velike datoteke,

- da bi se obezvbedilo logovanje i aktivnosti kao što su Parallels, cPanel i drugi,

- da bi se osigurao saobraćaj na intranetu kao što su interne mreže, deljenje datoteka,

ekstranet i veze sa bazama podataka,

- da bi se obezbedile mrežne prijave i drugi mrežni saobraćaj sa SSL, VPN-ovima kao

što us VPN Access server ili aplikacije kao što je Citrix Access Gatevay.[72]

3.1.2 XML enkripcija i XML potpis

Pošto se veb usluge mogu intenzivno primenjivati na rešenje aplikativnog programa, javlja se

sve veća integracija veb usluga u veb aplikacije. Veb usluge koriste metod poruke zasnovan

na XML-u za kreiranje i pristup uslugama, tako da je XML bezbednost osnova sigurnosti veb

Page 49: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

49

usluga. Kako bi se garantovala sigurnost u korišćenju XML-a kao medija razmene

informacija, posebno osetljivih informacija opisnih u XML-u, koristi se kombinacija XML

potpisa i XML enkripcije.

XML enkripcija je specifikacija koju je razvio World Wide Web (W3C) konzorcijum 2002.

godine i koja sadrži korake za šifrovanje podataka, dešifrovanje podataka, XML sintaksu za

predstavljanje šifrovanih podataka, informacije koje će se koristiti za dešifrovanje podataka,

kao i listu algoritama za šifrovanje, kao šti su DES, AES i RSA. XML šifrovanje se može

primeniti na XML element, sadržaj XML elementa i proizvoljne podatke, uključujući i XML

dokument. Listing br.3 pokazuje XML dokument u kome je potrebno šifrovati element

<CreditCard>.[80]

Listing br.3

<PaymentInfo xmlns='http://example.org/paymentv2'>

<Name>John Smith</Name>

<CreditCard Limit='5,000' Currency='USD'>

<Number>4019 2445 0277 5567</Number>

<Issuer>Example Bank</Issuer>

<Expiration>04/02</Expiration>

</CreditCard>

</PaymentInfo>

Listing br.4 prikazuje XML dokument posle enkripcije. Element <EncryptedData>

predstavlja šifrovani <CreditCard> element. Element <EncryptionMethod> opisuje

primenjeni algoritam šifrovanja, koji je trstruki DES u ovom primeru. Element <KeyInfo>

sadrži informacije koje su potrebne za dohvatanje ključa za dešifrovanje, koji je element

<KeyName>. Element <CipherValue> sadrži tekst šifre koji se dobija serijalizacijom i

šifrovanjem elementa <CreditCard>.[80]

Listing br.4

<PaymentInfo xmlns='http://example.org/paymentv2'>

<Name>John Smith</Name>

<EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element'

xmlns='http://www.w3.org/2001/04/xmlenc#'>

<EncryptionMethod

Algorithm='http://www.w3.org/2001/04/xmlenc#tripledes-cbc'/>

<KeyInfo xmlns='http://www.w3.org/2000/09/xmldsig#'>

<KeyName>John Smith</KeyName>

</KeyInfo>

<CipherData>

<CipherValue>ydUNqHkMrD...</CipherValue>

</CipherData>

</EncryptedData>

</PaymentInfo>

U listingu br.5 pretpostavlja se da i pošiljalac i primalac imaju zajednički tajni ključ. Ako

primalac ima par javnih i privatnih ključeva, što je obično slučaj, <CreditCard> element

može biti šifrovan kao što je prikazano u listingu 5. Element <EncryptedData> je isti kao

Page 50: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

50

element <EncryptedData> koji se nalazi u listingu br.4. Međutim, element <KeyInfo> sadrži

element <EncryptedKey>.[80]

Listing br.5

<PaymentInfo xmlns='http://example.org/paymentv2'>

<Name>John Smith</Name>

<EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element'

xmlns='http://www.w3.org/2001/04/xmlenc#'>

<EncryptionMethod

Algorithm='http://www.w3.org/2001/04/xmlenc#tripledes-cbc'/>

<KeyInfo xmlns='http://www.w3.org/2000/09/xmldsig#'>

<EncryptedKey xmlns='http://www.w3.org/2001/04/xmlenc#'>

<EncryptionMethod

Algorithm='http://www.w3.org/2001/04/xmlenc#rsa-1_5'/>

<KeyInfo xmlns='http://www.w3.org/2000/09/xmldsig#'>

<KeyName>Sally Doe</KeyName>

</KeyInfo>

<CipherData>

<CipherValue>yMTEyOTA1M...</CipherValue>

</CipherData>

</EncryptedKey>

</KeyInfo>

<CipherData>

<CipherValue>ydUNqHkMrD...</CipherValue>

</CipherData>

</EncryptedData>

</PaymentInfo>

XML potpisi su postali važan aspekt elektronske sigurnosti, jer se mogu koristiti za

osiguranje integriteta, autentičnosti i neporečivosti. XML potpis je preporuka W3C,

objavljena 12.februara 2002. godine, u kojoj su digitalni potpisi optimizovani za XML

dokumente, za obezbeđivanje integriteta XML podataka tokom procesa potpisivanje i/ili

verifikacije. Praktične prednosti XML potpisa uključuju parcijalno potpisivanje, koji

omogućava potpisivanje specifičnih oznaka sadržanih u XML podacima i višestruki potpis,

što omogućava potpisivanje više oznaka u XML dokumentu. Upotreba XML potpisa može

da reši bezbednosne problem, uključujići falsifikovanje, lažiranje i odbacivanje. XML potpis

podržava bilo koji tip šifrovanja digitalnog potpisa koristeći sve moguće standardne

algoritam šifrovanja. [81][82]

Za potpisivanje ili šifrovanje XML dokumenta, potreban je digitalni ID poznat kao digitalni

sertifikat. XML šifrovanje se koristi da bi se osiguralo da samo ovlašćeni primaoc može da

razume poruku, a XML potpis se koristi da bi se osiguralo da su podaci primljeni u istom

obliku kao što su bili poslati, bez modifikacija. XML enkripcija osigurava autentikaciju

korisnika, autorizaciju, integritet i poverljivost. Međutim, praktično je nevažno šifrovati

podatke ako se šalju grupi ljudi. Iz tog razloga, korišćenje XML potpisa još uvek obezbeđuje

integritet podataka zajedno sa autentifikacijom korisnika.[81]

- Autentifikacija – prilikom implementacije XML enkripcije, svako može šifrovati

dokument koristeći javni ključ, ali samo potpisnik može da potvrdi da je to u stvari

uradila prava osoba.

Page 51: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

51

- Verifikacija – Šifrovanje i potpis obezbeđuju verifikaciju šifrovanog/potpisanog

dokumenta kao i kodiranje, potreban je privatni ključ primaoca za dešifrovanje i

potpisivanje, a javni ključ za verifikaciju pravog pošiljaoca.

- Integritet – i enkripcija i potpis garantuju integritet dokumenta jer niko ne može da

manipuliše dokumentom nakon što je potpisan/enkriptovan.

- Poverljivost – XML potpis ne garantuje poverljivost podataka, jer su podaci još uvek

u običnom tekstu dok se u XML enkripciji podaci koji se prikazjuju šifrovani.

- Ne-odbacivanje – XML potpis osigurava da se dokument ne odbaci, jer pošiljalac ili

potpisnik ne može da porekne da nije potpisao dokument, zbog korišćenja ključeva za

potpisivanje.[81]

Može se koristiti kombinacija XML potpisa i XML enkripcije za obezbeđivanje sigurnosti u

veb servisima. Postoje dva pristupa:

- Prvo potpis, pa enkripcija. Ovo osigurava da potpis ostaje zaštićen, ali u isto vreme

podrazumeva veće opterećenje dešifrovanja poruke za svo vreme provere potpisa. U

ovoj metodi, algoritam enkripcije se može promeniti bez uticaja na potpis.

- Prvo enkripcija, pa potpisivanje. U ovoj metodi odmah se saznaje da li podaci

neovlašćeno promenjeni, ali identitet pošiljaoca se otkriva slanjem ključa za

dešifrovanje.[81]

3.1.3 WS-Security

WS-Security je specifikacija koja definiše kako se mere sigurnosti implementiraju u veb

uslugama kako bi ih zaštitili od spoljašnjih napada. Ovo je skup protokola koji obezbeđuje

bezbednost poruka zasnovanih na SOAP-u primenom principa poverljivosti, integriteta i

autentičnosti.

Budući da su veb servisi nezavisni od bilo koje hardverske i softverske implementacije,

WS-Security protokoli moraju biti dovoljno fleksibilni da se prilagode novim sigurnosnim

mehanizmima i obezbede alternativne mehanizme ako pristup nije prikladan. Pošto poruke

zasnovane na SOAP-u prolaze kroz više posrednika, bezbednosni protokoli moraju biti u

stanju da identifikuju lažne čvorove i spreče interpretaciju podataka u bilo kojim čvorovima,

WS-Security kombinuje najbolje pristupe za rešavanje bezbednosnih problema.[87]

WS-Security je standard koji je izdao OASIS, u njemu su opisana poboljšanja vezana za

bezbednost SOAP poruka koja obezbeđuju integritet i poverljivost poruka. WS-Security

koristi sigurnosne tokene kako bi omogućio sigurnost i integritet SOAP poruka. Sigurnosni

token je skup zahteva koje je poslao pošiljalac SOAP poruke, koji je autentifikovan

kombinovanjem sigurnosnog tokena sa digitalnim potpisom. Potpis se koristi kao dokaz da je

pošiljalac zaista povezan sa sigurnosnim tokenom.

WS-Security je standard na nivou poruka koji se zasniva na obezbeđivanju SOAP poruka

putem XML digitalnog potpisa, poverljivosti putem XML šifrovanja i propagacija akreditiva

preko sigurnosnih tokena. Specifikacija bezbednosti veb servisa definiše objekte za zaštitu

integriteta i poverljivosti poruke i obezbeđuje mehanizme za povezivanje zahteva vezanih za

Page 52: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

52

bezbednost sa porukom. WS-Security ne zahteva poseban tip sigurnosnog tokena. Dizajniran

je da bude proširiv, kako bi podržao više formata bezbednosnoh tokena. WS-Security takođe

opisuje kako se šifriraju binarni sigurnosni tokeni i kako ih pripojiti sa SOAP porukama.

[68]

Ova specifikacija je fleksibilna i dizajnirana je da se koristi kao osnova za obezbeđivanje veb

usluga u širokom spektru sigurnosnih modela, uključujući PKI, Kerberos i SSL. Konkretno,

ova sepcifikacija obezbeđuje podršku za više formata bezbednosnih tokena, višestruke

domene poverenja, više formata potpisa i višestruke tehnologije šifrovanja.[69]

Prednosti korišćenja WS-Security-a:

- Različiti delovi poruke mogu biti osigurani na različite načine. Na primer, integritet

se može obezbediti bezbednosnim tokenom (korisničko ime i lozinka) i poverljivost

na telu SOAP poruke.

- WS-Security radi na više transportnih sistema i nezavisan je od transportnog

protokola.

- Mogu se koristiti posrednici, a preko posrednika se može obezbditi zaštita na nivou

poruke.

- Moguća je autentifikacija pojedinačnih korisnika i više korisničkih identiteta.[68]

Tradicionalni veb sigurnosni mehanizmi, kao što su HTTPS, mogu biti nedovoljni za

upravljanje sigurnosnim zahtevima veb servisa. Kada aplikacija šalje SOAP poruku koristeći

HTTPS, poruka je osigurana samo za HTTPS vezu, što znači tokom prenosa poruke između

klijenta i usluge. Međutim, aplikacija može zahtevati da se podaci poruke osiguraju izvan

HTTPS veze, ili čak i izvan transportnog sloja. Obezbeđivanje veb usluga na nivou poruka

može da ispuni ove proširene zahteve. Bezbednost na nivou poruka obuhvata: identitet,

autentifikaciju, autorizaciju, integritet, poverljivost, neporicanje. I tradicionalna veb

bezbednost i bezbednost na nivou poruka koriste iste mehanizme za upravljanje

bezbednošću, uključujući digitalne sertifikate, enkripciju i digitalne potpise. [68]

Sa sigurnošću na nivou poruka, sama SOAP poruka sadrži ili informacije koje su potrebne da

bi se obezbedila poruka ili sadrži informacije o tome gde da se dobiju te informacije da bi se

odgovorilo na bezbednosne potrebe. SOAP poruka takođe sadrži informacije relevantne za

protokole i procedure za obradu navedene bezbednosti na nivou poruke. Bezbednost na nivou

poruke nije vezana za bilo koji transportni mehanizam. Pošto su informacije o bezbednosti

deo poruke, one su nezavisne od transportnog protokola, kao što je HTTPS.[68]

Klijent dodaje u SOAP informacije o zaglavlju poruke koje se odnose na tu određenu poruku.

Kada je poruka primljena, krajnja tačka veb servisa, koristeći informacije o bezbednosti u

zaglavlju, proverava bezbednosnu poruku i potvrđuje je. Na primer, krajnja tačka usluge

može proveriti potpis poruke i proveriti da poruka nije menjana. Moguće je dodati

informacije o potpisivanju i šifrovanju u zaglavlja SOAP poruka, kao i druge informacije kao

što su sigurnosni tokeni za identitet (na primer, X.509 sertifikat) koji su vezani za sadržaj

SOAP poruka.[68]

Page 53: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

53

Element zaglavlja može sadržati sledeće informacije:

- Ako je poruka unutar SOAP tela potpisana bilo kojim bezbednosnim ključem, taj

ključ se može definisati u elementu zaglavlja.

- Ako je bilo koji element unutar tela SOAP poruke šifrovan, zaglavlje će sadržati

potreben ključeve šifrovanja, tako da se poruka može dešifrovati kada dođe do

odredišta.[70]

Kada je telo SOAP poruke šifrovano, moći će da bude dešifrovano samo preko veb servera

koji hostuje veb servis. Ako se poruka prosledi serveru baze podataka u HTTP zahtevu, ona

se ne može dešifrovati jer baza podataka nema odgovarajuće mehanizme. Samo kada zahtev

dođe do veb servera kao SOAP protokol, on će biti u stanju da dešifruje poruku i pošalje

odgovor klijentu.[70]

Bez bezbednosti na nivou poruke, SOAP poruka se šalje čistim tekstom, a lični podaci kao

što su korisnički ID ili broj računa nisu zaštićeni. Bez primene bezbednosti na nivou poruka,

u SOAP poruci postoji samo SOAP telo ispod SOAP omotnice. Primenon WS-Security

specifikcije, SOAP zaglavlje je umetnuto ispod SOAP omotnice u SOAP poruci kada je

SOAP telo potpisano i enkriptovano.[68]

Akreditivi u SOAP zaglavlju mogu sadržati specijalni element zvan UsernameToken, koji se

koristi za prosleđivanje korisničkog imena i lozinke veb servisu i binarni token preko

BinarySecurityToken, koji se koristi u situacijama u kojima se koriste tehnike šifrovanja kao

što su Kerberos ili X.509.[70]

Listing br.6 ilustruje upotrebu prilagođenog sigurnosnog tokena i pridruženog potpisa. Token

sadrži binarne podatke, koji prenose simetrični ključ koji može biti pravilno overen od strane

primaoca. [69]

Listing br.6

(001) <?xml version="1.0" encoding="utf-8"?>

(002) <S11:Envelope xmlns:S11="..." xmlns:wsse="..." xmlns:wsu="..."

xmlns:ds="..."> (003) <S11:Header>

(004) <wsse:Security

xmlns:wsse="..."> (005) <xxx:CustomToken wsu:Id="MyID"

xmlns:xxx="http://fabrikam123/token">

(006) FHUIORv...

(007) </xxx:CustomToken>

(008) <ds:Signature>

(009) <ds:SignedInfo>

(010) <ds:CanonicalizationMethod

Algorithm= "http://www.w3.org/2001/10/xml-exc-c14n#"/>

(011) <ds:SignatureMethod

Algorithm= "http://www.w3.org/2000/09/xmldsig#hmac-sha1"/>

(012) <ds:Reference URI="#MsgBody">

Page 54: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

54

(013) <ds:DigestMethod

Algorithm=

"http://www.w3.org/2000/09/xmldsig#sha1"/>

(014) <ds:DigestValue>LyLsF0Pi4wPU...</ds:DigestValue>

(015) </ds:Reference>

(016) </ds:SignedInfo>

(017) <ds:SignatureValue>DJbchm5gK...</ds:SignatureValue>

(018) <ds:KeyInfo>

(019) <wsse:SecurityTokenReference>

(020) <wsse:Reference URI="#MyID"/>

(021) </wsse:SecurityTokenReference>

(022) </ds:KeyInfo>

(023) </ds:Signature>

(024) </wsse:Security>

(025) </S11:Header>

(026) <S11:Body wsu:Id="MsgBody">

(027) <tru:StockSymbol xmlns:tru="http://fabrikam123.com/payloads">

QQQ

</tru:StockSymbol> (028) </S11:Body>

(029) </S11:Envelope>

Prve dve linije pokreću SOAP omotnicu. Linija (003) je početak zaglavlja koji je povezan sa

ovom SOAP porukom. Linija (004) pokreće zaglavlje <wsse:Security> definisano u ovoj

specifikaciji. Zaglavlje sadrži informacije o bezbednosti za primaoca i nastavlja se do linije

(024). Linije (005) do (007) specificiraju prilagođeni token koji je povezan sa porukom. U

ovom slučaju koristi se eksterno definisan prilagođen format tokena. Linije (008) do (023)

određuju digitalni potpis. Ovaj potpis osigurava integritet potpisanog elementa. Potpis koristi

specifikaciju XML potpisa koju identifikuje prostor za imena ds deklaracije u liniji (002).

Linije (009) do (016) opisuju šta se potpisuje i tip kanonikalizacije koja se koristi. Linija

(010) određuje kako da se normalizuju podaci koji se potpisuju. Linija (012) označava da je

element <S11: body> potpisan. U ovom primeru samo je telo poruke potpisano. Linija (017)

određuje vrednost potpisa normalizovanog oblika podataka koji se potpisuju kako je

definisano u specifikaciji XML potpisa. Linije (018) do (022) pružaju informacije, delimične

ili potpune, o tome gde se nalazi bezbednosni token koji je povezan sa ovim potpisom.

Konkretno, linije (019) do (021) ukazuju da se sigurnosni token može naći na navedenom

URL-u. Linije (026) do (028) sadrže telo SOAP poruke.[69]

Blok zaglavlja <wsse: Security> obezbeđuje mehanizam za dodavanje informacija vezanih

za bezbednost koje su namenjene određenom primaocu. To može biti krajnji primalac poruke

ili posrednik. Prema tome, elementi ovog tipa mogu biti prisutni više puta u SOAP poruci.

Aktivni posrednik ne putanji poruka može dodati jedan ili više novih podelemenata u

postojeći blok zaglavlja <wsse: Security> ako su oni ciljani za njegov SOAP čvor ili može

dodati jedan ili više novih zaglavlja za dodatne ciljeve.[69]

3.1.3.1 WS-Security tokeni

WS-Security određuje SOAP bezbednosna proširenja koja obezbeđuju poverljivost koristeći

XML šiforvanje i integritet podataka koristeći XML potpis. WS-Security, takođe sadrži

Page 55: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

55

profile koji sepcificiraju kako da se ubace različiti tipovi binarnih i XML sigurnosnih tokena

u WS-Security zaglavlja za svrhe autentifikacije i autorizacije.

Slika br.10 prikazuje arhitekturu zasnovanu na STS (Service Token Security), upotrebu

tokena za svrhu autentifikacije i autorizacije.

Slika br.10 STS Service Token Security

Gore predstavljena arhitektura zasnovana na tvrdnjama definiše sledeće aktere:

- Klijent – entitet koji želi da proveri autentičnost i pristup veb servisu. Entitet može

biti jednostavan korisnik ili aplikacioni kod.

- RP – je veb servis. Veb servis može koristiti tokene koje pruža IP (STS), izdvojiti

tvrdnje iz tokena i ovlastiti subjekat/pozivaoca za obavljanje operacija.

- IP Provajder identiteta ili STS je implementiran kao veb servis i vrši proveru

autentičnosti. STS gradi, potpisuje i izdaje sigurnosne oznake sa tvrdnjama koje

identifikuju subjekat/pozivaoca servisa.

- Identitet – opisuje skup atributa koji opisuju entitet.

- Tvrdnja – sadrži informacije o autentičnom entitetu kao što su: ime, e-pošta, datum

rođenja, dozvola itd. Na osnovu ovih tvrdnji RP donosi odluku da ovlasti subjekat da

pozove operacije RP.

- RST/RSTR tok sigurnosnog tokena je serijalozovani skup zahteva koji je digitalno

potpisan od strane izdavača. Sigurnosni token izdaje STS i prenosi se u zaglavlju

sigurnosti SOAP omotnice. Sigurnosni token može biti kombinacija korisničkog

imena i lozinke, SAML token u XML formatu ili binarno zasnovan, kao što su X.509

sertifikati i Kerberos.

- Autoritet izdavača (Authenticate Issue) – određuje kako STS izdaje tokene za

sigurnost, kao što su kontroleri domena koji izdaju Kerberos ili autoriteti sertifikata

koji izdaju X.509 sertifikate.[62]

Page 56: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

56

Proces autentifikacije i autorizacije koji koristi pristup ovlaščenja zasnovan na tvrdnjama i

prikazan na slici br.10 sledi korake:

1. Klijent inicijalizuje i šalje zahtev za potvrdu identiteta STS-u. Potvrda autentičnosti koja

se šalje STS-u sadrži poruku zahteva za sigurnosnim tokenom RST. RST sadrži

klijentske akreditive koji se mogu slati direktno u običnom/šifrovanom modu ili se mogu

poslati pomoću tokena izdatog od strane brokera za proveru autentičnosti, kao što je

Kerberos token ili X.509 sertifikat. Veoma je važno da RST i RSTR poruke budu

zaštićene. U ovom slučaju, akreditivi će biti poslani direktno u režimu šifrovanja.

2. STS prima RST token od klijenta i proverava akreditive. Ako su akreditivi validni, STS

izdaje sigurnsni token kao SAML tvrdnju i primenjuje pravila politike. Token se zatim

potpisuje sa X.509 sertifikatom.

3. STS šalje klijentu sigurnosni token. Sigurnosni token koji je izdat u prethodnoj tački biće

poslat klijentu kao SAML token u RSTR poruci. RSTR sadrži skup od tri tvrdnje:

korisničko ime, dozvolu za čitanje i dozvolu za ažuriranje.

4. Klijent inicira i šalje poruku zahteva servisu.

5. Servis proverava sigrnosni token koji je poslao klijent i izvršava autorizaciju. Servis

proverava da li je token izdat od strane STS-a i nije modifikovan nakon što je izdat

(verifikuje integritet – digitalni potpis). Servis koristi STS javni sertifikat uključen u

zahtev. Tada će se sigurnosni token dešifrovati i nakon provere skupa zahteva servis će

doneti odluku o autorizaciji klijenta.

6. Servis inicira i šalje odgovor klijentu kao poruku. Nakon što servis ovlasti klijenta, ona će

klijentu poslati opcionu poruku.[62]

Predloženi model za obezbeđenje veb servisa korišćenjem STS ima sledeće prednosti:

- Razdvajanje aplikacija i usluga od mehanizma autentifikacije. Model se sastoji od tri

strane: klijent koji emituje zahteve za veb servis, ali mora da se autentifikuje preko

STS,

- STS, veb servis koji potvrđuje verodostojnost, autentifikuje klijenta i izdaje SAML

sigurnosne tokene sa skupom zahteva za pozivanje operacija koje su izložene veb

servisom,

- RP, koji će primiti sigurnosni token od klijenta i koristiti zahteve da ovlasti pozivaoca

za obavljanje operacija i pristupa resursima.

3.1.3.1.1 UserName tokeni

Korisničko ime (UserName) definiše način na koji korisnik veb servisa može dati korisničko

ime kao akreditaciju za potvrdu identiteta. UserName token sadrži osnovne informacije o

autentifikaciji. Element korisničkog imena i token proširuje informacije o korisničkom imenu

i lozinku za autenfikaciju poruke.[71]

Korisničko ime i lozinka se koriste za autentifikaciju poruke. Element <UserName> koji

sadrži korisničko ime koristi se u tvrdnji identiteta. Listing br.7 pokazuje sintaksu elementa

<UserNameToken>:[76]

Page 57: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

57

Listing br.7

<UsernameToken Id="...">

<Username>...</Username>

<Password Type="...">...</Password>

</UsernameToken>

UserName token omogućava da se identitet krajnjeg korisnika prenese preko više čvorova

pre nego što stigne do odredišnog veb servisa. Korisnički identitet se ubacuje u poruku i

dostupan je za obradu u svakom čvoru na putu.[77]

Korisničko ime i lozinka klijenta su enkapsulirani u WS-Security <wsse: UsernameToken>.

Nakon prijema tokena može se izvršiti jedan od sledećih zahteva:

- Provera da je vremenska oznaka na tokenu važeća,

- Autentifikacija korisničkog imena,

- Autentifikacija korisničkog imena i lozinke.[77]

Element <wsse:UsernameToken> je uveden u WS-Security: SOAP poruka o bezbednosti kao

način obezbeđivanja korisničkog imena.

Unutar <wsse:UsernameToken> elementa, može se navesti <wsse:Password> element.

Lozinke tipa PasswordTekst i PasswordDigest. PasswordTekst samo implicira da su

informacije koje se nalaze u lozinki u „čistom obliku“ za razliku od digest informacija.

Lozinke tipa PasswordDigest su definisane kao Base64 [XML-schema], SHA-1 hash

vrednost, UTF-8 kodirane lozinke. Međutim, ako se ovakva lozinka ne pošalje na zaštićeni

kanal ili ako je token šifrovan, sažetak ne nudi nikakvu dodatnu sigurnost nad korišćenjem

PasswordTekst. [78]

Dva dodatna elementa su uvedena u elementu <wsse:UsernameToken> da bi se obezbedila

protivmera za ponavljanje napada: <wsse:Nonce> i <wsu:Created>. Nonce je slučajna

vrednost koju pošiljalac kreira da bi uključio u svako korisničko ime koje šalje. Iako je

korišćenje nonce efektivna protivmera protiv napada ponavljanja, potrebno je da server

održava keš korišćenih brojeva, trošeći serverske resurse. Kombinovanjem nonce sa

vremenskom oznakom ima prednost što dozvoljava serveru da ograniči keš nonce na

određeni period, uspostavljajući gornju granicu prema zahtevima resursa. Ako su prisutni

jedan ili oba <wsse:Nonce> i <wsu:Created> oni moraju biti uključeni u digest vrednost na

sledeći način:[78]

Password_Digest=Base64(SHA-1(nonce+created+password))

To znači, spojiti nonce, vremensku oznaku kreiranja, korisiti SHA-1 hash algoritam, zatim

uključiti Base64 kodiranje tog rezultata. Ovo bi omogućilo efikasno sprečavanje napada

ponavljanja.

Listing br.8 ilistruje primenu elementa UsernameTokena, gde se lozinka šalje kao „jasan

tekst“, tako da bi poruku trebalo poslati preko poverljivog kanala.[76]

Page 58: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

58

Lisitng br.8

<S:Envelope xmlns:S="http://www.w3.org/2001/12/soap-envelope"

xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext">

<S:Header>

...

<wsse:Security>

<wsse:UsernameToken>

<wsse:Username>Joe</wsse:Username>

<wsse:Password>ILoveJava</wsse:Password>

</wsse:UsernameToken>

</wsse:Security>

</S:Header>

</S:Envelope>

Kako bi se sprečili napadi ponavljanja preporučuju se tri kontramere:

1. Da proizvođači veb servisa odbace sve UsernameToken-e koja ne koriste nonce i

vremensku oznaku.

2. Da proizvođači veb servisa obezbede ograničenje vremenske oznake, kao smernica,

vrednost od pet minuta može se koristiti kao minimum za otkrivanje, a time i

odbacivanje, ponavljanja.

3. Da se korišćene stavke keširaju tokom perioda barem onoliko dugo koliko je ograničeno

vremensko označavanje, i da se UsernameToken sa nonce-sima koji su već korišćeni

odbijaju.[79]

Obzirom da se prenos lozinke ne podrazumeva šifrovanje, postoji opasnost od napada, tako

da je potrebno šifrovati podatke pomoću SSL-a, ali to je dobro samo u scenariju point-to-

point i nije siguran u scenariju koji ima posrednike. Za pristup end-to-end, trebalo bi da se

šifruje UsernameToken sa XML enkripcijom u WS-Security. Bez svih ovih zaštitnih mera,

UsernameToken može biti potpuno neefikasan u postizanju svog cilja.[79]

Listing br.9 ilustruje upotrebu UsernameTokena sa elementima nonce i created.

Listing br.9

<wsse:UsernameToken wsu:Id="Example-1">

<wsse:Username> ... </wsse:Username>

<wsse:Password Type="..."> ... </wsse:Password>

<wsse:Nonce EncodingType="..."> ... </wsse:Nonce>

<wsu:Created> ... </wsu:Created>

</wsse:UsernameToken>

/ wsse:UsernameToken/wsse:Password

Ovaj element pruža informacije o lozinkama, preporučuje se da se ovaj element prenosi samo

kada se koristi siguran transport (npr. HTTPS) ili ako se sam token šifruje.

Page 59: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

59

/ wsse:UsernameToken/wsse:Password/@Type

Ovo je opcioni URI atribut koji određuje tip lozinke.

/wsse:UsernameToken/wsse:Nonce

Element koji specificira kriptografski nasumični nonce. Svaka poruka, koja uključuje

<wsse:nonce> mora koristiti novu nonce vrednost kako bi proizvođači veb servisa mogli

otkriti napade ponavljanja.

/wsse:UsernameToken/wsu:Created

Ovaj element specificira vremensku oznaku koja se koristi za označavanje vremena

kreiranja.[78]

Upotreba UsernameTokena omogućava zaštitu od napada ponavljanja koji se mogu adresirati

korišćenjem vremenskih oznaka poruka, nonces, keširanja kao i drugih mehanizama praćenja

specifičnih za aplikaciju. Vlasništvo tokena se verifikuje korišćenjem ključeva, man-in-the-

middle napadi su uglavnom ublaženi. Bezbednost na transportnom nivou može se koristiti za

obezbeđivanje poverljivosti i integriteta i korisničkog imena i celog tela poruke.

3.1.3.1.2 X.509 Certificate

Digitalni sertifikat X.509 je struktura podataka dizajnirana za slanje javnog ključa primaocu.

Sertifikat uključuje standardna polja kao što su ID sertifikata, datum do kada sertifikat važi,

podatke vlasnika, javni ključ. Sertifikat izdaju sertifikaciona tela, koji proveravaju identitet

entiteta i dodeljuju sertifikat, potpisujući ga privatnim ključem. Sertifikaciono telo objavljuje

svoj sertifikat koji uključuje i javni ključ.[71]

Struktura X.509 sertifikata:

- Verzija sertifikata – označava verziju sertifikata koji se upotrebljava.

- Serijski broj – jedinstveni broj koji izdaje CA. Pravi razliku između sertifikata.

- Identifikator algoritma – identifikuje algoritam kojim je CA potpisao sertifikat.

- Izdavač sertifikata – označava potpisnika sertifikata (CA).

- Validnost sertifikata – svaki sertifikat je validan u određenom vremenskom periodu.

Taj vremenski period je propisan datumom početka i datumom kraja validnosti

sertifikata.

- Naziv entiteta – povezuje privatni ključ sa javnim ključem iz sertifikata.

- Podaci o javnom ključu entiteta – sadrži javni ključ entiteta zajedno sa

identifikatorom kriptografskog algoritma.

- Identifikator izdavača – jedinstveno polje koje identifikuje ime izdavača prema X.509

standardu.

- Identifikator entiteta – jedinstveno polje koje identifikuje entitet.

- Digitalni potpis sertifikata – identifikuje potpis sertifikata privatnim ključem

sertifikacionog centra.[75]

Page 60: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

60

Da bi zaštitili XML poruku sa X.509 tokenom, mora postojati ugovor odnosno WS-Policy,

koji je naveden u jeziku opisa veb usluga (WSDL). Okvir WS-Policy omogućava da se

specificiraju informacije o politici koje mogu biti obrađene aplikacijama veb servisa. Politika

se izražava kao jedna ili više tvrdnji o politici koje predstavljaju mogućnosti ili zahteve veb

servisa. Na primer, tvrdnja o politici može propisati da se zahtev za veb uslugom šifrira. Isto

tako, tvrdnja politike može definisati maksimalnu veličinu poruke koju veb usluga može

prihvatiti. Veb servis mora imati WS-Policy uključenu u WSDL datoteku. Politika

Ws-Security može sadržati tvrdnje o asimetričnom vezivanju ili simetričnom vezivanju.

WS-Security Policy definiše set tvrdnji o sigurnosnoj politici koje se koriste u kontekstu

WS-Policy okvira. WS-Security Policy tvrdnje opisuju kako su poruke osigurane na

komunikacionom putu.[71][74]

Tabela br.3 prikazuje kako se tokeni inicijatora i primaoca koriste za svaki deo lanca

zahteva/odgovora.

Tabela br.3 Upotreba podnosioca zahteva i primaoca za svaki deo lanca zahtev/odgovor [74]

Podnosilac zahteva Primalac zahteva

Zahtev Potpisuje Šifrovanje

Zahtev (provajder) Poverava potpis Dešifruje

Odgovor (provajder) Šifruje Potpisuje

Odgovor (zahtevaoc) Dešifruje Proverava potpis

Privatni ključevi se koriste za potpisivanje i dešifrovanje poruka. Javni sertifikati se koriste

za šifrovanje poruka i proveru potpisa. Privatni ključevi pripadaju korisniku ključa. U

simetričnom vezivanju, tajni ključ koji je zaštićen za X.509 token dele i podnosilac zahteva i

primalac. Ključ se koristi za šifrovanje i dešiforvanje.

Format X.509 sertifikat određuje forma zapisa i definiše polja sertifikata. Ovaj standard

takođe predviđa načine povlačenja sertifikata kao i algoritme za šifrovanje. Prvi PKI projekat

je podrazumevao upotrebu upravo X.509 standarda. Mnoge kompanije u svetu svoje

poslovanje temelje na ovom standardu. VISA i MasterCard u svojim elektronskim

transkacijama primenjuju X.509 standard. [75]

3.1.3.1.3 Kerberos tokeni

Kerberos token je cross-platform autentifikacija i sistem jedinstvene prijave. Kerberos

protokol obezbeđuje međusobnu autentifikaciju između dva entiteta koji se oslanjaju na tajni

ključ. Kerberos uključuje klijenta, server i pouzdanu stranu za posredovanje između njih pod

nazivom Centar za distibuciju ključeva KDC (Key Distribution Center). Kerberos token

profil WS-Security omogućava poslovnim partnerima da koriste Kerberos tokene u

arhitekturi orijentisanoj ka servisu. [71]

Page 61: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

61

Kerberos protokol se definiše kao potpuno siguran, baziran na centralnom entitetu za

autentifikaciju kojem svi drugi entiteti veruju u potpunosti. KDC u sebi sadrži sve

autentifikacijske parametre svih entiteta u Kerberos sistemu i zasniva se na master/slave

arhitekturi. Korisničke lozinke nikada se ne šalju preko mreže u čistom tekstualnom obliku,

već u tu svrhu se koriste specijalne kriptovane poruke ograničenog trajanja (tickets). Njih

generiše KDC server na zahtev korisnika koji želi pristupiti određenom resursu u Kerberos

sistemu.

Single-sign-on funkcionalanost podrazumeva proces u kome se korisnik samo jednom

prijavljuje u sistem posle čega mu je dozvoljen pristup svim mrežnim servisima koji

podržavaju Kerberos protokol. Nakon početne prijave u sistem, korisnicima je pristup svim

mrežnim resursima u potpunosti transparentan, što znatno olakšava rad u distribuiranim

okruženjima. [91]

Svaki entitet Kerberos sistema, bez obzira da li se radi o korisniku, mrežom servisu ili nečem

trećem opisan je određenim imenom u bazi KDC servera, koji se naziva principal. Svaki

principal jedinstveno opisuje entitet u Kerberos sistemu i ima odgovarajuću strukturu

definisanu specifikacijom protokola. Takođe, svaki principal poseduje tajni ključ koji je

poznat KDC serveru i entitetu o čijem ključu se radi. Ovaj tajni ključ se koristi za enkripciju

poruka u postupku autentifikacije.

Opšti sadžaj principal je sledeći:

- Identity – opisuje ime Kerberos entiteta (korisničko ime, mrežni servis, računar). Ovo

polje je obavezno.

- Instance – ovo polje bliže opisuje Kerberos entitet i može se shvatiti kao opis grupe

kojoj odgovarajući entitet pripada. Za korisničke račune, može označavati grupu kojoj

korisnik pripada. Kod mrežnih servisa ovaj deo sadrži ime računara na kome je

pokrenut servis. Na ovaj način se razlikuju isti servisi pokrenuti na različitim

računarima.

- Realm – svaka posebna instalacija Kerberos sistema definiše jedinstveni realm koji

opisuje sistem i koji se razlikuje od bilo kog drugog Kerberos okruženja. Ovo polje

najčešće odgovara DNS imenu organizacije.[91]

KDC server predstavlja jezgro Kerberos sistema i njegova dostupnost je neophodna za

funkcionisanje celog sistema. Sastoji se od:

- Baze sa svim principalima unutar definisanog Kerberos realm-a sa svim pripadajućim

tajnim ključevima

- AS (Autentication Server)

- TGS (Ticket Granting Server)

Podaci koje sadrži svaka karta TGT:

- Ime principala koji zahteva pristup,

- Ime principala kojem se zahteva pristup,

Page 62: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

62

- Vremenska oznaka,

- Vreme trajanja karte,

- Lista IP adresa sa kojih je moguća upotreba karte,

- Tajni ključ za komunikaciju sa traženim resursom.

Kerberos karte imaju dve osnovne funkcije, da se potvrdi identitet entiteta koji zahteva

pristup određenom resursu i da se uspostavi sesijski ključ koji će se koristiti za enkripciju

podataka tokom komunikacije. Vremenska oznaka i vreme trajanja karte štite sistem od

napada u kojem neovlašćeni korisnik koristi ranije zabeležen mrežni promet sa ciljem

neovlašćenog pristupa sistemu. Svaki zahtev korisnika sadrži vremensku oznaku koju

generiše računar klijenta prilikom formiranja zahteva. Nakon prihvatanja zahteva KDC

server upoređuje lokalno vreme sa vremenskom oznakom u primljenom zahtevu i proverava

vremensku razliku sa maksimalno dozvoljenom koja je pet minuta /inicijalno. Ukoliko nije,

zahtev se odbija. Sve karte izdate od Kerberos servera sadrže vreme trajanja karte u kojem se

ista može iskoristiti. Kada ovo vreme istekne karta više nije dostupna.[91][92]

Slika br.11 Prikazuje korake za autentifikaciju u Kerberos okruženju.

Slika br.11 Koraci za autentifikaciju u Kerberos okruženju [92]

1. Klijent zahteva kartu za potvrdu identiteta (TGT) iz centra za distribuciju ključeva

(KDC).

2. KDC proverava akreditive i šalje nazad enkriptovan TGT i ključ sesije.

3. TGT je šifrovan pomoću tajnog ključa usluge odobravanja karte (TGT).

4. Klijent skladišti TGT i kada istekne sesija tražiće novi TGT.

Page 63: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

63

Ako klijent traži pristup servisu ili drugom resursu na mreži:

5. Klijent šalje trenutni TGT u TGS sa nazivom usluga resursa SPN (Service Principal

Name), kojem klijent želi pristupiti.

6. KDC proverava TGT korisnika i da li korisnik ima pristup servisu.

7. TGS šalje klijentu važeći ključ sesije za uslugu.

8. Klijent šalje ključ sesije servisu da bi dokazao da korisnik ima pristup, a usluga odobrava

pristup.[92]

3.1.3.1.4 SAML tokeni

SML je otvoreni standard koji omogućava provajderima identiteta da proslede ovlašćenja za

autorizaciju serviserima. To znači da se može koristiti jedan set akreditiva za prijavljivanje

na mnogo različitih veb lokacija. SAML transakcije koriste XML za standardizovanu

komunikaciju između provajdera identiteta i pružaoca usluga. SAML je veza između

autentifikacije identiteta i ovlašćenja za korišćenje usluge. SAML omogućava jednostruku

prijavu, što znači da se korisnici mogu prijaviti jednom i te akreditive koristiti za prijavu na

druge veb servise.[73]

SAML pojednostavljuje process autentifikacije i autorizacije za korisnike, pružaoce usluga i

dobavljače usluga. SAML implementira siguran metod za prosleđivanje autentičnosti

korisnika i ovlašćenja između provajdera identiteta i pružaoca usluga. Kada se korisnik

prijavljuje u SAML omogućenu aplikaciju, servis provajder zahteva autorizaciju od

odgovarajućeg provajdera identiteta. Provajder identiteta autentificira korisničke akreditive, a

zatim vraća ovlašćenje za korisnika provajderu usluge i korisnik tada može da koristi

aplikaciju. SAML autentifikacija je proces verifikacije korisničkog identiteta i akreditiva.

SAML ovlašćenje obaveštava provajdera kakav pristup da dodeli ovlašćenim korisniku.[73]

SAML tvrdnja je XML dokument koji provajder identiteta šalje provajderu servisa koji

sadrži autorizaciju korisnika. Postoje tri vrste SAML tvrdnji:

- Autentifikacione tvrdnje dokazuju identifikaciju korisnika i pružaju vreme kada se

korisnik prijavio i koji je način autentifikacije koristio.

- Tvrdnja o atribuciji prenosi SAML atribute na provajdera – SAML atributi su

specifični delovi podataka koji pružaju informacije o korisniku.

- Tvrdnja o odluci o autorizaciji kaže da li je korisnik ovlašćen da koristi uslugu ili ako

je pružalac usluge identifikacije odbio njihov zahtev zbog neuspeha lozinke ili

nedostatka prava na uslugu.[73]

SAML funkcioniše tako što prosleđuje informaije o korisnicima, prijavama i atributima

između provajdera identiteta i pružaoca usluga. Svaki korisnik se prijavi jednom, zatim

provajder identiteta može da prosledi SAML atribute provajderu servisa kada korisnik

pokuša da pritupi tim uslugama. Dobavljač usluga traži autorizaciju i autentifikaciju od

provajdera identiteta. Svaki provajder identiteta i dobavljač usluga moraju da se slože oko

konfiguracije za SAML. Oba kraja moraju imati tačnu konfirguraciju za SAML

autentifikaciju.

Page 64: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

64

Slika br.12 prikazuje primer prijave korisnika. [73]

1. Korisnik se prijavljuje na sisitem.

2. Korisnik pokušava da otvori veb stranicu.

3. Porvajder servisa proverava korisnikove akreditive kod provajdera identiteta.

4. Davalac identiteta šalje poruke za autorizaciju i autentifikaciju nazad, provajderu servisa,

što omogućava korisniku da se prijavi.

5. Korisnik može koristiti servis i obaviti posao.

Slika br.12 Prijava pomoću SAML tokena[73]

SAML je dizajniran da adresira sledeće:

- Ograničenja kolačiča veb pregledača na jedan domen: SAML obezbeđuje standardni

način prenosa kolačića na više internet domena.

- Vlasnički veb single sign-on (SSO): SAML obezbeđuje standardni način za

implementacij SSO u okviru jednog domena ili na više domena. Ovu funkcionalnost

obezbeđuje proizvod Oracle Identity Federation.

- Federacija: SAML olakšava upravljanje identitetom (npr. Povezivanje naloga kada je

jedan korisnik poznat na više veb lokacija pod različitim identitetima).

- Sigurnost veb usluga: SAML pruža standardni sigurnosni token koji se može koristiti

sa standardnim sigurnosnim okvirima veb servisa.

Page 65: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

65

- Proširiv identiteta: SAML pruža standardni način predstavljanja sigurnosnog tokena

koji se može preneti kroz više koraka poslovnog procesa ili transakcije, od

pretraživača do portala do veb servisa.[71]

3.1.4 WS-Trust

WS-Trust definiše dodatne opcije i dodatke za razmenu tokena kako bi se omogućilo

razumevanje kroz više različitih domena poverenja. Kako bi se osigurala komunikacija

između dve strane one moraju razmeniti podatke i svaka strana mora odrediti može li

verovati podacima druge strane. Cilj specifikacije WS-Trust je da se aplikacijama i veb

servisima omogući izgradnja pouzdanih SOAP poruka. Poverenje se uspostavlja razmenom

sigurnosnih oznaka ili tokena, koje je moguće izdavati, obnavljati i proveriti nezavisno o

korišćenom protokolu razmene poruka.

Model bezbednosti veb servisa koji je definisan u WS-Trust-u zasniva se na procesu u kojem

veb usluga može zahtevati da dolazna poruka dokaže skup zahteva (npr. ime, ključ, dozvola).

Ako poruka stigne bez potrebnog dokaza o potraživanjima, uslugu treba ignorisati ili

odbaciti.

WS-Trust se odnosi na specifikaciju koja je definisana posebno za kontrolu izdavanja,

obnavljanja i validacije tokena za veb bezbednost. WS-Trust predstavlja proširenje

WS-Security i pruža okvir za sigurnu komunikaciju između različitih veb aplikacija. Takođe

je odgovoran za načine za stvaranje sigurnog kanala između učesnika pre nego što se može

obaviti razmena poruka. Ws-Trust opisuje glavne metode za olakšavanje sigurnog slanja

poruka. Dve strane koje komuniciraju moraju direktno ili indirekton da razmenjuju

bezbednosne akreditive kako bi pokrenule bezbedno slanje poruka. Svaka strana mora znati

da je druga strana verodostojna. [86]

WS-Trust je dizajniran da omogući aplikacijama da razmenjuju pozdane poruke preko

SOAP-a. Protokolom se predlaže da se to uradi putem razmene i posredovanja sigurnosnih

žetona. Tokeni sigurnosti su obično skup tvrdnji o klijentu, usluzi ili resursu od strane

izdavača tokena. Tokeni su predstavljeni aplikacijama koje su priložene SOAP zahtevima da

bi im se omogućio pristup uslugama.

Model direktnog brokiranog poverenja prikazan na slici br.13 pokazuje kako klijenti mogu

nabaviti sigurnosne tokene iz servisa sigurnosnog tokena (STS) putem SOAP-a u zamenu za

drugi sigurnosni token ili neku drugu vrstu akreditiva. Da bi dobio token iz STS-a klijent

mora da generiše RST (RequestSequrityToken) poruku. Ova poruka, u vezi sa priloženim

WS-Security zaglavljem, daje detalje o tokenu koji klijent traži od STS-a.[88]

Page 66: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

66

Client Security Token Service

1. RequestSecurityToken

2. RequestSecurityTokenResponse

Application

3. Use Authenticated Service

Slika br.13 Model direktno brokiranog poverenja [88]

Ako se prihvati, STS odgovara sa RSTR (RequestSecuriyTokenResponse) porukom. Ova

poruka sadrži tokene, ključeve i druge informacije koje će klijentu omogućiti da prikaže

kriptografski podržane tvrdnje koje je STS (izdavalac) dao u svoje ime drugim aplikacijama i

uslugama.

Korišćeni u kombinaciji, ovaj model može omogućiti organizacijama da se efikasno udruže

preko domena poverenja. Slika br.14 prikazuje primer indirektno brokiranog poverenja.

Ovde bezbednosni token od domena A može da se korist kao akreditacija za STS u domenu

B i razmeni za bezbednosni token da koristi autentifikovane uluge u domenu B. Ovaj model

omogućava da oba domena funkcionišu bezbedno bez potrebe za replikacijom informacija o

nalogu.[88]

Page 67: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

67

Client Domain A STS

1. RST

2. RSTR ( TokenA )

Service

5. Use Authenticated Service ( TokenB )

*

*

Domain A Domain B

Domain B STS

3. RST( TokenA)

4. RSTR ( TokenB )

Slika br.14 Model indirektnog brokerskog poverenja [88]

3.1.5 WS-Secure Conversation

WS-Secure Conversation, definiše i implementira ključ za šifrovanje koji se deli između svih

entiteta uključenih u komunikacionu sesiju. Izvorni entitet definiše algoritam šifrovanja i

generiše ključ koji je ugrađen u SOAP poruku. Kada odredišni entiteti primaju poruku, oni je

dešifruju i dohvataju ključ sesije, koji se zatim može koristiti za olakšavanje sigurne

komunikacije do kraja sesije.[89]

WS-Secure Conversation, obezbeđuje bezbednu sesiju za dugotrajnu razmenu poruka i

korišćenje simetričnog kriptografskog algoritma. Sigurnost zasnovana na sesiji optimizira

razmenu poruka, jer se simetrična kriptografija može koristiti za potpisivanje i šifrovanje

poruka. Tipično, simetrični kriptografski algoritam je manje intezivan za CPU od asimetrične

kriptografije. Simetrični kriptografski algoritmi treba da obezbede bolje performanse i

propusnost u poređenju sa asimetričnim kriptografskim algoritmima. Simetrični kriptografski

algoritam takođe obezbeđuje sredstva za obezbeđivanje drugih protokola zasnovanih na sesiji

i obrazaca razmene.[90]

3.1.6 WS-Addressing

WS-Addressing, adresiranje veb usluga definiše dva interoperabilna konstrukta koja prenose

infromacije koje se obično obezbeđuju transportnim protokolima i sistemima za razemnu

poruka. Ovi konstrukti normalizuju ovu osnovnu informaciju u jedinstven format koji se

može obraditi nezavisno od transporta ili primene. Dve konstrukcije su reference krajnje

tačke i zaglavlja informacija o poruci.

Page 68: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

68

WS-Addressing pruža tranportno neutralan mehanizam za adresiranje veb servisa i njihovih

povezanih poruka. Koristeći WS-Addressing, krajnje tačke su jedinstveno i nedvosmisleno

definisane u SOAP zaglavlju.[84]

WS-Addressing pruža dve ključne komponente koje omogućavaju neutralno adresiranje,

uključujući:

- ERP (Endpoint reference) – komunicira informacije potrebe za adresiranje krajnje

tačke veb servisa.

- Svojstva adresiranja poruka – komunicira karakteristike poruke od kraja do kraja,

uključujići adresiranje krajnje tačke izvora i odredišta i identitet poruke, što

omogućava jednoobrazno adresiranje poruka nezavisno od osnovnog transporta.[84]

Krajnja tačka veb usluge je entitet, procesor ili resurs na koji se mogu ciljati poruke veb

servisa. Reference krajnje tačke prenose informacije potrebne za identifikaciju /reference

krajnje tačke veb servisa. Reference krajnje tačke su pogodne za prenošenje informacija

potrebnih za pristup krajnjoj tački veb usluge, ali se takođe koriste za obezbeđivanje adresa

za pojedinačne poruke i od veb servisa. [83]

Listing br.10 prikazuje jednoobrazno adresiranje poruka nezavisno od osnovnog transporta,

gde su zaglavlja informacija o poruci prenose karakteristike poruke od kraja do kraja,

uključujući adresiranje krajnjih tačaka izvora i odredišta, kao i identitet poruke. Primer

ilustruje upotrebu ovih mehanizama u SOAP poruci koja se šalje sa

http://business456.example/client1 to http://fabrikam123.example/Purchasing:

Listing br.10 [83]

(001) <S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"

xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">

(002) <S:Header>

(003) <wsa:MessageID>

(004) uuid:6B29FC40-CA47-1067-B31D-00DD010662DA

(005) </wsa:MessageID>

(006) <wsa:ReplyTo>

(007) <wsa:Address>http://business456.example/client1</wsa:Address>

(008) </wsa:ReplyTo>

(009) <wsa:To>http://fabrikam123.example/Purchasing</wsa:To>

(010) <wsa:Action>http://fabrikam123.example/SubmitPO</wsa:Action>

(011) </S:Header>

(012) <S:Body>

(013) ...

(014) </S:Body>

(015) </S:Envelope>

Linija (002) do (011) predstavljaju zaglavlje SOAP poruke gde se koriste mehanizmi

definisani u specifikaciji. Telo je predstavljeno linijama (012) do (014). Linije (003) do (010)

sadrže blok zaglavlja informacija o poruci. Konkretno, linije (003) do (005) specificiraju

identifikator za ovu poruku i linije (006) do (008) specificiraju krajnju tačku kojoj odgovori

Page 69: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

69

na ovu poruku treba da šalju kao endpoint reference. Linija (009) specificira URI adresa

krajnjeg primaoca ove poruke. Linija (010) određuje URI akcije koji identifikuje očekivanu

semantiku.

Da bi se ispravno obezbedile poruke, telo i elementi zaglavlja moraju biti uključeni u potpis.

Konkretno, zaglavlja informacija o poruci koja je opisana u prethodnom primeru, moraju biti

potpisana sa telom kako bi se vezali zajedno. Kad god je naveden adresa (npr.

<wsa:From>,<wsa:ReplyTo>....), procesor treba da osigura da su potpisu date tvrdnje koje

mu dozvoljavaju da govori za određeni cilj, kako bi se sprečile određene klase napada (npr.

preusmeravanje). Takođe, treba voditi računa da specificirana krajnja tačka sadrži svojstva

resursa ili parametre, jer nepotvrđene reference krajnje tačke mogu uzrokovati određene

klase napada ubacivanja zaglavlja.[83]

Koristeći WS-addressing, korisnici imaju sledeće pogodnosti:

- WS-Addressing pruža mehanizam za prenos poruka nezavisan od transporta, što

obezbeđuje interoperabilnost između veb servisa koji se izvode na različitim

platformama.

- WS-Addresing se može koristiti za promenu odredišta poruke odgovora ažuriranjem

EPR-a u <wsa:ReplyTo>. [85]

Slika br. 15 prikazuje infrastrukturu firme, gde usluge distribucije rade na različitim

platformama. Odredište poruke odgovora se modifikuje kada se odabere distributivni servis

na koji se poruka preusmerava. Kompanija ima nekoliko distributivnih centara u više

različitih zemalja, svaki od distributivnih centara je predstavljen u ovom primeru od strane

distributivnog servisa i registrovan je u konfiguracionom servisu. Usluga isporuke bira koji je

distributovni servis najprikladniji za obradu naloga na osnovu različitih faktora, koji mogu

uključivati dostupnost traženih stavki i udaljenost distributivnog centra kupca.[85]

Slika br.15 prikazuje način na koji usluge međusobno komuniciraju, takođe prikazuje i druge

usluge, koje su isključene iz zadatka, a koje mogu biti relevantne u poslovnoj aplikaciji:

- Usluga praćenja, koja može biti ažurirana od strane svake druge usluge sa statusom

naloga,

- Usluga rešavanja problema za obradu poruka o greškama,

- Usluga povratnog poziva naručioca klijenta za obradu svih poruka odgovora upućenih

klijentu naručiocu.

Page 70: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

70

Slika br.15 Primer distributivnog centra [85]

Sledeći koraci opisuju proces koji se odvija od trenutka kada klijent postavi porudžbinu do

tačke u kojoj se ta porudžbina obrađuje:

- Klijent postavlja narudžbinu na veb sajt kompanije.

- Naručilac uzima kontakt podatke kupca kao deo narudžbine.

- Naručilac vraća potvrdu i jedinstvenu referencu narudžbine klijentu putem veb

interfejsa.

- Naručilac šalje zahtev za narudžbinu Službi za izvršenje.

- Usluga izvršenja bira distributivni servis za obradu narudžbine i preusmerava poruku

odgovora na tu uslugu.

- Distributivni servis prima preusmerenu poruku odgovora i obrađuje narudžbinu.

Korišćenje konzistentnog modela adresiranja u više transportnih sistema može pojednostaviti

neke problem integracije i pomoći u implementaciji sistema u kojima dispečeri šalju zahteve

na jednu od nekoliko povezanih usluga koristeći reference krajnje tačke.

Page 71: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

71

3.1.7 WS-Reliability

WS-Reliability, pouzdanost veb usluga je generički i otvoreni model za obezbeđivanje

pouzdane isporuke poruka za veb usluge. Omogućava pouzdanu isporuku poruka kao

mogućnost da garantuje isporuku poruka softverskim aplikacijama, veb uslugama ili

klijentskim aplikacijama, sa izabranim nivoom kvaliteta usluge (QoS), koji je definisan kao

sposobnost da se odrede sledeći aspekti isporuke poruka: upornost poruke, potvrda poruke i

ponovno slanje, eliminacija duplikata poruka, uređeno slanje poruka, svesnost statusa

isporuke pošiljaoca i primaoca.[98]

Specifikacija WS-Reliability obezbeđuje WSDL defiinicije za pouzdane poruke i formate

poruka koji su navedeni kao SOAP zaglavlja i/ili sadržaj tela. On adresira zavisnost između

kapaciteta čvorova za razmenu poruka i nivoa QoS-a koji se može tražiti.[98]

WS-Reliability je specifikacija za otvorene, pouzdane veb servise za razmenu poruka,

uključujući garantovanu isporuku, ukljanjanje duplikata poruka i naručivanje poruka, što

omogućava pouzdanu komunikaciju između veb servisa. Funkcije pouzdanosti su zasnovane

na proširenjima SOAP poruka, umesto da budu vezane za osnovni transportni protokol.[100]

3.1.8 WS-Reliable messaging

Ključ WS-RM je koncept sekvence. Sekvenca u WS-RM je ugovor između klijenata veb

servisa i provajdera veb servisa, kroz koji se slažu da pouzdano šalju poruke između njih.

Sekvenca se koristi za održavanje stanja poruka koje su poslate i primljene. Sama sekvenca

je specifična za krajnju tačku provajdera. Kada klijent prvi put pošalje poruku krajnjoj tački

dobavljača veb servisa, kreira se sekvenca do krajnje tačke tog provajdera, a sve naredne

poruke tog klijenta do krajanje tačke tog provajdera se isporučuju u toj sekvenci. Sekvenca

dozvoljava WS-RM na strani klijenta i na strani provajdera da odluče da li je potrebno da se

poruke ponovo dostave, i da otkriju da li su dolazne poruke duplikati.[99]

Pouzdanost se obezbeđuje pouzdanim middleware-om za razmenu poruka koji se nalazi

između zahtevaoca veb servisa i provajdera veb servisa. Ovaj sloj middleware je prikazan na

slici br.16 ispod isprekidane linije i uključuje pouzdan izvor poruka i pouzdanu destinaciju za

razmenu poruka.

Page 72: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

72

Slika br. 16 Interakcije koje se koriste za pouzdanu razmenu poruka u veb servisima [101]

Na slici br.16 izvor aplikacije poziva veb servis. Redosled interakcija je sledeći:

- Poziv se prosleđuje pouzdanom izvoru podataka.

- Izvor pouzdanih poruka čuva poruku i zatim vraća kontrolu aplikaciji.

- Izvor pouzdanih poruka šalje poruku pouzdanom odredištu za razmenu poruka.

- Nakon što pouzdano odredište za poruke primi poruku, ona je pohranjuje lokalno i

šalje poruku potvrde natrag pouzdanom izvoru poruka.

- Izvor pouzdanih poruka sada može izbrisati svoju kopiju poruke.

- Odredište pouzdane razmene poruka može isporučiti poruku odredištu aplikacije u

bilo koje vreme, nakon što je primi od izvora pouzdanih poruka.[101]

3.2 Analiza postojećih rešenja u oblasti

3.2.1 Bezbednost veb servisa u poslovnim aplikacijama

Ono što je veb uradio za interakciju između programa i korisnika, veb usluge su spremne da

urade za interakciju između programa. Veb usluge omogućavaju kompanijama da smanje

troškove elektronskog poslovanja, brže implementiraju rešenja i otvaraju nove mogućnosti.

Ključna stvar je zajednički model komunikacije između programa, zasnovan na postojećim i

novim standardima kao što su HTTP, XML, SOAP, WSDL i UDDI. [64]

Širenje ideje o distribuiranoj obradi podataka i deljenju funkcionalnosti sa drugim

organizacijama dovelo je do ubrzanog razvoja Veb-a. Organizacije više nisu usmerene

isključivo na razvoj sopstvenih aplikacija kako bi unapredile poslovanje, već određeni deo

svog poslovanja otvaraju zajednici i čine ga dostupnim široj javnosti. Međutim, deljenje

funkcionalnosti znači i deljenje njenih nedostataka, odnosno sigurnosne slabosti jednog

servisa imaju uticaj i na poslovanje organizacija koje taj servis koriste. Porast upotrebe veb

servisa u svakodnevnom poslovanju povećava potrebu za konkretnijim sigurnosnim

metodologijama.

Veb usluge omogućavaju da se aplikacije integrišu brže, lakše i jeftinije. Integracija se odvija

na višem nivou u skupu protokola, na osnovu poruka koje su više usredređene na semantiku

Page 73: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

73

servisa, a manje na semantiku mrežnog protokola, čime se omogućava integracija poslovnih

funkcija. Ove karakteristike su idealne za povezivanje poslovnih funkcija preko veb-a

između preduzeća i unutar preduzeća. Oni pružaju model ujedinjenog programiranja tako da

se integracija aplikacija unutar i izvan preduzeća može obaviti pomoću zajedničkog pristupa,

koristeći zajedničku infrastrukturu.[64]

Tehnologije veb servisa se sve više primenjuju u poslovnim organizacijama kako bi ostvarile

međusobnu saradnju. Veb servisi pružaju velike pogodnosti produktivnost, efikasnost i

tačnost. Uključeni u poslovne mreže, veb usluge mogu da podrže i unutrašnje i spoljašnje

poslovne operacije uključujući e-trgovinu, finansije, proizvodnju, upravljanje lancem

snabdevanja i odnose sa klijentima. Veb servisi su usmereni na distribuirane aplikacije koje

dozvoljavaju poslovanje preko interneta. Veb servise karakteriše otvorenost i

interoperabilnost što upravo može omogućiti napadačima da dobiju pristup podacima u

transakcijama i dobiti poverljive podatke, čak i ukrasti osetljive informacije kao što su podaci

o kreditnim karticama. Neovlašćeni pristup sadržaju, zlonamerna modifikacija, prihvatanje

pogrešnih informacija ili prekid može uzrokovati sigurnosnu pretnju informacionog sistema

organizacije.[43]

U distribuiranom sistemu, klijenti šalju zahteve za pristup podacima kojima upravljaju

provajderi, što uključuje slanje informacija u porukama preko mreže. Doktor može da zatraži

pristup podacima o bolničkim pacijentima ili da pošalje dopune tim podacima. U

elektronskoj trgovini i bankarstvu, korisnici šalju svoje brojeve kreditinih kartica preko

interneta. U oba primera izazov je slanje osetljivih informacija u poruci preko mreže na

siguran način. Ali bezbednost nije samo pitanje prikrivanja sadržaja poruka, ona takođe

podrazumeva da se sigurno zna identitet korisnika ili drugog korisnika u čije ime je poruka

poslata. U prvom primeru, server treba da zna da je korisnik zaista doktor, a u drugom,

korisnik treba da bude siguran u identitet prodavnice ili banke. Drugi izazov je ispravno

identifikovati udaljenog korisnika. Svi ovi izazovi se mogu zadovoljiti upotrebom šifrovanja

i drugih tehnika i specifikacija bezbednosti razvijenih u tu svrhu.

3.2.2 WS-BPEL

WS-BPEL (Web Services Business Process Execution Language) je jezik izvršavanja

poslovnih procesa. Procesi u WS-BPEL su zasnovani isključivo na upotrebi veb servisa.

Poslovni procesi se mogu opisati na dva načina. Izvršni poslovni procesi, modeliraju

aktuelno ponašanje učesnika u poslovnoj interakciji. Apstraktni poslovni procesi su

delimično specificirani procesi koji nisu predviđeni za izvršenje, mogu sakriti neke od

potrebnih konkretnih operativnih detalja. Oni služe deskriptivnoj ulozi, sa više od jednog

mogućeg slučaja upotrebe, uključujući vidljivo ponašanje i obrazac procesa. WS-BPEL

obezbeđuje jezik za specifikaciju izvršnih i apstraktnih poslovnih procesa. Na taj način se

proširuje model interakcije veb servisa i omogućava se podrška poslovnim transakcijama.

WS-BPEL definiše interoperabilni model integracije koji bi trebalo da olakša ekspanziju

automatizovane integracije procesa u modelu B2B (bisiness-to-business).[93]

WS-BPEL se zasniva na XML-u i definiše model i sredstva za opisivanje ponašanja procesa i

omogućava izvršavanje procesa, koji se sastoje od poziva veb servisa. BPEL jezik su razvili

Page 74: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

74

Microsoft i IBM, a standardizovao ga je OASIS konzorcijum. BPEL jezik je savršeno

prilagođen jasnom opisu procesa kojim se procesi mogu mehanički koristiti. BPEL jezik

omogućava opis ponašanja poslovnih procesa kao niz aktivnosti, uključujući i njihove grane,

koje su uključene u proces, dok su aktivnosti predstavljene veb servisima.[94]

Cilj veb usluga je postizanje interoperabilnosti između aplikacija pomoću veb standarda. Veb

usluge koriste labavo povezani model integracije da bi omogućile fleksibilnu integraciju

heterogenih sistema u različitim domenima, uključujući integraciju između preduzeća i

potrošača, poslovne veze i poslovne aplikacije. Integracija sistema zahteva više od

sposobnosti da se sprovedu jednostavne interakcije korišćenjem standardnih protokola.

Potpuni potencijal veb suluga kao integracione platforme će se postići samo kada aplikacija i

poslovni procesi mogu da integrišu svoje složene interakcije koristeći standardni model

integracije procesa. [93]

Poslovni procesi uključuju ponašanje koje zavisi od podataka. Na primer, proces lanca

snabdevanja zavisi od podataka kao što su broj stavki u narudžbini, ukupna vrednost

porudžbine ili rok isporuke. Definisanje poslovne namere u tim slučajevima zahteva upotrebu

uslovnih i vremenskih konstrukcija. Dugotrajne interakcije uključujući višestruke, često

ugnježdene jedinice rada, od kojih svaka ima svoje potrebe za podacima. Poslovni procesi

često zahtevaju međusobnu koordinaciju rezultata jedinica rada na različitim nivoima

granularnosti.[93]

WS-BPEL definiše model i gramatiku za opisivanje ponašanja poslovnog procesa

zasnovanog na interakciji između procesa i njegovih partnera. Interakcija sa svakim

partnerom odvija se preko interfejsa veb servisa, a struktura odnosa na nivou interfejsa je

enkapsulirana u tzv. partnerLink. WS-BPEL proces definiše kako se višesturke interakcije

usluga s tim partnerima koordiniraju kako bi se postigao poslovni cilj, kao i stanje i logika

potrebna za ovu koordinaciju.[93]

BPEL je model za agregaciju veb servisa, što omogućava da skup veb servisa može biti

vezan u jedan ili više novih veb servisa pomoću modela poslovnog procesa, a ove nove

usluge se mogu ponovo povezati sa drugim veb servisima. Može se izgraditi skup korisnih

podprocesa koji se mogu ponovo koristiti kako bi se olakšao brz razvoj složenih BPEL

procesa. [95][97]

Slika br.17 prikazuje primer primene WS-BPEL kroz proces narudžbine. Tačkaste linije

predstavljaju sekvenciranje. Slobodno grupisanje sekvenci predstavlja paralelne sekvence.

Pune strelice predstavljaju upravljačke veze koje se koriste za sinhronizaciju preko

istovremenih aktivnosti. Po prijemu narudžbenice od kupca, proces pokreće tri puta

istovremeno: izračunavaje konačne cene za narudžbinu, odabir pošiljaoca i zakazivanje

proizvodnje i isporuke po narudžbini. Dok se neke obrade mogu odvijati istovremeno,

postoje tri zavisnosti kontrole i podataka. Cena dostave je potrebna da se finalizira

izračunavanje cene, a datum isporuke je potreban za kompletan rasprored izvršavanja. Kada

se završe tri istovremene aktivnosti obrada fakture se može nastaviti i faktura se šalje

klijentu.[93]

Page 75: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

75

Slika br.17 WS-BPEL- Proces narudžbine [93]

3.2.3 Bezbednost WS-BPEL

Od presudne važnosti je kontrolisati pristup BPEL procesima i veb uslugama koje se koriste.

Sprečavanje neovlašćenih korisnika da izvrše napad na poslovni sistem je neophodno kako bi

se zaštitio integritet poslovnih procesa i lične informacije klijenata.[96]

Impementacija bezbednosti se ostvaruje pomoću:

- WS-Security – obezbeđuje mehanizam za dodavanje tri nivoa bezbednosti SOAP

porukama. To su tokeni za proveru autentičnosti, koji se koriste za prosleđivanje

informacija o korisničkom imenu i lozinki, kao i X.509 sertifikata u zaglavlju SOAP

poruka. XML enkripcija, za poverljivost poruka i XML digitalni potpisi, za integritet

poruke, proveru valjanosti izvora poruka i porekla i za neporicanje.

- Autentifikacije – koja obezbeđuje dokazivanje identiteta korisnika. Podržavana je

osnovna autentifikacija (HTTP), autentifikacija zasnovana na sertifikatima (HTTPS) i

autentifikacija BPEL sigurnosnog proširenja.

- Autorizacije – procene sigurnosnih ograničenja za slanje poruke ili slanje zahteva.

Autorizacija koristi specifične kriterijume kako bi odredila da li da dozvoli zahtev.

Kriterijumi su autentifikacija i ograničenje.

- Enkripcije i dekripcije – šifrovanje podataka na takav način da samo određeni

primalac može dešifrovati i pročitati podatke.

- SSL – je standard za siguran prenos dokumenata preko interneta koristeći HTTP/S,

koristi digitalne potpise da bi sprečio kompromitovanje podataka.

Page 76: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

76

- Digitalnog potpisa za integritet i ne-odbacivanje – digitalni potpis je kod priložen

elektronskom dokumentu koji pouzdano identifikuje autora ili pošiljaoca i potvrđuje

da dokument nije ugrožen.

- BPEL Security Extension – su namenjene BPEL programerima za poboljšanje

sigurnosti, omogućavaju im da kreiraju prilagođenu bezbednost. Proširenja su

tehnička i uključuju različite tehnologije koje se koriste za pozivanje procesa (na

primer, SOAP i HTTP). [96]

3.2.4 ebXML

ebXML (The Electronic Business Extensible Markup Lanuage) je sveobuhvatni B2B

(bisiness to business) okvir koji uključuje registar, kao i druge informacije potrebne za

poslovnu saradnju na globalnom elektronskom tržištu. Okvir je razvijen kao zajednički napor

Organizacije za unapređenje strukturiranih informacionih standarda (OASIS) i Centra

Ujedinjenih nacija za olakšavanje trgovine i elektronskog poslovanja (UN/CEFACT).

Registar sadrži profil saradničkog protokola CPP (Collaboration Protocol Profile) i

sporazum o protokolu saradnje CPA (Collaboration Protocol Agreement). CPP je XML

dokument koji sadrži informacije o poslovanju i način na koji se razmenjuju informacije, a

CPA je XML dokument koji opisuje specifične mogućnosti koje su dve strane pristale da

koriste u poslovnoj saradnji.[59]

ebXML specifikacija omogućava elektronske trgovinske odnose između poslovnih partnera i

integraciju novih tehnologija:

- razmenu podataka, CCTS ( Core Components Technical Specification)

- registraciju i obezbeđivanje eBusiness proizvoda i usluga, ebXML (ebXML Registry

Services) i ebRIM (Registry Information Model ),

- konfigurisanje tehničkih ugovora između poslovnih partnera, CPP i CPA,

- siguran i pouzdan transport (ebXML Messaging Service),

- poslovne procese (ebXML Business Process Specification Schema)[60]

Heterogena priroda transakcija e-poslovanja zahteva fleksibilnu infrastrukturu koja podržava

jednostavne servisne pozive i složenu razmenu dokumenata. [60]

Slika br.18 prikazuje funkcionalnost skupa specifikacija ebXML-a.

Page 77: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

77

Slika br.18 Pregled visokog nivoa funkcionalnosti skupa specifikacija ebXML [60]

Tehnička specifikacija osnovnih komponenti ebXML-a predstavlja metodologiju za razvoj

semantičkih gradivnih blokova, kako bi se predstavili opšti poslovni tipovi podataka.

Omogućava ponovno korišćenje podataka. Razvijen je centru UN za olakšavanje trgovine i

e-poslovanje. Omogućava zajednički koncept modeliranja objekata, konvenciju o

imenovanju za definisanje generičkog semantičkog značenja, fiksni skup tipova podataka

koji se mogu ponovo koristiti za konzistentno predstavljanje poslovnih vrednosti.

ebXML messaging service definiše neutralnu metodu komunikacije za razmenu poruka u

e-poslovanju, funkcije za razmenu poruka, protokol i omotnicu namenju za rad preko

SOAP-a. Vezivanje za niže transportne slojeve oslanja se na standradne SOAP veze tamo

gde je potrebno. Ova usluga izražava kompatibilnost ili potrebu sa tehnologijama veb servisa.

Koristi specifikacije zasnovane na SOAP-u i postojeće implementacije koje upravljaju

kvalitetom usluge zbog pouzdanosti i bezbednosti. Mogućnosti uključuju:

- vezivanje sa poslovnim sistemima,

- bezbednost: provera autentičnosti, autorizacije i neporečivosti,

- pouzdano slanje poruka: garantovana isporuka, eliminacija duplikata i naručena

isporuka,

- digitalni potpis,

- delegiranje funkcija protokola standardima veb servisa,

- obrasce za razmenu poruka (za poslovne transakcije i praćenje),

- povlačenje poruka,

- kompatibilnost sa WS-I osnovnim profilom, jednostavnim SOAP vezivanjem i WS-

security.

Page 78: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

78

Poslovna primenljivost – ključne implementacije:

Nacionalna služba Ujedinjenog Kraljevstva je implementirala sisteme i usluge koje povezuju

zdravstvenu zaštitu. Usluga transakcija i poruka pruža komunkacionu infrastrukturu za

povezivanje klastera regionalnih mreža i nacionalnih usluga. Zasnovan je na naprednoj

tehničkim standardima kao što je OASIS SAML (Security Accertion Markup Language) i

ebMS. Koristi se u velikim kompanijama sa ogromnim transakcijama kao što su Deutche

Bank, Shel, Centar za razvoj infrastructure e-trgovine (CECID).[60]

Profil i sporazum o protokolu za saradnju sa ebXML-om obezbeđuje vezu između tehničkih

mogućnosti i očekivanja partnera za poslovnu saradanju. Profil sadrži tehničke mogućnosti

poslovnog partnera. Opisuje mogućnosti i preferencije karakteristika protokola i svojstva za

specifične uloge u komponentnim uslugama i aktivnostima koje se koriste u procesima.

Omogućava praćenje sesija i verifikaciju karakteristika kanala isporuke koji se koriste u

kolaborativnim procesima. Sporazum sadrži podatke za konfigurisanje zajedničkih aspekata

protokola poslovne saradnje. Nacrt CPP/CPA uključuje:

- Okvir proširenja za alternativno slanje poruka, poslovne procese i mogućnosti kao što

je ebBP,

- Proširenje mogućnosti prenosa za obrasce za razmenu poruka,

- Povećana kompozicija više izloženih usluga.

Poslovna primenljivost – u automobilskoj industriji – zastupništvu; lancu snabdevanja i

upravljanju zalihama. Veb pristup razvoju CPA-a preovladava u zajednicama sa ograničenim

pristupom za usluge slanja i konfigurisanja poruka. Američki CDC i PHIN i evropski projekti

zdravstvene zaštite i nekoliko telekomunikacionih mreža koriste ovu kombinaciju.[60]

ebBP šema specifikacije poslovnih procesa ebXML-a, definiše standardni jezik za

konfigurisanje sistema za izvršavanje poslovne saradnje između partnera. Definicija

poslovnih procesa, opisuje interoperabilne poslovne procese koji omogućavaju partnerima da

ostvare poslovne ciljeve: dizjan/opis procesa podrške, praćenje i validaciju saradnje,

upravljanje.

ebBP specificira transakcije, koreografiju za koriščenje u poslovnoj saradnji. Osnovne

mogućnosti su: standardni i proširivi uzorci poslovnih transakcija, poslovna saradnja za dve i

više stranki, omogućava vidljivost treće strane u poslovnoj transkaciji, kada ta definicija

procesa postoji negde drugde, omogućava upotrebu hibrida ebXML ili veb servisa,

kompleksna podrška za definiciju uloga, poboljšava povezivanje konstrukcija i prelaza za

procesni životni ciklus, koristi semantičke informacije za specijalizaciju procesa i

dokumenata.

Poslovna primenljivost – ebBP se koristi u ključnim domenima – zdravstvena zaštita,

e-uprava, krivično pravosuđe, e-poslovanje.[60]

Registri i repozitoriji pružaju usluge za registraciju, lociranje i pristup informacijama u

distribuiranom okruženju. Funkcije uključuju:

Page 79: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

79

- Podršku registracije,

- Replicirani sadržaj/metapodaci,

- Sigurnosna poboljšanja:XACML, SAML,

- Proširiv servisni interfejs i protokole,

- Definiciju novih zahteva za uslugama i tipovima odgovora,

- HTTP povezivanje na ebXML usluge interfejsa,

- Upotreba REST arhitekture,

- Upravljanje sadržajem (validacija),

- Poboljšavanje upita.

Poslovna primenljivost – usvajanje je u porastu u vladinim i domenskim sektorima: Vlade

Norveške i Finske – implementacija za okruženje bazirano za sastavljanje XML šema i

elektronskih obrzaca, UN/CEFACT grupa za upravljanje sadržajem informacija ICG je

usvojila standardni XML registar za njihovu arhitekturu za upravljanje sadržajem. Korejski

centralni registar i repozitorijum ebXML povezao je nekoliko domena: gvožđe i čelik,

trgovinski sektor i softverske provajdere. NIST sarađuje sa Integracijom zdravstvenog

sistema na razvoju Cross-Enterprise sistema za razmenu dokumenata XDS.[60]

Page 80: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

80

4. EMPIRIJSKO ISTRAŽIVANJE POSTOJEĆIH REŠENJA

U okviru empirijskog istraživanja postojećih rešenja će biti analizirani primeri iz realne

prakse kroz prikaz načina korišćenja metoda i tehnika bezbednosti veb servisa, upotreba

UserName tokena prilikom poziva veb servisa u veb aplikaciji i upotreba elektronskog

sertifikata kao mehanizma provere elektronskog potpisa i identiteta potpisnika.

4.1 Veb servisi Narodne Banke Srbije

Narodna banka Srbije izvestan skup svojih podataka publikuje javnosti putem skupa

odgovarajućih javnih veb servisa. Na taj način je javnosti omogućen pristup podacima koji su

u posedu Narodne banke Srbije, upotrebom konzistentnih programskih interfejsa, zasnovanih

na usvojenim svetskim standardima.[102]

Putem sistema veb servisa, Narodna banka Srbije omogućava pravnim subjektima da

automatizuju pristup ponuđenim podacima i da ih koriste u svojim informacionim sistemima

na način koji najviše odgovara njihovim potrebama. Registrovani korisnici veb servisa

dobijaju mogućnost pristupa javnim podacima Narodne banke Srbije, putem konzistentnog

skupa programskih interfejsa. Na taj način im je omogućeno da ponuđene podatke integrišu u

svoje infromacione sisteme korišćenjem širokog spektra programskih tehnologija. Korisnici

razvijaju svoje aplikativne module i koriste podatke na način koji najviše odgovara njihovim

poslovnim potrebama.[102]

Veb servis Narodne banke Srbije se sastoji od dva skupa servisa:

1. Besplatni servisi:

- Servis za pristup osnovnim šifarnicima,

- Servis za pristup kursnim listama,

- Servis za pristup tekućoj kursnoj listi,

- Servis za prisup kursnim listama po menjačkim poslovima,

- Servis vrednosti investicionih jedinica dobrovoljnih penzionih fondova,

- Servis za pristup efektivnim prekonoćnim stopama,

- Servis za pristup registru imalaca računa,

- Servis za pristup registru primljenih neizvršenih rešenja u prinudnoj naplati,

- Servis za pristup registru učesnika na tržištu osiguranja,

- Servis statistike korišćenja usluge.

2. Servisi koji se tarifiraju:

- Servis za pristup registru dužnika u prinudoj naplati.

Prednosti korišćenja sistema:

- Jednostavna integracija javnih podataka NBS u softverske sisteme korisnika usluga,

- Stalan (24x7) pristup podacima sa svakog računara korisnika usluge koji ima pristup

internetu,

Page 81: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

81

- Smanjenje rizika prouzrokovanih ljudskim faktorom,

- Smanjenje troškova (automatizacijom procesa pristupa podacima).

Pravo pristupa i korišćenja usluga sistema imaju pravna lica koja su uspešno izvršila proces

učlanjenja u sistem veb servisa Narodne banke Srbije. Učlanjenjem u sistem, korisnik

automatski stiče pravo korišćenja besplatnih usluga. Učlanjenje u sistem veb servisa se vrši

podnošenjem zahteva za učlanjenje na elektronsku adresu naznačenu na zahtevu za

učlanjenje, nakon čega korisnik dobija e-mail sa detaljnim uputstvom o daljim koracima

potrebnim za uspešno podnošenje prijave. Postupak se sastoji od sledećih koraka:

potvrđivanja zahteva za učlanjenje, štampanje zahteva i slanje odštampanog, overenog i

potpisanog zahteva na adresu Narodne banke Srbije.

Narodna banka Srbije na osnovu tog zahteva, otvara nalog za korišćenje usluga sistema sa

korisničkim imenom i lozinkom. Podaci od interesa za korišćenje usluga sistema veb servisa

(šifra licence) se dostavlja na elektronsku adresu, nakon otvaranja naloga za korišćenje

usluga sistema.

Slika br.19 prikazuje logovanje na veb servis sistem NBS prilikom procesa učlanjenja.

Slika br.19 Logovanje na veb servis sistem NBS

Ukoliko korisnik želi da koristi usluge koje se tarifiraju potrebno je da izvši procedure

aktiviranja usluga koje se tarifiraju. Postupak za aktiviranje usluga koje se tarifiraju se sastoji

iz sledećeg: logovanja na sistem čime se ulazi u zaštićenu zonu sajta, namenjenu samo

registrovanim korisnicima, popunjavanje i podnošenje zahteva i na osnovu tog zahteva

Narodna banka Srbije šalje elektronsku poštu sa obaveštenjem u kome su definisani podaci

za uplatu koju treba izvršiti odmah ili u roku od dva dana. Nakon prispeća uplate, Narodna

banka Srbije prosleđuje fakturu i registruje u korisničkom nalogu uplaćenu sumu i

omogućava korišćenje servisa prema uplaćenom iznosu.[102]

Page 82: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

82

4.1.1 Način korišćenja veb servisa

Implementacija veb servisa se sastoji iz sledećih koraka:

- Kreiranje veb servis klijenta na osnovu WSDL specifikacije servisa,

- Implementacija programskog koda, koji omogućava pozivanje metoda servisa.

Prilikom kreiranje veb servis klijenta biće generisana klasa AuthenticationHeader, koja

sadrži sledeća svojstva: UserName, Password, LicenceID. Ovi parametri služe za

autentifikaciju i autorizaciju korisnika prilikom poziva servisa i dobijaju se od Narodne

banke Srbije nakon učlanjenja. Prilikom poziva metoda servisa potrebno je proslediti

instance AuthenticationHeader klase sa postavljenim parametrima. Listing br.11 prikazuje

sve korake potrebne za implementaciju mehanizma autentikacije na veb servis klijentu.

Konkretan kod zavisi od tehnologije u kojoj se veb servis klijent implementira.[103]

Listing br.11 [103]

// instanciranje AutehenticationHeader klase i dodela vrednosti parametrima

AuthenticationHeader authHeader=new AuthenticationHeader();

authHeader.UserName="**********";

authHeader.Password="**********";

authHeader.LicenceID="00000000-0000-0000-0000-000000000000";

// prosleđivanje instance AuthenticationHeader klase

serviceClient.AuthenticationHeader=authHeader;

// pozivanje metode servisa

serviceClient.GetCurrentExchangeRate(1);

Slika br.20 prikazuje SOAP zaglavlje sa korisničkim imenom, lozinkom i šifrom licence.

Slika br.20 SOAP header [104]

U veb servis sistemu NBS, komunikacija između veb servis klijenta i servera se obavlja

preko HTTPS protokola. HTTPS protokol obezbeđuje da podaci koji se razmenjuju između

servera i klijenta, putuju kroz internet mrežu u zaštićenom obliku.

Zaštićena komunikacija preko HTTPS protokola, u sistemu veb servisa NBS, obezbeđena je

postavljanjem odgovarajućih serverskih sertifikata i konfiguracijom aplikacije. Serverski

Page 83: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

83

sertifikat sa kojim radi veb servis sistem, izdat je Narodnoj banci Srbije od strane Pošte, koja

je zvanično autorizaciono telo, ovlašćeno za izdavanje sertifikata.

Pri uspostavljanju komunikacije sa veb servis sistemom, klijent može biti konfigurisan na

dva načina:

- Da ne proverava validnost serverskog sertifikata,

- Da proverava validnost serverskog sertifikata.

U prvom slučaju, biće uspostavljena komunikacija preko HTTPS protokola, ali klijent neće

proveravati validnost serverskog sertifikata. U drugom slučaju, kako je izdavalac serverskog

sertifikata Pošta, potrebna je instalacija Poštinih sertifikata na klijentskom računaru na

kojima rade veb servis aplikacije. Sertifikati su: Posta CA Root i Posta CA 1.

U sistemu veb servisa NBS postoje dva tipa servisa:

- Servis čije metode vraćaju objekte tipa DataSet,

- Servis čije metode vraćaju objekte tipa String.

Metode ova dva tipa servisa imaju ista imena i iste ulazne parametre, a razlikuju se u tipu

objekta koji vraćaju.

Slika br.21 prikazuje opis i metode servisa za pristup tekućim kursnim listama.

Slika br.21 Servis za pristup tekućim kursnim listama [105]

Page 84: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

84

Slika br.22 prikazuje veb lokaciju servisa za pristup tekućim kursnim listama.

Slika br.22 Lokacija veb servisa NBS za pristup tekućim kursnim listama [106]

Slika br.23 prikazuje metodu veb servisa za pristup tekućim kursnim listama

Slika br.23 Metoda GetCurrentExchangeRateList [107]

Slika br.24 prikazuje strukturu podataka koja odgovara XSD šemi.

Slika br.24 XSD Struktura podataka [108]

Page 85: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

85

4.2 Centralni registar obaveznog zdravstvenog osiguranja (elektronski potpis i

korišćenje veb aplikacije)

Na portalu Centralnog registra obaveznog zdravstvenog osiguranja, obveznik plaćanja

doprinosa, odnosno njegov ovlašćeni zakonski zastupnik ili ovlašćeno lice može:

- Uneti nove i izmeniti postojeće podatke koji se odnose na korisnički nalog,

- Vršiti podnošenje prijave, odjave, odnosno promene na obavezno socijalno osiguranje

za svoje zaposlene, kao i lica osigurana preko njih,

- Vršiti pregled podataka za svoje zaposlene samo za period osiguranja kod datog

obveznika plaćanja doprinosa.[109]

Uslov da bi se korisnici prijavili na sistem je da su prethodno registrovani na portalu

Centralnog registra. Registracija obveznika plaćanja doprinosa je operacija kojom se korisnik

registruje na portal. Preduslov za registraciju je da se korisnik nalazi u bazi Centralnog

registra. Takođe, je potrebno da na računaru bude instaliran čitač kartica i u čitač bude

ubačena odgovarajuča smart kartica koja poseduje kvalifikovani elektronski sertifikat.[109]

Elektronski sertifikat je elektronski dokument koji izdaje sertifikaciono telo. To je elktronska

potvrda kojom se potvrđuje veza između podataka za proveru elektronskog potpisa i

identiteta potpisnika. Može da se shvati kao digitalni identifikacioni dokument jer sadrži

podatke o korisniku sertifikata kao i podatke o njegovom izdavaocu. Sertiffikaciono telo je

pravno lice koje drugim pravnim i fizičkim licima pruža usuge izdavanja elektronskog

sertifikata, kao i druge usluge povezan se ovom delatnošću. U Republici Srbiji postoje četiri

registrovana Sertifikaciona tela, to su: Javno preduzeće PTT, Privredna komora Srbije, MUP

RS i Halcom.[109]

Slike br.25-27 prikazuju strukturu sertifikata (verziju, serijski broj, algoritam, sertifikaciono

telo, period važenja, javni ključ).

Slika br. 25 Struktura sertifikata

Page 86: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

86

Slika br.26 Struktura sertifikata

Slika br.27 Struktura sertifikata

Izdavalac kvalifikovanih sertifikata, u obavezi je da proveri i identifikuje identitet osobe i

druge podatke vezane za naručioca sertifikata. Takvu identifikaciju može obaviti druga

služba u ime sertifikacionog tela, koja na isti način proverava identitet podnosioca zahteva i

originalnu dokumentaciju za izdavanje kvalifikovanog elektronskog sertifikata i na bezbedan

način ga isporučuje korisniku.

Da bi pravno lice dobilo sertifikat od sertifikaciong tela mora podneti zahtev u elektronskoj

formi zatim overene i potpisane obrasce dostaviti zajedno sa izvodom iz APR-a i kopijom

lične karte poštom ili lično, nakon čega se elektronski sertifikat izrađuje. Nakon toga, na

e-mail adresu korisnik dobija obaveštenje da pametnu karticu/USB ključ i PIN kod može

preuzeti.[110]

Slika br.28 prikazuje formu za registraciju obveznika plaćanja doprinosa pomoću PIB-a za

pravna lica ili JMBG za fizička lica.

Page 87: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

87

Slika br.28 Registracija obveznika plaćanja doprinosa [109]

Slika br.29 Unos PIN-a za validaciju podataka [109]

Nakon unosa PIN-a sistem validira unete podatke i proverava da li je korisnik zakonski

zastupnik ili ovlašćeno lice od strane obveznika plaćanja doprinosa za kog želi da se

registruje i ukoliko jeste, prikazuje se forma u koju korisnik unosi lične podatke, u suprotnom

se prikazuje obaveštenje da dati korisnik nema ovlašćenje da se registruje za izabranog

obveznika plaćanja doprinosa. Što je prikazano na slikama br.28 i 29.

Page 88: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

88

Slika br.30 Forma za unos ličnih podataka [109]

Nakon uspešne registracije korisnika u bazu Centralnog registra, korisnik unosi PIB pravnog

lica za kojeg je ovlašćen kako bi preduzeo radnje u granicama datog ovlašćenja, što je

prikazano slic br.31.

Slika br.31 Forma za unos PIB-a pravnog lica [109]

Lice se može ovlastiti za:

- Osnovni pregled – ovlašćenje koje dozvoljava pregled podataka o osiguranju

zaposlenih kod datog obveznika plaćanja doprinosa.

- Pregeld doprinosa – ovlašćenje koje dozvoljava pregled podataka o doprinosima

zaposlenih kod datog obveznika plaćanja doprinosa.

Page 89: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

89

- Podnošenje prijave – ovlašćenje koje dozvoljava podnošenje prijave/promene/odjave

za datog obveznika plaćanja doprinosa.

- Administratorsko ovlašćenje – ovlašćenje koje dozvoljava dodelu/ukidanje svih

ovlašćenja.

- Poslovna ovlašćenja – ovlašćenje kojim se dodeljuju ili ukidaju sledeća ovlašćenja:

osnovnog predloga, pregleda doprinosa i podnošenja prijave u sistem Centralnog

registra.[109]

Slika br.32 prikazuje tabelarni prikaz nivoa ovlašćenja.

Slika br.32 Tabelarni prikaz nivoa ovlašćenja [109]

Po uspešnoj prijavi u zaglavlju portala su ispisani podaci lica (korisničko ime i JMBG) koje

se prijavilo za rad, kao i PIB/JMBG obveznika plaćanja doprinosa za kojeg je ulogovan. Na

naslovnoj strani se u levom delu portala nalazi spisak funkcionalnosti koje korisnik može da

obavlja shodno obimu dodeljenih prava, odnosno obimu ovlaščenja koja su mu dodeljena za

rad, što je prikazano na slici br.33.

Slika br.33 Naslovna strana portala [109]

Page 90: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

90

5. NAUČNO-STRUČNO ISTRAŽIVANJE

5.1 Pregled sigurnosti poslovnih aplikacija i posledice slabih tačaka u sistemima

Sledeći statistički podaci sajber napada, pokazuju koliko je napada izazvano eksploatacijom

slabih tačaka u sistemima, pretnje sa kojima se suočavaju mala i srednja preduzeća i ogromni

gubici čak i najzaštićenijih preduzeća. Statistika uglavnom pokriva 2018. i 2019. godinu, sa

nekim podacima iz 3-4 protekle godine, kao reference koje će pružiti osećaj razmera.[29]

1. Prema istraživanju Clark School Univerziteta u Merilendu, u pogledu frekvencija sajber

napada, hakeri napadaju uređaje svakih 39 sekundi. Ovo je prvi pokušaj da se kvantificira

skoro konstantna stopa on-line napada.

2. Računari su napadnuti 2.244 puta dnevno, međutim većina njih je neuspešna.

3. Do 2022. godine biće oko 6 milijardi korisnika interneta (75% projektovane svetske

populacije).

4. Do 2020. godine biće oko 200 milijardi povezanih uređaja.

5. Samo 38% globalnih organizacija tvrdi da su adekvatno pripremljene da se nose sa

sofisticiranim sajber napadom. Ako se uzmu u obzir sledeće statistike sajber napada,

jasno je koliko je ovaj podatak obeshrabrujući: oko 54% organizacija doživelo je jedan ili

više značajnih napada u protekloj godini. Studija koju je naručio Microsoft otkrila je da

kompanije u azijsko-pacifičkoj regiji mogu izgubiti čak 1.745 triliona dolara za

kibernetički kriminal.

6. 82% ispitanika smatra da će nove pretnje 2019. godine dovesti do povećanog rizika od

krađe novca i podataka putem sajber napada. 80% takođe očekuje povećanje poremećaja

u poslovanju. Ovo nije iznenađenje ako se razmotre načini na koje uređaji koji se

povezuju postaju sve više integrisani u svakodnevni život.

7. 25. septembra 2018. godine kompromitovano je 50 miliona korisničkih naloga na

facebook-u. Ova ranjivost je omogućila pristup i preuzimanje naloga, što je bio problem

bez presedana za facebook.

8. Uobičajeni mrežni napadi 2018. godine bili su blokovi napada na serverske poruke

(52%), napadi na uskraćivanje usluga (13%), napadi pretraživača (13%) i napadi brutalne

sile (9%).

9. 43% napada cilja mala preduzeća.

10. Preko 140 međunarodnih avio-kompanija je pogođeno velikim kršenjem bezbednosti.

Amadeus sistem rezervacija karata, koji trenutno koristi 141 međunarodni avioprevoznik

i 44% globalnog on-line tržišta rezervacija, bio je kompromitovan. Glavni klijenti su bili

Air Canada, Lufthansa i United Airlines. Napad je omogućio pristup imenima putnika i

svim detaljima za let.

11. Curenje podatka kroz Vladu Oklahome otkrilo je 7-godišnju istragu FBI-a. Ovi napadi su

odličan primer zašto svaka kompanija treba više da uloži u zaštitu arhiviranih podataka.

Najstariji ukradeni podaci potiču iz 1986. godine, a najnoviji je izmenjen 2016. godine.

12. U 2018. godini otkriveno je 40.000 novih pretnji, prema izveštaju McAfee-a, ukupan broj

datoteka sa zlonamernim softverom je porastao za 86%

13. Samo 15% korisnika tvrdi da nije bilo izloženo sigurnosnim pretnjama zasnovanim na

elektronskoj pošti.

Page 91: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

91

14. 73% profesionalaca koji se bave internet bezbednošću tvrde da se učestalost napada

putem elektronske pošte povećava, a 80% organizacija se suočilo se nekom vrstom ovog

tipa napada u protekloj godini.

15. Veliki DDoS napadi su se povećali za 500%, prema izveštaju za drugi kvartal 2018.

godine. Većina DDoS napada koristi botnet-ove i na taj način povećava nivo napada na

više načina. 33% preduzeća je izjavilo da ih je jedan sat zastoja koštao od 1 do 5 miliona

dolara, tako da se može zamisliti koliko katastrofalni DDoS napadi mogu biti.

16. McAfee je otkrio da su vodeće zemlje u kojima su se nalazili botnet kontrolni serveri:

SAD 36%, Nemačka 14%, Rusija i Holandija 5% i sve ostale zemlje 24%.

17. Kibernetički kriminal bi mogao koštati kompanije do 5,2 triliona dolara u narednih pet

godina. Pre oko tri godine Wall Street Journal je procenio da je sajber kriminal koštao

oko 100 milijardi dolara. Juniper Research procenjuje da će globalni sajber kriminal

iznositi 2 triliona dolara. [29]

Prema [30] neki od najvećih sajber napada su:

- Adobe je u oktobru 2013. godine objavio masovni napad IT infrasturkture. Lične

informacije od 2,9 miliona naloga su ukradene (korisniča imena, lozinke, imena,

brojevi kreditinih kartica i datumi isteka). Drugi fajl otkriven na internetu je sadržao

podatke 150 miliona računa od toga 38 miliona aktivnih. Da bi pristupili ovim

informacijama, napadači su iskoristili sigurnosni propust vezan za lozinke. Ukradene

lozinke su šifrovane, umesto da budu podeljene kako je preporučeno. Srećom, ako je

to dovelo do krađe bankovnih podataka, bilo je neupotrebljivo zbog

visokokvalitetnog šifrovanja od strane Adobe-a. Kompanija je napadnuta ne samo

zbog informacija o klijentima, već i zbog podataka o proizvodima. Najveći problem

za Adobe je bila krađa preko 40GB izvornog koda. Ceo izvorni kod ColdFusion

proizvoda je ukraden, kao i delovi kodova za Acrobat Reader i PhotoShop.

- U aprilu 2011. godine napadnut je Sony PlayStation Network. Procurili su lični podaci

77 miliona korisnika. Bankarske informacije desetina hiljada korisnika su takođe

kompromitovane. Nakon otkrića napada, Sony Online Entertainment i Qriociti, bili su

zatvoreni mesec dana. Kako bi nadoknadio štetu korisnicima, Sony je platio 15

miliona dolara, plus nekoliko miliona dolara pravnih troškova. Ovaj sajber napad bi

mogao uveliko izbegnut, jer su napadači koristili poznatu mrežnu ranjivost koju je

Sony izabrao da ignoriše. Podaci su bili nešifrovani i lako se se mogli preuzeti

zahvaljujući veoma jednostavnoj SQL injekciji.

- Target, drugi po veličini američki diskontni maloprodajni lanac, bio je žrtva velikog

napada u decembru 2013. godine. Podaci 110 miliona klijenata su oteti, uključujući

bankarske podatke od 40 miliona korisnika i lične podatke 70 miliona korisnika.

Target nije otkrio napad, već su Američke tajne službe otkrile nenormalne transakcije

i upozorile kompaniju. Napad je izvršen tako što je instaliran zlonamerni softver u

blagajne koji je čitao informacije sa terminala kreditne kartice.

Page 92: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

92

Prema [32] Geografska mapa prikazana na slici br.34 prikazuje dolazne napade na Microsoft

Azure – posebno na IP adrese na kojima su nastali napadi koje je otkrio Azure Security

Center. Podaci su izraženi u procentima i odnose se na 2018. i 2019. godinu: SAD – 26,16%,

Rusija – 11,59%, Kina – 11,16%, Nemačka – 1,99% , a procenat napada usmeren na Srbiju je

0,15%.

Slika br.34 Geografska mapa dolaznih napada na Microsoft Azure[32]

Slika br.35 prikazuje geografsku mapu odlaznih komunkacija ka zlonamernim IP adresama

koje je otkrio Azure Security Center, gde se vidi da je najveći broj napada izvrešen iz

SAD – 59,83%, Holandije – 16,33%, Irske – 10,96%, Japana – 2,52% i Singapura – 2,10%.

Page 93: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

93

Slika br.35 Geografska mapa zemalja iz kojih je izvršen napad [32]

Prema [31] sledeći podaci su rezultati studije koja otkriva povećanu proliferaciju enkripcije

za zaštitu podataka i hardverskih sigurnosnih modula kako bi se ojačale aplikacije.

Slika br.36 pokazuje da se enkripcija najviše koristi u oblasti tehnologije i razvoja softvera,

komunikacionim sistemima i finansijskim servisima, zemlje koje najviše koriste enkripciju

su: Nemačka, SAD i Australija.

Slika br.36 Sektori i zemlje sa najvećom upotrebom enkripcije [31]

Page 94: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

94

Hardverski sigurnosni modul (HSM) je sertifikovana, pouzdana platforma za obavljanje

kriptografskih operacija i zaštitu ključeva. Prema [31] HSM se najviše koristi u oblasti

finansijskih servisa, prodaje, edukacije i istraživanja i razvoju softvera. Zemlje koje najviše

koriste HSM su SAD, Nemačka i Indija. Što je prikazano na slici br.37

Slika br.37 Upotreba HSM po sektorima i zemljama [31]

Prema [33] Svaki dan milioni širom sveta koriste Microsoft proizvode i usluge, tako da

Microsoft aktivno gradi siguran sistem putem otkrivanja i odbrana od ranjivosti softvera,

neovlašćene prijave i sumnjivih veb aktivnosti. Svrha je da se štite informacije o

preduzećima i klijentima koji se svakodnevno oslanjuju na Microsoft-ove alate. Izgradnja

napredne analitike i uvid u Microsoft platforme, osigurava da je sigurnost korisnika

sveobuhvatna, u potpusnosti integrisana i prilagodljiva potrebama korisnika. Microsoft

mesečno analizira:

- 450 biliona cloud autentikacija,

- 400 biliona e-mail-ova za malware i zlonamerne sajtove,

- 18 biliona veb stranica,

- 1 bilion windows uređaja se ažurira,

- 15 biliona dolara se ulaže u cloud infrastrukturu,

- 1 bilion godišnje se potrošni na bezbednost.

U septembru i oktobru 2018. godine, sprovedena je anketa kako bi stekao uvid u tekuću i

planiranu potrošnju po pitanju sigurnosti. U istraživanju je učestvovalo ukupno 480

ispitanika iz osam zemalja: Australije, Kanade, Francuske, Nemačke, Indije, Singapura,

Velike Britanije i SAD-a.[34]

Page 95: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

95

Slika br.38 ilustruje rezultate datog istraživanja.

Slika br.38 Tekuća i planirana potrošnja po pitanju sigurnosti [34]

5.2 Pregled studija sigurnosti veb servisa, sigurnosni rizici, pretnje i kontramere

Mnoge aplikacije i veb stranice zavise od veb servisa kako bi bez problema razmenile

informacije. Veb servisi omogućavaju prenos različitih podataka preko mreže, ponovno

iskorišćavanje funkionalnosti i stvaraju dinamičan odnos između korisnika. Zbog raznolikosti

protokola i okvira uključenih u razvoj veb servisa, oni postaju ranjivi i često podložni

napadima. Iako se saobraćaj veb sajta i veb servisa može tretirati na sličan način, potencijal

za propuste u bezbednosti je mnogo veći sa veb uslugama, jer izlažu kritične aplikacione

interfejse i operacije i čine ih pristupačnim putem HTTP saobraćaja.

Napadi na veb servise se mogu klasifikovati u tri glavne klase:

- Infrastrukturni napadi – napadi povezani sa veb serverima na kojima se nalaze veb

servisi, kao i napadi povezani sa transportnim protokolima koji se koriste za razmenu

zahteva veb servisa.

- Napadi na veb servise - koji su izvorno zasnovani na stvarnoj tehnologiji koja

pokreće veb servise, kao što je WSDL skeniranje.

- XML sadržajni napadi – koji mogu biti bilo koja vrsta pretnji zasnovanih na XML-u,

zasnovanih na sadržaju, koji koriste taktitku ugrađivanja zlonamernog sadržaja u

legitimne XML dokumente.[65]

Page 96: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

96

5.2.1 WSDL scanning

Većina implementacija veb servisa je javno dostupna kako bi se omogućilo njeno korišćenje

od strane partnera i drugih portala, kao takva WSDL datoteka je izložena javnosti. WSDL

datoteka je deskriptor implentacije veb servisa koji ocrtava ne samo funkcionalnost koju

pruža veb servis, već i očekivanu sintaksu, ulazne i izlazne tačke i lokaciju za pristup usluzi.

Drugim rečima, veb servis objavljuje svoju lokaciju, metode koje pruža i pretpostavke koje

donosi u vezi sa svojim ulaznim tačkama, što predstavlja idealnu metu za zlonamerne

napade. Napadi na veb servise se mogu izvesti dodavanjem WSDL ili .WSDL na kraj URL

adrese servisa, što će otkriti WSDL datoteku. Pretraživač će obično indeksirati WSDL

datoteke zajedno sa drugim datotekama unutar domena. Koristeći pametno kreirane upite

pretraživača, napadači mogu pronaći te datoteke.[40][41]

Ako je veb servis kreiran koristeći uobičajene alate za veb servis okvir, generisani kod sadrži

sve podatke: operacije servisa, uključujući parametre, tipove podataka i mrežne veze. U

ovom slučaju, korisnik dobija informacije o operacijama i može ih pozvati. Prvi korak u

izbegavanju takvih pristupa jeste obezbeđivanje odvojenog WSDL-a za spoljne klijente koji

sadrže samo spoljašne operacije. Međutim, pošto je krajnja tačka veb usuge eksterno

dostupna, napadač može pokušati da pogodi te operacije i pozove ih. Ovaj napad se zove

WSDL skeniranje. Na primer, sistem veb prodavnice zahteva metode za slanje porudžbine i

za administriranje porudzbine. Prva metoda se poziva samo iz prodavnice, međutim, ako i

jedna i druga veb usluga pružaju i operacije slanja i administriranja porudžbine, napadač sa

podacima iz porudžbine može lako pronaći i metod administriranja.[45]

Jedan od načina da se smanje sigurnosni rizici koji mogu proizaći iz korišćenja informacija o

WSDL datotekama je da se WSDL datoteke ne učine javno dostupnim. Umesto registracije

veb servisa i njegovog WSDL opisa sa javnim registrom kao što je univerzalni poslovni

registar UDDI ili ako SOAP server automatski generiše WSDL opise za sve korisnike, za

neke veb servise ima smisla kontrolisati distribuciju WSDL opisa koristeći funkcije kontrole

pristupa ugrađene u UDDI. Potencijal za napad se može znatno smanjiti jednostavnim

uklanjanjem bilo kakvih naznaka o tipu softverske infrastrukture koju koristi veb servis.

Potrebno je eliminisati ili prikriti informacije koje identifikuju bilo koji deo sistemske

infrastrukture kroz zaglavlja i kodove grešaka koje se vraćaju klijentskim

aplikacijama.[40][41]

5.2.2 XML injection

Budući da je XML format poruka korišćen od strane veb servisa i da se svako od polja

podataka opisuje samim sobom, napadačima predstavlja sredstvo za interakciju sa svakom

uslugom. Tokom XML ubrizgavanja, napadač pokušava da ubaci različite XML oznake u

SOAP poruku sa ciljem da modifikuje XML strukturu. U zavisnosti od izvršene operacije

mogu se narušiti razni sigurnosni ciljevi. Na primer:

- modifikacija podataka o plaćanju – prekršen sigurnosni cilj - integritet,

- neovlašćena prijava – prekršen sigurnosni cilj – kontrola pristupa.[42]

Page 97: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

97

Zaštita od XML injekcionog napada treba da obezbedi da se unosom korisnika pravilno

upravlja i kontroliše pre nego što se dozvoli da dođe do glavnog programskog koda. Najbolji

pristup je da se svi unosi korisnika smatraju nebezbednim i da se na odgovarajući način prate.

5.2.3 XPath Injection

XPath je standardni jezik, jednostavnog opisnog izraza koji omogućava XML upitu da locira

informacije. XPath Injection je tehnika napada koja se koristi za eksploataciju aplikacija koje

konstruišu XPath upite iz korisničkog unosa ili za navigaciju XML dokumenta. XPath

Injection napadi se dešavaju kada veb sajt koristi informacije koje je korisnik dostavio da bi

konstruisao XPath upit za XML podatke. Slanjem namerno deformisanih informacija na veb

stranicu, zlonamerni korisnik može saznati kako su strukturirani XML podaci ili pristupiti

ograničenim podacima iz XML izvora podataka, zaobilazeći proveru autentičnosti (ako se

koristi sistem za proveru autentičnosti zasnovan na XML-u). Na primer, ako aplikacija koristi

XML bazu podataka za autentifikaciju svojih korisnika, gde aplikacija preuzima ID korisnika

i lozinku i formira XPath izraz za upit baze podataka, napadač može uspešno zaobići proveru

autentičnosti i prijaviti se bez verodostojnih akreditiva putem XPath ubrizgavanja. U nekim

slučajevima parametri unutar SOAP tela se direktno koriste kao ulaz za XPath upit. Ako

korisnički unos nije validiran, napadač može modifikovati XPath upit onako kako on želi, u

najgorem slučaju napadač može da pročita čitav XML dokument koji se traži.[47][48][49]

Najčešći načini sprečavanja napada su jaka validacija i upotreba parametrizovanih XPath

upita, potrebno je osigurati da aplikacija prihvata samo legitiman ulaz. Presretanje upita

uključuje presretanje XPath izraza koji se generiše u vreme izvođenja, generisani izraz se

izvršava u XML skladištu podataka i dobijaju se rezultati. U cilju otkrivanja ranjivosti

ubrizgavanja, ovaj dinamičku generisan izraz mora biti presretnut. Pomoću skeniranja Xpath

izraza, upiti generisani za vreme izvođenja se mogu presresti pre nego što se izvrše. U ovom

modulu analizira se presretnuti XQuery i dobijaju se ulazni parametri kako bi se otkrile

moguća ubrizgavanja. Nakon presretanja upita, analizator dobija ulaze iz upita i smešta ih u

XML dokument. Ovaj dokument se dalje koristi za validaciju kako bi se otkrile ranjivosti.

Proces validacije identifikuje sva moguća ubrizgavanja u ulazne vrednosti. U slučaju da

provera valjanosti ne uspe, izvršenje željenje operacije se zaustavlja. [48]

5.2.4 SOAPAction spoofing

Svaki zahtev za veb servis sadrži neku vrstu operacije koja se kasnije izvršava logikom

aplikacije. Ova operacija se može naći u prvom podređenom element SOAP tela. Međutim,

ako se HTTP koristi za prenos SOAP poruke, SOAP standard dozvoljava upotrebu dodatnog

elementa HTTP zaglavlja nazvanog SOAPAction. Ovaj element zaglavlja sadrži ime izvršene

operacije. Trebalo bi da informiše o tome koja se operacija nalazi u SOAP telu, bez potrebe

da izvrši bilo koje XML parsiranje.[46]

Napad se može realizovati od strane napadača i pokušava da prizove operaciju različitu od

one koja je navedena u SOAP telu, budući da određeni okviri veb servisa određuju operaciju

Page 98: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

98

koja će biti izvršena samo na informacijama sadržanim u SOAPAction atributu. Zasniva se na

modifikaciji HTTP zaglavlja.[45][46]

Drugi način je realizacija od strane klijenta veb servisa i pokušava da prođe HTTP mrežni

prolaz.

Listing br.11 predstavlja veb servis ranjiv na SOAPAction Spoofing sa dve operacije

createUser i deleteUser. Operaciju createUser može da izvrši bilo ko, a deleteUser samo

ovlašćeni korisnici koji su direktno povezani sa veb uslugom bez mrežnog prolaza.

Listing br.11

POST /service HTTP/1.1

Host: myHost

SOAPAction: "createUser"

<Envelope>

<Header />

<Body>

<createUser>

<login>johndoe</login>

<pwd>secret</pwd>

</createUser>

</Body>

</Envelope>

Lisitng br.12 prikazuje istu poruku koju je modifikovao napadač. SOAP poruka prolazi kroz

mrežni prolaz, jer proverava samo operacije unutar SOAP tela. Veb servis tada izvršava

operaciju deleteUsers jer svoju odluku zasniva isključivo na operaciji datoj u zaglavlju

SOAPAction-a.[46]

Listing br.12

POST /service HTTP/1.1

Host: myHost

SOAPAction: "deleteAllUsers"

<Envelope>

<Header />

<Body>

<createUser>

<login>johndoe</login>

<pwd>secret</pwd>

</createUser>

</Body>

</Envelope>

Kontramera je odrediti operaciju od strane sadržaja SOAP tela, pored toga operacije koje

odredi zaglavlje HTTP-a i sadržaj SOAP tela moraju biti kompatibilne i svaka razlika treba

da se smatra pretnjom i rezultatom odbijanja zahteva za veb servis.[45]

Page 99: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

99

5.2.5 DoS napad

DoS napadi utiču na dostupnost servisa i njegovih resursa validnim korisnicima. Napadač

pokušava da spreči pristup ovlašćenog korisnika uslugama koje pruža provajder servisa,

slanjem velike količine zahteva na server, tako da se stvara više mrežnog saobraćaja i veza

između uređaja se prekida.[36]

Najčečešći tip DoS napada je prelivanje bafera. U napadu prelivanje bafera, klijentska

aplikacija šalje preveliku količinu podataka servisu i na taj način servis postaje nedostupan.

Ovaj napad je usmeren na krajnju tačku usluge. Jedan od primera jeste korisničko ime sa više

znakova nego što se očekivalo.

Slanje izuzetno velikih XML dokumenata veb servisu se takođe može smatrati vrstom DoS

napada. Parsiranje veoma dugog XML dokumenta od strane XML parsera tipa DOM

(Document Object Model) može dovesti do ogromnog memorijskog otiska i značajano

smanjiti resurse dostupne zahtevima za usluge. Parseri zasnovani na DOM-u učitavaju ceo

XML tok u memoriju stvarajući hijerarhijski objekat koji se referencira u logici aplikacije.

Koristeći ovaj model, XML dokument, kao SOAP poruka, se u potpunosti čita, analizira i

transformiše u objektni prikaz u memoriji, koji zauzima mnogo više memorisjkog prostora

od originalnog XML dokumenta. Očigledan vektor napada je unos velikih XML fajlova koji

troše resurse na strani servera tokom parsiranja, što dovodi do DoS napada. [40][43][45]

Listing br.13

<transaction>

<total>1000,00</total>

<credit_card_number>123456789</credit_card_number>

<credit_card_number>123456789</credit_card_number>

<credit_card_number>123456789</credit_card_number>

<credit_card_number>123456789</credit_card_number>

<credit_card_number>123456789</credit_card_number>

……

……

……

<expiration>01012021</expiration>

</transaction>

Kontramera za ovu vrstu napada se sastoji u ograničavanju ukupne veličine bafera za dolazne

SOAP poruke. U ovom slučaju, dovoljno je proveriti stvarnu veličinu poruke i odbaciti

poruku koja prelazi prethodno definisani limit. [45]

Još jedan primer DoS napada je ponovljen napad ili replay attacks. Ovaj napad se realizuje

tako što napadač snimi šifrovanu poruku i šalje je repetitivno, što rezultira preopterećenjem

servisa. S obzirom na to, da usluga može da radi samo sa određenim brojem zahteva u jednici

vremena, sposobnost servisa da postupa sa legitimnim zahtevima je ograničena ili

zaustavljena. Ovaj tip mrežne aktivnosti neće biti otkriven kao upad jer je izvorni IP valjan,

Page 100: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

100

ponašanje mrežnog paketa ispravno i HTTP zahtev je dobro formiran. Međutim, poslovno

ponašanje nije legitimno i predstavlja upad zasnovan na XML-u. Na ovj način, potpuno

validna XML opterećenja mogu se koristiti za izdavanje napada na uskraćivenje usluge. U

ovom slučaju, veoma je važno da se autentifikuje podnoslilac zahteva pre nego što se počne

sa obradom zahteva. Ponovljeni napadi mogu biti ozbiljan problem za organizacije, jer

različiti procesi unutar organizacije mogu biti zloupotrebljeni ukoliko napad bude uspešan.

[41][43][44]

Inspekcija i validacija formata i sintakse, XML dokumenti moraju biti u skladu sa

protokolima i specifikacijama koje regulišu njihovu upotrebu. Uobičajeno je da napadači

pokušavaju da manipulišu dokumentima u odnosu na pravila da bi izvršili DoS napade.

Osnovni korak je provera ispravnosti XML dokumenta najpre na temelju pravila XML i

SOAP specifikacija. Zatim kontrola sadržaja i zaštita politike: savršeno oblikovan XML

dokument može i dalje biti neprikladan i nepoželjan u aplikaciji veb servisa. Potrebna je

dublja kontrola i razumevanje aplikacije kako bi se politika i filteri primenili na XML

dokumente koje prolaze nivo kontrole. To su prilagođene specifikacije za traženje kršenja

pravila kao što su preveliki dokumenti, neprikladne ili neočekivane vrednosti u poljima.[44]

5.3 Primeri napada na veb servise

- Account Hijacking - se događa usled krađe akreditiva, koja napadačima omogućava

pristup osetljivim informacijama i ugrožava poverljivost, integritet i dostupnost

isporučenih usluga. Na primer, prisluškivanje transakcija, manipulacija podacima koji

vraćaju falsifikovane podatke i preusmeravanje na nelegitimne lokacije. U julu 2012.

godine, usluga skladištenja u oblaku “Dropbox”, je obavestila korisnike da napadači

koriste korisnička imena i lozinke koje su ukradene sa drugih sajtova. Kompanija

veruje da korisnici koji koriste iste lozinke na višesturkim sajtovima olakšavaju

napadačima da pristupe njihovim nalozima na različitim sajtovima. Mnogi sajtovi,

koji žele da iskoriste popularnost fenomena društvenih mreža, dozvoljavaju

korisnicma da se prijave sa svojim facebook ili google nalozima, što je poznato kao

single sign-on autentifikacija. Organizacija je pokrenula nove automatizovane

mehanizme za identifikaciju sumnjivih aktivnosti i potpuno novu veb stranicu koja bi

pokazala sve prijave na servis. [37]

Žrtva ovakvog napada je bila i kompanija Amazon. Napadači su izvršili napad na više

sajtova (cross-site scripting XSS) i infiltrirali se u Amazon Relational Database

Service tako da su mogli da uhvate podatke za prijavu svakog ko je kliknuo na dugme

za prijavu na Amazonovoj početnoj stranici. Napadači su koristili svoje servere kako

bi zarazili uređaje sa Zeusovim trojanskim konjem, koji je deo malware-a

dizajniranog za krađu bankovnih informacija putem prikupljanja i zapisivanja lozinki.

Računari zaraženi zlonamernim softverom počeli su da se prijavljuju na Amazon EC2

za ažuriranja i uputstva, tako da su napadači mogli da prikupljaju podatke. Jedna od

činjenica je da u ovom slučaju nije bila greška Amazona, već su napadači dobili

pristup kroz neki drugi, ranjiviji domen, što otriva jednu istinu o cloud-u da čak i

jedan ranjiv sistem može dovesti do kompromitovanja cele mreže. Amazon je bio

Page 101: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

101

samo jedan od sajtova koji su pretrpeli ovaj tip napada u periodu od nekoliko meseci,

Twitter, Facebook i Google app su iskusili slične napade.[39]

- Traffic Flooding – je napad koji nastaje kao rezultat ogromne količine saobraćaja i

rezultata u mreži ili uslugama. Kada je mreža ili usluga opterećena paketima, ona ne

može obraditi specifične zahteve iz razloga što pokreće nepotpune zahteve za

povezivanje, što dovodi do opterećenja tako da je ishod uskraćivanje servisa.

Kompanija za skladištenje i upravljanje lozinkama zasnovana na oblaku, LastPass,

objavila je da je njen server verovatno napadnut. Nije bilo nikakvih izveštaja o

curenju podataka, ali je kompanija insistirala na tome da klijenti budu oprezni, kako

bi osigurali da njihove informacije budu van rizika. Stručnjaci za bezbednost su

otkrili neuobičajeno ponašanje u okviru servera baza podataka sa izlazom dodatnog

saobraćaja u poređenju sa ulaznim podacima. Glavne lozinke koje štite liste lozinki za

pristup različitim sajtovima i on-line servisima u oblaku, su odmah zaštićene tako što

je LastPass poboljšao algoritam šifrovanja kako bi zaštitio podatke korisnika i

preduzeo dodatne mere za bezbednost na serverima, kako bi se sprečila slična

situacija. LastPass ne šalje niti čuva glavnu lozinku, šifrovanje se dešava isključivo

na nivou uređaja pre sinhronizacije sa LastPass-om za bezbedno skladištenje, tako da

samo korisnici mogu dešifrovati svoje podatke. LastPass koristi 256-bitnu AES

enkripciju, jer je to široko prihvaćen neprobojan algoritam.[37][38]

Slika br.39 prikazuje arhitekturu Last Pass-a.

Slika br.39 Arhitektura LassPass[38]

U razvoju određenog sigurnosnog mehanizma, uvek treba razmotriti potencijalne napade,

uspešni napadi su osmišljeni tako da se problem sagleda na potpuno drugačiji način, tako da

se iskorišćavaju neočekivane slabosti u mehanizmu. Tek kada se uzmu u obzir različiti

aspekti pretnje, razrađeni sigurnosni mehanizmi imaju smisla. Nakon što su dizajnirani

različiti sigurnosni mehanizmi, potrebno je odlučiti gde ih koristiti, u smislu fizičkog

Page 102: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

102

rasporeda (u kojim tačkama u mreži su potrebni određeni sigurnosni mehanizmi) i u

logičkom (na kom sloju ili slojevima arhitekture, kao što je TCP/IP protokol).

Entitet koji obrađuje podatke treba da bude odgovoran za poštovanje standarda i

preduzimanje mera koje će sprovesti odredbe predviđene Zakonom o zaštiti podataka.

Princip odgovornosti je ključ za efikasan okvir zaštite podataka. On objedinjuje sve ostale

principe i stavlja teret na one koji obrađuju podatke (bilo kompanija, ustanova ili pojedinac)

da budu odgovorni i da dokažu da ispunjavaju svoje obaveze.

Page 103: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

103

6. IMPLEMENTIRANO REŠENJE

6.1 Opis poslovnog konteksta

Primer poslovnog konteksta koji je izabran za ilustovanje primera implementacije je

distributivni centar, odnosno poziv veb servisa u aplikaciji za realizaciju narudžbine preko

interneta. Veb servis je kreiran tako da za određenu šifru robe, prikaže magacine u kojima se

data roba nalazi na stanju, i na osnovu vraćenog rezultata poziva veb servisa se bira magacin

najbliži mestu isporuke. Cilj aplikacije jeste izbor najbližeg mesta isporuke kako bi se

smanjili troškovi transporta.

Slika br.40 ilustuje rezultat poziva veb servisa u aplikaciji.

Slika br.40 Rezultat poziva veb servisa u aplikaciji

Page 104: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

104

6.2 Bezbedonosni aspekti implementacije veb servisa u veb aplikaciji

Bezbedonosni aspekti implementacije veb servisa u aplikaciji ostvareni su dodavanjem

bezbednosnog sloja u SOAP zaglavlju. Akreditivi u SOAP zaglavlju definišu specijalni

element koji se koristi za prosleđivanje korisničkog imena i lozinke veb servisu, koji se

koriste za autentifikaciju. Prilikom poziva veb servisa, potrebno je da se akreditivi dostave

servisu za pozivanje.

Lisitng br.14 predstavlja kreiranje klase nazvane AuthHeader, koja je tipa SoapHeader klase

i koja se koristi kada se želi promeniti ono što se prosleđuje u SOAP zaglavlju.

Prilagođavajući SoapHeader, omogućeno je prosleđivanje korisničkog imena i lozinke kada

se veb servis pozove. Zatim su definisane promenljive UserName i Password koje su tipa

string. One se koriste za čuvanje vrednosti korisničkog imena i lozinke koje se prosleđuju

veb servisu.

Listing br.14

public class AuthHeader : SoapHeader

{ public string UserName; public string Password;

}

Lisitng br.15 prikazuje kreiranje objekta klase AuthHeader koji je kreiran u prethodnom

koraku. Objekat Autentikacija će biti prosleđen metodi veb servisa u kojoj će se pregledati

korisničko ime i lozinka. Atribut [SoapHeader] se koristi da bi se odredilo da kada se pozove

veb servis, potrebno je da se prosledi korisničko ime i lozinka. U ovom bloku koda se ispituje

korisničko ime i lozinka, ako je korisničko ime jednako “lidija” i lozinka “lidija” onda je

rezultat veb servisa spisak magacina u kojima se nalazi roba sa datom šifrom.

Lisitng br.15

public AuthHeader Autentikacija;

[WebMethod]

[SoapHeader ("Autentikacija")] public string StanjeZalihaRobe(string SifraRobe) { string StanjeRobe = ""; DataSet dsStanje = new DataSet();

string putanjaXML = Server.MapPath("~/")+ "StanjeZalihaRobePoMagacinima.xml"; dsStanje.ReadXml(putanjaXML); if (Autentikacija.UserName == "lidija" && Autentikacija.Password == "lidija") { DataRow[] result = dsStanje.Tables[0].Select("SifraRobe='" + SifraRobe + "'"); StanjeRobe = result[0].ItemArray[1].ToString(); return StanjeRobe; } else {

Page 105: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

105

return "Niste ovlasceni da koristite uslugu"; }

Slika br.41 ilustruje izvršenje prethodnog koda, odnosno lokaciju veb servisa.

Slika br.41 Veb servis stanje robe po magacinima

Lisitng br.16 prikazuje SOAP zaglavlje sa akreditivima, UserName i Password.

Lisitng br.16

POST /WSStanjeRobePoMagacinima.asmx HTTP/1.1

Host: localhost

Content-Type: text/xml; charset=utf-8

Content-Length: length

SOAPAction: "http://tempuri.org/StanjeZalihaRobe"

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

<soap:Header>

<AuthHeader xmlns="http://tempuri.org/">

<UserName>string</UserName>

Page 106: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

106

<Password>string</Password>

</AuthHeader>

</soap:Header>

<soap:Body>

<StanjeZalihaRobe xmlns="http://tempuri.org/">

<SifraRobe>string</SifraRobe>

</StanjeZalihaRobe>

</soap:Body>

</soap:Envelope>

U listingu br.17 je prikazan format dela za autentifikaciju koji je deo WSDL dokumenta.

SOAP poruka sadrži dva dodatna elementa, od kojih je jedan korisničko ime, a drugo

lozinka. Kada je SOAP poruka prosleđena između klijenta i servera, deo poruke koji sadrži

korisničke akreditive je prikazan u sledećem primeru.

Lisitng br.17

<s:element name="AuthHeader" type="tns:AuthHeader"/>

<s:complexType name="AuthHeader">

<s:sequence>

<s:element minOccurs="0" maxOccurs="1" name="UserName" type="s:string"/>

<s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string"/>

</s:sequence>

<s:anyAttribute/>

</s:complexType>

Listing br.18 prikazuje kod za poziv veb servisa u aplikaciji sa prosleđivanjem parametara,

UserName i Password.

Listing br.18

ServiceReference1.WSStanjeRobePoMagacinimaSoapClient wSStanje = new ServiceReference1.WSStanjeRobePoMagacinimaSoapClient(); string magacini = wSStanje.StanjeZalihaRobe(new ServiceReference1.AuthHeader() { UserName = "lidija", Password = "lidija"},(txtSifraRobe.Text)); lblMagacini.Text = magacini.ToString();

U slučaju da se unese pogrešan parametar, korisničko ime ili lozinka, autentifikacija neće biti

moguća i korisnik će dobiti poruku da nije ovlašćen da koristi uslugu, što prikazuje slika

br.42 i listing br.19 gde je unet password “1234”.

Page 107: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

107

Listing br.19

protected void ProveraMagacina_Click(object sender, EventArgs e) { ServiceReference1.WSStanjeRobePoMagacinimaSoapClient wSStanje = new ServiceReference1.WSStanjeRobePoMagacinimaSoapClient(); string magacini = wSStanje.StanjeZalihaRobe(new ServiceReference1.AuthHeader() { UserName = "lidija", Password = "1234" },(txtSifraRobe.Text)); lblMagacini.Text = magacini.ToString(); }

Slika br.42 Poruka o grešci

Page 108: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

108

7. ZAKLJUČAK

U ovom radu predmet istraživanja bili su bezbednosni aspekti, tehnike i metode primene veb

servisa u okviru distribuiranih informacionih sistema. Cilj istraživanja bio je teorijsko,

stručno i naučno istraživanje bezbednosti implementacije veb servisa u poslovnim

aplikacijama. Navedene su i objašnjenje konkretne tehnike i metode bezbednosti kako bi se

obezbedila sigurna implementacija veb servisa u poslovne aplikacije i kako bi se ostvarila

sigurna distribucija podataka.

Osnovna hipoteza je bila da savremene tehnologije razvoja veb aplikacija omogućavaju

interakciju sa veb servisima i primenu bezbednosnih elemenata, koja je i dokazana kroz

primere primene savremenih tehnologija i standarda bezbednosti koji su prikazani u okviru

poglavlja stručnog istraživanja, kao i konkretnim primerima koji u ovom poglavlju

objašnjeni. Zatim, kroz primere u okviru poglavlja postojeća rešenja u kojima su prikazani

konkretni primeri implementacije veb servisa Narodne banke Srbije u poslovne aplikacije

koristeći UserName tokene u zaglavlju SOAP poruka, kao i upotreba elektronskog sertifikata

za proveru elektronskog potpisa i identiteta potpisnika prilikom pristupanja portalu

Centralnog registra obaveznog zdravstvenog osiguranja. Realizivan je primer poziva veb

servisa u veb aplikaciji u poglavlju implementirano rešenje, gde je poziv veb servisa

omogućen samo ovlašćenim korisnicima, u suprotnom je veb usluga odbijena. Empirijskim

istraživanjem postojećih rešenja, kao i realizacijom konkretnog primera takođe je dokazana

osnovna hipoteza istraživanja.

Dalja istraživanja koja se odnose na bezbednost primene veb servisa u poslovnim

aplikacijama bi se mogla odnositi na nove metode i tehnike bezbednosti, kao i

implementacija sigurnosnih tokena, metoda šifrovanja i elektronskih sertifikata kao i alata i

metoda za ispitivanje bezbednosti veb servisa koja u ovom radu nisu realizovana.

Page 109: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

109

Literatura:

[1] Computer Security Principles and Practice, William Stallings, Lawrie Brown, UNSW

Canberra at the Australian Defence Force Academy

[2] Cryptography and network security Principles and Practice, William Stallings

Dostupno na:

https://wanguolin.github.io/assets/cryptography_and_network_security.pdf

[3] Osnovni pojmovi zaštite i sigurnosti podatka i računarskih mreža, Prof. dr Dalibor

Dobrilović, Tehničku fakultet Mihajlo Pupin, Zrenjanin

[4] Computers at Risk: Safe Computing in the Information Age, National Research

Council,

Dostupno na: https://www.nap.edu/read/1581/chapter/4

[14] Information Security Fundamentals, Per Oscarson, Research Group VITS,

Department of Business Administration, Economics, Statistics and Informatics , Orebro

Universitz, Sweden

Dostupno na: https://www.google.com/search?client=firefox-b-d&q=sweden

[15] Information Security Management Principles, Andy Tailor, David Alexander, Amanda

Finch, David Sutton,

Dostupno na: https://www.bcs.org/upload/pdf/infosec-mgt-principles.pdf

[16] Network Security Mechanizm and Cryptography, Mohammad Tanveer Khan,

University of Kashmir, India, Internation Journal of Computer Science and Mobile

Copmuting

Dostupno na: https://ijcsmc.com/docs/papers/July2017/V6I7201732.pdf

[22] Efficient Implementation of AES, Ritu Pahal, Vikas Kumar

Dostupno na:

http://ijarcsse.com/Before_August_2017/docs/papers/Volume_3/7_July2013/V3I7-

0246.pdf

[33] Microsoft Security in Billions

Dostupno na:

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=2ahU

KEwjvnIrVivXhAhWjl4sKHbwFCysQFjAAegQIBBAC&url=http%3A%2F%2Fdownl

oad.microsoft.com%2Fdownload%2F5%2FC%2F1%2F5C112B87-6C78-4510-AF70-

223154558004%2FMicrosoft_Security_in_Billions_EN_US.pdf&usg=AOvVaw2sRp8

a9b1pni0AiDfRwcq_

[36] Survey of real case studies of various network based attacks in different clouds,

Research Article, Lomte S, Poonam M.Rokade, Manza R.R

Dostupno na: http://recentscientific.com/sites/default/files/12058-A-2018.pdf

[37] Web Services attacks and security – A Systematic literature review, Varsha R. Mouli

[39] Cloud Security: Services, Risks and Case Study on Amazon Cloud Services, Patrick

Mosca, Yanping Zhang, Zhifeng Xiao, Yun Wang

[40] Web services vulnerabilities, Nishchal Bhalla, Sahba Kazerooni,

Dostupno na: https://www.blackhat.com/presentations/bh-europe-07/Bhalla-

Kazerooni/Whitepaper/bh-eu-07-bhalla-WP.pdf

[43] Possible attacks on XML Web Services, Esmiralda Moradian, Stockholm University,

Anne Hakansson KTH Royal Insitute od Technology

Page 110: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

110

Dostupno na:

https://www.researchgate.net/publication/241442248_Possible_attacks_on_XML_Web

_Services

[44] Attacking and Defending Web Services, Pete Lindstrom

Dostupno na:

https://www.cse.iitb.ac.in/~madhumita/web%20services/Attacking%20and%20Defendi

ng%20Web%20Services.pdf

[45] A Survey of Attacks on Web Services, Classification and Countermeasures, Meiko

Jensen, Nils Gruschka, Ralph Herkenhoner,

Dostupno na: http://www.fim.uni-

passau.de/fileadmin/files/lehrstuhl/meer/publications/pdf/Jensen2009a.pdf

[48] Preventing XPath Injection Vulnerabilities in Web Applications, V.Shanmughaneethi,

National Institute of Technical Teachers Training and Research, Chennai, India

Dostupno na:

https://www.researchgate.net/publication/268352126_PXpathV_Preventing_XPath_Inj

ection_Vulnerabilities_in_Web_Applications

[50] Web services security, Overview, analysis and challenges, El Houssain Ben Messaoud

and Ouafaa Diouri

[51] Distributed Systems: Principles and Paradigms, Andrew S. Tanenbaum, Maarten Van

Steen

[52] Tehnologije distribuiranih informacionih sistema, Tehnički fakultet Mihajlo Pupin,

Ljubica Kazi, Biljana Radulović, Dalibor Dobrilović, Dragica Radosav, Branko

Markoski

[53] Distibuted systems Concepts and Design, George Coulouris, Jean Dollimore, Tim

Kindberg, Gordon Blair

[54] Distributed Comupting: Principles, Algorithms and Systems, Ajay D. Kshemkalyani,

Mukesh Singhal

[57] Distributed systems, Maarten Van Steen, Andrew S. Tanenbaum, third edition 2017

Dostupno na: https://komputasi.files.wordpress.com/2018/03/mvsteen-distributed-

systems-3rd-preliminary-version-3-01pre-2017-170215.pdf

[62] Securing Web Services using Service Token Security, Stelian Dumitra, Bogdan

Vasilciuc, Journal of Mobile, Embedded and Distributed Systems, vol.VI, no,2 2014

ISSN 2067-4074

Dostupno na:

http://www.jmeds.eu/index.php/jmeds/article/view/Securing_Web_Services_using_Ser

vice_Token_Security/pdf_7

[63] Programming Web Services with SOAP , Pavel Kulchenko, Doug Tidwell, James Snell

Dostupno na: https://www.oreilly.com/library/view/programming-web-

services/0596000952/ch01.html

[64] Web Service Conceptual Architecture (WSCA 1.0) IBM,

Dostupno na: https://www.csd.uoc.gr/~hy565/docs/pdfs/papers/wsca.pdf

[65] Intelligent security cycle: A rule based run time malicious code detection technique for

SOAP messages, Ahmad Mohsin, Sundas Asghar, Tariq Naeem

Dostupno na: https://www.researchgate.net/figure/An-overview-of-possible-attacks-on-

XML-Web-Services_tbl1_241442248

Page 111: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

111

[66] Anomaly Detection in XML-Structured SOAP Messages Using Tree-Based

Association Rule Mining, Reyhaneh Ghassem, Mohammad Abadollahi Azgomi, Reza

Fathi, Trustworthy Computing Laboratory, School of Computer Engineering Iran

University of Science and Technology, Teheran, Iran

Dostupno na:

https://www.researchgate.net/publication/303409483_Anomaly_Detection_in_XML-

Structured_SOAP_Messages_Using_Tree-Based_Association_Rule_Mining/download

[69] Web Services Security: SOAP Message Security 1.0 WS-Security, OASIS Standard,

Dostupno na: https://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-

message-security-1.0.pdf

[75] Upravljanje X.509 serifikatima u PKI sistemima, Miloš Milenković, Saša Adamović,

Marko Šarac, Dalibor Radovanović, Univerzitet Singidunum

[78] Web services Security UsernameToken Profile 1.1, OASIS Public Review Draft

Dostupno na: https://www.oasis-open.org/committees/download.php/13392/wss-v1.1-

spec-pr-UsernameTokenProfile-01.htm

[81] Securing Web Services Using XML Signature and XML Encryption, Kannan

Saravanan, George Abraham, Krishnakumar Venkatasubramanian, Kiransinh Borasia

School of Computer Science and Engineering, VIT University, Vellore, India

Dostupno na:

https://www.researchgate.net/publication/235771975_Securing_Web_Services_Using_

XML_Signature_and_XML_Encryption

[82] Web Services Security Based on XML signature and XML encryption, Gu Yue-sheng

Henan, Institute of Scince and Technology, Xinxiang, China

Dostupno na:

https://pdfs.semanticscholar.org/40d8/189495e97827b984ed6ca7bd8458067e0ee2.pdf

[88] Overview of Web Services Trust Language, Chuk Reeves, University of Washington,

CSEP 590 Practical Aspects of Modern Cryptography Project

Korišćeni veb sajtovi:

[5] http://cs.armstrong.edu/rasheed/ITEC2010/Slides1.pdf 14.04.2019

[6] https://privacyinternational.org/sites/default/files/2018-09/Part%203%20-

%20Data%20Protection%20Principles.pdf 14.04.2019

[7] https://cryptome.org/2013/09/infosecurity-cert.pdf 14.04.2019

[8] https://www.paloaltonetworks.com/cyberpedia/what-is-a-denial-of-service-attack-dos

15.04.2019

[9] https://www.digitalattackmap.com/understanding-ddos/ 15.04.2019

[10] https://www.a10networks.com/resources/articles/5-most-famous-ddos-attacks

15.04.2019

[11] https://www.avast.com/c-spoofing 15.04.2019

[12] https://us.norton.com/internetsecurit y-malware-what-is-a-computer-worm.html

17.04.2019

[13]

https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.sec.doc

/q009730_.htm 14.04.2019

Page 112: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

112

[17] http://www.ciscopress.com/articles/article.asp?p=1626588&seqNum=2 17.04.2019

[18] https://www.fairwarning.com/blog/power-audit-trail-data-security/ 18.04.2019

[19] https://www.smartsheet.com/audit-trails-and-logs 18.04.2019

[20] https://www.cisco.com/c/en/us/products/security/firewalls/what-is-a-firewall.html

18.04.2019

[21] https://www.eset.com/int/firewall/ 21.04.2019

[23] https://symbiosisonlinepublishing.com/computer-science-

technology/computerscience-information-technology32.php 20.04.2019

[24] https://www.tutorialspoint.com/cryptography/advanced_encryption_standard.htm

[25] https://cryptography.io/en/latest/hazmat/primitives/asymmetric/ 20.04.2019

[26] https://www.quora.com/What-is-the-difference-between-a-digital-certificate-a-digital-

signature 20.04.2019

[27] https://www.ncipher.com/solutions/use-case/credentialing-and-pki-applications/digital-

signatures 21.04.2019

[28] https://www.thalesesecurity.com/faq/public-key-infrastructure-pki/what-public-key-

infrastructure-pki 23.04.2019

[29] https://safeatlast.co/blog/cyber-attack-statistics/ 29.04.2019

[30] https://outpost24.com/blog/top-10-of-the-world-biggest-cyberattacks 29.04.2019

[31] https://go.ncipher.com/rs/104-QOX-775/images/2019-Ponemon-Global-Encryption-

Trends-Study-in-ar.pdf?_ga=2.259593162.1171680971.1555922439-

64398786.1555922439 30.04.2019

[32] https://www.microsoft.com/securityinsights/ 30.04.2019

[34] https://www.gartner.com/en/newsroom/press-releases/2018-08-15-gartner-forecasts-

worldwide-information-security-spending-to-exceed-124-billion-in-2019 02.05.2019

[35] https://www.varonis.com/blog/cybersecurity-statistics/

[38] https://www.lastpass.com/enterprise/security 09.05.2019

[41] https://flylib.com/books/en/2.87.1.77/1/ 08.05.2019

[42] http://ws-attacks.org/XML_Injection 06.05.2019

[46] https://www.ws-attacks.org/SOAPAction_Spoofing 09.05.2019

[47] https://www.owasp.org/index.php/XPATH_Injection 09.05.2019

[49] http://ws-attacks.org/Xpath_Injection 05.05.2019

[55]

https://www.ibm.com/support/knowledgecenter/en/SSAL2T_8.1.0/com.ibm.cics.tx.doc/

concepts/c_wht_is_distd_comptg.html

[56] https://pdfs.semanticscholar.org/5205/0379d51bf50deb5ee11aca06c3fb9c3859f0.pdf

10.05.2019

[58]

https://www.ibm.com/support/knowledgecenter/en/SSMQ79_9.5.1/com.ibm.egl.pg.doc

/topics/pegl_serv_overview.html 10.05.2019

[59] https://www.oracle.com/technetwork/articles/javase/wsprotocols-136863.html

14.05.2019

[60] https://www.oasis-open.org/committees/download.php/17817/ebxmljc-WhitePaper-wd-

r02-en.pdf 14.05.2019

[61] http://www.w3.org/standards/webofservices/ 13.05.2019

[67] http://ttl.masfak.ni.ac.rs/21IT/Predavanje_4_INTERNET_WEB_aplikacije.pdf

13.05.2019

Page 113: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

113

[68]

https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.ibm.etools.m

ft.doc/ac55630_.html 25.05.2019

[70] https://www.guru99.com/security-web-services.html 25.05.2019

[71] https://docs.oracle.com/cd/E17904_01/web.1111/b32511/standards.htm#WSSEC1117

18.05.2019

[72] https://www.globalsign.com/en-sg/ssl-information-center/what-is-ssl.html 18.05.2019

[73] https://www.varonis.com/blog/what-is-saml/ 25.05.2019

[74]

https://www.ibm.com/support/knowledgecenter/en/SSEQTP_liberty/com.ibm.webspher

e.wlp.doc/ae/cwlp_wssec_x509.html 27.05.2019

[76]

https://www.ibm.com/support/knowledgecenter/SSEQTP_9.0.0/com.ibm.websphere.ba

se.doc/ae/cwbs_usernametoken.html 27.05.2019

[77] https://docs.oracle.com/cd/E65459_01/dev.1112/e65461/content/authn_ws_user.html

27.05.2019

[79] http://www.setgetweb.com/p/WAS70/ws-security/part2.html

[80]

https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere

.nd.multiplatform.doc/ae/cwbs_encryptv6.html 21.05.2019

[83] https://www.w3.org/Submission/ws-addressing/ 29.05.2019

[84]

https://docs.oracle.com/cd/E24329_01/web.1211/e24965/wsaddressing.htm#WSADV6

64 29.05.2019

[85]

https://www.ibm.com/support/knowledgecenter/en/SSGMCP_5.2.0/com.ibm.cics.ts.we

bservices.doc/wsAddressing/example.html 30.05.2019

[86] https://www.techopedia.com/definition/13712/web-services-trust-language-ws-trust

29.05.2019

[87] https://www.techopedia.com/definition/24385/web-services-security-ws-security

25.05.2019

[89] https://searchsoftwarequality.techtarget.com/definition/WS-SecureConversation

29.05.2019

[90]

https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere

.nd.multiplatform.doc/ae/cwbs_wssecureconv.html 29.05.2019

[91] https://imi.pmf.kg.ac.rs/imi-blog/kerberos-autentifikacija-prvi-deo/ 27.05.2019

[92] https://www.varonis.com/blog/kerberos-authentication-explained/ 29.05.2019

[93] http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html 26.05.2019

[94] https://managementmania.com/en/ws-bpel-web-services-business-process-execution-

language 26.05.2019

[95] https://www.oasis-

open.org/committees/download.php/23070/The%20Business%20Value%20of%20WS-

BPEL%20for%20Business%20Analysts%20and%20Managers%20(Frank%20Leyman

n)%20-%20Part%201.pdf 26.05.2019

[96] https://docs.oracle.com/cd/E12483_01/integrate.1013/b28982/security.htm 27.05.2019

Page 114: Bezbedonosni aspekti primene veb servisa u okviru ... · rastućom zavisnošću od informacionih sistema u svim oblastima života, informacioni sistemi utiču skoro na svakoga. Način

Bezbedonosni aspekti primene veb servisa u okviru distribuiranih informacionoh sistema

114

[97]

https://www.ibm.com/support/knowledgecenter/SS8JB4/com.ibm.wbpm.wid.bpel.doc/t

opics/tcallothbp.html 26.05.2019

[98] https://www.service-architecture.com/articles/web-

services/web_services_reliability_ws-reliability.html 30.05.2019

[99]

https://www.ibm.com/support/knowledgecenter/en/SSMKHH_9.0.0/com.ibm.etools.mf

t.samples.wssecsamp.doc/doc/ws_rm_introduction.htm 30.05.2019

[100] http://xml.coverpages.org/WS-ReliabilityAnn.html 30.05.2019

[101]

https://www.ibm.com/support/knowledgecenter/en/SSAW57_8.5.5/com.ibm.websphere

.nd.multiplatform.doc/ae/cwbs_wsrm_how.html 02.06.2019

[102] https://www.nbs.rs/internet/cirilica/16/index.html 01.06.2019

[103] https://webservices.nbs.rs/CommunicationOfficeSiteDoc/SerCyrl/default.html

01.06.2019

[104]

https://webservices.nbs.rs/CommunicationOfficeService1_0/ExchangeRateService.asm

x?op=GetCurrentExchangeRate 01.06.2019

[105] https://webservices.nbs.rs/CommunicationOfficeSiteDoc/SerCyrl/default.html

01.06.2019

[106]

https://webservices.nbs.rs/CommunicationOfficeService1_0/CurrentExchangeRateServ

ice.asmx 01.06.2019

[107] https://webservices.nbs.rs/CommunicationOfficeSiteDoc/SerCyrl/default.html

01.06.2019

[108]

https://webservices.nbs.rs/CommunicationOfficeSiteDoc/SerCyrl/CommunicationOffic

eService/CurrentExchangeRateService/XsdSchema/GetCurrentExchangeRateList.txt

01.06.2019

[109] http://www.croso.gov.rs/storage/files/euputstva/uputstvo_obveznik_13112013.pdf

01.06.2019

[110] https://ca.halcom.rs/RA/?mode=orderCorporate 01.06.2019

[111] https://economictimes.indiatimes.com/definition/authorization 16.06.2019

[112] https://www.techopedia.com/definition/4099/security-policy 16.06.2019

[113] https://www.avast.com/c-spoofing 16.06.2019

[114] https://www.avast.com/c-sniffer 16.06.2019

Slike koje nisu referencirane su delo autora realizovane za potrebe master rada.