Zajímavé je, že navzdory jasným výhodám, které tyto disciplíny poskytují, se podniky nemohou vyznat v tom, který přístup k zabezpečení je pro jejich potřeby nejvhodnější. V tomto článku proto probereme rozdíly mezi zabezpečením aplikací a API, osvědčené postupy, které byste měli zvážit, a nakonec zdůvodníme, proč potřebujete obojí.
Co je zabezpečení aplikací
Zabezpečení aplikací, známé spíše jako AppSec, je kritickým aspektem strategie kybernetické bezpečnosti každé organizace. Zabezpečení aplikací pomáhá chránit data a systémy před neoprávněným přístupem, modifikací nebo zničením dat pomocí technik autentizace a autorizace, šifrování, řízení přístupu, postupů bezpečného kódování a dalších.
Výhody zabezpečení aplikací jsou četné. Může pomoci ochránit citlivá data před odcizením nebo zneužitím, snížit riziko úniku dat a zajistit, aby aplikace byly v souladu s oborovými předpisy. Kromě toho může zabezpečení aplikací pomoci organizacím snížit náklady spojené s reakcí na bezpečnostní incident tím, že poskytuje proaktivní opatření, která snižují riziko úspěšného útoku. V neposlední řadě může také zvýšit důvěru zákazníků tím, že jim poskytne bezpečné prostředí pro interakci s vaší firmou.
Podle ISACA je pět klíčových součástí programu zabezpečení aplikací:
- Zabezpečení již od návrhu
- Testování bezpečného kódu
- Soupis materiálů k softwaru
- Školení a zvyšování povědomí o bezpečnosti
- Bezpečnostní brány WAF a API a vývoj pravidel
V další části se podíváme na to, jak do tohoto rámce zapadá zabezpečení API a kde je třeba se jím ještě zabývat.
Srovnání zabezpečení aplikace a zabezpečení API
Ačkoli se často používají jako synonyma, zabezpečení aplikací a API jsou velmi odlišné disciplíny. Zabezpečení API pomáhá chránit rozhraní API před neoprávněným přístupem, zneužitím a zneužitím. Pomáhá také chránit před škodlivými útoky, jako je SQL injection, cross-site scripting (XSS) a další typy útoků. Zavedením správných opatření pro zabezpečení API mohou organizace zajistit, aby jejich aplikace zůstaly bezpečné a chráněné před potenciálními hrozbami.
Jak vidíte, zabezpečení rozhraní API je kritickým aspektem správné strategie zabezpečení aplikací. Aby však bylo jasné, zabezpečení API se od “tradičního” zabezpečení aplikací liší natolik, že vyžaduje zvláštní pozornost. Zabezpečení aplikací se zaměřuje na ochranu celé aplikace, zatímco zabezpečení rozhraní API se zaměřuje na ochranu rozhraní API, která se používají k propojení moderních aplikací a výměně dat.
Největší rozdíl mezi rozhraním API a aplikací spočívá v tom, jak každé z nich ovlivňuje uživatele. Rozhraní API jsou určena k používání softwarovými aplikacemi, zatímco samotné softwarové aplikace jsou určeny k používání lidmi. Z toho vyplývá, že jsou vyžadovány odlišné bezpečnostní kontroly. Teď, když už to máme za sebou, se pojďme podívat na to, jak je zabezpečení API začleněno do čtyř z pěti klíčových složek AppSec a kde ještě potřebuje pomoc.
Zabezpečení podle návrhu
Základní myšlenkou je “zvážit bezpečnost v bodě architektury a návrhu, ještě před napsáním nebo kompilací zdrojového kódu.” ISACA dále uvádí, že “kontrolní mechanismy mohou mimo jiné zahrnovat použití firewallů webových aplikací (WAF) a bezpečnostních bran rozhraní aplikačních programů (API), možnosti šifrování, správu ověřování a tajemství, požadavky na protokolování a další bezpečnostní kontroly.”
S ohledem na to společnost Gartner ve zprávě Hype Cycle for Application Security 2022 upozorňuje, že “tradiční nástroje pro ochranu sítě a webu nechrání před všemi bezpečnostními hrozbami, kterým čelí rozhraní API, včetně mnoha z těch, které jsou popsány v seznamu OWASP API Security Top 10”. Což ilustruje potřebu vývojářů a bezpečnostních odborníků zohlednit jedinečné nuance ochrany API ve své strategii kybernetické bezpečnosti.
Testování bezpečného kódu
Jak si dokážete představit, testování bezpečnosti aplikací (AST) a testování bezpečnosti API jsou odlišné disciplíny. V konečném důsledku je cíl zabezpečení životního cyklu vývoje softwaru (SDLC) stejný, ale přístupy se zásadně liší. ISACA doporučuje pokračovat v tradičních metodách testování zabezpečení, jako je statické testování zabezpečení aplikací (SAST) a dynamické testování zabezpečení aplikací (DAST). Doporučují také doplnit testování AppSec o penetrační (pen) testování. Problém je v tom, že rozhraní API vyžadují další testování, které tyto techniky nemohou řešit.
Podle společnosti Gartner “tradiční nástroje AST – SAST, DAST a interaktivní AST (IAST) – nebyly původně navrženy k testování zranitelností spojených s typickými útoky proti API. Dále uvádějí, že “pro určení optimálního přístupu k testování API hledají kombinaci tradičních nástrojů (jako je statický AST [SAST] a dynamický AST [DAST]) a nově vznikajících řešení zaměřených speciálně na požadavky API”. Dobrým příkladem pro vysvětlení jejich úvahy by bylo zjišťování každého jednotlivého koncového bodu a s ním spojených operací CRUD v závislosti na autentizaci/autorizaci. To je něco, co nástroje SAST jednoduše nedokážou.
Školení a zvyšování povědomí o bezpečnosti
Podle organizace ISACA by “všichni vývojáři měli být minimálně proškoleni podle seznamu Open Worldwide Application Security Project Top 10 (OWASP Top 10)”. Tento seznam rizik webových aplikací je však pouze dílkem skládačky. Vzhledem k jedinečným zranitelnostem, které rozhraní API představují, spolu s nárůstem počtu narušení bezpečnosti souvisejících s rozhraním API, vytvořil OWASP seznam OWASP API Security Top 10. Tento seznam se zabývá nejnaléhavějšími hrozbami API, kterým organizace čelí. Vzhledem k tomu je důležité, aby vývojáři dodržovali oba seznamy a zabezpečili tak své aplikace a rozhraní API.
WAF a brány zabezpečení API a vývoj pravidel
Nelze popřít, že brány API i webové aplikační firewally (WAF) jsou důležitými součástmi zásobníku pro poskytování API. Upřímně řečeno, ani jeden z nich není navržen tak, aby poskytoval bezpečnostní kontroly a pozorovatelnost potřebné k odpovídající ochraně rozhraní API. A organizace si nyní uvědomují, jak falešný pocit bezpečí měly, když si myslely, že jejich WAF nebo brána API stačí k zabezpečení jejich API.
Skutečnost je taková, že potřebujete účelově vytvořenou platformu pro zabezpečení rozhraní API, která najde vaše rozhraní API, vyhodnotí jejich bezpečnostní pozici a bude monitorovat jakýkoli neobvyklý síťový provoz nebo vzorce používání. Jinak si jen namlouváte, že vaše rozhraní API jsou v bezpečí před kybernetickými útoky.
0 Comments