OWASP Top 10 bezpečnostních rizik | Přehled

Obsah

Přehled OWASP Top 10

Co je OWASP?

OWASP je nezisková organizace věnující se vzdělávání v oblasti bezpečnosti webových aplikací. 

Výukové materiály OWASP jsou dostupné na jejich webových stránkách. Jejich nástroje jsou užitečné pro zlepšení bezpečnosti webových aplikací. To zahrnuje dokumenty, nástroje, videa a fóra.

Top 10 OWASP je seznam, který zdůrazňuje největší bezpečnostní problémy dnešních webových aplikací. Doporučují, aby všechny společnosti zahrnuly tuto zprávu do svých procesů, aby se snížila bezpečnostní rizika. Níže je uveden seznam bezpečnostních rizik zahrnutých ve zprávě OWASP Top 10 2017.

SQL Injection

Vložení SQL nastane, když útočník odešle do webové aplikace nevhodná data, aby narušil program v aplikaci.

Příklad SQL injekce:

Útočník by mohl zadat dotaz SQL do vstupního formuláře, který vyžaduje prostý text uživatelského jména. Pokud vstupní formulář není zabezpečený, bude to mít za následek provedení SQL dotazu. Tento je oznacovana jako SQL injection.

Chcete-li chránit webové aplikace před vložením kódu, ujistěte se, že vaši vývojáři používají ověřování vstupu u dat odeslaných uživatelem. Validace zde znamená odmítnutí neplatných vstupů. Správce databází může také nastavit ovládací prvky pro snížení množství informace které mohou být zveřejněny při injekčním útoku.

Aby se zabránilo vkládání SQL, OWASP doporučuje uchovávat data odděleně od příkazů a dotazů. Upřednostňovanou možností je použít zabezpečené API k zabránění použití tlumočníka nebo k migraci na nástroje Object Relational Mapping Tools (ORM).

Zlomené ověřování

Chyby zabezpečení mohou útočníkovi umožnit přístup k uživatelským účtům a kompromitovat systém pomocí účtu správce. Kyberzločinec může pomocí skriptu vyzkoušet tisíce kombinací hesel v systému, aby zjistil, které funguje. Jakmile je kyberzločinec uvnitř, může předstírat identitu uživatele a poskytnout mu přístup k důvěrným informacím.

Ve webových aplikacích, které umožňují automatické přihlašování, existuje zranitelnost poškozeného ověřování. Oblíbeným způsobem nápravy zranitelnosti ověřování je použití vícefaktorového ověřování. Také by mohl být omezen počet přihlášení být zahrnut ve webové aplikaci, abyste zabránili útokům hrubou silou.

Vystavení citlivým údajům

Pokud webové aplikace nechrání citlivé útočníky, mohou k nim přistupovat a využívat je pro svůj zisk. Útok na cestě je oblíbenou metodou pro krádež citlivých informací. Riziko vystavení je minimální, pokud jsou všechna citlivá data zašifrována. Weboví vývojáři by měli zajistit, aby žádná citlivá data nebyla v prohlížeči vystavena nebo zbytečně ukládána.

Externí entity XML (XEE)

Kyberzločinec může být schopen nahrát nebo zahrnout škodlivý obsah XML, příkazy nebo kód do dokumentu XML. To jim umožňuje prohlížet soubory na souborovém systému aplikačního serveru. Jakmile získají přístup, mohou komunikovat se serverem a provádět útoky na server-side request forgery (SSRF)..

XML útoky externí entity mohou být zabráněno tím umožňuje webovým aplikacím přijímat méně složité datové typy, jako je JSON. Zakázání externího zpracování entit XML také snižuje pravděpodobnost útoku XEE.

Rozbité řízení přístupu

Řízení přístupu je systémový protokol, který omezuje neoprávněné uživatele na citlivé informace. Pokud je systém řízení přístupu narušen, útočníci mohou obejít ověřování. To jim umožňuje přístup k citlivým informacím, jako by měli oprávnění. Řízení přístupu lze zabezpečit implementací autorizačních tokenů při přihlášení uživatele. Při každém požadavku, který uživatel provede při autentizaci, je ověřen autorizační token s uživatelem, což signalizuje, že uživatel je oprávněn vznést tento požadavek.

Chybná konfigurace zabezpečení

Chybná konfigurace zabezpečení je častým problémem kybernetická bezpečnost specialisté pozorují ve webových aplikacích. K tomu dochází v důsledku nesprávně nakonfigurovaných záhlaví HTTP, nefunkčních řízení přístupu a zobrazení chyb, které odhalují informace ve webové aplikaci.. Chybnou konfiguraci zabezpečení můžete opravit odstraněním nepoužívaných funkcí. Měli byste také opravit nebo upgradovat své softwarové balíčky.

Skriptování mezi weby (XSS)

K zranitelnosti XSS dochází, když útočník manipuluje DOM API důvěryhodného webu za účelem spuštění škodlivého kódu v prohlížeči uživatele.. Ke spuštění tohoto škodlivého kódu často dochází, když uživatel klikne na odkaz, který vypadá, že pochází z důvěryhodné webové stránky. Pokud web není chráněn před zranitelností XSS, může být kompromitován. Škodlivý kód, který je proveden poskytuje útočníkovi přístup k přihlašovací relaci uživatelů, údajům o kreditní kartě a dalším citlivým údajům.

Chcete-li zabránit skriptování mezi stránkami (XSS), zajistěte, aby byl váš kód HTML dobře dezinfikován. To může být dosaženo tím výběr důvěryhodných rámců v závislosti na zvoleném jazyce. Můžete použít jazyky jako .Net, Ruby on Rails a React JS, protože vám pomohou analyzovat a vyčistit váš HTML kód. Zacházení se všemi daty od ověřených nebo neověřených uživatelů jako s nedůvěryhodnými může snížit riziko útoků XSS.

Nezabezpečená deserializace

Deserializace je transformace serializovaných dat ze serveru na objekt. Deserializace dat je běžným jevem při vývoji softwaru. Není to bezpečné, když data je deserializovaný z nedůvěryhodného zdroje. To může potenciálně vystavit vaši aplikaci útokům. K nezabezpečené deserializaci dochází, když deserializovaná data z nedůvěryhodného zdroje vedou k útokům DDOS, útokům vzdáleného spouštění kódu nebo obcházení autentizace..

Aby se zabránilo nezabezpečené deserializaci, platí pravidlo nikdy nedůvěřovat uživatelským datům. Každý uživatel by měl zadávat data být léčen as potenciálně zlomyslný. Vyhněte se deserializaci dat z nedůvěryhodných zdrojů. Zajistěte, aby funkce deserializace být použit ve vaší webové aplikaci je bezpečný.

Používání komponent se známými chybami zabezpečení

Knihovny a frameworky výrazně urychlily vývoj webových aplikací, aniž by bylo nutné znovu vynalézat kolo. To snižuje redundanci při vyhodnocování kódu. Připravují cestu pro vývojáře, aby se zaměřili na důležitější aspekty aplikací. Pokud útočníci objeví zneužití v těchto rámcích, každá kódová základna používající rámec by to udělala být kompromitován.

Vývojáři komponent často nabízejí bezpečnostní záplaty a aktualizace pro knihovny komponent. Abyste se vyhnuli zranitelnosti komponent, měli byste se naučit udržovat své aplikace aktuální pomocí nejnovějších bezpečnostních záplat a upgradů. Nepoužité komponenty by měly být odstraněn od aplikace k omezení vektorů útoku.

Nedostatečné protokolování a monitorování

Protokolování a monitorování jsou důležité pro zobrazení aktivit ve vaší webové aplikaci. Protokolování usnadňuje dohledání chyb, monitorovat uživatelská přihlášení a aktivity.

K nedostatečnému protokolování a monitorování dochází, když nejsou protokolovány události kritické pro zabezpečení správně. Útočníci toho využívají k provádění útoků na vaši aplikaci dříve, než dojde k nějaké znatelné reakci.

Protokolování může vaší společnosti pomoci ušetřit peníze a čas, protože to mohou vaši vývojáři snadno najít chyby. To jim umožňuje soustředit se více na řešení chyb než na jejich hledání. Ve skutečnosti může protokolování pomoci udržet vaše weby a servery vždy v provozu, aniž by došlo k výpadkům.

Proč investovat do čističky vzduchu?

Dobrý kód není právě o funkčnost, jde o to, aby byli vaši uživatelé a aplikace v bezpečí. Top 10 OWASP je seznam nejkritičtějších bezpečnostních rizik aplikací a je skvělým bezplatným zdrojem pro vývojáře k psaní bezpečných webových a mobilních aplikací.. Školení vývojářů ve vašem týmu, aby vyhodnocovali a zaznamenávali rizika, mohou vašemu týmu z dlouhodobého hlediska ušetřit čas a peníze. Pokud byste chtěli zjistěte více o tom, jak trénovat svůj tým v top 10 OWASP, klikněte zde.