7005972 matija-zeman-sigurnost-web-aplikacija-zasnovanih-na-ajax-tehnologiji videoslike
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

7005972 matija-zeman-sigurnost-web-aplikacija-zasnovanih-na-ajax-tehnologiji videoslike

  • 325 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
325
On Slideshare
325
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Poštovanje, dobar dan. Moje ime je Matija Zeman, a tema mog diplomskog rada je sigurnost web aplikacija zasnovanih na AJAX tehnologiji.
  • Govoriti ću Vam o AJAX-u, sigurnosti web aplikacija, sigurnosti AJAX aplikacija i ukratko prezentirati WebIKE aplikaciju stvorenu u praktičnom dijelu diplomskog rada.
  • AJAX je kratica za Asinkroni javascript i XML. AJAX je skup tehnologija koji primarno obuhvaća: Javascript skriptni jezik XMLHttpRequest objekt za asinkrone pozive prema poslužitelju i XML i JSON kao formate zapisa podataka. AJAX model web aplikacija razlikuje se od tradicionalnog jer koristi mnoštvo JS koda koji se izvodi u pregledniku a komunicira s korisničkim sučeljem na jednoj strani (dakle prima pozive kroz JS a kao odgovor vraća HTML i CSS sadržaj) i asinkrono s poslužiteljem na drugoj strani. Dohvat novog sadržaja AJAX pozivima vrši se na 3 osnovna načina, kao: Dohvat HTML koda i umetanje u trenutnu stranicu Dohvat XML zapisa i manipulacija Dohvat JSON zapisa i evaluacija, tj. deserijalizacija
  • U sigurnosti web aplikacija jedna od najznačajnijih referenci je Open Web application security project i njihova Top 10 lista ranjivosti. Za AJAX aplikacije, najznačajnije su izvršavanje napadačkog koda (XSS) koji je i općenito najčešća ranjivost web aplikacija, ali i krivotvorenje zahjteva (CSRF) koji je najčešće u kombinaciji s XSS napdaom. Sam XSS napad, pojavljuje se u 67,59% slučajeva ranjivosti, te je na njega ranjivo 85,57% web aplikacija.
  • Sigurnost ajax aplikacija se bitno ne razlikuje od sigurnosti tradicionalnih web aplikacija jer AJAX ne uvodi nove probleme, ali koristi: Višestruke razbacane krajnje točke i skrivene pozive Zbunjujuća je provjera korisničkog unosa jer se može vršiti i na klijentu i na poslužitelju Ajax aplikacije često koriste nepovjerljive izvore informacija i serijalizaciju podataka Te imaju mogućnost izgradnje i izvođenja dinamičkih skripti Preglednici implementacijom politike istog izvora (Same origin policy) sprječavaju dokument ili skriptu s jednog izvora u komunikaciji ili manipulaciji skriptom s drugog izvora i to je osnovni problem koji napadači žele zaobići. Tipični napadi koji koriste AJAX ili napadaju AJAX aplikacije su Otimanje JavaScript koda Napadi na lokalnu mrežu kroz JS JIKTO alat i XSS posrednik I Samy crv kao najpoznatiji AJAX crv
  • U praktičnom dijelu diplomskog rada stvorio sam WebIKE aplikaciju kojoj je osnovna namjena konverzija konfiguracija za različite IKE alate, testiranje konfiguracija i pokretanje IKE alata. Također, aplikacija je pripremljena za proširenja prema IKEv2 alatu koji se razvija na ZEMIRS-u. Kao i svaka AJAX aplikacija, WebIKE se sastoji od koda na poslužitelju i koda na klijentu. Kod na poslužitelju izveden je kroz Zend framework PHP okruženje i koristi Model-View-Controller arhitekturu, dok je kod na klijentu izveden Javascriptom uz korištenje Yahoo User Interface biblioteke.
  • Svaki IKE alat u konfiguracijskoj datoteci sadrži mnoštvo opcija, među kojima su one osnovne zajedničke različitim alatima. Stoga sam stvorio generičku XML konfiguraciju sa zajedničkim opcijama, te konverzijom njihovih vrijednosti prema pojedinom predlošku stvarao konfiguracijske datoteke specifične pojedinom IKE alatu. *Konverzija: Prijenos vrijednosti iz generičke konfiguracije na odgovarajuće mjesto u konfiguracijskoj datoteci Dodatna obrada i dodavanje specifičnih opcija ovisno o pojedinim zahtjevima konfiguracijske datoteke
  • Aplikacija se zasniva na AJAXu i MVC arhitekturi pa radi na slijedeći način. Korisnik klikom u pregledniku pokreće željeni događaj. AJAX komponenta u pregledniku šalje asinkroni zahtjev proslužitelju gdje se on prima u punilac i usmjerava na traženu kontrolu koja izvodi odgovarajuću akciju. Kontrole putem modela imaju pristup bazi podataka i operacijskom sustavu, te korištenjem pogleda stvaraju odgovor koji se vraća klijentu. Kad klijent primi odgovor, izvršava JS kod i stvara novi izgled korisničkog sučelja.
  • Aplikacija se zasniva na AJAXu i MVC arhitekturi pa radi na slijedeći način. Korisnik klikom u pregledniku pokreće željeni događaj. AJAX komponenta u pregledniku šalje asinkroni zahtjev proslužitelju gdje se on prima u punilac i usmjerava na traženu kontrolu koja izvodi odgovarajuću akciju. Kontrole putem modela imaju pristup bazi podataka i operacijskom sustavu, te korištenjem pogleda stvaraju odgovor koji se vraća klijentu. Kad klijent primi odgovor, izvršava JS kod i stvara novi izgled korisničkog sučelja.
  • Za aplikaciju je stvoren model prijetnji pručavanjem ključnih scenarija (na primjer učitavanje datoteke, pokretanje IKE alata..), proučavanjem korištenih tehnologija (Apache, SQL, PHP), proučavanje implementiranih sigurnosnih mehanizama (CHAP autentifikacija, kontrola sjednice..), te pručavanjem prijetnji specifičnih za aplikaciju obzirom na njene zadatke (na primjer dohvat sistemskih datoteka, XSS ubacivanje u konfiguracijske datoteke...). Osim modela prijetnji, izvršeno je i automatsko testiranje Paros alatom koje nije dalo zadovoljavajuće rezultate ali su uspješno identificirani pozivi i parametri, te ručno testiranje kojim su pronađeni manji problemi i odmah ispravljeni.
  • I na kraju, kroz sam rad, prikazani su trendovi zloćudnog koda na internetu, prije svega: Opadanje broja tradicionalnih virusa I Povećanje broja virusa/crva koji postoje i šire se na Webu kao platformi Što se tiče aplikacije, potrebno je napomenuti upitnu isplativost AJAX mehanizma u svim segmentima ove specifične aplikacije obzirom da uzrokuje manje probleme pri proširenju, međutim, aplikacija je prilagođena proširenju za IKev2 alat ali i jačanju sigurnosnih mehanizama obzirom na zahtjevan visok nivo sigurnosti aplikacije.
  • Opis rada...

Transcript

  • 1. DIPLOMSKI RAD br. 1656 Sigurnost Web aplikacijazasnovanih na AJAX tehnologiji Matija Zeman Zagreb, srpanj 2007. 1 od 11
  • 2. Uvod ♦ AJAX ♦ Sigurnost Web aplikacija – OWASP Top 10 ♦ Sigurnost AJAX aplikacija ♦ WebIKE aplikacija  Konfiguracijske datoteke  Načinrada  Model prijetnji, zaštita, testiranje Zagreb, srpanj 2007. 2 od 11
  • 3. AJAX ♦ AJAX  Asinkroni JavaScript i XML ♦ Elementi AJAX-a  JavaScript  XMLHttpRequestObject  XML, JSON ♦ Načini dohvata  Dohvat HTML-a i umetanje  Dohvat XML-a i manipulacija  Dohvat JSON-a i evaluacija Zagreb, srpanj 2007. 3 od 11
  • 4. Sigurnost Web aplikacija - OWASP Top 10  Izvršavanje napadačkog kôda – XSS  Propusti ubacivanja  Izvođenje zlonamjernih datoteka  Nesigurna izravna referenca na objekt  Krivotvorenje zahtjeva – CSRF  Ispuštanje informacija i neispravno rukovanje pogreškama  Razbijena autentifikacija i kontrola sjednice  Nesigurna kriptografska pohrana  Nesigurne komunikacije  Neuspješna zaštita pristupa URL-u Zagreb, srpanj 2007. 4 od 11
  • 5. Sigurnost AJAX aplikacija ♦ AJAX nema novih sigurnosnih problema  Višestruke razbacane krajnje točke i skriveni pozivi  Zbunjujuća provjera  Nepovjerljivi izvori informacija i serijalizacija podataka  Izgradnja i izvođenje dinamičkih skripti ♦ Politika istog izvora (Same origin policy) ♦ Napadi  Otimanje JavaScript koda  Napadi na lokalnu mrežu  JIKTO, XSS posrednik  Samy crv Zagreb, srpanj 2007. 5 od 11
  • 6. Praktični rad - WebIKE ♦ Konverzije konfiguracija za različite IKE alate ♦ Testiranja različitih konfiguracija ♦ Pokretanje IKE alata (racoon) ♦ Proširenja za IKEv2 alat ♦ Kod na poslužitelju – Zend framework MVC ♦ Kod na klijentu – Yahoo! UI toolkit - AJAX Zagreb, srpanj 2007. 6 od 11
  • 7. Konfiguracijske datoteke ♦ IKE alati  Konfiguracijske datoteke ♦ Generička XML konfiguracija i shema  Zajedničke opcije ♦ Predlošci datoteka ♦ Konverzija Zagreb, srpanj 2007. 7 od 11
  • 8. Način rada aplikacije – AJAX + MVC Zagreb, srpanj 2007. 8 od 11
  • 9. Prezentacija aplikacije VIDEO ZAPIS Zagreb, srpanj 2007. 9 od 11
  • 10. Model prijetnji, zaštita, testiranje ♦ Ključni scenariji aplikacije ♦ Korištene tehnologije ♦ Sigurnosni mehanizmi aplikacije ♦ Specifične prijetnje i način zaštite ♦ Automatsko testiranje – Paros alat  Identificirani pozivi i parametri ♦ Ručno testiranje  Manji problemi koji su ispravljeni Zagreb, srpanj 2007. 10 od 11
  • 11. Zaključak ♦ Trendovi zloćudnog koda na Internetu ♦ Aplikacija  Upitna isplativost AJAX-a (Web-a kao platforme) Manje komplikacije pri proširivosti  Proširenje mogućnosti (IKEv2)  Jačanje sigurnosnih mehanizama Zagreb, srpanj 2007. 11 od 11
  • 12. Zagreb, srpanj 2007. 23 od 11