Bản phát hành Chrome 90

Google đã tiết lộ việc phát hành trình duyệt web Chrome 90. Đồng thời, đã có sẵn bản phát hành ổn định của dự án Chrome miễn phí, đóng vai trò là nền tảng của Chrome. Trình duyệt Chrome nổi bật nhờ việc sử dụng logo Google, sự hiện diện của hệ thống gửi thông báo trong trường hợp gặp sự cố, mô-đun phát nội dung video được bảo vệ (DRM), hệ thống tự động cài đặt các bản cập nhật và truyền thông số RLZ khi tìm kiếm. Bản phát hành tiếp theo của Chrome 91 được lên lịch vào ngày 25 tháng XNUMX.

Những thay đổi chính trong Chrome 90:

  • Theo mặc định, tất cả người dùng đều được phép mở trang web qua HTTPS khi nhập tên máy chủ vào thanh địa chỉ. Ví dụ: khi bạn nhập máy chủ example.com, trang https://example.com sẽ được mở theo mặc định và nếu có vấn đề phát sinh khi mở, nó sẽ được khôi phục về http://example.com. Để kiểm soát việc sử dụng “https://” mặc định, cài đặt “chrome://flags#omnibox-default-typed-navigations-to-https” được đề xuất.
  • Giờ đây, bạn có thể gán các nhãn khác nhau cho các cửa sổ để phân tách chúng một cách trực quan trong bảng điều khiển màn hình. Hỗ trợ thay đổi tên cửa sổ sẽ đơn giản hóa việc tổ chức công việc khi sử dụng các cửa sổ trình duyệt riêng biệt cho các tác vụ khác nhau, chẳng hạn như khi mở các cửa sổ riêng biệt cho các tác vụ công việc, sở thích cá nhân, giải trí, tài liệu tạm hoãn, v.v. Tên được thay đổi thông qua mục “Thêm tiêu đề cửa sổ” trong menu ngữ cảnh xuất hiện khi bạn nhấp chuột phải vào vùng trống trên thanh tab. Sau khi thay đổi tên trong bảng ứng dụng, thay vì tên trang web từ tab đang hoạt động, tên đã chọn sẽ được hiển thị, điều này có thể hữu ích khi mở cùng một trang web trong các cửa sổ khác nhau được liên kết với các tài khoản riêng biệt. Liên kết được duy trì giữa các phiên và sau khi khởi động lại, các cửa sổ sẽ được khôi phục với tên đã chọn.
    Bản phát hành Chrome 90
  • Đã thêm khả năng ẩn “Danh sách đọc” mà không cần phải thay đổi cài đặt trong “chrome://flags” (“chrome://flags#read-later”). Để ẩn, giờ đây bạn có thể sử dụng tùy chọn “Hiển thị danh sách đọc” ở cuối menu ngữ cảnh được hiển thị khi bạn nhấp chuột phải vào thanh dấu trang. Hãy để chúng tôi nhắc bạn rằng trong bản phát hành gần đây nhất, khi một số người dùng nhấp vào dấu hoa thị trên thanh địa chỉ, ngoài nút “Thêm dấu trang”, nút thứ hai “Thêm vào danh sách đọc” sẽ xuất hiện và ở góc bên phải của bảng điều khiển dấu trang, menu “Danh sách đọc” xuất hiện, liệt kê tất cả các trang trước đó đã được thêm vào danh sách. Khi bạn mở một trang từ danh sách, nó sẽ được đánh dấu là đã đọc. Các trang trong danh sách cũng có thể được đánh dấu thủ công là đã đọc hoặc chưa đọc hoặc xóa khỏi danh sách.
  • Đã thêm hỗ trợ cho phân đoạn mạng để bảo vệ chống lại các phương pháp theo dõi chuyển động của người dùng giữa các trang web dựa trên việc lưu trữ số nhận dạng trong các khu vực không dành cho việc lưu trữ thông tin vĩnh viễn (“Siêu cookie”). Bởi vì các tài nguyên được lưu trong bộ nhớ đệm được lưu trữ trong một không gian tên chung, bất kể miền gốc là gì, một trang web có thể xác định rằng một trang khác đang tải tài nguyên bằng cách kiểm tra xem tài nguyên đó có trong bộ nhớ đệm hay không. Việc bảo vệ dựa trên việc sử dụng phân đoạn mạng (Phân vùng mạng), bản chất của nó là thêm vào bộ đệm chia sẻ ràng buộc bổ sung của các bản ghi với miền mà trang chính được mở, điều này giới hạn phạm vi bộ đệm chỉ dành cho các tập lệnh theo dõi chuyển động đến trang hiện tại (tập lệnh từ iframe sẽ không thể kiểm tra xem tài nguyên có được tải xuống từ trang khác hay không). Cái giá của việc phân đoạn là giảm hiệu quả của bộ nhớ đệm, dẫn đến thời gian tải trang tăng nhẹ (tối đa là 1.32%, nhưng đối với 80% trang web là 0.09-0.75%).
  • Danh sách đen các cổng mạng gửi yêu cầu HTTP, HTTPS và FTP bị chặn đã được bổ sung để bảo vệ chống lại các cuộc tấn công trượt dòng NAT, cho phép, khi mở một trang web được kẻ tấn công chuẩn bị đặc biệt trong trình duyệt, có thể thiết lập mạng kết nối từ máy chủ của kẻ tấn công tới bất kỳ cổng UDP hoặc TCP nào trên hệ thống của người dùng, bất chấp việc sử dụng dải địa chỉ nội bộ (192.168.xx, 10.xxx). Đã thêm 554 (giao thức RTSP) và 10080 (được sử dụng trong bản sao lưu Amanda và VMWare vCenter) vào danh sách các cổng bị cấm. Trước đây, các cổng 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 và 6566 đã bị chặn.
  • Đã thêm hỗ trợ ban đầu để mở tài liệu PDF bằng biểu mẫu XFA trong trình duyệt.
  • Đối với một số người dùng, phần cài đặt mới “Cài đặt Chrome > Quyền riêng tư và bảo mật > Hộp cát bảo mật” đã được kích hoạt, cho phép bạn quản lý các tham số của API FLoC, nhằm xác định danh mục sở thích của người dùng mà không cần nhận dạng cá nhân và không cần tham chiếu đến lịch sử truy cập các trang web cụ thể.
  • Thông báo rõ ràng hơn với danh sách các hành động được phép hiện được hiển thị khi người dùng kết nối với hồ sơ đã bật tính năng quản lý tập trung.
  • Làm cho giao diện yêu cầu quyền ít xâm phạm hơn. Các yêu cầu mà người dùng có khả năng từ chối giờ đây sẽ tự động bị chặn bằng một chỉ báo tương ứng được hiển thị trên thanh địa chỉ, qua đó người dùng có thể chuyển đến giao diện để quản lý quyền trên cơ sở từng trang web.
    Bản phát hành Chrome 90
  • Hỗ trợ cho các tiện ích mở rộng Intel CET (Công nghệ thực thi luồng điều khiển Intel) được bao gồm để bảo vệ phần cứng chống lại các hoạt động khai thác được xây dựng bằng kỹ thuật lập trình hướng trả về (ROP, Lập trình hướng trả về).
  • Công việc tiếp tục chuyển đổi trình duyệt sang sử dụng thuật ngữ bao hàm. Tệp "master_preferences" đã được đổi tên thành "initial_preferences" để tránh làm tổn thương cảm xúc của những người dùng coi từ "master" như một gợi ý về chế độ nô lệ trước đây của tổ tiên họ. Để duy trì khả năng tương thích, hỗ trợ cho “master_preferences” sẽ vẫn còn trong trình duyệt trong một thời gian. Trước đây, trình duyệt đã loại bỏ việc sử dụng các từ “danh sách trắng”, “danh sách đen” và “gốc”.
  • Trong phiên bản Android, khi bật chế độ tiết kiệm lưu lượng “Lite”, tốc độ bit sẽ giảm khi tải xuống video khi được kết nối qua mạng của các nhà khai thác di động, điều này sẽ giảm chi phí cho những người dùng đã bật biểu giá dựa trên lưu lượng truy cập. Chế độ “Lite” cũng cung cấp khả năng nén hình ảnh được yêu cầu từ các tài nguyên có sẵn công khai (không yêu cầu xác thực) qua HTTPS.
  • Đã thêm bộ mã hóa định dạng video AV1, được tối ưu hóa đặc biệt để sử dụng trong hội nghị truyền hình dựa trên giao thức WebRTC. Việc sử dụng AV1 trong hội nghị truyền hình giúp tăng hiệu quả nén và cung cấp khả năng phát sóng trên các kênh có băng thông 30 kbit/giây.
  • Trong JavaScript, các đối tượng Array, String và TypedArrays triển khai phương thức at(), cho phép bạn sử dụng lập chỉ mục tương đối (vị trí tương đối được chỉ định làm chỉ mục mảng), bao gồm việc chỉ định các giá trị âm liên quan đến phần cuối (ví dụ: "arr.at(-1)" sẽ trả về phần tử cuối cùng của mảng).
  • JavaScript đã thêm thuộc tính “.indices” cho các biểu thức chính quy, chứa một mảng có vị trí bắt đầu và kết thúc của các nhóm khớp. Thuộc tính chỉ được điền khi thực thi biểu thức chính quy bằng cờ "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — tất cả các nhóm khớp // → [0, 2] console.log(m.indices[1]); // 1 là nhóm khớp đầu tiên // → [0, 1] console.log(m.indices[2]); // 2 - nhóm kết quả thứ hai // → [1, 2]
  • Hiệu suất của các thuộc tính “siêu” (ví dụ: super.x) được bật bộ nhớ đệm nội tuyến đã được tối ưu hóa. Hiệu suất sử dụng "super" hiện gần bằng hiệu suất truy cập các thuộc tính thông thường.
  • Việc gọi các hàm WebAssugging từ JavaScript đã được tăng tốc đáng kể nhờ sử dụng triển khai nội tuyến. Tính năng tối ưu hóa này hiện vẫn còn mang tính thử nghiệm và yêu cầu chạy với cờ “-turbo-inline-js-wasm-calls”.
  • Đã thêm API cảm biến độ sâu WebXR, cho phép bạn xác định khoảng cách giữa các đối tượng trong môi trường của người dùng và thiết bị của người dùng, chẳng hạn như để tạo các ứng dụng thực tế tăng cường thực tế hơn. Hãy để chúng tôi nhắc bạn rằng API WebXR cho phép bạn hợp nhất công việc với nhiều loại thiết bị thực tế ảo khác nhau, từ mũ bảo hiểm 3D cố định đến các giải pháp dựa trên thiết bị di động.
  • Tính năng Ước tính ánh sáng WebXR AR đã được ổn định, cho phép các phiên WebXR AR xác định các thông số ánh sáng xung quanh để mang lại cho mô hình vẻ ngoài tự nhiên hơn và tích hợp tốt hơn với môi trường của người dùng.
  • Chế độ Bản dùng thử gốc (các tính năng thử nghiệm yêu cầu kích hoạt riêng) bổ sung một số API mới hiện bị giới hạn ở nền tảng Android. Bản dùng thử gốc ngụ ý khả năng hoạt động với API được chỉ định từ các ứng dụng được tải xuống từ localhost hoặc 127.0.0.1 hoặc sau khi đăng ký và nhận mã thông báo đặc biệt có giá trị trong một thời gian giới hạn cho một trang web cụ thể.
    • Phương thức getCurrentBrowsingContextMedia() cho phép ghi lại luồng video MediaStream phản ánh nội dung của tab hiện tại. Không giống như phương thức getDisplayMedia() tương tự, khi gọi getCurrentBrowsingContextMedia(), một hộp thoại đơn giản sẽ hiển thị cho người dùng để xác nhận hoặc chặn hoạt động truyền video có nội dung của tab.
    • API luồng có thể chèn, cho phép bạn thao tác các luồng phương tiện thô được truyền qua API MediaStreamTrack, chẳng hạn như dữ liệu máy ảnh và micrô, kết quả chụp màn hình hoặc dữ liệu giải mã codec trung gian. Giao diện WebCodec được sử dụng để hiển thị các khung thô và một luồng được tạo tương tự như những gì API luồng có thể chèn WebRTC tạo ra dựa trên RTCPeerConnections. Về mặt thực tế, API mới cho phép thực hiện các chức năng như áp dụng kỹ thuật máy học để xác định hoặc chú thích các đối tượng trong thời gian thực hoặc thêm các hiệu ứng như cắt nền trước khi mã hóa hoặc sau khi giải mã bằng codec.
    • Khả năng đóng gói tài nguyên thành các gói (Web Bundle) để tổ chức tải hiệu quả hơn một số lượng lớn tệp đi kèm (kiểu CSS, JavaScript, hình ảnh, iframe). Trong số những thiếu sót trong khả năng hỗ trợ hiện có cho các gói dành cho tệp JavaScript (webpack) mà Web Bundle đang cố gắng loại bỏ: bản thân gói, chứ không phải các bộ phận cấu thành của nó, có thể nằm trong bộ đệm HTTP; quá trình biên dịch và thực thi chỉ có thể bắt đầu sau khi gói đã được tải xuống hoàn toàn; Các tài nguyên bổ sung như CSS và hình ảnh phải được mã hóa dưới dạng chuỗi JavaScript, điều này làm tăng kích thước và yêu cầu một bước phân tích cú pháp khác.
    • Hỗ trợ xử lý ngoại lệ trong WebAssembly.
  • Đã ổn định API Declarative Shadow DOM để tạo các nhánh gốc mới trong Shadow DOM, chẳng hạn như để tách kiểu phần tử của bên thứ ba đã nhập và nhánh con DOM được liên kết của nó khỏi tài liệu chính. API khai báo được đề xuất cho phép bạn chỉ sử dụng HTML để bỏ ghim các nhánh DOM mà không cần phải viết mã JavaScript.
  • Thuộc tính CSS tỷ lệ khung hình, cho phép bạn liên kết rõ ràng tỷ lệ khung hình với bất kỳ phần tử nào (để tự động tính toán kích thước bị thiếu khi chỉ chỉ định chiều cao hoặc chiều rộng), triển khai khả năng nội suy các giá trị trong quá trình hoạt ảnh (chuyển đổi mượt mà từ một tỷ lệ khung hình với tỷ lệ khung hình khác).
  • Đã thêm khả năng phản ánh trạng thái của các thành phần HTML tùy chỉnh trong CSS thông qua lớp giả “:state()”. Chức năng này được triển khai bằng cách tương tự với khả năng các phần tử HTML tiêu chuẩn thay đổi trạng thái của chúng tùy thuộc vào tương tác của người dùng.
  • "Giao diện" thuộc tính CSS hiện hỗ trợ giá trị 'tự động', được đặt theo mặc định cho Và và trên nền tảng Android bổ sung cho , , , Và .
  • Hỗ trợ cho giá trị “clip” đã được thêm vào thuộc tính CSS “tràn”, khi được đặt, nội dung vượt ra ngoài khối sẽ bị cắt đến giới hạn tràn cho phép của khối mà không có khả năng cuộn. Giá trị xác định khoảng cách nội dung có thể mở rộng ra ngoài đường viền thực tế của hộp trước khi bắt đầu cắt được đặt thông qua thuộc tính CSS mới "overflow-clip-margin". So với "tràn: ẩn", sử dụng "tràn: clip" cho phép hiệu suất tốt hơn.
    Bản phát hành Chrome 90Bản phát hành Chrome 90
  • Tiêu đề HTTP Chính sách tính năng đã được thay thế bằng tiêu đề Chính sách quyền mới để kiểm soát việc ủy ​​quyền và kích hoạt các tính năng nâng cao, bao gồm hỗ trợ cho các giá trị trường có cấu trúc (ví dụ: giờ đây bạn có thể chỉ định "Quyền-Chính sách: định vị địa lý =()" thay vì "Tính năng- Chính sách: định vị địa lý 'không'").
  • Tăng cường bảo vệ chống lại việc sử dụng Bộ đệm giao thức cho các cuộc tấn công do thực thi các hướng dẫn suy đoán trong bộ xử lý. Việc bảo vệ được triển khai bằng cách thêm loại MIME “application/x-protobuffer” vào danh sách các loại MIME không bao giờ bị đánh hơi, được xử lý thông qua cơ chế Cross-Origin-Read-Blocking. Trước đây, loại MIME “application/x-protobuf” đã được đưa vào danh sách tương tự, nhưng “application/x-protobuffer” đã bị loại bỏ.
  • API truy cập hệ thống tệp triển khai khả năng dịch chuyển vị trí hiện tại trong tệp ngoài phần cuối của tệp, lấp đầy khoảng trống kết quả bằng số XNUMX trong quá trình ghi tiếp theo thông qua lệnh gọi FileSystemWritableFileStream.write(). Tính năng này cho phép bạn tạo các tệp thưa thớt với khoảng trống và đơn giản hóa đáng kể việc tổ chức ghi vào luồng tệp với các khối dữ liệu đến không theo thứ tự (ví dụ: điều này được thực hiện trong BitTorrent).
  • Đã thêm hàm tạo StaticRange với việc triển khai các loại Phạm vi nhẹ không yêu cầu cập nhật tất cả các đối tượng liên quan mỗi khi cây DOM thay đổi.
  • Đã triển khai khả năng chỉ định tham số chiều rộng và chiều cao cho các phần tử được chỉ định bên trong phần tử . Tính năng này cho phép bạn tính tỷ lệ khung hình cho các phần tử , bằng cách tương tự với cách nó được thực hiện cho , Và .
  • Hỗ trợ không được chuẩn hóa cho Kênh dữ liệu RTP đã bị xóa khỏi WebRTC và thay vào đó, nên sử dụng các kênh dữ liệu dựa trên SCTP.
  • Các thuộc tính navigator.plugins và navigator.mimeTypes giờ đây luôn trả về giá trị trống (sau khi kết thúc hỗ trợ Flash, các thuộc tính này không còn cần thiết nữa).
  • Một phần lớn các cải tiến nhỏ đã được thực hiện đối với các công cụ dành cho nhà phát triển web và công cụ gỡ lỗi CSS mới, flexbox, đã được thêm vào.
    Bản phát hành Chrome 90

Ngoài những cải tiến và sửa lỗi, phiên bản mới còn loại bỏ 37 lỗ hổng. Nhiều lỗ hổng được xác định là kết quả của quá trình kiểm tra tự động bằng cách sử dụng các công cụ addressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer và AFL. Không có vấn đề nghiêm trọng nào được xác định có thể cho phép một người vượt qua tất cả các cấp độ bảo vệ của trình duyệt và thực thi mã trên hệ thống bên ngoài môi trường hộp cát. Là một phần của chương trình thưởng tiền mặt cho việc phát hiện các lỗ hổng cho bản phát hành hiện tại, Google đã trả 19 giải thưởng trị giá 54000 USD (một giải thưởng 20000 USD, một giải thưởng 10000 USD, hai giải thưởng 5000 USD, ba giải thưởng 3000 USD, một giải thưởng 2000 USD, một giải thưởng 1000 USD và bốn giải thưởng 500 USD). ). ). Quy mô của 6 phần thưởng vẫn chưa được xác định.

Riêng biệt, có thể lưu ý rằng ngày hôm qua, sau khi hình thành bản phát hành khắc phục 89.0.4389.128, nhưng trước khi phát hành Chrome 90, một khai thác khác đã được xuất bản, sử dụng lỗ hổng 0 ngày mới chưa được sửa trong Chrome 89.0.4389.128 . Vẫn chưa rõ liệu sự cố này đã được khắc phục trong Chrome 90 hay chưa. Như trong trường hợp đầu tiên, việc khai thác chỉ bao gồm một lỗ hổng và không chứa mã để vượt qua cách ly hộp cát (khi chạy Chrome với cờ “--no-sandbox” , lỗi xảy ra khi mở một trang web trên nền tảng Windows cho phép bạn chạy Notepad). Lỗ hổng liên quan đến cách khai thác mới ảnh hưởng đến công nghệ WebAssugging.

Nguồn: opennet.ru

Thêm một lời nhận xét