OWASP top 10 turvariski | Ülevaade

Sisukord

OWASP Top 10 ülevaade

Mis on OWASP?

OWASP on mittetulundusühing, mis on pühendunud veebirakenduste turvaharidusele. 

OWASP õppematerjalid on kättesaadavad nende veebisaidil. Nende tööriistad on kasulikud veebirakenduste turvalisuse parandamiseks. See hõlmab dokumente, tööriistu, videoid ja foorumeid.

OWASP Top 10 on nimekiri, mis tõstab esile tänapäeva veebirakenduste peamised turvaprobleemid. Nad soovitavad kõigil ettevõtetel lisada see aruanne oma protsessidesse, et vähendada turvariske. Allpool on loetelu OWASP Top 10 2017. aasta aruandes sisalduvatest turvariskidest.

SQL Injection

SQL-i süstimine toimub siis, kui ründaja saadab veebirakendusse sobimatuid andmeid, et häirida rakenduses olevat programmi.

SQL-i süstimise näide:

Ründaja võib sisestada SQL-päringu sisestusvormile, mis nõuab kasutajanime lihtteksti. Kui sisendvorm pole kaitstud, käivitatakse SQL-päring. See on viidatud SQL-i süstina.

Veebirakenduste kaitsmiseks koodi sisestamise eest veenduge, et teie arendajad kasutaksid kasutaja esitatud andmete puhul sisendi valideerimist. Valideerimine viitab siin kehtetute sisendite tagasilükkamisele. Andmebaasihaldur saab määrata ka juhtelemente, et vähendada nende hulka info mis võivad avalikustada süstimise rünnaku korral.

SQL-i süstimise vältimiseks soovitab OWASP hoida andmed käskudest ja päringutest eraldi. Eelistatav on kasutada turvalist API tõlgi kasutamise takistamiseks või objektide relatsioonilise kaardistamise tööriistadele (ORM) üleminekuks.

Katkestatud autentimine

Autentimise haavatavused võivad võimaldada ründajal administraatorikonto abil pääseda juurde kasutajakontodele ja ohustada süsteemi. Küberkurjategija saab skripti abil proovida süsteemis tuhandeid paroolikombinatsioone, et näha, milline neist töötab. Kui küberkurjategija on sisse saanud, võivad nad kasutaja identiteeti võltsida, andes neile juurdepääsu konfidentsiaalsele teabele.

Automaatset sisselogimist võimaldavates veebirakendustes on rikkis autentimise haavatavus. Populaarne viis autentimise haavatavuse parandamiseks on mitmefaktorilise autentimise kasutamine. Samuti võib sisselogimismäära piirang olla kaasatud veebirakenduses, et vältida toore jõu rünnakuid.

Tundlike andmete kokkupuude

Kui veebirakendused ei kaitse, saavad tundlikud ründajad neile juurde pääseda ja neid oma kasu saamiseks kasutada. Kohapealne rünnak on populaarne tundliku teabe varastamise meetod. Kokkupuute oht on minimaalne, kui kõik tundlikud andmed on krüptitud. Veebiarendajad peaksid tagama, et tundlikke andmeid ei avaldata brauseris ega salvestata asjatult.

XML-välised olemid (XEE)

Küberkurjategijal võib olla võimalik XML-dokumenti üles laadida või lisada pahatahtlikku XML-sisu, käske või koodi. See võimaldab neil vaadata faile rakendusserveri failisüsteemis. Kui neil on juurdepääs, saavad nad serveriga suhelda, et sooritada serveripoolse päringu võltsimise (SSRF) ründeid.

XML-i väliste üksuste rünnakud võivad poolt ära hoida võimaldades veebirakendustel aktsepteerida vähem keerulisi andmetüüpe, nagu JSON. XML-i välise olemi töötlemise keelamine vähendab ka XEE rünnaku võimalust.

Katkine juurdepääsukontroll

Juurdepääsukontroll on süsteemiprotokoll, mis piirab volitamata kasutajate juurdepääsu tundlikule teabele. Kui juurdepääsukontrollisüsteem on katki, saavad ründajad autentimisest mööda minna. See annab neile juurdepääsu tundlikule teabele, nagu neil oleks selleks volitus. Juurdepääsu kontrolli saab kaitsta, rakendades kasutaja sisselogimisel autoriseerimismärke. Iga kasutaja autentimise ajal tehtud päringu korral kontrollitakse kasutaja autoriseerimisluba, mis annab märku, et kasutajal on õigus seda päringut esitada.

Turvalisuse vale seadistamine

Turvalisuse vale konfiguratsioon on tavaline probleem küberturvalisus spetsialistid jälgivad veebirakendustes. Selle põhjuseks on valesti konfigureeritud HTTP-päised, katkised juurdepääsukontrollid ja vigade kuvamine, mis paljastavad veebirakenduses teabe.. Turvavea saate parandada, eemaldades kasutamata funktsioonid. Samuti peaksite oma tarkvarapakette parandama või uuendama.

Saidideülene skriptimine (XSS)

XSS-i haavatavus ilmneb siis, kui ründaja manipuleerib usaldusväärse veebisaidi DOM API-ga, et käivitada kasutaja brauseris pahatahtlikku koodi.. Selle pahatahtliku koodi käivitamine toimub sageli siis, kui kasutaja klõpsab lingil, mis näib olevat pärit usaldusväärselt veebisaidilt. Kui veebisait pole XSS-i haavatavuse eest kaitstud, saab see seda teha ohtu sattuda. Pahatahtlik kood, mis hukatakse annab ründajale juurdepääsu kasutajate sisselogimisseansile, krediitkaardi andmetele ja muudele tundlikele andmetele.

Saidiülese skriptimise (XSS) vältimiseks veenduge, et teie HTML on korralikult puhastatud. See saab saavutada usaldusväärsete raamistike valimine sõltuvalt valitud keelest. Saate kasutada selliseid keeli nagu .Net, Ruby on Rails ja React JS, kuna need aitavad teie HTML-koodi sõeluda ja puhastada. Kõigi autentitud või autentimata kasutajate andmete käsitlemine ebausaldusväärsetena võib vähendada XSS-i rünnakute ohtu.

Ebaturvaline deserialiseerimine

Deserialiseerimine on serialiseeritud andmete teisendamine serverist objektiks. Andmete serialiseerimine on tarkvaraarenduses tavaline nähtus. See on ebaturvaline, kui andmed on deserialiseeritud ebausaldusväärsest allikast. See võib potentsiaalselt paljastada oma rakenduse rünnakutele. Ebaturvaline deserialiseerimine toimub siis, kui ebausaldusväärsest allikast pärinevad deserialiseeritud andmed põhjustavad DDOS-i rünnakuid, koodi kaugkäitamise rünnakuid või autentimisest möödasõite.

Ebaturvalise deserialiseerimise vältimiseks on rusikareegel mitte kunagi usaldada kasutajaandmeid. Iga kasutaja peaks andmeid sisestama olema koheldud as potentsiaalselt pahatahtlik. Vältige ebausaldusväärsetest allikatest pärit andmete deserialiseerimist. Veenduge, et deserialiseerimisfunktsioon toimiks kasutada teie veebirakenduses on turvaline.

Teadaolevate haavatavustega komponentide kasutamine

Teegid ja raamistikud on muutnud veebirakenduste arendamise palju kiiremaks, ilma et oleks vaja jalgratast uuesti leiutada. See vähendab koodi hindamisel liiasust. Need sillutavad teed arendajatele keskenduda rakenduste olulisematele aspektidele. Kui ründajad avastavad nendes raamistikes ärakasutusi, teeb seda iga raamistikku kasutav koodibaas ohtu sattuda.

Komponentide arendajad pakuvad sageli komponentide teekide jaoks turvapaikasid ja värskendusi. Komponentide haavatavuste vältimiseks peaksite õppima hoidma oma rakendusi uusimate turvapaikade ja uuendustega ajakohasena. Kasutamata komponendid peaksid eemaldada rakendusest ründevektorite lõikamiseks.

Ebapiisav logimine ja jälgimine

Logimine ja jälgimine on teie veebirakenduses tegevuste kuvamiseks olulised. Logimine muudab vigade jälgimise lihtsaks, jälgida kasutajate sisselogimised ja tegevused.

Ebapiisav logimine ja jälgimine ilmnevad siis, kui turvakriitilisi sündmusi ei logita korralikult. Ründajad kasutavad seda ära, et rünnata teie rakendust enne, kui see on märgatav.

Logimine võib aidata teie ettevõttel säästa raha ja aega, sest teie arendajad saavad seda teha kergesti leida vigu. See võimaldab neil keskenduda rohkem vigade lahendamisele kui nende otsimisele. Tegelikult võib logimine aidata teie saite ja servereid iga kord töös hoida, ilma et neil tekiks seisakuid.

Järeldus

Hea kood ei ole lihtsalt funktsionaalsuse osas on see teie kasutajate ja rakenduste turvalisena hoidmine. OWASP Top 10 on kõige kriitilisemate rakenduste turvariskide loend. See on suurepärane tasuta ressurss arendajatele turvaliste veebi- ja mobiilirakenduste kirjutamiseks. Oma meeskonna arendajate koolitamine riskide hindamiseks ja logimiseks võib pikas perspektiivis säästa teie meeskonna aega ja raha. Kui sa tahaksid Lisateavet selle kohta, kuidas oma meeskonda OWASP Top 10-s koolitada, klõpsake siin.