sans top 20 security vulnerabilities software applications
Naučite i razumite SANS-ovih 20 kritičnih sigurnosnih ranjivosti u softverskim aplikacijama s primjerima u ovom vodiču:
Riječ BEZ nije samo obična rječnička riječ, već je kratica SysAdmin , Revizija , Mreža , i Sigurnost .
U ovom uputstvu naučit ćemo o SANS-ovih 20 glavnih sigurnosnih slabosti koje možemo pronaći u softverskim programima i što možemo učiniti da ih ublažimo.
Što ćete naučiti:
- Utjecaj SAN-a na zajednicu kibernetičke sigurnosti
- Popis SANS-ovih 20 glavnih kritičnih ranjivosti u softveru
- # 1) CWE-119: Pogreška međuspremnika memorije
- # 2) CWE-79: Cross-site Scripting
- # 3) CWE-20: Neovlaštena pogreška u unosu
- # 4) CWE-200: Pogreška izlaganja osjetljivim informacijama
- # 5) CWE-125: Pogreška čitanja izvan granica
- # 6) CWE-89: SQL ubrizgavanje
- # 7) CWE-416: Prethodno oslobođena memorija
- # 8) CWE-190: Pogreška cijelog preljeva
- # 9) CWE-352: Krivotvorenje zahtjeva za više mjesta
- # 10) CWE-22: Prelazak direktorija
- # 11) CWE-78: Injection naredbe OS-a
- # 12) CWE-787: Pogreška pri pisanju izvan granica
- # 13) CWE-287: Pogreška pogrešne autentifikacije
- # 14) CWE-476: Odreferenciranje NULL pokazivača
- # 15) CWE-732: Pogrešno dodjeljivanje dozvole
- # 16) CWE-434: neograničen prijenos datoteka
- # 17) CWE-611: Izloženost informacija kroz XML jedinice
- # 18) CWE-94: Injekcija koda
- # 19) CWE-798: Tvrdo kodirani pristupni ključ
- # 20) CWE-400: Nekontrolirana potrošnja resursa
- Često postavljana pitanja
- Zaključak
Utjecaj SAN-a na zajednicu kibernetičke sigurnosti
Prema BEZ , BEZ Institut je osnovan kao istraživačka i obrazovna organizacija. Njegovi razni sigurnosni programi vrlo su sveobuhvatni i imaju pozitivan učinak na preko 165 000 sigurnosnih stručnjaka u svijetu.
S pravom možemo reći da ih ovakva pokrivenost koja dolazi od SANS-a i druge pozitivne ocjene koje dobivaju čine njima najpovjerljivijom i daleko najvećom organizacijom za informatičku obuku i razne sigurnosne certifikate na svijetu.
Ovaj će se članak usredotočiti na SANS-ovih 20 pogrešaka koje vaš softver mogu učiniti ranjivim na napade i neke sigurnosne kontrole koje možete primijeniti za ublažavanje tih pogrešaka. Iako možemo pronaći više od 20, ali razgovarat ćemo o top 20 ranjivosti.
Popis SANS-ovih 20 glavnih kritičnih ranjivosti u softveru
- CWE-119 : Pogreška memorijskog međuspremnika
- CWE-79 : Cross-site Scripting
- CWE-20 : Nevaljana pogreška unosa
- CWE-200 : Pogreška izloženosti osjetljivim informacijama
- CWE-125 : Pogreška čitanja izvan granica
- CWE-89 : SQL Injection
- CWE-416 : Pogreška slobodne memorije
- CWE-190 : Cjelovita pogreška prelijevanja
- CWE-352 : Krivotvorenje zahtjeva za više web lokacija
- CWE-22 : Prelazak direktorija
- CWE-78 : Injection naredbe OS-a
- CWE-787 : Pogreška pri pisanju izvan granica
- CWE-287 : Pogreška pogreške pri autentifikaciji
- CWE-476 : Dereferenciranje NULL pokazivača
- CWE-732 : Netočna dodjela dozvole
- CWE-434 : Neograničen prijenos datoteka
- CWE-611 : Izloženost informacija kroz XML entitete
- CWE-94 : Injekcija koda
- CWE-798 : Tvrdo kodirani pristupni ključ
- CWE-400 : Nekontrolirana potrošnja resursa
Što znači pojam CWE?
The Popis uobičajenih slabosti (CWE) je popis softverskih i hardverskih ranjivosti prihvaćen u zajednici s identifikacijskim kodom dodijeljenim za svaku slabost. Cilj je identificirati razne nedostatke softvera i hardvera kako bi se mogle ispraviti i ublažiti sve te nedostatke.
# 1) CWE-119: Pogreška međuspremnika memorije
Ovaj se nedostatak obično uvodi tijekom faza arhitekture i dizajna, implementacije i rada SDLC-a.
To se prelijevanje međuspremnika događa kada postupak aplikacije pokušava pohraniti više podataka nego što ih može zadržati u memoriji. Budući da međuspremnici mogu pohraniti samo neku razinu podataka i kada je ta razina dosegnuta i premašena, podaci se preusmjeravaju na drugo memorijsko mjesto što može oštetiti podatke koji se već nalaze u tom međuspremniku.
Ovaj se incident ponekad dogodi slučajno zbog neke programske pogreške, ali naknadni učinak može biti poguban, jer to može izbrisati podatke, ukrasti povjerljive podatke, pa čak i cijela aplikacija može pasti zbog prelijevanja međuspremnika.
Primjer u nastavku prikazuje međuspremnik dodijeljen s 8 bajta prostora. No, preplavio je 2 bajta zbog više podataka poslanih na izvršenje.
(slika izvor )
# 2) CWE-79: Cross-site Scripting
Cross-site Scripting (XSS) napad je ubrizgavanja koji se obično događa kada zlonamjerni glumac ili napadač ubrizga zlonamjernu ili štetnu skriptu u web aplikaciju koja se može izvršiti putem web preglednika. Jednom kada se zlonamjerna skripta nađe u kompromitiranom sustavu, može se koristiti za obavljanje različitih zlonamjernih aktivnosti.
Neke od zlonamjernih aktivnosti mogu biti u obliku prijenosa privatnih podataka poput kolačića koji sadrže podatke o sesiji s računa žrtve na računalo napadača.
Pojava skriptiranja na više web lokacija:
- Kada se nevalidrani i nepovjereni podaci unose u web aplikaciju putem zahtjeva za web obrazac.
- Kada web aplikacija odmah izbaci web stranicu koja sadrži ove zlonamjerne podatke.
- Tijekom postupka generiranja stranice, softver se ne validira prema podacima koji sadrže sadržaj koji web preglednik može izvršiti, poput HTML-a i JavaScript-a.
- Žrtva nesvjesno posjećuje stranicu koja je generirana putem web preglednika, u kojoj se nalazi zlonamjerna skripta koja je ubačena korištenjem nepouzdanih podataka.
- Zlonamjerna skripta dolazi sa stranice koju je poslao web poslužitelj napadača, a ugroženi web preglednik zatim nastavlja s obradom zlonamjerne skripte.
- Ova radnja krši pravila web preglednika o istom podrijetlu, koja predviđa da skripte koje dolaze s jedne domene ne bi trebale imati pristup resursima niti izvršavati kôd na drugoj drugoj domeni, osim u svojoj domeni.
(slika izvor )
# 3) CWE-20: Neovlaštena pogreška u unosu
Aplikacija prima unos, ali ne uspijeva potvrditi unos, ima li sve potrebne detalje potrebne da bi bio prihvaćen u sustav za obradu.
Kada postoji sanacija ulaza, to se može koristiti za provjeru potencijalno opasnih ulaza kako bi se osiguralo da su ulazi sigurni za obradu s izvornim kodom ili kada je to ulaz potreban za komunikaciju s drugim komponentama.
Kada takvi ulazi nisu pravilno sanirani ili provjereni, tada će to otvoriti put napadaču da pošalje zlonamjerni unos koji će glavna aplikacija velikodušno obraditi, a to će dovesti do promjena u protoku kontrole, proizvoljne kontrole resursa ili proizvoljnog koda izvršenje.
Slike u nastavku pokazuju da dobra aplikacija ne bi trebala prihvatiti skriptu ili naredbu kao ulaz. Ako takvi unosi nisu pravilno sanirani, aplikacija će ih obraditi misleći da je to valjani zahtjev.
(slika izvor )
# 4) CWE-200: Pogreška izlaganja osjetljivim informacijama
To se događa kada aplikacija svjesno i nesvjesno izlaže povjerljive i osjetljive podatke napadaču koji nema ovlaštenje za pristup tim informacijama.
Različite pogreške dovode do toga da ove informacije budu izložene napadaču. Ozbiljnost ove pogreške ovisi o kontekstu u kojem aplikacija djeluje, vrsti osjetljivih informacija koje se otkrivaju i onome što glumac može dobiti od izloženih informacija.
Slijedi nekoliko osjetljivih podataka koji bi mogli biti izloženi:
- Osobni podaci poput osobnih poruka, financijskih podataka, evidencija zdravstvenog stanja, zemljopisnog položaja ili podataka za kontakt
- Detalji konfiguracije sustava i okruženje, na primjer, operativni sustav i instalirani paketi
- Poslovna evidencija i intelektualno vlasništvo
- Pojedinosti mrežne konfiguracije
- Interno stanje aplikacije
- Metapodaci poput zaglavlja poruka
Ponekad se u našim aplikacijama ili web lokacijama mogu pojaviti tehničke svrbeži, poput pogreške u povezivanju baze podataka, pogreške tijekom izvođenja i mrežne pogreške.
Ako se s takvim pogreškama ne postupa pravilno tijekom razvoja, tj. Kada aplikacija prikazuje poruku o pogrešci, mogla bi javnosti prikazati informacije koje bi napadač mogao upotrijebiti u zlonamjerne svrhe poput slike u nastavku.
# 5) CWE-125: Pogreška čitanja izvan granica
To se obično događa kada aplikacija čita podatke iznad normalne razine, bilo do kraja ili prije početka međuspremnika. To napadaču daje neprivilegirani pristup za čitanje osjetljivih podataka s drugih memorijskih mjesta, što može dovesti i do pada sustava ili aplikacije.
Pad će se sigurno dogoditi kada kôd čita podatke i pomisli da postoji pokazatelj koji zaustavlja operaciju čitanja poput NULL-a primijenjenog na niz
U sljedećem kodu funkcija dohvaća vrijednost s mjesta indeksa polja, što je pak ulazni parametar funkcije.
(slika izvor )
Iz gornjeg koda možemo vidjeti da funkcija provjerava je li zadani indeks niza manji od maksimalne duljine niza, ali ne uspijeva potvrditi minimalnu vrijednost.
Ova nevalidacija će dovesti do prihvaćanja negativne vrijednosti kao indeksa ulaznog niza, što će uzrokovati čitanje izvan granica, što zauzvrat daje pristup osjetljivoj memoriji.
Potrebno je provjeriti ulazni indeks niza ako je unutar maksimalnog i minimalnog raspona potrebnog za niz.
Ako sada provjerite donji primjer, vidjet ćete da IF izraz treba izmijeniti kako bi obuhvatio provjeru minimalnog raspona.
# 6) CWE-89: SQL ubrizgavanje
SQL injekcija je oblik sigurnosne ranjivosti pri kojem napadač ubrizgava kôd jezika strukturiranog upita (SQL) u okvir za unos web obrasca kako bi dobio pristup resursima ili promijenio podatke kojima nije odobren pristup.
Ova se ranjivost može uvesti u aplikaciju tijekom faza dizajniranja, implementacije i rada.
Ovaj SQL upit čini neovlašteni zahtjev bazi podataka za nekim informacijama. U normalnoj operaciji unosa, web obrazac koristi se za autentifikaciju korisnika. Kad korisnik u tekstualne okvire unese svoje ime i lozinku, te se vrijednosti ubacuju u SELECT upit.
Ako su ulazne vrijednosti ispravne, korisniku se omogućuje pristup aplikaciji ili zahtjevu, ali ako su vrijednosti netočne, pristup će biti odbijen.
Neki web obrasci danas nemaju uspostavljene mehanizme za blokiranje zlonamjernog unosa, a napadač ih može koristiti za slanje zlonamjernih zahtjeva u bazu podataka. Ovaj im jedan zahtjev može odobriti pristup cijeloj bazi podataka koja može sadržavati osjetljive podatke.
# 7) CWE-416: Prethodno oslobođena memorija
Ovaj je problem uzrokovan referenciranjem memorije nakon što je objavljena, što može ozbiljno dovesti do pada programa. Kada koristite prethodno oslobođenu memoriju, to može imati negativne posljedice, poput oštećenja valjanih podataka, proizvoljnog izvršavanja koda, što ovisi o vremenu nedostataka.
Dva su česta uzroka:
- Uvjeti pogreške unutar softvera i u nekim drugim iznimnim slučajevima.
- Nema objašnjenja koji je dio programa uzrokovao slobodnu memoriju.
U ovom se slučaju memorija dodjeljuje drugom pokazivaču odmah nakon što se oslobodi. Ponovno se koristi prethodni pokazivač na oslobođenu memoriju i sada upućuje na negdje oko nove dodjele. Dok se podaci promijene, to može oštetiti iskorištenu memoriju i učiniti da se aplikacija ponaša na nedefiniran način.
# 8) CWE-190: Pogreška cijelog preljeva
Kada aplikacija obrađuje izračun i postoji logična pretpostavka da će rezultirajuća vrijednost biti veća od točne vrijednosti, događa se prelijevanje cijelog broja. Ovdje se cjelobrojna vrijednost povećava na vrijednost koja se ne može pohraniti na mjestu.
Kada se to dogodi, vrijednost će se previti u vrlo malu ili negativnu vrijednost. Ako se omatanje očekuje, onda je to u redu, ali mogu biti sigurnosne posljedice ako je omot neočekivan. Kada se dogodi ovaj scenarij, mogao bi se nazvati kritičnim jer se rezultat koristi za upravljanje petljama, sigurnosnu odluku, alokaciju memorije i još mnogo toga.
Ova slabost općenito će dovesti do nestalnog ponašanja i može dovesti do padova. Ako je vrijednost podacima važna nego protok, tada se može dogoditi jednostavna oštećenja podataka. Ali ako omotavanje dovede do daljnjih uvjeta poput preljeva međuspremnika, tada se može dogoditi oštećenje memorije.
Ovaj problem može pokrenuti preljev međuspremnika, koji napadač može koristiti za izvršavanje proizvoljnog koda. Ova se cjelobrojna pogreška preljeva obično uvodi u sustav tijekom faza projektiranja i implementacije SDLC-a.
# 9) CWE-352: Krivotvorenje zahtjeva za više mjesta
To je slučaj kada web aplikacija ne potvrđuje u dovoljnoj mjeri HTTP zahtjev, je li zahtjev zapravo dolazio od pravog korisnika ili ne. Web poslužitelji osmišljeni su da prihvate sve zahtjeve i odgovore na njih.
Pretpostavimo da klijent pošalje nekoliko HTTP zahtjeva u jednoj ili nekoliko sesija. Web poslužitelju je vrlo teško znati jesu li svi zahtjevi bili autentični ili ne, a obično se obrađuje. Napadač može na svoj način prisiliti klijenta da posjeti posebno izrađenu web stranicu i sada će moći izvršiti neke zahtjeve poput prijenosa sredstava, promjene adrese e-pošte i mnogih drugih.
Odmah napadač ima pristup i moći će ukrasti podatke, pa čak i uništiti podatke. Uvijek mogu zadržati pristup i kad završe, mogu ugroziti dnevnik revizije kako bi spriječili bilo kakvu buduću forenzičarku koja bi mogla razotkriti njihovo iskorištavanje.
Slika dolje prikazuje napadača koji navodi korisnika da izvrši radnje koje ne namjerava izvršiti.
# 10) CWE-22: Prelazak direktorija
Prelazak direktorija ili put datoteke je ranjivost web sigurnosti koja napadaču omogućuje čitanje proizvoljnih datoteka na poslužitelju koji trenutno pokreće aplikaciju.
Te datoteke mogu biti aplikacijski kod, vjerodajnice za pozadinske sustave i datoteke operativnog sustava. U nekom drugom scenariju, napadač bi mogao pisati u ove proizvoljne datoteke na poslužitelju što bi im moglo omogućiti izmjenu podataka ili ponašanja aplikacije, a to će im dati potpunu kontrolu nad poslužiteljem.
(slika izvor )
# 11) CWE-78: Injection naredbe OS-a
Riječ je o nepravilnoj sanaciji posebnih elemenata koja može dovesti do modifikacije namjeravane naredbe OS-a koja se šalje na nižu komponentu. Napadač može izvršiti ove zlonamjerne naredbe na ciljanom operativnom sustavu i može pristupiti okruženju u kojem nije trebao čitati ili mijenjati.
To bi uvijek omogućilo napadaču da izvršava opasne naredbe izravno u operativni sustav.
Kad god se ova ranjivost dogodi u privilegiranom programu, napadaču omogućuje korištenje naredbi koje su dopuštene u okolini ili pozivanje drugih naredbi s privilegijama koje napadač nema, što bi moglo povećati količinu štete koja bi mogla nastati.
# 12) CWE-787: Pogreška pri pisanju izvan granica
To se događa kada aplikacija zapisuje podatke nakon kraja ili prije početka određenog međuspremnika.
Kada se to dogodi, krajnji rezultat obično je oštećenje podataka, pad sustava ili aplikacije. Ono što aplikacija radi je neka vrsta aritmetike pokazivača koja se koristi za referenciranje memorijskog mjesta izvan granica međuspremnika.
# 13) CWE-287: Pogreška pogrešne autentifikacije
To je slučaj kada napadač tvrdi da ima valjani identitet, ali softver nije uspio provjeriti ili dokazuje da je tvrdnja točna.
Softver pogrešno provjerava podatke o prijavi korisnika i kao rezultat toga, napadač bi mogao steći određene privilegije unutar aplikacije ili otkriti osjetljive podatke koji im omogućuju pristup osjetljivim podacima i izvršavanje proizvoljnog koda.
# 14) CWE-476: Odreferenciranje NULL pokazivača
Preusmjeravanje null pokazivača je kada aplikacija dereferencira pokazivač koji je trebao vratiti valjani rezultat, umjesto toga vraća NULL i to dovodi do pada. Preusmjeravanje null pokazivača može se dogoditi zbog mnogih nedostataka poput uvjeta utrke i neke programske pogreške.
Procesi koji se izvode uz pomoć NULL pokazivača obično dovode do neuspjeha, a mogućnost izvođenja postupka vrlo je mala. To pomaže napadačima u izvršavanju zlonamjernog koda.
(slika izvor )
# 15) CWE-732: Pogrešno dodjeljivanje dozvole
Ova se ranjivost događa kada aplikacija dodijeli dozvole vrlo važnom i kritičnom resursu na takav način da je zlonamjernom korisniku izložio resurs kojem treba pristupiti.
Kada mnogim ljudima date dozvolu za resurs, to može dovesti do toga da napadač izloži ili izmijeni osjetljive podatke. Ako ne postoje provjere protiv takvog pristupa dodjeli dozvola resursima, to može dovesti do vrlo katastrofalnog kraja ako konfiguracija programa ili neki osjetljivi podaci dođu u krivu ruku.
# 16) CWE-434: neograničen prijenos datoteka
Ova se ranjivost javlja kada aplikacija ne provjeri valjanost vrsta datoteka prije slanja datoteka u program. Ova ranjivost neovisna je o jeziku, ali obično se javlja u aplikacijama napisanim na ASP i PHP jeziku.
Opasna vrsta datoteke je datoteka koja se može automatski obraditi u aplikacijskom okruženju.
Sljedeći program prikazuje prijenos PHP datoteke. Vrsta datoteke nije provjerena i provjerena prije prijenosa u webroot direktorij. Kao rezultat ove slabosti, napadač može prenijeti proizvoljnu PHP datoteku i izvršiti je izravnim pristupom prenesenoj datoteci.
# 17) CWE-611: Izloženost informacija kroz XML jedinice
Kada se XML dokument prenese u aplikaciju za obradu, a ovaj dokument sadrži XML entitete s jedinstvenim identifikatorom resursa koji se rješava u drugom dokumentu na drugom mjestu koje se razlikuje od predviđenog. Ova anomalija može natjerati aplikaciju da u svoj izlaz priloži netočne dokumente.
XML dokumenti ponekad sadrže definiciju vrste dokumenta (DTD), koja se koristi za definiranje XML entiteta i drugih značajki. Kroz DTD, jedinstveni identifikator resursa može poslužiti kao oblik supstitucijskog niza. Ono što će XML parser učiniti jest pristupiti onome što je sadržano u jedinstvenom identifikatoru resursa i unijeti taj sadržaj natrag u XML dokument za izvršenje.
(slika izvor )
# 18) CWE-94: Injekcija koda
Postojanje sintakse koda u korisnikovim podacima povećava mogućnost napadača da promijeni planirano ponašanje upravljanja i izvrši proizvoljan kôd. Ova se ranjivost naziva 'slabostima ubrizgavanja' i ta bi slabost mogla učiniti da kontrola podataka postane korisnik-kontrolirana.
Ova ranjivost prikazuje scenarij u kojem softver dopušta nepouzdane podatke u kod i ne vrši provjeru posebnih znakova što može negativno utjecati na ponašanje segmenta koda i sintaksu.
Ukratko, napadač bi mogao ubaciti neku vrstu proizvoljnog koda i izvršiti ih unutar aplikacije. Sljedeći PHP kod prikazuje upotrebu funkcije eval () u nepouzdanim podacima. U donjem kodu napadač može prenijeti u kod proizvoljni kod parametra 'param' koji će se zatim izvršiti u softveru.
Sljedeći primjer objašnjava poziv na phpinfo () funkcija. Ova se ranjivost može dalje iskoristiti za izvršavanje proizvoljnih OS naredbi na ciljnom softveru putem poziva system ().
# 19) CWE-798: Tvrdo kodirani pristupni ključ
To je slučaj kada se lozinka i pristupni ključ teško kodiraju u aplikaciju izravno za dolaznu provjeru autentičnosti i odlaznu komunikaciju s nekim vanjskim komponentama i za šifriranje internih podataka. Tvrdo kodirani detalji za prijavu obično uzrokuju ranjivost koja napadaču otvara put za zaobilaženje provjere autentičnosti koju je konfigurirao administrator softvera.
Administrator sustava će uvijek biti vrlo teško otkriti ovu ranjivost i popraviti je.
Dva su glavna toka ove slabosti:
- Dolazni : Aplikacija sadrži sustav provjere autentičnosti koji potvrđuje ulazne vjerodajnice u odnosu na tvrdo kodirane detalje.
- Inostranstvo : Aplikacija se povezuje s drugim sustavom, a detalji za povezivanje s drugim sustavom tvrdo su kodirani u sustav.
U ulaznom toku uvijek se stvori zadani administratorski račun, a vjerodajnice za njegov pristup bit će teško kodirane u aplikaciju i povezane sa tim zadanim administratorskim računom.
Tvrdo kodirani detalji obično su ista stvar prilikom svake instalacije aplikacije, a to nitko ne može promijeniti ili onemogućiti. Čak i administratori sustava nemaju pravo, osim što mogu ručno izmijeniti aplikaciju. Ako se lozinka ikad otkrije javnosti, napadač može imati pristup cijeloj aplikaciji i može njome manipulirati radi vlastite dobiti.
Budući da sve instalacije aplikacije imaju istu lozinku, čak i kada su instalirane u odvojenim organizacijama, to može izazvati vrlo masovne napade preko svih granica organizacije, na primjer, ubrizgavanjem crva u aplikaciju koja će se širiti uokolo.
Izlazni tok odnosi se samo na prednje sustave koji provjeravaju autentičnost pomoću pozadinske usluge. Pozadinska usluga može zahtijevati tvrdi kôd ili fiksnu lozinku koja se lako može otkriti. Ono što programer čini je jednostavno kodirati te pozadinske vjerodajnice u front-end softver. Bilo koji korisnik te aplikacije možda će moći izvući lozinku.
Bilo koji softver na strani klijenta u koji su lozinka i pristupni ključ čvrsto kodirani obično predstavlja veću prijetnju od onih koji nisu teško kodirani, jer je izvlačenje lozinke iz binarnog datoteke obično vrlo lako postići.
# 20) CWE-400: Nekontrolirana potrošnja resursa
Ova se ranjivost događa kada aplikacija ne kontrolira pravilno dodjelu i održavanje ograničenog resursa, što napadaču omogućuje utjecaj na količinu potrošenih resursa, što će na kraju dovesti do iscrpljenja dostupnih resursa.
Dio ograničenih resursa uključuje memoriju, pohranu datotečnog sustava, unose u spremište baze podataka i CPU.
Pretpostavimo da napadač može pokrenuti dodjelu ovih ograničenih resursa i da se ne kontrolira broj ili veličina resursa, tada bi napadač mogao izazvati kaos uskraćivanjem usluge koja troši sve raspoložive resurse.
Kada se to dogodi, to bi spriječilo valjane korisnike da pristupe aplikaciji, što će uvijek imati negativan utjecaj na okoliš. Na primjer, kada memorija aplikacije prolazi kroz napad iscrpljenosti, to bi moglo usporiti čitav program kao i operativni sustav hosta.
Tri različita slučaja koja mogu dovesti do iscrpljenja resursa su:
- Nedostatak regulacije broja dodijeljenih resursa
- Izgubiti sve reference na resurs prije dostizanja faze gašenja
- Neuspjeh zatvaranja / vraćanja resursa nakon obrade
Pitanje iscrpljenja resursa obično je rezultat pogrešne provedbe sljedećih scenarija:
- Uvjeti pogreške i druge iznimne okolnosti.
- Mješovita je reakcija oko toga koji dio programa objavljuje resurs.
Sljedeći primjer pomaže pokazati prirodu ove ranjivosti i opisati metode koje se mogu koristiti za ublažavanje rizika.
Sljedeći primjer objašnjava ranjivost:
(slika izvor )
Ovaj program ne prati koliko je veza uspostavljeno i ne ograničava broj dostupnih veza. Forking je samo jedan od načina na koji napadač uzrokuje da sustav izgubi CPU, procese ili memoriju uspostavljanjem velikog broja veza.
najbolja špijunska aplikacija za mobitel
Ono što napadač čini jest da troši sve dostupne veze sprečavajući druge da daljinski pristupe sustavu.
Često postavljana pitanja
P # 1) Što znači SANS?
Odgovor: SANS je kratica od SysAdmin, Audit, Network i Security.
P # 2) Navedite neke primjere ranjivosti.
Odgovor: Primjeri su sljedeći:
- Softverske ranjivosti
- Ranjivosti vatrozida
- Mrežne ranjivosti
- Ranjivosti operativnog sustava
- Ranjivosti web poslužitelja
- Ranjivosti baze podataka
P # 3) Koja je razlika između prijetnji i ranjivosti?
Odgovor: Prijetnja je mogućnost izvršenja zlonamjernog ili neželjenog postupka u pokušaju oštećenja računalnog sustava ili aplikacije putem postojećih ranjivosti u sustavu. Primjer: ransomware.
Ranjivosti su slabosti koje postoje u sustavu koje su mogle dopustiti neželjeni ili neovlašteni pristup napadaču da se infiltrira u organizaciju. Primjer: Pogrešna konfiguracija vatrozida.
P # 4) Koje su najčešće ranjivosti?
Odgovor: Ovo su kako slijedi:
- SQL ubrizgavanje
- Cross-Site skriptiranje
- Pogrešna konfiguracija sigurnosti
- Izloženost osjetljivim podacima
- Prekinuta autentifikacija
- Upravljanje sjednicama
Zaključak
Ovaj popis SANS-ovih top 20 ranjivosti nije pravilo ili politika, već vodič koji će nam pomoći kako izbjeći softverske ranjivosti. Bez obzira jesmo li programer ili stručnjak za sigurnost, sada je prepušteno nama da slijedimo ovaj vodič o tome što se može učiniti kako bi se izbjegla bilo kakva pogreška koja bi mogla dovesti do ranjivosti u našoj aplikaciji koja glumcu može stvoriti zaklon za izvršenje zlonamjernog čina.
Preporučena literatura
- Ispitivanje sigurnosti (cjelovit vodič)
- Acunetixov web skener ranjivosti (WVS) Alat za ispitivanje sigurnosti (Praktični pregled)
- Procjena i upravljanje mrežnom ranjivošću
- 10 najmoćnijih alata za skeniranje procjene ranjivosti 2021. godine
- Razlika u procjeni ranjivosti i ispitivanju penetracije
- Jenkins Security: Omogućavanje matrice sigurnosti i sigurnosti projekta
- Top 4 pogreške u cyber sigurnosti koje trebate izbjegavati tijekom testiranja softvera
- 10 NAJBOLJIH Mrežnih sigurnosnih programa (2021 SAMO ODABIRNO)