Für Chrome wird eine API für direkte TCP- und UDP-Kommunikation entwickelt

Google gestartet um eine neue API in Chrome zu implementieren Rohe Sockel, wodurch Webanwendungen mithilfe der Protokolle TCP und UDP direkte Netzwerkverbindungen herstellen können. Bereits 2015 versuchte das W3C-Konsortium, die API zu standardisieren.TCP- und UDP-Socket„, aber die Mitglieder der Arbeitsgruppe erzielten keinen Konsens und die Entwicklung dieser API wurde gestoppt.

Die Notwendigkeit, eine neue API hinzuzufügen, erklärt sich aus der Möglichkeit, mit Netzwerkgeräten zu interagieren, die native Protokolle verwenden, die auf TCP und UDP basieren und die Kommunikation über HTTPS oder WebSockets nicht unterstützen. Es wird darauf hingewiesen, dass die Raw Sockets API die bereits im Browser verfügbaren Low-Level-Programmierschnittstellen WebUSB, WebMIDI und WebBluetooth ergänzen wird, die die Interaktion mit lokalen Geräten ermöglichen.

Um negative Auswirkungen auf die Sicherheit zu vermeiden, lässt die Raw Sockets API nur Netzwerkaufrufe zu, die mit Zustimmung des Benutzers initiiert und auf die vom Benutzer zugelassene Liste der Hosts beschränkt werden. Der Benutzer muss den ersten Verbindungsversuch für den neuen Host explizit bestätigen. Mit einem speziellen Flag kann der Benutzer die Ausgabe wiederholter Vorgangsbestätigungsanfragen für wiederholte Verbindungen zum selben Host deaktivieren. Um DDoS-Angriffe zu verhindern, wird die Intensität der Anfragen über Raw Sockets begrenzt und das Senden von Anfragen ist erst möglich, nachdem der Benutzer mit der Seite interagiert. UDP-Pakete, die von Hosts empfangen werden, die vom Benutzer nicht genehmigt wurden, werden ignoriert und erreichen die Webanwendung nicht.

Die anfängliche Implementierung sieht nicht die Erstellung von Listening-Sockets vor, aber in Zukunft ist es möglich, Aufrufe bereitzustellen, um eingehende Verbindungen von localhost oder einer Liste bekannter Hosts anzunehmen. Erwähnt wird auch die Notwendigkeit, sich vor Angriffen zu schützen.DNS-Rebinding„(Ein Angreifer kann die IP-Adresse für einen vom Benutzer genehmigten Domänennamen auf DNS-Ebene ändern und sich Zugriff auf andere Hosts verschaffen.) Es ist geplant, den Zugriff auf Domänen, die in 127.0.0.0/8 aufgelöst werden, und Intranetnetzwerke zu blockieren (der Zugriff auf localhost soll nur dann zulässig sein, wenn die IP-Adresse explizit im Bestätigungsformular eingegeben wird).

Zu den Risiken, die bei der Implementierung einer neuen API entstehen können, gehört die mögliche Ablehnung durch Hersteller anderer Browser, was zu Kompatibilitätsproblemen führen könnte. Die Entwickler der Mozilla Gecko- und WebKit-Engines sind immer noch dabei hat nicht geklappt seine Position zur möglichen Implementierung der Raw Sockets API, aber Mozilla hatte zuvor für das Firefox OS (B2G)-Projekt vorgeschlagen ähnliche API. Bei Genehmigung in der ersten Phase ist geplant, die Raw Sockets API auf Chrome OS zu aktivieren und erst dann Chrome-Nutzern auf anderen Systemen anzubieten.

Web-Entwickler positiv reagierte auf die neue API und äußerte viele neue Ideen zu ihrer Anwendung in Bereichen, in denen die APIs XMLHttpRequest, WebSocket und WebRTC nicht ausreichen (von der Erstellung von Browser-Clients für SSH, RDP, IMAP, SMTP, IRC und Druckprotokollen bis hin zur Entwicklung verteilter P2P-Systeme mit DHT (Distributed Hash Table), IPFS-Unterstützung und Interaktion mit spezifischen Protokollen von IoT-Geräten).

Source: opennet.ru

Kommentar hinzufügen