Absicherung von APIs
17. April 2018APIs werden das Herzstück vieler KI-Fähigkeiten sein. Ihr Schutz könnte das größte Problem der Zukunft des Internets sein. Doch wer die wichtigsten Tipps zu Sicherheitsmaßnahmen kennt, der kann seine APIs besser schützen.
• TLS ist erforderlich, um bei der Kommunikation zwischen dem Client und den APIs die Vertraulichkeit und Integrität der Daten während des Transports zu gewährleisten.
• TCP-Terminierung für die Erkennung von Netzwerk-Angriffen, bei denen IP-Fragmentierung angewendet wird.
• HTTP-Protokoll-Parsing und Durchsetzung des HTTP-RFC schützt vor verschiedenen HTTP-Angriffen wie NULL-Byte-Injection, verschlüsselte Angriffe, HRS-Angriffe, Content-Type-Mismatch, etc.
• Verkehrsnormalisierung zur Erkennung von Umgehungsangriffen. Verschlüsselte Angriffe können viele Sicherheitslösungen leicht umgehen.
• Message Size Policy Enforcement für HTTP-Nachrichten, Body, Header und JSON/XML-Elementgrößen schützt die Anwendung vor Pufferüberlauf-Angriffen, Ressourcenerschöpfung und anderen Verfügbarkeitsangriffen auf die API-Infrastruktur.
• Verwaltung von Zugriffskontrollrichtlinien mit IP-basierten und geografischen Standortbeschränkungen, Zugriffsbeschränkung auf bestimmte APIs, bei denen z.B. einige APIs für den öffentlichen Zugriff freigegeben werden sollen, während andere nur für den internen Gebrauch bestimmt sind. Aber auch Zugriffsbeschränkungen auf bestimmte HTTP-Methoden sollten zum Einsatz kommen, bei denen die für bestimmte Benutzer erlaubten Operationen für andere Benutzer oder Quellen verboten sind. (Ein Benutzer kann z.B. eine Lizenz generieren, aber die einmal generierte Lizenz nicht löschen.)
• Starke Typisierung und ein positives Sicherheitsmodell schützen die API-Infrastruktur. Die meisten Angriffe werden unmöglich, wenn z.B. der einzige erlaubte Werttyp im JSON-Element eine ganze Zahl mit dem Wertebereich von 1 – 100 ist.
• XML/JSON Gültigkeitsprüfung und Schemavalidierung bilden einen äußerst wichtigen Schutz. Typen, Wertebereiche, Größen und Reihenfolge der XML-Elemente müssen konfigurierbar sein.
• Datenraten-basierter Schutz pro Anwendung oder pro API ist ein wichtiger Schutz vor Servicemissbrauch, Brute-Force-Angriffen und DoS-Angriffen.
• XSS-Schutz sollte auf Regeln und Signaturen bekannter Angriffsmuster basieren.
• SQL- und No-SQL-Injection-Schutz kann durch Bereinigung und Validierung von Benutzereingaben sowie durch regelbasierte Angriffserkennung erreicht werden.
• Das Session-Management kann verwendet werden, um den API-Schlüssel zu schützen, der als Body-Argument oder im Cookie gepostet wird.
• Schutz vor Datenlecks ist unerlässlich, um sicherzustellen, dass Fehlermeldungen und sensible Informationen nicht an den potenziellen Angreifer gelangen.
• DDoS-Schutz ist der Schlüssel zur Verhinderung und Abschwächung einer Vielzahl von DDoS-Angriffstechniken, die API-Schwachstellen ausnutzen können. (rhh)
Hier geht es zu Radware