sans top 20 security vulnerabilities software applications
Naučte sa a pochopte 20 najzraniteľnejších chýb zabezpečenia v softvérových aplikáciách SANS pomocou príkladov v tomto výučbe:
Slovo BEZ nie je len obyčajné slovníkové slovo, skôr to znamená SysAdmin , Audit , Sieť a Bezpečnosť .
V tomto tutoriáli sa dozvieme o 20 najčastejších slabých stránkach zabezpečenia v SANS, ktoré môžeme nájsť v softvérových programoch, a o tom, čo môžeme urobiť pre ich zmiernenie.
Čo sa dozviete:
- Dopad sietí SAN na komunitu kybernetickej bezpečnosti
- Zoznam 20 najdôležitejších zraniteľností softvéru SANS v softvéri
- # 1) CWE-119: Chyba vyrovnávacej pamäte
- # 2) CWE-79: Skriptovanie medzi servermi
- # 3) CWE-20: Neplatná chyba vstupu
- # 4) CWE-200: Chyba expozície citlivých informácií
- # 5) CWE-125: Chyba čítania mimo hraníc
- # 6) CWE-89: SQL Injection
- # 7) CWE-416: Predtým uvoľnená pamäť
- # 8) CWE-190: Chyba pretečenia celých čísel
- # 9) CWE-352: Falšovanie požiadaviek medzi stránkami
- # 10) CWE-22: Traverz adresára
- # 11) CWE-78: Injekcia príkazov OS
- # 12) CWE-787: Chyba zápisu mimo medzí
- # 13) CWE-287: Nesprávna chyba overenia
- # 14) CWE-476: Dereferencia NULL ukazovateľa
- # 15) CWE-732: Nesprávne priradenie povolení
- # 16) CWE-434: Neobmedzené nahrávanie súborov
- # 17) CWE-611: Vystavenie informácií prostredníctvom entít XML
- # 18) CWE-94: Vkladanie kódu
- # 19) CWE-798: Pevne zakódovaný prístupový kľúč
- # 20) CWE-400: Nekontrolovaná spotreba zdrojov
- často kladené otázky
- Záver
Dopad sietí SAN na komunitu kybernetickej bezpečnosti
Podľa BEZ , BEZ Ústav bol založený ako výskumná a vzdelávacia organizácia. Jeho rôzne bezpečnostné programy sú veľmi komplexné a majú pozitívny vplyv na viac ako 165 000 bezpečnostných profesionálov na celom svete.
Môžeme oprávnene povedať, že s takýmto pokrytím pochádzajúcim od SANS a ďalších pozitívnych hodnotení z nich robia najdôveryhodnejšie a zďaleka najväčšiu organizáciu pre školenie InfoSec a rôzne bezpečnostné certifikácie na svete.
Tento článok sa zameria na 20 najčastejších chýb SANS, ktoré môžu spôsobiť, že váš softvér bude zraniteľný voči útokom, a na niektoré bezpečnostné kontroly, ktoré môžete implementovať na zmiernenie týchto chýb. Môžeme ich nájsť viac ako 20, ale budeme diskutovať o 20 najlepších zraniteľnostiach.
Zoznam 20 najdôležitejších zraniteľností softvéru SANS v softvéri
- CWE-119 : Chyba vyrovnávacej pamäte
- CWE-79 : Cross-site Scripting
- CWE-20 : Neplatná chyba vstupu
- CWE-200 : Chyba vystavenia citlivých informácií
- CWE-125 : Chyba čítania mimo hranice
- CWE-89 : SQL Injection
- CWE-416 : Chyba voľnej pamäte
- CWE-190 : Chyba pretečenia celých čísel
- CWE-352 : Falšovanie požiadaviek medzi stránkami
- CWE-22 : Traverz adresára
- CWE-78 : Vstrekovanie príkazov OS
- CWE-787 : Chyba zápisu mimo rozsah
- CWE-287 : Nesprávna chyba overenia
- CWE-476 : Dereferencia ukazovateľa NULL
- CWE-732 : Nesprávne priradenie povolení
- CWE-434 : Neobmedzené nahrávanie súborov
- CWE-611 : Vystavenie informácií prostredníctvom entít XML
- CWE-94 : Vloženie kódu
- CWE-798 : Pevne zakódovaný prístupový kľúč
- CWE-400 : Nekontrolovaná spotreba zdrojov
Čo znamená pojem CWE?
The Bežný výpočet slabosti (CWE) je komunitou akceptovaný zoznam zraniteľností softvéru a hardvéru s priradeným identifikačným kódom pre každú slabinu. Cieľom je identifikovať rôzne chyby v softvéri a hardvéri, aby bolo možné tieto chyby napraviť a zmierniť.
# 1) CWE-119: Chyba vyrovnávacej pamäte
Táto chyba sa zvyčajne vyskytuje počas fáz architektúry a návrhu, implementácie a prevádzky SDLC.
Toto pretečenie medzipamäte sa stane, keď sa aplikačný proces pokúsi uložiť viac údajov, ako dokáže pojať do pamäte. Pretože medzipamäť môže ukladať iba určitú úroveň údajov a keď je táto úroveň dosiahnutá a prekročená, údaje prúdia do iného pamäťového umiestnenia, ktoré môže poškodiť údaje, ktoré už sú v tejto vyrovnávacej pamäti obsiahnuté.
Tento incident sa niekedy stane náhodne kvôli nejakej programovej chybe, ale následný efekt by mohol byť katastrofálny, pretože to môže vymazať údaje, ukradnúť dôverné informácie a dokonca aj celá aplikácia môže zlyhať kvôli pretečeniu tejto vyrovnávacej pamäte.
V príklade nižšie je zobrazená vyrovnávacia pamäť s 8bytovým úložiskom. Ale pretieklo to o 2 bajty, pretože sa odoslalo viac údajov na vykonanie.
[obrázok zdroj ]
# 2) CWE-79: Skriptovanie medzi servermi
Cross-site Scripting (XSS) je injekčný útok, ktorý sa zvyčajne stane, keď zlomyseľný herec alebo útočník vloží škodlivý alebo škodlivý skript do webovej aplikácie, ktorú je možné vykonať prostredníctvom webových prehľadávačov. Akonáhle sa škodlivý skript dostane do ohrozeného systému, možno ho použiť na vykonávanie rôznych škodlivých činností.
Niektoré škodlivé aktivity môžu mať formu prenosu súkromných informácií, ako sú súbory cookie, ktoré obsahujú informácie o relácii z počítača obete do počítača útočníka.
Výskyt skriptovania medzi stránkami:
- Keď sa do webovej aplikácie vkladajú neoverené a nedôveryhodné údaje, prostredníctvom žiadosti webového formulára.
- Keď webová aplikácia okamžite vygeneruje webovú stránku, ktorá obsahuje tieto škodlivé údaje.
- Počas procesu generovania stránky softvér zlyháva pri overovaní údajov, ktoré obsahujú obsah, ktorý je možné spustiť webovým prehliadačom, ako sú HTML a JavaScript.
- Obeť nevedomky navštívi stránku vygenerovanú webovým prehliadačom, na ktorej sa nachádza škodlivý skript, ktorý bol vpichnutý pomocou nedôveryhodných údajov.
- Škodlivý skript pochádza zo stránky, ktorá bola odoslaná webovým serverom útočníka, napadnutý systémový webový prehliadač potom škodlivý skript spracuje.
- Táto akcia porušuje pravidlá webového prehľadávača rovnakého pôvodu, ktoré stanovujú, že skripty pochádzajúce z jednej domény by nemali mať prístup k zdrojom alebo spúšťať kód v inej doméne okrem svojej vlastnej domény.
[obrázok zdroj ]
# 3) CWE-20: Neplatná chyba vstupu
Aplikácia prijíma vstup, ale nepodarí sa mu overiť vstup, či má všetky potrebné podrobnosti potrebné na to, aby mohol byť prijatý do systému na spracovanie.
Ak dôjde k dezinfekcii vstupu, je možné ju použiť na kontrolu potenciálne nebezpečných vstupov, aby sa zaistilo bezpečné spracovanie vstupov pomocou zdrojového kódu alebo keď ide o vstup potrebný na komunikáciu s ostatnými komponentmi.
Ak takéto vstupy nebudú správne dezinfikované alebo validované, pripraví to útočníkovi spôsob, ako poslať škodlivý vstup, ktorý veľkoryso spracuje hlavná aplikácia, čo povedie k zmenám v toku riadenia, svojvoľnej kontrole zdroja alebo ľubovoľnom kóde. exekúcia.
Nasledujúce obrázky ukazujú, že dobrá aplikácia by nemala prijímať ako vstup skript alebo príkaz. Ak tieto vstupy nebudú správne dezinfikované, aplikácia ich spracuje v domnení, že ide o platnú požiadavku.
[obrázok zdroj ]
Otázky a odpovede na rozhovor so serverom sql pre skúsených pdf
# 4) CWE-200: Chyba expozície citlivých informácií
To sa stane, keď aplikácia vedome a nevedomky odhalí informácie, ktoré sú dôverné a citlivé, voči útočníkovi, ktorý nemá oprávnenie na prístup k týmto informáciám.
Rôzne chyby vedú k tomu, že sú tieto informácie vystavené útočníkovi. Závažnosť tejto chyby sa líši podľa kontextu, v ktorom aplikácia funguje, typu citlivých informácií, ktoré sa odhalia, a od toho, čo môže aktér z odhalených informácií získať.
Ďalej uvádzame niektoré citlivé informácie, ktoré by mohli byť zverejnené:
- Osobné informácie, ako sú osobné správy, finančné údaje, záznamy o zdravotnom stave, geografické umiestnenie alebo kontaktné údaje
- Podrobnosti o konfigurácii systému a prostredí, napríklad, operačný systém a nainštalované balíčky
- Obchodné záznamy a duševné vlastníctvo
- Podrobnosti o konfigurácii siete
- Stav internej aplikácie
- Metadáta ako hlavičky správ
Niekedy môžu na našich aplikáciách alebo webových stránkach existovať technické svrbenia, ako napríklad chyba pripojenia k databáze, chyba spustenia a sieťová chyba.
Ak s týmito chybami nebude počas vývoja správne narábané, t. J. Keď aplikácia zobrazí chybové hlásenie, mohla by verejnosti zobraziť informácie, ktoré by útočník mohol byť schopný použiť na škodlivé účely, ako je obrázok nižšie.
# 5) CWE-125: Chyba čítania mimo hraníc
K tomu obvykle dochádza, keď aplikácia číta dáta za normálnou úrovňou, a to buď na koniec, alebo pred začiatkom medzipamäte. To poskytuje útočníkovi neprivilegovaný prístup na čítanie citlivých informácií z iných pamäťových miest, čo môže tiež viesť k zlyhaniu systému alebo aplikácie.
K zlyhaniu určite dôjde, keď kód načíta údaje a myslí si, že je na mieste indikátor, ktorý zastaví operáciu čítania ako NULL, ktorý sa použije na reťazec
V nasledujúcom kóde funkcia načíta hodnotu z umiestnenia indexu poľa, ktoré je zase vstupným parametrom funkcie.
[obrázok zdroj ]
Z vyššie uvedeného kódu vidíme, že funkcia overuje, že daný index poľa je menší ako maximálna dĺžka poľa, ale nepodarí sa mu overiť minimálnu hodnotu.
Toto neoverenie povedie k prijatiu zápornej hodnoty ako indexu vstupného poľa, čo spôsobí čítanie mimo hranice, čo zase umožní prístup k citlivej pamäti.
Je potrebné overiť index vstupného poľa, ak je v maximálnom a minimálnom rozsahu požadovanom pre pole.
Ak teraz skontrolujete nasledujúci príklad, uvidíte, že príkaz IF je potrebné upraviť, aby obsahoval overenie minimálneho rozsahu.
# 6) CWE-89: SQL Injection
SQL injection je forma bezpečnostnej chyby, pri ktorej útočník vloží do vstupného poľa Webform kód kódu Structured Query Language (SQL), aby získal prístup k zdrojom alebo zmenil údaje, ku ktorým nemá oprávnenie.
Túto chybu zabezpečenia je možné do aplikácie vniesť počas fáz návrhu, implementácie a prevádzky.
To, čo tento dotaz SQL robí, je urobiť neoprávnenú požiadavku na niektoré informácie v databáze. V normálnej operácii vstupu sa na autentifikáciu používateľa používa webový formulár. Keď používateľ zadá svoje meno a heslo do textových polí, tieto hodnoty sa vložia do dotazu SELECT.
Ak sú vstupné hodnoty správne, používateľovi sa poskytne prístup k aplikácii alebo žiadosti, ale ak sú hodnoty nepresné, prístup bude zamietnutý.
Niektoré webové formuláre dnes nemajú zavedené mechanizmy na blokovanie škodlivého vstupu, ktorý môže útočník použiť na zadávanie škodlivých požiadaviek do databázy pomocou vstupných polí. Táto jediná žiadosť im môže poskytnúť prístup k celej databáze, ktorá môže obsahovať citlivé informácie.
# 7) CWE-416: Predtým uvoľnená pamäť
Tento problém je spôsobený odkazovaním na pamäť po jej uvoľnení, čo môže vážne viesť k zlyhaniu programu. Ak použijete predtým uvoľnenú pamäť, môže to mať nepriaznivé následky, napríklad poškodenie platných údajov, spustenie ľubovoľného kódu, ktoré závisí od načasovania chyby.
Dve bežné príčiny sú:
- Chybové stavy v softvéri a v niektorých ďalších výnimočných prípadoch.
- Žiadne vysvetlenie, ktorá časť programu spôsobila uvoľnenie pamäte.
V tomto prípade je pamäť pridelená inému ukazovateľu ihneď po jej uvoľnení. Predchádzajúci ukazovateľ na uvoľnenú pamäť sa použije znova a teraz ukazuje na miesto okolo novej alokácie. V čase zmeny údajov to môže poškodiť použitú pamäť a spôsobiť, že sa aplikácia bude správať nedefinovaným spôsobom.
# 8) CWE-190: Chyba pretečenia celých čísel
Keď je výpočet spracovaný aplikáciou a existuje logický predpoklad, že výsledná hodnota bude vyššia ako presná hodnota, dôjde k pretečeniu celého čísla. Tu sa celočíselná hodnota zvýši na hodnotu, ktorú nemožno uložiť na danom mieste.
Ak k tomu dôjde, hodnota sa zvyčajne zalomí a stane sa veľmi malou alebo zápornou hodnotou. Ak sa predpokladá zabalenie, je to v poriadku, ale neočakávané zabalenie môže mať bezpečnostné následky. Keď nastane tento scenár, možno ho nazvať kritickým, pretože jeho výsledok sa používa na správu opakovania, rozhodnutia o zabezpečení, na pridelenie pamäte a na mnoho ďalších.
Táto slabosť všeobecne povedie k nestabilnému správaniu a môže viesť k haváriám. Ak je hodnota pre dáta dôležitá ako pre tok, môže dôjsť k jednoduchému poškodeniu údajov. Ale ak omotanie vedie k ďalším podmienkam, ako je pretečenie vyrovnávacej pamäte, môže dôjsť k poškodeniu pamäte.
Tento problém môže spustiť pretečenie medzipamäte, ktoré môže útočník použiť na vykonanie ľubovoľného kódu. Táto chyba pretečenia celého čísla sa zvyčajne zavádza do systému počas fáz návrhu a implementácie SDLC.
# 9) CWE-352: Falšovanie požiadaviek medzi stránkami
To je prípad, keď webová aplikácia nedostatočne overí požiadavku HTTP, či už požiadavka skutočne pochádza od správneho používateľa, alebo nie. Webové servery sú navrhnuté tak, aby prijímali všetky požiadavky a odpovedali na ne.
Predpokladajme, že klient pošle niekoľko požiadaviek HTTP v rámci jednej alebo viacerých relácií. Pre webový server je veľmi ťažké zistiť, či boli všetky požiadavky autentické alebo nie, a zvyčajne sa spracuje. Útočník môže mať spôsob, ako prinútiť klienta, aby navštívil špeciálne vytvorenú webovú stránku, a teraz môže vykonávať niektoré požiadavky, ako je prevod prostriedkov, zmena e-mailovej adresy a mnoho ďalších.
Útočník má okamžite prístup a bude môcť ukradnúť údaje a dokonca ich môže zničiť. Vždy si môžu zachovať prístup a keď budú hotoví, môžu kompromitovať protokol auditu, aby zabránili akejkoľvek budúcej forenznej udalosti, ktorá by mohla odhaliť ich zneužitie.
Na nasledujúcom obrázku je znázornený útočník, ktorý navádza používateľa na vykonávanie akcií, ktoré zamýšľať nemá.
# 10) CWE-22: Traverz adresára
Prechod cez adresár alebo priechod k ceste k súboru je chybou zabezpečenia webu, ktorá umožňuje útočníkovi čítať ľubovoľné súbory na serveri, na ktorom je momentálne spustená aplikácia.
Môžu to byť aplikačný kód, poverenia pre systémy typu back-end a súbory operačného systému. V inom scenári by mohol byť útočník schopný zapisovať do týchto svojvoľných súborov na serveri, čo by im umožňovalo upravovať údaje alebo správanie aplikácie, čo im poskytne úplnú kontrolu nad serverom.
[obrázok zdroj ]
# 11) CWE-78: Injekcia príkazov OS
Ide o nesprávnu dezinfekciu špeciálnych prvkov, ktorá môže viesť k úprave zamýšľaného príkazu OS, ktorý sa posiela do nadväzujúceho komponentu. Útočník môže vykonávať tieto škodlivé príkazy v cieľovom operačnom systéme a má prístup do prostredia, v ktorom nemal čítať ani upravovať.
To by útočníkovi vždy umožnilo vykonávať nebezpečné príkazy priamo do operačného systému.
na zvýšenie zabezpečenia v internej sieti vašej spoločnosti
Kedykoľvek sa táto zraniteľnosť vyskytne v privilegovanom programe, umožňuje útočníkovi používať príkazy povolené v prostredí alebo vyvolávať iné príkazy s oprávneniami, ktoré útočník nemá, čo by mohlo zvýšiť mieru možného poškodenia.
# 12) CWE-787: Chyba zápisu mimo medzí
To sa stane, keď aplikácia zapíše údaje za koniec alebo pred začiatok určenej vyrovnávacej pamäte.
Ak k tomu dôjde, konečným výsledkom je zvyčajne poškodenie údajov, zlyhanie systému alebo aplikácie. Čo robí aplikácia, je nejaký druh aritmetiky ukazovateľa, ktorý sa používa pri odkazovaní na umiestnenie pamäte mimo hraníc medzipamäte.
# 13) CWE-287: Nesprávna chyba overenia
To je prípad, keď útočník tvrdí, že má platnú identitu, ale softvér nepreveril alebo nepreukázal správnosť tvrdenia.
Softvér nesprávne overuje prihlasovacie informácie používateľa a v dôsledku toho by útočník mohol získať určité privilégiá v rámci aplikácie alebo zverejniť citlivé informácie, ktoré mu umožňujú prístup k citlivým údajom a vykonávanie ľubovoľného kódu.
# 14) CWE-476: Dereferencia NULL ukazovateľa
Dereferencovanie nulového ukazovateľa je, keď aplikácia dereferencie ukazovateľa, ktorý má vrátiť platný výsledok, namiesto toho vráti hodnotu NULL, čo vedie k zlyhaniu. Dereferencia nulového ukazovateľa sa môže stať kvôli mnohým chybám, ako sú napríklad podmienky závodu a niektoré programovacie chyby.
Procesy, ktoré sa vykonávajú pomocou ukazovateľa NULL, zvyčajne vedú k zlyhaniu a možnosť uskutočnenia procesu je veľmi malá. To pomáha útočníkom spustiť škodlivý kód.
[obrázok zdroj ]
# 15) CWE-732: Nesprávne priradenie povolení
Táto chyba zabezpečenia sa stane, keď aplikácia priradí povolenia veľmi dôležitému a kritickému prostriedku takým spôsobom, ktorý vystaví prístup prostriedku škodlivému používateľovi.
Ak dáte mnohým ľuďom povolenie na zdroj, mohlo by to viesť k tomu, že útočník odhalí alebo zmení citlivé informácie. Ak nie sú zavedené kontroly proti tomuto druhu prístupu k prideľovaniu povolení zdrojom, môže to viesť k veľmi katastrofálnemu koncu, ak sa konfigurácia programu alebo niektoré citlivé údaje dostanú do nesprávnej ruky.
# 16) CWE-434: Neobmedzené nahrávanie súborov
Táto chyba zabezpečenia sa vyskytuje, keď aplikácia pred odovzdaním súborov do aplikácie neoverí typy súborov. Táto chyba zabezpečenia je nezávislá od jazyka, ale zvyčajne sa vyskytuje v aplikáciách napísaných v jazyku ASP a PHP.
Nebezpečným typom súboru je súbor, ktorý je možné automaticky spracovať v prostredí aplikácie.
Nasledujúci program zobrazuje nahranie súboru PHP. Pred nahraním do adresára webového koreňa nebol typ súboru overený a overený. V dôsledku tejto slabosti môže útočník nahrať ľubovoľný súbor PHP a vykonať ho priamym prístupom k nahranému súboru.
# 17) CWE-611: Vystavenie informácií prostredníctvom entít XML
Keď sa dokument XML nahrá do aplikácie na spracovanie a tento dokument obsahuje entity XML s jednotným identifikátorom prostriedku, ktorý sa prevedie na iný dokument v inom umiestnení odlišnom od zamýšľaného umiestnenia. Táto anomália môže aplikácii spôsobiť, že k jej výstupu pripojí nesprávne dokumenty.
Dokumenty XML niekedy obsahujú definíciu typu dokumentu (DTD), ktorá sa používa na definovanie entít XML a ďalších funkcií. Prostredníctvom DTD môže jednotný identifikátor zdroja slúžiť ako forma substitučného reťazca. Analyzátor XML urobí, že získa prístup k tomu, čo je obsiahnuté v jednotnom identifikátore zdroja, a zadá tento obsah späť do dokumentu XML na vykonanie.
[obrázok zdroj ]
# 18) CWE-94: Vkladanie kódu
Existencia syntaxe kódu v údajoch používateľa zvyšuje možnosť útočníka zmeniť plánované správanie kontroly a spustiť ľubovoľný kód. Táto chyba sa označuje ako „slabé miesta pri injekcii“ a táto slabina by mohla spôsobiť, že sa kontrola údajov stane používateľsky kontrolovanou.
Táto chyba zabezpečenia zobrazuje scenár, v ktorom softvér umožňuje nedôveryhodným údajom do kódu a nevykonáva overenie špeciálnych znakov, čo môže negatívne ovplyvniť správanie segmentu kódu aj syntax.
Stručne povedané, útočník by bol schopný vložiť nejaký druh ľubovoľného kódu a spustiť ich v rámci aplikácie. Nasledujúci kód PHP ukazuje použitie funkcie eval () v nedôveryhodných dátach. V nižšie uvedenom kóde je útočník schopný vložiť do kódu ľubovoľný kód parametra „param“, ktorý sa potom vykoná v softvéri.
Nasledujúci príklad vysvetľuje výzvu na phpinfo () funkcie. Túto zraniteľnosť je možné ďalej zneužiť na iné na vykonávanie ľubovoľných príkazov OS v cieľovom softvéri prostredníctvom volania system ().
# 19) CWE-798: Pevne zakódovaný prístupový kľúč
To je prípad, keď je heslo a prístupový kľúč pevne zakódované do aplikácie priamo na účely prichádzajúcej autentifikácie a odchádzajúcej komunikácie s niektorými externými komponentmi a na šifrovanie interných údajov. Pevne zakódované prihlasovacie údaje zvyčajne spôsobujú zraniteľnosť, ktorá útočníkovi pripravuje cestu, aby obišiel autentifikáciu nakonfigurovanú správcom softvéru.
Správca systému bude vždy veľmi ťažko zistiť túto chybu zabezpečenia a opraviť ju.
Táto slabina má dva hlavné prúdy:
- Prichádzajúce : Aplikácia obsahuje autentifikačný systém, ktorý overuje vstupné poverenia na základe pevne zakódovaných podrobností.
- Odchádzajúce : Aplikácia sa pripája k inému systému a podrobnosti pre pripojenie k inému systému sú pevne zakódované do systému.
V prichádzajúcom streame je vždy vytvorený predvolený účet správcu a prihlasovacie údaje na prístup k nemu budú napevno zakódované do aplikácie a spojené s týmto predvoleným správcovským účtom.
Napevno zakódované podrobnosti sú pri každej inštalácii aplikácie zvyčajne to isté a nikto ich nemôže zmeniť ani zakázať. Ani správcovia systému nemajú právo, ibaže môžu aplikáciu manuálne upravovať. Ak je heslo niekedy zverejnené, potom môže mať útočník prístup k celej aplikácii a môže s ňou manipulovať vo svoj vlastný prospech.
Pretože všetky inštalácie aplikácie majú rovnaké heslo, aj keď sú nainštalované v samostatných organizáciách, môže to spôsobiť veľmi masívne útoky cez všetky hranice organizácie, napríklad, vstreknutím červa do aplikácie, ktorá sa rozšíri okolo.
Stream Outbound sa vzťahuje iba na klientske systémy, ktoré sa autentifikujú pomocou služby typu back-end. Služba typu back-end môže vyžadovať pevný kód alebo pevné heslo, ktoré je možné ľahko zistiť. To, čo programátor robí, je jednoducho naprogramovať tieto back-end poverenia do front-end softvéru. Každý používateľ tejto aplikácie môže byť schopný extrahovať heslo.
Akýkoľvek softvér na strane klienta, v ktorom je heslo a prístupový kľúč pevne zakódované, predstavuje zvyčajne väčšiu hrozbu ako softvér, ktorý nie je pevne zakódovaný, pretože extrakcia hesla z binárneho súboru sa dá zvyčajne dosiahnuť veľmi ľahko.
# 20) CWE-400: Nekontrolovaná spotreba zdrojov
Táto zraniteľnosť sa stane, keď aplikácia správne nekontroluje alokáciu a údržbu obmedzeného zdroja, čo útočníkovi umožňuje ovplyvňovať množstvo spotrebovaných prostriedkov, čo nakoniec povedie k vyčerpaniu dostupných zdrojov.
Súčasťou obmedzených zdrojov je pamäť, úložisko systému súborov, položky fondu databázových pripojení a procesor.
Predpokladajme, že útočník môže spustiť alokáciu týchto obmedzených zdrojov a počet alebo veľkosť zdrojov nie je kontrolovaná, potom by útočník mohol spôsobiť chaos odmietnutím služby, ktoré spotrebuje všetky dostupné zdroje.
Ak by k tomu došlo, zabránilo by to platným používateľom v prístupe k aplikácii, čo bude mať vždy negatívny vplyv na životné prostredie. Napríklad keď pamäť aplikácie prejde vyčerpaním, mohlo by to spomaliť celú aplikáciu aj hostiteľský operačný systém.
Tri rôzne prípady, ktoré môžu viesť k vyčerpaniu zdrojov, sú:
- Nedostatok škrtenia pre počet pridelených zdrojov
- Strata všetkých odkazov na zdroj pred dosiahnutím fázy vypnutia
- Zlyhanie zatvorenia / vrátenia zdroja po spracovaní
Problém vyčerpania zdrojov je zvyčajne dôsledkom nesprávnej implementácie nasledujúcich scenárov:
- Chybové podmienky a iné výnimočné okolnosti.
- Očakáva sa, že časť programu uvoľní zdroj, a to zmiešane.
Nasledujúci príklad pomáha demonštrovať povahu tejto zraniteľnosti a popisuje metódy, ktoré je možné použiť na zníženie rizika.
Nasledujúci príklad vysvetľuje zraniteľnosť:
ktorý zodpovedá za obchodnú hodnotu dodanú skrumážnym tímom
[obrázok zdroj ]
Tento program nesleduje, koľko pripojení bolo vykonaných, a neobmedzuje počet dostupných pripojení. Vidlica je iba jedným zo spôsobov, ktoré útočník používa na to, aby v dôsledku veľkého počtu pripojení systém vyčerpal procesor, procesy alebo pamäť.
Útočník robí to, že spotrebuje všetky dostupné pripojenia a zabráni ostatným v vzdialenom prístupe do systému.
často kladené otázky
Otázka 1) Čo znamená SANS?
Odpoveď: SANS znamená SysAdmin, Audit, Sieť a Zabezpečenie.
Otázka 2) Vymenujte niekoľko príkladov slabých miest.
Odpoveď: Príklady sú nasledujúce:
- Zraniteľnosti softvéru
- Zraniteľnosti brány firewall
- Zraniteľnosti siete
- Zraniteľnosti operačného systému
- Zraniteľnosti webového servera
- Zraniteľnosti databázy
Otázka č. 3) Aký je rozdiel medzi hrozbami a slabými miestami?
Odpoveď: Ohrozenie je možnosť uskutočnenia škodlivého alebo nechceného konania v snahe poškodiť počítačový systém alebo aplikáciu prostredníctvom existujúcich slabých miest v systéme. Príklad: ransomvér.
Zraniteľnosti sú slabosti, ktoré existujú v systéme a ktoré mohli umožniť nechcenému alebo neoprávnenému prístupu útočníka preniknúť do organizácie. Príklad: Chybná konfigurácia brány firewall.
Otázka č. 4) Aké sú najčastejšie chyby zabezpečenia?
Odpoveď: Sú to tieto:
- SQL Injection
- Cross-Site Scripting
- Nesprávna konfigurácia zabezpečenia
- Citlivé vystavenie údajov
- Nefunkčné overenie
- Riadenie relácie
Záver
Tento zoznam 20 najčastejších chýb zabezpečenia SANS nie je pravidlom ani zásadou, ale sprievodcom, ktorý nám má pomôcť zabrániť zraniteľnostiam softvéru. Či už sme vývojár alebo bezpečnostný expert, je teraz na nás, aby sme sa riadili touto príručkou, čo je možné urobiť, aby sme sa vyhli akejkoľvek chybe, ktorá by mohla viesť k zraniteľnostiam v našej aplikácii, ktoré môžu vytvoriť backdoor pre herca, ktorý má vykonať škodlivý čin.
Odporúčané čítanie
- Testovanie bezpečnosti (kompletný sprievodca)
- Nástroj na testovanie zabezpečenia Acunetix Web Vulnerability Scanner (WVS) (praktická kontrola)
- Sprievodca hodnotením a správou zraniteľnosti siete
- Top 10 najsilnejších nástrojov na skenovanie posúdenia zraniteľnosti v roku 2021
- Rozdiel v hodnotení zraniteľnosti a penetračnom testovaní
- Jenkins Security: Povolenie zabezpečenia a matice zabezpečenia projektu
- Najlepšie 4 chyby v kybernetickej bezpečnosti, ktorým sa treba vyhnúť pri testovaní softvéru
- 10 NAJLEPŠÍCH softvérov na zabezpečenie siete [LEN 2021 NAJLEPŠÍ VÝBER)