3 nejčastější zranitelnosti aplikací, na které vývojáři zapomínají
Bezpečnost aplikací často ohrožují chyby a špatné postupy již při samotném vývoji. Tyto zranitelnosti, kterým vývojáři nevěnovali dostatek pozornosti, mohou vést ke krádeži dat, manipulaci s databázemi nebo ovládnutí systému hackery. Jaké jsou tři nejčastější chyby v aplikacích?
Uživatelé vidí, co nemají
Představte si, že se přihlásíte do svého účtu na e-shopu a v URL adrese si všimnete čísla objednávky. Zvědavost vás přiměje změnit toto číslo v adresním řádku. Najednou zjistíte, že místo vaší objednávky se vám zobrazuje objednávka jiného zákazníka. Jak je to možné? Tato situace je klasickým příkladem zranitelnosti zvané Insecure Direct Object Reference (IDOR).
Tato chyba je pouze jednou z mnoha zranitelností, které klienti společnosti Integra nejčastěji nacházejí ve svých reportech z penetračních testů aplikací. Penetrační testy hledají a odhalují možné zranitelnosti ve všech vrstvách zabezpečení, které by mohly být využity při hackerských útocích.
„Ročně testujeme stovky aplikací našich klientů z různých odvětví, během testování se opakovaně setkáváme s nedostatečným zajištěním základních bezpečnostních principů. Jednou z častých příčin je tlak na rychlé nasazení aplikací, kdy se bezpečnost upozaďuje před termíny a rozpočty,“ uvádí David Pícha, vedoucí divize kybernetické bezpečnosti ze společnosti Integra EMEA.
Zranitelnost IDOR: Špatně zabezpečená data uvnitř aplikace
Nejčastější chyba, které se vývojáři dopouštějí, umožňuje uživateli získat přístup k datům nebo zdrojům, ke kterým by neměl mít oprávnění. „Až v 18 % všech testů nalézáme chybu tohoto typu.
Tu může shodou náhod odhalit i běžný uživatel, pro hackera je to potom hračka,“ potvrzuje Pícha.
Z technického pohledu se za těmito zranitelnostmi ukrývá chybné používání identifikátorů, například čísla uživatelských účtů, objednávek nebo souborů. Útočník pouze změní hodnotu v URL, server
po načtení neověří, zda má uživatel oprávnění k zobrazení objednávky s tímto ID, a útočník tak získá přístup k cizím datům (např. v bankovnictví nebo objednávkách na e-shopu).
V praxi pak stačí, aby si hacker založil vlastní účet, přes který se dostane ke všem špatně zabezpečeným datům jiných uživatelů.
Zranitelnost SQL Injection: Tichý nepřítel webových formulářů
Téměř každá webová aplikace obsahuje nějaký druh formuláře – pro přihlášení, vyhledávání nebo odesílání dat. Pokud nejsou tyto formuláře správně zabezpečeny, stává se z nich snadný terč útoků. Útočník se pokusí vložit do přihlašovacího formuláře namísto jména a hesla speciální SQL dotaz (např. ‚OR ‚1‘=’1′). Pokud aplikace správně neověřuje zadaná data, tento vstup se odešle přímo na databázi. Výsledkem útoku je obejití autentizace a získání přístupu do systému bez znalosti přihlašovacích údajů.
„SQL Injection je jedním z nejstarších typů útoků na webové aplikace, ale stále spadá mezi nejčastější zranitelnosti, se kterými se setkáváme. Útočníci mohou tuto chybu využít nejen k odcizení dat, ale také k jejich manipulaci, nebo dokonce k ovládnutí celého serveru,“ vysvětluje vedoucí divize kyberbezpečnosti z Integra.
Důsledky zneužití zranitelnosti SQL Injection mohou být katastrofální. Hackeři je využijí ke stažení kompletní databáze klientských dat, úpravě záznamů, smazání informací nebo spuštění škodlivých příkazů přímo na serveru. Zejména ve světě zdravotnictví, financí nebo e-commerce to může znamenat obrovské ztráty na reputaci i financích.
Nesprávné zabezpečení účtů: Když obyčejné chyby otevírají dveře hackerům
Rizika s sebou nesou také přihlašovací mechanismy. Mezi časté chyby patří slabá hesla, výchozí přihlašovací údaje, absence multifaktorové autentizace nebo špatné nastavení cookies. Dalšími chybami v oblasti nesprávného zabezpečení účtů jsou také problémy špatného nastavení time-outů relací a nesprávné obnovování hesel, což usnadňuje útočníkům získání účtů.
„Často se setkáváme se situacemi, kdy aplikace neodhlašují uživatele po určité době neaktivity, nebo umožňují přihlášení přes výchozí hesla typu admin/admin,“ uvádí David Pícha z Integra.
Jak si hackeři vybírají cíle?
Velikost subjektu je prvním kritériem při výběru cíle, mimo to si hackeři vybírají firmy podle veřejně dostupných zranitelností. Využívají k tomu online databáze, které skenují celý internet a hledají zařízení a systémy s veřejně známými zranitelnostmi, např. staré verze operačních systémů nebo aplikací. Díky těmto nástrojům mohou útočníci identifikovat své cíle, aniž by věděli, komu dané zařízení nebo systém patří.
Na druhé straně existují i cílené útoky motivované finančním ziskem, například vydírání pomocí ransomware. V některých případech může být útok dokonce objednán konkurencí s cílem poškodit pozici oběti na trhu.
Penetrační testy: Klíč k odhalení slabin
Kybernetickou bezpečnost nelze vyřešit pouhou investicí do preventivních opatření. Útoky a hrozby
se neustále vyvíjejí a každá aktualizace softwaru, změna v síťové infrastruktuře nebo nasazení nové verze aplikace může vést ke vzniku nových bezpečnostních mezer. Proto je vhodné provádět penetrační testy na pravidelné bázi nebo při každé větší systémové změně.
Společnost Integra poskytuje expertní řešení v oblasti kybernetické bezpečnosti. Díky individuálnímu přístupu a zkušenému týmu odborníků nabízí penetrační testy na míru zákazníkům každé velikosti.