Drucksache: PHP Magazin 1.2015 - Wie sicher sind NoSQL-Datenbanken?
Im PHP Magazin 1.2015 ist ein Artikel über die Sicherheit von NoSQL-Datenbanken erschienen.
Eine Datenbank ist für einen Angreifer fast immer interessant, denn meist enthält sie wertvolle Daten, die er gerne hätte. Im Fall von SQL-Datenbanken versuchen die Angreifer im Allgemeinen, diese Daten über einen SQL-Injection Angriff abzufragen. Davor schützt die Verwendung von Prepared Statement, die parametrisiert aufgerufen werden. Aber wie sieht es mit der Sicherheit von NoSQL-Datenbanken aus?
Das Fazit des Artikels: Bei den NoSQL-Datenbanken muss sich in Sachen Sicherheit noch einiges tun. Und das ist sehr unschön, um es mal höflich auszudrücken. Denn das war schon 2012 so [18]. Und immer noch vertrauen die NoSQL-Hersteller darauf, dass ihre Produkte in einer sicheren Umgebung eingesetzt werden? Also irgendwie fällt es mir schwer, dabei höflich zu bleiben.
Aber es gibt auch Licht am Ende des Tunnels : Die meisten Angriffe erfolgen auf ungesicherte Zugänge oder API, hier sorgt eine Authentifizierung schnell und effektiv für Abhilfe, oder unverschlüsselte Datenübertragungen, hier schützt die Nutzung von SSL/TLs für Sicherheit. Und beides kann notfalls auch unabhängig von den Datenbankherstellern nachgerüstet werden. Angriffe auf Schwachstelle in den Datenbank-Implementierungen sind relativ selten.
Womit "nur" noch Schwachstellen in der Nutzung der NoSQL-Datenbanken durch die Anwendungen als mögliche Angriffspunkte bleiben. Und da greift wieder das altbewährte "Traue nie dem Client" - alle vom Benutzer gelieferten Daten müssen auf unerwünschte Inhalte geprüft werden. Und das sind im Fall von NoSQL-Datenbanken dann eben keine SQL-Injection-Angriffe sondern JavaScript-Injection-Angriffe und ähnliches.
Und hier noch die Links und Literaturverweise aus dem Artikel:
- [1] Erlend Oftedal, Blog "Insomnia and the Hole in the Universe": "[Security] NOSQL-injection"
- [2] FAQ: MongoDB for Application Developers - MongoDB Manual 2.6.4: "How does MongoDB address SQL or Query injection?"
- [3] Phil Taylor, Blog "Web Application Security": "Mongodb is vulnerable to SQL injection in PHP at least"
- [4] PHP Manual - Mongo Manual - Security
- [5] Leo Kelion, BBC News: "eBay redirect attack puts buyers' credentials at risk"
- [6] Ming Chow; DefCon 21: "Abusing NoSQL Databases"
- [7] Ming Chow; DefCon 21: "Abusing NoSQL Databases" - Präsentation
- [8] Francis Alexander; Hack in the Box Amsterdam 2014: "Exploiting NoSQL Like Never Before"
- [9] NoSQL Exploitation Framework
- [10] GitHub: torque59/Nosql-Exploitation-Framework
- [11] Francis Alexander; 44CON 2014: "Pentesting NoSQL DB's Using NoSQL Exploitation Framework"
- [12] Francis Alexander; 44CON 2014; "Pentesting NoSQL DB's Using NoSQL Exploitation Framework": Präsentation auf Slideshare
- [13] Francis Alexander; Hack In Paris 2014: "Pentesting NoSQL DB's with NoSQL Exploitation Framework"
- [14] NoSQLMap - Automated NoSQL Database Pwnage
- [15] Russell Butturini: "An Important Message Regarding "The NoSQL Exploitation Framework""
- [16] Russell Butturini; BSides Nashville 2014: "Making Mongo Cry: Automated NoSQL exploitation with NoSQLMap"
- [17] Russell Butturini; Wall of Sheep Speaker Workshops at DEF CON 22: "Making Mongo Cry: Automated NoSQL exploitation with NoSQLMap" (PowerPoint)
- [18] Carsten Eilers; Windows Developer 8.2012: "NoSQL, No Security?"
Trackbacks