Η Google δικαιολογεί τον περιορισμό του webRequest API που χρησιμοποιείται από προγράμματα αποκλεισμού διαφημίσεων

Προγραμματιστές προγράμματος περιήγησης Chrome προσπάθησε να αποδεικνύω διακοπή της υποστήριξης για τον τρόπο λειτουργίας αποκλεισμού του webRequest API, το οποίο σας επιτρέπει να αλλάζετε το λαμβανόμενο περιεχόμενο εν κινήσει και χρησιμοποιείται ενεργά σε πρόσθετα για τον αποκλεισμό διαφημίσεων,
προστασία από κακόβουλο λογισμικό, phishing, κατασκοπεία στη δραστηριότητα των χρηστών, γονικούς ελέγχους και ιδιωτικότητα.

Τα κίνητρα της Google:

  • Λειτουργία αποκλεισμού API webRequest οδηγεί σε υψηλή κατανάλωση πόρων.
    Όταν χρησιμοποιείτε αυτό το API, το πρόγραμμα περιήγησης στέλνει πρώτα στο πρόσθετο όλα τα δεδομένα που περιέχονται στο αίτημα δικτύου, το πρόσθετο το αναλύει και επιστρέφει μια τροποποιημένη έκδοση για περαιτέρω επεξεργασία στο πρόγραμμα περιήγησης ή εκδίδει οδηγίες αποκλεισμού. Σε αυτήν την περίπτωση, οι κύριες καθυστερήσεις δεν προκύπτουν στο στάδιο της επεξεργασίας της κυκλοφορίας από το πρόσθετο, αλλά λόγω του γενικού κόστους του συντονισμού της εκτέλεσης του πρόσθετου. Ειδικότερα, τέτοιοι χειρισμοί απαιτούν την έναρξη μιας χωριστής διαδικασίας για συμπλήρωση, καθώς και τη χρήση IPC για αλληλεπίδραση με αυτή τη διαδικασία και τους μηχανισμούς σειριοποίησης δεδομένων.

  • Το πρόσθετο ελέγχει πλήρως όλη την επισκεψιμότητα σε χαμηλό επίπεδο, γεγονός που ανοίγει τεράστιες ευκαιρίες για κατάχρηση και παραβιάσεις απορρήτου. Σύμφωνα με στατιστικά στοιχεία της Google, το 42% όλων των κακόβουλων πρόσθετων που εντοπίστηκαν χρησιμοποιούσαν το webRequest API. Σημειώνεται ότι κάθε μήνα, απόπειρες τοποθέτησης κατά μέσο όρο 1800 κακόβουλων πρόσθετων αποκλείονται στον κατάλογο του Chrome Web Store. Δυστυχώς, η αναθεώρηση δεν μας επιτρέπει να συλλάβουμε όλα τα κακόβουλα πρόσθετα χωρίς εξαίρεση, επομένως για να ενισχυθεί η προστασία, αποφασίστηκε να περιοριστούν τα πρόσθετα σε επίπεδο API. Η κύρια ιδέα είναι να παρέχουμε πρόσθετα με πρόσβαση όχι σε όλη την επισκεψιμότητα, αλλά μόνο στα δεδομένα που είναι απαραίτητα για την υλοποίηση της προβλεπόμενης λειτουργικότητας. Ειδικότερα, για τον αποκλεισμό περιεχομένου, δεν είναι απαραίτητο να δοθεί στο πρόσθετο πλήρης πρόσβαση σε όλα τα εμπιστευτικά δεδομένα χρήστη.
  • Προτεινόμενο δηλωτικό API αντικατάστασης declarativeNetRequest φροντίζει για όλη τη δουλειά του φιλτραρίσματος περιεχομένου υψηλής απόδοσης και απαιτεί μόνο πρόσθετα για τη φόρτωση κανόνων φιλτραρίσματος. Το πρόσθετο δεν μπορεί να παρεμβαίνει στην κυκλοφορία και τα προσωπικά δεδομένα του χρήστη παραμένουν απαραβίαστα.
  • Η Google έλαβε υπόψη πολλά από τα σχόλια σχετικά με την έλλειψη λειτουργικότητας του API declarativeNetRequest και επέκτεινε το όριο στον αριθμό των κανόνων φιλτραρίσματος από τις αρχικά προτεινόμενες 30 χιλιάδες ανά επέκταση σε παγκόσμιο μέγιστο 150 χιλιάδες, και πρόσθεσε επίσης τη δυνατότητα δυναμικής αλλαγή και προσθήκη κανόνων, αφαίρεση και αντικατάσταση κεφαλίδων HTTP ( Referer, Cookie, Set-Cookie) και παραμέτρων αιτήματος.
  • Για τις επιχειρήσεις, είναι δυνατή η χρήση του τρόπου λειτουργίας αποκλεισμού του webRequest API, καθώς η πολιτική για τη χρήση πρόσθετων καθορίζεται από έναν διαχειριστή που κατανοεί τις δυνατότητες της υποδομής και γνωρίζει τους κινδύνους. Για παράδειγμα, το καθορισμένο API μπορεί να χρησιμοποιηθεί σε επιχειρήσεις για την καταγραφή των ροών κίνησης των εργαζομένων και την ενοποίηση με εσωτερικά συστήματα.
  • Στόχος της Google δεν είναι να υπονομεύσει ή να καταστείλει τα πρόσθετα αποκλεισμού διαφημίσεων, αλλά να επιτρέψει τη δημιουργία ασφαλέστερων και ισχυρότερων προγραμμάτων αποκλεισμού διαφημίσεων.
  • Η απροθυμία να εγκαταλείψουμε τον τρόπο λειτουργίας αποκλεισμού του webRequest API μαζί με το νέο declarativeNetRequest εξηγείται από την επιθυμία περιορισμού της πρόσβασης των πρόσθετων σε εμπιστευτικά δεδομένα. Εάν αφήσετε το webRequest API ως έχει, τα περισσότερα πρόσθετα δεν θα χρησιμοποιούν το πιο ασφαλές declarativeNetRequest, καθώς όταν επιλέγουν μεταξύ ασφάλειας και λειτουργικότητας, οι περισσότεροι προγραμματιστές συνήθως επιλέγουν λειτουργικότητα.

αντιρρήσεις προγραμματιστές προσθήκες:

  • Διενεργείται από προγραμματιστές πρόσθετων δοκιμές δείχνουν έναν ασήμαντο συνολικό αντίκτυπο στην απόδοση των πρόσθετων αποκλεισμού διαφημίσεων (κατά τη διάρκεια της δοκιμής, συγκρίθηκε η απόδοση διαφόρων πρόσθετων, αλλά χωρίς να ληφθεί υπόψη η επιβάρυνση μιας πρόσθετης διαδικασίας που συντονίζει την εκτέλεση των χειριστών στη λειτουργία αποκλεισμού το webRequest API)·
  • Δεν είναι πρακτικό να σταματήσετε εντελώς την υποστήριξη ενός API που χρησιμοποιείται ενεργά σε πρόσθετα. Αντί να το αφαιρέσετε, μπορείτε να προσθέσετε μια ξεχωριστή άδεια και να ελέγχετε αυστηρά την επάρκεια της χρήσης της σε πρόσθετα, κάτι που θα γλιτώσει τους δημιουργούς πολλών δημοφιλών πρόσθετων από την πλήρη επανεπεξεργασία των προϊόντων τους και θα αποφύγει την περικοπή της λειτουργικότητας.
  • Για να μειώσετε τα γενικά έξοδα, δεν μπορείτε να διαγράψετε το API, αλλά να το επαναλάβετε βάσει του μηχανισμού Promise, παρόμοιο με την υλοποίηση του webRequest στον Firefox.
  • Η προτεινόμενη εναλλακτική, declarativeNetRequest, δεν καλύπτει όλες τις ανάγκες των προγραμματιστών πρόσθετων για αποκλεισμό διαφημίσεων και ασφάλεια/απόρρητο, καθώς δεν παρέχει πλήρη έλεγχο των αιτημάτων δικτύου, δεν επιτρέπει τη χρήση προσαρμοσμένων αλγορίθμων φιλτραρίσματος και δεν επιτρέπει τη χρήση πολύπλοκων κανόνων που αλληλοεπικαλύπτονται ανάλογα με τις συνθήκες·
  • Με την τρέχουσα κατάσταση του API declarativeNetRequest, είναι αδύνατο να αναδημιουργηθεί η υπάρχουσα λειτουργικότητα των πρόσθετων uBlock Origin και uMatrix αμετάβλητη, και επίσης καθιστά άσκοπη την περαιτέρω ανάπτυξη μιας θύρας NoScript για το Chrome.
  • Οι ανησυχίες σχετικά με το απόρρητο είναι τραβηγμένες, καθώς η λειτουργία μόνο για ανάγνωση, μη αποκλεισμού του webRequest API παραμένει στη θέση της και εξακολουθεί να επιτρέπει σε κακόβουλα πρόσθετα να ελέγχουν όλη την κυκλοφορία, αλλά δεν παρέχει τη δυνατότητα παρέμβασης σε αυτήν στο fly (αλλάξτε το περιεχόμενο, τοποθετήστε τις διαφημίσεις σας, εκτελέστε miners και αναλύστε τα περιεχόμενα των φορμών εισαγωγής μπορούν να χρησιμοποιηθούν αφού ολοκληρωθεί η φόρτωση της σελίδας).
  • Προγραμματιστές προγράμματος περιήγησης Γενναίος, Opera и Vivaldi, που βασίζεται στη μηχανή Chromium, σκοπεύουν να αφήσουν υποστήριξη για τη λειτουργία αποκλεισμού webRequest στα προϊόντα τους.

Πηγή: opennet.ru

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