Besorgt über SQLite-Sicherheitsschwachstellen?
Stellen Sie sich dem Unvermeidlichen: Lokale persistente Daten am Netzwerkrand sind unausweichlich
Es steht außer Frage, dass Edge-Intelligenz weiter zunehmen wird, sei es bei mobilen Anwendungen auf Smartphones, bei IoT in intelligenten Fahrzeugen (oder den zugrunde liegenden Sensoren), im Entertainment-Bereich, bei Navigationssystemen usw. Es wird unzählige Mobil- und IoT geben IoT insgesamt betrachtet Edge-Szenarien –, in denen eine native Anwendung die bessere Lösung ist als eine webbasierte Anwendung oder in denen es ineffizient bzw. potenziell weniger sicher wäre, Rohdaten von IoT zurückzusenden, anstatt die Daten zu verarbeiten und die Eingabedaten lokal zu speichern oder zu löschen.
Die Komplexität der Prozesse und Arbeitsabläufe am Netzwerkrand, die Möglichkeit, Analysen direkt am Ort des Geschehens durchzuführen, sowie die Arbeit im Offline-Modus oder bei instabiler Verbindung sind allesamt Beispiele dafür, warum Sie einen lokalen Datenspeicher und somit eine lokale Datenbank benötigen. Es steht außer Frage, dass die mit diesen Anwendungen verbundenen Datenmengen explosionsartig ansteigen werden.
Leider ist es ebenso unvermeidlich, dass Sicherheitslücken und opportunistische Angriffe, die auf diese Schwachstellen abzielen, in absehbarer Zukunft zunehmen werden. In den letzten Jahren wurden mehrere Studien und Umfragen durchgeführt, die eindeutig zeigen, dass es bei Software IoT mobile Geräte weitaus mehr Sicherheitslücken gibt als bei ausgereifteren Desktop- oder Laptop-Plattformen, ganz zu schweigen von Software, die auf Servern im Rechenzentrum läuft. Wir sollten nicht vergessen, dass vor zehn Jahren jede Sicherheitsverletzung in der Cloud Panik Cloud und möglicherweise die Einführung von Cloud verlangsamte. Genau an diesem Punkt könnten wir uns heute mit lokalem und eingebettet Datenmanagement Edge-Geräte befinden.
Ein typisches Beispiel: Am Wochenende wurde eine sehr schwerwiegende Sicherheitslücke in SQLite und der in Chromium (der Open-Source-Basis von Google Chrome) integrierten Version von SQLite entdeckt. Zwar ist dies nicht die erste oder größte potenzielle Sicherheitslücke, die im Datenmanagement gefunden wurde Datenmanagement schließlich hält der Heartbleed-Virus aus dem Jahr 2014, der OpenSSL ausnutzte, wahrscheinlich beide Rekorde –, doch da diese Schwachstelle mit SQLite zusammenhängt, einer Datenbank, die in mobilen nativen und webbasierten Apps nahezu allgegenwärtig ist, sowie mit deren APIs, sollten wir uns auf die reflexartige Reaktion gefasst machen: Vielleicht sollten Daten gar nicht lokal auf Edge-Geräten gespeichert werden, sondern alles sollte in der Cloud erfolgen, wo man davon ausgeht, dass es sicherer ist (meine Güte, wie sich die Zeiten geändert haben).
Ein Rückzug wäre eine Überreaktion
Zunächst einmal ist SQLite weitaus besser als eine Kombination aus temporärer Speicherzuweisung und einfachen Dateisystemen – ein Ansatz, den ich niemandem empfehlen würde, den ich als Freund bezeichne. Warum? Im Gegensatz zur Speicherzuweisung und der Verwendung einfacher Dateien, die kaum Standardisierung, integrierte Indizierung oder andere echte Datenbearbeitungsfunktionen bieten, stellt SQLite eine grundlegende Datenbankunterstützung für Edge-Intelligence bereit.
SQLite kann auf einem Gerät ausgeführt werden, um Rechenressourcen lokal verfügbaren Rechenressourcen optimal zu nutzen. Damit ermöglicht es einer Anwendung Datenmanagement lokale Datenmanagement zu übernehmen Datenmanagement bietet aber gleichzeitig denselben Satz an API-Aufrufen für eine webbasierte Version derselben App oder funktioniert sogar sowohl für die nativen als auch für die Web-Komponenten einer komplexeren App. Es unterstützt die meisten SQL-API-Aufrufe und entspricht somit dem Standard.
Eine Einigung wäre eine ebenso schlechte Wahl
Im Vergleich zu einer kommerziellen, unternehmensgerechten eingebettet weist SQLite jedoch zahlreiche Nachteile auf. Vor allem verfügt es über keine integrierte Verschlüsselung für Data-at-Rest übertragene Data-at-Rest , geschweige denn mit 128 Bit oder mehr. Außerdem lässt es sich nur einbetten eine einzige Anwendung und eine einzige Instanz einbetten und kann daher nicht skaliert werden, um mehrere Benutzer zu unterstützen, die Daten an dieses SQLite-Image senden oder von diesem empfangen müssen.
Wenn Sie beispielsweise SQLite auf einem Gateway installieren und dann mehrere nachgeschaltete IoT versuchen, Daten in diese SQLite-Instanz zu schreiben, gibt es keine Möglichkeit, verwalten als einen Client (nachgeschaltetes IoT ) gleichzeitig verwalten , der in die SQLite-Datenbank schreibt – eine Anforderung in einer IoT , in der oft Dutzende, Hunderte oder sogar Tausende von Geräten nachgeschaltet sind. Client-Server-Datenbanken sind jedoch in der Lage, Hunderte oder Tausende aktiver nachgeschalteter Clients zu verarbeiten; daher müssen Nutzer von Flatfiles und SQLite ihre Anwendungen, die Daten senden oder empfangen, stets mit MS SQL, MySQL, Oracle oder einer anderen Client-Server-Datenbank koppeln. Diese Kopplung garantiert, dass die Neuformatierung von Daten oder ETL (Extract, Transform, Load) ein notwendiges Übel ist.
Es gibt drei wesentliche Nachteile von ETL, mit denen die meisten Datenarchitekten und Entwickler zu kämpfen haben: Integrationskosten, Leistung und Datensicherheit. Die Kosten und Leistungseinbußen werde ich mir für einen anderen Blogbeitrag aufheben, aber das Thema Datensicherheit ist es wert, hier angesprochen zu werden. Ohne eine einheitliche Architektur für die Datenbankverwaltung auf Client- und Serverseite hätten Sie selbst bei integrierter Verschlüsselung keine andere Wahl, als die Daten zu entschlüsseln und erneut zu verschlüsseln, um ETL-Funktionen ausführen zu können – selbst wenn Sie keine weiteren Datenmanipulationen vornehmen müssten. Die Notwendigkeit der Entschlüsselung bedeutet, dass Ihre Daten – wenn auch nur vorübergehend – Hackern ausgesetzt sind.
Eine erstklassige Methode zur sicheren verwalten am Netzwerkrand
Die Actian Zen-Datenbankfamilie basiert auf einer einzigen, skalierbar Architektur, die es ermöglicht, Zen auf VMs in der Cloud sowie in praktisch jeder Betriebsumgebung auszuführen – von Windows, Linux und Mac OS als vollwertige Client-Server-Datenbank bis hin zu Windows IoT , Raspbian-Linux-Distributionen, Android und iOS als reduzierte, rein clientseitige Datenmanagement Da Actian Zen auf praktisch jeder Plattform mit vollständig übertragbaren APIs (Sie können SQL direkt oder NoSQL/SQL-APIs programmgesteuert aus den gängigsten Programmiersprachen nutzen), Engine und zugrunde liegendem Dateispeicher läuft, erfordert es kein ETL. Es verfügt zudem über eine 192-Bit-Verschlüsselung im Ruhezustand und während der Übertragung, wodurch sowohl Integrationskosten als auch Sicherheitslücken bei den Daten beseitigt und die Leistung gesteigert werden.
Zusammenfassung
Was SQLite und die kürzlich aufgedeckten Sicherheitslücken betrifft, muss die Reaktion darin bestehen, diese Sicherheitslücken zu schließen und das Risiko zu verringern, indem man SQLite repariert oder auf eine überlegene Lösung der Enterprise-Klasse wie Actian Zen umsteigt. Die Lösung besteht nicht darin, die Speicherung von Daten auf lokalen Geräten zu vermeiden oder stark einzuschränken. Solche Einschränkungen würden Innovationen und verbesserte Ergebnisse bremsen, die zweifellos durch eingebettet Ort des Geschehens eingebettet Intelligenz erzielt werden. Cloud hat deutliche Verbesserungen erfahren, weil Anbieter, Industriekunden und Normungsgremien sowie die Regierung (NIST-Spezifikationen, FEDRamp usw.) sich der Herausforderung gestellt haben, anstatt in alte Umgebungen zurückzufallen. Es wird immer Risiken geben, aber es geht darum, verwalten Risiken zu verwalten , indem man von statischen, reaktiven und periodischen Sicherheitsüberprüfungen zu einem risikobasierten Ansatz mit kontinuierlicher Diagnose und Überwachung übergeht. Erwarten Sie im Laufe der Zeit nichts Geringeres für die Sicherheit IoT Mobil- und IoT , da Anbieter – wie Actian – zusammenarbeiten, um Kunden dabei zu helfen, gelassen zu bleiben und ihre Daten am Edge sicher zu halten.
Wenn Sie bereit sind, SQLite zu überdenken, erfahren Sie mehr über Actian Zen. Oder Sie können Zen Core kostenlos testen, das für Entwicklung und Vertrieb lizenzfrei ist.