Node.js und seine Sicherheitsprobleme
Kommentare

Node hat JavaScript auf den Server geholt. Während es dank der V8-Engine tausende gleichzeitige Verbindungen in einem einzigen Thread stemmt und vielen wie der heilige Gral der Nebenläufigkeit im Web

Node hat JavaScript auf den Server geholt. Während es dank der V8-Engine tausende gleichzeitige Verbindungen in einem einzigen Thread stemmt und vielen wie der heilige Gral der Nebenläufigkeit im Web vorkommt, bleiben andere skeptisch: Zu uneins ist man sich über die wirkliche Good Practice mit JavaScript, zu wenig weiß man über die Fallstricke von Node.js.

Letztere macht der JavaScript-Entwickler Harry Torry von der britischen Patent-Kanzlei Albright Patents in seinem jüngsten Blog-Post zum Thema. Er sagt zwar, dass Node.js an sich nicht als unsicher zu bezeichnen sei, jedoch werde oft übersehen, dass man den Gefahren dieses mächtigen Werkzeugs aktiv begegnen muss.

Der erste Punkt, den Torry anspricht, ist Server Poisoning zur Laufzeit. Da der Node-Prozess theoretisch ewig läuft, ist dies eine besonders schleichende Gefahr. Wurde der Server einmal mit Schadcode infiziert, ist dieser so lange aktiv, bis Node neugestartet wurde. Besonders der HTTP-Server von Node als auch der Node Package Manager sind hier häufige Vektoren für Eindringlinge.

Gegen typische Denial of Service (DoS) Attacken ist Node aufgrund seiner Architektur relativ gut geschützt. Dennoch sollte man CPU-lastige Aufgaben in separate Worker-Threads auslagern, um die Antwortzeit des Servers auf niedrigem Niveau zu halten. Hash-Collision-basierte DoS-Attacken hingegen scheinen noch eine Achillesferse von Node.js zu sein. Diese Art von Angriff basiert auf Anfragen, die den Server und seine CPU für mehrere Minuten außer Gefecht setzen können. Zwar bedeutet dies im Falle von Node.js lediglich, dass genau ein Prozessorthread blockiert wird, dennoch werden sämtliche Node-basierte Server-Aktivitäten für den Zeitraum einer solchen Attacke unterbunden.

Auch wenn online wenig bis gar nichts zum Verhindern von Collision-Attacken gegen Node.js zu finden ist, bleibt zu hoffen, dass man sich einige Kniffe von Ruby und PHP abschauen kann, um eine Chance zu haben. Immerhin machen es Bibliotheken wie der V8 Hash Collision Generator Angreifern viel zu einfach.

Aufmacherbild: Car accident von Shutterstock / Urheberrecht: ArchMan

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -