Rilis Chrome 90

Google telah meluncurkan rilis browser web Chrome 90. Pada saat yang sama, rilis stabil proyek Chromium gratis, yang menjadi dasar Chrome, juga tersedia. Browser Chrome dibedakan berdasarkan penggunaan logo Google, hadirnya sistem pengiriman notifikasi jika terjadi crash, modul untuk memutar konten video yang dilindungi (DRM), sistem untuk menginstal pembaruan secara otomatis, dan mentransmisikan parameter RLZ saat mencari. Rilis Chrome 91 berikutnya dijadwalkan pada 25 Mei.

Perubahan penting di Chrome 90:

  • Semua pengguna diaktifkan untuk membuka situs melalui HTTPS secara default saat mengetikkan nama host di bilah alamat. Misalnya, saat Anda masuk ke host example.com, situs https://example.com akan dibuka secara default, dan jika timbul masalah saat membuka, maka akan dikembalikan ke http://example.com. Untuk mengontrol penggunaan “https://” default, pengaturan “chrome://flags#omnibox-default-typed-navigations-to-https” diusulkan.
  • Sekarang dimungkinkan untuk menetapkan label berbeda ke jendela untuk memisahkannya secara visual di panel desktop. Dukungan untuk mengubah nama jendela akan menyederhanakan pengorganisasian pekerjaan saat menggunakan jendela browser terpisah untuk berbagai tugas, misalnya, saat membuka jendela terpisah untuk tugas pekerjaan, minat pribadi, hiburan, materi yang ditangguhkan, dll. Nama diubah melalui item “Tambahkan judul jendela” di menu konteks yang muncul saat Anda mengklik kanan pada area kosong di bilah tab. Setelah mengubah nama di panel aplikasi, alih-alih nama situs dari tab aktif, nama yang dipilih akan ditampilkan, yang dapat berguna saat membuka situs yang sama di jendela berbeda yang ditautkan ke akun terpisah. Pengikatan dipertahankan antar sesi dan setelah restart, jendela akan dipulihkan dengan nama yang dipilih.
    Rilis Chrome 90
  • Menambahkan kemampuan untuk menyembunyikan “Daftar Bacaan” tanpa harus mengubah pengaturan di “chrome://flags” (“chrome://flags#read-later”). Untuk menyembunyikannya, Anda sekarang dapat menggunakan opsi “Tampilkan Daftar Bacaan” di bagian bawah menu konteks yang ditampilkan saat Anda mengklik kanan pada bilah bookmark. Izinkan kami mengingatkan Anda bahwa pada rilis terakhir, ketika beberapa pengguna mengklik tanda bintang di bilah alamat, selain tombol “Tambahkan bookmark”, tombol kedua “Tambahkan ke daftar bacaan” muncul, dan di sudut kanan layar. panel bookmark menu "Daftar bacaan" muncul, yang mencantumkan semua halaman yang sebelumnya ditambahkan ke daftar. Saat Anda membuka halaman dari daftar, halaman itu ditandai sebagai telah dibaca. Halaman dalam daftar juga dapat ditandai secara manual sebagai telah dibaca atau belum dibaca, atau dihapus dari daftar.
  • Menambahkan dukungan untuk segmentasi jaringan untuk melindungi terhadap metode pelacakan pergerakan pengguna antar situs berdasarkan penyimpanan pengidentifikasi di area yang tidak dimaksudkan untuk penyimpanan informasi permanen (“Supercookie”). Karena sumber daya yang di-cache disimpan dalam namespace umum, apa pun domain asalnya, satu situs dapat menentukan bahwa situs lain sedang memuat sumber daya dengan memeriksa apakah sumber daya tersebut ada dalam cache. Perlindungan ini didasarkan pada penggunaan segmentasi jaringan (Network Partitioning), yang intinya adalah menambahkan pengikatan catatan tambahan ke cache bersama ke domain tempat halaman utama dibuka, yang membatasi cakupan cache untuk skrip pelacakan pergerakan saja ke situs saat ini (skrip dari iframe tidak akan dapat memeriksa apakah sumber daya diunduh dari situs lain). Harga dari segmentasi adalah penurunan efisiensi caching, yang menyebabkan sedikit peningkatan waktu buka halaman (maksimum sebesar 1.32%, tetapi untuk 80% situs sebesar 0.09-0.75%).
  • Daftar hitam port jaringan yang mengirim permintaan HTTP, HTTPS dan FTP diblokir telah diisi ulang untuk melindungi terhadap serangan slipstreaming NAT, yang memungkinkan, ketika membuka halaman web yang disiapkan khusus oleh penyerang di browser, untuk membangun jaringan koneksi dari server penyerang ke port UDP atau TCP mana pun di sistem pengguna, meskipun menggunakan rentang alamat internal (192.168.xx, 10.xxx). Menambahkan 554 (protokol RTSP) dan 10080 (digunakan dalam cadangan Amanda dan VMWare vCenter) ke daftar port terlarang. Sebelumnya port 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 dan 6566 sudah diblokir.
  • Menambahkan dukungan awal untuk membuka dokumen PDF dengan formulir XFA di browser.
  • Untuk beberapa pengguna, bagian pengaturan baru “Pengaturan Chrome > Privasi dan keamanan > Kotak pasir privasi” telah diaktifkan, yang memungkinkan Anda mengelola parameter API FLoC, yang bertujuan untuk menentukan kategori minat pengguna tanpa identifikasi individu dan tanpa referensi ke sejarah mengunjungi situs tertentu.
  • Pemberitahuan yang lebih jelas dengan daftar tindakan yang diizinkan kini ditampilkan saat pengguna terhubung ke profil yang manajemen terpusatnya diaktifkan.
  • Membuat antarmuka permintaan izin tidak terlalu mengganggu. Permintaan yang kemungkinan besar tidak disetujui oleh pengguna kini diblokir secara otomatis dengan indikator terkait ditampilkan di bilah alamat, yang dengannya pengguna dapat membuka antarmuka untuk mengelola izin per situs.
    Rilis Chrome 90
  • Dukungan untuk ekstensi Intel CET (Intel Control-flow Enforcement Technology) disertakan untuk perlindungan perangkat keras terhadap eksploitasi yang dibuat menggunakan teknik pemrograman berorientasi kembali (ROP, Return-Oriented Programming).
  • Pekerjaan terus dilakukan untuk mentransisikan browser agar menggunakan terminologi inklusif. File "master_preferences" telah diubah namanya menjadi "initial_preferences" untuk menghindari menyakiti perasaan pengguna yang menganggap kata "master" sebagai petunjuk tentang perbudakan nenek moyang mereka sebelumnya. Untuk menjaga kompatibilitas, dukungan untuk “master_preferences” akan tetap ada di browser untuk beberapa waktu. Sebelumnya, browser sudah menghilangkan penggunaan kata “whitelist”, “blacklist” dan “native”.
  • Di versi Android, ketika mode hemat lalu lintas “Lite” diaktifkan, bitrate berkurang saat mengunduh video saat terhubung melalui jaringan operator seluler, yang akan mengurangi biaya bagi pengguna yang mengaktifkan tarif berbasis lalu lintas. Mode “Lite” juga menyediakan kompresi gambar yang diminta dari sumber daya yang tersedia untuk umum (tidak memerlukan otentikasi) melalui HTTPS.
  • Menambahkan encoder format video AV1, yang dioptimalkan secara khusus untuk digunakan dalam konferensi video berdasarkan protokol WebRTC. Penggunaan AV1 dalam konferensi video memungkinkan peningkatan efisiensi kompresi dan menyediakan kemampuan siaran pada saluran dengan bandwidth 30 kbit/detik.
  • Dalam JavaScript, objek Array, String, dan TypedArrays mengimplementasikan metode at(), yang memungkinkan Anda menggunakan pengindeksan relatif (posisi relatif ditentukan sebagai indeks array), termasuk menentukan nilai negatif relatif terhadap akhir (misalnya, "arr.at(-1)" akan mengembalikan elemen terakhir array).
  • JavaScript telah menambahkan properti “.indices” untuk ekspresi reguler, yang berisi array dengan posisi awal dan akhir dari kelompok kecocokan. Properti ini diisi hanya ketika ekspresi reguler dijalankan dengan tanda "/d". konstanta ulang = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — semua grup kecocokan // → [0, 2] console.log(m.indices[1]); // 1 adalah grup pertandingan pertama // → [0, 1] console.log(m.indices[2]); // 2 - pertandingan grup kedua // → [1, 2]
  • Performa properti “super” (misalnya, super.x) yang mengaktifkan cache inline telah dioptimalkan. Performa penggunaan "super" kini mendekati performa mengakses properti biasa.
  • Memanggil fungsi WebAssembly dari JavaScript telah dipercepat secara signifikan karena penggunaan penerapan inline. Pengoptimalan ini masih bersifat eksperimental untuk saat ini dan perlu dijalankan dengan tanda “-turbo-inline-js-wasm-calls”.
  • Menambahkan API Penginderaan Kedalaman WebXR, yang memungkinkan Anda menentukan jarak antara objek di lingkungan pengguna dan perangkat pengguna, misalnya, untuk membuat aplikasi augmented reality yang lebih realistis. Izinkan kami mengingatkan Anda bahwa WebXR API memungkinkan Anda menyatukan pekerjaan dengan berbagai kelas perangkat realitas virtual, mulai dari helm 3D stasioner hingga solusi berbasis perangkat seluler.
  • Fitur Estimasi Pencahayaan AR WebXR telah distabilkan, memungkinkan sesi AR WebXR menentukan parameter pencahayaan sekitar untuk memberikan model tampilan yang lebih alami dan integrasi yang lebih baik dengan lingkungan pengguna.
  • Mode Uji Coba Asal (fitur eksperimental yang memerlukan aktivasi terpisah) menambahkan beberapa API baru yang saat ini terbatas pada platform Android. Uji Coba Asal menyiratkan kemampuan untuk bekerja dengan API tertentu dari aplikasi yang diunduh dari localhost atau 127.0.0.1, atau setelah mendaftar dan menerima token khusus yang berlaku untuk waktu terbatas untuk situs tertentu.
    • Metode getCurrentBrowsingContextMedia(), yang memungkinkan pengambilan aliran video MediaStream yang mencerminkan konten tab saat ini. Berbeda dengan metode getDisplayMedia() yang serupa, saat memanggil getCurrentBrowsingContextMedia(), dialog sederhana disajikan kepada pengguna untuk mengonfirmasi atau memblokir operasi transfer video dengan konten tab.
    • API Aliran yang Dapat Disisipkan, yang memungkinkan Anda memanipulasi aliran media mentah yang dikirimkan melalui API MediaStreamTrack, seperti data kamera dan mikrofon, hasil tangkapan layar, atau data decoding codec perantara. Antarmuka WebCodec digunakan untuk menyajikan bingkai mentah dan aliran dihasilkan serupa dengan apa yang dihasilkan WebRTC Insertable Streams API berdasarkan RTCPeerConnections. Di sisi praktis, API baru ini memungkinkan fungsionalitas seperti menerapkan teknik pembelajaran mesin untuk mengidentifikasi atau membuat anotasi objek secara real-time, atau menambahkan efek seperti kliping latar belakang sebelum pengkodean atau setelah decoding dengan codec.
    • Kemampuan untuk mengemas sumber daya ke dalam paket (Web Bundle) untuk mengatur pemuatan sejumlah besar file yang menyertainya secara lebih efisien (gaya CSS, JavaScript, gambar, iframe). Di antara kekurangan dalam dukungan yang ada untuk paket file JavaScript (webpack), yang coba dihilangkan oleh Web Bundle: paket itu sendiri, tetapi bukan bagian komponennya, dapat berakhir di cache HTTP; kompilasi dan eksekusi hanya dapat dimulai setelah paket diunduh sepenuhnya; Sumber daya tambahan seperti CSS dan gambar harus dikodekan dalam bentuk string JavaScript, yang meningkatkan ukuran dan memerlukan langkah penguraian lainnya.
    • Dukungan untuk penanganan pengecualian di WebAssembly.
  • Menstabilkan API Shadow DOM Deklaratif untuk membuat cabang akar baru di Shadow DOM, misalnya untuk memisahkan gaya elemen pihak ketiga yang diimpor dan subcabang DOM terkait dari dokumen utama. API deklaratif yang diusulkan memungkinkan Anda hanya menggunakan HTML untuk melepas pin cabang DOM tanpa perlu menulis kode JavaScript.
  • Properti CSS rasio aspek, yang memungkinkan Anda untuk secara eksplisit mengikat rasio aspek ke elemen apa pun (untuk secara otomatis menghitung ukuran yang hilang ketika hanya menentukan tinggi atau lebar), mengimplementasikan kemampuan untuk menginterpolasi nilai selama animasi (transisi mulus dari satu rasio aspek ke yang lain).
  • Menambahkan kemampuan untuk mencerminkan keadaan elemen HTML khusus dalam CSS melalui kelas semu “:state()”. Fungsionalitas tersebut diimplementasikan dengan analogi dengan kemampuan elemen HTML standar untuk mengubah statusnya bergantung pada interaksi pengguna.
  • Properti CSS "penampilan" sekarang mendukung nilai 'otomatis', yang ditetapkan secara default untuk Dan , dan pada platform Android juga untuk , , , Dan .
  • Dukungan untuk nilai "klip" telah ditambahkan ke properti CSS "overflow", ketika disetel, konten yang melampaui blok akan terpotong hingga batas luapan yang diizinkan blok tanpa kemungkinan untuk digulir. Nilai yang menentukan seberapa jauh konten dapat melampaui batas sebenarnya dari kotak sebelum kliping dimulai diatur melalui properti CSS baru "overflow-clip-margin". Dibandingkan dengan "overflow: tersembunyi", penggunaan "overflow: clip" memungkinkan kinerja yang lebih baik.
    Rilis Chrome 90Rilis Chrome 90
  • Header HTTP Kebijakan Fitur telah diganti dengan header Kebijakan Izin baru untuk mengontrol delegasi izin dan pengaktifan fitur lanjutan, yang mencakup dukungan untuk nilai bidang terstruktur (misalnya, Anda sekarang dapat menentukan "Kebijakan Izin: geolokasi =()" alih-alih "Fitur- Kebijakan: geolokasi 'tidak ada'").
  • Memperkuat perlindungan terhadap penggunaan Protocol Buffer untuk serangan yang disebabkan oleh eksekusi instruksi spekulatif pada prosesor. Perlindungan diterapkan dengan menambahkan tipe MIME “application/x-protobuffer” ke daftar tipe MIME yang tidak pernah diendus, yang diproses melalui mekanisme Cross-Origin-Read-Blocking. Sebelumnya, tipe MIME “application/x-protobuf” sudah disertakan dalam daftar serupa, tetapi “application/x-protobuffer” tidak disertakan.
  • API Akses Sistem File mengimplementasikan kemampuan untuk menggeser posisi saat ini dalam file melampaui akhirnya, mengisi celah yang dihasilkan dengan angka nol selama penulisan berikutnya melalui panggilan FileSystemWritableFileStream.write(). Fitur ini memungkinkan Anda membuat file yang jarang dengan ruang kosong dan secara signifikan menyederhanakan pengorganisasian penulisan ke aliran file dengan kedatangan blok data yang tidak berurutan (misalnya, ini dipraktikkan di BitTorrent).
  • Menambahkan konstruktor StaticRange dengan implementasi tipe Range ringan yang tidak memerlukan pembaruan semua objek terkait setiap kali pohon DOM berubah.
  • Menerapkan kemampuan untuk menentukan parameter lebar dan tinggi untuk elemen ditentukan di dalam elemen . Fitur ini memungkinkan Anda menghitung rasio aspek elemen , dengan analogi dengan cara hal itu dilakukan , Dan .
  • Dukungan non-standar untuk Saluran Data RTP telah dihapus dari WebRTC, dan disarankan untuk menggunakan saluran data berbasis SCTP.
  • Properti navigator.plugins dan navigator.mimeTypes sekarang selalu mengembalikan nilai kosong (setelah dukungan Flash berakhir, properti ini tidak lagi diperlukan).
  • Sebagian besar perbaikan kecil telah dilakukan pada alat untuk pengembang web dan alat debugging CSS baru, flexbox, telah ditambahkan.
    Rilis Chrome 90

Selain inovasi dan perbaikan bug, versi baru ini menghilangkan 37 kerentanan. Banyak kerentanan yang diidentifikasi sebagai hasil pengujian otomatis menggunakan alat AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer, dan AFL. Tidak ada masalah kritis yang teridentifikasi yang memungkinkan seseorang melewati semua tingkat perlindungan browser dan mengeksekusi kode pada sistem di luar lingkungan sandbox. Sebagai bagian dari program hadiah uang tunai untuk menemukan kerentanan pada rilis saat ini, Google membayar 19 penghargaan senilai $54000 (satu penghargaan $20000, satu penghargaan $10000, dua penghargaan $5000, tiga penghargaan $3000, satu penghargaan $2000, satu penghargaan $1000, dan empat penghargaan $500 ). ). Besaran 6 hadiah belum ditentukan.

Secara terpisah, dapat dicatat bahwa kemarin, setelah pembentukan rilis korektif 89.0.4389.128, tetapi sebelum rilis Chrome 90, eksploitasi lain diterbitkan, yang menggunakan kerentanan 0 hari baru yang tidak diperbaiki di Chrome 89.0.4389.128 . Belum jelas apakah masalah ini telah diperbaiki di Chrome 90. Seperti pada kasus pertama, eksploitasi hanya mencakup satu kerentanan dan tidak berisi kode untuk melewati isolasi kotak pasir (saat menjalankan Chrome dengan tanda “--no-sandbox” , eksploitasi terjadi ketika membuka halaman web pada platform Windows memungkinkan Anda menjalankan Notepad). Kerentanan yang terkait dengan eksploitasi baru mempengaruhi teknologi WebAssembly.

Sumber: opennet.ru

Tambah komentar