Pro ty, kdo se s GraphQL ještě nesetkali, jedná se o dotazovací jazyk a běhové prostředí pro API, jehož vývoj započal ve společnosti Facebook a nyní je přístupný jako open-source projekt (což je skvělá zpráva 😌).
Stejně jako každý software, i GraphQL má své výhody a nevýhody.
Možná byste mohli pomíjet nevýhody spojené s funkčnostmi, nicméně co když vám sdělím, že GraphQL má seznam specifických zranitelností?
Nemusíte se obávat. Existují různé nástroje, které vám pomohou identifikovat a odstranit slabá místa v zabezpečení GraphQL.
Než se však pustíme do představení těchto nástrojů, pojďme se nejprve zaměřit na to, co GraphQL vlastně je a jaké bezpečnostní hrozby s ním souvisejí.
Co je GraphQL?
Pro lepší pochopení GraphQL si představte následující situaci: sedíte v restauraci a objednáváte oběd.
Možná ale nechcete přesně to, co je uvedeno v menu. Někdy budete chtít přidat nebo odebrat určité ingredience. Řekněme, že máte alergii na ořechy a chcete, aby jídlo bylo upraveno podle vašich potřeb.
Vnímejte GraphQL jako číšníka, který vám upraví objednané jídlo tak, aby přesně odpovídalo vašim požadavkům, s tím rozdílem, že GraphQL pracuje s daty ze serverů.
Díky této technologii mohou moderní aplikace získávat specifická data, což šetří šířku pásma a vylepšuje uživatelskou zkušenost.
Přečtěte si více o inovativním softwaru GraphQL.
Bezpečnostní slabiny GraphQL
Následuje seznam potencionálních zranitelností, které by lidé se zlými úmysly mohli zneužít k získání citlivých informací.
- Přetěžování a nedostatečné načítání: Tato zranitelnost může nadměrně zatížit serverové zdroje. Pokud jsou instrukce pro načítání dat z GraphQL nesprávné, může dojít k přetížení (získání více dat, než je potřeba) nebo nedostatečnému načítání (získání méně dat, než je požadováno, což vede k opakovaným dotazům).
- Nadměrné vystavení dat: Pokud je řízení přístupu špatně nastavené, může dojít k odhalení kritických dat. A pokud server umožňuje neoprávněný přístup, jakýkoli hacker s dostatečnými schopnostmi může snadno data prolomit.
- Problémy s vnořenými dotazy: Ve výchozím nastavení neexistuje omezení na složitost dotazů, což umožňuje odesílat složité dotazy. Představte si, že mnoho komplexních, vnořených dotazů využívá všechny systémové zdroje, což vede k pomalé odezvě a potencionálnímu útoku DOS (Denial Of Service).
- Injekce: GraphQL je dotazovací jazyk s uživatelsky zadaným vstupem, což jednoduše znamená, že pokud vaše API není dostatečně zabezpečeno, může být napadeno škodlivým kódem a vaše databáze, souborový systém, dokonce i síť a operační systém se mohou stát cílem útoků.
- GraphQL bomby: Byly objeveny v srpnu 2022 a zasahují API implementující GraphQL nahrávání souborů. Jedná se o útok DOS, který spočívá v odesílání velkého množství HTTP požadavků na koncový bod GraphQL.
- Špatně konfigurované HTTP hlavičky: I když se to zdá nepodstatné, může to způsobit mnohem více škody, než si myslíte. Pokud není správně nakonfigurováno, může otevřít dveře útokům jako CSRF (Cross-Site Request Forgery), MIME sniffing, útokům typu Man-in-the-Middle a mnoha dalším.
- Omezení rychlosti špatně nastaveno nebo není nastaveno: Omezení rychlosti (rate limiting) je mechanismus, který omezuje počet požadavků, které klient může provést v určitém časovém intervalu. Pokud není správně nastaveno, může vést k potencionálnímu DOS útoku!
Zní to hrozivě, že?
Nyní se s vámi podělím o některé z nejlepších nástrojů, které můžete využít k odhalení a opravě GraphQL zranitelností a zabezpečení vašeho serveru. Zde je přehled nástrojů, o kterých budeme mluvit.
| Produkt | Významné vlastnosti |
| Escape GraphQL Security | Rychlé skenování, identifikace reálných rizik, integrace s vývojářskými nástroji |
| Skener Inviciti GraphQL | Skenuje různé druhy útoků, moderní ochrana proti útokům |
| Testování StackHawk GraphQL | Průběžné kontroly zranitelností, automatické zabezpečení |
| Bezpečnost bígla | Aktivní testování, integrace CI/CD, detailní reporty |
| Zabezpečení bodů GraphQL | Volitelná možnost, kontrola koncových bodů, aktuální databáze |
| Testování pera Qualysec GraphQL | Analýzy OWASP Top 10, dynamické/statické testování API |
| AppCheck Security Scanning | API, SPA a testování koncových bodů, podpora Jira/TeamCity |
| Synopse Testování zabezpečení API | Nepřetržité testování na pozadí, vizuální mapování chyb |
| Bright Security API Testing | Zaměření na mikroslužby, CLI, SaaS, integrace CI/CD |
Escape GraphQL Security
Escape při vývoji svých produktů klade důraz na potřeby vývojářů, a ani bezpečnostní kontrola GraphQL není výjimkou.
Jako jeden z mála poskytovatelů bezpečnostních služeb se můžete spolehnout, že i nově objevené zranitelnosti budou rychle prozkoumány.
Ale to není vše:
- Spuštění prvního skenování trvá přibližně 60 sekund!
- Databáze Escape je průběžně aktualizována o nové zranitelnosti.
- Nezaměřuje se na potenciální problémy, ale ukazuje skutečná rizika.
- Integruje se s vašimi oblíbenými vývojářskými nástroji.
Pokud tedy hledáte rychlé a jednoduché řešení pro kontrolu GraphQL zranitelností, Escape může být pro vás tím pravým.
Skener Inviciti GraphQL
Dříve známý jako Netsparker, Inviciti je jedním z nejdůvěryhodnějších a nejuznávanějších jmen v oblasti skenování API.
Zákazníci se ale zajímají o to, kolik druhů útoků je tento nástroj schopen pokrýt, takže zde je seznam závažných útoků a zranitelností, které je možné s tímto produktem detekovat:
- Blind command injection
- Blind SQL injection
- Command injection
- Remote code execution
- Server-side request forgery
Je to spolehlivé řešení, které vám pomůže ochránit se před moderními útoky.
Testování zabezpečení StackHawk GraphQL

Nejlepší na testování GraphQL od StackHawk je, že kontroluje všechny zranitelnosti při každém pull requestu.
A pokud to nestačí k tomu, abyste si tento nástroj oblíbili, zde jsou další výhody od StackHawk:
- Automatizované bezpečnostní testování
- Bleskově rychlé testování a náprava
- Jednoduché uživatelské rozhraní
- Skvělá dokumentace pro snadné použití
Docela dobré, že?
Bezpečnost bígla

Bezpečnost bígla se zaměřuje na poskytování automatizovaných řešení pro testování zabezpečení webových aplikací a pomáhá firmám identifikovat a opravovat bezpečnostní chyby.
Čtyři klíčové vlastnosti tohoto nástroje ho činí skutečně výjimečným:
- Intenzivní a aktivní testování
- Integrace s CI/CD
- Detailní reporty
- Detailní doporučení k opravám od bezpečnostních expertů
Můžete také využít jejich bezplatný nástroj pro hodnocení zabezpečení webových stránek k nalezení zranitelných míst na vašem webu.
GraphQL dot Security (graphql.security)

Pokud hledáte bezplatnou a jednodušší možnost s omezenými funkcemi, nic se nevyrovná nabídce od graphql.security.
Jedná se také o produkt od Escape, takže si můžete být jistí spolehlivostí jejich testů.
Mezi klíčové vlastnosti patří:
- Aktualizovaná databáze od Escape
- Není nutná registrace
- Možnost zkontrolovat koncový bod jediným kliknutím
- Bezplatná služba
Pokud s online podnikáním teprve začínáte a máte omezený rozpočet, doporučujeme vám používat graph.security.
Qualysec GraphQL API Penetrační testování

Qualysec poskytuje profesionální penetrační testování GraphQL API, což je služba pro hodnocení kybernetické bezpečnosti, která vám pomůže odhalit a opravit zranitelnosti a zajistit, že jsou vyřešeny všechny bezpečnostní problémy.
Zde jsou některé zajímavé funkce, které nabízí:
- Produkt byl analyzován s ohledem na OWASP Top 10 GraphQL API testování, aby vás chránil před nejčastějšími hrozbami.
- Dynamické testování API
- Statické testování API
- Analýza složení softwaru
Kromě bezpečnostních funkcí je jejich zpráva o skenování zranitelností vynikající, protože obsahuje zprávu o penetraci, zprávu o opakovaném testu, potvrzovací dopis a bezpečnostní certifikát.
AppCheck Security Scanning

AppCheck poskytuje komplexní pomoc při testování API, ale nejen to. Nabízí různé funkce, jako je procházení SPA, objevování koncových bodů a další.
Ale je toho víc:
- Šetří čas díky efektivnímu pracovnímu postupu
- Kompatibilní s Jira, TeamCity a dalšími vývojářskými nástroji
- Objeví zero-day zranitelnosti a 100 000+ známých bezpečnostních chyb s plnou podporou OWASP
Docela velký seznam funkcí, že?
Synopse Testování zabezpečení API

Synopsys má testovací program API, který automaticky detekuje odhalené koncové body vaší aplikace a to vše probíhá nepřetržitě na pozadí!
Stále vás to nepřesvědčilo? Zde jsou další skvělé funkce:
- Identifikuje chyby v kódu a datech pomocí vizuálního mapování
- Automatické zjišťování zranitelných míst
- Hodnocení hrozeb a rizik
Bright Security API Testing

Služby Bright Security jsou navrženy pro moderní prostředí mikroslužeb a nabízí bezproblémovou integraci s pracovními postupy SDLC, CI/CD a git, takže zranitelnosti lze odhalit co nejjednodušeji.
Mezi klíčové funkce Bright Security patří:
- Pohodlné CLI pro vývojáře
- 100% SaaS řešení
- Integrace CI/CD
- Chyby zabezpečení mapované na OWASP API Security Top 10
Závěrem…
V tomto článku jsem vysvětlil klíčové zranitelnosti GraphQL a představil nejlepší nástroje pro odhalování a opravu těchto zranitelností.
Doufám, že vám tento průvodce pomohl.
Mohl by vás také zajímat článek o porovnání GraphQL vs. REST API a kdy které z nich použít.