Univerzitet u Novom Sadu Tehniki fakultet Mihajlo Pupin

  • Slides: 22
Download presentation
Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Bezbedonosni aspekti primene veb servisa

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

Predmet istraživanja su bezbednosni aspekti, tehnike i metode primene veb servisa u okviru distribuiranih

Predmet istraživanja su bezbednosni aspekti, tehnike i metode primene veb servisa u okviru distribuiranih informacionih sistema. Problem istraživanja je bezbednost poslovnih aplikacija, tehnike i metode koje se mogu primeniti kako bi se obezbedila sigurna implementacija veb servisa u poslovne aplikacije i obezbedila sigurna distribucija podataka. 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 i razvoj primera konkretnih procesa. Hipoteza: Savremene tehnologije razvoja veb aplikacija omogućavaju interakciju sa veb servisima i primenu bezbednosnih elemenata.

Bezbednost u oblasti IT - Računarska bezbednost je zaštita koja se pruža automatizovanom informacionom

Bezbednost u oblasti IT - Računarska bezbednost je zaštita koja se pruža automatizovanom informacionom sistemu u cilju postizanja očuvanja integriteta, dostupnosti i poverljivosti resursa informacionog sistema uključujući hardver, softver i podatke Srž računarske sigurnosti predstavlja: - Poverljivost (Confidentiality) - Integritet (Integrity) - Dostupnost (Availability) Gubitak poverljivosti – neovlašćeno otkrivanje informacija Gubitak integriteta – neovlašćena izmena ili uništavanje informacija Gubitak dostupnosti – ometanje pristupa informacijama ili informacionom sistemu

Sigurnosni napadi i pretnje Pretnje su potencijalne neželjene radnje ili pojave, koje izvršavaju ili

Sigurnosni napadi i pretnje 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. Napadi su akcije koje su usmerene na kompromitaciju sigurnosti informacija, računarskih sistema i mreža. Pasivni napadi: ne uključuju promenu podataka, cilj je prisluškivanje i nadgledanje prenosa, naglasak je na prevenciji a, ne na otkrivanju. Aktivni napadi: uključuju modifikaciju podataka, pokušavaju da promene sistemske resurse ili da utiču na njihov rad. Ranjivost je slabost sredstava koja se može iskoristiti i izazvati neželjene efekte, odnosi se na manu u sistemu koja ga može ostaviti otvorenim za napad. Rizik je mera opasnosti tj. mogućnost da se desi oštećenje ili gubitak informacije, hardvera, intelektualne svojine, prestiža Ili ugleda. Rizik=pretnja*ranjivost*vrednost imovine

Najčešći napadi i pretnje: Mehanizmi bezbednosti: - Odbijanje usluge (Do. S, DDo. S) -

Najčešći napadi i pretnje: Mehanizmi bezbednosti: - Odbijanje usluge (Do. S, DDo. S) - Spoofing - Sniffing - Autentifikacija - Autorizacija - Kontrolni trag (audit trails) - Zaštitni zid (firewalls) - Kriptografija - Simetrični algoritmi (DES, triple DES, AES) - Asimetrični algoritmi (RSA, digitalni potpis, PKI) -Trojanski konj - Klopka (Trap Door) - Prelivanje bafera (Buffer Overflow) - Crvi - Virusi Implementacija bezbednosti: - Prevencija - smanjenje verovatnoće da se pretnja pretvori u napad - Detekcija - otkrivanje napada - Odgovor - zaustavljanje napada i sprečavanje daljeg oštećenja - Oporavak - obnova oštećenih resursa

Distribuirani sistemi Distribuirani sistem je sistem u kojem komponente koje se nalaze na umreženim

Distribuirani sistemi Distribuirani sistem je sistem u kojem komponente koje se nalaze na umreženim računarima komuniciraju i koordiniraju svoje akcije samo putem poruka, to je skup nezavisnih računara koji se korisnicima javlja kao jedan jedinstven, koherentan sistem. Ključne komercijalne i socijalne aplikacije koriste tehnologiju distribuiranih sistema E-commerce (Amazon, e. Bay) Tehnologije plaćanja (Pay. Pal, on-line bankarstvo) Obrazovanje (e-learning) Informaciono društvo (Google, Yahoo, Youtube, Facebook) Kreativna industrija (on-line igre) Transport i logistika (Map. Quest, Google Maps, Google Earth) Zdravstvena zaštita (telemedicina) Nauka (pojava Grid-a kao osnove e-Science)

Distribuirani računarski sistemi: višestruki računarski sistemi, povezani računarskom mrežom koji rade na jednom problemu.

Distribuirani računarski sistemi: višestruki računarski sistemi, povezani računarskom mrežom koji rade na jednom problemu. Cilj je maksimiziranje performansi povezivanjem korisnika i IT resursa na ekonomičan, transparentan i pouzdan način. Distribuirani informacioni sistemi: podržavaju distibuiranu obradu podataka nad distribuiranom bazom podataka. Cilj je fizička distribucija podataka, preko dva ili više računarska objekta. Distribuirani integrisani sistemi: su povezani sa širim mehaničkim ili električnim sistemom i predstavljaju kompletan uređaj koji obično sadrži hardverske i mehaničke komponente. Cilj je manji nivo potrošnje energije, manje dimenzije, manji troškovi. Organizacija distribuiranih sistema: - Klijent server arhitektura - Višeslojna arhitektura - Servisno orijentisana arhitektura (SOA)

Veb servisi Veb servis je softverski sistem, čiji su javni interfejsi i vezivanja definisani

Veb servisi Veb servis je softverski sistem, čiji su javni interfejsi i vezivanja definisani i opisani pomoću XML-a, čiju definiciju mogu otkriti drugi softverski sistemi, čija se komunikacija odvija koristeći poruke zasnovane na XML-u koje prenose internet protokoli. Veb servisi pružaju okvir za razvoj, integraciju i interoperabilnost distribuiranih softverskih aplikacija XML je jezik označavanja. XML oznaka identifikuje informacije u dokumentu i identifikuje strukturu podataka. <book> <title>My life and times</title> <author>Felix Harrison</author> <price>39, 95</price> </book> SOAP je protokol zasnovan na XML-u za razmenu informacija u distribuiranom okruženju. WSDL je dokument koji se koristi za opisivanje veb usluga u smislu karakteristika, funkcija i mehanizama vezivanja. UDDI je registar koji pruža informacije o servisu: ime, kratak opis, adresu i opis interfejsa za pristup servisu.

 Tehnologije bezbednosti veb servisa SSL i TLS WS-Reliable messaging WS-Reliability XML enkripcija i

Tehnologije bezbednosti veb servisa SSL i TLS WS-Reliable messaging WS-Reliability XML enkripcija i XML potpis Veb servis WS-Addresing WS-Security WS-Trust WS-Secure Converstation

SSL i TLS su protokoli za prenos podataka u transportnom sloju. Kriptografski bezbedni protokoli

SSL i TLS su protokoli za prenos podataka u transportnom sloju. Kriptografski bezbedni protokoli za obezbeđivanje sigurne mrežne komunikacije. Cilj je da obezbede integritet i privatnost u komunikaciji. XML enkripcija sadrži korake za šifrovanje i dešifrovanje podataka, XML sintaksu za predstavljanje šifrovanih podataka, informacije koje će se koristiti za dešifrovanje kao i listu algoritama. Koristi se da bi se osiguralo da samo ovlašćeni primaoc može da razume poruku. XML potpis obezbeđuju integritet XML podataka i koristi se da bi se osiguralo da su podaci primljeni u istom obliku bez modifikacije. XML dokument posle enkripcije <Payment. Info xmlns='http: //example. org/paymentv 2'> XML dokument pre enkripcije <Payment. Info xmlns='http: //example. org/paymentv 2'> <Name>John Smith</Name> <Credit. Card Limit='5, 000' Currency='USD'> <Number>4019 2445 0277 5567</Number> <Issuer>Example Bank</Issuer> <Expiration>04/02</Expiration> </Credit. Card> </Payment. Info> <Name>John Smith</Name> <Encrypted. Data Type='http: //www. w 3. org/2001/04/xmlenc#Element' xmlns='http: //www. w 3. org/2001/04/xmlenc#'> <Encryption. Method Algorithm='http: //www. w 3. org/2001/04/xmlenc#tripledes-cbc'/> <Key. Info xmlns='http: //www. w 3. org/2000/09/xmldsig#'> <Key. Name>John Smith</Key. Name> </Key. Info> <Cipher. Data> <Cipher. Value>yd. UNq. Hk. Mr. D. . . </Cipher. Value> </Cipher. Data> </Encrypted. Data> </Payment. Info>

WS-Security je standard na nivou poruka koji se zasniva na obezbeđivanju SOAP poruka putem

WS-Security je standard na nivou poruka koji se zasniva na obezbeđivanju SOAP poruka putem XML digitalnog potpisa, poverljivosti putem XML šifrovanja i propagacije akreditiva preko sigurnosnih tokena. WS-Security tokeni User. Name tokeni Korisničko ime definiše način na koji korisnik veb servisa daje korisničko ime kao akreditaciju za potvrdu identiteta. Korisničko ime i lozinka se koriste za autentifikaciju poruke. <Username. Token Id=". . . "> <Username>. . . </Username> <Password Type=". . ">. . . </Password></Usernam e. Token> X. 509 certificate Kerberos tokeni Digitalni sertifikat X. 509 je Kerberos obezbeđuje struktura podataka kreirana međusobnu autentifikaciju za slanje javnog ključa između dva entiteta koji se primaocu. Sertifikat sadrži oslanjaju na tajni ključ. ID sertifikata, datum Kerberos token obezbeđuje važenja, podatke vlasnika, sistem jedinstvene prijave. javni ključ. Ovaj standard Uključuje klijenta, server i predviđa načine povlačenja pouzdanu stranu za sertifikata kao i algoritme za posredovanje između njih, šifrovanje. centar za distribuciju ključeva KDC. SAML tokeni SAML omogućava korišćenje jednog seta akreditiva za prijavljivanje na mnogo različitih veb lokacija. SAML je veza između autentifikacije identiteta i ovlašćenja za korišćenje usluge. SAML prosleđuje informacije o korisnicima, prijavama i atributima izemeđu provajdera identita i pružaoca usluga.

WS-Trust se odnosi na specifikaciju koja je definisana za kontrolu izdavanja, obnavljanja i validacije

WS-Trust se odnosi na specifikaciju koja je definisana za kontrolu izdavanja, obnavljanja i validacije tokena za veb bezbednost. Odgovoran je za stvaranje sigurnog kanala između učesnika pre nego što se može obaviti razmena poruka. Dve strane koje komuniciraju moraju direktno ili indirektno da razmenjuju bezbednosne akreditive kako bi pokrenule bezbedno slanje poruka. 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 koristi za olakšavanje sigurne komunikacije do kraja sesije. WS-Addressing definiše dva interoperabilna konstrukta, to su reference krajnje tačke i zaglavlja informacija o poruci. Krajnje tačke su jedinstveno i nedvosmisleno definisane u SOAP zaglavlju, čime se sprečava preusmeravanje. Pruža transportno neutralan mehanizam za adresiranje veb servisa i njihovih povezanih poruka.

WS-Reliability je specifikacija za otvorene, pouzdane veb servise za razmenu poruka sa izabranim kvalitetom

WS-Reliability je specifikacija za otvorene, pouzdane veb servise za razmenu poruka sa izabranim kvalitetom usluga koji obezbeđuje sledeće aspekte isporuke poruka: - upornost poruke, - potvrdu poruke i ponovno slanje, - eliminisanje duplikata poruka, - uređeno slanje poruka, - svesnost statusa isporuke pošiljaoca i primaoca. WS-Reliable messaging je koncept sekvence, koja je ugovor između klijenta 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 i specifična je 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 provajdera i sve naredne poruke se isporučuju u toj sekvenci.

Bezbednost veb servisa u poslovnim aplikacijama WS-BPEL (Web Services Business Process Execution Language) je

Bezbednost veb servisa u poslovnim aplikacijama WS-BPEL (Web Services Business Process Execution Language) je jezik izvršavanja poslovnih procesa, koji su zasnovani isključivo na upotrebi veb servisa. Omogućava agregacju veb servisa, što omogućava povezivanje više veb servisa u jedan ili više veb servisa pomoću modela poslovnog procesa. Definiše interoperabilan model integracije koji olakšava ekspanziju automatizovane integracije procesa u modelu B 2 B (business-to-business) Bezbednost WS-BPEL: - WS-Security - Autentifikacija - Autorizacija - Enkripcija i dekripcija - SSL - Digitalni potpis - BPEL Security Extension

 eb. XML (Electronic Business Extensible Markup Language) je B 2 B okvir koji

eb. XML (Electronic Business Extensible Markup Language) je B 2 B okvir koji omogućava poslovnu saradnju na globalnom elektronskom tržištu. Razvijen je od strane OASIS-a i UN/CEFACT. eb. XML specifikacija omogućava elektronske trgovinske odnose između poslovnih partnera i integraciju novih tehnologija: - Razmenu podataka - Registraciju i obezbeđivanje e. Business proizvoda i usluga - Konfigurianje tehničkih ugovora između poslovnih partnera - Siguran i pouzdan transport - Poslovne procese Heterogena priroda transakcija E-poslovanja zahteva fleksibilnu infrastrukturu koja podržava servisne pozive i složenu razmenu podataka Bezbednost eb. XML: - Autentifikacija - Autorizacija - WS-Reliability - Digitalni potpis - WS-Security

Veb servis Narodne banke Srbije Narodna banke Srbije jedan skup svojih podataka publikuje javnosti

Veb servis Narodne banke Srbije Narodna banke Srbije jedan skup svojih podataka publikuje javnosti putem skupa javnih veb servisa. Na taj način je javnosti omogućen pristup podacima koji su u posedu NBS, upotrebom konzistentnih programskih interfejsa. Prednosti korišćenja veb servisa: - Jednostavna integracija javnih podataka NBS u softverske sisteme korisnika usluga - Stalan (24 x 7) pristup podacima - Smanjenje rizika prouzorokovanih ljudskim faktorom - Smanjene troškova (automatizacijom procesa pristupa podacima) Implementacija veb servisa se sastoji od: -Kreiranja veb servis klijenta, čijim kreiranjem se generiše klasa Authentication. Header koja sadrži (User. Name, Password, Licence. ID) -Implementacije programskog koda koji omogućava pozivanje metoda veb servisa

Sledeći statistički podaci pokazuju koliko je napada izazvano eksploatacijom slabih tačaka u sistemima, pretnje

Sledeći statistički podaci pokazuju koliko je napada izazvano eksploatacijom slabih tačaka u sistemima, pretnje sa kojima se suočavaju mala i srednja preduzeća i ogormni gubici čak i najzaštićenijih kompanija: - Napadi se dešavaju svakih 39 sekundi - Do 2022. godine biće oko 6 milijardi korisnika interneta - Do 2020 biće oko 200 milijardi povezanih uređaja - 38% globalnih organizacija tvrdi da su adekvatno pripremljeni da se nose sa sofisticiranim sajber napadima - u 2018. godini otkriveno je 40. 000 novih pretnji prema izveštaju Mc. Afee-a - Samo 15% korisnika tvrdi da nije bilo izloženo sigurnosnim pretnjama zasnovanim na e-pošti - DDo. S napadi su se povećali za 500% - 82% ispitanika smatra da će nove pretnje dovesti do povećanog rizika od krađe novca i podataka, 80% očekuje povećanje poremećaja u poslovanju, 43% napada cilja mala preduzeća - Kibernetički kriminal bi mogao koštati kompanije 5, 2 triliona $ u narednih 5 godina, pre tri godine ta cifra je bila 100 milijardi $

Microsoft mesečno analizira: - 450 biliona cloud autentifikacija - 400 biliona e-mail-ova za malware

Microsoft mesečno analizira: - 450 biliona cloud autentifikacija - 400 biliona e-mail-ova za malware - 18 biliona veb stranica - ažurira 1 bilion windows uređaja - 15 biliona dolara se ulaže u cloud infrasturkturu - 1 bilion dolara se godišnje potroši na bezbednost

Studija sigurnosti veb servisa, sigurnosni rizici, pretnje i kontramere Napadi na veb servise se

Studija sigurnosti veb servisa, sigurnosni rizici, pretnje i kontramere Napadi na veb servise se mogu klasifikovati u tri klase: - Infrasturkturni napadi, povezani sa veb serverima na kojima se nalaze veb servisi - Napadi na veb servise, izvorno zasnovani na tehnologiji koja pokreće veb servise - XML sadržajni napadi, pretnje zasnovane na XML-u WSDL scanning XML injection WSDL je deskriptor implementacije veb servisa, objavljuje Napadač pokušava da ubaci različite XML oznake u SOAP lokaciju, metode, ulazne i izlazne tačke. Napad se realizuje poruku sa ciljem modifikacije XML strukture. dodavanjem WSDL ili. WSDL na kraj URL za otkrivanje Zaštita autentifikacija i autorizacija. WSDL datoteke Smanjenje rizika od napada , učiniti WSDL datoteke javno nedostupnim. Do. S napad Xpath Injection Do. S napadi utiču na dostupnost servisa i njegovih resursa Xpath je jezik koji omogućava XML upitu da locira informacije. validnim korisnicima. Napad se izvodi slanjem velike Xpath Injection se koristi za eksploataciju aplikacija koje količine zahteva na server, slajem izuzetno velikih XML koriste Xpath upite iz korisničkog unosa ili za navigaciju XML dokumenta. Zaštita je jaka validacija i upotreba dokumenata, kao i repetitivno slanje šifrovanih poruka. Zaštita se sastoji u ograničavanju ukupne veličine bafera za parametrizovanih Xpath upita. dolazne SOAP poruke. SOAPAction spoofing SOAPAction je dodatni element zaglavlja, koji sadrži ime izvršne operacije, daje informaciju koja se operacija nalazi u SOAP telu. Napad se realizuje pozivanjem operacije koja je naveden au SOAP telu. Zaštita, operacija u zaglavlju i sadržaj SOAP tela moraju biti kompatibilne i svaka razlika se smatra pretnjom i rezultatom odbijanja zahteva za veb servis.

Implementirano rešenje Ilustrovan je primer distributivnog centra za isporuku robe iz najbližeg magacina ,

Implementirano rešenje Ilustrovan je primer distributivnog centra za isporuku robe iz najbližeg magacina , odnosno poziv veb servisa za prikaz stanja robe po magacinima i na osnovu toga izbor najbližeg. public Auth. Header Autentikacija; [Web. Method] [Soap. Header ("Autentikacija")] public string Stanje. Zaliha. Robe(string Sifra. Robe) { string Stanje. Robe = ""; Data. Set ds. Stanje = new Data. Set(); string putanja. XML = Server. Map. Path("~/")+ "Stanje. Zaliha. Robe. Po. Magacinima. xml"; ds. Stanje. Read. Xml(putanja. XML); if (Autentikacija. User. Name == "lidija" && Autentikacija. Password == "lidija") { Data. Row[] result = ds. Stanje. Tables[0]. Select("Sifra. Robe='" + Sifra. Robe + "'"); Stanje. Robe = result[0]. Item. Array[1]. To. String(); return Stanje. Robe; } else { return "Niste ovlasceni da koristite uslugu"; } Service. Reference 1. WSStanje. Robe. Po. Magacinima. Soap. Client w. SStanje = new Service. Reference 1. WSStanje. Robe. Po. Magacinima. Soap. Client(); string magacini = w. SStanje. Zaliha. Robe(new Service. Reference 1. Auth. Header() { User. Name = "lidija", Password = "lidija"}, (txt. Sifra. Robe. Text)); lbl. Magacini. Text = magacini. To. String();

Zaključak Osnovna hipoteza istraživanja je bila da savremene tehnologije razvoja veb aplikacija omogućavaju interakciju

Zaključak Osnovna hipoteza istraživanja 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 radu. Empirijskim istraživanjem postojećih rešenja , kao i realizacijom konkretnog primera takođe je dokazana osnovna hipoteza istraživanja. Dalja istraživanja bi se mogla odnositi na nove metode i tehnike bezbednosti, implementaciju sigurnosnih Tokena, metoda šifrovanja i elektronskih sertifikata, kao i metoda za ispitivanje bezbednosti veb servisa.

 HVALA NA PAŽNJI!!! .

HVALA NA PAŽNJI!!! .