OWASP 10 didžiausių saugumo pavojų | Apžvalga

Turinys

OWASP 10 geriausių apžvalga

Kas yra OWASP?

OWASP yra ne pelno siekianti organizacija, skirta žiniatinklio programų saugumo ugdymui. 

OWASP mokymosi medžiaga yra prieinama jų svetainėje. Jų įrankiai naudingi gerinant žiniatinklio programų saugumą. Tai apima dokumentus, įrankius, vaizdo įrašus ir forumus.

OWASP Top 10 yra sąrašas, kuriame pabrėžiamos pagrindinės šiandienos žiniatinklio programų saugumo problemos. Jie rekomenduoja visoms įmonėms įtraukti šią ataskaitą į savo procesus, kad sumažintų saugumo riziką. Žemiau pateikiamas saugumo rizikos, įtrauktos į OWASP 10 geriausių 2017 m. ataskaitą, sąrašas.

SQL injekcija

SQL įterpimas įvyksta, kai užpuolikas siunčia netinkamus duomenis į žiniatinklio programą, kad sutrikdytų programos veiklą..

SQL įpurškimo pavyzdys:

Užpuolikas gali įvesti SQL užklausą į įvesties formą, kuriai reikia vartotojo vardo paprasto teksto. Jei įvesties forma neapsaugota, bus vykdoma SQL užklausa. Tai yra nukreipiama į kaip SQL injekciją.

Norėdami apsaugoti žiniatinklio programas nuo kodo įterpimo, įsitikinkite, kad kūrėjai naudoja naudotojo pateiktų duomenų įvesties patvirtinimą. Patvirtinimas čia reiškia netinkamų įvesčių atmetimą. Duomenų bazės tvarkyklė taip pat gali nustatyti valdiklius, kad sumažintų duomenų kiekį informacija kad gali būti atskleista injekcijos priepuolio metu.

Siekiant išvengti SQL injekcijos, OWASP rekomenduoja duomenis laikyti atskirai nuo komandų ir užklausų. Pageidautinas variantas yra naudoti saugų API neleisti naudoti vertėjo arba pereiti prie objektų santykio atvaizdavimo įrankius (ORM).

Sugadintas autentifikavimas

Autentifikavimo pažeidžiamumas gali leisti užpuolikui pasiekti vartotojų paskyras ir pažeisti sistemą naudojant administratoriaus paskyrą. Kibernetinis nusikaltėlis gali naudoti scenarijų, kad išbandytų tūkstančius slaptažodžių derinių sistemoje ir pamatytų, kuris veikia. Kai kibernetinis nusikaltėlis patenka, jie gali suklastoti vartotojo tapatybę, suteikdami jiems prieigą prie konfidencialios informacijos..

Sugadintas autentifikavimo pažeidžiamumas yra žiniatinklio programose, kurios leidžia automatiškai prisijungti. Populiarus būdas ištaisyti autentifikavimo pažeidžiamumą yra kelių veiksnių autentifikavimas. Taip pat gali būti nustatytas prisijungimo dažnio limitas būti įtrauktas žiniatinklio programoje, kad išvengtumėte žiaurios jėgos atakų.

Jautrių duomenų eksponavimas

Jei žiniatinklio programos neapsaugo, jautrūs užpuolikai gali jas pasiekti ir naudoti siekdami naudos. Tiesioginė ataka yra populiarus slaptos informacijos vagystės būdas. Kai visi jautrūs duomenys yra užšifruoti, poveikio rizika yra minimali. Žiniatinklio kūrėjai turėtų užtikrinti, kad neskelbtini duomenys nebūtų rodomi naršyklėje arba be reikalo saugomi.

XML išoriniai objektai (XEE)

Kibernetinis nusikaltėlis gali įkelti arba įtraukti kenkėjišką XML turinį, komandas ar kodą į XML dokumentą. Tai leidžia jiems peržiūrėti failus programų serverio failų sistemoje. Kai jie turi prieigą, jie gali sąveikauti su serveriu ir vykdyti serverio pusės užklausų klastojimo (SSRF) atakas.

XML išorinių subjektų atakos gali būti užkirstas kelias leidžianti žiniatinklio programoms priimti ne tokius sudėtingus duomenų tipus, kaip JSON. Išjungus XML išorinių objektų apdorojimą, sumažėja ir XEE atakos tikimybė.

Sugedusi prieigos kontrolė

Prieigos kontrolė yra sistemos protokolas, ribojantis neteisėtus vartotojus, kad jie gautų neskelbtiną informaciją. Jei prieigos kontrolės sistema sugenda, užpuolikai gali apeiti autentifikavimą. Tai suteikia jiems prieigą prie neskelbtinos informacijos, tarsi jie turėtų leidimą. Prieigos valdymas gali būti apsaugotas įdiegus prieigos raktus vartotojo prisijungimo metu. Gavus kiekvieną užklausą, kurią vartotojas pateikia būdamas autentifikuotas, patvirtinamas vartotojo prieigos raktas, o tai rodo, kad vartotojas turi teisę pateikti tą užklausą.

Neteisinga saugumo konfigūracija

Neteisinga saugos konfigūracija yra dažna problema Kibernetinė sauga specialistai pastebi žiniatinklio programose. Taip nutinka dėl netinkamai sukonfigūruotų HTTP antraščių, sugadintų prieigos valdiklių ir klaidų, kurios atskleidžia informaciją žiniatinklio programoje.. Galite ištaisyti klaidingą saugos konfigūraciją pašalindami nenaudojamas funkcijas. Taip pat turėtumėte pataisyti arba atnaujinti programinės įrangos paketus.

Skirtingų svetainių scenarijus (XSS)

XSS pažeidžiamumas atsiranda, kai užpuolikas manipuliuoja patikimos svetainės DOM API, kad naudotojo naršyklėje vykdytų kenkėjišką kodą.. Šis kenkėjiškas kodas dažnai paleidžiamas, kai vartotojas spusteli nuorodą, kuri atrodo iš patikimos svetainės.. Jei svetainė nėra apsaugota nuo XSS pažeidžiamumo, ji gali būti apsaugota būti pažeistas. Kenkėjiškas kodas, kuris yra įvykdytas suteikia užpuolikui prieigą prie vartotojų prisijungimo seanso, kredito kortelės informacijos ir kitų neskelbtinų duomenų.

Kad išvengtumėte kelių svetainių scenarijų (XSS), įsitikinkite, kad jūsų HTML yra gerai išvalytas. Tai gali pasiekti pasirenkant patikimas sistemas, atsižvelgiant į pasirinktą kalbą. Galite naudoti tokias kalbas kaip .Net, Ruby on Rails ir React JS, nes jos padės išanalizuoti ir išvalyti HTML kodą. Visus autentifikuotų arba neautentifikuotų vartotojų duomenis traktuojant kaip nepatikimus, gali sumažėti XSS atakų rizika.

Nesaugus deserializavimas

Deserializavimas yra nuosekliųjų duomenų transformavimas iš serverio į objektą. Duomenų serializavimas yra įprastas reiškinys kuriant programinę įrangą. Tai nesaugu, kai duomenys yra deserializuotas iš nepatikimo šaltinio. Tai gali potencialiai atskleisti savo programą atakoms. Nesaugus deserializavimas įvyksta, kai deserializuoti duomenys iš nepatikimo šaltinio sukelia DDOS atakas, nuotolinio kodo vykdymo atakas arba autentifikavimo aplenkimus..

Norint išvengti nesaugios deserializacijos, galioja nykščio taisyklė – niekada nepasitikėti vartotojo duomenimis. Kiekvienas vartotojas turėtų įvesti duomenis būti gydomi as potencialiai piktybinis. Venkite duomenų iš nepatikimų šaltinių deserializavimo. Įsitikinkite, kad deserializacijos funkcija veikia būti naudojamas jūsų žiniatinklio programoje yra saugus.

Komponentų, turinčių žinomų pažeidžiamumų, naudojimas

Bibliotekos ir sistemos leidžia daug greičiau kurti žiniatinklio programas, nereikia išradinėti dviračio iš naujo. Tai sumažina kodo vertinimo dubliavimą. Jie atveria kelią kūrėjams sutelkti dėmesį į svarbesnius programų aspektus. Jei užpuolikai atras išnaudojimus šiose sistemose, tai padarys kiekviena sistemą naudojanti kodų bazė būti pažeistas.

Komponentų kūrėjai dažnai siūlo komponentų bibliotekų saugos pataisas ir naujinimus. Kad išvengtumėte komponentų pažeidžiamumų, turėtumėte išmokti atnaujinti savo programas su naujausiais saugos pataisymais ir naujinimais. Nenaudojami komponentai turėtų būti pašalintas iš programos, kad sumažintumėte atakos vektorius.

Nepakankamas registravimas ir stebėjimas

Registravimas ir stebėjimas yra svarbūs norint parodyti veiklą žiniatinklio programoje. Registruojant galima lengvai atsekti klaidas, monitorius vartotojų prisijungimai ir veikla.

Nepakankamas registravimas ir stebėjimas atsiranda, kai saugumui svarbūs įvykiai nėra registruojami tinkamai. Užpuolikai tuo pasinaudoja, kad surengtų atakas prieš jūsų programą, kol nesulaukiama pastebimo atsakymo.

Registravimas gali padėti jūsų įmonei sutaupyti pinigų ir laiko, nes tai gali padaryti jūsų kūrėjai lengvai rasti klaidų. Tai leidžia jiems daugiau dėmesio skirti klaidų šalinimui, o ne jų paieškai. Tiesą sakant, registravimas gali padėti užtikrinti, kad jūsų svetainės ir serveriai veiktų ir veiktų kiekvieną kartą be prastovų.

Išvada

Geras kodas ne tiesiog Kalbant apie funkcionalumą, tai yra jūsų naudotojų ir programų saugumas. „OWASP Top 10“ yra svarbiausių programų saugos pavojų sąrašas. Tai puikus nemokamas šaltinis kūrėjams, leidžiantiems kurti saugias žiniatinklio ir mobiliąsias programas.. Savo komandos kūrėjų mokymas įvertinti ir registruoti riziką gali ilgainiui sutaupyti komandos laiko ir pinigų. Jei norėtum Sužinokite daugiau apie tai, kaip mokyti savo komandą OWASP Top 10, spustelėkite čia.