10 največjih varnostnih tveganj OWASP | Pregled

Kazalo

Pregled 10 najboljših OWASP

Kaj je OWASP?

OWASP je neprofitna organizacija, namenjena izobraževanju o varnosti spletnih aplikacij. 

Učna gradiva OWASP so dostopna na njihovi spletni strani. Njihova orodja so uporabna za izboljšanje varnosti spletnih aplikacij. To vključuje dokumente, orodja, videoposnetke in forume.

Top 10 OWASP je seznam, ki poudarja največje varnostne pomisleke za današnje spletne aplikacije. Priporočajo, da vsa podjetja to poročilo vključijo v svoje procese, da zmanjšajo varnostna tveganja. Spodaj je seznam varnostnih tveganj, vključenih v poročilo OWASP Top 10 2017.

SQL injection

Do vbrizgavanja SQL pride, ko napadalec pošlje neprimerne podatke v spletno aplikacijo, da bi zmotil program v aplikaciji.

Primer vbrizgavanja SQL:

Napadalec lahko vnese poizvedbo SQL v vnosni obrazec, ki zahteva golo besedilo uporabniškega imena. Če vnosni obrazec ni zaščiten, bo povzročila izvedbo poizvedbe SQL. to je napoten kot vbrizgavanje SQL.

Če želite zaščititi spletne aplikacije pred vbrizgavanjem kode, se prepričajte, da vaši razvijalci uporabljajo preverjanje vnosa podatkov, ki jih predložijo uporabniki.. Validacija se tukaj nanaša na zavrnitev neveljavnih vnosov. Upravitelj baze podatkov lahko nastavi tudi kontrole za zmanjšanje količine Podatki da lahko razkriti pri injekcijskem napadu.

Da preprečite vstavljanje SQL, OWASP priporoča, da podatke hranite ločeno od ukazov in poizvedb. Najboljša možnost je uporaba varnega API za preprečitev uporabe tolmača ali za prehod na orodja za relacijsko preslikavo objektov (ORM).

Nezadostno preverjanje pristnosti

Ranljivosti pri preverjanju pristnosti lahko napadalcu omogočijo dostop do uporabniških računov in ogrožanje sistema z uporabo skrbniškega računa. Kibernetski kriminalec lahko s skriptom preizkusi na tisoče kombinacij gesel v sistemu in ugotovi, katera deluje. Ko je spletni kriminalec notri, lahko ponaredi identiteto uporabnika in mu omogoči dostop do zaupnih informacij..

V spletnih aplikacijah, ki omogočajo samodejne prijave, obstaja ranljivost pri pokvarjenem preverjanju pristnosti. Priljubljen način za odpravo ranljivosti pri preverjanju pristnosti je uporaba večfaktorske avtentikacije. Lahko tudi omejitev števila prijav biti vključen v spletni aplikaciji za preprečevanje napadov s surovo silo.

Občutljiva izpostavljenost podatkom

Če spletne aplikacije ne ščitijo občutljivih, lahko napadalci do njih dostopajo in jih uporabijo za svoj dobiček. Napad na poti je priljubljena metoda za krajo občutljivih informacij. Tveganje izpostavljenosti je minimalno, če so vsi občutljivi podatki šifrirani. Spletni razvijalci bi morali zagotoviti, da v brskalniku niso izpostavljeni ali po nepotrebnem shranjeni občutljivi podatki.

Zunanje entitete XML (XEE)

Kibernetski kriminalec lahko naloži ali vključi zlonamerno vsebino XML, ukaze ali kodo v dokument XML. To jim omogoča ogled datotek v datotečnem sistemu aplikacijskega strežnika. Ko imajo dostop, lahko komunicirajo s strežnikom za izvajanje napadov s ponarejanjem zahtev na strani strežnika (SSRF)..

Napadi zunanjih entitet XML lahko preprečiti s omogoča spletnim aplikacijam sprejemanje manj zapletenih tipov podatkov, kot je JSON. Onemogočanje obdelave zunanje entitete XML tudi zmanjša možnosti za napad XEE.

Kršen nadzor dostopa

Nadzor dostopa je sistemski protokol, ki nepooblaščenim uporabnikom omejuje dostop do občutljivih informacij. Če je sistem za nadzor dostopa pokvarjen, lahko napadalci obidejo avtentikacijo. To jim omogoča dostop do občutljivih informacij, kot da imajo dovoljenje. Nadzor dostopa je mogoče zavarovati z implementacijo avtorizacijskih žetonov ob prijavi uporabnika. Pri vsaki zahtevi, ki jo uporabnik poda med preverjanjem pristnosti, se avtorizacijski žeton pri uporabniku preveri, kar signalizira, da je uporabnik pooblaščen za vložitev te zahteve.

Varnostna napačna konfiguracija

Napačna varnostna konfiguracija je pogosta težava, ki kibernetske varnosti strokovnjaki opažajo v spletnih aplikacijah. Do tega pride zaradi napačno konfiguriranih glav HTTP, okvarjenega nadzora dostopa in prikaza napak, ki razkrivajo informacije v spletni aplikaciji. Napačno varnostno konfiguracijo lahko popravite tako, da odstranite neuporabljene funkcije. Prav tako morate popraviti ali nadgraditi svoje programske pakete.

Skriptno skripta (XSS)

Ranljivost XSS se pojavi, ko napadalec manipulira z API-jem DOM zaupanja vrednega spletnega mesta, da izvede zlonamerno kodo v brskalniku uporabnika. Izvedba te zlonamerne kode se pogosto zgodi, ko uporabnik klikne povezavo, za katero se zdi, da je z zaupanja vrednega spletnega mesta. Če spletno mesto ni zaščiteno pred ranljivostjo XSS, lahko biti ogrožen. Zlonamerna koda, ki se izvrši napadalcu omogoči dostop do uporabniške prijavne seje, podrobnosti kreditne kartice in drugih občutljivih podatkov.

Če želite preprečiti skriptiranje med spletnimi mesti (XSS), zagotovite, da je vaš HTML dobro prečiščen. To lahko doseči z izbira zaupanja vrednih ogrodij glede na izbrani jezik. Uporabite lahko jezike, kot so .Net, Ruby on Rails in React JS, saj vam bodo pomagali razčleniti in očistiti kodo HTML. Če vse podatke overjenih ali nepreverjenih uporabnikov obravnavate kot nezaupljive, lahko zmanjšate tveganje napadov XSS.

Nevarna deserializacija

Deserializacija je transformacija serializiranih podatkov iz strežnika v objekt. Deserializacija podatkov je pogost pojav pri razvoju programske opreme. Ni varno, ko podatki je deserializiran iz nezaupljivega vira. To lahko potencialno izpostavite svojo aplikacijo napadom. Do nezanesljive deserializacije pride, ko deserializirani podatki iz nezaupljivega vira povzročijo napade DDOS, napade z izvajanjem kode na daljavo ali obhode avtentikacije.

Da bi se izognili nevarni deserializaciji, pravilo je, da nikoli ne zaupajte uporabniškim podatkom. Vsak uporabnik mora vnesti podatke biti zdravljen as potencialno zlonamerno. Izogibajte se deserializaciji podatkov iz nezaupljivih virov. Zagotovite, da funkcija deserializacije se uporablja v vaši spletni aplikaciji je varen.

Uporaba komponent z znanimi ranljivostmi

Knjižnice in ogrodja so omogočili veliko hitrejši razvoj spletnih aplikacij, ne da bi morali znova izumljati kolo. To zmanjša redundanco pri vrednotenju kode. Utirajo pot razvijalcem, da se osredotočijo na pomembnejše vidike aplikacij. Če napadalci odkrijejo izkoriščanja v teh okvirih, bi jih vsaka kodna baza, ki uporablja okvir biti ogrožen.

Razvijalci komponent pogosto ponujajo varnostne popravke in posodobitve za knjižnice komponent. Da bi se izognili ranljivosti komponent, se naučite posodabljati svoje aplikacije z najnovejšimi varnostnimi popravki in nadgradnjami. Neuporabljene komponente naj odstraniti iz aplikacije za rezanje vektorjev napadov.

Nezadostno beleženje in spremljanje

Beleženje in spremljanje sta pomembna za prikaz dejavnosti v vaši spletni aplikaciji. Beleženje olajša sledenje napakam, monitor prijave uporabnikov in dejavnosti.

Nezadostno beleženje in spremljanje se pojavi, ko varnostno kritični dogodki niso zabeleženi pravilno. Napadalci to izkoristijo, da izvedejo napade na vašo aplikacijo, preden pride do opaznega odziva.

Beleženje lahko pomaga vašemu podjetju prihraniti denar in čas, saj lahko vaši razvijalci enostavno najdi hrošče. To jim omogoča, da se bolj osredotočijo na odpravljanje napak kot na njihovo iskanje. Pravzaprav lahko beleženje pomaga, da vaša spletna mesta in strežniki vedno delujejo, ne da bi pri tem prišlo do izpada.

zaključek

Dobra koda ni samo glede funkcionalnosti gre za varovanje vaših uporabnikov in aplikacij. Top 10 OWASP je seznam najbolj kritičnih varnostnih tveganj za aplikacije in je odličen brezplačen vir za razvijalce pri pisanju varnih spletnih in mobilnih aplikacij. Usposabljanje razvijalcev v vaši ekipi za ocenjevanje in beleženje tveganj lahko vaši ekipi dolgoročno prihrani čas in denar. Če želite izvedite več o tem, kako usposobiti svojo ekipo na 10 najboljših OWASP kliknite tukaj.