Ένα API για απευθείας επικοινωνίες TCP και UDP αναπτύσσεται για το Chrome

Google ξεκίνησε για να εφαρμόσετε ένα νέο API στο Chrome Πρώτες πρίζες, το οποίο επιτρέπει στις εφαρμογές Ιστού να δημιουργούν απευθείας συνδέσεις δικτύου χρησιμοποιώντας τα πρωτόκολλα TCP και UDP. Το 2015, η κοινοπραξία του W3C προσπάθησε ήδη να τυποποιήσει το API "Υποδοχή TCP και UDP», αλλά τα μέλη της ομάδας εργασίας δεν κατέληξαν σε συναίνεση και η ανάπτυξη αυτού του API σταμάτησε.

Η ανάγκη προσθήκης ενός νέου API εξηγείται με την παροχή της δυνατότητας αλληλεπίδρασης με συσκευές δικτύου που χρησιμοποιούν εγγενή πρωτόκολλα που εκτελούνται πάνω από το TCP και το UDP και δεν υποστηρίζουν επικοινωνία μέσω HTTPS ή WebSockets. Σημειώνεται ότι το Raw Sockets API θα συμπληρώσει τις διεπαφές προγραμματισμού χαμηλού επιπέδου WebUSB, WebMIDI και WebBluetooth που είναι ήδη διαθέσιμες στο πρόγραμμα περιήγησης, οι οποίες επιτρέπουν την αλληλεπίδραση με τοπικές συσκευές.

Για την αποφυγή αρνητικών επιπτώσεων στην ασφάλεια, το Raw Sockets API θα επιτρέπει μόνο κλήσεις δικτύου που ξεκινούν με τη συγκατάθεση του χρήστη και περιορίζονται στη λίστα των κεντρικών υπολογιστών που επιτρέπονται από τον χρήστη. Ο χρήστης θα πρέπει να επιβεβαιώσει ρητά την πρώτη προσπάθεια σύνδεσης για το νέο κεντρικό υπολογιστή. Χρησιμοποιώντας μια ειδική σημαία, ο χρήστης μπορεί να απενεργοποιήσει την εμφάνιση επαναλαμβανόμενων αιτημάτων επιβεβαίωσης λειτουργίας για επαναλαμβανόμενες συνδέσεις στον ίδιο κεντρικό υπολογιστή. Για την αποτροπή επιθέσεων DDoS, η ένταση των αιτημάτων μέσω Raw Sockets θα είναι περιορισμένη και η αποστολή αιτημάτων θα είναι δυνατή μόνο μετά την αλληλεπίδραση του χρήστη με τη σελίδα. Τα πακέτα UDP που λαμβάνονται από κεντρικούς υπολογιστές που δεν έχουν εγκριθεί από τον χρήστη θα αγνοηθούν και δεν θα φτάσουν στην εφαρμογή Ιστού.

Η αρχική υλοποίηση δεν προβλέπει τη δημιουργία υποδοχών ακρόασης, αλλά στο μέλλον είναι δυνατή η παροχή κλήσεων για αποδοχή εισερχόμενων συνδέσεων από τον localhost ή μια λίστα γνωστών κεντρικών υπολογιστών. Αναφέρεται επίσης η ανάγκη προστασίας από επιθέσεις».Επανασύνδεση DNS"(ένας εισβολέας μπορεί να αλλάξει τη διεύθυνση IP για ένα όνομα τομέα εγκεκριμένο από τον χρήστη σε επίπεδο DNS και να αποκτήσει πρόσβαση σε άλλους κεντρικούς υπολογιστές). Σχεδιάζεται να αποκλειστεί η πρόσβαση σε τομείς που επιλύουν σε 127.0.0.0/8 και σε δίκτυα intranet (προτείνεται να επιτρέπεται η πρόσβαση σε localhost μόνο εάν η διεύθυνση IP έχει εισαχθεί ρητά στη φόρμα επιβεβαίωσης).

Μεταξύ των κινδύνων που μπορεί να προκύψουν κατά την εφαρμογή ενός νέου API είναι η πιθανή απόρριψή του από κατασκευαστές άλλων προγραμμάτων περιήγησης, κάτι που θα μπορούσε να οδηγήσει σε προβλήματα συμβατότητας. Οι προγραμματιστές των μηχανών Mozilla Gecko και WebKit είναι ακόμα δεν λειτούργησε τη θέση της σχετικά με την πιθανή υλοποίηση του Raw Sockets API, αλλά η Mozilla είχε προηγουμένως προτείνει για το έργο Firefox OS (B2G) παρόμοιο API. Εάν εγκριθεί στο πρώτο στάδιο, το Raw Sockets API σχεδιάζεται να ενεργοποιηθεί στο Chrome OS και μόνο τότε να προσφερθεί στους χρήστες του Chrome σε άλλα συστήματα.

προγραμματιστές Ιστού θετικώς ανταποκρίθηκε στο νέο API και εξέφρασε πολλές νέες ιδέες σχετικά με την εφαρμογή του σε τομείς όπου τα API XMLHttpRequest, WebSocket και WebRTC δεν επαρκούν (από τη δημιουργία προγραμμάτων-πελατών προγράμματος περιήγησης για SSH, RDP, IMAP, SMTP, IRC και πρωτόκολλα εκτύπωσης έως την ανάπτυξη κατανεμημένων συστημάτων P2P με DHT (Distributed Hash Table), υποστήριξη IPFS και αλληλεπίδραση με συγκεκριμένα πρωτόκολλα συσκευών IoT).

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο