EITC/IS/WASF Web Applications Security Fundamentals je evropski program IT sertifikacije o teoretskim i praktičnim aspektima sigurnosti World Wide Web servisa u rasponu od sigurnosti osnovnih web protokola, preko privatnosti, prijetnji i napada na različite slojeve mrežnog prometa mrežne komunikacije, web sigurnost servera, sigurnost na višim nivoima, uključujući web pretraživače i web aplikacije, kao i autentifikaciju, certifikate i phising.
Nastavni plan i program EITC/IS/WASF Osnove sigurnosti web aplikacija pokriva uvod u HTML i JavaScript aspekte web sigurnosti, DNS, HTTP, kolačiće, sesije, kolačiće i napade na sesije, istu politiku porijekla, krivotvorenje zahtjeva na više lokacija, izuzetke od istog Origin Policy, Cross-Site Scripting (XSS), Cross-Site Scripting odbranu, web fingerprinting, privatnost na webu, DoS, phishing i sporedni kanali, uskraćivanje usluge, krađa identiteta i sporedni kanali, napadi injekcijom, ubrizgavanje koda, transport sigurnost sloja (TLS) i napadi, HTTPS u stvarnom svijetu, autentifikacija, WebAuthn, upravljanje web sigurnošću, sigurnosni problemi u Node.js projektu, sigurnost servera, sigurno kodiranje, sigurnost lokalnog HTTP servera, napadi ponovnog povezivanja DNS-a, napadi pretraživača, preglednik arhitekturu, kao i pisanje bezbednog koda pretraživača, u okviru sledeće strukture, koja obuhvata sveobuhvatan video didaktički sadržaj kao referencu za ovu EITC sertifikat.
Sigurnost web aplikacija je podskup sigurnosti informacija koji se fokusira na sigurnost web mjesta, web aplikacija i web usluga. Sigurnost web aplikacija, na svom najosnovnijem nivou, zasniva se na principima sigurnosti aplikacija, ali ih posebno primjenjuje na internet i web platforme. Sigurnosne tehnologije web aplikacija, kao što su zaštitni zidovi web aplikacija, su specijalizovani alati za rad sa HTTP saobraćajem.
Open Web Application Security Project (OWASP) nudi resurse koji su besplatni i otvoreni. Za to je zadužena neprofitna OWASP fondacija. OWASP Top 2017 za 10. rezultat je trenutne studije zasnovane na obimnim podacima prikupljenim od preko 40 partnerskih organizacija. Otprilike 2.3 miliona ranjivosti otkriveno je u preko 50,000 aplikacija koristeći ove podatke. Prvih deset najkritičnijih sigurnosnih problema na mreži, prema OWASP Top 10 – 2017, su:
- ubrizgavanje
- Problemi s autentifikacijom
- Izloženi osjetljivi podaci XML eksterni entiteti (XXE)
- Kontrola pristupa koja ne radi
- Pogrešna konfiguracija sigurnosti
- Skriptiranje od lokacije do lokacije (XSS)
- Deserijalizacija koja nije sigurna
- Korištenje komponenti koje imaju poznate nedostatke
- Evidentiranje i praćenje su nedovoljni.
Stoga je praksa obrane web stranica i online usluga od raznih sigurnosnih prijetnji koje iskorištavaju slabosti u kodu aplikacije poznata kao sigurnost web aplikacija. Sistemi za upravljanje sadržajem (npr. WordPress), alati za administraciju baze podataka (npr. phpMyAdmin) i SaaS aplikacije su uobičajene mete za napade na onlajn aplikacije.
Počinioci smatraju da su web aplikacije mete visokog prioriteta jer:
- Zbog zamršenosti njihovog izvornog koda, vjerovatnije su ranjivosti bez nadzora i zlonamjerne izmjene koda.
- Nagrade visoke vrijednosti, kao što su osjetljive lične informacije dobijene efektivnim neovlaštenim pristupom izvornom kodu.
- Lakoća izvođenja, jer se većina napada može lako automatizirati i rasporediti neselektivno na hiljade, desetine ili čak stotine hiljada ciljeva odjednom.
- Organizacije koje ne uspijevaju zaštititi svoje web aplikacije su podložne napadima. To može dovesti do krađe podataka, zategnutih odnosa s klijentima, otkazanih licenci i pravnih postupaka, između ostalog.
Ranjivosti na web stranicama
Nedostaci dezinfekcije ulaza/izlaza su uobičajeni u web aplikacijama i često se iskorištavaju za promjenu izvornog koda ili za neovlašteni pristup.
Ovi nedostaci omogućavaju eksploataciju raznih vektora napada, uključujući:
- SQL Injection – Kada počinitelj manipulira pozadinskom bazom podataka sa zlonamjernim SQL kodom, informacije se otkrivaju. Nezakonito pretraživanje lista, brisanje tabele i neovlašćeni administratorski pristup su među posledicama.
- XSS (Cross-site Scripting) je napad ubrizgavanjem koji cilja na korisnike kako bi dobili pristup nalozima, aktivirali trojance ili promijenili sadržaj stranice. Kada se zlonamjerni kod ubaci direktno u aplikaciju, to je poznato kao pohranjeni XSS. Kada se zlonamjerna skripta preslikava iz aplikacije u pretraživač korisnika, to je poznato kao reflektirani XSS.
- Uključivanje datoteka na daljinu – Ovaj oblik napada omogućava hakeru da ubaci datoteku u server web aplikacija sa udaljene lokacije. To može dovesti do izvršavanja opasnih skripti ili koda unutar aplikacije, kao i do krađe ili izmjene podataka.
- Falsifikovanje zahteva na više lokacija (CSRF) – Vrsta napada koji može dovesti do nenamernog transfera gotovine, promene lozinke ili krađe podataka. Pojavljuje se kada zlonamjerni web program uputi korisnikov pretraživač da izvrši neželjenu radnju na web stranici na koju je prijavljen.
U teoriji, efektivna sanacija ulaza/izlaza može iskorijeniti sve ranjivosti, čineći aplikaciju nepropusnom za neovlaštene izmjene.
Međutim, budući da je većina programa u stalnom razvoju, sveobuhvatna sanacija rijetko je održiva opcija. Nadalje, aplikacije su obično integrirane jedna s drugom, što rezultira kodiranim okruženjem koje postaje sve složenije.
Da bi se izbjegle takve opasnosti, potrebno je implementirati sigurnosna rješenja i procese web aplikacija, kao što je PCI Data Security Standard (PCI DSS) certifikat.
Vatrozid za web aplikacije (WAF)
WAF-ovi (zaštitni zidovi za web aplikacije) su hardverska i softverska rješenja koja štite aplikacije od sigurnosnih prijetnji. Ova rješenja su dizajnirana za inspekciju dolaznog saobraćaja kako bi se otkrili i blokirali pokušaji napada, kompenzirajući sve nedostatke u sanitizaciji koda.
Primjena WAF-a rješava ključni kriterij za PCI DSS certifikaciju tako što štiti podatke od krađe i modifikacije. Svi podaci o vlasnicima kreditnih i debitnih kartica koji se vode u bazi podataka moraju biti zaštićeni, u skladu sa zahtjevom 6.6.
Budući da je stavljen ispred svog DMZ-a na rubu mreže, uspostavljanje WAF-a obično ne zahtijeva nikakve promjene u aplikaciji. Zatim služi kao gateway za sav dolazni promet, filtrirajući opasne zahtjeve prije nego što mogu stupiti u interakciju s aplikacijom.
Da bi se procenilo kom saobraćaju je dozvoljen pristup aplikaciji, a koji se mora ukloniti, WAF-ovi koriste različite heuristike. Oni mogu brzo identificirati zlonamjerne aktere i poznate vektore napada zahvaljujući redovno ažuriranom skupu potpisa.
Gotovo svi WAF-ovi mogu biti prilagođeni pojedinačnim slučajevima upotrebe i sigurnosnim propisima, kao i borbi protiv novih (takođe poznatih kao zero-day) prijetnji. Konačno, da bi stekli dodatni uvid u dolazeće posjetitelje, većina modernih rješenja koristi podatke o reputaciji i ponašanju.
Kako bi se izgradio sigurnosni perimetar, WAF-ovi se obično kombinuju s dodatnim sigurnosnim rješenjima. One mogu uključivati usluge prevencije distribuiranih uskraćivanja usluge (DDoS), koje daju dodatnu skalabilnost potrebnu za sprečavanje napada velikog obima.
Kontrolna lista za sigurnost web aplikacija
Pored WAF-ova, postoji niz pristupa za zaštitu web aplikacija. Svaka sigurnosna kontrolna lista web aplikacije treba da sadrži sljedeće procedure:
- Prikupljanje podataka — Ručno pregledajte aplikaciju, tražeći ulazne tačke i kodove na strani klijenta. Klasifikujte sadržaj koji je hostovana treća strana.
- Autorizacija — Potražite prolaze putanje, probleme oko vertikalne i horizontalne kontrole pristupa, nedostajuću autorizaciju i nesigurne, direktne reference objekata prilikom testiranja aplikacije.
- Osigurajte sve prijenose podataka kriptografijom. Da li su neke osjetljive informacije šifrirane? Jeste li koristili neke algoritme koji nisu dorasli? Ima li grešaka u slučaju slučajnosti?
- Uskraćivanje usluge — Testirajte anti-automatizaciju, zaključavanje naloga, HTTP protokol DoS i SQL džoker DoS da biste poboljšali otpornost aplikacije na napade uskraćivanja usluge. Ovo ne uključuje sigurnost od DoS i DDoS napada velikog obima, koji zahtijevaju mješavinu tehnologija filtriranja i skalabilnih resursa da bi se oduprli.
Za više detalja, možete provjeriti Cheat Sheet testiranja sigurnosti web aplikacije OWASP (takođe je odličan izvor za druge teme vezane za sigurnost).
DDoS zaštita
DDoS napadi, ili distribuirani napadi uskraćivanja usluge, tipičan su način prekidanja web aplikacije. Postoje brojni pristupi za ublažavanje DDoS napada, uključujući odbacivanje saobraćaja volumetrijskog napada na mreže za isporuku sadržaja (CDN) i korištenje vanjskih mreža kako bi se na odgovarajući način usmjerili istinski zahtjevi bez izazivanja prekida usluge.
DNSSEC (Proširenja sigurnosti sistema imena domena) zaštita
Sistem imena domena, ili DNS, je internetski imenik i odražava način na koji Internet alat, kao što je web pretraživač, pronalazi relevantni server. Trovanje DNS keš memorije, napadi na putu i druga sredstva ometanja životnog ciklusa DNS pretraživanja koristit će loši akteri da otmu ovaj proces DNS zahtjeva. Ako je DNS internetski telefonski imenik, DNSSEC je ID pozivaoca koji se ne može prevariti. Zahtjev za DNS pretraživanje može se zaštititi korištenjem DNSSEC tehnologije.
Da biste se detaljno upoznali sa nastavnim planom i programom sertifikacije, možete proširiti i analizirati tabelu ispod.
EITC/IS/WASF nastavni plan i program za certifikaciju osnova sigurnosti web aplikacija referencira didaktičke materijale otvorenog pristupa u video obliku. Proces učenja je podijeljen u strukturu korak po korak (programi -> lekcije -> teme) koja pokriva relevantne dijelove kurikuluma. Takođe su obezbeđene neograničene konsultacije sa stručnjacima iz domena.
Za detalje o proceduri certifikacije provjerite Kako funkcionira.
Preuzmite kompletne pripremne materijale za samostalno učenje van mreže za program Osnove sigurnosti web aplikacija EITC/IS/WASF u PDF datoteci
EITC/IS/WASF pripremni materijali – standardna verzija
EITC/IS/WASF pripremni materijali – proširena verzija sa pitanjima za pregled