Für diejenigen, die es nicht wissen: GraphQL ist eine Abfragesprache und Laufzeitumgebung für APIs, die von Facebook entwickelt wurde und jetzt Open-Source ist (relief 😌).
Und wie jede andere Software hat auch GraphQL seine eigenen Vor- und Nachteile.
Die Nachteile, die sich auf die Funktionen oder den Funktionsumfang beziehen, werden Sie vielleicht ignorieren. Aber was, wenn ich Ihnen sage, dass es eine Liste von Sicherheitslücken in GraphQL gibt?
Machen Sie sich keine Sorgen. Es gibt verschiedene Tools, die Ihnen helfen, GraphQL-Sicherheitsschwachstellen zu finden und zu beheben.
Aber bevor ich Ihnen die Tools vorstelle, lassen Sie uns zunächst einen Blick darauf werfen, was GraphQL ist und welche Schwachstellen es gibt.
Was ist GraphQL?
Um zu erklären, was GraphQL ist, stellen Sie sich ein Szenario vor: Sie sitzen in einem Restaurant und bestellen Ihr Mittagessen.
Aber vielleicht möchten Sie nicht genau das Gericht, das auf der Speisekarte steht. Manchmal möchten Sie vielleicht einige Zutaten hinzufügen oder weglassen. Nehmen wir an, Sie sind allergisch gegen Nüsse und möchten das Essen nach Ihren Wünschen anpassen.
Stellen Sie sich GraphQL als einen Kellner vor, der Ihr Essen anpasst und Ihnen genau das bringt, was Sie gewünscht haben, aber GraphQL arbeitet mit den Daten der Server.
Mit dieser Technologie können moderne Anwendungen spezifische Daten abrufen, die Ihnen eine Menge Bandbreite ersparen und außerdem das Benutzererlebnis verbessern.
Lesen Sie mehr über die beste GraphQL-Software.
Schwachstellen von GraphQL
Hier finden Sie eine Liste potenzieller Schwachstellen, die von Personen mit dunklen Absichten genutzt werden können, um an sensible Daten zu gelangen.
- Over-fetching und under-fetching: Diese Schwachstelle kann die Serverressourcen übermäßig beanspruchen. Wenn die Anweisungen zum Abrufen von Daten aus GraphQL nicht korrekt sind, kann dies zu Over-Fetching (mehr Daten als angefordert) oder Under-Fetching (weniger Daten als angefordert und der Benutzer muss Daten mehrmals anfordern) führen.
- Übermäßige Offenlegung von Daten: Wenn die Zugriffskontrolle falsch konfiguriert ist, werden die kritischen Daten offengelegt. Und wenn der Server unbefugten Zugriff zulässt, kann jeder Hacker mit ausreichenden Kenntnissen leicht in die Daten eindringen.
- Problem der verschachtelten Abfragen: Standardmäßig gibt es keine Komplexitätsgrenze, so dass Sie komplexe Abfragen versenden können. Stellen Sie sich nun vor, dass mehrere komplexe Abfragen ineinander verschachtelt sind und alle Systemressourcen beanspruchen, was zu einer langsamen Antwort und sogar zu einem möglichen DOS-Angriff(Denial of Service) führt.
- Injektionen: GraphQL ist nichts anderes als eine Abfragesprache mit Benutzereingaben. Das heißt, wenn Ihre API nicht sicher ist, kann sie mit bösartigem Code infiltriert werden, und Ihre Datenbank, Ihr Dateisystem und sogar das Netzwerk und das Betriebssystem können angegriffen werden.
- GraphQL-Bomben: Diese wurden im August 2022 entdeckt und betreffen APIs, die GraphQL-Datei-Uploads implementieren. Dabei handelt es sich um einen DOS-Angriff (Denial of Service), bei dem viele HTTP-Anfragen an den GraphQL-Endpunkt gesendet werden.
- Falsch konfigurierte HTTP-Header: Das hört sich nach nichts an, aber glauben Sie mir, das kann viel mehr Schaden anrichten, als Sie denken. Wenn es nicht richtig konfiguriert ist, kann es Angriffen wie CSRF (Cross-Site Request Forgery), MIME Sniffing, Man in the Middle-Angriffen und vielem mehr Tür und Tor öffnen.
- Die Ratenbegrenzung ist falsch konfiguriert oder nicht konfiguriert: Die Ratenbegrenzung ist nichts anderes als die Begrenzung der Anzahl der Abfragen, die der Client in einem bestimmten Zeitrahmen durchführen kann. Und wenn sie nicht konfiguriert ist, führt dies zu einer potenziellen DOS-Bedrohung!
Klingt beängstigend? Ist es das nicht?
Jetzt werde ich Ihnen einige der besten Tools vorstellen, die Sie verwenden können, um GraphQL-Schwachstellen zu finden und zu beheben und Ihren Server zu sichern. Hier finden Sie eine Zusammenfassung der Tools, die wir besprechen werden.
Produkt | Bemerkenswerte Eigenschaften |
---|---|
Escape GraphQL Sicherheit | Schnelle Scans, echte Risiken, Integration mit Entwickler-Tools |
Inviciti GraphQL-Scanner | Scans für verschiedene Angriffe, Schutz vor modernen Angriffen |
StackHawk GraphQL-Prüfung | Kontinuierliche Schwachstellenprüfungen, automatisierte Sicherheit |
Beagle Sicherheit | Aktive Tests, CI/CD-Integration, detaillierte Berichte |
GraphQL dot Sicherheit | Kostenlose Option, Endpunktüberprüfung, aktuelle Datenbank |
Qualysec GraphQL Pen Testing | OWASP Top 10 Analyse, dynamische/statische API-Tests |
AppCheck Sicherheits-Scanning | API-, SPA- und Endpunkttests, Jira/TeamCity-Unterstützung |
Synopsis API-Sicherheitstests | Kontinuierliche Hintergrundtests, visuelles Schwachstellen-Mapping |
Bright Security API-Tests | Fokus auf Microservices, CLI, SaaS-basiert, CI/CD-Integration |
Escape GraphQL Sicherheit
Escape entwickelt seine Produkte mit Blick auf die Entwickler, und das gilt auch für den GeaphQL Security Checker.
Als einer der wenigen Anbieter von Sicherheitsdiensten können Sie sicher sein, dass die allerneueste Schwachstelle in kürzester Zeit gescannt wird.
Aber das ist noch nicht alles:
- Es dauert etwa 60 Sekunden, bis der erste Scan gestartet wird!
- Die Datenbank von Escape ist immer auf dem neuesten Stand in Bezug auf Sicherheitslücken.
- Zeigt echte Risiken an, anstatt Probleme anzuzeigen, die ein Risiko darstellen könnten.
- Integration mit Ihren bevorzugten Entwickler-Tools.
Wenn Sie also nach einer schnellen und einfachen Lösung zur Überprüfung von GraohQL-Schwachstellen suchen, kann Escape Ihre nächste Anlaufstelle sein.
Inviciti GraphQL Scanner
Inviciti, früher bekannt als Netsparker, ist einer der vertrauenswürdigsten und beliebtesten Namen unter den Scan-APIs.
Ein Kunde möchte jedoch wissen, um wie viele Arten von Angriffen es sich kümmern kann. Hier ist eine Liste schwerer Angriffe und Sicherheitslücken, die mit diesem Produkt gescannt werden können:
- Blinde Befehlsinjektion
- Blinde SQL-Injektion
- Befehlsinjektion
- Remote-Code-Ausführung
- Server-seitige Anforderungsfälschung
Eine grundsolide Lösung, um sich vor modernen Angriffen zu schützen.
StackHawk GraphQL Sicherheitstests
Das Beste an den GraphQL-Tests von StackHawk ist, dass sie bei jeder Pull-Anfrage auf alle GraphQL-Schwachstellen geprüft werden.
Und wenn diese Schlüsselfunktion nicht ausreicht, um Ihr Herz zu gewinnen, finden Sie hier weitere spannende Funktionen von StackHawk:
- Automatisierte Sicherheitstests.
- Blitzschnelles Testen und Beheben
- Einfaches UI
- Hervorragende Dokumentation zur einfachen Selbstkorrektur
Ziemlich cool. Oder?
Beagle Sicherheit
Beagle Security hat sich auf automatisierte Lösungen zum Testen der Sicherheit von Webanwendungen spezialisiert und hilft Unternehmen bei der Identifizierung und Behebung von Sicherheitslücken.
Und ihre vier Hauptmerkmale machen sie zu etwas ganz Besonderem:
- Intensive und aktive Tests
- Integriert mit CI/CD
- Detaillierte Berichte
- Detaillierte Korrekturvorschläge von Sicherheitsexperten
Sie können auch den kostenlosen Website Assessment Checker verwenden, um Schwachstellen in Ihrer Website zu finden.
GraphQL dot Security (graphql.security)
Wenn Sie auf der Suche nach einer kostenlosen Option sind und sich mit einem begrenzten Funktionsumfang zufrieden geben, dann gibt es nichts Besseres als das Angebot von graphql.security.
Dies ist ebenfalls ein Produkt von Escape, so dass Sie sich auf deren Tests und Zuverlässigkeit verlassen können.
Und einige der wichtigsten Funktionen sind:
- Aktuelle Datenbank von Escape
- Keine Registrierung erforderlich
- Möglichkeit, den Endpunkt mit einem einzigen Klick zu überprüfen
- Kostenloser Service
Wenn Sie also gerade erst mit Ihrem Online-Geschäft beginnen und nur ein begrenztes Budget zur Verfügung haben, würde ich Ihnen graph.security sehr empfehlen.
Qualysec GraphQL API Penetrationstests
Qualysec bietet professionelle GraphQL API Penetrationstests und ist ein Service zur Bewertung der Cybersicherheit, mit dem Sie Schwachstellen aufdecken und beheben können und sich aller Sicherheitsprobleme sicher sein können.
Und hier sind einige interessante Funktionen, die sie anbieten:
- Das Produkt wurde für die OWASP Top 10 GraphQL API Tests analysiert, um sich gegen die häufigsten Bedrohungen zu schützen.
- Dynamische API-Prüfung.
- Statische API-Prüfung.
- Analyse der Softwarezusammensetzung.
Abgesehen von den Sicherheitsmerkmalen ist ihr Bericht für den Schwachstellen-Scan hervorragend, da er einen Penetrationsbericht, einen Bericht über den erneuten Test, eine Bescheinigung und ein Sicherheitszertifikat enthält.
AppCheck Sicherheits-Scanning
Appcheck bietet Ihnen umfassende Unterstützung beim Testen von APIs, aber nicht nur das. Es verfügt über zahlreiche Funktionen wie SPA-Crawling, Endpunkt-Erkennung und mehr.
Aber das ist noch nicht alles:
- Sparen Sie Zeit mit praktischen Arbeitsabläufen.
- Kompatibel mit Jira, TeamCity und anderen Entwicklungstools.
- Entdecken Sie Zero-Days, plus 100.000 bekannte Sicherheitslücken und die vollständige OWASP.
Eine ziemlich umfangreiche Liste von Funktionen. Nicht wahr?
Synopsis API-Sicherheitstests
Synopsis verfügt über ein Programm zum Testen von APIs, das automatisch die exponierten Endpunkte Ihrer Anwendung entdeckt, und das alles läuft kontinuierlich im Hintergrund!
Immer noch nicht genug, um Sie zu überzeugen? Hier sind einige weitere erstaunliche Funktionen:
- Aufspüren von Schwachstellen in Code und Daten mit visuellem Mapping
- Automatische Erkennung von Schwachstellen
- Bewertungen von Bedrohungen und Risiken
Bright Security API-Tests
Bright Security Services wurden für moderne Microservice-Umgebungen entwickelt und bieten eine nahtlose Integration in SDLC-, CI/CD- und Git-Workflows, so dass die Schwachstellen so einfach wie möglich aufgespürt werden können.
Und hier sind einige der wichtigsten Funktionen von Bright Security:
- Bequeme CLI für Entwickler
- 100% SaaS-basiert
- CI/CD-Integration
- Schwachstellen, die den OWASP API Security Top 10 zugeordnet sind
Zusammenfassend…
In diesem Tutorial habe ich die wichtigsten GraphQL-Schwachstellen und die besten Tools zum Auffinden und Beheben von GraphQL-Schwachstellen erläutert.
Ich hoffe, Sie finden diesen Leitfaden hilfreich.
Vielleicht interessiert Sie auch die Lektüre über GraphQL vs. REST API und wann Sie welche verwenden sollten.