EITC/IS/WASF Web Applications Security Fundamentals je evropski certifikacijski program IT o teoretičnih in praktičnih vidikih varnosti storitev svetovnega spleta, ki segajo od varnosti osnovnih spletnih protokolov do zasebnosti, groženj in napadov na različne plasti spletnega prometa, omrežne komunikacije, splet varnost strežnikov, varnost na višjih ravneh, vključno s spletnimi brskalniki in spletnimi aplikacijami, pa tudi preverjanje pristnosti, potrdila in lažno predstavljanje.
Učni načrt Osnove varnosti spletnih aplikacij EITC/IS/WASF zajema uvod v vidike spletne varnosti HTML in JavaScript, DNS, HTTP, piškotke, seje, piškotke in napade na seje, politiko istega izvora, ponarejanje zahtev med spletnim mestom, izjeme od istega Politika izvora, skriptiranje na več mestih (XSS), obramba skriptov na več mestih, spletni prstni odtisi, zasebnost v spletu, DoS, lažno predstavljanje in stranski kanali, zavrnitev storitve, lažno predstavljanje in stranski kanali, napadi z injekcijo, vbrizgavanje kode, transport varnost slojev (TLS) in napadi, HTTPS v resničnem svetu, preverjanje pristnosti, WebAuthn, upravljanje spletne varnosti, varnostni pomisleki v projektu Node.js, varnost strežnika, varne prakse kodiranja, varnost lokalnega strežnika HTTP, napadi ponovne povezave DNS, napadi brskalnika, brskalnik arhitekturo, kot tudi pisanje varne kode brskalnika v okviru naslednje strukture, ki vključuje celovito video didaktično vsebino kot referenco za to EITC certifikat.
Varnost spletnih aplikacij je podskupina informacijske varnosti, ki se osredotoča na varnost spletnih mest, spletnih aplikacij in spletnih storitev. Varnost spletnih aplikacij na svoji najosnovnejši ravni temelji na načelih varnosti aplikacij, vendar jih uporablja predvsem za internet in spletne platforme. Varnostne tehnologije spletnih aplikacij, kot so požarni zidovi spletnih aplikacij, so specializirana orodja za delo s prometom HTTP.
Open Web Application Security Project (OWASP) ponuja vire, ki so brezplačni in odprti. Za to skrbi neprofitna fundacija OWASP. Top 2017 OWASP za leto 10 je rezultat trenutne študije, ki temelji na obsežnih podatkih, zbranih iz več kot 40 partnerskih organizacij. Z uporabo teh podatkov je bilo odkritih približno 2.3 milijona ranljivosti v več kot 50,000 aplikacijah. Prvih deset najbolj kritičnih vprašanj glede varnosti spletnih aplikacij glede na OWASP Top 10 – 2017 je:
- Vbrizgavanje
- Težave s preverjanjem pristnosti
- Zunanje entitete XML izpostavljenih občutljivih podatkov (XXE)
- Nadzor dostopa, ki ne deluje
- Napačna konfiguracija varnosti
- Skriptiranje od mesta do mesta (XSS)
- Deserializacija, ki ni varna
- Uporaba komponent, ki imajo znane pomanjkljivosti
- Beleženje in spremljanje sta nezadostna.
Zato je praksa zaščite spletnih mest in spletnih storitev pred različnimi varnostnimi grožnjami, ki izkoriščajo slabosti v kodi aplikacije, znana kot varnost spletnih aplikacij. Sistemi za upravljanje vsebine (npr. WordPress), orodja za upravljanje baz podatkov (npr. phpMyAdmin) in aplikacije SaaS so vse pogoste tarče napadov na spletne aplikacije.
Spletne aplikacije imajo storilci za prednostne cilje, ker:
- Zaradi zapletenosti njihove izvorne kode so bolj verjetne nenadzorovane ranljivosti in zlonamerne spremembe kode.
- Nagrade visoke vrednosti, kot so občutljivi osebni podatki, pridobljeni z učinkovitim poseganjem v izvorno kodo.
- Enostavnost izvedbe, saj je večino napadov mogoče zlahka avtomatizirati in neselektivno uporabiti proti tisočim, desetinam ali celo stotisočem tarč hkrati.
- Organizacije, ki ne uspejo zaščititi svojih spletnih aplikacij, so ranljive za napade. To lahko med drugim privede do kraje podatkov, napetih odnosov s strankami, preklicanih licenc in pravnih tožb.
Ranljivosti na spletnih mestih
Napake pri sanaciji vhoda/izhoda so pogoste v spletnih aplikacijah in se pogosto izkoriščajo za spremembo izvorne kode ali pridobitev nepooblaščenega dostopa.
Te pomanjkljivosti omogočajo izkoriščanje različnih vektorjev napadov, vključno z:
- Injekcija SQL – ko storilec manipulira z zaledno bazo podatkov z zlonamerno kodo SQL, se informacije razkrijejo. Med posledicami so nezakonito brskanje po seznamih, brisanje tabele in nepooblaščen skrbniški dostop.
- XSS (Cross-site Scripting) je napad z injekcijo, ki cilja na uporabnike, da bi pridobili dostop do računov, aktivirali trojance ali spremenili vsebino strani. Ko se zlonamerna koda vnese neposredno v aplikacijo, je to znano kot shranjeni XSS. Ko je zlonamerni skript zrcaljen iz aplikacije v uporabnikov brskalnik, je to znano kot odražen XSS.
- Vključitev datotek na daljavo – ta oblika napada omogoča hekerju, da vnese datoteko v strežnik spletnih aplikacij z oddaljene lokacije. To lahko privede do izvajanja nevarnih skriptov ali kode v aplikaciji, pa tudi do kraje ali spreminjanja podatkov.
- Ponarejanje zahtev na več mestih (CSRF) – vrsta napada, ki lahko povzroči nenamerni prenos gotovine, spremembe gesla ali krajo podatkov. Pojavi se, ko zlonamerni spletni program naroči uporabnikovemu brskalniku, naj izvede neželeno dejanje na spletnem mestu, na katerega je prijavljen.
Teoretično bi lahko učinkovita sanacija vhoda/izhoda izkoreninila vse ranljivosti, zaradi česar je aplikacija neprepustna za nepooblaščene spremembe.
Ker pa je večina programov v nenehnem razvoju, je celovita sanacija le redko izvedljiva možnost. Poleg tega so aplikacije običajno integrirane med seboj, kar ima za posledico kodirano okolje, ki postaja vse bolj zapleteno.
Da bi se izognili takšnim nevarnostim, je treba implementirati varnostne rešitve in procese spletnih aplikacij, kot je certificiranje PCI Data Security Standard (PCI DSS).
Požarni zid za spletne aplikacije (WAF)
WAF (požarni zidovi spletnih aplikacij) so strojne in programske rešitve, ki ščitijo aplikacije pred varnostnimi grožnjami. Te rešitve so zasnovane za pregledovanje dohodnega prometa z namenom odkrivanja in blokiranja poskusov napadov, s čimer se kompenzirajo morebitne napake pri sanaciji kode.
Uvajanje WAF obravnava ključno merilo za certificiranje PCI DSS z zaščito podatkov pred krajo in spremembami. Vsi podatki o imetniku kreditnih in debetnih kartic, ki se hranijo v bazi podatkov, morajo biti zaščiteni v skladu z zahtevo 6.6.
Ker je postavljen pred svojo DMZ na robu omrežja, vzpostavitev WAF običajno ne zahteva nobenih sprememb v aplikaciji. Nato služi kot prehod za ves dohodni promet in filtrira nevarne zahteve, preden lahko komunicirajo z aplikacijo.
Za oceno, kateri promet je dovoljen dostop do aplikacije in kateri je treba izločiti, WAF uporabljajo različne hevristike. Zahvaljujoč redno posodabljanemu bazenu podpisov lahko hitro prepoznajo zlonamerne akterje in znane vektorje napadov.
Skoraj vsi WAF-ji so lahko prilagojeni posameznim primerom uporabe in varnostnim predpisom, pa tudi za boj proti nastajajočim grožnjam (znanim tudi kot ničelni dan). Za pridobitev dodatnega vpogleda v prihajajoče obiskovalce večina sodobnih rešitev uporablja podatke o ugledu in vedenju.
Za izgradnjo varnostnega oboda se WAF običajno kombinirajo z dodatnimi varnostnimi rešitvami. Te lahko vključujejo storitve za preprečevanje porazdeljene zavrnitve storitve (DDoS), ki zagotavljajo dodatno razširljivost, potrebno za preprečevanje napadov velike količine.
Kontrolni seznam za varnost spletnih aplikacij
Poleg WAF-ov obstajajo različni pristopi za zaščito spletnih aplikacij. Vsak varnostni kontrolni seznam spletne aplikacije mora vključevati naslednje postopke:
- Zbiranje podatkov — Ročno preglejte aplikacijo in poiščite vstopne točke in kode na strani odjemalca. Razvrstite vsebino, ki jo gosti tretja oseba.
- Pooblastilo — pri preizkušanju aplikacije poiščite prehode poti, težave z navpičnim in horizontalnim nadzorom dostopa, manjkajoče pooblastilo in nevarne neposredne reference na objekte.
- Zavarujte vse prenose podatkov s kriptografijo. Ali so bile kakšne občutljive informacije šifrirane? Ali ste uporabili kakšne algoritme, ki niso primerni? Ali obstajajo napake pri naključnosti?
- Zavrnitev storitve — Preizkusite anti-avtomatizacijo, zaklepanje računa, HTTP protokol DoS in SQL nadomestni DoS, da izboljšate odpornost aplikacije proti napadom na zavrnitev storitve. To ne vključuje zaščite pred obsežnimi napadi DoS in DDoS, ki zahtevajo mešanico tehnologij filtriranja in razširljivih virov, da se uprejo.
Za dodatne podrobnosti si lahko ogledate varovalko za testiranje varnosti spletnih aplikacij OWASP (je tudi odličen vir za druge teme, povezane z varnostjo).
Zaščita DDoS
DDoS napadi ali porazdeljeni napadi zavrnitve storitve so tipičen način za prekinitev spletne aplikacije. Obstajajo številni pristopi za ublažitev napadov DDoS, vključno z zavrženjem volumetričnega prometa napadov v omrežjih za dostavo vsebine (CDN) in uporabo zunanjih omrežij za ustrezno usmerjanje pristnih zahtev, ne da bi povzročilo prekinitev storitve.
Zaščita DNSSEC (Domain Name System Security Extensions).
Sistem domenskih imen ali DNS je internetni telefonski imenik in odraža, kako internetno orodje, kot je spletni brskalnik, najde ustrezen strežnik. Zastrupitev predpomnilnika DNS, napadi na poti in druga sredstva za poseganje v življenjski cikel iskanja DNS bodo uporabili slabi akterji za ugrabitev tega postopka zahteve DNS. Če je DNS internetni telefonski imenik, je DNSSEC ID klicatelja, ki ga ni mogoče ponarediti. Zahtevo za iskanje DNS je mogoče zaščititi s tehnologijo DNSSEC.
Da bi se podrobneje seznanili s kurikulumom certificiranja, lahko razširite in analizirate spodnjo tabelo.
Učni načrt za certificiranje osnov varnosti spletnih aplikacij EITC/IS/WASF se sklicuje na didaktična gradiva z odprtim dostopom v video obliki. Učni proces je razdeljen na strukturo po korakih (programi -> lekcije -> teme), ki zajema ustrezne dele učnega načrta. Zagotovljeno je tudi neomejeno svetovanje s strokovnjaki za področje.
Za podrobnosti o postopku certificiranja preverite Kako deluje.
Prenesite celotno pripravljalno gradivo za samoučenje brez povezave za program Osnove varnosti spletnih aplikacij EITC/IS/WASF v datoteki PDF
Pripravljalni materiali EITC/IS/WASF – standardna različica
Pripravljalna gradiva EITC/IS/WASF – razširjena različica z vprašanji za pregled