Google für die Implementierung einer neuen API in Chrome , die Webanwendungen ermöglichen, direkte Netzwerkverbindungen unter Verwendung der Protokolle TCP und UDP herzustellen. Im Jahr 2015 hatte das W3C-Konsortium bereits einen Versuch unternommen, die API zu standardisieren „“, aber die Mitglieder der Arbeitsgruppe erzielten keinen Konsens, und die Entwicklung dieser API wurde eingestellt.
Die Notwendigkeit der Einführung einer neuen API wird durch die Möglichkeit erklärt, mit Netzwerkgeräten zu interagieren, die eigene Protokolle verwenden, die über TCP und UDP arbeiten und keine Interaktion über HTTPS oder WebSockets unterstützen. Es wird angemerkt, dass die API Raw Sockets die bereits im Browser vorhandenen Low-Level-Schnittstellen WebUSB, WebMIDI und WebBluetooth ergänzen wird, die eine Interaktion mit lokalen Geräten ermöglichen.
Um negative Auswirkungen auf die Sicherheit der API zu vermeiden, wird Raw Sockets nur Netzwerkzugriffe zulassen, die mit Zustimmung des Benutzers initiiert werden und auf einer vom Benutzer genehmigten Liste von Hosts basieren. Der Benutzer muss den ersten Verbindungsversuch zu einem neuen Host ausdrücklich bestätigen. Mit einer speziellen Flagge kann der Benutzer die wiederholte Bestätigung von Vorgängen bei Verbindungen zu demselben Host deaktivieren. Um DDoS-Angriffe zu verhindern, wird die Häufigkeit der Anfragen über Raw Sockets limitiert, und das Senden von Anfragen ist erst nach der Interaktion des Benutzers mit der Seite möglich. UDP-Pakete von nicht genehmigten Hosts werden ignoriert und erreichen die Webanwendung nicht.
Die anfängliche Implementierung sieht keine Erstellung von hörenden Sockets vor, jedoch ist in Zukunft eine Bereitstellung von Aufrufen zum Empfang eingehender Verbindungen von localhost oder einer Liste bekannter Hosts nicht ausgeschlossen. Zudem wird der Bedarf an Schutz vor "» (Der Angreifer kann auf DNS-Ebene die IP-Adresse für den genehmigten Domainnamen ändern und auf andere Hosts zugreifen). Der Zugang zu Domains, die in 127.0.0.0/8 aufgelöst werden, sowie zu Intranets wird voraussichtlich blockiert (Zugriffe auf localhost sollen nur bei expliziter Eingabe der IP-Adresse in dem Bestätigungsformular erlaubt werden).
Zu den Risiken, die bei der Implementierung einer neuen API auftreten können, gehört die mögliche Ablehnung durch andere Browserhersteller, was zu Kompatibilitätsproblemen führen könnte. Die Entwickler der Engines Mozilla Gecko und WebKit haben bislang zu einer möglichen Implementierung der Raw Sockets API, aber Mozilla hatte zuvor bereits für das Projekt Firefox OS (B2G) eine . Im Falle der Genehmigung der Raw Sockets API in der ersten Phase wird diese zunächst in Chrome OS aktiviert und später den Chrome-Nutzern in anderen Systemen angeboten.
Web-Entwickler Es gab Rückmeldungen zu der neuen API und es wurden viele innovative Ideen zur Anwendung in Bereichen geäußert, in denen die APIs XMLHttpRequest, WebSocket und WebRTC nicht ausreichen (von der Erstellung von Browser-Clients für SSH, RDP, IMAP, SMTP, IRC und Druckprotokolle bis hin zur Entwicklung verteilter P2P-Systeme mit DHT (Distributed Hash Table), Unterstützung von IPFS und der Interaktion mit spezifischen IoT-Protokollen).
Quelle: opennet.ru
