EITC/IS/WASF Web Applications Security Fundamentals je europski IT certifikacijski program o teoretskim i praktičnim aspektima sigurnosti World Wide Web usluga u rasponu od sigurnosti osnovnih web protokola, preko privatnosti, prijetnji i napada na različite slojeve mrežnog prometa, mrežne komunikacije, web sigurnost poslužitelja, sigurnost na višim slojevima, uključujući web preglednike 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, isto pravilo o porijeklu, krivotvorenje zahtjeva na više web-lokacija, iznimke od istog Origin Policy, Cross-Site Scripting (XSS), Cross-Site Scripting obrana, 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 slojeva (TLS) i napadi, HTTPS u stvarnom svijetu, autentifikacija, WebAuthn, upravljanje web sigurnošću, sigurnosni problemi u projektu Node.js, sigurnost poslužitelja, sigurno kodiranje, sigurnost lokalnog HTTP poslužitelja, napadi ponovnog povezivanja DNS-a, napadi preglednika, preglednik arhitekturu, kao i pisanje sigurnog koda preglednika, unutar sljedeće strukture, koja obuhvaća sveobuhvatan videodidaktički sadržaj kao referencu za ovu EITC certifikaciju.
Sigurnost web aplikacija je podskup informacijske sigurnosti koji se usredotočuje na sigurnost web stranice, web aplikacije i web usluge. Sigurnost web aplikacija, na svojoj najosnovnijoj razini, temelji se na principima sigurnosti aplikacija, ali ih posebno primjenjuje na internet i web platforme. Sigurnosne tehnologije web aplikacija, kao što su vatrozidi web aplikacija, specijalizirani su alati za rad s HTTP prometom.
Projekt sigurnosti otvorenih web aplikacija (OWASP) nudi resurse koji su besplatni i otvoreni. Za to je zadužena neprofitna zaklada OWASP. OWASP Top 2017 za 10. rezultat je trenutne studije koja se temelji na opsežnim podacima prikupljenim od preko 40 partnerskih organizacija. Približno 2.3 milijuna ranjivosti otkriveno je u više od 50,000 aplikacija pomoću ovih podataka. 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 web-mjesta (XSS)
- Deserijalizacija koja nije sigurna
- Korištenje komponenti koje imaju poznate nedostatke
- Zapisivanje i praćenje su nedostatni.
Stoga je praksa obrane web-mjesta i internetskih usluga od raznih sigurnosnih prijetnji koje iskorištavaju slabosti u kodu aplikacije poznata kao sigurnost web aplikacije. Sustavi za upravljanje sadržajem (npr. WordPress), alati za administraciju baze podataka (npr. phpMyAdmin) i SaaS aplikacije uobičajene su mete napada na online aplikacije.
Počinitelji smatraju da su web-aplikacije mete visokog prioriteta jer:
- Zbog zamršenosti njihovog izvornog koda, vjerojatnije su nenadzirane ranjivosti i zlonamjerne izmjene koda.
- Nagrade visoke vrijednosti, kao što su osjetljivi osobni podaci dobiveni učinkovitim neovlaštenim pristupom izvornom kodu.
- Jednostavnost izvođenja, jer se većina napada može lako automatizirati i neselektivno rasporediti na tisuće, desetke ili čak stotine tisuća ciljeva odjednom.
- Organizacije koje ne uspijevaju zaštititi svoje web aplikacije ranjive su na napade. 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 uobičajeni su u web aplikacijama i često se iskorištavaju za promjenu izvornog koda ili dobivanje neovlaštenog pristupa.
Ovi nedostaci omogućuju iskorištavanje raznih vektora napada, uključujući:
- SQL Injection – Kada počinitelj manipulira pozadinskom bazom podataka sa zlonamjernim SQL kodom, informacije se otkrivaju. Nezakonito pregledavanje popisa, brisanje tablice i neovlašteni administratorski pristup su među posljedicama.
- XSS (Cross-site Scripting) je napad ubrizgavanjem koji cilja na korisnike kako bi dobili pristup računima, aktivirali trojance ili promijenili sadržaj stranice. Kada se zlonamjerni kod ubrizgava izravno u aplikaciju, to je poznato kao pohranjeni XSS. Kada se zlonamjerna skripta preslikava iz aplikacije u preglednik korisnika, to je poznato kao reflektirani XSS.
- Uključivanje datoteka na daljinu – Ovaj oblik napada omogućuje hakeru da ubaci datoteku u poslužitelj web aplikacija s udaljene lokacije. To može dovesti do izvršavanja opasnih skripti ili koda unutar aplikacije, kao i do krađe ili izmjene podataka.
- Krivotvorenje zahtjeva na više lokacija (CSRF) – Vrsta napada koja može rezultirati nenamjernim prijenosom gotovine, promjenama lozinke ili krađom podataka. Pojavljuje se kada zlonamjerni web-program naloži korisnikovom pregledniku da izvrši neželjenu radnju na web stranici na koju je prijavljen.
U teoriji, učinkovita sanacija ulaza/izlaza mogla bi 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.
Kako bi se izbjegle takve opasnosti, potrebno je implementirati sigurnosna rješenja i procese web aplikacija, kao što je certifikat PCI Data Security Standard (PCI DSS).
Vatrozid za web aplikacije (WAF)
WAF-ovi (vatrozidi web aplikacija) su hardverska i softverska rješenja koja štite aplikacije od sigurnosnih prijetnji. Ova rješenja osmišljena su za inspekciju dolaznog prometa kako bi se otkrili i blokirali pokušaji napada, nadoknađujući sve nedostatke sanitizacije koda.
Uvođenje WAF-a rješava ključni kriterij za PCI DSS certifikaciju štiteći podatke od krađe i izmjena. Svi podaci o vlasnicima kreditnih i debitnih kartica koji se čuvaju 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 pristupnik za sav dolazni promet, filtrirajući opasne zahtjeve prije nego što mogu stupiti u interakciju s aplikacijom.
Kako bi procijenili kojem prometu je dopušten 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 redovito 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đer poznatih kao zero-day) prijetnji. Konačno, za stjecanje dodatnih uvida u dolazne posjetitelje, većina modernih rješenja koristi podatke o reputaciji i ponašanju.
Kako bi se izgradio sigurnosni perimetar, WAF-ovi se obično kombiniraju s dodatnim sigurnosnim rješenjima. To bi moglo uključivati usluge prevencije distribuiranog uskraćivanja usluge (DDoS), koje daju dodatnu skalabilnost potrebnu za sprječavanje napada velikog volumena.
Kontrolni popis za sigurnost web aplikacija
Uz WAF-ove, postoji niz pristupa za zaštitu web-aplikacija. Svaki sigurnosni popis za provjeru web aplikacije trebao bi uključivati sljedeće postupke:
- Prikupljanje podataka — Ručno pregledajte aplikaciju tražeći ulazne točke i kodove na strani klijenta. Klasificirajte sadržaj koji hostira treća strana.
- Autorizacija — Potražite prolaze puta, probleme s okomitom i horizontalnom kontrolom pristupa, nedostajuću autorizaciju i nesigurne, izravne reference objekata prilikom testiranja aplikacije.
- Osigurajte sve prijenose podataka kriptografijom. Jesu li 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 računa, HTTP protokol DoS i SQL zamjenski znak DoS kako biste poboljšali otpornost aplikacije na napade uskraćivanja usluge. To ne uključuje sigurnost od velikih DoS i DDoS napada, koji zahtijevaju mješavinu tehnologija filtriranja i skalabilnih resursa da bi se oduprli.
Za daljnje pojedinosti, možete provjeriti Cheat Sheet testiranja sigurnosti web aplikacije OWASP (također je izvrstan resurs 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. Postoji niz pristupa za ublažavanje DDoS napada, uključujući odbacivanje prometa 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 (Sigurnosna proširenja sustava naziva domene) zaštita
Sustav naziva domene ili DNS je internetski telefonski imenik i odražava kako internetski alat, kao što je web preglednik, pronalazi relevantni poslužitelj. Trovanje DNS predmemorije, napadi na putu i druga sredstva ometanja životnog ciklusa DNS pretraživanja koristit će loši akteri za otmicu ovog procesa DNS zahtjeva. Ako je DNS internetski telefonski imenik, DNSSEC je ID pozivatelja koji se ne može prevariti. Zahtjev za DNS pretraživanje može se zaštititi pomoću DNSSEC tehnologije.
Da biste se detaljno upoznali s nastavnim planom i programom certificiranja, možete proširiti i analizirati donju tablicu.
EITC/IS/WASF Certification Security Fundamentals Web Applications Curriculum navodi didaktičke materijale otvorenog pristupa u obliku videa. Proces učenja podijeljen je u strukturu korak po korak (programi -> lekcije -> teme) koja pokriva relevantne dijelove kurikuluma. Također je osigurano neograničeno savjetovanje sa stručnjacima za domenu.
Za detalje o postupku certificiranja provjerite Kako radi.
Preuzmite kompletne izvanmrežne pripremne materijale za samoučenje za EITC/IS/WASF program Osnove sigurnosti web aplikacija u PDF datoteci
EITC/IS/WASF pripremni materijali – standardna verzija
Pripremni materijali za EITC/IS/WASF – proširena verzija s pitanjima za ponavljanje