Top 10 bezpečnostných rizík OWASP | Prehľad

Obsah

Prehľad 10 najlepších OWASP

Čo je OWASP?

OWASP je nezisková organizácia, ktorá sa venuje vzdelávaniu v oblasti bezpečnosti webových aplikácií. 

Učebné materiály OWASP sú dostupné na ich webovej stránke. Ich nástroje sú užitočné na zlepšenie bezpečnosti webových aplikácií. To zahŕňa dokumenty, nástroje, videá a fóra.

Top 10 OWASP je zoznam, ktorý zvýrazňuje hlavné bezpečnostné problémy dnešných webových aplikácií. Odporúčajú, aby všetky spoločnosti zahrnuli túto správu do svojich procesov s cieľom znížiť bezpečnostné riziká. Nižšie je uvedený zoznam bezpečnostných rizík zahrnutých v správe OWASP Top 10 za rok 2017.

SQL Injection

Vloženie SQL nastane, keď útočník odošle do webovej aplikácie nevhodné údaje, aby narušil program v aplikácii.

Príklad SQL injekcie:

Útočník by mohol zadať dotaz SQL do vstupného formulára, ktorý vyžaduje obyčajný text používateľského mena. Ak vstupný formulár nie je zabezpečený, bude to mať za následok vykonanie SQL dotazu. Toto sa odkazuje ako SQL injection.

Ak chcete chrániť webové aplikácie pred vložením kódu, uistite sa, že vaši vývojári používajú overenie vstupu údajov odoslaných používateľom. Validácia sa tu vzťahuje na odmietnutie neplatných vstupov. Databázový manažér môže tiež nastaviť ovládacie prvky na zníženie množstva informácie ktoré môžu byť zverejnené pri injekčnom útoku.

Aby sa zabránilo vstrekovaniu SQL, OWASP odporúča uchovávať údaje oddelene od príkazov a dotazov. Najvýhodnejšou možnosťou je použiť zabezpečenú API zabrániť použitiu tlmočníka alebo migrovať na nástroje Object Relational Mapping Tools (ORM).

Zlomená autentifikácia

Chyby v autentifikácii môžu útočníkovi umožniť prístup k používateľským účtom a kompromitovať systém pomocou účtu správcu. Kyberzločinec môže použiť skript na vyskúšanie tisícok kombinácií hesiel v systéme, aby zistil, ktoré funguje. Keď sa kyberzločinec dostane dovnútra, môže sfalšovať identitu používateľa a poskytnúť mu prístup k dôverným informáciám.

Vo webových aplikáciách, ktoré umožňujú automatické prihlasovanie, existuje slabá zraniteľnosť autentifikácie. Populárnym spôsobom, ako opraviť zraniteľnosť autentifikácie, je použitie viacfaktorovej autentifikácie. Tiež by mohol byť obmedzený počet prihlásení byť zahrnuté vo webovej aplikácii, aby ste zabránili útokom hrubou silou.

Vystavenie citlivým údajom

Ak webové aplikácie nechránia citlivých útočníkov, môžu k nim pristupovať a využívať ich na svoj zisk. Útok na ceste je populárna metóda na odcudzenie citlivých informácií. Riziko odhalenia môže byť minimálne, keď sú všetky citlivé údaje zašifrované. Weboví vývojári by mali zabezpečiť, aby v prehliadači neboli vystavené žiadne citlivé údaje alebo aby sa zbytočne neukladali.

Externé entity XML (XEE)

Kyberzločinec môže byť schopný nahrať alebo zahrnúť škodlivý obsah XML, príkazy alebo kód do dokumentu XML. To im umožňuje prezerať súbory na súborovom systéme aplikačného servera. Po získaní prístupu môžu interagovať so serverom a vykonávať útoky na falšovanie požiadaviek na strane servera (SSRF)..

XML útoky na externé entity môžu byť zabránené tým umožňuje webovým aplikáciám akceptovať menej zložité typy údajov, ako je JSON. Zakázanie spracovania externých entít XML tiež znižuje šance na útok XEE.

Zlomená kontrola prístupu

Kontrola prístupu je systémový protokol, ktorý obmedzuje neoprávnených používateľov na citlivé informácie. Ak je systém kontroly prístupu poškodený, útočníci môžu obísť autentifikáciu. To im umožňuje prístup k citlivým informáciám, ako keby mali autorizáciu. Kontrola prístupu môže byť zabezpečená implementáciou autorizačných tokenov pri prihlásení používateľa. Pri každej požiadavke, ktorú používateľ predloží počas autentifikácie, sa overí autorizačný token s používateľom, čo signalizuje, že používateľ je oprávnený podať túto požiadavku.

Nesprávna konfigurácia zabezpečenia

Nesprávna konfigurácia zabezpečenia je bežným problémom kyber ochrana špecialisti pozorujú vo webových aplikáciách. K tomu dochádza v dôsledku nesprávne nakonfigurovaných hlavičiek HTTP, nefunkčného riadenia prístupu a zobrazovania chýb, ktoré odhaľujú informácie vo webovej aplikácii. Nesprávnu konfiguráciu zabezpečenia môžete opraviť odstránením nepoužívaných funkcií. Mali by ste tiež opraviť alebo aktualizovať svoje softvérové ​​balíky.

Skriptovanie na viacerých stránkach (XSS)

K zraniteľnosti XSS dochádza, keď útočník manipuluje s DOM API dôveryhodnej webovej stránky, aby spustil škodlivý kód v prehliadači používateľa. K spusteniu tohto škodlivého kódu často dochádza, keď používateľ klikne na odkaz, ktorý vyzerá, že pochádza z dôveryhodnej webovej lokality. Ak web nie je chránený pred zraniteľnosťou XSS, môže byť kompromitovaný. Škodlivý kód, ktorý je vykonaný poskytuje útočníkovi prístup k prihlasovacej relácii používateľov, údajom o kreditnej karte a iným citlivým údajom.

Ak chcete zabrániť skriptovaniu medzi stránkami (XSS), uistite sa, že váš kód HTML je dobre dezinfikovaný. To môže dosiahnuť tým výber dôveryhodných rámcov v závislosti od zvoleného jazyka. Môžete použiť jazyky ako .Net, Ruby on Rails a React JS, pretože vám pomôžu analyzovať a vyčistiť váš HTML kód. Zaobchádzanie so všetkými údajmi od overených alebo neoverených používateľov ako s nedôveryhodnými môže znížiť riziko útokov XSS.

Nezabezpečená deserializácia

Deserializácia je transformácia serializovaných údajov zo servera na objekt. Deserializácia dát je bežný jav pri vývoji softvéru. Nie je bezpečné, keď dáta je deserializovaný z nedôveryhodného zdroja. Toto môže potenciálne vystaviť vašu aplikáciu útokom. Nezabezpečená deserializácia nastáva, keď deserializované údaje z nedôveryhodného zdroja vedú k útokom DDOS, útokom na vzdialené spúšťanie kódu alebo obchádzaniu autentifikácie.

Aby sa predišlo neistej deserializácii, pravidlom je nikdy nedôverovať užívateľským údajom. Každý užívateľ zadáva údaje byť liečený as potenciálne zlomyseľný. Vyhnite sa deserializácii údajov z nedôveryhodných zdrojov. Uistite sa, že funkcia deserializácie byť použitý vo vašej webovej aplikácii je bezpečný.

Používanie komponentov so známymi zraniteľnosťami

Knižnice a rámce výrazne urýchlili vývoj webových aplikácií bez toho, aby bolo potrebné znovu vynájsť koleso. To znižuje redundanciu pri vyhodnocovaní kódu. Pripravujú cestu pre vývojárov, aby sa zamerali na dôležitejšie aspekty aplikácií. Ak útočníci objavia zneužitie v týchto rámcoch, každá kódová základňa používajúca rámec by to urobila byť kompromitovaný.

Vývojári komponentov často ponúkajú bezpečnostné záplaty a aktualizácie pre knižnice komponentov. Aby ste sa vyhli zraniteľnostiam komponentov, mali by ste sa naučiť udržiavať svoje aplikácie aktuálne pomocou najnovších bezpečnostných záplat a aktualizácií. Nepoužité komponenty by mali byť odstránený z aplikácie na zníženie vektorov útoku.

Nedostatočné zaznamenávanie a monitorovanie

Protokolovanie a monitorovanie sú dôležité na zobrazenie aktivít vo vašej webovej aplikácii. Protokolovanie uľahčuje sledovanie chýb, monitor prihlásenia používateľov a aktivity.

K nedostatočnému protokolovaniu a monitorovaniu dochádza, keď nie sú protokolované udalosti kritické z hľadiska bezpečnosti správne. Útočníci to využívajú na to, aby vykonali útoky na vašu aplikáciu skôr, než dôjde k výraznej odozve.

Protokolovanie môže vašej spoločnosti pomôcť ušetriť peniaze a čas, pretože to môžu vaši vývojári ľahko nájsť chyby. To im umožňuje sústrediť sa viac na riešenie chýb ako na ich hľadanie. V skutočnosti môže protokolovanie pomôcť udržať vaše stránky a servery vždy v prevádzke bez toho, aby došlo k výpadkom.

záver

Dobrý kód nie je práve o funkčnosti, ide o to, aby boli vaši používatelia a aplikácia v bezpečí. Top 10 OWASP je zoznam najdôležitejších bezpečnostných rizík aplikácií a je skvelým bezplatným zdrojom pre vývojárov na písanie bezpečných webových a mobilných aplikácií.. Školenie vývojárov vo vašom tíme na hodnotenie a zaznamenávanie rizík môže z dlhodobého hľadiska ušetriť vášmu tímu čas a peniaze. Ak by ste chceli Zistite viac o tom, ako trénovať svoj tím v top 10 OWASP, kliknite sem.